diff options
-rw-r--r-- | po/POTFILES.in | 5 | ||||
-rw-r--r-- | po/de.po | 610 | ||||
-rw-r--r-- | po/es.po | 609 | ||||
-rw-r--r-- | po/fr.po | 605 | ||||
-rw-r--r-- | po/sv.po | 608 | ||||
-rw-r--r-- | po/vi.po | 610 | ||||
-rw-r--r-- | po/zh_CN.po | 608 | ||||
-rw-r--r-- | src/consensus/consensus_protocol.h | 44 | ||||
-rw-r--r-- | src/consensus/gnunet-service-consensus.c | 2465 | ||||
-rw-r--r-- | src/consensus/test_consensus.conf | 11 | ||||
-rw-r--r-- | src/set/gnunet-service-set.c | 43 | ||||
-rw-r--r-- | src/set/gnunet-service-set.h | 3 |
12 files changed, 3849 insertions, 2372 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in index b36509fdf..ed408ebc1 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in | |||
@@ -211,6 +211,7 @@ src/mysql/mysql.c | |||
211 | src/namecache/gnunet-namecache.c | 211 | src/namecache/gnunet-namecache.c |
212 | src/namecache/gnunet-service-namecache.c | 212 | src/namecache/gnunet-service-namecache.c |
213 | src/namecache/namecache_api.c | 213 | src/namecache/namecache_api.c |
214 | src/namecache/plugin_namecache_flat.c | ||
214 | src/namecache/plugin_namecache_postgres.c | 215 | src/namecache/plugin_namecache_postgres.c |
215 | src/namecache/plugin_namecache_sqlite.c | 216 | src/namecache/plugin_namecache_sqlite.c |
216 | src/namestore/gnunet-namestore.c | 217 | src/namestore/gnunet-namestore.c |
@@ -218,6 +219,7 @@ src/namestore/gnunet-namestore-fcfsd.c | |||
218 | src/namestore/gnunet-service-namestore.c | 219 | src/namestore/gnunet-service-namestore.c |
219 | src/namestore/namestore_api.c | 220 | src/namestore/namestore_api.c |
220 | src/namestore/namestore_api_monitor.c | 221 | src/namestore/namestore_api_monitor.c |
222 | src/namestore/plugin_namestore_flat.c | ||
221 | src/namestore/plugin_namestore_postgres.c | 223 | src/namestore/plugin_namestore_postgres.c |
222 | src/namestore/plugin_namestore_sqlite.c | 224 | src/namestore/plugin_namestore_sqlite.c |
223 | src/namestore/plugin_rest_namestore.c | 225 | src/namestore/plugin_rest_namestore.c |
@@ -225,6 +227,7 @@ src/nat/gnunet-helper-nat-client.c | |||
225 | src/nat/gnunet-helper-nat-client-windows.c | 227 | src/nat/gnunet-helper-nat-client-windows.c |
226 | src/nat/gnunet-helper-nat-server.c | 228 | src/nat/gnunet-helper-nat-server.c |
227 | src/nat/gnunet-helper-nat-server-windows.c | 229 | src/nat/gnunet-helper-nat-server-windows.c |
230 | src/nat/gnunet-nat.c | ||
228 | src/nat/gnunet-nat-server.c | 231 | src/nat/gnunet-nat-server.c |
229 | src/nat/nat_auto.c | 232 | src/nat/nat_auto.c |
230 | src/nat/nat.c | 233 | src/nat/nat.c |
@@ -281,6 +284,8 @@ src/rps/rps-test_util.c | |||
281 | src/scalarproduct/gnunet-scalarproduct.c | 284 | src/scalarproduct/gnunet-scalarproduct.c |
282 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | 285 | src/scalarproduct/gnunet-service-scalarproduct_alice.c |
283 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | 286 | src/scalarproduct/gnunet-service-scalarproduct_bob.c |
287 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c | ||
288 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c | ||
284 | src/scalarproduct/scalarproduct_api.c | 289 | src/scalarproduct/scalarproduct_api.c |
285 | src/secretsharing/gnunet-secretsharing-profiler.c | 290 | src/secretsharing/gnunet-secretsharing-profiler.c |
286 | src/secretsharing/gnunet-service-secretsharing.c | 291 | src/secretsharing/gnunet-service-secretsharing.c |
@@ -10,7 +10,7 @@ msgid "" | |||
10 | msgstr "" | 10 | msgstr "" |
11 | "Project-Id-Version: gnunet 0.10.1\n" | 11 | "Project-Id-Version: gnunet 0.10.1\n" |
12 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 12 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
13 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 13 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
14 | "PO-Revision-Date: 2015-03-08 16:16+0100\n" | 14 | "PO-Revision-Date: 2015-03-08 16:16+0100\n" |
15 | "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" | 15 | "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" |
16 | "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" | 16 | "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" |
@@ -352,13 +352,11 @@ msgid "" | |||
352 | "%llu\n" | 352 | "%llu\n" |
353 | msgstr "" | 353 | msgstr "" |
354 | 354 | ||
355 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 355 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
356 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
357 | msgid "solver to use" | 356 | msgid "solver to use" |
358 | msgstr "" | 357 | msgstr "" |
359 | 358 | ||
360 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 359 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
361 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
362 | #: src/ats-tests/gnunet-solver-eval.c:924 | 360 | #: src/ats-tests/gnunet-solver-eval.c:924 |
363 | msgid "experiment to use" | 361 | msgid "experiment to use" |
364 | msgstr "" | 362 | msgstr "" |
@@ -638,56 +636,56 @@ msgstr "" | |||
638 | msgid "Print information about ATS state" | 636 | msgid "Print information about ATS state" |
639 | msgstr "Informationen über andere GNUnet Knoten ausgeben." | 637 | msgstr "Informationen über andere GNUnet Knoten ausgeben." |
640 | 638 | ||
641 | #: src/cadet/gnunet-cadet.c:376 | 639 | #: src/cadet/gnunet-cadet.c:458 |
642 | #, fuzzy, c-format | 640 | #, fuzzy, c-format |
643 | msgid "Invalid target `%s'\n" | 641 | msgid "Invalid target `%s'\n" |
644 | msgstr "Ungültiger Parameter: `%s'\n" | 642 | msgstr "Ungültiger Parameter: `%s'\n" |
645 | 643 | ||
646 | #: src/cadet/gnunet-cadet.c:643 | 644 | #: src/cadet/gnunet-cadet.c:735 |
647 | #, fuzzy, c-format | 645 | #, fuzzy, c-format |
648 | msgid "Invalid peer ID `%s'\n" | 646 | msgid "Invalid peer ID `%s'\n" |
649 | msgstr "Ungültige Antwort auf `%s'.\n" | 647 | msgstr "Ungültige Antwort auf `%s'.\n" |
650 | 648 | ||
651 | #: src/cadet/gnunet-cadet.c:686 | 649 | #: src/cadet/gnunet-cadet.c:778 |
652 | #, fuzzy, c-format | 650 | #, fuzzy, c-format |
653 | msgid "Invalid tunnel owner `%s'\n" | 651 | msgid "Invalid tunnel owner `%s'\n" |
654 | msgstr "Ungültiger Parameter: `%s'\n" | 652 | msgstr "Ungültiger Parameter: `%s'\n" |
655 | 653 | ||
656 | #: src/cadet/gnunet-cadet.c:752 | 654 | #: src/cadet/gnunet-cadet.c:844 |
657 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 655 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
658 | msgstr "" | 656 | msgstr "" |
659 | 657 | ||
660 | #: src/cadet/gnunet-cadet.c:849 | 658 | #: src/cadet/gnunet-cadet.c:941 |
661 | msgid "provide information about a particular connection" | 659 | msgid "provide information about a particular connection" |
662 | msgstr "" | 660 | msgstr "" |
663 | 661 | ||
664 | #: src/cadet/gnunet-cadet.c:852 | 662 | #: src/cadet/gnunet-cadet.c:944 |
665 | msgid "activate echo mode" | 663 | msgid "activate echo mode" |
666 | msgstr "" | 664 | msgstr "" |
667 | 665 | ||
668 | #: src/cadet/gnunet-cadet.c:855 | 666 | #: src/cadet/gnunet-cadet.c:947 |
669 | msgid "dump debug information to STDERR" | 667 | msgid "dump debug information to STDERR" |
670 | msgstr "" | 668 | msgstr "" |
671 | 669 | ||
672 | #: src/cadet/gnunet-cadet.c:861 | 670 | #: src/cadet/gnunet-cadet.c:953 |
673 | msgid "port to listen to (default; 0)" | 671 | msgid "port to listen to (default; 0)" |
674 | msgstr "" | 672 | msgstr "" |
675 | 673 | ||
676 | #: src/cadet/gnunet-cadet.c:864 | 674 | #: src/cadet/gnunet-cadet.c:956 |
677 | #, fuzzy | 675 | #, fuzzy |
678 | msgid "provide information about a patricular peer" | 676 | msgid "provide information about a patricular peer" |
679 | msgstr "Informationen über andere GNUnet Knoten ausgeben." | 677 | msgstr "Informationen über andere GNUnet Knoten ausgeben." |
680 | 678 | ||
681 | #: src/cadet/gnunet-cadet.c:867 | 679 | #: src/cadet/gnunet-cadet.c:959 |
682 | #, fuzzy | 680 | #, fuzzy |
683 | msgid "provide information about all peers" | 681 | msgid "provide information about all peers" |
684 | msgstr "Informationen über andere GNUnet Knoten ausgeben." | 682 | msgstr "Informationen über andere GNUnet Knoten ausgeben." |
685 | 683 | ||
686 | #: src/cadet/gnunet-cadet.c:870 | 684 | #: src/cadet/gnunet-cadet.c:962 |
687 | msgid "provide information about a particular tunnel" | 685 | msgid "provide information about a particular tunnel" |
688 | msgstr "" | 686 | msgstr "" |
689 | 687 | ||
690 | #: src/cadet/gnunet-cadet.c:873 | 688 | #: src/cadet/gnunet-cadet.c:965 |
691 | #, fuzzy | 689 | #, fuzzy |
692 | msgid "provide information about all tunnels" | 690 | msgid "provide information about all tunnels" |
693 | msgstr "Informationen über andere GNUnet Knoten ausgeben." | 691 | msgstr "Informationen über andere GNUnet Knoten ausgeben." |
@@ -1410,20 +1408,20 @@ msgstr "# Bytes entschlüsselt" | |||
1410 | msgid "# PAYLOAD dropped (out of order)" | 1408 | msgid "# PAYLOAD dropped (out of order)" |
1411 | msgstr "" | 1409 | msgstr "" |
1412 | 1410 | ||
1413 | #: src/core/gnunet-service-core_neighbours.c:177 | 1411 | #: src/core/gnunet-service-core_neighbours.c:178 |
1414 | msgid "# sessions terminated by transport disconnect" | 1412 | msgid "# sessions terminated by transport disconnect" |
1415 | msgstr "" | 1413 | msgstr "" |
1416 | 1414 | ||
1417 | #: src/core/gnunet-service-core_neighbours.c:193 | 1415 | #: src/core/gnunet-service-core_neighbours.c:194 |
1418 | #: src/core/gnunet-service-core_neighbours.c:355 | 1416 | #: src/core/gnunet-service-core_neighbours.c:362 |
1419 | msgid "# neighbour entries allocated" | 1417 | msgid "# neighbour entries allocated" |
1420 | msgstr "" | 1418 | msgstr "" |
1421 | 1419 | ||
1422 | #: src/core/gnunet-service-core_neighbours.c:264 | 1420 | #: src/core/gnunet-service-core_neighbours.c:270 |
1423 | msgid "# encrypted bytes given to transport" | 1421 | msgid "# encrypted bytes given to transport" |
1424 | msgstr "" | 1422 | msgstr "" |
1425 | 1423 | ||
1426 | #: src/core/gnunet-service-core_neighbours.c:438 | 1424 | #: src/core/gnunet-service-core_neighbours.c:448 |
1427 | #, fuzzy, c-format | 1425 | #, fuzzy, c-format |
1428 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1426 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1429 | msgstr "Ungültige `%s' Nachricht von Knoten `%s' empfangen.\n" | 1427 | msgstr "Ungültige `%s' Nachricht von Knoten `%s' empfangen.\n" |
@@ -1470,7 +1468,7 @@ msgid "# updates to my type map" | |||
1470 | msgstr "" | 1468 | msgstr "" |
1471 | 1469 | ||
1472 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1470 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1473 | #: src/datastore/gnunet-service-datastore.c:853 | 1471 | #: src/datastore/gnunet-service-datastore.c:866 |
1474 | msgid "# bytes stored" | 1472 | msgid "# bytes stored" |
1475 | msgstr "# gespeicherte Bytes" | 1473 | msgstr "# gespeicherte Bytes" |
1476 | 1474 | ||
@@ -1546,93 +1544,93 @@ msgstr "" | |||
1546 | msgid "Failed to transmit request to drop database.\n" | 1544 | msgid "Failed to transmit request to drop database.\n" |
1547 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" | 1545 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" |
1548 | 1546 | ||
1549 | #: src/datastore/datastore_api.c:394 | 1547 | #: src/datastore/datastore_api.c:395 |
1550 | msgid "# queue entry timeouts" | 1548 | msgid "# queue entry timeouts" |
1551 | msgstr "" | 1549 | msgstr "" |
1552 | 1550 | ||
1553 | #: src/datastore/datastore_api.c:443 | 1551 | #: src/datastore/datastore_api.c:450 |
1554 | msgid "# queue overflows" | 1552 | msgid "# queue overflows" |
1555 | msgstr "" | 1553 | msgstr "" |
1556 | 1554 | ||
1557 | #: src/datastore/datastore_api.c:471 | 1555 | #: src/datastore/datastore_api.c:478 |
1558 | #, fuzzy | 1556 | #, fuzzy |
1559 | msgid "# queue entries created" | 1557 | msgid "# queue entries created" |
1560 | msgstr "# PING Nachrichten erstellt" | 1558 | msgstr "# PING Nachrichten erstellt" |
1561 | 1559 | ||
1562 | #: src/datastore/datastore_api.c:491 | 1560 | #: src/datastore/datastore_api.c:498 |
1563 | msgid "# Requests dropped from datastore queue" | 1561 | msgid "# Requests dropped from datastore queue" |
1564 | msgstr "" | 1562 | msgstr "" |
1565 | 1563 | ||
1566 | #: src/datastore/datastore_api.c:533 | 1564 | #: src/datastore/datastore_api.c:540 |
1567 | msgid "# datastore connections (re)created" | 1565 | msgid "# datastore connections (re)created" |
1568 | msgstr "" | 1566 | msgstr "" |
1569 | 1567 | ||
1570 | #: src/datastore/datastore_api.c:621 | 1568 | #: src/datastore/datastore_api.c:628 |
1571 | #, fuzzy | 1569 | #, fuzzy |
1572 | msgid "# transmission request failures" | 1570 | msgid "# transmission request failures" |
1573 | msgstr "# Klartext PONG Nachrichten empfangen" | 1571 | msgstr "# Klartext PONG Nachrichten empfangen" |
1574 | 1572 | ||
1575 | #: src/datastore/datastore_api.c:645 | 1573 | #: src/datastore/datastore_api.c:652 |
1576 | #, fuzzy | 1574 | #, fuzzy |
1577 | msgid "# bytes sent to datastore" | 1575 | msgid "# bytes sent to datastore" |
1578 | msgstr "# bytes in der Datenbank" | 1576 | msgstr "# bytes in der Datenbank" |
1579 | 1577 | ||
1580 | #: src/datastore/datastore_api.c:787 | 1578 | #: src/datastore/datastore_api.c:794 |
1581 | #, fuzzy | 1579 | #, fuzzy |
1582 | msgid "Failed to receive status response from database." | 1580 | msgid "Failed to receive status response from database." |
1583 | msgstr "" | 1581 | msgstr "" |
1584 | "\n" | 1582 | "\n" |
1585 | "Fehler beim Empfangen der Antwort von gnunetd.\n" | 1583 | "Fehler beim Empfangen der Antwort von gnunetd.\n" |
1586 | 1584 | ||
1587 | #: src/datastore/datastore_api.c:801 | 1585 | #: src/datastore/datastore_api.c:808 |
1588 | msgid "Error reading response from datastore service" | 1586 | msgid "Error reading response from datastore service" |
1589 | msgstr "" | 1587 | msgstr "" |
1590 | 1588 | ||
1591 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1589 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1592 | msgid "Invalid error message received from datastore service" | 1590 | msgid "Invalid error message received from datastore service" |
1593 | msgstr "Ungültige Fehlermeldung vom Datenspeicherdienst empfangen" | 1591 | msgstr "Ungültige Fehlermeldung vom Datenspeicherdienst empfangen" |
1594 | 1592 | ||
1595 | #: src/datastore/datastore_api.c:823 | 1593 | #: src/datastore/datastore_api.c:830 |
1596 | msgid "# status messages received" | 1594 | msgid "# status messages received" |
1597 | msgstr "# empfangene Statusmeldungen" | 1595 | msgstr "# empfangene Statusmeldungen" |
1598 | 1596 | ||
1599 | #: src/datastore/datastore_api.c:893 | 1597 | #: src/datastore/datastore_api.c:909 |
1600 | #, fuzzy | 1598 | #, fuzzy |
1601 | msgid "# PUT requests executed" | 1599 | msgid "# PUT requests executed" |
1602 | msgstr "# dht Anfragen weitergeleitet" | 1600 | msgstr "# dht Anfragen weitergeleitet" |
1603 | 1601 | ||
1604 | #: src/datastore/datastore_api.c:959 | 1602 | #: src/datastore/datastore_api.c:975 |
1605 | #, fuzzy | 1603 | #, fuzzy |
1606 | msgid "# RESERVE requests executed" | 1604 | msgid "# RESERVE requests executed" |
1607 | msgstr "# dht Anfragen weitergeleitet" | 1605 | msgstr "# dht Anfragen weitergeleitet" |
1608 | 1606 | ||
1609 | #: src/datastore/datastore_api.c:1020 | 1607 | #: src/datastore/datastore_api.c:1036 |
1610 | msgid "# RELEASE RESERVE requests executed" | 1608 | msgid "# RELEASE RESERVE requests executed" |
1611 | msgstr "" | 1609 | msgstr "" |
1612 | 1610 | ||
1613 | #: src/datastore/datastore_api.c:1080 | 1611 | #: src/datastore/datastore_api.c:1096 |
1614 | #, fuzzy | 1612 | #, fuzzy |
1615 | msgid "# UPDATE requests executed" | 1613 | msgid "# UPDATE requests executed" |
1616 | msgstr "# dht Anfragen weitergeleitet" | 1614 | msgstr "# dht Anfragen weitergeleitet" |
1617 | 1615 | ||
1618 | #: src/datastore/datastore_api.c:1144 | 1616 | #: src/datastore/datastore_api.c:1160 |
1619 | #, fuzzy | 1617 | #, fuzzy |
1620 | msgid "# REMOVE requests executed" | 1618 | msgid "# REMOVE requests executed" |
1621 | msgstr "# dht Anfragen weitergeleitet" | 1619 | msgstr "# dht Anfragen weitergeleitet" |
1622 | 1620 | ||
1623 | #: src/datastore/datastore_api.c:1248 | 1621 | #: src/datastore/datastore_api.c:1264 |
1624 | msgid "# Results received" | 1622 | msgid "# Results received" |
1625 | msgstr "# empfangene Ergebnisse" | 1623 | msgstr "# empfangene Ergebnisse" |
1626 | 1624 | ||
1627 | #: src/datastore/datastore_api.c:1315 | 1625 | #: src/datastore/datastore_api.c:1331 |
1628 | msgid "# GET REPLICATION requests executed" | 1626 | msgid "# GET REPLICATION requests executed" |
1629 | msgstr "" | 1627 | msgstr "" |
1630 | 1628 | ||
1631 | #: src/datastore/datastore_api.c:1378 | 1629 | #: src/datastore/datastore_api.c:1394 |
1632 | msgid "# GET ZERO ANONYMITY requests executed" | 1630 | msgid "# GET ZERO ANONYMITY requests executed" |
1633 | msgstr "" | 1631 | msgstr "" |
1634 | 1632 | ||
1635 | #: src/datastore/datastore_api.c:1447 | 1633 | #: src/datastore/datastore_api.c:1463 |
1636 | msgid "# GET requests executed" | 1634 | msgid "# GET requests executed" |
1637 | msgstr "# ausgeführte GET-Anfragen" | 1635 | msgstr "# ausgeführte GET-Anfragen" |
1638 | 1636 | ||
@@ -1657,170 +1655,170 @@ msgstr "" | |||
1657 | msgid "Manipulate GNUnet datastore" | 1655 | msgid "Manipulate GNUnet datastore" |
1658 | msgstr "sqlite Datenspeicher" | 1656 | msgstr "sqlite Datenspeicher" |
1659 | 1657 | ||
1660 | #: src/datastore/gnunet-service-datastore.c:365 | 1658 | #: src/datastore/gnunet-service-datastore.c:372 |
1661 | msgid "# bytes expired" | 1659 | msgid "# bytes expired" |
1662 | msgstr "# abgelaufene Bytes" | 1660 | msgstr "# abgelaufene Bytes" |
1663 | 1661 | ||
1664 | #: src/datastore/gnunet-service-datastore.c:439 | 1662 | #: src/datastore/gnunet-service-datastore.c:447 |
1665 | msgid "# bytes purged (low-priority)" | 1663 | msgid "# bytes purged (low-priority)" |
1666 | msgstr "" | 1664 | msgstr "" |
1667 | 1665 | ||
1668 | #: src/datastore/gnunet-service-datastore.c:497 | 1666 | #: src/datastore/gnunet-service-datastore.c:505 |
1669 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1667 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1670 | msgid "Transmission to client failed!\n" | 1668 | msgid "Transmission to client failed!\n" |
1671 | msgstr "" | 1669 | msgstr "" |
1672 | 1670 | ||
1673 | #: src/datastore/gnunet-service-datastore.c:528 | 1671 | #: src/datastore/gnunet-service-datastore.c:536 |
1674 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1672 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1675 | msgid "Shutdown in progress, aborting transmission.\n" | 1673 | msgid "Shutdown in progress, aborting transmission.\n" |
1676 | msgstr "" | 1674 | msgstr "" |
1677 | 1675 | ||
1678 | #: src/datastore/gnunet-service-datastore.c:643 | 1676 | #: src/datastore/gnunet-service-datastore.c:652 |
1679 | msgid "# results found" | 1677 | msgid "# results found" |
1680 | msgstr "# gefundene Ergebnisse" | 1678 | msgstr "# gefundene Ergebnisse" |
1681 | 1679 | ||
1682 | #: src/datastore/gnunet-service-datastore.c:686 | 1680 | #: src/datastore/gnunet-service-datastore.c:696 |
1683 | #, c-format | 1681 | #, c-format |
1684 | msgid "" | 1682 | msgid "" |
1685 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1683 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
1686 | "%llu bytes\n" | 1684 | "%llu bytes\n" |
1687 | msgstr "" | 1685 | msgstr "" |
1688 | 1686 | ||
1689 | #: src/datastore/gnunet-service-datastore.c:697 | 1687 | #: src/datastore/gnunet-service-datastore.c:707 |
1690 | #, c-format | 1688 | #, c-format |
1691 | msgid "" | 1689 | msgid "" |
1692 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1690 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
1693 | "bytes)\n" | 1691 | "bytes)\n" |
1694 | msgstr "" | 1692 | msgstr "" |
1695 | 1693 | ||
1696 | #: src/datastore/gnunet-service-datastore.c:701 | 1694 | #: src/datastore/gnunet-service-datastore.c:711 |
1697 | msgid "" | 1695 | msgid "" |
1698 | "Insufficient space to satisfy request and requested amount is larger than " | 1696 | "Insufficient space to satisfy request and requested amount is larger than " |
1699 | "cache size" | 1697 | "cache size" |
1700 | msgstr "" | 1698 | msgstr "" |
1701 | 1699 | ||
1702 | #: src/datastore/gnunet-service-datastore.c:707 | 1700 | #: src/datastore/gnunet-service-datastore.c:717 |
1703 | msgid "Insufficient space to satisfy request" | 1701 | msgid "Insufficient space to satisfy request" |
1704 | msgstr "" | 1702 | msgstr "" |
1705 | 1703 | ||
1706 | #: src/datastore/gnunet-service-datastore.c:712 | 1704 | #: src/datastore/gnunet-service-datastore.c:723 |
1707 | #: src/datastore/gnunet-service-datastore.c:767 | 1705 | #: src/datastore/gnunet-service-datastore.c:779 |
1708 | #: src/datastore/gnunet-service-datastore.c:1019 | 1706 | #: src/datastore/gnunet-service-datastore.c:1035 |
1709 | #: src/datastore/gnunet-service-datastore.c:1597 | 1707 | #: src/datastore/gnunet-service-datastore.c:1630 |
1710 | msgid "# reserved" | 1708 | msgid "# reserved" |
1711 | msgstr "" | 1709 | msgstr "" |
1712 | 1710 | ||
1713 | #: src/datastore/gnunet-service-datastore.c:780 | 1711 | #: src/datastore/gnunet-service-datastore.c:793 |
1714 | msgid "Could not find matching reservation" | 1712 | msgid "Could not find matching reservation" |
1715 | msgstr "" | 1713 | msgstr "" |
1716 | 1714 | ||
1717 | #: src/datastore/gnunet-service-datastore.c:865 | 1715 | #: src/datastore/gnunet-service-datastore.c:879 |
1718 | #, c-format | 1716 | #, c-format |
1719 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1717 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1720 | msgstr "" | 1718 | msgstr "" |
1721 | 1719 | ||
1722 | #: src/datastore/gnunet-service-datastore.c:1071 | 1720 | #: src/datastore/gnunet-service-datastore.c:1088 |
1723 | #, fuzzy | 1721 | #, fuzzy |
1724 | msgid "# GET requests received" | 1722 | msgid "# GET requests received" |
1725 | msgstr "# Client Trace-Anfragen empfangen" | 1723 | msgstr "# Client Trace-Anfragen empfangen" |
1726 | 1724 | ||
1727 | #: src/datastore/gnunet-service-datastore.c:1083 | 1725 | #: src/datastore/gnunet-service-datastore.c:1101 |
1728 | msgid "# requests filtered by bloomfilter" | 1726 | msgid "# requests filtered by bloomfilter" |
1729 | msgstr "" | 1727 | msgstr "" |
1730 | 1728 | ||
1731 | #: src/datastore/gnunet-service-datastore.c:1121 | 1729 | #: src/datastore/gnunet-service-datastore.c:1141 |
1732 | #, fuzzy | 1730 | #, fuzzy |
1733 | msgid "# UPDATE requests received" | 1731 | msgid "# UPDATE requests received" |
1734 | msgstr "# Client Trace-Anfragen empfangen" | 1732 | msgstr "# Client Trace-Anfragen empfangen" |
1735 | 1733 | ||
1736 | #: src/datastore/gnunet-service-datastore.c:1149 | 1734 | #: src/datastore/gnunet-service-datastore.c:1170 |
1737 | #, fuzzy | 1735 | #, fuzzy |
1738 | msgid "# GET REPLICATION requests received" | 1736 | msgid "# GET REPLICATION requests received" |
1739 | msgstr "# Client Trace-Anfragen empfangen" | 1737 | msgstr "# Client Trace-Anfragen empfangen" |
1740 | 1738 | ||
1741 | #: src/datastore/gnunet-service-datastore.c:1182 | 1739 | #: src/datastore/gnunet-service-datastore.c:1204 |
1742 | #, fuzzy | 1740 | #, fuzzy |
1743 | msgid "# GET ZERO ANONYMITY requests received" | 1741 | msgid "# GET ZERO ANONYMITY requests received" |
1744 | msgstr "# Client Trace-Anfragen empfangen" | 1742 | msgstr "# Client Trace-Anfragen empfangen" |
1745 | 1743 | ||
1746 | #: src/datastore/gnunet-service-datastore.c:1207 | 1744 | #: src/datastore/gnunet-service-datastore.c:1233 |
1747 | msgid "Content not found" | 1745 | msgid "Content not found" |
1748 | msgstr "Kein Inhalt gefunden" | 1746 | msgstr "Kein Inhalt gefunden" |
1749 | 1747 | ||
1750 | #: src/datastore/gnunet-service-datastore.c:1215 | 1748 | #: src/datastore/gnunet-service-datastore.c:1244 |
1751 | msgid "# bytes removed (explicit request)" | 1749 | msgid "# bytes removed (explicit request)" |
1752 | msgstr "" | 1750 | msgstr "" |
1753 | 1751 | ||
1754 | #: src/datastore/gnunet-service-datastore.c:1247 | 1752 | #: src/datastore/gnunet-service-datastore.c:1277 |
1755 | #, fuzzy | 1753 | #, fuzzy |
1756 | msgid "# REMOVE requests received" | 1754 | msgid "# REMOVE requests received" |
1757 | msgstr "# Client Trace-Anfragen empfangen" | 1755 | msgstr "# Client Trace-Anfragen empfangen" |
1758 | 1756 | ||
1759 | #: src/datastore/gnunet-service-datastore.c:1291 | 1757 | #: src/datastore/gnunet-service-datastore.c:1321 |
1760 | #, c-format | 1758 | #, c-format |
1761 | msgid "" | 1759 | msgid "" |
1762 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1760 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
1763 | msgstr "" | 1761 | msgstr "" |
1764 | 1762 | ||
1765 | #: src/datastore/gnunet-service-datastore.c:1296 | 1763 | #: src/datastore/gnunet-service-datastore.c:1326 |
1766 | #, c-format | 1764 | #, c-format |
1767 | msgid "New payload: %lld\n" | 1765 | msgid "New payload: %lld\n" |
1768 | msgstr "" | 1766 | msgstr "" |
1769 | 1767 | ||
1770 | #: src/datastore/gnunet-service-datastore.c:1349 | 1768 | #: src/datastore/gnunet-service-datastore.c:1379 |
1771 | #, c-format | 1769 | #, c-format |
1772 | msgid "Loading `%s' datastore plugin\n" | 1770 | msgid "Loading `%s' datastore plugin\n" |
1773 | msgstr "" | 1771 | msgstr "" |
1774 | 1772 | ||
1775 | #: src/datastore/gnunet-service-datastore.c:1360 | 1773 | #: src/datastore/gnunet-service-datastore.c:1390 |
1776 | #, fuzzy, c-format | 1774 | #, fuzzy, c-format |
1777 | msgid "Failed to load datastore plugin for `%s'\n" | 1775 | msgid "Failed to load datastore plugin for `%s'\n" |
1778 | msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n" | 1776 | msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n" |
1779 | 1777 | ||
1780 | #: src/datastore/gnunet-service-datastore.c:1429 | 1778 | #: src/datastore/gnunet-service-datastore.c:1459 |
1781 | #: src/datastore/gnunet-service-datastore.c:1490 | 1779 | #: src/datastore/gnunet-service-datastore.c:1522 |
1782 | msgid "Bloomfilter construction complete.\n" | 1780 | msgid "Bloomfilter construction complete.\n" |
1783 | msgstr "" | 1781 | msgstr "" |
1784 | 1782 | ||
1785 | #: src/datastore/gnunet-service-datastore.c:1477 | 1783 | #: src/datastore/gnunet-service-datastore.c:1509 |
1786 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1784 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1787 | msgstr "" | 1785 | msgstr "" |
1788 | 1786 | ||
1789 | #: src/datastore/gnunet-service-datastore.c:1487 | 1787 | #: src/datastore/gnunet-service-datastore.c:1519 |
1790 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1788 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1791 | msgstr "" | 1789 | msgstr "" |
1792 | 1790 | ||
1793 | #: src/datastore/gnunet-service-datastore.c:1625 | 1791 | #: src/datastore/gnunet-service-datastore.c:1661 |
1794 | #: src/datastore/gnunet-service-datastore.c:1636 | 1792 | #: src/datastore/gnunet-service-datastore.c:1673 |
1795 | #, fuzzy, c-format | 1793 | #, fuzzy, c-format |
1796 | msgid "No `%s' specified for `%s' in configuration!\n" | 1794 | msgid "No `%s' specified for `%s' in configuration!\n" |
1797 | msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n" | 1795 | msgstr "In der Konfigurationsdatei wurden keine Anwendungen definiert!\n" |
1798 | 1796 | ||
1799 | #: src/datastore/gnunet-service-datastore.c:1630 | 1797 | #: src/datastore/gnunet-service-datastore.c:1667 |
1800 | #, fuzzy, c-format | 1798 | #, fuzzy, c-format |
1801 | msgid "# bytes used in file-sharing datastore `%s'" | 1799 | msgid "# bytes used in file-sharing datastore `%s'" |
1802 | msgstr "# bytes erlaubt in der Datenbank" | 1800 | msgstr "# bytes erlaubt in der Datenbank" |
1803 | 1801 | ||
1804 | #: src/datastore/gnunet-service-datastore.c:1641 | 1802 | #: src/datastore/gnunet-service-datastore.c:1679 |
1805 | msgid "# quota" | 1803 | msgid "# quota" |
1806 | msgstr "# Kontingent" | 1804 | msgstr "# Kontingent" |
1807 | 1805 | ||
1808 | #: src/datastore/gnunet-service-datastore.c:1643 | 1806 | #: src/datastore/gnunet-service-datastore.c:1681 |
1809 | msgid "# cache size" | 1807 | msgid "# cache size" |
1810 | msgstr "# Zwischenspeichergröße" | 1808 | msgstr "# Zwischenspeichergröße" |
1811 | 1809 | ||
1812 | #: src/datastore/gnunet-service-datastore.c:1656 | 1810 | #: src/datastore/gnunet-service-datastore.c:1696 |
1813 | #, c-format | 1811 | #, c-format |
1814 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1812 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1815 | msgstr "" | 1813 | msgstr "" |
1816 | 1814 | ||
1817 | #: src/datastore/gnunet-service-datastore.c:1674 | 1815 | #: src/datastore/gnunet-service-datastore.c:1714 |
1818 | #: src/datastore/gnunet-service-datastore.c:1690 | 1816 | #: src/datastore/gnunet-service-datastore.c:1730 |
1819 | #, fuzzy, c-format | 1817 | #, fuzzy, c-format |
1820 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1818 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1821 | msgstr "Datei wurde als `%s' gespeichert.\n" | 1819 | msgstr "Datei wurde als `%s' gespeichert.\n" |
1822 | 1820 | ||
1823 | #: src/datastore/gnunet-service-datastore.c:1720 | 1821 | #: src/datastore/gnunet-service-datastore.c:1760 |
1824 | msgid "Failed to initialize bloomfilter.\n" | 1822 | msgid "Failed to initialize bloomfilter.\n" |
1825 | msgstr "Bloomfilter konnte nicht initialisiert werden.\n" | 1823 | msgstr "Bloomfilter konnte nicht initialisiert werden.\n" |
1826 | 1824 | ||
@@ -1879,7 +1877,7 @@ msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n" | |||
1879 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1877 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1880 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1878 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1881 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1879 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1882 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1880 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1883 | #, c-format | 1881 | #, c-format |
1884 | msgid "Unable to initialize SQLite: %s.\n" | 1882 | msgid "Unable to initialize SQLite: %s.\n" |
1885 | msgstr "SQLite-Datenbank konnte nicht initialisiert werden: %s.\n" | 1883 | msgstr "SQLite-Datenbank konnte nicht initialisiert werden: %s.\n" |
@@ -1955,9 +1953,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
1955 | msgstr "" | 1953 | msgstr "" |
1956 | 1954 | ||
1957 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 1955 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
1958 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 1956 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
1959 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 1957 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
1960 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 1958 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
1961 | #: src/nse/gnunet-nse-profiler.c:873 | 1959 | #: src/nse/gnunet-nse-profiler.c:873 |
1962 | msgid "be verbose (print progress information)" | 1960 | msgid "be verbose (print progress information)" |
1963 | msgstr "" | 1961 | msgstr "" |
@@ -1974,8 +1972,7 @@ msgstr "" | |||
1974 | msgid "Prints all packets that go through the DHT." | 1972 | msgid "Prints all packets that go through the DHT." |
1975 | msgstr "" | 1973 | msgstr "" |
1976 | 1974 | ||
1977 | #: src/dht/gnunet_dht_profiler.c:1393 | 1975 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
1978 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
1979 | #, c-format | 1976 | #, c-format |
1980 | msgid "Exiting as the number of peers is %u\n" | 1977 | msgid "Exiting as the number of peers is %u\n" |
1981 | msgstr "" | 1978 | msgstr "" |
@@ -2193,8 +2190,7 @@ msgstr "" | |||
2193 | msgid "# GET requests given to datacache" | 2190 | msgid "# GET requests given to datacache" |
2194 | msgstr "" | 2191 | msgstr "" |
2195 | 2192 | ||
2196 | #: src/dht/gnunet-service-dht_hello.c:84 | 2193 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2197 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2198 | msgid "# HELLOs obtained from peerinfo" | 2194 | msgid "# HELLOs obtained from peerinfo" |
2199 | msgstr "" | 2195 | msgstr "" |
2200 | 2196 | ||
@@ -3063,78 +3059,78 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | |||
3063 | msgid "Failed to connect to datastore." | 3059 | msgid "Failed to connect to datastore." |
3064 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden." | 3060 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden." |
3065 | 3061 | ||
3066 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 3062 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
3067 | #, fuzzy, c-format | 3063 | #, fuzzy, c-format |
3068 | msgid "Publishing failed: %s" | 3064 | msgid "Publishing failed: %s" |
3069 | msgstr "" | 3065 | msgstr "" |
3070 | "\n" | 3066 | "\n" |
3071 | "Fehler beim Uploaden der Datei: %s\n" | 3067 | "Fehler beim Uploaden der Datei: %s\n" |
3072 | 3068 | ||
3073 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 3069 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
3074 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 3070 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
3075 | #, fuzzy, c-format | 3071 | #, fuzzy, c-format |
3076 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 3072 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
3077 | msgstr "Indizieren der Datei `%s' schlug fehl. Versuch Datei einzufügen...\n" | 3073 | msgstr "Indizieren der Datei `%s' schlug fehl. Versuch Datei einzufügen...\n" |
3078 | 3074 | ||
3079 | #: src/fs/fs_publish.c:711 | 3075 | #: src/fs/fs_publish.c:709 |
3080 | msgid "timeout on index-start request to `fs' service" | 3076 | msgid "timeout on index-start request to `fs' service" |
3081 | msgstr "" | 3077 | msgstr "" |
3082 | 3078 | ||
3083 | #: src/fs/fs_publish.c:723 | 3079 | #: src/fs/fs_publish.c:721 |
3084 | #, fuzzy | 3080 | #, fuzzy |
3085 | msgid "unknown error" | 3081 | msgid "unknown error" |
3086 | msgstr "Unbekannter Fehler" | 3082 | msgstr "Unbekannter Fehler" |
3087 | 3083 | ||
3088 | #: src/fs/fs_publish.c:767 | 3084 | #: src/fs/fs_publish.c:765 |
3089 | msgid "failed to compute hash" | 3085 | msgid "failed to compute hash" |
3090 | msgstr "" | 3086 | msgstr "" |
3091 | 3087 | ||
3092 | #: src/fs/fs_publish.c:787 | 3088 | #: src/fs/fs_publish.c:785 |
3093 | msgid "filename too long" | 3089 | msgid "filename too long" |
3094 | msgstr "Dateiname zu lang" | 3090 | msgstr "Dateiname zu lang" |
3095 | 3091 | ||
3096 | #: src/fs/fs_publish.c:812 | 3092 | #: src/fs/fs_publish.c:810 |
3097 | #, fuzzy | 3093 | #, fuzzy |
3098 | msgid "could not connect to `fs' service" | 3094 | msgid "could not connect to `fs' service" |
3099 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" | 3095 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" |
3100 | 3096 | ||
3101 | #: src/fs/fs_publish.c:835 | 3097 | #: src/fs/fs_publish.c:833 |
3102 | #, fuzzy, c-format | 3098 | #, fuzzy, c-format |
3103 | msgid "Failed to get file identifiers for `%s'\n" | 3099 | msgid "Failed to get file identifiers for `%s'\n" |
3104 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" | 3100 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" |
3105 | 3101 | ||
3106 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 3102 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
3107 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 3103 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
3108 | msgstr "" | 3104 | msgstr "" |
3109 | 3105 | ||
3110 | #: src/fs/fs_publish.c:1014 | 3106 | #: src/fs/fs_publish.c:1012 |
3111 | #, fuzzy, c-format | 3107 | #, fuzzy, c-format |
3112 | msgid "Recursive upload failed at `%s': %s" | 3108 | msgid "Recursive upload failed at `%s': %s" |
3113 | msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n" | 3109 | msgstr "`%s' schlug fehl bei %s:%d mit dem Fehler: `%s'.\n" |
3114 | 3110 | ||
3115 | #: src/fs/fs_publish.c:1022 | 3111 | #: src/fs/fs_publish.c:1020 |
3116 | #, fuzzy, c-format | 3112 | #, fuzzy, c-format |
3117 | msgid "Recursive upload failed: %s" | 3113 | msgid "Recursive upload failed: %s" |
3118 | msgstr "" | 3114 | msgstr "" |
3119 | "\n" | 3115 | "\n" |
3120 | "Fehler beim Uploaden der Datei: %s\n" | 3116 | "Fehler beim Uploaden der Datei: %s\n" |
3121 | 3117 | ||
3122 | #: src/fs/fs_publish.c:1062 | 3118 | #: src/fs/fs_publish.c:1060 |
3123 | #, fuzzy | 3119 | #, fuzzy |
3124 | msgid "needs to be an actual file" | 3120 | msgid "needs to be an actual file" |
3125 | msgstr "`%s' ist keine normale Datei.\n" | 3121 | msgstr "`%s' ist keine normale Datei.\n" |
3126 | 3122 | ||
3127 | #: src/fs/fs_publish.c:1301 | 3123 | #: src/fs/fs_publish.c:1299 |
3128 | #, fuzzy, c-format | 3124 | #, fuzzy, c-format |
3129 | msgid "Datastore failure: %s" | 3125 | msgid "Datastore failure: %s" |
3130 | msgstr "Verbindung fehlgeschlagen: %s\n" | 3126 | msgstr "Verbindung fehlgeschlagen: %s\n" |
3131 | 3127 | ||
3132 | #: src/fs/fs_publish.c:1392 | 3128 | #: src/fs/fs_publish.c:1390 |
3133 | #, c-format | 3129 | #, c-format |
3134 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3130 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3135 | msgstr "" | 3131 | msgstr "" |
3136 | 3132 | ||
3137 | #: src/fs/fs_publish_ksk.c:219 | 3133 | #: src/fs/fs_publish_ksk.c:224 |
3138 | #, fuzzy | 3134 | #, fuzzy |
3139 | msgid "Could not connect to datastore." | 3135 | msgid "Could not connect to datastore." |
3140 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" | 3136 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" |
@@ -3315,48 +3311,48 @@ msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | |||
3315 | msgid "Failed to save state to file %s\n" | 3311 | msgid "Failed to save state to file %s\n" |
3316 | msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n" | 3312 | msgstr "Fehler beim Aktualisieren der Daten des Moduls `%s'\n" |
3317 | 3313 | ||
3318 | #: src/fs/gnunet-auto-share.c:402 | 3314 | #: src/fs/gnunet-auto-share.c:415 |
3319 | #, c-format | 3315 | #, c-format |
3320 | msgid "Publication of `%s' done\n" | 3316 | msgid "Publication of `%s' done\n" |
3321 | msgstr "" | 3317 | msgstr "" |
3322 | 3318 | ||
3323 | #: src/fs/gnunet-auto-share.c:490 | 3319 | #: src/fs/gnunet-auto-share.c:504 |
3324 | #, c-format | 3320 | #, c-format |
3325 | msgid "Publishing `%s'\n" | 3321 | msgid "Publishing `%s'\n" |
3326 | msgstr "" | 3322 | msgstr "" |
3327 | 3323 | ||
3328 | #: src/fs/gnunet-auto-share.c:499 | 3324 | #: src/fs/gnunet-auto-share.c:514 |
3329 | #, fuzzy, c-format | 3325 | #, fuzzy, c-format |
3330 | msgid "Failed to run `%s'\n" | 3326 | msgid "Failed to run `%s'\n" |
3331 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | 3327 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" |
3332 | 3328 | ||
3333 | #: src/fs/gnunet-auto-share.c:688 | 3329 | #: src/fs/gnunet-auto-share.c:725 |
3334 | #, fuzzy, c-format | 3330 | #, fuzzy, c-format |
3335 | msgid "" | 3331 | msgid "" |
3336 | "You must specify one and only one directory name for automatic publication.\n" | 3332 | "You must specify one and only one directory name for automatic publication.\n" |
3337 | msgstr "Sie dürfen nur eine Datei zum Deindizieren angeben.\n" | 3333 | msgstr "Sie dürfen nur eine Datei zum Deindizieren angeben.\n" |
3338 | 3334 | ||
3339 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3335 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3340 | msgid "set the desired LEVEL of sender-anonymity" | 3336 | msgid "set the desired LEVEL of sender-anonymity" |
3341 | msgstr "Gewünschten Grad LEVEL an Sender-Anonymität festlegen" | 3337 | msgstr "Gewünschten Grad LEVEL an Sender-Anonymität festlegen" |
3342 | 3338 | ||
3343 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3339 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3344 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3340 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3345 | msgstr "" | 3341 | msgstr "" |
3346 | 3342 | ||
3347 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3343 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3348 | msgid "do not use libextractor to add keywords or metadata" | 3344 | msgid "do not use libextractor to add keywords or metadata" |
3349 | msgstr "" | 3345 | msgstr "" |
3350 | 3346 | ||
3351 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3347 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3352 | msgid "specify the priority of the content" | 3348 | msgid "specify the priority of the content" |
3353 | msgstr "Die Priorität des Inhalts angeben" | 3349 | msgstr "Die Priorität des Inhalts angeben" |
3354 | 3350 | ||
3355 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3351 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3356 | msgid "set the desired replication LEVEL" | 3352 | msgid "set the desired replication LEVEL" |
3357 | msgstr "" | 3353 | msgstr "" |
3358 | 3354 | ||
3359 | #: src/fs/gnunet-auto-share.c:772 | 3355 | #: src/fs/gnunet-auto-share.c:815 |
3360 | msgid "Automatically publish files from a directory on GNUnet" | 3356 | msgid "Automatically publish files from a directory on GNUnet" |
3361 | msgstr "" | 3357 | msgstr "" |
3362 | 3358 | ||
@@ -3426,65 +3422,65 @@ msgstr "Fehler beim Download: %s\n" | |||
3426 | msgid "Downloading `%s' done (%s/s).\n" | 3422 | msgid "Downloading `%s' done (%s/s).\n" |
3427 | msgstr "Dateien aus dem GNUnet herunterladen." | 3423 | msgstr "Dateien aus dem GNUnet herunterladen." |
3428 | 3424 | ||
3429 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3425 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3430 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3426 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3431 | #, c-format | 3427 | #, c-format |
3432 | msgid "Unexpected status: %d\n" | 3428 | msgid "Unexpected status: %d\n" |
3433 | msgstr "" | 3429 | msgstr "" |
3434 | 3430 | ||
3435 | #: src/fs/gnunet-download.c:234 | 3431 | #: src/fs/gnunet-download.c:233 |
3436 | #, fuzzy | 3432 | #, fuzzy |
3437 | msgid "You need to specify a URI argument.\n" | 3433 | msgid "You need to specify a URI argument.\n" |
3438 | msgstr "Sie müssen einen Empfänger angeben!\n" | 3434 | msgstr "Sie müssen einen Empfänger angeben!\n" |
3439 | 3435 | ||
3440 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3436 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3441 | #, fuzzy, c-format | 3437 | #, fuzzy, c-format |
3442 | msgid "Failed to parse URI: %s\n" | 3438 | msgid "Failed to parse URI: %s\n" |
3443 | msgstr "Datei `%s' hat URI: %s\n" | 3439 | msgstr "Datei `%s' hat URI: %s\n" |
3444 | 3440 | ||
3445 | #: src/fs/gnunet-download.c:247 | 3441 | #: src/fs/gnunet-download.c:246 |
3446 | msgid "Only CHK or LOC URIs supported.\n" | 3442 | msgid "Only CHK or LOC URIs supported.\n" |
3447 | msgstr "" | 3443 | msgstr "" |
3448 | 3444 | ||
3449 | #: src/fs/gnunet-download.c:254 | 3445 | #: src/fs/gnunet-download.c:253 |
3450 | msgid "Target filename must be specified.\n" | 3446 | msgid "Target filename must be specified.\n" |
3451 | msgstr "" | 3447 | msgstr "" |
3452 | 3448 | ||
3453 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3449 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3454 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3450 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3455 | #, fuzzy, c-format | 3451 | #, fuzzy, c-format |
3456 | msgid "Could not initialize `%s' subsystem.\n" | 3452 | msgid "Could not initialize `%s' subsystem.\n" |
3457 | msgstr "`%s' Dienst konnte nicht initialisiert werden.\n" | 3453 | msgstr "`%s' Dienst konnte nicht initialisiert werden.\n" |
3458 | 3454 | ||
3459 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3455 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3460 | msgid "set the desired LEVEL of receiver-anonymity" | 3456 | msgid "set the desired LEVEL of receiver-anonymity" |
3461 | msgstr "Den Grad LEVEL der gewünschten Empfänger-Anonymität setzen" | 3457 | msgstr "Den Grad LEVEL der gewünschten Empfänger-Anonymität setzen" |
3462 | 3458 | ||
3463 | #: src/fs/gnunet-download.c:308 | 3459 | #: src/fs/gnunet-download.c:307 |
3464 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3460 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3465 | msgstr "" | 3461 | msgstr "" |
3466 | 3462 | ||
3467 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3463 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3468 | msgid "only search the local peer (no P2P network search)" | 3464 | msgid "only search the local peer (no P2P network search)" |
3469 | msgstr "" | 3465 | msgstr "" |
3470 | 3466 | ||
3471 | #: src/fs/gnunet-download.c:314 | 3467 | #: src/fs/gnunet-download.c:313 |
3472 | msgid "write the file to FILENAME" | 3468 | msgid "write the file to FILENAME" |
3473 | msgstr "Die Datei in DATEINAME schreiben" | 3469 | msgstr "Die Datei in DATEINAME schreiben" |
3474 | 3470 | ||
3475 | #: src/fs/gnunet-download.c:318 | 3471 | #: src/fs/gnunet-download.c:317 |
3476 | msgid "set the maximum number of parallel downloads that is allowed" | 3472 | msgid "set the maximum number of parallel downloads that is allowed" |
3477 | msgstr "" | 3473 | msgstr "" |
3478 | 3474 | ||
3479 | #: src/fs/gnunet-download.c:322 | 3475 | #: src/fs/gnunet-download.c:321 |
3480 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3476 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3481 | msgstr "" | 3477 | msgstr "" |
3482 | 3478 | ||
3483 | #: src/fs/gnunet-download.c:325 | 3479 | #: src/fs/gnunet-download.c:324 |
3484 | msgid "download a GNUnet directory recursively" | 3480 | msgid "download a GNUnet directory recursively" |
3485 | msgstr "Das GNUnet-Verzeichnis rekursiv herunterladen" | 3481 | msgstr "Das GNUnet-Verzeichnis rekursiv herunterladen" |
3486 | 3482 | ||
3487 | #: src/fs/gnunet-download.c:339 | 3483 | #: src/fs/gnunet-download.c:338 |
3488 | msgid "" | 3484 | msgid "" |
3489 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3485 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3490 | "chk/...)" | 3486 | "chk/...)" |
@@ -3515,144 +3511,144 @@ msgstr "" | |||
3515 | msgid "run a testbed to measure file-sharing performance" | 3511 | msgid "run a testbed to measure file-sharing performance" |
3516 | msgstr "" | 3512 | msgstr "" |
3517 | 3513 | ||
3518 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3514 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3519 | #, c-format | 3515 | #, c-format |
3520 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3516 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3521 | msgstr "" | 3517 | msgstr "" |
3522 | 3518 | ||
3523 | #: src/fs/gnunet-publish.c:257 | 3519 | #: src/fs/gnunet-publish.c:241 |
3524 | #, fuzzy, c-format | 3520 | #, fuzzy, c-format |
3525 | msgid "Error publishing: %s.\n" | 3521 | msgid "Error publishing: %s.\n" |
3526 | msgstr "Fehler beim Download: %s\n" | 3522 | msgstr "Fehler beim Download: %s\n" |
3527 | 3523 | ||
3528 | #: src/fs/gnunet-publish.c:268 | 3524 | #: src/fs/gnunet-publish.c:248 |
3529 | #, c-format | 3525 | #, c-format |
3530 | msgid "Publishing `%s' done.\n" | 3526 | msgid "Publishing `%s' done.\n" |
3531 | msgstr "" | 3527 | msgstr "" |
3532 | 3528 | ||
3533 | #: src/fs/gnunet-publish.c:273 | 3529 | #: src/fs/gnunet-publish.c:253 |
3534 | #, fuzzy, c-format | 3530 | #, fuzzy, c-format |
3535 | msgid "URI is `%s'.\n" | 3531 | msgid "URI is `%s'.\n" |
3536 | msgstr "Ich bin Peer `%s'.\n" | 3532 | msgstr "Ich bin Peer `%s'.\n" |
3537 | 3533 | ||
3538 | #: src/fs/gnunet-publish.c:281 | 3534 | #: src/fs/gnunet-publish.c:261 |
3539 | #, fuzzy, c-format | 3535 | #, fuzzy, c-format |
3540 | msgid "Namespace URI is `%s'.\n" | 3536 | msgid "Namespace URI is `%s'.\n" |
3541 | msgstr "Ich bin Peer `%s'.\n" | 3537 | msgstr "Ich bin Peer `%s'.\n" |
3542 | 3538 | ||
3543 | #: src/fs/gnunet-publish.c:299 | 3539 | #: src/fs/gnunet-publish.c:277 |
3544 | #, fuzzy | 3540 | #, fuzzy |
3545 | msgid "Starting cleanup after abort\n" | 3541 | msgid "Starting cleanup after abort\n" |
3546 | msgstr "`%s' Startvorgang abgeschlossen.\n" | 3542 | msgstr "`%s' Startvorgang abgeschlossen.\n" |
3547 | 3543 | ||
3548 | #: src/fs/gnunet-publish.c:306 | 3544 | #: src/fs/gnunet-publish.c:284 |
3549 | #, fuzzy | 3545 | #, fuzzy |
3550 | msgid "Cleanup after abort completed.\n" | 3546 | msgid "Cleanup after abort completed.\n" |
3551 | msgstr "`%s' Startvorgang abgeschlossen.\n" | 3547 | msgstr "`%s' Startvorgang abgeschlossen.\n" |
3552 | 3548 | ||
3553 | #: src/fs/gnunet-publish.c:312 | 3549 | #: src/fs/gnunet-publish.c:290 |
3554 | #, fuzzy | 3550 | #, fuzzy |
3555 | msgid "Cleanup after abort failed.\n" | 3551 | msgid "Cleanup after abort failed.\n" |
3556 | msgstr "`%s' Startvorgang abgeschlossen.\n" | 3552 | msgstr "`%s' Startvorgang abgeschlossen.\n" |
3557 | 3553 | ||
3558 | #: src/fs/gnunet-publish.c:447 | 3554 | #: src/fs/gnunet-publish.c:432 |
3559 | #, fuzzy, c-format | 3555 | #, fuzzy, c-format |
3560 | msgid "Meta data for file `%s' (%s)\n" | 3556 | msgid "Meta data for file `%s' (%s)\n" |
3561 | msgstr "Daten des Moduls `%s' werden aktualisiert\n" | 3557 | msgstr "Daten des Moduls `%s' werden aktualisiert\n" |
3562 | 3558 | ||
3563 | #: src/fs/gnunet-publish.c:449 | 3559 | #: src/fs/gnunet-publish.c:437 |
3564 | #, fuzzy, c-format | 3560 | #, fuzzy, c-format |
3565 | msgid "Keywords for file `%s' (%s)\n" | 3561 | msgid "Keywords for file `%s' (%s)\n" |
3566 | msgstr "Schlüsselwörter für Datei `%s':\n" | 3562 | msgstr "Schlüsselwörter für Datei `%s':\n" |
3567 | 3563 | ||
3568 | #: src/fs/gnunet-publish.c:594 | 3564 | #: src/fs/gnunet-publish.c:591 |
3569 | #, fuzzy | 3565 | #, fuzzy |
3570 | msgid "Could not publish\n" | 3566 | msgid "Could not publish\n" |
3571 | msgstr "`%s': Kann nicht senden.\n" | 3567 | msgstr "`%s': Kann nicht senden.\n" |
3572 | 3568 | ||
3573 | #: src/fs/gnunet-publish.c:619 | 3569 | #: src/fs/gnunet-publish.c:616 |
3574 | #, fuzzy | 3570 | #, fuzzy |
3575 | msgid "Could not start publishing.\n" | 3571 | msgid "Could not start publishing.\n" |
3576 | msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n" | 3572 | msgstr "Anwendung `%s' konnte nicht initialisiert werden.\n" |
3577 | 3573 | ||
3578 | #: src/fs/gnunet-publish.c:653 | 3574 | #: src/fs/gnunet-publish.c:650 |
3579 | #, fuzzy, c-format | 3575 | #, fuzzy, c-format |
3580 | msgid "Scanning directory `%s'.\n" | 3576 | msgid "Scanning directory `%s'.\n" |
3581 | msgstr "==> Verzeichnis `%s':\n" | 3577 | msgstr "==> Verzeichnis `%s':\n" |
3582 | 3578 | ||
3583 | #: src/fs/gnunet-publish.c:657 | 3579 | #: src/fs/gnunet-publish.c:654 |
3584 | #, fuzzy, c-format | 3580 | #, fuzzy, c-format |
3585 | msgid "Scanning file `%s'.\n" | 3581 | msgid "Scanning file `%s'.\n" |
3586 | msgstr "Binde Konfigurationsdatei `%s' ein\n" | 3582 | msgstr "Binde Konfigurationsdatei `%s' ein\n" |
3587 | 3583 | ||
3588 | #: src/fs/gnunet-publish.c:663 | 3584 | #: src/fs/gnunet-publish.c:660 |
3589 | #, c-format | 3585 | #, c-format |
3590 | msgid "There was trouble processing file `%s', skipping it.\n" | 3586 | msgid "There was trouble processing file `%s', skipping it.\n" |
3591 | msgstr "" | 3587 | msgstr "" |
3592 | 3588 | ||
3593 | #: src/fs/gnunet-publish.c:670 | 3589 | #: src/fs/gnunet-publish.c:667 |
3594 | #, fuzzy | 3590 | #, fuzzy |
3595 | msgid "Preprocessing complete.\n" | 3591 | msgid "Preprocessing complete.\n" |
3596 | msgstr "GNUnet wurde erfolgreich heruntergefahren.\n" | 3592 | msgstr "GNUnet wurde erfolgreich heruntergefahren.\n" |
3597 | 3593 | ||
3598 | #: src/fs/gnunet-publish.c:675 | 3594 | #: src/fs/gnunet-publish.c:672 |
3599 | #, c-format | 3595 | #, c-format |
3600 | msgid "Extracting meta data from file `%s' complete.\n" | 3596 | msgid "Extracting meta data from file `%s' complete.\n" |
3601 | msgstr "" | 3597 | msgstr "" |
3602 | 3598 | ||
3603 | #: src/fs/gnunet-publish.c:682 | 3599 | #: src/fs/gnunet-publish.c:679 |
3604 | msgid "Meta data extraction has finished.\n" | 3600 | msgid "Meta data extraction has finished.\n" |
3605 | msgstr "" | 3601 | msgstr "" |
3606 | 3602 | ||
3607 | #: src/fs/gnunet-publish.c:691 | 3603 | #: src/fs/gnunet-publish.c:688 |
3608 | #, fuzzy | 3604 | #, fuzzy |
3609 | msgid "Internal error scanning directory.\n" | 3605 | msgid "Internal error scanning directory.\n" |
3610 | msgstr "=\tFehler beim Lesen des Verzeichnisses.\n" | 3606 | msgstr "=\tFehler beim Lesen des Verzeichnisses.\n" |
3611 | 3607 | ||
3612 | #: src/fs/gnunet-publish.c:723 | 3608 | #: src/fs/gnunet-publish.c:716 |
3613 | #, c-format | 3609 | #, c-format |
3614 | msgid "Selected pseudonym `%s' unknown\n" | 3610 | msgid "Selected pseudonym `%s' unknown\n" |
3615 | msgstr "" | 3611 | msgstr "" |
3616 | 3612 | ||
3617 | #: src/fs/gnunet-publish.c:755 | 3613 | #: src/fs/gnunet-publish.c:749 |
3618 | #, fuzzy, c-format | 3614 | #, fuzzy, c-format |
3619 | msgid "Failed to access `%s': %s\n" | 3615 | msgid "Failed to access `%s': %s\n" |
3620 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | 3616 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" |
3621 | 3617 | ||
3622 | #: src/fs/gnunet-publish.c:769 | 3618 | #: src/fs/gnunet-publish.c:763 |
3623 | msgid "" | 3619 | msgid "" |
3624 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3620 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3625 | "installed?\n" | 3621 | "installed?\n" |
3626 | msgstr "" | 3622 | msgstr "" |
3627 | 3623 | ||
3628 | #: src/fs/gnunet-publish.c:825 | 3624 | #: src/fs/gnunet-publish.c:819 |
3629 | #, c-format | 3625 | #, c-format |
3630 | msgid "Cannot extract metadata from a URI!\n" | 3626 | msgid "Cannot extract metadata from a URI!\n" |
3631 | msgstr "" | 3627 | msgstr "" |
3632 | 3628 | ||
3633 | #: src/fs/gnunet-publish.c:832 | 3629 | #: src/fs/gnunet-publish.c:826 |
3634 | #, c-format | 3630 | #, c-format |
3635 | msgid "You must specify one and only one filename for insertion.\n" | 3631 | msgid "You must specify one and only one filename for insertion.\n" |
3636 | msgstr "Sie dürfen nur eine einzige Datei zum Einfügen angeben.\n" | 3632 | msgstr "Sie dürfen nur eine einzige Datei zum Einfügen angeben.\n" |
3637 | 3633 | ||
3638 | #: src/fs/gnunet-publish.c:838 | 3634 | #: src/fs/gnunet-publish.c:832 |
3639 | #, fuzzy, c-format | 3635 | #, fuzzy, c-format |
3640 | msgid "You must NOT specify an URI and a filename.\n" | 3636 | msgid "You must NOT specify an URI and a filename.\n" |
3641 | msgstr "Sie müssen einen Empfänger angeben!\n" | 3637 | msgstr "Sie müssen einen Empfänger angeben!\n" |
3642 | 3638 | ||
3643 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3639 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3644 | #, fuzzy, c-format | 3640 | #, fuzzy, c-format |
3645 | msgid "Option `%s' is required when using option `%s'.\n" | 3641 | msgid "Option `%s' is required when using option `%s'.\n" |
3646 | msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n" | 3642 | msgstr "Option `%s' macht keinen Sinn ohne die Option `%s'.\n" |
3647 | 3643 | ||
3648 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3644 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3649 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3645 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3650 | #: src/transport/gnunet-transport.c:1989 | 3646 | #: src/transport/gnunet-transport.c:1989 |
3651 | #, c-format | 3647 | #, c-format |
3652 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3648 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3653 | msgstr "Die Option »%s« ergibt keinen Sinn ohne die Option »%s«.\n" | 3649 | msgstr "Die Option »%s« ergibt keinen Sinn ohne die Option »%s«.\n" |
3654 | 3650 | ||
3655 | #: src/fs/gnunet-publish.c:919 | 3651 | #: src/fs/gnunet-publish.c:912 |
3656 | msgid "" | 3652 | msgid "" |
3657 | "print list of extracted keywords that would be used, but do not perform " | 3653 | "print list of extracted keywords that would be used, but do not perform " |
3658 | "upload" | 3654 | "upload" |
@@ -3660,7 +3656,7 @@ msgstr "" | |||
3660 | "Liste der extrahierten Schlüsselworte, die verwendet werden würden, " | 3656 | "Liste der extrahierten Schlüsselworte, die verwendet werden würden, " |
3661 | "ausgeben, aber keinen Upload durchführen" | 3657 | "ausgeben, aber keinen Upload durchführen" |
3662 | 3658 | ||
3663 | #: src/fs/gnunet-publish.c:923 | 3659 | #: src/fs/gnunet-publish.c:916 |
3664 | msgid "" | 3660 | msgid "" |
3665 | "add an additional keyword for the top-level file or directory (this option " | 3661 | "add an additional keyword for the top-level file or directory (this option " |
3666 | "can be specified multiple times)" | 3662 | "can be specified multiple times)" |
@@ -3668,13 +3664,13 @@ msgstr "" | |||
3668 | "Ein zusätzliches Schlüsselwort für die Datei oder das Verzeichnis auf der " | 3664 | "Ein zusätzliches Schlüsselwort für die Datei oder das Verzeichnis auf der " |
3669 | "obersten Ebene hinzufügen (diese Option kann mehrmals angegeben werden)" | 3665 | "obersten Ebene hinzufügen (diese Option kann mehrmals angegeben werden)" |
3670 | 3666 | ||
3671 | #: src/fs/gnunet-publish.c:927 | 3667 | #: src/fs/gnunet-publish.c:920 |
3672 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3668 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3673 | msgstr "" | 3669 | msgstr "" |
3674 | "Die Meta-Daten des angegebenen Typs TYPE auf den angegebenen Wert VALUE " | 3670 | "Die Meta-Daten des angegebenen Typs TYPE auf den angegebenen Wert VALUE " |
3675 | "setzen" | 3671 | "setzen" |
3676 | 3672 | ||
3677 | #: src/fs/gnunet-publish.c:930 | 3673 | #: src/fs/gnunet-publish.c:923 |
3678 | msgid "" | 3674 | msgid "" |
3679 | "do not index, perform full insertion (stores entire file in encrypted form " | 3675 | "do not index, perform full insertion (stores entire file in encrypted form " |
3680 | "in GNUnet database)" | 3676 | "in GNUnet database)" |
@@ -3682,7 +3678,7 @@ msgstr "" | |||
3682 | "Nicht indizieren, sondern komplett einfügen (speichert die gesamte Datei in " | 3678 | "Nicht indizieren, sondern komplett einfügen (speichert die gesamte Datei in " |
3683 | "verschlüsselter Form in der GNUnet-Datenbank)" | 3679 | "verschlüsselter Form in der GNUnet-Datenbank)" |
3684 | 3680 | ||
3685 | #: src/fs/gnunet-publish.c:935 | 3681 | #: src/fs/gnunet-publish.c:928 |
3686 | msgid "" | 3682 | msgid "" |
3687 | "specify ID of an updated version to be published in the future (for " | 3683 | "specify ID of an updated version to be published in the future (for " |
3688 | "namespace insertions only)" | 3684 | "namespace insertions only)" |
@@ -3690,32 +3686,32 @@ msgstr "" | |||
3690 | "ID einer aktualisierten Version angeben, die in der Zukunft veröffentlicht " | 3686 | "ID einer aktualisierten Version angeben, die in der Zukunft veröffentlicht " |
3691 | "werden soll. (nur für das Einfügen in Namensräume)" | 3687 | "werden soll. (nur für das Einfügen in Namensräume)" |
3692 | 3688 | ||
3693 | #: src/fs/gnunet-publish.c:943 | 3689 | #: src/fs/gnunet-publish.c:936 |
3694 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3690 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3695 | msgstr "" | 3691 | msgstr "" |
3696 | "Die Datei unter dem Pseudonym NAME veröffentlichen (platziert die Datei in " | 3692 | "Die Datei unter dem Pseudonym NAME veröffentlichen (platziert die Datei in " |
3697 | "einem Namensraum)" | 3693 | "einem Namensraum)" |
3698 | 3694 | ||
3699 | #: src/fs/gnunet-publish.c:949 | 3695 | #: src/fs/gnunet-publish.c:942 |
3700 | msgid "" | 3696 | msgid "" |
3701 | "only simulate the process but do not do any actual publishing (useful to " | 3697 | "only simulate the process but do not do any actual publishing (useful to " |
3702 | "compute URIs)" | 3698 | "compute URIs)" |
3703 | msgstr "" | 3699 | msgstr "" |
3704 | 3700 | ||
3705 | #: src/fs/gnunet-publish.c:953 | 3701 | #: src/fs/gnunet-publish.c:946 |
3706 | msgid "" | 3702 | msgid "" |
3707 | "set the ID of this version of the publication (for namespace insertions only)" | 3703 | "set the ID of this version of the publication (for namespace insertions only)" |
3708 | msgstr "" | 3704 | msgstr "" |
3709 | "Die ID dieser Version der Veröffentlichung setzen (nur für das Einfügen in " | 3705 | "Die ID dieser Version der Veröffentlichung setzen (nur für das Einfügen in " |
3710 | "Namensräume)" | 3706 | "Namensräume)" |
3711 | 3707 | ||
3712 | #: src/fs/gnunet-publish.c:957 | 3708 | #: src/fs/gnunet-publish.c:950 |
3713 | msgid "" | 3709 | msgid "" |
3714 | "URI to be published (can be used instead of passing a file to add keywords " | 3710 | "URI to be published (can be used instead of passing a file to add keywords " |
3715 | "to the file with the respective URI)" | 3711 | "to the file with the respective URI)" |
3716 | msgstr "" | 3712 | msgstr "" |
3717 | 3713 | ||
3718 | #: src/fs/gnunet-publish.c:973 | 3714 | #: src/fs/gnunet-publish.c:966 |
3719 | msgid "Publish a file or directory on GNUnet" | 3715 | msgid "Publish a file or directory on GNUnet" |
3720 | msgstr "" | 3716 | msgstr "" |
3721 | 3717 | ||
@@ -3729,28 +3725,28 @@ msgstr "" | |||
3729 | msgid "Error searching: %s.\n" | 3725 | msgid "Error searching: %s.\n" |
3730 | msgstr "Fehler beim Verlassen der DHT.\n" | 3726 | msgstr "Fehler beim Verlassen der DHT.\n" |
3731 | 3727 | ||
3732 | #: src/fs/gnunet-search.c:246 | 3728 | #: src/fs/gnunet-search.c:245 |
3733 | msgid "Could not create keyword URI from arguments.\n" | 3729 | msgid "Could not create keyword URI from arguments.\n" |
3734 | msgstr "" | 3730 | msgstr "" |
3735 | 3731 | ||
3736 | #: src/fs/gnunet-search.c:270 | 3732 | #: src/fs/gnunet-search.c:269 |
3737 | #, fuzzy | 3733 | #, fuzzy |
3738 | msgid "Could not start searching.\n" | 3734 | msgid "Could not start searching.\n" |
3739 | msgstr "Fehler beim Starten der Collection.\n" | 3735 | msgstr "Fehler beim Starten der Collection.\n" |
3740 | 3736 | ||
3741 | #: src/fs/gnunet-search.c:301 | 3737 | #: src/fs/gnunet-search.c:300 |
3742 | msgid "write search results to file starting with PREFIX" | 3738 | msgid "write search results to file starting with PREFIX" |
3743 | msgstr "" | 3739 | msgstr "" |
3744 | 3740 | ||
3745 | #: src/fs/gnunet-search.c:304 | 3741 | #: src/fs/gnunet-search.c:303 |
3746 | msgid "automatically terminate search after DELAY" | 3742 | msgid "automatically terminate search after DELAY" |
3747 | msgstr "" | 3743 | msgstr "" |
3748 | 3744 | ||
3749 | #: src/fs/gnunet-search.c:311 | 3745 | #: src/fs/gnunet-search.c:310 |
3750 | msgid "automatically terminate search after VALUE results are found" | 3746 | msgid "automatically terminate search after VALUE results are found" |
3751 | msgstr "" | 3747 | msgstr "" |
3752 | 3748 | ||
3753 | #: src/fs/gnunet-search.c:322 | 3749 | #: src/fs/gnunet-search.c:321 |
3754 | msgid "Search GNUnet for files that were published on GNUnet" | 3750 | msgid "Search GNUnet for files that were published on GNUnet" |
3755 | msgstr "" | 3751 | msgstr "" |
3756 | 3752 | ||
@@ -4138,17 +4134,17 @@ msgstr "" | |||
4138 | msgid "Unindexing done.\n" | 4134 | msgid "Unindexing done.\n" |
4139 | msgstr "Dateien deindizieren." | 4135 | msgstr "Dateien deindizieren." |
4140 | 4136 | ||
4141 | #: src/fs/gnunet-unindex.c:130 | 4137 | #: src/fs/gnunet-unindex.c:129 |
4142 | #, fuzzy, c-format | 4138 | #, fuzzy, c-format |
4143 | msgid "You must specify one and only one filename for unindexing.\n" | 4139 | msgid "You must specify one and only one filename for unindexing.\n" |
4144 | msgstr "Sie dürfen nur eine Datei zum Deindizieren angeben.\n" | 4140 | msgstr "Sie dürfen nur eine Datei zum Deindizieren angeben.\n" |
4145 | 4141 | ||
4146 | #: src/fs/gnunet-unindex.c:147 | 4142 | #: src/fs/gnunet-unindex.c:146 |
4147 | #, fuzzy | 4143 | #, fuzzy |
4148 | msgid "Could not start unindex operation.\n" | 4144 | msgid "Could not start unindex operation.\n" |
4149 | msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n" | 4145 | msgstr "Auf die Namespace Informationen konnte nicht zugegriffen werden.\n" |
4150 | 4146 | ||
4151 | #: src/fs/gnunet-unindex.c:179 | 4147 | #: src/fs/gnunet-unindex.c:178 |
4152 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 4148 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
4153 | msgstr "" | 4149 | msgstr "" |
4154 | 4150 | ||
@@ -4552,68 +4548,68 @@ msgstr "" | |||
4552 | msgid "GNS REST API initialized\n" | 4548 | msgid "GNS REST API initialized\n" |
4553 | msgstr " Verbindung fehlgeschlagen\n" | 4549 | msgstr " Verbindung fehlgeschlagen\n" |
4554 | 4550 | ||
4555 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4551 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4556 | #, c-format | 4552 | #, c-format |
4557 | msgid "Unable to parse IPv4 address `%s'\n" | 4553 | msgid "Unable to parse IPv4 address `%s'\n" |
4558 | msgstr "" | 4554 | msgstr "" |
4559 | 4555 | ||
4560 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4556 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4561 | #, fuzzy, c-format | 4557 | #, fuzzy, c-format |
4562 | msgid "Failed to serialize NS record with value `%s'\n" | 4558 | msgid "Failed to serialize NS record with value `%s'\n" |
4563 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" | 4559 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" |
4564 | 4560 | ||
4565 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4561 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4566 | #, c-format | 4562 | #, c-format |
4567 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4563 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4568 | msgstr "" | 4564 | msgstr "" |
4569 | 4565 | ||
4570 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4566 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4571 | #, c-format | 4567 | #, c-format |
4572 | msgid "Failed to serialize CERT record with %u bytes\n" | 4568 | msgid "Failed to serialize CERT record with %u bytes\n" |
4573 | msgstr "" | 4569 | msgstr "" |
4574 | 4570 | ||
4575 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4571 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4576 | #, fuzzy, c-format | 4572 | #, fuzzy, c-format |
4577 | msgid "Unable to parse SOA record `%s'\n" | 4573 | msgid "Unable to parse SOA record `%s'\n" |
4578 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" | 4574 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" |
4579 | 4575 | ||
4580 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4576 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4581 | #, c-format | 4577 | #, c-format |
4582 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4578 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4583 | msgstr "" | 4579 | msgstr "" |
4584 | 4580 | ||
4585 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4581 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4586 | #, fuzzy, c-format | 4582 | #, fuzzy, c-format |
4587 | msgid "Failed to serialize PTR record with value `%s'\n" | 4583 | msgid "Failed to serialize PTR record with value `%s'\n" |
4588 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" | 4584 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" |
4589 | 4585 | ||
4590 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4586 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4591 | #, fuzzy, c-format | 4587 | #, fuzzy, c-format |
4592 | msgid "Unable to parse MX record `%s'\n" | 4588 | msgid "Unable to parse MX record `%s'\n" |
4593 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" | 4589 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" |
4594 | 4590 | ||
4595 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4591 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4596 | #, fuzzy, c-format | 4592 | #, fuzzy, c-format |
4597 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4593 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4598 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" | 4594 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" |
4599 | 4595 | ||
4600 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4596 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4601 | #, fuzzy, c-format | 4597 | #, fuzzy, c-format |
4602 | msgid "Unable to parse SRV record `%s'\n" | 4598 | msgid "Unable to parse SRV record `%s'\n" |
4603 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" | 4599 | msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n" |
4604 | 4600 | ||
4605 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4601 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4606 | #, fuzzy, c-format | 4602 | #, fuzzy, c-format |
4607 | msgid "Failed to serialize SRV record with target `%s'\n" | 4603 | msgid "Failed to serialize SRV record with target `%s'\n" |
4608 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" | 4604 | msgstr "Fehler beim Lesen der Freunde-Liste von `%s'\n" |
4609 | 4605 | ||
4610 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4606 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4611 | #, c-format | 4607 | #, c-format |
4612 | msgid "Unable to parse IPv6 address `%s'\n" | 4608 | msgid "Unable to parse IPv6 address `%s'\n" |
4613 | msgstr "" | 4609 | msgstr "" |
4614 | 4610 | ||
4615 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4611 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4616 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4612 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4617 | #, fuzzy, c-format | 4613 | #, fuzzy, c-format |
4618 | msgid "Unable to parse TLSA record string `%s'\n" | 4614 | msgid "Unable to parse TLSA record string `%s'\n" |
4619 | msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':" | 4615 | msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':" |
@@ -5132,6 +5128,31 @@ msgstr "GNUnet Konfiguration" | |||
5132 | msgid "Namecache failed to cache block" | 5128 | msgid "Namecache failed to cache block" |
5133 | msgstr "" | 5129 | msgstr "" |
5134 | 5130 | ||
5131 | #: src/namecache/plugin_namecache_flat.c:119 | ||
5132 | #: src/namecache/plugin_namecache_flat.c:236 | ||
5133 | #: src/namestore/plugin_namestore_flat.c:184 | ||
5134 | #: src/namestore/plugin_namestore_flat.c:352 | ||
5135 | #, fuzzy, c-format | ||
5136 | msgid "Unable to initialize file: %s.\n" | ||
5137 | msgstr "SQLite-Datenbank konnte nicht initialisiert werden: %s.\n" | ||
5138 | |||
5139 | #: src/namecache/plugin_namecache_flat.c:130 | ||
5140 | #: src/namestore/plugin_namestore_flat.c:195 | ||
5141 | #, fuzzy, c-format | ||
5142 | msgid "Unable to get filesize: %s.\n" | ||
5143 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | ||
5144 | |||
5145 | #: src/namecache/plugin_namecache_flat.c:142 | ||
5146 | #: src/namestore/plugin_namestore_flat.c:207 | ||
5147 | #, fuzzy, c-format | ||
5148 | msgid "Unable to read file: %s.\n" | ||
5149 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | ||
5150 | |||
5151 | #: src/namecache/plugin_namecache_flat.c:391 | ||
5152 | #, fuzzy | ||
5153 | msgid "flat plugin running\n" | ||
5154 | msgstr "Sqlite-Datenbank läuft\n" | ||
5155 | |||
5135 | #: src/namecache/plugin_namecache_postgres.c:89 | 5156 | #: src/namecache/plugin_namecache_postgres.c:89 |
5136 | #: src/namestore/plugin_namestore_postgres.c:96 | 5157 | #: src/namestore/plugin_namestore_postgres.c:96 |
5137 | #, fuzzy | 5158 | #, fuzzy |
@@ -5230,8 +5251,7 @@ msgstr "" | |||
5230 | msgid "Invalid public key for reverse lookup `%s'\n" | 5251 | msgid "Invalid public key for reverse lookup `%s'\n" |
5231 | msgstr "" | 5252 | msgstr "" |
5232 | 5253 | ||
5233 | #: src/namestore/gnunet-namestore.c:868 | 5254 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5234 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5235 | #, fuzzy, c-format | 5255 | #, fuzzy, c-format |
5236 | msgid "Invalid URI `%s'\n" | 5256 | msgid "Invalid URI `%s'\n" |
5237 | msgstr "Ungültiger Parameter: `%s'\n" | 5257 | msgstr "Ungültiger Parameter: `%s'\n" |
@@ -5389,11 +5409,20 @@ msgstr "" | |||
5389 | msgid "Namestore failed to store record\n" | 5409 | msgid "Namestore failed to store record\n" |
5390 | msgstr "" | 5410 | msgstr "" |
5391 | 5411 | ||
5412 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5413 | #, fuzzy | ||
5414 | msgid "flat file database running\n" | ||
5415 | msgstr "Sqlite-Datenbank läuft\n" | ||
5416 | |||
5392 | #: src/namestore/plugin_rest_namestore.c:1023 | 5417 | #: src/namestore/plugin_rest_namestore.c:1023 |
5393 | #, fuzzy | 5418 | #, fuzzy |
5394 | msgid "Namestore REST API initialized\n" | 5419 | msgid "Namestore REST API initialized\n" |
5395 | msgstr " Verbindung fehlgeschlagen\n" | 5420 | msgstr " Verbindung fehlgeschlagen\n" |
5396 | 5421 | ||
5422 | #: src/nat/gnunet-nat.c:160 | ||
5423 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5424 | msgstr "" | ||
5425 | |||
5397 | #: src/nat/gnunet-nat-server.c:279 | 5426 | #: src/nat/gnunet-nat-server.c:279 |
5398 | #, c-format | 5427 | #, c-format |
5399 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5428 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5403,54 +5432,59 @@ msgstr "" | |||
5403 | msgid "GNUnet NAT traversal test helper daemon" | 5432 | msgid "GNUnet NAT traversal test helper daemon" |
5404 | msgstr "" | 5433 | msgstr "" |
5405 | 5434 | ||
5406 | #: src/nat/nat_auto.c:179 | 5435 | #: src/nat/nat_auto.c:394 |
5407 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5436 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5408 | msgstr "" | 5437 | msgstr "" |
5409 | 5438 | ||
5410 | #: src/nat/nat_auto.c:180 | 5439 | #: src/nat/nat_auto.c:395 |
5411 | msgid "NAT traversal with ICMP Server failed.\n" | 5440 | msgid "NAT traversal with ICMP Server failed.\n" |
5412 | msgstr "" | 5441 | msgstr "" |
5413 | 5442 | ||
5414 | #: src/nat/nat_auto.c:201 | 5443 | #: src/nat/nat_auto.c:416 |
5415 | msgid "Testing connection reversal with ICMP server.\n" | 5444 | msgid "Testing connection reversal with ICMP server.\n" |
5416 | msgstr "" | 5445 | msgstr "" |
5417 | 5446 | ||
5418 | #: src/nat/nat_auto.c:249 | 5447 | #: src/nat/nat_auto.c:448 |
5419 | #, fuzzy, c-format | 5448 | #, fuzzy, c-format |
5420 | msgid "Detected external IP `%s'\n" | 5449 | msgid "Detected external IP `%s'\n" |
5421 | msgstr "Ungültiger RPC `%s' empfangen.\n" | 5450 | msgstr "Ungültiger RPC `%s' empfangen.\n" |
5422 | 5451 | ||
5423 | #: src/nat/nat_auto.c:327 | 5452 | #: src/nat/nat_auto.c:579 |
5424 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5453 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5425 | msgstr "" | 5454 | msgstr "" |
5426 | 5455 | ||
5427 | #: src/nat/nat_auto.c:343 | 5456 | #: src/nat/nat_auto.c:597 |
5428 | #, c-format | 5457 | #, c-format |
5429 | msgid "Detected internal network address `%s'.\n" | 5458 | msgid "Detected internal network address `%s'.\n" |
5430 | msgstr "" | 5459 | msgstr "" |
5431 | 5460 | ||
5432 | #: src/nat/nat_auto.c:406 | 5461 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5462 | #, fuzzy | ||
5463 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5464 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | ||
5465 | |||
5466 | #: src/nat/nat_auto.c:715 | ||
5433 | msgid "upnpc found, enabling its use\n" | 5467 | msgid "upnpc found, enabling its use\n" |
5434 | msgstr "" | 5468 | msgstr "" |
5435 | 5469 | ||
5436 | #: src/nat/nat_auto.c:407 | 5470 | #: src/nat/nat_auto.c:716 |
5437 | #, fuzzy | 5471 | #, fuzzy |
5438 | msgid "upnpc not found\n" | 5472 | msgid "upnpc not found\n" |
5439 | msgstr "Kommando `%s' wurde nicht gefunden!\n" | 5473 | msgstr "Kommando `%s' wurde nicht gefunden!\n" |
5440 | 5474 | ||
5441 | #: src/nat/nat_auto.c:437 | 5475 | #: src/nat/nat_auto.c:748 |
5442 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5476 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5443 | msgstr "" | 5477 | msgstr "" |
5444 | 5478 | ||
5445 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5479 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5446 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5480 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5447 | msgstr "" | 5481 | msgstr "" |
5448 | 5482 | ||
5449 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5483 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5450 | msgid "No working gnunet-helper-nat-server found\n" | 5484 | msgid "No working gnunet-helper-nat-server found\n" |
5451 | msgstr "" | 5485 | msgstr "" |
5452 | 5486 | ||
5453 | #: src/nat/nat_auto.c:483 | 5487 | #: src/nat/nat_auto.c:797 |
5454 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5488 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5455 | msgstr "" | 5489 | msgstr "" |
5456 | 5490 | ||
@@ -5464,119 +5498,119 @@ msgstr "" | |||
5464 | msgid "Failed to start %s\n" | 5498 | msgid "Failed to start %s\n" |
5465 | msgstr "Fehler beim Starten der Collection.\n" | 5499 | msgstr "Fehler beim Starten der Collection.\n" |
5466 | 5500 | ||
5467 | #: src/nat/nat.c:1286 | 5501 | #: src/nat/nat.c:1305 |
5468 | msgid "Error while running upnp client:\n" | 5502 | msgid "Error while running upnp client:\n" |
5469 | msgstr "" | 5503 | msgstr "" |
5470 | 5504 | ||
5471 | #: src/nat/nat.c:1356 | 5505 | #: src/nat/nat.c:1375 |
5472 | #, fuzzy, c-format | 5506 | #, fuzzy, c-format |
5473 | msgid "Failed to run upnp client for port %u\n" | 5507 | msgid "Failed to run upnp client for port %u\n" |
5474 | msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n" | 5508 | msgstr "SQLite Datenbank konnte nicht initialisiert werden.\n" |
5475 | 5509 | ||
5476 | #: src/nat/nat.c:1498 | 5510 | #: src/nat/nat.c:1517 |
5477 | msgid "malformed" | 5511 | msgid "malformed" |
5478 | msgstr "" | 5512 | msgstr "" |
5479 | 5513 | ||
5480 | #: src/nat/nat.c:1552 | 5514 | #: src/nat/nat.c:1571 |
5481 | msgid "" | 5515 | msgid "" |
5482 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5516 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5483 | "disabling UPnP \n" | 5517 | "disabling UPnP \n" |
5484 | msgstr "" | 5518 | msgstr "" |
5485 | 5519 | ||
5486 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5520 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5487 | #, c-format | 5521 | #, c-format |
5488 | msgid "" | 5522 | msgid "" |
5489 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5523 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
5490 | "not set). Option disabled.\n" | 5524 | "not set). Option disabled.\n" |
5491 | msgstr "" | 5525 | msgstr "" |
5492 | 5526 | ||
5493 | #: src/nat/nat.c:1830 | 5527 | #: src/nat/nat.c:1855 |
5494 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5528 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5495 | msgstr "" | 5529 | msgstr "" |
5496 | 5530 | ||
5497 | #: src/nat/nat.c:1846 | 5531 | #: src/nat/nat.c:1871 |
5498 | #, c-format | 5532 | #, c-format |
5499 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5533 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5500 | msgstr "" | 5534 | msgstr "" |
5501 | 5535 | ||
5502 | #: src/nat/nat.c:1931 | 5536 | #: src/nat/nat.c:1958 |
5503 | msgid "Operation Successful" | 5537 | msgid "Operation Successful" |
5504 | msgstr "" | 5538 | msgstr "" |
5505 | 5539 | ||
5506 | #: src/nat/nat.c:1933 | 5540 | #: src/nat/nat.c:1960 |
5507 | msgid "Internal Failure (IPC, ...)" | 5541 | msgid "Internal Failure (IPC, ...)" |
5508 | msgstr "" | 5542 | msgstr "" |
5509 | 5543 | ||
5510 | #: src/nat/nat.c:1935 | 5544 | #: src/nat/nat.c:1962 |
5511 | msgid "Failure in network subsystem, check permissions." | 5545 | msgid "Failure in network subsystem, check permissions." |
5512 | msgstr "" | 5546 | msgstr "" |
5513 | 5547 | ||
5514 | #: src/nat/nat.c:1937 | 5548 | #: src/nat/nat.c:1964 |
5515 | msgid "Encountered timeout while performing operation" | 5549 | msgid "Encountered timeout while performing operation" |
5516 | msgstr "" | 5550 | msgstr "" |
5517 | 5551 | ||
5518 | #: src/nat/nat.c:1939 | 5552 | #: src/nat/nat.c:1966 |
5519 | msgid "detected that we are offline" | 5553 | msgid "detected that we are offline" |
5520 | msgstr "" | 5554 | msgstr "" |
5521 | 5555 | ||
5522 | #: src/nat/nat.c:1941 | 5556 | #: src/nat/nat.c:1968 |
5523 | #, fuzzy | 5557 | #, fuzzy |
5524 | msgid "`upnpc` command not found" | 5558 | msgid "`upnpc` command not found" |
5525 | msgstr "Kommando `%s' wurde nicht gefunden!\n" | 5559 | msgstr "Kommando `%s' wurde nicht gefunden!\n" |
5526 | 5560 | ||
5527 | #: src/nat/nat.c:1943 | 5561 | #: src/nat/nat.c:1970 |
5528 | #, fuzzy | 5562 | #, fuzzy |
5529 | msgid "Failed to run `upnpc` command" | 5563 | msgid "Failed to run `upnpc` command" |
5530 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | 5564 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" |
5531 | 5565 | ||
5532 | #: src/nat/nat.c:1945 | 5566 | #: src/nat/nat.c:1972 |
5533 | msgid "`upnpc' command took too long, process killed" | 5567 | msgid "`upnpc' command took too long, process killed" |
5534 | msgstr "" | 5568 | msgstr "" |
5535 | 5569 | ||
5536 | #: src/nat/nat.c:1947 | 5570 | #: src/nat/nat.c:1974 |
5537 | msgid "`upnpc' command failed to establish port mapping" | 5571 | msgid "`upnpc' command failed to establish port mapping" |
5538 | msgstr "" | 5572 | msgstr "" |
5539 | 5573 | ||
5540 | #: src/nat/nat.c:1949 | 5574 | #: src/nat/nat.c:1976 |
5541 | msgid "`external-ip' command not found" | 5575 | msgid "`external-ip' command not found" |
5542 | msgstr "" | 5576 | msgstr "" |
5543 | 5577 | ||
5544 | #: src/nat/nat.c:1951 | 5578 | #: src/nat/nat.c:1978 |
5545 | #, fuzzy | 5579 | #, fuzzy |
5546 | msgid "Failed to run `external-ip` command" | 5580 | msgid "Failed to run `external-ip` command" |
5547 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | 5581 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" |
5548 | 5582 | ||
5549 | #: src/nat/nat.c:1953 | 5583 | #: src/nat/nat.c:1980 |
5550 | #, fuzzy | 5584 | #, fuzzy |
5551 | msgid "`external-ip' command output invalid" | 5585 | msgid "`external-ip' command output invalid" |
5552 | msgstr "Kommando `%s' wurde nicht gefunden!\n" | 5586 | msgstr "Kommando `%s' wurde nicht gefunden!\n" |
5553 | 5587 | ||
5554 | #: src/nat/nat.c:1955 | 5588 | #: src/nat/nat.c:1982 |
5555 | msgid "no valid address was returned by `external-ip'" | 5589 | msgid "no valid address was returned by `external-ip'" |
5556 | msgstr "" | 5590 | msgstr "" |
5557 | 5591 | ||
5558 | #: src/nat/nat.c:1957 | 5592 | #: src/nat/nat.c:1984 |
5559 | #, fuzzy | 5593 | #, fuzzy |
5560 | msgid "Could not determine interface with internal/local network address" | 5594 | msgid "Could not determine interface with internal/local network address" |
5561 | msgstr "Öffentliche IP-Adresse konnte nicht ermittelt werden.\n" | 5595 | msgstr "Öffentliche IP-Adresse konnte nicht ermittelt werden.\n" |
5562 | 5596 | ||
5563 | #: src/nat/nat.c:1959 | 5597 | #: src/nat/nat.c:1986 |
5564 | msgid "No functioning gnunet-helper-nat-server installation found" | 5598 | msgid "No functioning gnunet-helper-nat-server installation found" |
5565 | msgstr "" | 5599 | msgstr "" |
5566 | 5600 | ||
5567 | #: src/nat/nat.c:1961 | 5601 | #: src/nat/nat.c:1988 |
5568 | msgid "NAT test could not be initialized" | 5602 | msgid "NAT test could not be initialized" |
5569 | msgstr "" | 5603 | msgstr "" |
5570 | 5604 | ||
5571 | #: src/nat/nat.c:1963 | 5605 | #: src/nat/nat.c:1990 |
5572 | msgid "NAT test timeout reached" | 5606 | msgid "NAT test timeout reached" |
5573 | msgstr "" | 5607 | msgstr "" |
5574 | 5608 | ||
5575 | #: src/nat/nat.c:1965 | 5609 | #: src/nat/nat.c:1992 |
5576 | msgid "could not register NAT" | 5610 | msgid "could not register NAT" |
5577 | msgstr "" | 5611 | msgstr "" |
5578 | 5612 | ||
5579 | #: src/nat/nat.c:1967 | 5613 | #: src/nat/nat.c:1994 |
5580 | msgid "No working gnunet-helper-nat-client installation found" | 5614 | msgid "No working gnunet-helper-nat-client installation found" |
5581 | msgstr "" | 5615 | msgstr "" |
5582 | 5616 | ||
@@ -5590,17 +5624,12 @@ msgstr "Kommando `%s' wurde nicht gefunden!\n" | |||
5590 | msgid "`upnpc' command not found\n" | 5624 | msgid "`upnpc' command not found\n" |
5591 | msgstr "Kommando `%s' wurde nicht gefunden!\n" | 5625 | msgstr "Kommando `%s' wurde nicht gefunden!\n" |
5592 | 5626 | ||
5593 | #: src/nat/nat_test.c:360 | 5627 | #: src/nat/nat_test.c:467 |
5594 | #, fuzzy | ||
5595 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5596 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | ||
5597 | |||
5598 | #: src/nat/nat_test.c:462 | ||
5599 | #, c-format | 5628 | #, c-format |
5600 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5629 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5601 | msgstr "" | 5630 | msgstr "" |
5602 | 5631 | ||
5603 | #: src/nat/nat_test.c:497 | 5632 | #: src/nat/nat_test.c:502 |
5604 | #, fuzzy | 5633 | #, fuzzy |
5605 | msgid "NAT test failed to start NAT library\n" | 5634 | msgid "NAT test failed to start NAT library\n" |
5606 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" | 5635 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" |
@@ -5641,8 +5670,8 @@ msgstr "" | |||
5641 | msgid "Measure quality and performance of the NSE service." | 5670 | msgid "Measure quality and performance of the NSE service." |
5642 | msgstr "" | 5671 | msgstr "" |
5643 | 5672 | ||
5644 | #: src/nse/gnunet-service-nse.c:1537 | 5673 | #: src/nse/gnunet-service-nse.c:1541 |
5645 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5674 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5646 | msgid "Value is too large.\n" | 5675 | msgid "Value is too large.\n" |
5647 | msgstr "" | 5676 | msgstr "" |
5648 | 5677 | ||
@@ -5902,7 +5931,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
5902 | msgstr "" | 5931 | msgstr "" |
5903 | 5932 | ||
5904 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 5933 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
5905 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 5934 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
5906 | #, c-format | 5935 | #, c-format |
5907 | msgid "" | 5936 | msgid "" |
5908 | "Error executing SQL query: %s\n" | 5937 | "Error executing SQL query: %s\n" |
@@ -5910,7 +5939,7 @@ msgid "" | |||
5910 | msgstr "" | 5939 | msgstr "" |
5911 | 5940 | ||
5912 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 5941 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
5913 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 5942 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
5914 | #, c-format | 5943 | #, c-format |
5915 | msgid "" | 5944 | msgid "" |
5916 | "Error preparing SQL query: %s\n" | 5945 | "Error preparing SQL query: %s\n" |
@@ -5967,43 +5996,48 @@ msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | |||
5967 | msgid "Failed to get master counters!\n" | 5996 | msgid "Failed to get master counters!\n" |
5968 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" | 5997 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" |
5969 | 5998 | ||
5970 | #: src/psycstore/gnunet-service-psycstore.c:645 | 5999 | #: src/psycstore/gnunet-service-psycstore.c:657 |
5971 | #, fuzzy | 6000 | #, fuzzy, c-format |
5972 | msgid "Failed to begin modifying state!\n" | 6001 | msgid "Failed to begin modifying state: %d\n" |
5973 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" | 6002 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" |
5974 | 6003 | ||
5975 | #: src/psycstore/gnunet-service-psycstore.c:656 | 6004 | #: src/psycstore/gnunet-service-psycstore.c:667 |
6005 | #, fuzzy, c-format | ||
6006 | msgid "Failed to modify state: %d\n" | ||
6007 | msgstr "Es konnte keine Verbindung mit gnunetd hergestellt werden.\n" | ||
6008 | |||
6009 | #: src/psycstore/gnunet-service-psycstore.c:675 | ||
5976 | #, fuzzy | 6010 | #, fuzzy |
5977 | msgid "Failed to end modifying state!\n" | 6011 | msgid "Failed to end modifying state!\n" |
5978 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | 6012 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" |
5979 | 6013 | ||
5980 | #: src/psycstore/gnunet-service-psycstore.c:686 | 6014 | #: src/psycstore/gnunet-service-psycstore.c:706 |
5981 | msgid "Tried to set invalid state variable name!\n" | 6015 | msgid "Tried to set invalid state variable name!\n" |
5982 | msgstr "" | 6016 | msgstr "" |
5983 | 6017 | ||
5984 | #: src/psycstore/gnunet-service-psycstore.c:700 | 6018 | #: src/psycstore/gnunet-service-psycstore.c:720 |
5985 | #, fuzzy | 6019 | #, fuzzy |
5986 | msgid "Failed to begin synchronizing state!\n" | 6020 | msgid "Failed to begin synchronizing state!\n" |
5987 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" | 6021 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" |
5988 | 6022 | ||
5989 | #: src/psycstore/gnunet-service-psycstore.c:717 | 6023 | #: src/psycstore/gnunet-service-psycstore.c:737 |
5990 | #, fuzzy | 6024 | #, fuzzy |
5991 | msgid "Failed to end synchronizing state!\n" | 6025 | msgid "Failed to end synchronizing state!\n" |
5992 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | 6026 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" |
5993 | 6027 | ||
5994 | #: src/psycstore/gnunet-service-psycstore.c:737 | 6028 | #: src/psycstore/gnunet-service-psycstore.c:757 |
5995 | #: src/psycstore/gnunet-service-psycstore.c:756 | 6029 | #: src/psycstore/gnunet-service-psycstore.c:776 |
5996 | #, fuzzy | 6030 | #, fuzzy |
5997 | msgid "Failed to reset state!\n" | 6031 | msgid "Failed to reset state!\n" |
5998 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" | 6032 | msgstr "Zustellung der Nachricht `%s' fehlgeschlagen.\n" |
5999 | 6033 | ||
6000 | #: src/psycstore/gnunet-service-psycstore.c:779 | 6034 | #: src/psycstore/gnunet-service-psycstore.c:799 |
6001 | #: src/psycstore/gnunet-service-psycstore.c:830 | 6035 | #: src/psycstore/gnunet-service-psycstore.c:850 |
6002 | msgid "Tried to get invalid state variable name!\n" | 6036 | msgid "Tried to get invalid state variable name!\n" |
6003 | msgstr "" | 6037 | msgstr "" |
6004 | 6038 | ||
6005 | #: src/psycstore/gnunet-service-psycstore.c:806 | 6039 | #: src/psycstore/gnunet-service-psycstore.c:826 |
6006 | #: src/psycstore/gnunet-service-psycstore.c:845 | 6040 | #: src/psycstore/gnunet-service-psycstore.c:865 |
6007 | #, fuzzy | 6041 | #, fuzzy |
6008 | msgid "Failed to get state variable!\n" | 6042 | msgid "Failed to get state variable!\n" |
6009 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" | 6043 | msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" |
@@ -6013,7 +6047,7 @@ msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n" | |||
6013 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 6047 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
6014 | msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n" | 6048 | msgstr "`%s' schlug bei %s:%d mit dem Fehler %s fehl\n" |
6015 | 6049 | ||
6016 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 6050 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
6017 | #, fuzzy | 6051 | #, fuzzy |
6018 | msgid "SQLite database running\n" | 6052 | msgid "SQLite database running\n" |
6019 | msgstr "SQL Datenbank beschädigt, Ergebnis wird ignoriert.\n" | 6053 | msgstr "SQL Datenbank beschädigt, Ergebnis wird ignoriert.\n" |
@@ -6275,36 +6309,36 @@ msgstr "" | |||
6275 | msgid "test if the public key KEY has been revoked" | 6309 | msgid "test if the public key KEY has been revoked" |
6276 | msgstr "" | 6310 | msgstr "" |
6277 | 6311 | ||
6278 | #: src/revocation/gnunet-service-revocation.c:427 | 6312 | #: src/revocation/gnunet-service-revocation.c:481 |
6279 | msgid "# unsupported revocations received via set union" | 6313 | msgid "# unsupported revocations received via set union" |
6280 | msgstr "" | 6314 | msgstr "" |
6281 | 6315 | ||
6282 | #: src/revocation/gnunet-service-revocation.c:436 | 6316 | #: src/revocation/gnunet-service-revocation.c:490 |
6283 | #, fuzzy | 6317 | #, fuzzy |
6284 | msgid "# revocation messages received via set union" | 6318 | msgid "# revocation messages received via set union" |
6285 | msgstr "# verschlüsselter PING Nachrichten empfangen" | 6319 | msgstr "# verschlüsselter PING Nachrichten empfangen" |
6286 | 6320 | ||
6287 | #: src/revocation/gnunet-service-revocation.c:441 | 6321 | #: src/revocation/gnunet-service-revocation.c:495 |
6288 | #, c-format | 6322 | #, c-format |
6289 | msgid "Error computing revocation set union with %s\n" | 6323 | msgid "Error computing revocation set union with %s\n" |
6290 | msgstr "" | 6324 | msgstr "" |
6291 | 6325 | ||
6292 | #: src/revocation/gnunet-service-revocation.c:445 | 6326 | #: src/revocation/gnunet-service-revocation.c:499 |
6293 | #, fuzzy | 6327 | #, fuzzy |
6294 | msgid "# revocation set unions failed" | 6328 | msgid "# revocation set unions failed" |
6295 | msgstr " Verbindung fehlgeschlagen\n" | 6329 | msgstr " Verbindung fehlgeschlagen\n" |
6296 | 6330 | ||
6297 | #: src/revocation/gnunet-service-revocation.c:454 | 6331 | #: src/revocation/gnunet-service-revocation.c:508 |
6298 | #, fuzzy | 6332 | #, fuzzy |
6299 | msgid "# revocation set unions completed" | 6333 | msgid "# revocation set unions completed" |
6300 | msgstr "# Klartext PONG Nachrichten empfangen" | 6334 | msgstr "# Klartext PONG Nachrichten empfangen" |
6301 | 6335 | ||
6302 | #: src/revocation/gnunet-service-revocation.c:493 | 6336 | #: src/revocation/gnunet-service-revocation.c:547 |
6303 | #: src/revocation/gnunet-service-revocation.c:759 | 6337 | #: src/revocation/gnunet-service-revocation.c:780 |
6304 | msgid "SET service crashed, terminating revocation service\n" | 6338 | msgid "SET service crashed, terminating revocation service\n" |
6305 | msgstr "" | 6339 | msgstr "" |
6306 | 6340 | ||
6307 | #: src/revocation/gnunet-service-revocation.c:851 | 6341 | #: src/revocation/gnunet-service-revocation.c:872 |
6308 | #, fuzzy | 6342 | #, fuzzy |
6309 | msgid "Could not open revocation database file!" | 6343 | msgid "Could not open revocation database file!" |
6310 | msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n" | 6344 | msgstr "Knoten `%s' konnte nicht in der Routing Tabelle gefunden werden!\n" |
@@ -6368,7 +6402,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6368 | msgstr "" | 6402 | msgstr "" |
6369 | 6403 | ||
6370 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6404 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6371 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6405 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6406 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6407 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6372 | #, fuzzy | 6408 | #, fuzzy |
6373 | msgid "Connect to CADET failed\n" | 6409 | msgid "Connect to CADET failed\n" |
6374 | msgstr " Verbindung fehlgeschlagen\n" | 6410 | msgstr " Verbindung fehlgeschlagen\n" |
@@ -6634,7 +6670,7 @@ msgstr "" | |||
6634 | msgid "Error loading sensor from file: %s\n" | 6670 | msgid "Error loading sensor from file: %s\n" |
6635 | msgstr "Fehler beim Lesen von »%s«: %s\n" | 6671 | msgstr "Fehler beim Lesen von »%s«: %s\n" |
6636 | 6672 | ||
6637 | #: src/set/gnunet-service-set.c:1531 | 6673 | #: src/set/gnunet-service-set.c:1960 |
6638 | #, fuzzy | 6674 | #, fuzzy |
6639 | msgid "Could not connect to cadet service\n" | 6675 | msgid "Could not connect to cadet service\n" |
6640 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" | 6676 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" |
@@ -6759,7 +6795,7 @@ msgstr "Statistiken der GNUnet-Aktivitäten ausgeben." | |||
6759 | msgid "Could not save some persistent statistics\n" | 6795 | msgid "Could not save some persistent statistics\n" |
6760 | msgstr "" | 6796 | msgstr "" |
6761 | 6797 | ||
6762 | #: src/statistics/statistics_api.c:1090 | 6798 | #: src/statistics/statistics_api.c:1088 |
6763 | msgid "" | 6799 | msgid "" |
6764 | "Failed to receive acknowledgement from statistics service, some statistics " | 6800 | "Failed to receive acknowledgement from statistics service, some statistics " |
6765 | "might have been lost!\n" | 6801 | "might have been lost!\n" |
@@ -8359,7 +8395,7 @@ msgstr "" | |||
8359 | msgid "# sessions allocated" | 8395 | msgid "# sessions allocated" |
8360 | msgstr "# Sitzungsschlüssel akzeptiert" | 8396 | msgstr "# Sitzungsschlüssel akzeptiert" |
8361 | 8397 | ||
8362 | #: src/transport/transport_api.c:812 | 8398 | #: src/transport/transport_api.c:827 |
8363 | #, fuzzy, c-format | 8399 | #, fuzzy, c-format |
8364 | msgid "Received unexpected message of type %u in %s:%u\n" | 8400 | msgid "Received unexpected message of type %u in %s:%u\n" |
8365 | msgstr "Es wurde eine unbekannte Testbed Nachricht des Typs %u empfangen.\n" | 8401 | msgstr "Es wurde eine unbekannte Testbed Nachricht des Typs %u empfangen.\n" |
@@ -8403,34 +8439,34 @@ msgstr "" | |||
8403 | msgid "Metadata `%s' failed to deserialize" | 8439 | msgid "Metadata `%s' failed to deserialize" |
8404 | msgstr "" | 8440 | msgstr "" |
8405 | 8441 | ||
8406 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8442 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8407 | #, c-format | 8443 | #, c-format |
8408 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8444 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8409 | msgstr "" | 8445 | msgstr "" |
8410 | 8446 | ||
8411 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8447 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8412 | #, c-format | 8448 | #, c-format |
8413 | msgid "Using `%s' instead\n" | 8449 | msgid "Using `%s' instead\n" |
8414 | msgstr "" | 8450 | msgstr "" |
8415 | 8451 | ||
8416 | #: src/util/client.c:362 | 8452 | #: src/util/client.c:367 |
8417 | #, c-format | 8453 | #, c-format |
8418 | msgid "" | 8454 | msgid "" |
8419 | "Could not determine valid hostname and port for service `%s' from " | 8455 | "Could not determine valid hostname and port for service `%s' from " |
8420 | "configuration.\n" | 8456 | "configuration.\n" |
8421 | msgstr "" | 8457 | msgstr "" |
8422 | 8458 | ||
8423 | #: src/util/client.c:370 | 8459 | #: src/util/client.c:375 |
8424 | #, c-format | 8460 | #, c-format |
8425 | msgid "Need a non-empty hostname for service `%s'.\n" | 8461 | msgid "Need a non-empty hostname for service `%s'.\n" |
8426 | msgstr "" | 8462 | msgstr "" |
8427 | 8463 | ||
8428 | #: src/util/client.c:1039 | 8464 | #: src/util/client.c:1044 |
8429 | #, fuzzy, c-format | 8465 | #, fuzzy, c-format |
8430 | msgid "Could not connect to service `%s', configuration broken.\n" | 8466 | msgid "Could not connect to service `%s', configuration broken.\n" |
8431 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" | 8467 | msgstr "Verbindung zu gnunetd konnte nicht hergestellt werden.\n" |
8432 | 8468 | ||
8433 | #: src/util/client.c:1051 | 8469 | #: src/util/client.c:1056 |
8434 | #, fuzzy, c-format | 8470 | #, fuzzy, c-format |
8435 | msgid "Failure to transmit request to service `%s'\n" | 8471 | msgid "Failure to transmit request to service `%s'\n" |
8436 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" | 8472 | msgstr "Fehler beim Senden einer `%s' Anfrage an den SMTP Server.\n" |
@@ -8516,12 +8552,12 @@ msgid "" | |||
8516 | "as an environmental variable\n" | 8552 | "as an environmental variable\n" |
8517 | msgstr "" | 8553 | msgstr "" |
8518 | 8554 | ||
8519 | #: src/util/connection.c:424 | 8555 | #: src/util/connection.c:429 |
8520 | #, c-format | 8556 | #, c-format |
8521 | msgid "Access denied to `%s'\n" | 8557 | msgid "Access denied to `%s'\n" |
8522 | msgstr "Zugriff verweigert auf »%s«\n" | 8558 | msgstr "Zugriff verweigert auf »%s«\n" |
8523 | 8559 | ||
8524 | #: src/util/connection.c:441 | 8560 | #: src/util/connection.c:446 |
8525 | #, c-format | 8561 | #, c-format |
8526 | msgid "Accepting connection from `%s': %p\n" | 8562 | msgid "Accepting connection from `%s': %p\n" |
8527 | msgstr "" | 8563 | msgstr "" |
@@ -8589,17 +8625,17 @@ msgid "libgcrypt has not the expected version (version %s is required).\n" | |||
8589 | msgstr "" | 8625 | msgstr "" |
8590 | "libgcrypt hat nicht die erwartete Version (Version %s wird vorausgesetzt).\n" | 8626 | "libgcrypt hat nicht die erwartete Version (Version %s wird vorausgesetzt).\n" |
8591 | 8627 | ||
8592 | #: src/util/crypto_rsa.c:981 | 8628 | #: src/util/crypto_rsa.c:999 |
8593 | #, fuzzy, c-format | 8629 | #, fuzzy, c-format |
8594 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8630 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8595 | msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n" | 8631 | msgstr "RSA Signaturüberprüfung fehlgeschlagen bei %s:%d: %s\n" |
8596 | 8632 | ||
8597 | #: src/util/disk.c:1221 | 8633 | #: src/util/disk.c:1226 |
8598 | #, fuzzy, c-format | 8634 | #, fuzzy, c-format |
8599 | msgid "Expected `%s' to be a directory!\n" | 8635 | msgid "Expected `%s' to be a directory!\n" |
8600 | msgstr "`%s' erwartet, dass `%s' ein Verzeichnis ist!\n" | 8636 | msgstr "`%s' erwartet, dass `%s' ein Verzeichnis ist!\n" |
8601 | 8637 | ||
8602 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8638 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8603 | #, fuzzy, c-format | 8639 | #, fuzzy, c-format |
8604 | msgid "Cannot obtain information about user `%s': %s\n" | 8640 | msgid "Cannot obtain information about user `%s': %s\n" |
8605 | msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n" | 8641 | msgstr "Fehler beim Speichern der Konfigurationsdatei: `%s': %s.\n" |
@@ -9100,6 +9136,16 @@ msgstr "" | |||
9100 | msgid "signal (%d, %p) returned %d.\n" | 9136 | msgid "signal (%d, %p) returned %d.\n" |
9101 | msgstr "Aufruf von `%s' gibt %d zurück.\n" | 9137 | msgstr "Aufruf von `%s' gibt %d zurück.\n" |
9102 | 9138 | ||
9139 | #: src/util/socks.c:592 | ||
9140 | #, c-format | ||
9141 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
9142 | msgstr "" | ||
9143 | |||
9144 | #: src/util/socks.c:605 | ||
9145 | #, c-format | ||
9146 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
9147 | msgstr "" | ||
9148 | |||
9103 | #: src/util/strings.c:146 | 9149 | #: src/util/strings.c:146 |
9104 | msgid "b" | 9150 | msgid "b" |
9105 | msgstr "b" | 9151 | msgstr "b" |
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: gnunet 0.9.5a\n" | 8 | "Project-Id-Version: gnunet 0.9.5a\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 10 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
11 | "PO-Revision-Date: 2013-02-23 17:50+0100\n" | 11 | "PO-Revision-Date: 2013-02-23 17:50+0100\n" |
12 | "Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n" | 12 | "Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n" |
13 | "Language-Team: Spanish <es@li.org>\n" | 13 | "Language-Team: Spanish <es@li.org>\n" |
@@ -378,14 +378,12 @@ msgstr "" | |||
378 | "No hay configurada una cuota de salida para la red «%s», asignando el ancho " | 378 | "No hay configurada una cuota de salida para la red «%s», asignando el ancho " |
379 | "de banda predeterminado %llu\n" | 379 | "de banda predeterminado %llu\n" |
380 | 380 | ||
381 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 381 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
382 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
383 | #, fuzzy | 382 | #, fuzzy |
384 | msgid "solver to use" | 383 | msgid "solver to use" |
385 | msgstr "valor a establecer" | 384 | msgstr "valor a establecer" |
386 | 385 | ||
387 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 386 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
388 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
389 | #: src/ats-tests/gnunet-solver-eval.c:924 | 387 | #: src/ats-tests/gnunet-solver-eval.c:924 |
390 | msgid "experiment to use" | 388 | msgid "experiment to use" |
391 | msgstr "" | 389 | msgstr "" |
@@ -694,57 +692,57 @@ msgstr "salida prolija (incluye las propiedades de direcciones del ATS)" | |||
694 | msgid "Print information about ATS state" | 692 | msgid "Print information about ATS state" |
695 | msgstr "Imprime información acerca del estado del ATS" | 693 | msgstr "Imprime información acerca del estado del ATS" |
696 | 694 | ||
697 | #: src/cadet/gnunet-cadet.c:376 | 695 | #: src/cadet/gnunet-cadet.c:458 |
698 | #, fuzzy, c-format | 696 | #, fuzzy, c-format |
699 | msgid "Invalid target `%s'\n" | 697 | msgid "Invalid target `%s'\n" |
700 | msgstr "Parámetro no válido «%s»\n" | 698 | msgstr "Parámetro no válido «%s»\n" |
701 | 699 | ||
702 | #: src/cadet/gnunet-cadet.c:643 | 700 | #: src/cadet/gnunet-cadet.c:735 |
703 | #, fuzzy, c-format | 701 | #, fuzzy, c-format |
704 | msgid "Invalid peer ID `%s'\n" | 702 | msgid "Invalid peer ID `%s'\n" |
705 | msgstr "URI no válida: «%s»\n" | 703 | msgstr "URI no válida: «%s»\n" |
706 | 704 | ||
707 | #: src/cadet/gnunet-cadet.c:686 | 705 | #: src/cadet/gnunet-cadet.c:778 |
708 | #, fuzzy, c-format | 706 | #, fuzzy, c-format |
709 | msgid "Invalid tunnel owner `%s'\n" | 707 | msgid "Invalid tunnel owner `%s'\n" |
710 | msgstr "Formato de tiempo no válido «%s»\n" | 708 | msgstr "Formato de tiempo no válido «%s»\n" |
711 | 709 | ||
712 | #: src/cadet/gnunet-cadet.c:752 | 710 | #: src/cadet/gnunet-cadet.c:844 |
713 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 711 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
714 | msgstr "" | 712 | msgstr "" |
715 | 713 | ||
716 | #: src/cadet/gnunet-cadet.c:849 | 714 | #: src/cadet/gnunet-cadet.c:941 |
717 | #, fuzzy | 715 | #, fuzzy |
718 | msgid "provide information about a particular connection" | 716 | msgid "provide information about a particular connection" |
719 | msgstr "proveer información acerca de un túnel en particular" | 717 | msgstr "proveer información acerca de un túnel en particular" |
720 | 718 | ||
721 | #: src/cadet/gnunet-cadet.c:852 | 719 | #: src/cadet/gnunet-cadet.c:944 |
722 | msgid "activate echo mode" | 720 | msgid "activate echo mode" |
723 | msgstr "" | 721 | msgstr "" |
724 | 722 | ||
725 | #: src/cadet/gnunet-cadet.c:855 | 723 | #: src/cadet/gnunet-cadet.c:947 |
726 | msgid "dump debug information to STDERR" | 724 | msgid "dump debug information to STDERR" |
727 | msgstr "" | 725 | msgstr "" |
728 | 726 | ||
729 | #: src/cadet/gnunet-cadet.c:861 | 727 | #: src/cadet/gnunet-cadet.c:953 |
730 | msgid "port to listen to (default; 0)" | 728 | msgid "port to listen to (default; 0)" |
731 | msgstr "" | 729 | msgstr "" |
732 | 730 | ||
733 | #: src/cadet/gnunet-cadet.c:864 | 731 | #: src/cadet/gnunet-cadet.c:956 |
734 | #, fuzzy | 732 | #, fuzzy |
735 | msgid "provide information about a patricular peer" | 733 | msgid "provide information about a patricular peer" |
736 | msgstr "proveer información acerca de un túnel en particular" | 734 | msgstr "proveer información acerca de un túnel en particular" |
737 | 735 | ||
738 | #: src/cadet/gnunet-cadet.c:867 | 736 | #: src/cadet/gnunet-cadet.c:959 |
739 | #, fuzzy | 737 | #, fuzzy |
740 | msgid "provide information about all peers" | 738 | msgid "provide information about all peers" |
741 | msgstr "proveer información acerca de un túnel en particular" | 739 | msgstr "proveer información acerca de un túnel en particular" |
742 | 740 | ||
743 | #: src/cadet/gnunet-cadet.c:870 | 741 | #: src/cadet/gnunet-cadet.c:962 |
744 | msgid "provide information about a particular tunnel" | 742 | msgid "provide information about a particular tunnel" |
745 | msgstr "proveer información acerca de un túnel en particular" | 743 | msgstr "proveer información acerca de un túnel en particular" |
746 | 744 | ||
747 | #: src/cadet/gnunet-cadet.c:873 | 745 | #: src/cadet/gnunet-cadet.c:965 |
748 | #, fuzzy | 746 | #, fuzzy |
749 | msgid "provide information about all tunnels" | 747 | msgid "provide information about all tunnels" |
750 | msgstr "proveer información acerca de un túnel en particular" | 748 | msgstr "proveer información acerca de un túnel en particular" |
@@ -1481,20 +1479,20 @@ msgstr "# bytes de «payload» descifrados" | |||
1481 | msgid "# PAYLOAD dropped (out of order)" | 1479 | msgid "# PAYLOAD dropped (out of order)" |
1482 | msgstr "# bytes omitidos (fuera de secuencia)" | 1480 | msgstr "# bytes omitidos (fuera de secuencia)" |
1483 | 1481 | ||
1484 | #: src/core/gnunet-service-core_neighbours.c:177 | 1482 | #: src/core/gnunet-service-core_neighbours.c:178 |
1485 | msgid "# sessions terminated by transport disconnect" | 1483 | msgid "# sessions terminated by transport disconnect" |
1486 | msgstr "# sesiones terminadas por desconexión de transporte" | 1484 | msgstr "# sesiones terminadas por desconexión de transporte" |
1487 | 1485 | ||
1488 | #: src/core/gnunet-service-core_neighbours.c:193 | 1486 | #: src/core/gnunet-service-core_neighbours.c:194 |
1489 | #: src/core/gnunet-service-core_neighbours.c:355 | 1487 | #: src/core/gnunet-service-core_neighbours.c:362 |
1490 | msgid "# neighbour entries allocated" | 1488 | msgid "# neighbour entries allocated" |
1491 | msgstr "# entradas de vecinos alojadas" | 1489 | msgstr "# entradas de vecinos alojadas" |
1492 | 1490 | ||
1493 | #: src/core/gnunet-service-core_neighbours.c:264 | 1491 | #: src/core/gnunet-service-core_neighbours.c:270 |
1494 | msgid "# encrypted bytes given to transport" | 1492 | msgid "# encrypted bytes given to transport" |
1495 | msgstr "# bytes cifrados dados al transporte" | 1493 | msgstr "# bytes cifrados dados al transporte" |
1496 | 1494 | ||
1497 | #: src/core/gnunet-service-core_neighbours.c:438 | 1495 | #: src/core/gnunet-service-core_neighbours.c:448 |
1498 | #, c-format | 1496 | #, c-format |
1499 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1497 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1500 | msgstr "Mensaje no soportado del tipo %u (%u bytes) recibido del par «%s»\n" | 1498 | msgstr "Mensaje no soportado del tipo %u (%u bytes) recibido del par «%s»\n" |
@@ -1539,7 +1537,7 @@ msgid "# updates to my type map" | |||
1539 | msgstr "# actualizaciones de mi mapa de tipos" | 1537 | msgstr "# actualizaciones de mi mapa de tipos" |
1540 | 1538 | ||
1541 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1539 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1542 | #: src/datastore/gnunet-service-datastore.c:853 | 1540 | #: src/datastore/gnunet-service-datastore.c:866 |
1543 | msgid "# bytes stored" | 1541 | msgid "# bytes stored" |
1544 | msgstr "# bytes almacenados" | 1542 | msgstr "# bytes almacenados" |
1545 | 1543 | ||
@@ -1620,85 +1618,85 @@ msgstr "" | |||
1620 | "Se produjo un fallo al transmitir la petición de eliminación a la base de " | 1618 | "Se produjo un fallo al transmitir la petición de eliminación a la base de " |
1621 | "datos.\n" | 1619 | "datos.\n" |
1622 | 1620 | ||
1623 | #: src/datastore/datastore_api.c:394 | 1621 | #: src/datastore/datastore_api.c:395 |
1624 | msgid "# queue entry timeouts" | 1622 | msgid "# queue entry timeouts" |
1625 | msgstr "# expiraciones de plazo en la cola de entradas" | 1623 | msgstr "# expiraciones de plazo en la cola de entradas" |
1626 | 1624 | ||
1627 | #: src/datastore/datastore_api.c:443 | 1625 | #: src/datastore/datastore_api.c:450 |
1628 | msgid "# queue overflows" | 1626 | msgid "# queue overflows" |
1629 | msgstr "# desbordamientos de la cola" | 1627 | msgstr "# desbordamientos de la cola" |
1630 | 1628 | ||
1631 | #: src/datastore/datastore_api.c:471 | 1629 | #: src/datastore/datastore_api.c:478 |
1632 | msgid "# queue entries created" | 1630 | msgid "# queue entries created" |
1633 | msgstr "# entradas creadas en la cola" | 1631 | msgstr "# entradas creadas en la cola" |
1634 | 1632 | ||
1635 | #: src/datastore/datastore_api.c:491 | 1633 | #: src/datastore/datastore_api.c:498 |
1636 | msgid "# Requests dropped from datastore queue" | 1634 | msgid "# Requests dropped from datastore queue" |
1637 | msgstr "# Peticiones omitidas de la cola del almacén de datos" | 1635 | msgstr "# Peticiones omitidas de la cola del almacén de datos" |
1638 | 1636 | ||
1639 | #: src/datastore/datastore_api.c:533 | 1637 | #: src/datastore/datastore_api.c:540 |
1640 | msgid "# datastore connections (re)created" | 1638 | msgid "# datastore connections (re)created" |
1641 | msgstr "# conexiones a almacenes de datos (re)creadas" | 1639 | msgstr "# conexiones a almacenes de datos (re)creadas" |
1642 | 1640 | ||
1643 | #: src/datastore/datastore_api.c:621 | 1641 | #: src/datastore/datastore_api.c:628 |
1644 | msgid "# transmission request failures" | 1642 | msgid "# transmission request failures" |
1645 | msgstr "# fallos en peticiones de transmisión" | 1643 | msgstr "# fallos en peticiones de transmisión" |
1646 | 1644 | ||
1647 | #: src/datastore/datastore_api.c:645 | 1645 | #: src/datastore/datastore_api.c:652 |
1648 | msgid "# bytes sent to datastore" | 1646 | msgid "# bytes sent to datastore" |
1649 | msgstr "# bytes mandados al almacén de datos" | 1647 | msgstr "# bytes mandados al almacén de datos" |
1650 | 1648 | ||
1651 | #: src/datastore/datastore_api.c:787 | 1649 | #: src/datastore/datastore_api.c:794 |
1652 | msgid "Failed to receive status response from database." | 1650 | msgid "Failed to receive status response from database." |
1653 | msgstr "" | 1651 | msgstr "" |
1654 | "Se produjo un fallo al recibir el estado de respuesta de la base de datos." | 1652 | "Se produjo un fallo al recibir el estado de respuesta de la base de datos." |
1655 | 1653 | ||
1656 | #: src/datastore/datastore_api.c:801 | 1654 | #: src/datastore/datastore_api.c:808 |
1657 | msgid "Error reading response from datastore service" | 1655 | msgid "Error reading response from datastore service" |
1658 | msgstr "Error leyendo respuesta del servicio de almacenamiento de datos" | 1656 | msgstr "Error leyendo respuesta del servicio de almacenamiento de datos" |
1659 | 1657 | ||
1660 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1658 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1661 | msgid "Invalid error message received from datastore service" | 1659 | msgid "Invalid error message received from datastore service" |
1662 | msgstr "" | 1660 | msgstr "" |
1663 | "Mensaje de error no válido recibido del servicio de almacenamiento de datos" | 1661 | "Mensaje de error no válido recibido del servicio de almacenamiento de datos" |
1664 | 1662 | ||
1665 | #: src/datastore/datastore_api.c:823 | 1663 | #: src/datastore/datastore_api.c:830 |
1666 | msgid "# status messages received" | 1664 | msgid "# status messages received" |
1667 | msgstr "# mensajes de estado recibidos" | 1665 | msgstr "# mensajes de estado recibidos" |
1668 | 1666 | ||
1669 | #: src/datastore/datastore_api.c:893 | 1667 | #: src/datastore/datastore_api.c:909 |
1670 | msgid "# PUT requests executed" | 1668 | msgid "# PUT requests executed" |
1671 | msgstr "# peticiones «PUT» ejecutadas" | 1669 | msgstr "# peticiones «PUT» ejecutadas" |
1672 | 1670 | ||
1673 | #: src/datastore/datastore_api.c:959 | 1671 | #: src/datastore/datastore_api.c:975 |
1674 | msgid "# RESERVE requests executed" | 1672 | msgid "# RESERVE requests executed" |
1675 | msgstr "# peticiones «RESERVE» ejecutadas" | 1673 | msgstr "# peticiones «RESERVE» ejecutadas" |
1676 | 1674 | ||
1677 | #: src/datastore/datastore_api.c:1020 | 1675 | #: src/datastore/datastore_api.c:1036 |
1678 | msgid "# RELEASE RESERVE requests executed" | 1676 | msgid "# RELEASE RESERVE requests executed" |
1679 | msgstr "# Peticiones «RELEASE RESERVE» ejecutadas" | 1677 | msgstr "# Peticiones «RELEASE RESERVE» ejecutadas" |
1680 | 1678 | ||
1681 | #: src/datastore/datastore_api.c:1080 | 1679 | #: src/datastore/datastore_api.c:1096 |
1682 | msgid "# UPDATE requests executed" | 1680 | msgid "# UPDATE requests executed" |
1683 | msgstr "# peticiones «UPDATE» ejecutadas" | 1681 | msgstr "# peticiones «UPDATE» ejecutadas" |
1684 | 1682 | ||
1685 | #: src/datastore/datastore_api.c:1144 | 1683 | #: src/datastore/datastore_api.c:1160 |
1686 | msgid "# REMOVE requests executed" | 1684 | msgid "# REMOVE requests executed" |
1687 | msgstr "# peticiones «REMOVE» ejecutadas" | 1685 | msgstr "# peticiones «REMOVE» ejecutadas" |
1688 | 1686 | ||
1689 | #: src/datastore/datastore_api.c:1248 | 1687 | #: src/datastore/datastore_api.c:1264 |
1690 | msgid "# Results received" | 1688 | msgid "# Results received" |
1691 | msgstr "# Resultados recibidos" | 1689 | msgstr "# Resultados recibidos" |
1692 | 1690 | ||
1693 | #: src/datastore/datastore_api.c:1315 | 1691 | #: src/datastore/datastore_api.c:1331 |
1694 | msgid "# GET REPLICATION requests executed" | 1692 | msgid "# GET REPLICATION requests executed" |
1695 | msgstr "# peticiones «GET REPLICATION» ejecutadas" | 1693 | msgstr "# peticiones «GET REPLICATION» ejecutadas" |
1696 | 1694 | ||
1697 | #: src/datastore/datastore_api.c:1378 | 1695 | #: src/datastore/datastore_api.c:1394 |
1698 | msgid "# GET ZERO ANONYMITY requests executed" | 1696 | msgid "# GET ZERO ANONYMITY requests executed" |
1699 | msgstr "# peticiones «GET ZERO ANONYMITY» ejecutadas" | 1697 | msgstr "# peticiones «GET ZERO ANONYMITY» ejecutadas" |
1700 | 1698 | ||
1701 | #: src/datastore/datastore_api.c:1447 | 1699 | #: src/datastore/datastore_api.c:1463 |
1702 | msgid "# GET requests executed" | 1700 | msgid "# GET requests executed" |
1703 | msgstr "# peticiones «GET» ejecutadas" | 1701 | msgstr "# peticiones «GET» ejecutadas" |
1704 | 1702 | ||
@@ -1723,29 +1721,29 @@ msgstr "" | |||
1723 | msgid "Manipulate GNUnet datastore" | 1721 | msgid "Manipulate GNUnet datastore" |
1724 | msgstr "Manipular ficheros de configuración de GNUnet" | 1722 | msgstr "Manipular ficheros de configuración de GNUnet" |
1725 | 1723 | ||
1726 | #: src/datastore/gnunet-service-datastore.c:365 | 1724 | #: src/datastore/gnunet-service-datastore.c:372 |
1727 | msgid "# bytes expired" | 1725 | msgid "# bytes expired" |
1728 | msgstr "# bytes expirados" | 1726 | msgstr "# bytes expirados" |
1729 | 1727 | ||
1730 | #: src/datastore/gnunet-service-datastore.c:439 | 1728 | #: src/datastore/gnunet-service-datastore.c:447 |
1731 | msgid "# bytes purged (low-priority)" | 1729 | msgid "# bytes purged (low-priority)" |
1732 | msgstr "# bytes purgados (baja prioridad)" | 1730 | msgstr "# bytes purgados (baja prioridad)" |
1733 | 1731 | ||
1734 | #: src/datastore/gnunet-service-datastore.c:497 | 1732 | #: src/datastore/gnunet-service-datastore.c:505 |
1735 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1733 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1736 | msgid "Transmission to client failed!\n" | 1734 | msgid "Transmission to client failed!\n" |
1737 | msgstr "¡La transmisión con el cliente ha fallado!\n" | 1735 | msgstr "¡La transmisión con el cliente ha fallado!\n" |
1738 | 1736 | ||
1739 | #: src/datastore/gnunet-service-datastore.c:528 | 1737 | #: src/datastore/gnunet-service-datastore.c:536 |
1740 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1738 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1741 | msgid "Shutdown in progress, aborting transmission.\n" | 1739 | msgid "Shutdown in progress, aborting transmission.\n" |
1742 | msgstr "Apagado en proceso, abortando transmisión.\n" | 1740 | msgstr "Apagado en proceso, abortando transmisión.\n" |
1743 | 1741 | ||
1744 | #: src/datastore/gnunet-service-datastore.c:643 | 1742 | #: src/datastore/gnunet-service-datastore.c:652 |
1745 | msgid "# results found" | 1743 | msgid "# results found" |
1746 | msgstr "# resultados encontrados" | 1744 | msgstr "# resultados encontrados" |
1747 | 1745 | ||
1748 | #: src/datastore/gnunet-service-datastore.c:686 | 1746 | #: src/datastore/gnunet-service-datastore.c:696 |
1749 | #, c-format | 1747 | #, c-format |
1750 | msgid "" | 1748 | msgid "" |
1751 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1749 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
@@ -1754,7 +1752,7 @@ msgstr "" | |||
1754 | "Espacio insuficiente (%llu bytes están disponibles) para satisfacer la " | 1752 | "Espacio insuficiente (%llu bytes están disponibles) para satisfacer la " |
1755 | "petición «%s» de %llu bytes\n" | 1753 | "petición «%s» de %llu bytes\n" |
1756 | 1754 | ||
1757 | #: src/datastore/gnunet-service-datastore.c:697 | 1755 | #: src/datastore/gnunet-service-datastore.c:707 |
1758 | #, c-format | 1756 | #, c-format |
1759 | msgid "" | 1757 | msgid "" |
1760 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1758 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
@@ -1763,7 +1761,7 @@ msgstr "" | |||
1763 | "La cantidad solicitada (%llu bytes) es mayor que el tamaño de la caché (%llu " | 1761 | "La cantidad solicitada (%llu bytes) es mayor que el tamaño de la caché (%llu " |
1764 | "bytes)\n" | 1762 | "bytes)\n" |
1765 | 1763 | ||
1766 | #: src/datastore/gnunet-service-datastore.c:701 | 1764 | #: src/datastore/gnunet-service-datastore.c:711 |
1767 | msgid "" | 1765 | msgid "" |
1768 | "Insufficient space to satisfy request and requested amount is larger than " | 1766 | "Insufficient space to satisfy request and requested amount is larger than " |
1769 | "cache size" | 1767 | "cache size" |
@@ -1771,61 +1769,61 @@ msgstr "" | |||
1771 | "Espacio insuficiente para satisfacer la petición y la cantidad pedida es " | 1769 | "Espacio insuficiente para satisfacer la petición y la cantidad pedida es " |
1772 | "mayor que el tamaño de la caché" | 1770 | "mayor que el tamaño de la caché" |
1773 | 1771 | ||
1774 | #: src/datastore/gnunet-service-datastore.c:707 | 1772 | #: src/datastore/gnunet-service-datastore.c:717 |
1775 | msgid "Insufficient space to satisfy request" | 1773 | msgid "Insufficient space to satisfy request" |
1776 | msgstr "Espacio insuficiente para satisfacer la petición" | 1774 | msgstr "Espacio insuficiente para satisfacer la petición" |
1777 | 1775 | ||
1778 | #: src/datastore/gnunet-service-datastore.c:712 | 1776 | #: src/datastore/gnunet-service-datastore.c:723 |
1779 | #: src/datastore/gnunet-service-datastore.c:767 | 1777 | #: src/datastore/gnunet-service-datastore.c:779 |
1780 | #: src/datastore/gnunet-service-datastore.c:1019 | 1778 | #: src/datastore/gnunet-service-datastore.c:1035 |
1781 | #: src/datastore/gnunet-service-datastore.c:1597 | 1779 | #: src/datastore/gnunet-service-datastore.c:1630 |
1782 | msgid "# reserved" | 1780 | msgid "# reserved" |
1783 | msgstr "# reservado" | 1781 | msgstr "# reservado" |
1784 | 1782 | ||
1785 | #: src/datastore/gnunet-service-datastore.c:780 | 1783 | #: src/datastore/gnunet-service-datastore.c:793 |
1786 | msgid "Could not find matching reservation" | 1784 | msgid "Could not find matching reservation" |
1787 | msgstr "No se pudo encontrar una reserva coincidente" | 1785 | msgstr "No se pudo encontrar una reserva coincidente" |
1788 | 1786 | ||
1789 | #: src/datastore/gnunet-service-datastore.c:865 | 1787 | #: src/datastore/gnunet-service-datastore.c:879 |
1790 | #, c-format | 1788 | #, c-format |
1791 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1789 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1792 | msgstr "" | 1790 | msgstr "" |
1793 | "Se necesitan %llu bytes más de espacio (%llu permitidos, usando %llu)\n" | 1791 | "Se necesitan %llu bytes más de espacio (%llu permitidos, usando %llu)\n" |
1794 | 1792 | ||
1795 | #: src/datastore/gnunet-service-datastore.c:1071 | 1793 | #: src/datastore/gnunet-service-datastore.c:1088 |
1796 | msgid "# GET requests received" | 1794 | msgid "# GET requests received" |
1797 | msgstr "# peticiones «GET» recibidas" | 1795 | msgstr "# peticiones «GET» recibidas" |
1798 | 1796 | ||
1799 | #: src/datastore/gnunet-service-datastore.c:1083 | 1797 | #: src/datastore/gnunet-service-datastore.c:1101 |
1800 | msgid "# requests filtered by bloomfilter" | 1798 | msgid "# requests filtered by bloomfilter" |
1801 | msgstr "# peticiones filtradas por el «bloomfilter»" | 1799 | msgstr "# peticiones filtradas por el «bloomfilter»" |
1802 | 1800 | ||
1803 | #: src/datastore/gnunet-service-datastore.c:1121 | 1801 | #: src/datastore/gnunet-service-datastore.c:1141 |
1804 | msgid "# UPDATE requests received" | 1802 | msgid "# UPDATE requests received" |
1805 | msgstr "# peticiones «UPDATE» recibidas" | 1803 | msgstr "# peticiones «UPDATE» recibidas" |
1806 | 1804 | ||
1807 | #: src/datastore/gnunet-service-datastore.c:1149 | 1805 | #: src/datastore/gnunet-service-datastore.c:1170 |
1808 | msgid "# GET REPLICATION requests received" | 1806 | msgid "# GET REPLICATION requests received" |
1809 | msgstr "# peticiones «GET REPLICATION» recibidas" | 1807 | msgstr "# peticiones «GET REPLICATION» recibidas" |
1810 | 1808 | ||
1811 | #: src/datastore/gnunet-service-datastore.c:1182 | 1809 | #: src/datastore/gnunet-service-datastore.c:1204 |
1812 | msgid "# GET ZERO ANONYMITY requests received" | 1810 | msgid "# GET ZERO ANONYMITY requests received" |
1813 | msgstr "# peticiones «GET ZERO ANONYMITY» recibidas" | 1811 | msgstr "# peticiones «GET ZERO ANONYMITY» recibidas" |
1814 | 1812 | ||
1815 | #: src/datastore/gnunet-service-datastore.c:1207 | 1813 | #: src/datastore/gnunet-service-datastore.c:1233 |
1816 | msgid "Content not found" | 1814 | msgid "Content not found" |
1817 | msgstr "Contenido no encontrado" | 1815 | msgstr "Contenido no encontrado" |
1818 | 1816 | ||
1819 | #: src/datastore/gnunet-service-datastore.c:1215 | 1817 | #: src/datastore/gnunet-service-datastore.c:1244 |
1820 | msgid "# bytes removed (explicit request)" | 1818 | msgid "# bytes removed (explicit request)" |
1821 | msgstr "# bytes eliminados (petición explícita)" | 1819 | msgstr "# bytes eliminados (petición explícita)" |
1822 | 1820 | ||
1823 | #: src/datastore/gnunet-service-datastore.c:1247 | 1821 | #: src/datastore/gnunet-service-datastore.c:1277 |
1824 | msgid "# REMOVE requests received" | 1822 | msgid "# REMOVE requests received" |
1825 | msgstr "# peticiones «REMOVE» recibidas" | 1823 | msgstr "# peticiones «REMOVE» recibidas" |
1826 | 1824 | ||
1827 | # Miguel: ¿Cómo traducir «payload»? ¿Código cargado? | 1825 | # Miguel: ¿Cómo traducir «payload»? ¿Código cargado? |
1828 | #: src/datastore/gnunet-service-datastore.c:1291 | 1826 | #: src/datastore/gnunet-service-datastore.c:1321 |
1829 | #, fuzzy, c-format | 1827 | #, fuzzy, c-format |
1830 | msgid "" | 1828 | msgid "" |
1831 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1829 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
@@ -1833,69 +1831,69 @@ msgstr "" | |||
1833 | "El «payload» del almacén de datos es impreciso (%lld < %lld). Intentando " | 1831 | "El «payload» del almacén de datos es impreciso (%lld < %lld). Intentando " |
1834 | "repararlo.\n" | 1832 | "repararlo.\n" |
1835 | 1833 | ||
1836 | #: src/datastore/gnunet-service-datastore.c:1296 | 1834 | #: src/datastore/gnunet-service-datastore.c:1326 |
1837 | #, c-format | 1835 | #, c-format |
1838 | msgid "New payload: %lld\n" | 1836 | msgid "New payload: %lld\n" |
1839 | msgstr "" | 1837 | msgstr "" |
1840 | 1838 | ||
1841 | #: src/datastore/gnunet-service-datastore.c:1349 | 1839 | #: src/datastore/gnunet-service-datastore.c:1379 |
1842 | #, c-format | 1840 | #, c-format |
1843 | msgid "Loading `%s' datastore plugin\n" | 1841 | msgid "Loading `%s' datastore plugin\n" |
1844 | msgstr "Cargando el módulo del almacén de datos «%s»\n" | 1842 | msgstr "Cargando el módulo del almacén de datos «%s»\n" |
1845 | 1843 | ||
1846 | #: src/datastore/gnunet-service-datastore.c:1360 | 1844 | #: src/datastore/gnunet-service-datastore.c:1390 |
1847 | #, c-format | 1845 | #, c-format |
1848 | msgid "Failed to load datastore plugin for `%s'\n" | 1846 | msgid "Failed to load datastore plugin for `%s'\n" |
1849 | msgstr "" | 1847 | msgstr "" |
1850 | "Se produjo un fallo al inicializar el módulo del almacén de datos para «%s»\n" | 1848 | "Se produjo un fallo al inicializar el módulo del almacén de datos para «%s»\n" |
1851 | 1849 | ||
1852 | #: src/datastore/gnunet-service-datastore.c:1429 | 1850 | #: src/datastore/gnunet-service-datastore.c:1459 |
1853 | #: src/datastore/gnunet-service-datastore.c:1490 | 1851 | #: src/datastore/gnunet-service-datastore.c:1522 |
1854 | msgid "Bloomfilter construction complete.\n" | 1852 | msgid "Bloomfilter construction complete.\n" |
1855 | msgstr "Construcción de «bloomfilter» completa.\n" | 1853 | msgstr "Construcción de «bloomfilter» completa.\n" |
1856 | 1854 | ||
1857 | #: src/datastore/gnunet-service-datastore.c:1477 | 1855 | #: src/datastore/gnunet-service-datastore.c:1509 |
1858 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1856 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1859 | msgstr "Reconstruyendo «bloomfilter». Por favor, tenga paciencia.\n" | 1857 | msgstr "Reconstruyendo «bloomfilter». Por favor, tenga paciencia.\n" |
1860 | 1858 | ||
1861 | #: src/datastore/gnunet-service-datastore.c:1487 | 1859 | #: src/datastore/gnunet-service-datastore.c:1519 |
1862 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1860 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1863 | msgstr "El módulo no soporta la función «get_keys». Por favor, corríjalo.\n" | 1861 | msgstr "El módulo no soporta la función «get_keys». Por favor, corríjalo.\n" |
1864 | 1862 | ||
1865 | #: src/datastore/gnunet-service-datastore.c:1625 | 1863 | #: src/datastore/gnunet-service-datastore.c:1661 |
1866 | #: src/datastore/gnunet-service-datastore.c:1636 | 1864 | #: src/datastore/gnunet-service-datastore.c:1673 |
1867 | #, c-format | 1865 | #, c-format |
1868 | msgid "No `%s' specified for `%s' in configuration!\n" | 1866 | msgid "No `%s' specified for `%s' in configuration!\n" |
1869 | msgstr "¡No se ha especificado ningún «%s» para «%s» en la configuración!\n" | 1867 | msgstr "¡No se ha especificado ningún «%s» para «%s» en la configuración!\n" |
1870 | 1868 | ||
1871 | #: src/datastore/gnunet-service-datastore.c:1630 | 1869 | #: src/datastore/gnunet-service-datastore.c:1667 |
1872 | #, c-format | 1870 | #, c-format |
1873 | msgid "# bytes used in file-sharing datastore `%s'" | 1871 | msgid "# bytes used in file-sharing datastore `%s'" |
1874 | msgstr "# bytes usados en el almacén de ficheros compartidos «%s»" | 1872 | msgstr "# bytes usados en el almacén de ficheros compartidos «%s»" |
1875 | 1873 | ||
1876 | #: src/datastore/gnunet-service-datastore.c:1641 | 1874 | #: src/datastore/gnunet-service-datastore.c:1679 |
1877 | msgid "# quota" | 1875 | msgid "# quota" |
1878 | msgstr "# cuota" | 1876 | msgstr "# cuota" |
1879 | 1877 | ||
1880 | #: src/datastore/gnunet-service-datastore.c:1643 | 1878 | #: src/datastore/gnunet-service-datastore.c:1681 |
1881 | msgid "# cache size" | 1879 | msgid "# cache size" |
1882 | msgstr "# tamaño de la caché" | 1880 | msgstr "# tamaño de la caché" |
1883 | 1881 | ||
1884 | #: src/datastore/gnunet-service-datastore.c:1656 | 1882 | #: src/datastore/gnunet-service-datastore.c:1696 |
1885 | #, c-format | 1883 | #, c-format |
1886 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1884 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1887 | msgstr "" | 1885 | msgstr "" |
1888 | "No se pudo usar el nombre de fichero especificado «%s» para «bloomfilter».\n" | 1886 | "No se pudo usar el nombre de fichero especificado «%s» para «bloomfilter».\n" |
1889 | 1887 | ||
1890 | #: src/datastore/gnunet-service-datastore.c:1674 | 1888 | #: src/datastore/gnunet-service-datastore.c:1714 |
1891 | #: src/datastore/gnunet-service-datastore.c:1690 | 1889 | #: src/datastore/gnunet-service-datastore.c:1730 |
1892 | #, c-format | 1890 | #, c-format |
1893 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1891 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1894 | msgstr "" | 1892 | msgstr "" |
1895 | "Se produjo un fallo al borrar el fichero de configuración defectuoso de " | 1893 | "Se produjo un fallo al borrar el fichero de configuración defectuoso de " |
1896 | "«bloomfilter» «%s»:\n" | 1894 | "«bloomfilter» «%s»:\n" |
1897 | 1895 | ||
1898 | #: src/datastore/gnunet-service-datastore.c:1720 | 1896 | #: src/datastore/gnunet-service-datastore.c:1760 |
1899 | msgid "Failed to initialize bloomfilter.\n" | 1897 | msgid "Failed to initialize bloomfilter.\n" |
1900 | msgstr "Se produjo un fallo al inicializar «bloomfilter».\n" | 1898 | msgstr "Se produjo un fallo al inicializar «bloomfilter».\n" |
1901 | 1899 | ||
@@ -1953,7 +1951,7 @@ msgstr "«%s» falló en %s:%u con el error: %s" | |||
1953 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1951 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1954 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1952 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1955 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1953 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1956 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1954 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1957 | #, c-format | 1955 | #, c-format |
1958 | msgid "Unable to initialize SQLite: %s.\n" | 1956 | msgid "Unable to initialize SQLite: %s.\n" |
1959 | msgstr "Imposible inicializar SQLite: %s.\n" | 1957 | msgstr "Imposible inicializar SQLite: %s.\n" |
@@ -2036,9 +2034,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
2036 | msgstr "opción para usar el demultiplexado de la DHT siempre" | 2034 | msgstr "opción para usar el demultiplexado de la DHT siempre" |
2037 | 2035 | ||
2038 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 2036 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
2039 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 2037 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
2040 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 2038 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
2041 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 2039 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
2042 | #: src/nse/gnunet-nse-profiler.c:873 | 2040 | #: src/nse/gnunet-nse-profiler.c:873 |
2043 | msgid "be verbose (print progress information)" | 2041 | msgid "be verbose (print progress information)" |
2044 | msgstr "ser prolijo (imprime información de progreso)" | 2042 | msgstr "ser prolijo (imprime información de progreso)" |
@@ -2056,8 +2054,7 @@ msgstr "cuanto tiempo debe ejecutarse el comando de monitorización" | |||
2056 | msgid "Prints all packets that go through the DHT." | 2054 | msgid "Prints all packets that go through the DHT." |
2057 | msgstr "Imprime todos los paquetes que pasan por la DHT." | 2055 | msgstr "Imprime todos los paquetes que pasan por la DHT." |
2058 | 2056 | ||
2059 | #: src/dht/gnunet_dht_profiler.c:1393 | 2057 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
2060 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
2061 | #, fuzzy, c-format | 2058 | #, fuzzy, c-format |
2062 | msgid "Exiting as the number of peers is %u\n" | 2059 | msgid "Exiting as the number of peers is %u\n" |
2063 | msgstr "El número máximo de conexiones es %u\n" | 2060 | msgstr "El número máximo de conexiones es %u\n" |
@@ -2279,8 +2276,7 @@ msgstr "¡Tipo de bloque no soportado (%u) en respuesta local!\n" | |||
2279 | msgid "# GET requests given to datacache" | 2276 | msgid "# GET requests given to datacache" |
2280 | msgstr "# Peticiones «GET» realizadas a la caché de datos" | 2277 | msgstr "# Peticiones «GET» realizadas a la caché de datos" |
2281 | 2278 | ||
2282 | #: src/dht/gnunet-service-dht_hello.c:84 | 2279 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2283 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2284 | msgid "# HELLOs obtained from peerinfo" | 2280 | msgid "# HELLOs obtained from peerinfo" |
2285 | msgstr "# «HELLO» obtenidos de «peerinfo»" | 2281 | msgstr "# «HELLO» obtenidos de «peerinfo»" |
2286 | 2282 | ||
@@ -3173,74 +3169,74 @@ msgstr "Se produjo un fallo al escribir «%s»: %s\n" | |||
3173 | msgid "Failed to connect to datastore." | 3169 | msgid "Failed to connect to datastore." |
3174 | msgstr "Se produjo un fallo al conectar con el almacén de datos." | 3170 | msgstr "Se produjo un fallo al conectar con el almacén de datos." |
3175 | 3171 | ||
3176 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 3172 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
3177 | #, c-format | 3173 | #, c-format |
3178 | msgid "Publishing failed: %s" | 3174 | msgid "Publishing failed: %s" |
3179 | msgstr "Publicación fallida: %s" | 3175 | msgstr "Publicación fallida: %s" |
3180 | 3176 | ||
3181 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 3177 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
3182 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 3178 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
3183 | #, c-format | 3179 | #, c-format |
3184 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 3180 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
3185 | msgstr "No se pudo indexar el fichero «%s»: %s. Se intentará insertar.\n" | 3181 | msgstr "No se pudo indexar el fichero «%s»: %s. Se intentará insertar.\n" |
3186 | 3182 | ||
3187 | #: src/fs/fs_publish.c:711 | 3183 | #: src/fs/fs_publish.c:709 |
3188 | msgid "timeout on index-start request to `fs' service" | 3184 | msgid "timeout on index-start request to `fs' service" |
3189 | msgstr "" | 3185 | msgstr "" |
3190 | "expiración del plazo en la petición de inicio de indexado (index-start) al " | 3186 | "expiración del plazo en la petición de inicio de indexado (index-start) al " |
3191 | "servicio «fs»" | 3187 | "servicio «fs»" |
3192 | 3188 | ||
3193 | #: src/fs/fs_publish.c:723 | 3189 | #: src/fs/fs_publish.c:721 |
3194 | msgid "unknown error" | 3190 | msgid "unknown error" |
3195 | msgstr "error desconocido" | 3191 | msgstr "error desconocido" |
3196 | 3192 | ||
3197 | #: src/fs/fs_publish.c:767 | 3193 | #: src/fs/fs_publish.c:765 |
3198 | msgid "failed to compute hash" | 3194 | msgid "failed to compute hash" |
3199 | msgstr "se produjo un fallo al calcular el hash" | 3195 | msgstr "se produjo un fallo al calcular el hash" |
3200 | 3196 | ||
3201 | #: src/fs/fs_publish.c:787 | 3197 | #: src/fs/fs_publish.c:785 |
3202 | msgid "filename too long" | 3198 | msgid "filename too long" |
3203 | msgstr "nombre de fichero demasiado largo" | 3199 | msgstr "nombre de fichero demasiado largo" |
3204 | 3200 | ||
3205 | #: src/fs/fs_publish.c:812 | 3201 | #: src/fs/fs_publish.c:810 |
3206 | msgid "could not connect to `fs' service" | 3202 | msgid "could not connect to `fs' service" |
3207 | msgstr "no se pudo conectar con el servicio «fs»" | 3203 | msgstr "no se pudo conectar con el servicio «fs»" |
3208 | 3204 | ||
3209 | #: src/fs/fs_publish.c:835 | 3205 | #: src/fs/fs_publish.c:833 |
3210 | #, c-format | 3206 | #, c-format |
3211 | msgid "Failed to get file identifiers for `%s'\n" | 3207 | msgid "Failed to get file identifiers for `%s'\n" |
3212 | msgstr "" | 3208 | msgstr "" |
3213 | "Se produjo un fallo al obtener los identificadores de fichero para «%s»\n" | 3209 | "Se produjo un fallo al obtener los identificadores de fichero para «%s»\n" |
3214 | 3210 | ||
3215 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 3211 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
3216 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 3212 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
3217 | msgstr "" | 3213 | msgstr "" |
3218 | 3214 | ||
3219 | #: src/fs/fs_publish.c:1014 | 3215 | #: src/fs/fs_publish.c:1012 |
3220 | #, c-format | 3216 | #, c-format |
3221 | msgid "Recursive upload failed at `%s': %s" | 3217 | msgid "Recursive upload failed at `%s': %s" |
3222 | msgstr "La subida recursiva falló en «%s»: %s" | 3218 | msgstr "La subida recursiva falló en «%s»: %s" |
3223 | 3219 | ||
3224 | #: src/fs/fs_publish.c:1022 | 3220 | #: src/fs/fs_publish.c:1020 |
3225 | #, c-format | 3221 | #, c-format |
3226 | msgid "Recursive upload failed: %s" | 3222 | msgid "Recursive upload failed: %s" |
3227 | msgstr "Subida recursiva fallida: %s" | 3223 | msgstr "Subida recursiva fallida: %s" |
3228 | 3224 | ||
3229 | #: src/fs/fs_publish.c:1062 | 3225 | #: src/fs/fs_publish.c:1060 |
3230 | msgid "needs to be an actual file" | 3226 | msgid "needs to be an actual file" |
3231 | msgstr "tiene que ser un fichero de verdad" | 3227 | msgstr "tiene que ser un fichero de verdad" |
3232 | 3228 | ||
3233 | #: src/fs/fs_publish.c:1301 | 3229 | #: src/fs/fs_publish.c:1299 |
3234 | #, fuzzy, c-format | 3230 | #, fuzzy, c-format |
3235 | msgid "Datastore failure: %s" | 3231 | msgid "Datastore failure: %s" |
3236 | msgstr "# «PUT» en el almacén de datos fallidos" | 3232 | msgstr "# «PUT» en el almacén de datos fallidos" |
3237 | 3233 | ||
3238 | #: src/fs/fs_publish.c:1392 | 3234 | #: src/fs/fs_publish.c:1390 |
3239 | #, c-format | 3235 | #, c-format |
3240 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3236 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3241 | msgstr "Reservando espacio para %u entradas y %llu bytes para publicación\n" | 3237 | msgstr "Reservando espacio para %u entradas y %llu bytes para publicación\n" |
3242 | 3238 | ||
3243 | #: src/fs/fs_publish_ksk.c:219 | 3239 | #: src/fs/fs_publish_ksk.c:224 |
3244 | msgid "Could not connect to datastore." | 3240 | msgid "Could not connect to datastore." |
3245 | msgstr "No se pudo conectar con el almacén de datos." | 3241 | msgstr "No se pudo conectar con el almacén de datos." |
3246 | 3242 | ||
@@ -3429,22 +3425,22 @@ msgstr "Se produjo un fallo al cargar el estado: %s\n" | |||
3429 | msgid "Failed to save state to file %s\n" | 3425 | msgid "Failed to save state to file %s\n" |
3430 | msgstr "Se produjo un fallo al guardar el estado en el fichero %s\n" | 3426 | msgstr "Se produjo un fallo al guardar el estado en el fichero %s\n" |
3431 | 3427 | ||
3432 | #: src/fs/gnunet-auto-share.c:402 | 3428 | #: src/fs/gnunet-auto-share.c:415 |
3433 | #, c-format | 3429 | #, c-format |
3434 | msgid "Publication of `%s' done\n" | 3430 | msgid "Publication of `%s' done\n" |
3435 | msgstr "Publicación de «%s» finalizada\n" | 3431 | msgstr "Publicación de «%s» finalizada\n" |
3436 | 3432 | ||
3437 | #: src/fs/gnunet-auto-share.c:490 | 3433 | #: src/fs/gnunet-auto-share.c:504 |
3438 | #, c-format | 3434 | #, c-format |
3439 | msgid "Publishing `%s'\n" | 3435 | msgid "Publishing `%s'\n" |
3440 | msgstr "Publicando «%s»\n" | 3436 | msgstr "Publicando «%s»\n" |
3441 | 3437 | ||
3442 | #: src/fs/gnunet-auto-share.c:499 | 3438 | #: src/fs/gnunet-auto-share.c:514 |
3443 | #, c-format | 3439 | #, c-format |
3444 | msgid "Failed to run `%s'\n" | 3440 | msgid "Failed to run `%s'\n" |
3445 | msgstr "Se produjo un fallo al ejecutar «%s»\n" | 3441 | msgstr "Se produjo un fallo al ejecutar «%s»\n" |
3446 | 3442 | ||
3447 | #: src/fs/gnunet-auto-share.c:688 | 3443 | #: src/fs/gnunet-auto-share.c:725 |
3448 | #, c-format | 3444 | #, c-format |
3449 | msgid "" | 3445 | msgid "" |
3450 | "You must specify one and only one directory name for automatic publication.\n" | 3446 | "You must specify one and only one directory name for automatic publication.\n" |
@@ -3452,28 +3448,28 @@ msgstr "" | |||
3452 | "Debes especificar uno y solo un nombre de directorio para publicación " | 3448 | "Debes especificar uno y solo un nombre de directorio para publicación " |
3453 | "automática.\n" | 3449 | "automática.\n" |
3454 | 3450 | ||
3455 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3451 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3456 | msgid "set the desired LEVEL of sender-anonymity" | 3452 | msgid "set the desired LEVEL of sender-anonymity" |
3457 | msgstr "establece el nivel LEVEL deseado de anonimato del emisor" | 3453 | msgstr "establece el nivel LEVEL deseado de anonimato del emisor" |
3458 | 3454 | ||
3459 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3455 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3460 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3456 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3461 | msgstr "" | 3457 | msgstr "" |
3462 | "deshabilitar añadir tiempo de creación a los metadatos del fichero subido" | 3458 | "deshabilitar añadir tiempo de creación a los metadatos del fichero subido" |
3463 | 3459 | ||
3464 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3460 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3465 | msgid "do not use libextractor to add keywords or metadata" | 3461 | msgid "do not use libextractor to add keywords or metadata" |
3466 | msgstr "no usar libextractor para añadir palabras clave o metadatos" | 3462 | msgstr "no usar libextractor para añadir palabras clave o metadatos" |
3467 | 3463 | ||
3468 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3464 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3469 | msgid "specify the priority of the content" | 3465 | msgid "specify the priority of the content" |
3470 | msgstr "especificar la prioridad del contenido" | 3466 | msgstr "especificar la prioridad del contenido" |
3471 | 3467 | ||
3472 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3468 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3473 | msgid "set the desired replication LEVEL" | 3469 | msgid "set the desired replication LEVEL" |
3474 | msgstr "establece el nivel LEVEL deseado de replicación" | 3470 | msgstr "establece el nivel LEVEL deseado de replicación" |
3475 | 3471 | ||
3476 | #: src/fs/gnunet-auto-share.c:772 | 3472 | #: src/fs/gnunet-auto-share.c:815 |
3477 | msgid "Automatically publish files from a directory on GNUnet" | 3473 | msgid "Automatically publish files from a directory on GNUnet" |
3478 | msgstr "Publicar automáticamente ficheros de un directorio en GNUnet" | 3474 | msgstr "Publicar automáticamente ficheros de un directorio en GNUnet" |
3479 | 3475 | ||
@@ -3542,64 +3538,64 @@ msgstr "Error descargando: %s.\n" | |||
3542 | msgid "Downloading `%s' done (%s/s).\n" | 3538 | msgid "Downloading `%s' done (%s/s).\n" |
3543 | msgstr "Finalizada descarga «%s» (%s/s).\n" | 3539 | msgstr "Finalizada descarga «%s» (%s/s).\n" |
3544 | 3540 | ||
3545 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3541 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3546 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3542 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3547 | #, c-format | 3543 | #, c-format |
3548 | msgid "Unexpected status: %d\n" | 3544 | msgid "Unexpected status: %d\n" |
3549 | msgstr "Estado inesperado: %d\n" | 3545 | msgstr "Estado inesperado: %d\n" |
3550 | 3546 | ||
3551 | #: src/fs/gnunet-download.c:234 | 3547 | #: src/fs/gnunet-download.c:233 |
3552 | msgid "You need to specify a URI argument.\n" | 3548 | msgid "You need to specify a URI argument.\n" |
3553 | msgstr "Tiene que especificar una URI como parámetro.\n" | 3549 | msgstr "Tiene que especificar una URI como parámetro.\n" |
3554 | 3550 | ||
3555 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3551 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3556 | #, c-format | 3552 | #, c-format |
3557 | msgid "Failed to parse URI: %s\n" | 3553 | msgid "Failed to parse URI: %s\n" |
3558 | msgstr "Se produjo un fallo al procesar la URI: %s\n" | 3554 | msgstr "Se produjo un fallo al procesar la URI: %s\n" |
3559 | 3555 | ||
3560 | #: src/fs/gnunet-download.c:247 | 3556 | #: src/fs/gnunet-download.c:246 |
3561 | msgid "Only CHK or LOC URIs supported.\n" | 3557 | msgid "Only CHK or LOC URIs supported.\n" |
3562 | msgstr "Sólo URI «CHK» o «LOC» soportadas.\n" | 3558 | msgstr "Sólo URI «CHK» o «LOC» soportadas.\n" |
3563 | 3559 | ||
3564 | #: src/fs/gnunet-download.c:254 | 3560 | #: src/fs/gnunet-download.c:253 |
3565 | msgid "Target filename must be specified.\n" | 3561 | msgid "Target filename must be specified.\n" |
3566 | msgstr "El nombre de fichero de destino debe ser especificado.\n" | 3562 | msgstr "El nombre de fichero de destino debe ser especificado.\n" |
3567 | 3563 | ||
3568 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3564 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3569 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3565 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3570 | #, c-format | 3566 | #, c-format |
3571 | msgid "Could not initialize `%s' subsystem.\n" | 3567 | msgid "Could not initialize `%s' subsystem.\n" |
3572 | msgstr "No se pudo inicializar el subsistema «%s».\n" | 3568 | msgstr "No se pudo inicializar el subsistema «%s».\n" |
3573 | 3569 | ||
3574 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3570 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3575 | msgid "set the desired LEVEL of receiver-anonymity" | 3571 | msgid "set the desired LEVEL of receiver-anonymity" |
3576 | msgstr "establece el nivel LEVEL deseado de anonimato del receptor" | 3572 | msgstr "establece el nivel LEVEL deseado de anonimato del receptor" |
3577 | 3573 | ||
3578 | #: src/fs/gnunet-download.c:308 | 3574 | #: src/fs/gnunet-download.c:307 |
3579 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3575 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3580 | msgstr "borra descargas incompletas (cuando fueron abortadas con CTRL-C=" | 3576 | msgstr "borra descargas incompletas (cuando fueron abortadas con CTRL-C=" |
3581 | 3577 | ||
3582 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3578 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3583 | msgid "only search the local peer (no P2P network search)" | 3579 | msgid "only search the local peer (no P2P network search)" |
3584 | msgstr "únicamente buscar en el par local (no buscar en la red P2P)" | 3580 | msgstr "únicamente buscar en el par local (no buscar en la red P2P)" |
3585 | 3581 | ||
3586 | #: src/fs/gnunet-download.c:314 | 3582 | #: src/fs/gnunet-download.c:313 |
3587 | msgid "write the file to FILENAME" | 3583 | msgid "write the file to FILENAME" |
3588 | msgstr "escribe los datos al nombre del fichero proporcionado (FILENAME)" | 3584 | msgstr "escribe los datos al nombre del fichero proporcionado (FILENAME)" |
3589 | 3585 | ||
3590 | #: src/fs/gnunet-download.c:318 | 3586 | #: src/fs/gnunet-download.c:317 |
3591 | msgid "set the maximum number of parallel downloads that is allowed" | 3587 | msgid "set the maximum number of parallel downloads that is allowed" |
3592 | msgstr "establece el número máximo de descargas paralelas permitido" | 3588 | msgstr "establece el número máximo de descargas paralelas permitido" |
3593 | 3589 | ||
3594 | #: src/fs/gnunet-download.c:322 | 3590 | #: src/fs/gnunet-download.c:321 |
3595 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3591 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3596 | msgstr "establece el número máximo de peticiones de bloque paralelas permitido" | 3592 | msgstr "establece el número máximo de peticiones de bloque paralelas permitido" |
3597 | 3593 | ||
3598 | #: src/fs/gnunet-download.c:325 | 3594 | #: src/fs/gnunet-download.c:324 |
3599 | msgid "download a GNUnet directory recursively" | 3595 | msgid "download a GNUnet directory recursively" |
3600 | msgstr "descarga un directorio de GNUnet recursivamente" | 3596 | msgstr "descarga un directorio de GNUnet recursivamente" |
3601 | 3597 | ||
3602 | #: src/fs/gnunet-download.c:339 | 3598 | #: src/fs/gnunet-download.c:338 |
3603 | msgid "" | 3599 | msgid "" |
3604 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3600 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3605 | "chk/...)" | 3601 | "chk/...)" |
@@ -3635,107 +3631,107 @@ msgstr "" | |||
3635 | "ejecuta una batería de pruebas para medir el rendimiento de la compartición " | 3631 | "ejecuta una batería de pruebas para medir el rendimiento de la compartición " |
3636 | "de ficheros" | 3632 | "de ficheros" |
3637 | 3633 | ||
3638 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3634 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3639 | #, c-format | 3635 | #, c-format |
3640 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3636 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3641 | msgstr "Publicando «%s» en %llu/%llu (%s restantes)\n" | 3637 | msgstr "Publicando «%s» en %llu/%llu (%s restantes)\n" |
3642 | 3638 | ||
3643 | #: src/fs/gnunet-publish.c:257 | 3639 | #: src/fs/gnunet-publish.c:241 |
3644 | #, c-format | 3640 | #, c-format |
3645 | msgid "Error publishing: %s.\n" | 3641 | msgid "Error publishing: %s.\n" |
3646 | msgstr "Error publicando: %s.\n" | 3642 | msgstr "Error publicando: %s.\n" |
3647 | 3643 | ||
3648 | #: src/fs/gnunet-publish.c:268 | 3644 | #: src/fs/gnunet-publish.c:248 |
3649 | #, c-format | 3645 | #, c-format |
3650 | msgid "Publishing `%s' done.\n" | 3646 | msgid "Publishing `%s' done.\n" |
3651 | msgstr "Publicación «%s» finalizada.\n" | 3647 | msgstr "Publicación «%s» finalizada.\n" |
3652 | 3648 | ||
3653 | #: src/fs/gnunet-publish.c:273 | 3649 | #: src/fs/gnunet-publish.c:253 |
3654 | #, c-format | 3650 | #, c-format |
3655 | msgid "URI is `%s'.\n" | 3651 | msgid "URI is `%s'.\n" |
3656 | msgstr "La URI es «%s».\n" | 3652 | msgstr "La URI es «%s».\n" |
3657 | 3653 | ||
3658 | #: src/fs/gnunet-publish.c:281 | 3654 | #: src/fs/gnunet-publish.c:261 |
3659 | #, fuzzy, c-format | 3655 | #, fuzzy, c-format |
3660 | msgid "Namespace URI is `%s'.\n" | 3656 | msgid "Namespace URI is `%s'.\n" |
3661 | msgstr "La URI es «%s».\n" | 3657 | msgstr "La URI es «%s».\n" |
3662 | 3658 | ||
3663 | #: src/fs/gnunet-publish.c:299 | 3659 | #: src/fs/gnunet-publish.c:277 |
3664 | #, fuzzy | 3660 | #, fuzzy |
3665 | msgid "Starting cleanup after abort\n" | 3661 | msgid "Starting cleanup after abort\n" |
3666 | msgstr "Limpieza completada\n" | 3662 | msgstr "Limpieza completada\n" |
3667 | 3663 | ||
3668 | #: src/fs/gnunet-publish.c:306 | 3664 | #: src/fs/gnunet-publish.c:284 |
3669 | #, fuzzy | 3665 | #, fuzzy |
3670 | msgid "Cleanup after abort completed.\n" | 3666 | msgid "Cleanup after abort completed.\n" |
3671 | msgstr "Limpieza completada\n" | 3667 | msgstr "Limpieza completada\n" |
3672 | 3668 | ||
3673 | #: src/fs/gnunet-publish.c:312 | 3669 | #: src/fs/gnunet-publish.c:290 |
3674 | #, fuzzy | 3670 | #, fuzzy |
3675 | msgid "Cleanup after abort failed.\n" | 3671 | msgid "Cleanup after abort failed.\n" |
3676 | msgstr "Limpieza completada\n" | 3672 | msgstr "Limpieza completada\n" |
3677 | 3673 | ||
3678 | #: src/fs/gnunet-publish.c:447 | 3674 | #: src/fs/gnunet-publish.c:432 |
3679 | #, c-format | 3675 | #, c-format |
3680 | msgid "Meta data for file `%s' (%s)\n" | 3676 | msgid "Meta data for file `%s' (%s)\n" |
3681 | msgstr "Metadatos para el fichero «%s» (%s)\n" | 3677 | msgstr "Metadatos para el fichero «%s» (%s)\n" |
3682 | 3678 | ||
3683 | #: src/fs/gnunet-publish.c:449 | 3679 | #: src/fs/gnunet-publish.c:437 |
3684 | #, c-format | 3680 | #, c-format |
3685 | msgid "Keywords for file `%s' (%s)\n" | 3681 | msgid "Keywords for file `%s' (%s)\n" |
3686 | msgstr "Palabras clave para el fichero «%s» (%s)\n" | 3682 | msgstr "Palabras clave para el fichero «%s» (%s)\n" |
3687 | 3683 | ||
3688 | #: src/fs/gnunet-publish.c:594 | 3684 | #: src/fs/gnunet-publish.c:591 |
3689 | msgid "Could not publish\n" | 3685 | msgid "Could not publish\n" |
3690 | msgstr "No se pudo publicar\n" | 3686 | msgstr "No se pudo publicar\n" |
3691 | 3687 | ||
3692 | #: src/fs/gnunet-publish.c:619 | 3688 | #: src/fs/gnunet-publish.c:616 |
3693 | msgid "Could not start publishing.\n" | 3689 | msgid "Could not start publishing.\n" |
3694 | msgstr "No se pudo empezar a publicar.\n" | 3690 | msgstr "No se pudo empezar a publicar.\n" |
3695 | 3691 | ||
3696 | #: src/fs/gnunet-publish.c:653 | 3692 | #: src/fs/gnunet-publish.c:650 |
3697 | #, c-format | 3693 | #, c-format |
3698 | msgid "Scanning directory `%s'.\n" | 3694 | msgid "Scanning directory `%s'.\n" |
3699 | msgstr "Escaneando directorio «%s».\n" | 3695 | msgstr "Escaneando directorio «%s».\n" |
3700 | 3696 | ||
3701 | #: src/fs/gnunet-publish.c:657 | 3697 | #: src/fs/gnunet-publish.c:654 |
3702 | #, c-format | 3698 | #, c-format |
3703 | msgid "Scanning file `%s'.\n" | 3699 | msgid "Scanning file `%s'.\n" |
3704 | msgstr "Escaneando fichero «%s».\n" | 3700 | msgstr "Escaneando fichero «%s».\n" |
3705 | 3701 | ||
3706 | #: src/fs/gnunet-publish.c:663 | 3702 | #: src/fs/gnunet-publish.c:660 |
3707 | #, c-format | 3703 | #, c-format |
3708 | msgid "There was trouble processing file `%s', skipping it.\n" | 3704 | msgid "There was trouble processing file `%s', skipping it.\n" |
3709 | msgstr "Hubo un problema procesando el fichero «%s», omitiéndolo.\n" | 3705 | msgstr "Hubo un problema procesando el fichero «%s», omitiéndolo.\n" |
3710 | 3706 | ||
3711 | #: src/fs/gnunet-publish.c:670 | 3707 | #: src/fs/gnunet-publish.c:667 |
3712 | msgid "Preprocessing complete.\n" | 3708 | msgid "Preprocessing complete.\n" |
3713 | msgstr "Preprocesado completo.\n" | 3709 | msgstr "Preprocesado completo.\n" |
3714 | 3710 | ||
3715 | #: src/fs/gnunet-publish.c:675 | 3711 | #: src/fs/gnunet-publish.c:672 |
3716 | #, c-format | 3712 | #, c-format |
3717 | msgid "Extracting meta data from file `%s' complete.\n" | 3713 | msgid "Extracting meta data from file `%s' complete.\n" |
3718 | msgstr "Extracción de metadatos del fichero «%s» completa.\n" | 3714 | msgstr "Extracción de metadatos del fichero «%s» completa.\n" |
3719 | 3715 | ||
3720 | #: src/fs/gnunet-publish.c:682 | 3716 | #: src/fs/gnunet-publish.c:679 |
3721 | msgid "Meta data extraction has finished.\n" | 3717 | msgid "Meta data extraction has finished.\n" |
3722 | msgstr "La extracción de metadatos ha finalizado.\n" | 3718 | msgstr "La extracción de metadatos ha finalizado.\n" |
3723 | 3719 | ||
3724 | #: src/fs/gnunet-publish.c:691 | 3720 | #: src/fs/gnunet-publish.c:688 |
3725 | msgid "Internal error scanning directory.\n" | 3721 | msgid "Internal error scanning directory.\n" |
3726 | msgstr "Error interno escaneando directorio.\n" | 3722 | msgstr "Error interno escaneando directorio.\n" |
3727 | 3723 | ||
3728 | #: src/fs/gnunet-publish.c:723 | 3724 | #: src/fs/gnunet-publish.c:716 |
3729 | #, fuzzy, c-format | 3725 | #, fuzzy, c-format |
3730 | msgid "Selected pseudonym `%s' unknown\n" | 3726 | msgid "Selected pseudonym `%s' unknown\n" |
3731 | msgstr "Espacio de nombres «%s» desconocido.\n" | 3727 | msgstr "Espacio de nombres «%s» desconocido.\n" |
3732 | 3728 | ||
3733 | #: src/fs/gnunet-publish.c:755 | 3729 | #: src/fs/gnunet-publish.c:749 |
3734 | #, c-format | 3730 | #, c-format |
3735 | msgid "Failed to access `%s': %s\n" | 3731 | msgid "Failed to access `%s': %s\n" |
3736 | msgstr "Se produjo un fallo al acceder «%s»: %s\n" | 3732 | msgstr "Se produjo un fallo al acceder «%s»: %s\n" |
3737 | 3733 | ||
3738 | #: src/fs/gnunet-publish.c:769 | 3734 | #: src/fs/gnunet-publish.c:763 |
3739 | msgid "" | 3735 | msgid "" |
3740 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3736 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3741 | "installed?\n" | 3737 | "installed?\n" |
@@ -3743,34 +3739,34 @@ msgstr "" | |||
3743 | "Se produjo un fallo al iniciar el meta-escáner de directorios. ¿Está " | 3739 | "Se produjo un fallo al iniciar el meta-escáner de directorios. ¿Está " |
3744 | "«gnunet-helper-publish-fs» instalado?\n" | 3740 | "«gnunet-helper-publish-fs» instalado?\n" |
3745 | 3741 | ||
3746 | #: src/fs/gnunet-publish.c:825 | 3742 | #: src/fs/gnunet-publish.c:819 |
3747 | #, c-format | 3743 | #, c-format |
3748 | msgid "Cannot extract metadata from a URI!\n" | 3744 | msgid "Cannot extract metadata from a URI!\n" |
3749 | msgstr "¡No se pueden extraer metadatos de una URI!\n" | 3745 | msgstr "¡No se pueden extraer metadatos de una URI!\n" |
3750 | 3746 | ||
3751 | #: src/fs/gnunet-publish.c:832 | 3747 | #: src/fs/gnunet-publish.c:826 |
3752 | #, c-format | 3748 | #, c-format |
3753 | msgid "You must specify one and only one filename for insertion.\n" | 3749 | msgid "You must specify one and only one filename for insertion.\n" |
3754 | msgstr "Se debe especificar uno y solo un nombre de fichero para insertar.\n" | 3750 | msgstr "Se debe especificar uno y solo un nombre de fichero para insertar.\n" |
3755 | 3751 | ||
3756 | #: src/fs/gnunet-publish.c:838 | 3752 | #: src/fs/gnunet-publish.c:832 |
3757 | #, c-format | 3753 | #, c-format |
3758 | msgid "You must NOT specify an URI and a filename.\n" | 3754 | msgid "You must NOT specify an URI and a filename.\n" |
3759 | msgstr "No se puede especificar una URI y un nombre de fichero.\n" | 3755 | msgstr "No se puede especificar una URI y un nombre de fichero.\n" |
3760 | 3756 | ||
3761 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3757 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3762 | #, c-format | 3758 | #, c-format |
3763 | msgid "Option `%s' is required when using option `%s'.\n" | 3759 | msgid "Option `%s' is required when using option `%s'.\n" |
3764 | msgstr "La opción «%s» es obligatoria cuando se usa la opción «%s».\n" | 3760 | msgstr "La opción «%s» es obligatoria cuando se usa la opción «%s».\n" |
3765 | 3761 | ||
3766 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3762 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3767 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3763 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3768 | #: src/transport/gnunet-transport.c:1989 | 3764 | #: src/transport/gnunet-transport.c:1989 |
3769 | #, c-format | 3765 | #, c-format |
3770 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3766 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3771 | msgstr "La opción «%s» no tiene sentido sin la opción «%s».\n" | 3767 | msgstr "La opción «%s» no tiene sentido sin la opción «%s».\n" |
3772 | 3768 | ||
3773 | #: src/fs/gnunet-publish.c:919 | 3769 | #: src/fs/gnunet-publish.c:912 |
3774 | msgid "" | 3770 | msgid "" |
3775 | "print list of extracted keywords that would be used, but do not perform " | 3771 | "print list of extracted keywords that would be used, but do not perform " |
3776 | "upload" | 3772 | "upload" |
@@ -3778,7 +3774,7 @@ msgstr "" | |||
3778 | "imprimir una lista de las palabras clave extraídas que podrían ser usadas, " | 3774 | "imprimir una lista de las palabras clave extraídas que podrían ser usadas, " |
3779 | "pero sin realizar la subida" | 3775 | "pero sin realizar la subida" |
3780 | 3776 | ||
3781 | #: src/fs/gnunet-publish.c:923 | 3777 | #: src/fs/gnunet-publish.c:916 |
3782 | msgid "" | 3778 | msgid "" |
3783 | "add an additional keyword for the top-level file or directory (this option " | 3779 | "add an additional keyword for the top-level file or directory (this option " |
3784 | "can be specified multiple times)" | 3780 | "can be specified multiple times)" |
@@ -3786,11 +3782,11 @@ msgstr "" | |||
3786 | "añadir una palabra clave adicional para el fichero del nivel más alto o el " | 3782 | "añadir una palabra clave adicional para el fichero del nivel más alto o el " |
3787 | "directorio (esta opción puede ser especificada varias veces)" | 3783 | "directorio (esta opción puede ser especificada varias veces)" |
3788 | 3784 | ||
3789 | #: src/fs/gnunet-publish.c:927 | 3785 | #: src/fs/gnunet-publish.c:920 |
3790 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3786 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3791 | msgstr "establece los metadatos para el tipo TYPE dado al valor VALUE dado" | 3787 | msgstr "establece los metadatos para el tipo TYPE dado al valor VALUE dado" |
3792 | 3788 | ||
3793 | #: src/fs/gnunet-publish.c:930 | 3789 | #: src/fs/gnunet-publish.c:923 |
3794 | msgid "" | 3790 | msgid "" |
3795 | "do not index, perform full insertion (stores entire file in encrypted form " | 3791 | "do not index, perform full insertion (stores entire file in encrypted form " |
3796 | "in GNUnet database)" | 3792 | "in GNUnet database)" |
@@ -3798,7 +3794,7 @@ msgstr "" | |||
3798 | "no indexar, hacer inserciones totales (almacena el fichero entero de forma " | 3794 | "no indexar, hacer inserciones totales (almacena el fichero entero de forma " |
3799 | "cifrada en la base de datos de GNUnet)" | 3795 | "cifrada en la base de datos de GNUnet)" |
3800 | 3796 | ||
3801 | #: src/fs/gnunet-publish.c:935 | 3797 | #: src/fs/gnunet-publish.c:928 |
3802 | msgid "" | 3798 | msgid "" |
3803 | "specify ID of an updated version to be published in the future (for " | 3799 | "specify ID of an updated version to be published in the future (for " |
3804 | "namespace insertions only)" | 3800 | "namespace insertions only)" |
@@ -3806,13 +3802,13 @@ msgstr "" | |||
3806 | "especificar la ID de una versión actualizada para ser publicada en el futuro " | 3802 | "especificar la ID de una versión actualizada para ser publicada en el futuro " |
3807 | "(para inserciones en el espacio de nombres únicamente)" | 3803 | "(para inserciones en el espacio de nombres únicamente)" |
3808 | 3804 | ||
3809 | #: src/fs/gnunet-publish.c:943 | 3805 | #: src/fs/gnunet-publish.c:936 |
3810 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3806 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3811 | msgstr "" | 3807 | msgstr "" |
3812 | "publicar los ficheros bajo el seudónimo NAME (coloca el fichero en el " | 3808 | "publicar los ficheros bajo el seudónimo NAME (coloca el fichero en el " |
3813 | "espacio)" | 3809 | "espacio)" |
3814 | 3810 | ||
3815 | #: src/fs/gnunet-publish.c:949 | 3811 | #: src/fs/gnunet-publish.c:942 |
3816 | msgid "" | 3812 | msgid "" |
3817 | "only simulate the process but do not do any actual publishing (useful to " | 3813 | "only simulate the process but do not do any actual publishing (useful to " |
3818 | "compute URIs)" | 3814 | "compute URIs)" |
@@ -3820,14 +3816,14 @@ msgstr "" | |||
3820 | "únicamente simular el proceso pero no publicar nada realmente (útil para " | 3816 | "únicamente simular el proceso pero no publicar nada realmente (útil para " |
3821 | "calcular URI)" | 3817 | "calcular URI)" |
3822 | 3818 | ||
3823 | #: src/fs/gnunet-publish.c:953 | 3819 | #: src/fs/gnunet-publish.c:946 |
3824 | msgid "" | 3820 | msgid "" |
3825 | "set the ID of this version of the publication (for namespace insertions only)" | 3821 | "set the ID of this version of the publication (for namespace insertions only)" |
3826 | msgstr "" | 3822 | msgstr "" |
3827 | "establece la ID de esta versión de la publicación (para inserciones en el " | 3823 | "establece la ID de esta versión de la publicación (para inserciones en el " |
3828 | "espacio únicamente)" | 3824 | "espacio únicamente)" |
3829 | 3825 | ||
3830 | #: src/fs/gnunet-publish.c:957 | 3826 | #: src/fs/gnunet-publish.c:950 |
3831 | msgid "" | 3827 | msgid "" |
3832 | "URI to be published (can be used instead of passing a file to add keywords " | 3828 | "URI to be published (can be used instead of passing a file to add keywords " |
3833 | "to the file with the respective URI)" | 3829 | "to the file with the respective URI)" |
@@ -3835,7 +3831,7 @@ msgstr "" | |||
3835 | "URI a ser publicada (puede ser usado en vez de pasar un fichero para añadir " | 3831 | "URI a ser publicada (puede ser usado en vez de pasar un fichero para añadir " |
3836 | "claves con el fichero con la URI respectiva)" | 3832 | "claves con el fichero con la URI respectiva)" |
3837 | 3833 | ||
3838 | #: src/fs/gnunet-publish.c:973 | 3834 | #: src/fs/gnunet-publish.c:966 |
3839 | msgid "Publish a file or directory on GNUnet" | 3835 | msgid "Publish a file or directory on GNUnet" |
3840 | msgstr "Publicar un fichero o un directorio en GNUnet" | 3836 | msgstr "Publicar un fichero o un directorio en GNUnet" |
3841 | 3837 | ||
@@ -3851,27 +3847,27 @@ msgstr "" | |||
3851 | msgid "Error searching: %s.\n" | 3847 | msgid "Error searching: %s.\n" |
3852 | msgstr "Error buscando: %s.\n" | 3848 | msgstr "Error buscando: %s.\n" |
3853 | 3849 | ||
3854 | #: src/fs/gnunet-search.c:246 | 3850 | #: src/fs/gnunet-search.c:245 |
3855 | msgid "Could not create keyword URI from arguments.\n" | 3851 | msgid "Could not create keyword URI from arguments.\n" |
3856 | msgstr "No se pudo crear URI de palabra clave a partir de los parámetros.\n" | 3852 | msgstr "No se pudo crear URI de palabra clave a partir de los parámetros.\n" |
3857 | 3853 | ||
3858 | #: src/fs/gnunet-search.c:270 | 3854 | #: src/fs/gnunet-search.c:269 |
3859 | msgid "Could not start searching.\n" | 3855 | msgid "Could not start searching.\n" |
3860 | msgstr "No se pudo empezar a buscar.\n" | 3856 | msgstr "No se pudo empezar a buscar.\n" |
3861 | 3857 | ||
3862 | #: src/fs/gnunet-search.c:301 | 3858 | #: src/fs/gnunet-search.c:300 |
3863 | msgid "write search results to file starting with PREFIX" | 3859 | msgid "write search results to file starting with PREFIX" |
3864 | msgstr "escribir resultados de búsqueda al fichero que empiecen por «PREFIX»" | 3860 | msgstr "escribir resultados de búsqueda al fichero que empiecen por «PREFIX»" |
3865 | 3861 | ||
3866 | #: src/fs/gnunet-search.c:304 | 3862 | #: src/fs/gnunet-search.c:303 |
3867 | msgid "automatically terminate search after DELAY" | 3863 | msgid "automatically terminate search after DELAY" |
3868 | msgstr "terminar búsqueda automáticamente después de «DELAY»" | 3864 | msgstr "terminar búsqueda automáticamente después de «DELAY»" |
3869 | 3865 | ||
3870 | #: src/fs/gnunet-search.c:311 | 3866 | #: src/fs/gnunet-search.c:310 |
3871 | msgid "automatically terminate search after VALUE results are found" | 3867 | msgid "automatically terminate search after VALUE results are found" |
3872 | msgstr "terminar búsqueda después de «VALUE» resultados encontrados" | 3868 | msgstr "terminar búsqueda después de «VALUE» resultados encontrados" |
3873 | 3869 | ||
3874 | #: src/fs/gnunet-search.c:322 | 3870 | #: src/fs/gnunet-search.c:321 |
3875 | msgid "Search GNUnet for files that were published on GNUnet" | 3871 | msgid "Search GNUnet for files that were published on GNUnet" |
3876 | msgstr "Buscar en GNUnet ficheros que han sido publicados en GNUnet" | 3872 | msgstr "Buscar en GNUnet ficheros que han sido publicados en GNUnet" |
3877 | 3873 | ||
@@ -4248,16 +4244,16 @@ msgstr "Error desindexando: %s.\n" | |||
4248 | msgid "Unindexing done.\n" | 4244 | msgid "Unindexing done.\n" |
4249 | msgstr "Desindexado finalizado.\n" | 4245 | msgstr "Desindexado finalizado.\n" |
4250 | 4246 | ||
4251 | #: src/fs/gnunet-unindex.c:130 | 4247 | #: src/fs/gnunet-unindex.c:129 |
4252 | #, c-format | 4248 | #, c-format |
4253 | msgid "You must specify one and only one filename for unindexing.\n" | 4249 | msgid "You must specify one and only one filename for unindexing.\n" |
4254 | msgstr "Se debe especificar uno y solo un fichero para desindexar.\n" | 4250 | msgstr "Se debe especificar uno y solo un fichero para desindexar.\n" |
4255 | 4251 | ||
4256 | #: src/fs/gnunet-unindex.c:147 | 4252 | #: src/fs/gnunet-unindex.c:146 |
4257 | msgid "Could not start unindex operation.\n" | 4253 | msgid "Could not start unindex operation.\n" |
4258 | msgstr "No se pudo empezar la operación de desindexado.\n" | 4254 | msgstr "No se pudo empezar la operación de desindexado.\n" |
4259 | 4255 | ||
4260 | #: src/fs/gnunet-unindex.c:179 | 4256 | #: src/fs/gnunet-unindex.c:178 |
4261 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 4257 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
4262 | msgstr "Desindexa un fichero previamente indexado con «gnunet-publish»." | 4258 | msgstr "Desindexa un fichero previamente indexado con «gnunet-publish»." |
4263 | 4259 | ||
@@ -4670,80 +4666,80 @@ msgstr "" | |||
4670 | msgid "GNS REST API initialized\n" | 4666 | msgid "GNS REST API initialized\n" |
4671 | msgstr "Conexión fallida\n" | 4667 | msgstr "Conexión fallida\n" |
4672 | 4668 | ||
4673 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4669 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4674 | #, c-format | 4670 | #, c-format |
4675 | msgid "Unable to parse IPv4 address `%s'\n" | 4671 | msgid "Unable to parse IPv4 address `%s'\n" |
4676 | msgstr "No se pudo procesar la dirección IPv4 «%s»\n" | 4672 | msgstr "No se pudo procesar la dirección IPv4 «%s»\n" |
4677 | 4673 | ||
4678 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4674 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4679 | #, fuzzy, c-format | 4675 | #, fuzzy, c-format |
4680 | msgid "Failed to serialize NS record with value `%s'\n" | 4676 | msgid "Failed to serialize NS record with value `%s'\n" |
4681 | msgstr "" | 4677 | msgstr "" |
4682 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4678 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4683 | "de «%s»\n" | 4679 | "de «%s»\n" |
4684 | 4680 | ||
4685 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4681 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4686 | #, fuzzy, c-format | 4682 | #, fuzzy, c-format |
4687 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4683 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4688 | msgstr "" | 4684 | msgstr "" |
4689 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4685 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4690 | "de «%s»\n" | 4686 | "de «%s»\n" |
4691 | 4687 | ||
4692 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4688 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4693 | #, fuzzy, c-format | 4689 | #, fuzzy, c-format |
4694 | msgid "Failed to serialize CERT record with %u bytes\n" | 4690 | msgid "Failed to serialize CERT record with %u bytes\n" |
4695 | msgstr "" | 4691 | msgstr "" |
4696 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4692 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4697 | "de «%s»\n" | 4693 | "de «%s»\n" |
4698 | 4694 | ||
4699 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4695 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4700 | #, c-format | 4696 | #, c-format |
4701 | msgid "Unable to parse SOA record `%s'\n" | 4697 | msgid "Unable to parse SOA record `%s'\n" |
4702 | msgstr "No se pudo procesar el registro SOA «%s»\n" | 4698 | msgstr "No se pudo procesar el registro SOA «%s»\n" |
4703 | 4699 | ||
4704 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4700 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4705 | #, fuzzy, c-format | 4701 | #, fuzzy, c-format |
4706 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4702 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4707 | msgstr "Se produjo un fallo al crear un registro para el dominio «%s»: %s\n" | 4703 | msgstr "Se produjo un fallo al crear un registro para el dominio «%s»: %s\n" |
4708 | 4704 | ||
4709 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4705 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4710 | #, fuzzy, c-format | 4706 | #, fuzzy, c-format |
4711 | msgid "Failed to serialize PTR record with value `%s'\n" | 4707 | msgid "Failed to serialize PTR record with value `%s'\n" |
4712 | msgstr "" | 4708 | msgstr "" |
4713 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4709 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4714 | "de «%s»\n" | 4710 | "de «%s»\n" |
4715 | 4711 | ||
4716 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4712 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4717 | #, c-format | 4713 | #, c-format |
4718 | msgid "Unable to parse MX record `%s'\n" | 4714 | msgid "Unable to parse MX record `%s'\n" |
4719 | msgstr "No se pudo procesar el registro MX «%s»\n" | 4715 | msgstr "No se pudo procesar el registro MX «%s»\n" |
4720 | 4716 | ||
4721 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4717 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4722 | #, fuzzy, c-format | 4718 | #, fuzzy, c-format |
4723 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4719 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4724 | msgstr "" | 4720 | msgstr "" |
4725 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4721 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4726 | "de «%s»\n" | 4722 | "de «%s»\n" |
4727 | 4723 | ||
4728 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4724 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4729 | #, fuzzy, c-format | 4725 | #, fuzzy, c-format |
4730 | msgid "Unable to parse SRV record `%s'\n" | 4726 | msgid "Unable to parse SRV record `%s'\n" |
4731 | msgstr "No se pudo procesar el registro SOA «%s»\n" | 4727 | msgstr "No se pudo procesar el registro SOA «%s»\n" |
4732 | 4728 | ||
4733 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4729 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4734 | #, fuzzy, c-format | 4730 | #, fuzzy, c-format |
4735 | msgid "Failed to serialize SRV record with target `%s'\n" | 4731 | msgid "Failed to serialize SRV record with target `%s'\n" |
4736 | msgstr "" | 4732 | msgstr "" |
4737 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " | 4733 | "Se produjo un fallo al escribir el directorio con los resultados de búsqueda " |
4738 | "de «%s»\n" | 4734 | "de «%s»\n" |
4739 | 4735 | ||
4740 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4736 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4741 | #, c-format | 4737 | #, c-format |
4742 | msgid "Unable to parse IPv6 address `%s'\n" | 4738 | msgid "Unable to parse IPv6 address `%s'\n" |
4743 | msgstr "No se pudo procesar dirección IPv4 «%s»\n" | 4739 | msgstr "No se pudo procesar dirección IPv4 «%s»\n" |
4744 | 4740 | ||
4745 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4741 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4746 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4742 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4747 | #, c-format | 4743 | #, c-format |
4748 | msgid "Unable to parse TLSA record string `%s'\n" | 4744 | msgid "Unable to parse TLSA record string `%s'\n" |
4749 | msgstr "No se pudo procesar la cadena de registro TLSA «%s»\n" | 4745 | msgstr "No se pudo procesar la cadena de registro TLSA «%s»\n" |
@@ -5290,6 +5286,31 @@ msgstr "Herramienta de manipulación de zona de GNUnet" | |||
5290 | msgid "Namecache failed to cache block" | 5286 | msgid "Namecache failed to cache block" |
5291 | msgstr "El almacén de nombres no pudo añadir el registro" | 5287 | msgstr "El almacén de nombres no pudo añadir el registro" |
5292 | 5288 | ||
5289 | #: src/namecache/plugin_namecache_flat.c:119 | ||
5290 | #: src/namecache/plugin_namecache_flat.c:236 | ||
5291 | #: src/namestore/plugin_namestore_flat.c:184 | ||
5292 | #: src/namestore/plugin_namestore_flat.c:352 | ||
5293 | #, fuzzy, c-format | ||
5294 | msgid "Unable to initialize file: %s.\n" | ||
5295 | msgstr "Imposible inicializar SQLite: %s.\n" | ||
5296 | |||
5297 | #: src/namecache/plugin_namecache_flat.c:130 | ||
5298 | #: src/namestore/plugin_namestore_flat.c:195 | ||
5299 | #, fuzzy, c-format | ||
5300 | msgid "Unable to get filesize: %s.\n" | ||
5301 | msgstr "Se produjo un fallo al crear los índices\n" | ||
5302 | |||
5303 | #: src/namecache/plugin_namecache_flat.c:142 | ||
5304 | #: src/namestore/plugin_namestore_flat.c:207 | ||
5305 | #, fuzzy, c-format | ||
5306 | msgid "Unable to read file: %s.\n" | ||
5307 | msgstr "Se produjo un fallo al crear los índices\n" | ||
5308 | |||
5309 | #: src/namecache/plugin_namecache_flat.c:391 | ||
5310 | #, fuzzy | ||
5311 | msgid "flat plugin running\n" | ||
5312 | msgstr "Base de datos sqlite ejecutándose\n" | ||
5313 | |||
5293 | #: src/namecache/plugin_namecache_postgres.c:89 | 5314 | #: src/namecache/plugin_namecache_postgres.c:89 |
5294 | #: src/namestore/plugin_namestore_postgres.c:96 | 5315 | #: src/namestore/plugin_namestore_postgres.c:96 |
5295 | msgid "Failed to create indices\n" | 5316 | msgid "Failed to create indices\n" |
@@ -5386,8 +5407,7 @@ msgstr "borrar" | |||
5386 | msgid "Invalid public key for reverse lookup `%s'\n" | 5407 | msgid "Invalid public key for reverse lookup `%s'\n" |
5387 | msgstr "Parámetro no válido «%s»\n" | 5408 | msgstr "Parámetro no válido «%s»\n" |
5388 | 5409 | ||
5389 | #: src/namestore/gnunet-namestore.c:868 | 5410 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5390 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5391 | #, c-format | 5411 | #, c-format |
5392 | msgid "Invalid URI `%s'\n" | 5412 | msgid "Invalid URI `%s'\n" |
5393 | msgstr "URI no válida: «%s»\n" | 5413 | msgstr "URI no válida: «%s»\n" |
@@ -5553,11 +5573,21 @@ msgstr "Se produjo un fallo al crear el espacio de nombres «%s»\n" | |||
5553 | msgid "Namestore failed to store record\n" | 5573 | msgid "Namestore failed to store record\n" |
5554 | msgstr "El almacén de nombres no pudo añadir el registro\n" | 5574 | msgstr "El almacén de nombres no pudo añadir el registro\n" |
5555 | 5575 | ||
5576 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5577 | #, fuzzy | ||
5578 | msgid "flat file database running\n" | ||
5579 | msgstr "Base de datos de plantilla ejecutándose\n" | ||
5580 | |||
5556 | #: src/namestore/plugin_rest_namestore.c:1023 | 5581 | #: src/namestore/plugin_rest_namestore.c:1023 |
5557 | #, fuzzy | 5582 | #, fuzzy |
5558 | msgid "Namestore REST API initialized\n" | 5583 | msgid "Namestore REST API initialized\n" |
5559 | msgstr "Conexión fallida\n" | 5584 | msgstr "Conexión fallida\n" |
5560 | 5585 | ||
5586 | #: src/nat/gnunet-nat.c:160 | ||
5587 | #, fuzzy | ||
5588 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5589 | msgstr "Demonio de ayuda en las pruebas de recorrido NAT de GNUnet" | ||
5590 | |||
5561 | #: src/nat/gnunet-nat-server.c:279 | 5591 | #: src/nat/gnunet-nat-server.c:279 |
5562 | #, c-format | 5592 | #, c-format |
5563 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5593 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5569,54 +5599,58 @@ msgstr "" | |||
5569 | msgid "GNUnet NAT traversal test helper daemon" | 5599 | msgid "GNUnet NAT traversal test helper daemon" |
5570 | msgstr "Demonio de ayuda en las pruebas de recorrido NAT de GNUnet" | 5600 | msgstr "Demonio de ayuda en las pruebas de recorrido NAT de GNUnet" |
5571 | 5601 | ||
5572 | #: src/nat/nat_auto.c:179 | 5602 | #: src/nat/nat_auto.c:394 |
5573 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5603 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5574 | msgstr "Recorrido NAT con servidor ICMP satisfactorio.\n" | 5604 | msgstr "Recorrido NAT con servidor ICMP satisfactorio.\n" |
5575 | 5605 | ||
5576 | #: src/nat/nat_auto.c:180 | 5606 | #: src/nat/nat_auto.c:395 |
5577 | msgid "NAT traversal with ICMP Server failed.\n" | 5607 | msgid "NAT traversal with ICMP Server failed.\n" |
5578 | msgstr "Recorrido NAT con servidor ICMP fallido.\n" | 5608 | msgstr "Recorrido NAT con servidor ICMP fallido.\n" |
5579 | 5609 | ||
5580 | #: src/nat/nat_auto.c:201 | 5610 | #: src/nat/nat_auto.c:416 |
5581 | msgid "Testing connection reversal with ICMP server.\n" | 5611 | msgid "Testing connection reversal with ICMP server.\n" |
5582 | msgstr "Probando conexión inversa con el servidor ICMP.\n" | 5612 | msgstr "Probando conexión inversa con el servidor ICMP.\n" |
5583 | 5613 | ||
5584 | #: src/nat/nat_auto.c:249 | 5614 | #: src/nat/nat_auto.c:448 |
5585 | #, c-format | 5615 | #, c-format |
5586 | msgid "Detected external IP `%s'\n" | 5616 | msgid "Detected external IP `%s'\n" |
5587 | msgstr "Detectada IP externa «%s»\n" | 5617 | msgstr "Detectada IP externa «%s»\n" |
5588 | 5618 | ||
5589 | #: src/nat/nat_auto.c:327 | 5619 | #: src/nat/nat_auto.c:579 |
5590 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5620 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5591 | msgstr "" | 5621 | msgstr "" |
5592 | "Este sistema tiene una dirección IPv6 global, fijando IPv6 a habilitado.\n" | 5622 | "Este sistema tiene una dirección IPv6 global, fijando IPv6 a habilitado.\n" |
5593 | 5623 | ||
5594 | #: src/nat/nat_auto.c:343 | 5624 | #: src/nat/nat_auto.c:597 |
5595 | #, c-format | 5625 | #, c-format |
5596 | msgid "Detected internal network address `%s'.\n" | 5626 | msgid "Detected internal network address `%s'.\n" |
5597 | msgstr "Detectada dirección de la red interna «%s».\n" | 5627 | msgstr "Detectada dirección de la red interna «%s».\n" |
5598 | 5628 | ||
5599 | #: src/nat/nat_auto.c:406 | 5629 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5630 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5631 | msgstr "Se produjo un fallo al conectar con «gnunet-nat-server»\n" | ||
5632 | |||
5633 | #: src/nat/nat_auto.c:715 | ||
5600 | msgid "upnpc found, enabling its use\n" | 5634 | msgid "upnpc found, enabling its use\n" |
5601 | msgstr "«upnpc» encontrado, habilitando su uso\n" | 5635 | msgstr "«upnpc» encontrado, habilitando su uso\n" |
5602 | 5636 | ||
5603 | #: src/nat/nat_auto.c:407 | 5637 | #: src/nat/nat_auto.c:716 |
5604 | msgid "upnpc not found\n" | 5638 | msgid "upnpc not found\n" |
5605 | msgstr "«upnpc» no encontrado\n" | 5639 | msgstr "«upnpc» no encontrado\n" |
5606 | 5640 | ||
5607 | #: src/nat/nat_auto.c:437 | 5641 | #: src/nat/nat_auto.c:748 |
5608 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5642 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5609 | msgstr "" | 5643 | msgstr "" |
5610 | 5644 | ||
5611 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5645 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5612 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5646 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5613 | msgstr "" | 5647 | msgstr "" |
5614 | 5648 | ||
5615 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5649 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5616 | msgid "No working gnunet-helper-nat-server found\n" | 5650 | msgid "No working gnunet-helper-nat-server found\n" |
5617 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" | 5651 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" |
5618 | 5652 | ||
5619 | #: src/nat/nat_auto.c:483 | 5653 | #: src/nat/nat_auto.c:797 |
5620 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5654 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5621 | msgstr "" | 5655 | msgstr "" |
5622 | 5656 | ||
@@ -5630,27 +5664,27 @@ msgstr "«gnunet-helper-nat-server» generó la dirección mal formada «%s»\n" | |||
5630 | msgid "Failed to start %s\n" | 5664 | msgid "Failed to start %s\n" |
5631 | msgstr "Se produjo un fallo al arrancar %s\n" | 5665 | msgstr "Se produjo un fallo al arrancar %s\n" |
5632 | 5666 | ||
5633 | #: src/nat/nat.c:1286 | 5667 | #: src/nat/nat.c:1305 |
5634 | msgid "Error while running upnp client:\n" | 5668 | msgid "Error while running upnp client:\n" |
5635 | msgstr "" | 5669 | msgstr "" |
5636 | 5670 | ||
5637 | #: src/nat/nat.c:1356 | 5671 | #: src/nat/nat.c:1375 |
5638 | #, fuzzy, c-format | 5672 | #, fuzzy, c-format |
5639 | msgid "Failed to run upnp client for port %u\n" | 5673 | msgid "Failed to run upnp client for port %u\n" |
5640 | msgstr "" | 5674 | msgstr "" |
5641 | "Se produjo un fallo al inicializar la clave de la máquina desde el par %u\n" | 5675 | "Se produjo un fallo al inicializar la clave de la máquina desde el par %u\n" |
5642 | 5676 | ||
5643 | #: src/nat/nat.c:1498 | 5677 | #: src/nat/nat.c:1517 |
5644 | msgid "malformed" | 5678 | msgid "malformed" |
5645 | msgstr "mal formado" | 5679 | msgstr "mal formado" |
5646 | 5680 | ||
5647 | #: src/nat/nat.c:1552 | 5681 | #: src/nat/nat.c:1571 |
5648 | msgid "" | 5682 | msgid "" |
5649 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5683 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5650 | "disabling UPnP \n" | 5684 | "disabling UPnP \n" |
5651 | msgstr "" | 5685 | msgstr "" |
5652 | 5686 | ||
5653 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5687 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5654 | #, c-format | 5688 | #, c-format |
5655 | msgid "" | 5689 | msgid "" |
5656 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5690 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
@@ -5659,98 +5693,98 @@ msgstr "" | |||
5659 | "La configuración requiere «%s», pero el binario no está instalado de forma " | 5693 | "La configuración requiere «%s», pero el binario no está instalado de forma " |
5660 | "correcta (SUID bit no activado). Opción deshabilitada.\n" | 5694 | "correcta (SUID bit no activado). Opción deshabilitada.\n" |
5661 | 5695 | ||
5662 | #: src/nat/nat.c:1830 | 5696 | #: src/nat/nat.c:1855 |
5663 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5697 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5664 | msgstr "" | 5698 | msgstr "" |
5665 | "Direcciones internas IP no conocidas, no se puede usar el método del " | 5699 | "Direcciones internas IP no conocidas, no se puede usar el método del " |
5666 | "recorrido NAT ICMP\n" | 5700 | "recorrido NAT ICMP\n" |
5667 | 5701 | ||
5668 | #: src/nat/nat.c:1846 | 5702 | #: src/nat/nat.c:1871 |
5669 | #, c-format | 5703 | #, c-format |
5670 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5704 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5671 | msgstr "Ejecutando gnunet-helper-nat-client %s %s %u\n" | 5705 | msgstr "Ejecutando gnunet-helper-nat-client %s %s %u\n" |
5672 | 5706 | ||
5673 | #: src/nat/nat.c:1931 | 5707 | #: src/nat/nat.c:1958 |
5674 | msgid "Operation Successful" | 5708 | msgid "Operation Successful" |
5675 | msgstr "" | 5709 | msgstr "" |
5676 | 5710 | ||
5677 | #: src/nat/nat.c:1933 | 5711 | #: src/nat/nat.c:1960 |
5678 | msgid "Internal Failure (IPC, ...)" | 5712 | msgid "Internal Failure (IPC, ...)" |
5679 | msgstr "" | 5713 | msgstr "" |
5680 | 5714 | ||
5681 | #: src/nat/nat.c:1935 | 5715 | #: src/nat/nat.c:1962 |
5682 | msgid "Failure in network subsystem, check permissions." | 5716 | msgid "Failure in network subsystem, check permissions." |
5683 | msgstr "" | 5717 | msgstr "" |
5684 | 5718 | ||
5685 | #: src/nat/nat.c:1937 | 5719 | #: src/nat/nat.c:1964 |
5686 | msgid "Encountered timeout while performing operation" | 5720 | msgid "Encountered timeout while performing operation" |
5687 | msgstr "" | 5721 | msgstr "" |
5688 | 5722 | ||
5689 | #: src/nat/nat.c:1939 | 5723 | #: src/nat/nat.c:1966 |
5690 | msgid "detected that we are offline" | 5724 | msgid "detected that we are offline" |
5691 | msgstr "" | 5725 | msgstr "" |
5692 | 5726 | ||
5693 | #: src/nat/nat.c:1941 | 5727 | #: src/nat/nat.c:1968 |
5694 | #, fuzzy | 5728 | #, fuzzy |
5695 | msgid "`upnpc` command not found" | 5729 | msgid "`upnpc` command not found" |
5696 | msgstr "comando «upnpc» no encontrado\n" | 5730 | msgstr "comando «upnpc» no encontrado\n" |
5697 | 5731 | ||
5698 | #: src/nat/nat.c:1943 | 5732 | #: src/nat/nat.c:1970 |
5699 | #, fuzzy | 5733 | #, fuzzy |
5700 | msgid "Failed to run `upnpc` command" | 5734 | msgid "Failed to run `upnpc` command" |
5701 | msgstr "Se produjo un fallo al ejecutar «%s»\n" | 5735 | msgstr "Se produjo un fallo al ejecutar «%s»\n" |
5702 | 5736 | ||
5703 | #: src/nat/nat.c:1945 | 5737 | #: src/nat/nat.c:1972 |
5704 | #, fuzzy | 5738 | #, fuzzy |
5705 | msgid "`upnpc' command took too long, process killed" | 5739 | msgid "`upnpc' command took too long, process killed" |
5706 | msgstr "comando «upnpc» no encontrado\n" | 5740 | msgstr "comando «upnpc» no encontrado\n" |
5707 | 5741 | ||
5708 | #: src/nat/nat.c:1947 | 5742 | #: src/nat/nat.c:1974 |
5709 | msgid "`upnpc' command failed to establish port mapping" | 5743 | msgid "`upnpc' command failed to establish port mapping" |
5710 | msgstr "" | 5744 | msgstr "" |
5711 | 5745 | ||
5712 | #: src/nat/nat.c:1949 | 5746 | #: src/nat/nat.c:1976 |
5713 | #, fuzzy | 5747 | #, fuzzy |
5714 | msgid "`external-ip' command not found" | 5748 | msgid "`external-ip' command not found" |
5715 | msgstr "comando «external-ip» no encontrado\n" | 5749 | msgstr "comando «external-ip» no encontrado\n" |
5716 | 5750 | ||
5717 | #: src/nat/nat.c:1951 | 5751 | #: src/nat/nat.c:1978 |
5718 | #, fuzzy | 5752 | #, fuzzy |
5719 | msgid "Failed to run `external-ip` command" | 5753 | msgid "Failed to run `external-ip` command" |
5720 | msgstr "Se produjo un fallo al ejecutar «%s»\n" | 5754 | msgstr "Se produjo un fallo al ejecutar «%s»\n" |
5721 | 5755 | ||
5722 | #: src/nat/nat.c:1953 | 5756 | #: src/nat/nat.c:1980 |
5723 | #, fuzzy | 5757 | #, fuzzy |
5724 | msgid "`external-ip' command output invalid" | 5758 | msgid "`external-ip' command output invalid" |
5725 | msgstr "comando «external-ip» no encontrado\n" | 5759 | msgstr "comando «external-ip» no encontrado\n" |
5726 | 5760 | ||
5727 | #: src/nat/nat.c:1955 | 5761 | #: src/nat/nat.c:1982 |
5728 | msgid "no valid address was returned by `external-ip'" | 5762 | msgid "no valid address was returned by `external-ip'" |
5729 | msgstr "" | 5763 | msgstr "" |
5730 | 5764 | ||
5731 | #: src/nat/nat.c:1957 | 5765 | #: src/nat/nat.c:1984 |
5732 | #, fuzzy | 5766 | #, fuzzy |
5733 | msgid "Could not determine interface with internal/local network address" | 5767 | msgid "Could not determine interface with internal/local network address" |
5734 | msgstr "No se pudo determinar la ruta de instalación de los módulos.\n" | 5768 | msgstr "No se pudo determinar la ruta de instalación de los módulos.\n" |
5735 | 5769 | ||
5736 | #: src/nat/nat.c:1959 | 5770 | #: src/nat/nat.c:1986 |
5737 | #, fuzzy | 5771 | #, fuzzy |
5738 | msgid "No functioning gnunet-helper-nat-server installation found" | 5772 | msgid "No functioning gnunet-helper-nat-server installation found" |
5739 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" | 5773 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" |
5740 | 5774 | ||
5741 | #: src/nat/nat.c:1961 | 5775 | #: src/nat/nat.c:1988 |
5742 | msgid "NAT test could not be initialized" | 5776 | msgid "NAT test could not be initialized" |
5743 | msgstr "" | 5777 | msgstr "" |
5744 | 5778 | ||
5745 | #: src/nat/nat.c:1963 | 5779 | #: src/nat/nat.c:1990 |
5746 | msgid "NAT test timeout reached" | 5780 | msgid "NAT test timeout reached" |
5747 | msgstr "" | 5781 | msgstr "" |
5748 | 5782 | ||
5749 | #: src/nat/nat.c:1965 | 5783 | #: src/nat/nat.c:1992 |
5750 | msgid "could not register NAT" | 5784 | msgid "could not register NAT" |
5751 | msgstr "" | 5785 | msgstr "" |
5752 | 5786 | ||
5753 | #: src/nat/nat.c:1967 | 5787 | #: src/nat/nat.c:1994 |
5754 | #, fuzzy | 5788 | #, fuzzy |
5755 | msgid "No working gnunet-helper-nat-client installation found" | 5789 | msgid "No working gnunet-helper-nat-client installation found" |
5756 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" | 5790 | msgstr "No se ha encontrado un «gnunet-helper-nat-server» funcional\n" |
@@ -5763,18 +5797,14 @@ msgstr "comando «external-ip» no encontrado\n" | |||
5763 | msgid "`upnpc' command not found\n" | 5797 | msgid "`upnpc' command not found\n" |
5764 | msgstr "comando «upnpc» no encontrado\n" | 5798 | msgstr "comando «upnpc» no encontrado\n" |
5765 | 5799 | ||
5766 | #: src/nat/nat_test.c:360 | 5800 | #: src/nat/nat_test.c:467 |
5767 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5768 | msgstr "Se produjo un fallo al conectar con «gnunet-nat-server»\n" | ||
5769 | |||
5770 | #: src/nat/nat_test.c:462 | ||
5771 | #, c-format | 5801 | #, c-format |
5772 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5802 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5773 | msgstr "" | 5803 | msgstr "" |
5774 | "Se produjo un fallo al crear el «socket» de escucha asociado a «%s» para " | 5804 | "Se produjo un fallo al crear el «socket» de escucha asociado a «%s» para " |
5775 | "pruebas NAT: %s\n" | 5805 | "pruebas NAT: %s\n" |
5776 | 5806 | ||
5777 | #: src/nat/nat_test.c:497 | 5807 | #: src/nat/nat_test.c:502 |
5778 | #, fuzzy | 5808 | #, fuzzy |
5779 | msgid "NAT test failed to start NAT library\n" | 5809 | msgid "NAT test failed to start NAT library\n" |
5780 | msgstr "El almacén de nombres no pudo añadir el registro\n" | 5810 | msgstr "El almacén de nombres no pudo añadir el registro\n" |
@@ -5818,8 +5848,8 @@ msgstr "retraso entre rondas" | |||
5818 | msgid "Measure quality and performance of the NSE service." | 5848 | msgid "Measure quality and performance of the NSE service." |
5819 | msgstr "Medir la calidad y rendimiento del servicio NSE." | 5849 | msgstr "Medir la calidad y rendimiento del servicio NSE." |
5820 | 5850 | ||
5821 | #: src/nse/gnunet-service-nse.c:1537 | 5851 | #: src/nse/gnunet-service-nse.c:1541 |
5822 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5852 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5823 | msgid "Value is too large.\n" | 5853 | msgid "Value is too large.\n" |
5824 | msgstr "" | 5854 | msgstr "" |
5825 | 5855 | ||
@@ -6092,7 +6122,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
6092 | msgstr "" | 6122 | msgstr "" |
6093 | 6123 | ||
6094 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 6124 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
6095 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 6125 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
6096 | #, fuzzy, c-format | 6126 | #, fuzzy, c-format |
6097 | msgid "" | 6127 | msgid "" |
6098 | "Error executing SQL query: %s\n" | 6128 | "Error executing SQL query: %s\n" |
@@ -6100,7 +6130,7 @@ msgid "" | |||
6100 | msgstr "Error abriendo fichero «%s»: %s\n" | 6130 | msgstr "Error abriendo fichero «%s»: %s\n" |
6101 | 6131 | ||
6102 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 6132 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
6103 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 6133 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
6104 | #, fuzzy, c-format | 6134 | #, fuzzy, c-format |
6105 | msgid "" | 6135 | msgid "" |
6106 | "Error preparing SQL query: %s\n" | 6136 | "Error preparing SQL query: %s\n" |
@@ -6157,43 +6187,48 @@ msgstr "Se produjo un fallo al procesar un mensaje «HELLO»: mal formado\n" | |||
6157 | msgid "Failed to get master counters!\n" | 6187 | msgid "Failed to get master counters!\n" |
6158 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | 6188 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" |
6159 | 6189 | ||
6160 | #: src/psycstore/gnunet-service-psycstore.c:645 | 6190 | #: src/psycstore/gnunet-service-psycstore.c:657 |
6161 | #, fuzzy | 6191 | #, fuzzy, c-format |
6162 | msgid "Failed to begin modifying state!\n" | 6192 | msgid "Failed to begin modifying state: %d\n" |
6163 | msgstr "Se produjo un fallo al cargar el estado: %s\n" | 6193 | msgstr "Se produjo un fallo al cargar el estado: %s\n" |
6164 | 6194 | ||
6165 | #: src/psycstore/gnunet-service-psycstore.c:656 | 6195 | #: src/psycstore/gnunet-service-psycstore.c:667 |
6196 | #, fuzzy, c-format | ||
6197 | msgid "Failed to modify state: %d\n" | ||
6198 | msgstr "Se produjo un fallo al cargar el estado: %s\n" | ||
6199 | |||
6200 | #: src/psycstore/gnunet-service-psycstore.c:675 | ||
6166 | #, fuzzy | 6201 | #, fuzzy |
6167 | msgid "Failed to end modifying state!\n" | 6202 | msgid "Failed to end modifying state!\n" |
6168 | msgstr "Se produjo un fallo al cargar el estado: %s\n" | 6203 | msgstr "Se produjo un fallo al cargar el estado: %s\n" |
6169 | 6204 | ||
6170 | #: src/psycstore/gnunet-service-psycstore.c:686 | 6205 | #: src/psycstore/gnunet-service-psycstore.c:706 |
6171 | msgid "Tried to set invalid state variable name!\n" | 6206 | msgid "Tried to set invalid state variable name!\n" |
6172 | msgstr "" | 6207 | msgstr "" |
6173 | 6208 | ||
6174 | #: src/psycstore/gnunet-service-psycstore.c:700 | 6209 | #: src/psycstore/gnunet-service-psycstore.c:720 |
6175 | #, fuzzy | 6210 | #, fuzzy |
6176 | msgid "Failed to begin synchronizing state!\n" | 6211 | msgid "Failed to begin synchronizing state!\n" |
6177 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | 6212 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" |
6178 | 6213 | ||
6179 | #: src/psycstore/gnunet-service-psycstore.c:717 | 6214 | #: src/psycstore/gnunet-service-psycstore.c:737 |
6180 | #, fuzzy | 6215 | #, fuzzy |
6181 | msgid "Failed to end synchronizing state!\n" | 6216 | msgid "Failed to end synchronizing state!\n" |
6182 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | 6217 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" |
6183 | 6218 | ||
6184 | #: src/psycstore/gnunet-service-psycstore.c:737 | 6219 | #: src/psycstore/gnunet-service-psycstore.c:757 |
6185 | #: src/psycstore/gnunet-service-psycstore.c:756 | 6220 | #: src/psycstore/gnunet-service-psycstore.c:776 |
6186 | #, fuzzy | 6221 | #, fuzzy |
6187 | msgid "Failed to reset state!\n" | 6222 | msgid "Failed to reset state!\n" |
6188 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | 6223 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" |
6189 | 6224 | ||
6190 | #: src/psycstore/gnunet-service-psycstore.c:779 | 6225 | #: src/psycstore/gnunet-service-psycstore.c:799 |
6191 | #: src/psycstore/gnunet-service-psycstore.c:830 | 6226 | #: src/psycstore/gnunet-service-psycstore.c:850 |
6192 | msgid "Tried to get invalid state variable name!\n" | 6227 | msgid "Tried to get invalid state variable name!\n" |
6193 | msgstr "" | 6228 | msgstr "" |
6194 | 6229 | ||
6195 | #: src/psycstore/gnunet-service-psycstore.c:806 | 6230 | #: src/psycstore/gnunet-service-psycstore.c:826 |
6196 | #: src/psycstore/gnunet-service-psycstore.c:845 | 6231 | #: src/psycstore/gnunet-service-psycstore.c:865 |
6197 | #, fuzzy | 6232 | #, fuzzy |
6198 | msgid "Failed to get state variable!\n" | 6233 | msgid "Failed to get state variable!\n" |
6199 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | 6234 | msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" |
@@ -6203,7 +6238,7 @@ msgstr "¡Se produjo un fallo al obtener la clave de máquina!\n" | |||
6203 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 6238 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
6204 | msgstr "«%s» falló en %s: %d con el error: %s\n" | 6239 | msgstr "«%s» falló en %s: %d con el error: %s\n" |
6205 | 6240 | ||
6206 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 6241 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
6207 | #, fuzzy | 6242 | #, fuzzy |
6208 | msgid "SQLite database running\n" | 6243 | msgid "SQLite database running\n" |
6209 | msgstr "Base de datos sqlite ejecutándose\n" | 6244 | msgstr "Base de datos sqlite ejecutándose\n" |
@@ -6477,37 +6512,37 @@ msgstr "" | |||
6477 | msgid "test if the public key KEY has been revoked" | 6512 | msgid "test if the public key KEY has been revoked" |
6478 | msgstr "" | 6513 | msgstr "" |
6479 | 6514 | ||
6480 | #: src/revocation/gnunet-service-revocation.c:427 | 6515 | #: src/revocation/gnunet-service-revocation.c:481 |
6481 | #, fuzzy | 6516 | #, fuzzy |
6482 | msgid "# unsupported revocations received via set union" | 6517 | msgid "# unsupported revocations received via set union" |
6483 | msgstr "Opciones de paquete IPv4 recibidas. Ignoradas.\n" | 6518 | msgstr "Opciones de paquete IPv4 recibidas. Ignoradas.\n" |
6484 | 6519 | ||
6485 | #: src/revocation/gnunet-service-revocation.c:436 | 6520 | #: src/revocation/gnunet-service-revocation.c:490 |
6486 | #, fuzzy | 6521 | #, fuzzy |
6487 | msgid "# revocation messages received via set union" | 6522 | msgid "# revocation messages received via set union" |
6488 | msgstr "# mensajes «DATA» recibidos vía WLAN" | 6523 | msgstr "# mensajes «DATA» recibidos vía WLAN" |
6489 | 6524 | ||
6490 | #: src/revocation/gnunet-service-revocation.c:441 | 6525 | #: src/revocation/gnunet-service-revocation.c:495 |
6491 | #, c-format | 6526 | #, c-format |
6492 | msgid "Error computing revocation set union with %s\n" | 6527 | msgid "Error computing revocation set union with %s\n" |
6493 | msgstr "" | 6528 | msgstr "" |
6494 | 6529 | ||
6495 | #: src/revocation/gnunet-service-revocation.c:445 | 6530 | #: src/revocation/gnunet-service-revocation.c:499 |
6496 | #, fuzzy | 6531 | #, fuzzy |
6497 | msgid "# revocation set unions failed" | 6532 | msgid "# revocation set unions failed" |
6498 | msgstr "# sesiones wlan creadas" | 6533 | msgstr "# sesiones wlan creadas" |
6499 | 6534 | ||
6500 | #: src/revocation/gnunet-service-revocation.c:454 | 6535 | #: src/revocation/gnunet-service-revocation.c:508 |
6501 | #, fuzzy | 6536 | #, fuzzy |
6502 | msgid "# revocation set unions completed" | 6537 | msgid "# revocation set unions completed" |
6503 | msgstr "# transmisiones de fragmentos completadas" | 6538 | msgstr "# transmisiones de fragmentos completadas" |
6504 | 6539 | ||
6505 | #: src/revocation/gnunet-service-revocation.c:493 | 6540 | #: src/revocation/gnunet-service-revocation.c:547 |
6506 | #: src/revocation/gnunet-service-revocation.c:759 | 6541 | #: src/revocation/gnunet-service-revocation.c:780 |
6507 | msgid "SET service crashed, terminating revocation service\n" | 6542 | msgid "SET service crashed, terminating revocation service\n" |
6508 | msgstr "" | 6543 | msgstr "" |
6509 | 6544 | ||
6510 | #: src/revocation/gnunet-service-revocation.c:851 | 6545 | #: src/revocation/gnunet-service-revocation.c:872 |
6511 | #, fuzzy | 6546 | #, fuzzy |
6512 | msgid "Could not open revocation database file!" | 6547 | msgid "Could not open revocation database file!" |
6513 | msgstr "No se pudo conectar con el almacén de datos." | 6548 | msgstr "No se pudo conectar con el almacén de datos." |
@@ -6571,7 +6606,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6571 | msgstr "" | 6606 | msgstr "" |
6572 | 6607 | ||
6573 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6608 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6574 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6609 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6610 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6611 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6575 | #, fuzzy | 6612 | #, fuzzy |
6576 | msgid "Connect to CADET failed\n" | 6613 | msgid "Connect to CADET failed\n" |
6577 | msgstr "Conexión fallida (¿bug?)\n" | 6614 | msgstr "Conexión fallida (¿bug?)\n" |
@@ -6850,7 +6887,7 @@ msgstr "" | |||
6850 | "\n" | 6887 | "\n" |
6851 | "Error subiendo el fichero %s\n" | 6888 | "Error subiendo el fichero %s\n" |
6852 | 6889 | ||
6853 | #: src/set/gnunet-service-set.c:1531 | 6890 | #: src/set/gnunet-service-set.c:1960 |
6854 | #, fuzzy | 6891 | #, fuzzy |
6855 | msgid "Could not connect to cadet service\n" | 6892 | msgid "Could not connect to cadet service\n" |
6856 | msgstr "¡No se pudo conectar al servicio %s!\n" | 6893 | msgstr "¡No se pudo conectar al servicio %s!\n" |
@@ -6978,7 +7015,7 @@ msgstr "Imprime estadísticas acerca de las operaciones de GNUnet." | |||
6978 | msgid "Could not save some persistent statistics\n" | 7015 | msgid "Could not save some persistent statistics\n" |
6979 | msgstr "No se pudieron guardar algunas estadísticas persistentes\n" | 7016 | msgstr "No se pudieron guardar algunas estadísticas persistentes\n" |
6980 | 7017 | ||
6981 | #: src/statistics/statistics_api.c:1090 | 7018 | #: src/statistics/statistics_api.c:1088 |
6982 | msgid "" | 7019 | msgid "" |
6983 | "Failed to receive acknowledgement from statistics service, some statistics " | 7020 | "Failed to receive acknowledgement from statistics service, some statistics " |
6984 | "might have been lost!\n" | 7021 | "might have been lost!\n" |
@@ -8683,7 +8720,7 @@ msgstr "" | |||
8683 | msgid "# sessions allocated" | 8720 | msgid "# sessions allocated" |
8684 | msgstr "# sesiones WLAN alojadas" | 8721 | msgstr "# sesiones WLAN alojadas" |
8685 | 8722 | ||
8686 | #: src/transport/transport_api.c:812 | 8723 | #: src/transport/transport_api.c:827 |
8687 | #, c-format | 8724 | #, c-format |
8688 | msgid "Received unexpected message of type %u in %s:%u\n" | 8725 | msgid "Received unexpected message of type %u in %s:%u\n" |
8689 | msgstr "Recibido mensaje inesperado del tipo %u en %s:%u\n" | 8726 | msgstr "Recibido mensaje inesperado del tipo %u en %s:%u\n" |
@@ -8726,18 +8763,18 @@ msgstr "Los metadatos serializados «%s» son mayores de lo permitido (%u>%u)" | |||
8726 | msgid "Metadata `%s' failed to deserialize" | 8763 | msgid "Metadata `%s' failed to deserialize" |
8727 | msgstr "Se produjo un fallo al deserializar los metadatos «%s»" | 8764 | msgstr "Se produjo un fallo al deserializar los metadatos «%s»" |
8728 | 8765 | ||
8729 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8766 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8730 | #, c-format | 8767 | #, c-format |
8731 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8768 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8732 | msgstr "" | 8769 | msgstr "" |
8733 | "La ruta tipo UNIX «%s» es demasiado larga, la longitud máxima es %llu\n" | 8770 | "La ruta tipo UNIX «%s» es demasiado larga, la longitud máxima es %llu\n" |
8734 | 8771 | ||
8735 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8772 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8736 | #, c-format | 8773 | #, c-format |
8737 | msgid "Using `%s' instead\n" | 8774 | msgid "Using `%s' instead\n" |
8738 | msgstr "Usando «%s» en su defecto\n" | 8775 | msgstr "Usando «%s» en su defecto\n" |
8739 | 8776 | ||
8740 | #: src/util/client.c:362 | 8777 | #: src/util/client.c:367 |
8741 | #, c-format | 8778 | #, c-format |
8742 | msgid "" | 8779 | msgid "" |
8743 | "Could not determine valid hostname and port for service `%s' from " | 8780 | "Could not determine valid hostname and port for service `%s' from " |
@@ -8746,17 +8783,17 @@ msgstr "" | |||
8746 | "No se pudo determinar un nombre de máquina y un puerto válidos para el " | 8783 | "No se pudo determinar un nombre de máquina y un puerto válidos para el " |
8747 | "servicio «%s» a partir de la configuración.\n" | 8784 | "servicio «%s» a partir de la configuración.\n" |
8748 | 8785 | ||
8749 | #: src/util/client.c:370 | 8786 | #: src/util/client.c:375 |
8750 | #, c-format | 8787 | #, c-format |
8751 | msgid "Need a non-empty hostname for service `%s'.\n" | 8788 | msgid "Need a non-empty hostname for service `%s'.\n" |
8752 | msgstr "Se necesita un nombre de máquina no vacío para el servicio «%s».\n" | 8789 | msgstr "Se necesita un nombre de máquina no vacío para el servicio «%s».\n" |
8753 | 8790 | ||
8754 | #: src/util/client.c:1039 | 8791 | #: src/util/client.c:1044 |
8755 | #, fuzzy, c-format | 8792 | #, fuzzy, c-format |
8756 | msgid "Could not connect to service `%s', configuration broken.\n" | 8793 | msgid "Could not connect to service `%s', configuration broken.\n" |
8757 | msgstr "No se pudo conectar con el servicio «%s», no debe estar corriendo.\n" | 8794 | msgstr "No se pudo conectar con el servicio «%s», no debe estar corriendo.\n" |
8758 | 8795 | ||
8759 | #: src/util/client.c:1051 | 8796 | #: src/util/client.c:1056 |
8760 | #, c-format | 8797 | #, c-format |
8761 | msgid "Failure to transmit request to service `%s'\n" | 8798 | msgid "Failure to transmit request to service `%s'\n" |
8762 | msgstr "Se produjo un fallo al transmitir la petición al servicio «%s»\n" | 8799 | msgstr "Se produjo un fallo al transmitir la petición al servicio «%s»\n" |
@@ -8842,12 +8879,12 @@ msgid "" | |||
8842 | "as an environmental variable\n" | 8879 | "as an environmental variable\n" |
8843 | msgstr "" | 8880 | msgstr "" |
8844 | 8881 | ||
8845 | #: src/util/connection.c:424 | 8882 | #: src/util/connection.c:429 |
8846 | #, c-format | 8883 | #, c-format |
8847 | msgid "Access denied to `%s'\n" | 8884 | msgid "Access denied to `%s'\n" |
8848 | msgstr "Acceso denegado a «%s»\n" | 8885 | msgstr "Acceso denegado a «%s»\n" |
8849 | 8886 | ||
8850 | #: src/util/connection.c:441 | 8887 | #: src/util/connection.c:446 |
8851 | #, c-format | 8888 | #, c-format |
8852 | msgid "Accepting connection from `%s': %p\n" | 8889 | msgid "Accepting connection from `%s': %p\n" |
8853 | msgstr "Aceptando conexión desde «%s»: %p\n" | 8890 | msgstr "Aceptando conexión desde «%s»: %p\n" |
@@ -8921,17 +8958,17 @@ msgstr "No se pudo acceder a la clave de máquina.\n" | |||
8921 | msgid "libgcrypt has not the expected version (version %s is required).\n" | 8958 | msgid "libgcrypt has not the expected version (version %s is required).\n" |
8922 | msgstr "libgcrypt no tiene la versión esperada (se necesita la versión %s).\n" | 8959 | msgstr "libgcrypt no tiene la versión esperada (se necesita la versión %s).\n" |
8923 | 8960 | ||
8924 | #: src/util/crypto_rsa.c:981 | 8961 | #: src/util/crypto_rsa.c:999 |
8925 | #, c-format | 8962 | #, c-format |
8926 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8963 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8927 | msgstr "La verificación de la firma RSA fallo en %s:%d: %s\n" | 8964 | msgstr "La verificación de la firma RSA fallo en %s:%d: %s\n" |
8928 | 8965 | ||
8929 | #: src/util/disk.c:1221 | 8966 | #: src/util/disk.c:1226 |
8930 | #, c-format | 8967 | #, c-format |
8931 | msgid "Expected `%s' to be a directory!\n" | 8968 | msgid "Expected `%s' to be a directory!\n" |
8932 | msgstr "¡Se esperaba que «%s» fuera un directorio!\n" | 8969 | msgstr "¡Se esperaba que «%s» fuera un directorio!\n" |
8933 | 8970 | ||
8934 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8971 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8935 | #, c-format | 8972 | #, c-format |
8936 | msgid "Cannot obtain information about user `%s': %s\n" | 8973 | msgid "Cannot obtain information about user `%s': %s\n" |
8937 | msgstr "No se pudo obtener información acerca del usuario «%s»: %s\n" | 8974 | msgstr "No se pudo obtener información acerca del usuario «%s»: %s\n" |
@@ -9450,6 +9487,16 @@ msgstr "demonizar (desasociar del terminal)" | |||
9450 | msgid "signal (%d, %p) returned %d.\n" | 9487 | msgid "signal (%d, %p) returned %d.\n" |
9451 | msgstr "señal (%d, %p) devolvió %d.\n" | 9488 | msgstr "señal (%d, %p) devolvió %d.\n" |
9452 | 9489 | ||
9490 | #: src/util/socks.c:592 | ||
9491 | #, c-format | ||
9492 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
9493 | msgstr "" | ||
9494 | |||
9495 | #: src/util/socks.c:605 | ||
9496 | #, c-format | ||
9497 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
9498 | msgstr "" | ||
9499 | |||
9453 | #: src/util/strings.c:146 | 9500 | #: src/util/strings.c:146 |
9454 | msgid "b" | 9501 | msgid "b" |
9455 | msgstr "b" | 9502 | msgstr "b" |
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: gnunet 0.10.1\n" | 8 | "Project-Id-Version: gnunet 0.10.1\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 10 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
11 | "PO-Revision-Date: 2015-03-24 01:41+0100\n" | 11 | "PO-Revision-Date: 2015-03-24 01:41+0100\n" |
12 | "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" | 12 | "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" |
13 | "Language-Team: French <traduc@traduc.org>\n" | 13 | "Language-Team: French <traduc@traduc.org>\n" |
@@ -342,13 +342,11 @@ msgid "" | |||
342 | "%llu\n" | 342 | "%llu\n" |
343 | msgstr "" | 343 | msgstr "" |
344 | 344 | ||
345 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 345 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
346 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
347 | msgid "solver to use" | 346 | msgid "solver to use" |
348 | msgstr "solveur utilisé" | 347 | msgstr "solveur utilisé" |
349 | 348 | ||
350 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 349 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
351 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
352 | #: src/ats-tests/gnunet-solver-eval.c:924 | 350 | #: src/ats-tests/gnunet-solver-eval.c:924 |
353 | msgid "experiment to use" | 351 | msgid "experiment to use" |
354 | msgstr "" | 352 | msgstr "" |
@@ -625,54 +623,54 @@ msgstr "" | |||
625 | msgid "Print information about ATS state" | 623 | msgid "Print information about ATS state" |
626 | msgstr "" | 624 | msgstr "" |
627 | 625 | ||
628 | #: src/cadet/gnunet-cadet.c:376 | 626 | #: src/cadet/gnunet-cadet.c:458 |
629 | #, c-format | 627 | #, c-format |
630 | msgid "Invalid target `%s'\n" | 628 | msgid "Invalid target `%s'\n" |
631 | msgstr "" | 629 | msgstr "" |
632 | 630 | ||
633 | #: src/cadet/gnunet-cadet.c:643 | 631 | #: src/cadet/gnunet-cadet.c:735 |
634 | #, c-format | 632 | #, c-format |
635 | msgid "Invalid peer ID `%s'\n" | 633 | msgid "Invalid peer ID `%s'\n" |
636 | msgstr "" | 634 | msgstr "" |
637 | 635 | ||
638 | #: src/cadet/gnunet-cadet.c:686 | 636 | #: src/cadet/gnunet-cadet.c:778 |
639 | #, c-format | 637 | #, c-format |
640 | msgid "Invalid tunnel owner `%s'\n" | 638 | msgid "Invalid tunnel owner `%s'\n" |
641 | msgstr "" | 639 | msgstr "" |
642 | 640 | ||
643 | #: src/cadet/gnunet-cadet.c:752 | 641 | #: src/cadet/gnunet-cadet.c:844 |
644 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 642 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
645 | msgstr "" | 643 | msgstr "" |
646 | 644 | ||
647 | #: src/cadet/gnunet-cadet.c:849 | 645 | #: src/cadet/gnunet-cadet.c:941 |
648 | msgid "provide information about a particular connection" | 646 | msgid "provide information about a particular connection" |
649 | msgstr "" | 647 | msgstr "" |
650 | 648 | ||
651 | #: src/cadet/gnunet-cadet.c:852 | 649 | #: src/cadet/gnunet-cadet.c:944 |
652 | msgid "activate echo mode" | 650 | msgid "activate echo mode" |
653 | msgstr "" | 651 | msgstr "" |
654 | 652 | ||
655 | #: src/cadet/gnunet-cadet.c:855 | 653 | #: src/cadet/gnunet-cadet.c:947 |
656 | msgid "dump debug information to STDERR" | 654 | msgid "dump debug information to STDERR" |
657 | msgstr "" | 655 | msgstr "" |
658 | 656 | ||
659 | #: src/cadet/gnunet-cadet.c:861 | 657 | #: src/cadet/gnunet-cadet.c:953 |
660 | msgid "port to listen to (default; 0)" | 658 | msgid "port to listen to (default; 0)" |
661 | msgstr "" | 659 | msgstr "" |
662 | 660 | ||
663 | #: src/cadet/gnunet-cadet.c:864 | 661 | #: src/cadet/gnunet-cadet.c:956 |
664 | msgid "provide information about a patricular peer" | 662 | msgid "provide information about a patricular peer" |
665 | msgstr "" | 663 | msgstr "" |
666 | 664 | ||
667 | #: src/cadet/gnunet-cadet.c:867 | 665 | #: src/cadet/gnunet-cadet.c:959 |
668 | msgid "provide information about all peers" | 666 | msgid "provide information about all peers" |
669 | msgstr "" | 667 | msgstr "" |
670 | 668 | ||
671 | #: src/cadet/gnunet-cadet.c:870 | 669 | #: src/cadet/gnunet-cadet.c:962 |
672 | msgid "provide information about a particular tunnel" | 670 | msgid "provide information about a particular tunnel" |
673 | msgstr "" | 671 | msgstr "" |
674 | 672 | ||
675 | #: src/cadet/gnunet-cadet.c:873 | 673 | #: src/cadet/gnunet-cadet.c:965 |
676 | msgid "provide information about all tunnels" | 674 | msgid "provide information about all tunnels" |
677 | msgstr "" | 675 | msgstr "" |
678 | 676 | ||
@@ -1365,20 +1363,20 @@ msgstr "" | |||
1365 | msgid "# PAYLOAD dropped (out of order)" | 1363 | msgid "# PAYLOAD dropped (out of order)" |
1366 | msgstr "" | 1364 | msgstr "" |
1367 | 1365 | ||
1368 | #: src/core/gnunet-service-core_neighbours.c:177 | 1366 | #: src/core/gnunet-service-core_neighbours.c:178 |
1369 | msgid "# sessions terminated by transport disconnect" | 1367 | msgid "# sessions terminated by transport disconnect" |
1370 | msgstr "" | 1368 | msgstr "" |
1371 | 1369 | ||
1372 | #: src/core/gnunet-service-core_neighbours.c:193 | 1370 | #: src/core/gnunet-service-core_neighbours.c:194 |
1373 | #: src/core/gnunet-service-core_neighbours.c:355 | 1371 | #: src/core/gnunet-service-core_neighbours.c:362 |
1374 | msgid "# neighbour entries allocated" | 1372 | msgid "# neighbour entries allocated" |
1375 | msgstr "" | 1373 | msgstr "" |
1376 | 1374 | ||
1377 | #: src/core/gnunet-service-core_neighbours.c:264 | 1375 | #: src/core/gnunet-service-core_neighbours.c:270 |
1378 | msgid "# encrypted bytes given to transport" | 1376 | msgid "# encrypted bytes given to transport" |
1379 | msgstr "" | 1377 | msgstr "" |
1380 | 1378 | ||
1381 | #: src/core/gnunet-service-core_neighbours.c:438 | 1379 | #: src/core/gnunet-service-core_neighbours.c:448 |
1382 | #, c-format | 1380 | #, c-format |
1383 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1381 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1384 | msgstr "" | 1382 | msgstr "" |
@@ -1421,7 +1419,7 @@ msgid "# updates to my type map" | |||
1421 | msgstr "" | 1419 | msgstr "" |
1422 | 1420 | ||
1423 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1421 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1424 | #: src/datastore/gnunet-service-datastore.c:853 | 1422 | #: src/datastore/gnunet-service-datastore.c:866 |
1425 | msgid "# bytes stored" | 1423 | msgid "# bytes stored" |
1426 | msgstr "" | 1424 | msgstr "" |
1427 | 1425 | ||
@@ -1494,83 +1492,83 @@ msgstr "" | |||
1494 | msgid "Failed to transmit request to drop database.\n" | 1492 | msgid "Failed to transmit request to drop database.\n" |
1495 | msgstr "" | 1493 | msgstr "" |
1496 | 1494 | ||
1497 | #: src/datastore/datastore_api.c:394 | 1495 | #: src/datastore/datastore_api.c:395 |
1498 | msgid "# queue entry timeouts" | 1496 | msgid "# queue entry timeouts" |
1499 | msgstr "" | 1497 | msgstr "" |
1500 | 1498 | ||
1501 | #: src/datastore/datastore_api.c:443 | 1499 | #: src/datastore/datastore_api.c:450 |
1502 | msgid "# queue overflows" | 1500 | msgid "# queue overflows" |
1503 | msgstr "" | 1501 | msgstr "" |
1504 | 1502 | ||
1505 | #: src/datastore/datastore_api.c:471 | 1503 | #: src/datastore/datastore_api.c:478 |
1506 | msgid "# queue entries created" | 1504 | msgid "# queue entries created" |
1507 | msgstr "" | 1505 | msgstr "" |
1508 | 1506 | ||
1509 | #: src/datastore/datastore_api.c:491 | 1507 | #: src/datastore/datastore_api.c:498 |
1510 | msgid "# Requests dropped from datastore queue" | 1508 | msgid "# Requests dropped from datastore queue" |
1511 | msgstr "" | 1509 | msgstr "" |
1512 | 1510 | ||
1513 | #: src/datastore/datastore_api.c:533 | 1511 | #: src/datastore/datastore_api.c:540 |
1514 | msgid "# datastore connections (re)created" | 1512 | msgid "# datastore connections (re)created" |
1515 | msgstr "" | 1513 | msgstr "" |
1516 | 1514 | ||
1517 | #: src/datastore/datastore_api.c:621 | 1515 | #: src/datastore/datastore_api.c:628 |
1518 | msgid "# transmission request failures" | 1516 | msgid "# transmission request failures" |
1519 | msgstr "" | 1517 | msgstr "" |
1520 | 1518 | ||
1521 | #: src/datastore/datastore_api.c:645 | 1519 | #: src/datastore/datastore_api.c:652 |
1522 | msgid "# bytes sent to datastore" | 1520 | msgid "# bytes sent to datastore" |
1523 | msgstr "" | 1521 | msgstr "" |
1524 | 1522 | ||
1525 | #: src/datastore/datastore_api.c:787 | 1523 | #: src/datastore/datastore_api.c:794 |
1526 | msgid "Failed to receive status response from database." | 1524 | msgid "Failed to receive status response from database." |
1527 | msgstr "" | 1525 | msgstr "" |
1528 | 1526 | ||
1529 | #: src/datastore/datastore_api.c:801 | 1527 | #: src/datastore/datastore_api.c:808 |
1530 | msgid "Error reading response from datastore service" | 1528 | msgid "Error reading response from datastore service" |
1531 | msgstr "" | 1529 | msgstr "" |
1532 | 1530 | ||
1533 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1531 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1534 | msgid "Invalid error message received from datastore service" | 1532 | msgid "Invalid error message received from datastore service" |
1535 | msgstr "" | 1533 | msgstr "" |
1536 | 1534 | ||
1537 | #: src/datastore/datastore_api.c:823 | 1535 | #: src/datastore/datastore_api.c:830 |
1538 | msgid "# status messages received" | 1536 | msgid "# status messages received" |
1539 | msgstr "" | 1537 | msgstr "" |
1540 | 1538 | ||
1541 | #: src/datastore/datastore_api.c:893 | 1539 | #: src/datastore/datastore_api.c:909 |
1542 | msgid "# PUT requests executed" | 1540 | msgid "# PUT requests executed" |
1543 | msgstr "" | 1541 | msgstr "" |
1544 | 1542 | ||
1545 | #: src/datastore/datastore_api.c:959 | 1543 | #: src/datastore/datastore_api.c:975 |
1546 | msgid "# RESERVE requests executed" | 1544 | msgid "# RESERVE requests executed" |
1547 | msgstr "" | 1545 | msgstr "" |
1548 | 1546 | ||
1549 | #: src/datastore/datastore_api.c:1020 | 1547 | #: src/datastore/datastore_api.c:1036 |
1550 | msgid "# RELEASE RESERVE requests executed" | 1548 | msgid "# RELEASE RESERVE requests executed" |
1551 | msgstr "" | 1549 | msgstr "" |
1552 | 1550 | ||
1553 | #: src/datastore/datastore_api.c:1080 | 1551 | #: src/datastore/datastore_api.c:1096 |
1554 | msgid "# UPDATE requests executed" | 1552 | msgid "# UPDATE requests executed" |
1555 | msgstr "" | 1553 | msgstr "" |
1556 | 1554 | ||
1557 | #: src/datastore/datastore_api.c:1144 | 1555 | #: src/datastore/datastore_api.c:1160 |
1558 | msgid "# REMOVE requests executed" | 1556 | msgid "# REMOVE requests executed" |
1559 | msgstr "" | 1557 | msgstr "" |
1560 | 1558 | ||
1561 | #: src/datastore/datastore_api.c:1248 | 1559 | #: src/datastore/datastore_api.c:1264 |
1562 | msgid "# Results received" | 1560 | msgid "# Results received" |
1563 | msgstr "" | 1561 | msgstr "" |
1564 | 1562 | ||
1565 | #: src/datastore/datastore_api.c:1315 | 1563 | #: src/datastore/datastore_api.c:1331 |
1566 | msgid "# GET REPLICATION requests executed" | 1564 | msgid "# GET REPLICATION requests executed" |
1567 | msgstr "" | 1565 | msgstr "" |
1568 | 1566 | ||
1569 | #: src/datastore/datastore_api.c:1378 | 1567 | #: src/datastore/datastore_api.c:1394 |
1570 | msgid "# GET ZERO ANONYMITY requests executed" | 1568 | msgid "# GET ZERO ANONYMITY requests executed" |
1571 | msgstr "" | 1569 | msgstr "" |
1572 | 1570 | ||
1573 | #: src/datastore/datastore_api.c:1447 | 1571 | #: src/datastore/datastore_api.c:1463 |
1574 | msgid "# GET requests executed" | 1572 | msgid "# GET requests executed" |
1575 | msgstr "" | 1573 | msgstr "" |
1576 | 1574 | ||
@@ -1594,165 +1592,165 @@ msgstr "" | |||
1594 | msgid "Manipulate GNUnet datastore" | 1592 | msgid "Manipulate GNUnet datastore" |
1595 | msgstr "" | 1593 | msgstr "" |
1596 | 1594 | ||
1597 | #: src/datastore/gnunet-service-datastore.c:365 | 1595 | #: src/datastore/gnunet-service-datastore.c:372 |
1598 | msgid "# bytes expired" | 1596 | msgid "# bytes expired" |
1599 | msgstr "" | 1597 | msgstr "" |
1600 | 1598 | ||
1601 | #: src/datastore/gnunet-service-datastore.c:439 | 1599 | #: src/datastore/gnunet-service-datastore.c:447 |
1602 | msgid "# bytes purged (low-priority)" | 1600 | msgid "# bytes purged (low-priority)" |
1603 | msgstr "" | 1601 | msgstr "" |
1604 | 1602 | ||
1605 | #: src/datastore/gnunet-service-datastore.c:497 | 1603 | #: src/datastore/gnunet-service-datastore.c:505 |
1606 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1604 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1607 | msgid "Transmission to client failed!\n" | 1605 | msgid "Transmission to client failed!\n" |
1608 | msgstr "" | 1606 | msgstr "" |
1609 | 1607 | ||
1610 | #: src/datastore/gnunet-service-datastore.c:528 | 1608 | #: src/datastore/gnunet-service-datastore.c:536 |
1611 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1609 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1612 | msgid "Shutdown in progress, aborting transmission.\n" | 1610 | msgid "Shutdown in progress, aborting transmission.\n" |
1613 | msgstr "" | 1611 | msgstr "" |
1614 | 1612 | ||
1615 | #: src/datastore/gnunet-service-datastore.c:643 | 1613 | #: src/datastore/gnunet-service-datastore.c:652 |
1616 | msgid "# results found" | 1614 | msgid "# results found" |
1617 | msgstr "" | 1615 | msgstr "" |
1618 | 1616 | ||
1619 | #: src/datastore/gnunet-service-datastore.c:686 | 1617 | #: src/datastore/gnunet-service-datastore.c:696 |
1620 | #, c-format | 1618 | #, c-format |
1621 | msgid "" | 1619 | msgid "" |
1622 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1620 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
1623 | "%llu bytes\n" | 1621 | "%llu bytes\n" |
1624 | msgstr "" | 1622 | msgstr "" |
1625 | 1623 | ||
1626 | #: src/datastore/gnunet-service-datastore.c:697 | 1624 | #: src/datastore/gnunet-service-datastore.c:707 |
1627 | #, c-format | 1625 | #, c-format |
1628 | msgid "" | 1626 | msgid "" |
1629 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1627 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
1630 | "bytes)\n" | 1628 | "bytes)\n" |
1631 | msgstr "" | 1629 | msgstr "" |
1632 | 1630 | ||
1633 | #: src/datastore/gnunet-service-datastore.c:701 | 1631 | #: src/datastore/gnunet-service-datastore.c:711 |
1634 | msgid "" | 1632 | msgid "" |
1635 | "Insufficient space to satisfy request and requested amount is larger than " | 1633 | "Insufficient space to satisfy request and requested amount is larger than " |
1636 | "cache size" | 1634 | "cache size" |
1637 | msgstr "" | 1635 | msgstr "" |
1638 | 1636 | ||
1639 | #: src/datastore/gnunet-service-datastore.c:707 | 1637 | #: src/datastore/gnunet-service-datastore.c:717 |
1640 | msgid "Insufficient space to satisfy request" | 1638 | msgid "Insufficient space to satisfy request" |
1641 | msgstr "" | 1639 | msgstr "" |
1642 | 1640 | ||
1643 | #: src/datastore/gnunet-service-datastore.c:712 | 1641 | #: src/datastore/gnunet-service-datastore.c:723 |
1644 | #: src/datastore/gnunet-service-datastore.c:767 | 1642 | #: src/datastore/gnunet-service-datastore.c:779 |
1645 | #: src/datastore/gnunet-service-datastore.c:1019 | 1643 | #: src/datastore/gnunet-service-datastore.c:1035 |
1646 | #: src/datastore/gnunet-service-datastore.c:1597 | 1644 | #: src/datastore/gnunet-service-datastore.c:1630 |
1647 | msgid "# reserved" | 1645 | msgid "# reserved" |
1648 | msgstr "" | 1646 | msgstr "" |
1649 | 1647 | ||
1650 | #: src/datastore/gnunet-service-datastore.c:780 | 1648 | #: src/datastore/gnunet-service-datastore.c:793 |
1651 | msgid "Could not find matching reservation" | 1649 | msgid "Could not find matching reservation" |
1652 | msgstr "" | 1650 | msgstr "" |
1653 | 1651 | ||
1654 | #: src/datastore/gnunet-service-datastore.c:865 | 1652 | #: src/datastore/gnunet-service-datastore.c:879 |
1655 | #, c-format | 1653 | #, c-format |
1656 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1654 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1657 | msgstr "" | 1655 | msgstr "" |
1658 | 1656 | ||
1659 | #: src/datastore/gnunet-service-datastore.c:1071 | 1657 | #: src/datastore/gnunet-service-datastore.c:1088 |
1660 | msgid "# GET requests received" | 1658 | msgid "# GET requests received" |
1661 | msgstr "" | 1659 | msgstr "" |
1662 | 1660 | ||
1663 | #: src/datastore/gnunet-service-datastore.c:1083 | 1661 | #: src/datastore/gnunet-service-datastore.c:1101 |
1664 | msgid "# requests filtered by bloomfilter" | 1662 | msgid "# requests filtered by bloomfilter" |
1665 | msgstr "" | 1663 | msgstr "" |
1666 | 1664 | ||
1667 | #: src/datastore/gnunet-service-datastore.c:1121 | 1665 | #: src/datastore/gnunet-service-datastore.c:1141 |
1668 | msgid "# UPDATE requests received" | 1666 | msgid "# UPDATE requests received" |
1669 | msgstr "" | 1667 | msgstr "" |
1670 | 1668 | ||
1671 | #: src/datastore/gnunet-service-datastore.c:1149 | 1669 | #: src/datastore/gnunet-service-datastore.c:1170 |
1672 | msgid "# GET REPLICATION requests received" | 1670 | msgid "# GET REPLICATION requests received" |
1673 | msgstr "" | 1671 | msgstr "" |
1674 | 1672 | ||
1675 | #: src/datastore/gnunet-service-datastore.c:1182 | 1673 | #: src/datastore/gnunet-service-datastore.c:1204 |
1676 | msgid "# GET ZERO ANONYMITY requests received" | 1674 | msgid "# GET ZERO ANONYMITY requests received" |
1677 | msgstr "" | 1675 | msgstr "" |
1678 | 1676 | ||
1679 | #: src/datastore/gnunet-service-datastore.c:1207 | 1677 | #: src/datastore/gnunet-service-datastore.c:1233 |
1680 | msgid "Content not found" | 1678 | msgid "Content not found" |
1681 | msgstr "" | 1679 | msgstr "" |
1682 | 1680 | ||
1683 | #: src/datastore/gnunet-service-datastore.c:1215 | 1681 | #: src/datastore/gnunet-service-datastore.c:1244 |
1684 | msgid "# bytes removed (explicit request)" | 1682 | msgid "# bytes removed (explicit request)" |
1685 | msgstr "" | 1683 | msgstr "" |
1686 | 1684 | ||
1687 | #: src/datastore/gnunet-service-datastore.c:1247 | 1685 | #: src/datastore/gnunet-service-datastore.c:1277 |
1688 | msgid "# REMOVE requests received" | 1686 | msgid "# REMOVE requests received" |
1689 | msgstr "" | 1687 | msgstr "" |
1690 | 1688 | ||
1691 | #: src/datastore/gnunet-service-datastore.c:1291 | 1689 | #: src/datastore/gnunet-service-datastore.c:1321 |
1692 | #, c-format | 1690 | #, c-format |
1693 | msgid "" | 1691 | msgid "" |
1694 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1692 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
1695 | msgstr "" | 1693 | msgstr "" |
1696 | 1694 | ||
1697 | #: src/datastore/gnunet-service-datastore.c:1296 | 1695 | #: src/datastore/gnunet-service-datastore.c:1326 |
1698 | #, c-format | 1696 | #, c-format |
1699 | msgid "New payload: %lld\n" | 1697 | msgid "New payload: %lld\n" |
1700 | msgstr "" | 1698 | msgstr "" |
1701 | 1699 | ||
1702 | #: src/datastore/gnunet-service-datastore.c:1349 | 1700 | #: src/datastore/gnunet-service-datastore.c:1379 |
1703 | #, c-format | 1701 | #, c-format |
1704 | msgid "Loading `%s' datastore plugin\n" | 1702 | msgid "Loading `%s' datastore plugin\n" |
1705 | msgstr "" | 1703 | msgstr "" |
1706 | 1704 | ||
1707 | #: src/datastore/gnunet-service-datastore.c:1360 | 1705 | #: src/datastore/gnunet-service-datastore.c:1390 |
1708 | #, c-format | 1706 | #, c-format |
1709 | msgid "Failed to load datastore plugin for `%s'\n" | 1707 | msgid "Failed to load datastore plugin for `%s'\n" |
1710 | msgstr "" | 1708 | msgstr "" |
1711 | 1709 | ||
1712 | #: src/datastore/gnunet-service-datastore.c:1429 | 1710 | #: src/datastore/gnunet-service-datastore.c:1459 |
1713 | #: src/datastore/gnunet-service-datastore.c:1490 | 1711 | #: src/datastore/gnunet-service-datastore.c:1522 |
1714 | msgid "Bloomfilter construction complete.\n" | 1712 | msgid "Bloomfilter construction complete.\n" |
1715 | msgstr "" | 1713 | msgstr "" |
1716 | 1714 | ||
1717 | #: src/datastore/gnunet-service-datastore.c:1477 | 1715 | #: src/datastore/gnunet-service-datastore.c:1509 |
1718 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1716 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1719 | msgstr "" | 1717 | msgstr "" |
1720 | 1718 | ||
1721 | #: src/datastore/gnunet-service-datastore.c:1487 | 1719 | #: src/datastore/gnunet-service-datastore.c:1519 |
1722 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1720 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1723 | msgstr "" | 1721 | msgstr "" |
1724 | 1722 | ||
1725 | #: src/datastore/gnunet-service-datastore.c:1625 | 1723 | #: src/datastore/gnunet-service-datastore.c:1661 |
1726 | #: src/datastore/gnunet-service-datastore.c:1636 | 1724 | #: src/datastore/gnunet-service-datastore.c:1673 |
1727 | #, c-format | 1725 | #, c-format |
1728 | msgid "No `%s' specified for `%s' in configuration!\n" | 1726 | msgid "No `%s' specified for `%s' in configuration!\n" |
1729 | msgstr "" | 1727 | msgstr "" |
1730 | 1728 | ||
1731 | #: src/datastore/gnunet-service-datastore.c:1630 | 1729 | #: src/datastore/gnunet-service-datastore.c:1667 |
1732 | #, c-format | 1730 | #, c-format |
1733 | msgid "# bytes used in file-sharing datastore `%s'" | 1731 | msgid "# bytes used in file-sharing datastore `%s'" |
1734 | msgstr "" | 1732 | msgstr "" |
1735 | 1733 | ||
1736 | #: src/datastore/gnunet-service-datastore.c:1641 | 1734 | #: src/datastore/gnunet-service-datastore.c:1679 |
1737 | msgid "# quota" | 1735 | msgid "# quota" |
1738 | msgstr "" | 1736 | msgstr "" |
1739 | 1737 | ||
1740 | #: src/datastore/gnunet-service-datastore.c:1643 | 1738 | #: src/datastore/gnunet-service-datastore.c:1681 |
1741 | msgid "# cache size" | 1739 | msgid "# cache size" |
1742 | msgstr "" | 1740 | msgstr "" |
1743 | 1741 | ||
1744 | #: src/datastore/gnunet-service-datastore.c:1656 | 1742 | #: src/datastore/gnunet-service-datastore.c:1696 |
1745 | #, c-format | 1743 | #, c-format |
1746 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1744 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1747 | msgstr "" | 1745 | msgstr "" |
1748 | 1746 | ||
1749 | #: src/datastore/gnunet-service-datastore.c:1674 | 1747 | #: src/datastore/gnunet-service-datastore.c:1714 |
1750 | #: src/datastore/gnunet-service-datastore.c:1690 | 1748 | #: src/datastore/gnunet-service-datastore.c:1730 |
1751 | #, c-format | 1749 | #, c-format |
1752 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1750 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1753 | msgstr "" | 1751 | msgstr "" |
1754 | 1752 | ||
1755 | #: src/datastore/gnunet-service-datastore.c:1720 | 1753 | #: src/datastore/gnunet-service-datastore.c:1760 |
1756 | msgid "Failed to initialize bloomfilter.\n" | 1754 | msgid "Failed to initialize bloomfilter.\n" |
1757 | msgstr "" | 1755 | msgstr "" |
1758 | 1756 | ||
@@ -1809,7 +1807,7 @@ msgstr "" | |||
1809 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1807 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1810 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1808 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1811 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1809 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1812 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1810 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1813 | #, c-format | 1811 | #, c-format |
1814 | msgid "Unable to initialize SQLite: %s.\n" | 1812 | msgid "Unable to initialize SQLite: %s.\n" |
1815 | msgstr "" | 1813 | msgstr "" |
@@ -1884,9 +1882,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
1884 | msgstr "" | 1882 | msgstr "" |
1885 | 1883 | ||
1886 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 1884 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
1887 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 1885 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
1888 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 1886 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
1889 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 1887 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
1890 | #: src/nse/gnunet-nse-profiler.c:873 | 1888 | #: src/nse/gnunet-nse-profiler.c:873 |
1891 | msgid "be verbose (print progress information)" | 1889 | msgid "be verbose (print progress information)" |
1892 | msgstr "" | 1890 | msgstr "" |
@@ -1903,8 +1901,7 @@ msgstr "" | |||
1903 | msgid "Prints all packets that go through the DHT." | 1901 | msgid "Prints all packets that go through the DHT." |
1904 | msgstr "" | 1902 | msgstr "" |
1905 | 1903 | ||
1906 | #: src/dht/gnunet_dht_profiler.c:1393 | 1904 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
1907 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
1908 | #, c-format | 1905 | #, c-format |
1909 | msgid "Exiting as the number of peers is %u\n" | 1906 | msgid "Exiting as the number of peers is %u\n" |
1910 | msgstr "" | 1907 | msgstr "" |
@@ -2117,8 +2114,7 @@ msgstr "" | |||
2117 | msgid "# GET requests given to datacache" | 2114 | msgid "# GET requests given to datacache" |
2118 | msgstr "" | 2115 | msgstr "" |
2119 | 2116 | ||
2120 | #: src/dht/gnunet-service-dht_hello.c:84 | 2117 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2121 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2122 | msgid "# HELLOs obtained from peerinfo" | 2118 | msgid "# HELLOs obtained from peerinfo" |
2123 | msgstr "" | 2119 | msgstr "" |
2124 | 2120 | ||
@@ -2940,71 +2936,71 @@ msgstr "" | |||
2940 | msgid "Failed to connect to datastore." | 2936 | msgid "Failed to connect to datastore." |
2941 | msgstr "" | 2937 | msgstr "" |
2942 | 2938 | ||
2943 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 2939 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
2944 | #, c-format | 2940 | #, c-format |
2945 | msgid "Publishing failed: %s" | 2941 | msgid "Publishing failed: %s" |
2946 | msgstr "" | 2942 | msgstr "" |
2947 | 2943 | ||
2948 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 2944 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
2949 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 2945 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
2950 | #, c-format | 2946 | #, c-format |
2951 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 2947 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
2952 | msgstr "" | 2948 | msgstr "" |
2953 | 2949 | ||
2954 | #: src/fs/fs_publish.c:711 | 2950 | #: src/fs/fs_publish.c:709 |
2955 | msgid "timeout on index-start request to `fs' service" | 2951 | msgid "timeout on index-start request to `fs' service" |
2956 | msgstr "" | 2952 | msgstr "" |
2957 | 2953 | ||
2958 | #: src/fs/fs_publish.c:723 | 2954 | #: src/fs/fs_publish.c:721 |
2959 | msgid "unknown error" | 2955 | msgid "unknown error" |
2960 | msgstr "" | 2956 | msgstr "" |
2961 | 2957 | ||
2962 | #: src/fs/fs_publish.c:767 | 2958 | #: src/fs/fs_publish.c:765 |
2963 | msgid "failed to compute hash" | 2959 | msgid "failed to compute hash" |
2964 | msgstr "" | 2960 | msgstr "" |
2965 | 2961 | ||
2966 | #: src/fs/fs_publish.c:787 | 2962 | #: src/fs/fs_publish.c:785 |
2967 | msgid "filename too long" | 2963 | msgid "filename too long" |
2968 | msgstr "" | 2964 | msgstr "" |
2969 | 2965 | ||
2970 | #: src/fs/fs_publish.c:812 | 2966 | #: src/fs/fs_publish.c:810 |
2971 | msgid "could not connect to `fs' service" | 2967 | msgid "could not connect to `fs' service" |
2972 | msgstr "" | 2968 | msgstr "" |
2973 | 2969 | ||
2974 | #: src/fs/fs_publish.c:835 | 2970 | #: src/fs/fs_publish.c:833 |
2975 | #, c-format | 2971 | #, c-format |
2976 | msgid "Failed to get file identifiers for `%s'\n" | 2972 | msgid "Failed to get file identifiers for `%s'\n" |
2977 | msgstr "" | 2973 | msgstr "" |
2978 | 2974 | ||
2979 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 2975 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
2980 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 2976 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
2981 | msgstr "" | 2977 | msgstr "" |
2982 | 2978 | ||
2983 | #: src/fs/fs_publish.c:1014 | 2979 | #: src/fs/fs_publish.c:1012 |
2984 | #, c-format | 2980 | #, c-format |
2985 | msgid "Recursive upload failed at `%s': %s" | 2981 | msgid "Recursive upload failed at `%s': %s" |
2986 | msgstr "" | 2982 | msgstr "" |
2987 | 2983 | ||
2988 | #: src/fs/fs_publish.c:1022 | 2984 | #: src/fs/fs_publish.c:1020 |
2989 | #, c-format | 2985 | #, c-format |
2990 | msgid "Recursive upload failed: %s" | 2986 | msgid "Recursive upload failed: %s" |
2991 | msgstr "" | 2987 | msgstr "" |
2992 | 2988 | ||
2993 | #: src/fs/fs_publish.c:1062 | 2989 | #: src/fs/fs_publish.c:1060 |
2994 | msgid "needs to be an actual file" | 2990 | msgid "needs to be an actual file" |
2995 | msgstr "" | 2991 | msgstr "" |
2996 | 2992 | ||
2997 | #: src/fs/fs_publish.c:1301 | 2993 | #: src/fs/fs_publish.c:1299 |
2998 | #, fuzzy, c-format | 2994 | #, fuzzy, c-format |
2999 | msgid "Datastore failure: %s" | 2995 | msgid "Datastore failure: %s" |
3000 | msgstr "pa_stream_new() échoué : %s\n" | 2996 | msgstr "pa_stream_new() échoué : %s\n" |
3001 | 2997 | ||
3002 | #: src/fs/fs_publish.c:1392 | 2998 | #: src/fs/fs_publish.c:1390 |
3003 | #, c-format | 2999 | #, c-format |
3004 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3000 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3005 | msgstr "" | 3001 | msgstr "" |
3006 | 3002 | ||
3007 | #: src/fs/fs_publish_ksk.c:219 | 3003 | #: src/fs/fs_publish_ksk.c:224 |
3008 | msgid "Could not connect to datastore." | 3004 | msgid "Could not connect to datastore." |
3009 | msgstr "" | 3005 | msgstr "" |
3010 | 3006 | ||
@@ -3172,48 +3168,48 @@ msgstr "" | |||
3172 | msgid "Failed to save state to file %s\n" | 3168 | msgid "Failed to save state to file %s\n" |
3173 | msgstr "" | 3169 | msgstr "" |
3174 | 3170 | ||
3175 | #: src/fs/gnunet-auto-share.c:402 | 3171 | #: src/fs/gnunet-auto-share.c:415 |
3176 | #, c-format | 3172 | #, c-format |
3177 | msgid "Publication of `%s' done\n" | 3173 | msgid "Publication of `%s' done\n" |
3178 | msgstr "" | 3174 | msgstr "" |
3179 | 3175 | ||
3180 | #: src/fs/gnunet-auto-share.c:490 | 3176 | #: src/fs/gnunet-auto-share.c:504 |
3181 | #, c-format | 3177 | #, c-format |
3182 | msgid "Publishing `%s'\n" | 3178 | msgid "Publishing `%s'\n" |
3183 | msgstr "" | 3179 | msgstr "" |
3184 | 3180 | ||
3185 | #: src/fs/gnunet-auto-share.c:499 | 3181 | #: src/fs/gnunet-auto-share.c:514 |
3186 | #, c-format | 3182 | #, c-format |
3187 | msgid "Failed to run `%s'\n" | 3183 | msgid "Failed to run `%s'\n" |
3188 | msgstr "" | 3184 | msgstr "" |
3189 | 3185 | ||
3190 | #: src/fs/gnunet-auto-share.c:688 | 3186 | #: src/fs/gnunet-auto-share.c:725 |
3191 | #, c-format | 3187 | #, c-format |
3192 | msgid "" | 3188 | msgid "" |
3193 | "You must specify one and only one directory name for automatic publication.\n" | 3189 | "You must specify one and only one directory name for automatic publication.\n" |
3194 | msgstr "" | 3190 | msgstr "" |
3195 | 3191 | ||
3196 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3192 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3197 | msgid "set the desired LEVEL of sender-anonymity" | 3193 | msgid "set the desired LEVEL of sender-anonymity" |
3198 | msgstr "" | 3194 | msgstr "" |
3199 | 3195 | ||
3200 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3196 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3201 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3197 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3202 | msgstr "" | 3198 | msgstr "" |
3203 | 3199 | ||
3204 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3200 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3205 | msgid "do not use libextractor to add keywords or metadata" | 3201 | msgid "do not use libextractor to add keywords or metadata" |
3206 | msgstr "" | 3202 | msgstr "" |
3207 | 3203 | ||
3208 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3204 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3209 | msgid "specify the priority of the content" | 3205 | msgid "specify the priority of the content" |
3210 | msgstr "" | 3206 | msgstr "" |
3211 | 3207 | ||
3212 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3208 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3213 | msgid "set the desired replication LEVEL" | 3209 | msgid "set the desired replication LEVEL" |
3214 | msgstr "" | 3210 | msgstr "" |
3215 | 3211 | ||
3216 | #: src/fs/gnunet-auto-share.c:772 | 3212 | #: src/fs/gnunet-auto-share.c:815 |
3217 | msgid "Automatically publish files from a directory on GNUnet" | 3213 | msgid "Automatically publish files from a directory on GNUnet" |
3218 | msgstr "" | 3214 | msgstr "" |
3219 | 3215 | ||
@@ -3280,64 +3276,64 @@ msgstr "" | |||
3280 | msgid "Downloading `%s' done (%s/s).\n" | 3276 | msgid "Downloading `%s' done (%s/s).\n" |
3281 | msgstr "" | 3277 | msgstr "" |
3282 | 3278 | ||
3283 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3279 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3284 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3280 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3285 | #, c-format | 3281 | #, c-format |
3286 | msgid "Unexpected status: %d\n" | 3282 | msgid "Unexpected status: %d\n" |
3287 | msgstr "" | 3283 | msgstr "" |
3288 | 3284 | ||
3289 | #: src/fs/gnunet-download.c:234 | 3285 | #: src/fs/gnunet-download.c:233 |
3290 | msgid "You need to specify a URI argument.\n" | 3286 | msgid "You need to specify a URI argument.\n" |
3291 | msgstr "" | 3287 | msgstr "" |
3292 | 3288 | ||
3293 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3289 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3294 | #, c-format | 3290 | #, c-format |
3295 | msgid "Failed to parse URI: %s\n" | 3291 | msgid "Failed to parse URI: %s\n" |
3296 | msgstr "" | 3292 | msgstr "" |
3297 | 3293 | ||
3298 | #: src/fs/gnunet-download.c:247 | 3294 | #: src/fs/gnunet-download.c:246 |
3299 | msgid "Only CHK or LOC URIs supported.\n" | 3295 | msgid "Only CHK or LOC URIs supported.\n" |
3300 | msgstr "" | 3296 | msgstr "" |
3301 | 3297 | ||
3302 | #: src/fs/gnunet-download.c:254 | 3298 | #: src/fs/gnunet-download.c:253 |
3303 | msgid "Target filename must be specified.\n" | 3299 | msgid "Target filename must be specified.\n" |
3304 | msgstr "" | 3300 | msgstr "" |
3305 | 3301 | ||
3306 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3302 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3307 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3303 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3308 | #, c-format | 3304 | #, c-format |
3309 | msgid "Could not initialize `%s' subsystem.\n" | 3305 | msgid "Could not initialize `%s' subsystem.\n" |
3310 | msgstr "" | 3306 | msgstr "" |
3311 | 3307 | ||
3312 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3308 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3313 | msgid "set the desired LEVEL of receiver-anonymity" | 3309 | msgid "set the desired LEVEL of receiver-anonymity" |
3314 | msgstr "" | 3310 | msgstr "" |
3315 | 3311 | ||
3316 | #: src/fs/gnunet-download.c:308 | 3312 | #: src/fs/gnunet-download.c:307 |
3317 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3313 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3318 | msgstr "" | 3314 | msgstr "" |
3319 | 3315 | ||
3320 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3316 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3321 | msgid "only search the local peer (no P2P network search)" | 3317 | msgid "only search the local peer (no P2P network search)" |
3322 | msgstr "" | 3318 | msgstr "" |
3323 | 3319 | ||
3324 | #: src/fs/gnunet-download.c:314 | 3320 | #: src/fs/gnunet-download.c:313 |
3325 | msgid "write the file to FILENAME" | 3321 | msgid "write the file to FILENAME" |
3326 | msgstr "" | 3322 | msgstr "" |
3327 | 3323 | ||
3328 | #: src/fs/gnunet-download.c:318 | 3324 | #: src/fs/gnunet-download.c:317 |
3329 | msgid "set the maximum number of parallel downloads that is allowed" | 3325 | msgid "set the maximum number of parallel downloads that is allowed" |
3330 | msgstr "" | 3326 | msgstr "" |
3331 | 3327 | ||
3332 | #: src/fs/gnunet-download.c:322 | 3328 | #: src/fs/gnunet-download.c:321 |
3333 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3329 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3334 | msgstr "" | 3330 | msgstr "" |
3335 | 3331 | ||
3336 | #: src/fs/gnunet-download.c:325 | 3332 | #: src/fs/gnunet-download.c:324 |
3337 | msgid "download a GNUnet directory recursively" | 3333 | msgid "download a GNUnet directory recursively" |
3338 | msgstr "" | 3334 | msgstr "" |
3339 | 3335 | ||
3340 | #: src/fs/gnunet-download.c:339 | 3336 | #: src/fs/gnunet-download.c:338 |
3341 | msgid "" | 3337 | msgid "" |
3342 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3338 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3343 | "chk/...)" | 3339 | "chk/...)" |
@@ -3367,186 +3363,186 @@ msgstr "" | |||
3367 | msgid "run a testbed to measure file-sharing performance" | 3363 | msgid "run a testbed to measure file-sharing performance" |
3368 | msgstr "" | 3364 | msgstr "" |
3369 | 3365 | ||
3370 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3366 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3371 | #, c-format | 3367 | #, c-format |
3372 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3368 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3373 | msgstr "" | 3369 | msgstr "" |
3374 | 3370 | ||
3375 | #: src/fs/gnunet-publish.c:257 | 3371 | #: src/fs/gnunet-publish.c:241 |
3376 | #, c-format | 3372 | #, c-format |
3377 | msgid "Error publishing: %s.\n" | 3373 | msgid "Error publishing: %s.\n" |
3378 | msgstr "" | 3374 | msgstr "" |
3379 | 3375 | ||
3380 | #: src/fs/gnunet-publish.c:268 | 3376 | #: src/fs/gnunet-publish.c:248 |
3381 | #, c-format | 3377 | #, c-format |
3382 | msgid "Publishing `%s' done.\n" | 3378 | msgid "Publishing `%s' done.\n" |
3383 | msgstr "" | 3379 | msgstr "" |
3384 | 3380 | ||
3385 | #: src/fs/gnunet-publish.c:273 | 3381 | #: src/fs/gnunet-publish.c:253 |
3386 | #, c-format | 3382 | #, c-format |
3387 | msgid "URI is `%s'.\n" | 3383 | msgid "URI is `%s'.\n" |
3388 | msgstr "" | 3384 | msgstr "" |
3389 | 3385 | ||
3390 | #: src/fs/gnunet-publish.c:281 | 3386 | #: src/fs/gnunet-publish.c:261 |
3391 | #, c-format | 3387 | #, c-format |
3392 | msgid "Namespace URI is `%s'.\n" | 3388 | msgid "Namespace URI is `%s'.\n" |
3393 | msgstr "" | 3389 | msgstr "" |
3394 | 3390 | ||
3395 | #: src/fs/gnunet-publish.c:299 | 3391 | #: src/fs/gnunet-publish.c:277 |
3396 | msgid "Starting cleanup after abort\n" | 3392 | msgid "Starting cleanup after abort\n" |
3397 | msgstr "" | 3393 | msgstr "" |
3398 | 3394 | ||
3399 | #: src/fs/gnunet-publish.c:306 | 3395 | #: src/fs/gnunet-publish.c:284 |
3400 | msgid "Cleanup after abort completed.\n" | 3396 | msgid "Cleanup after abort completed.\n" |
3401 | msgstr "" | 3397 | msgstr "" |
3402 | 3398 | ||
3403 | #: src/fs/gnunet-publish.c:312 | 3399 | #: src/fs/gnunet-publish.c:290 |
3404 | msgid "Cleanup after abort failed.\n" | 3400 | msgid "Cleanup after abort failed.\n" |
3405 | msgstr "" | 3401 | msgstr "" |
3406 | 3402 | ||
3407 | #: src/fs/gnunet-publish.c:447 | 3403 | #: src/fs/gnunet-publish.c:432 |
3408 | #, c-format | 3404 | #, c-format |
3409 | msgid "Meta data for file `%s' (%s)\n" | 3405 | msgid "Meta data for file `%s' (%s)\n" |
3410 | msgstr "" | 3406 | msgstr "" |
3411 | 3407 | ||
3412 | #: src/fs/gnunet-publish.c:449 | 3408 | #: src/fs/gnunet-publish.c:437 |
3413 | #, c-format | 3409 | #, c-format |
3414 | msgid "Keywords for file `%s' (%s)\n" | 3410 | msgid "Keywords for file `%s' (%s)\n" |
3415 | msgstr "" | 3411 | msgstr "" |
3416 | 3412 | ||
3417 | #: src/fs/gnunet-publish.c:594 | 3413 | #: src/fs/gnunet-publish.c:591 |
3418 | msgid "Could not publish\n" | 3414 | msgid "Could not publish\n" |
3419 | msgstr "" | 3415 | msgstr "" |
3420 | 3416 | ||
3421 | #: src/fs/gnunet-publish.c:619 | 3417 | #: src/fs/gnunet-publish.c:616 |
3422 | msgid "Could not start publishing.\n" | 3418 | msgid "Could not start publishing.\n" |
3423 | msgstr "" | 3419 | msgstr "" |
3424 | 3420 | ||
3425 | #: src/fs/gnunet-publish.c:653 | 3421 | #: src/fs/gnunet-publish.c:650 |
3426 | #, c-format | 3422 | #, c-format |
3427 | msgid "Scanning directory `%s'.\n" | 3423 | msgid "Scanning directory `%s'.\n" |
3428 | msgstr "" | 3424 | msgstr "" |
3429 | 3425 | ||
3430 | #: src/fs/gnunet-publish.c:657 | 3426 | #: src/fs/gnunet-publish.c:654 |
3431 | #, c-format | 3427 | #, c-format |
3432 | msgid "Scanning file `%s'.\n" | 3428 | msgid "Scanning file `%s'.\n" |
3433 | msgstr "" | 3429 | msgstr "" |
3434 | 3430 | ||
3435 | #: src/fs/gnunet-publish.c:663 | 3431 | #: src/fs/gnunet-publish.c:660 |
3436 | #, c-format | 3432 | #, c-format |
3437 | msgid "There was trouble processing file `%s', skipping it.\n" | 3433 | msgid "There was trouble processing file `%s', skipping it.\n" |
3438 | msgstr "" | 3434 | msgstr "" |
3439 | 3435 | ||
3440 | #: src/fs/gnunet-publish.c:670 | 3436 | #: src/fs/gnunet-publish.c:667 |
3441 | msgid "Preprocessing complete.\n" | 3437 | msgid "Preprocessing complete.\n" |
3442 | msgstr "" | 3438 | msgstr "" |
3443 | 3439 | ||
3444 | #: src/fs/gnunet-publish.c:675 | 3440 | #: src/fs/gnunet-publish.c:672 |
3445 | #, c-format | 3441 | #, c-format |
3446 | msgid "Extracting meta data from file `%s' complete.\n" | 3442 | msgid "Extracting meta data from file `%s' complete.\n" |
3447 | msgstr "" | 3443 | msgstr "" |
3448 | 3444 | ||
3449 | #: src/fs/gnunet-publish.c:682 | 3445 | #: src/fs/gnunet-publish.c:679 |
3450 | msgid "Meta data extraction has finished.\n" | 3446 | msgid "Meta data extraction has finished.\n" |
3451 | msgstr "" | 3447 | msgstr "" |
3452 | 3448 | ||
3453 | #: src/fs/gnunet-publish.c:691 | 3449 | #: src/fs/gnunet-publish.c:688 |
3454 | msgid "Internal error scanning directory.\n" | 3450 | msgid "Internal error scanning directory.\n" |
3455 | msgstr "" | 3451 | msgstr "" |
3456 | 3452 | ||
3457 | #: src/fs/gnunet-publish.c:723 | 3453 | #: src/fs/gnunet-publish.c:716 |
3458 | #, c-format | 3454 | #, c-format |
3459 | msgid "Selected pseudonym `%s' unknown\n" | 3455 | msgid "Selected pseudonym `%s' unknown\n" |
3460 | msgstr "" | 3456 | msgstr "" |
3461 | 3457 | ||
3462 | #: src/fs/gnunet-publish.c:755 | 3458 | #: src/fs/gnunet-publish.c:749 |
3463 | #, c-format | 3459 | #, c-format |
3464 | msgid "Failed to access `%s': %s\n" | 3460 | msgid "Failed to access `%s': %s\n" |
3465 | msgstr "" | 3461 | msgstr "" |
3466 | 3462 | ||
3467 | #: src/fs/gnunet-publish.c:769 | 3463 | #: src/fs/gnunet-publish.c:763 |
3468 | msgid "" | 3464 | msgid "" |
3469 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3465 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3470 | "installed?\n" | 3466 | "installed?\n" |
3471 | msgstr "" | 3467 | msgstr "" |
3472 | 3468 | ||
3473 | #: src/fs/gnunet-publish.c:825 | 3469 | #: src/fs/gnunet-publish.c:819 |
3474 | #, c-format | 3470 | #, c-format |
3475 | msgid "Cannot extract metadata from a URI!\n" | 3471 | msgid "Cannot extract metadata from a URI!\n" |
3476 | msgstr "" | 3472 | msgstr "" |
3477 | 3473 | ||
3478 | #: src/fs/gnunet-publish.c:832 | 3474 | #: src/fs/gnunet-publish.c:826 |
3479 | #, c-format | 3475 | #, c-format |
3480 | msgid "You must specify one and only one filename for insertion.\n" | 3476 | msgid "You must specify one and only one filename for insertion.\n" |
3481 | msgstr "" | 3477 | msgstr "" |
3482 | 3478 | ||
3483 | #: src/fs/gnunet-publish.c:838 | 3479 | #: src/fs/gnunet-publish.c:832 |
3484 | #, c-format | 3480 | #, c-format |
3485 | msgid "You must NOT specify an URI and a filename.\n" | 3481 | msgid "You must NOT specify an URI and a filename.\n" |
3486 | msgstr "" | 3482 | msgstr "" |
3487 | 3483 | ||
3488 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3484 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3489 | #, c-format | 3485 | #, c-format |
3490 | msgid "Option `%s' is required when using option `%s'.\n" | 3486 | msgid "Option `%s' is required when using option `%s'.\n" |
3491 | msgstr "" | 3487 | msgstr "" |
3492 | 3488 | ||
3493 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3489 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3494 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3490 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3495 | #: src/transport/gnunet-transport.c:1989 | 3491 | #: src/transport/gnunet-transport.c:1989 |
3496 | #, c-format | 3492 | #, c-format |
3497 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3493 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3498 | msgstr "" | 3494 | msgstr "" |
3499 | 3495 | ||
3500 | #: src/fs/gnunet-publish.c:919 | 3496 | #: src/fs/gnunet-publish.c:912 |
3501 | msgid "" | 3497 | msgid "" |
3502 | "print list of extracted keywords that would be used, but do not perform " | 3498 | "print list of extracted keywords that would be used, but do not perform " |
3503 | "upload" | 3499 | "upload" |
3504 | msgstr "" | 3500 | msgstr "" |
3505 | 3501 | ||
3506 | #: src/fs/gnunet-publish.c:923 | 3502 | #: src/fs/gnunet-publish.c:916 |
3507 | msgid "" | 3503 | msgid "" |
3508 | "add an additional keyword for the top-level file or directory (this option " | 3504 | "add an additional keyword for the top-level file or directory (this option " |
3509 | "can be specified multiple times)" | 3505 | "can be specified multiple times)" |
3510 | msgstr "" | 3506 | msgstr "" |
3511 | 3507 | ||
3512 | #: src/fs/gnunet-publish.c:927 | 3508 | #: src/fs/gnunet-publish.c:920 |
3513 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3509 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3514 | msgstr "" | 3510 | msgstr "" |
3515 | 3511 | ||
3516 | #: src/fs/gnunet-publish.c:930 | 3512 | #: src/fs/gnunet-publish.c:923 |
3517 | msgid "" | 3513 | msgid "" |
3518 | "do not index, perform full insertion (stores entire file in encrypted form " | 3514 | "do not index, perform full insertion (stores entire file in encrypted form " |
3519 | "in GNUnet database)" | 3515 | "in GNUnet database)" |
3520 | msgstr "" | 3516 | msgstr "" |
3521 | 3517 | ||
3522 | #: src/fs/gnunet-publish.c:935 | 3518 | #: src/fs/gnunet-publish.c:928 |
3523 | msgid "" | 3519 | msgid "" |
3524 | "specify ID of an updated version to be published in the future (for " | 3520 | "specify ID of an updated version to be published in the future (for " |
3525 | "namespace insertions only)" | 3521 | "namespace insertions only)" |
3526 | msgstr "" | 3522 | msgstr "" |
3527 | 3523 | ||
3528 | #: src/fs/gnunet-publish.c:943 | 3524 | #: src/fs/gnunet-publish.c:936 |
3529 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3525 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3530 | msgstr "" | 3526 | msgstr "" |
3531 | 3527 | ||
3532 | #: src/fs/gnunet-publish.c:949 | 3528 | #: src/fs/gnunet-publish.c:942 |
3533 | msgid "" | 3529 | msgid "" |
3534 | "only simulate the process but do not do any actual publishing (useful to " | 3530 | "only simulate the process but do not do any actual publishing (useful to " |
3535 | "compute URIs)" | 3531 | "compute URIs)" |
3536 | msgstr "" | 3532 | msgstr "" |
3537 | 3533 | ||
3538 | #: src/fs/gnunet-publish.c:953 | 3534 | #: src/fs/gnunet-publish.c:946 |
3539 | msgid "" | 3535 | msgid "" |
3540 | "set the ID of this version of the publication (for namespace insertions only)" | 3536 | "set the ID of this version of the publication (for namespace insertions only)" |
3541 | msgstr "" | 3537 | msgstr "" |
3542 | 3538 | ||
3543 | #: src/fs/gnunet-publish.c:957 | 3539 | #: src/fs/gnunet-publish.c:950 |
3544 | msgid "" | 3540 | msgid "" |
3545 | "URI to be published (can be used instead of passing a file to add keywords " | 3541 | "URI to be published (can be used instead of passing a file to add keywords " |
3546 | "to the file with the respective URI)" | 3542 | "to the file with the respective URI)" |
3547 | msgstr "" | 3543 | msgstr "" |
3548 | 3544 | ||
3549 | #: src/fs/gnunet-publish.c:973 | 3545 | #: src/fs/gnunet-publish.c:966 |
3550 | msgid "Publish a file or directory on GNUnet" | 3546 | msgid "Publish a file or directory on GNUnet" |
3551 | msgstr "" | 3547 | msgstr "" |
3552 | 3548 | ||
@@ -3560,27 +3556,27 @@ msgstr "" | |||
3560 | msgid "Error searching: %s.\n" | 3556 | msgid "Error searching: %s.\n" |
3561 | msgstr "" | 3557 | msgstr "" |
3562 | 3558 | ||
3563 | #: src/fs/gnunet-search.c:246 | 3559 | #: src/fs/gnunet-search.c:245 |
3564 | msgid "Could not create keyword URI from arguments.\n" | 3560 | msgid "Could not create keyword URI from arguments.\n" |
3565 | msgstr "" | 3561 | msgstr "" |
3566 | 3562 | ||
3567 | #: src/fs/gnunet-search.c:270 | 3563 | #: src/fs/gnunet-search.c:269 |
3568 | msgid "Could not start searching.\n" | 3564 | msgid "Could not start searching.\n" |
3569 | msgstr "" | 3565 | msgstr "" |
3570 | 3566 | ||
3571 | #: src/fs/gnunet-search.c:301 | 3567 | #: src/fs/gnunet-search.c:300 |
3572 | msgid "write search results to file starting with PREFIX" | 3568 | msgid "write search results to file starting with PREFIX" |
3573 | msgstr "" | 3569 | msgstr "" |
3574 | 3570 | ||
3575 | #: src/fs/gnunet-search.c:304 | 3571 | #: src/fs/gnunet-search.c:303 |
3576 | msgid "automatically terminate search after DELAY" | 3572 | msgid "automatically terminate search after DELAY" |
3577 | msgstr "" | 3573 | msgstr "" |
3578 | 3574 | ||
3579 | #: src/fs/gnunet-search.c:311 | 3575 | #: src/fs/gnunet-search.c:310 |
3580 | msgid "automatically terminate search after VALUE results are found" | 3576 | msgid "automatically terminate search after VALUE results are found" |
3581 | msgstr "" | 3577 | msgstr "" |
3582 | 3578 | ||
3583 | #: src/fs/gnunet-search.c:322 | 3579 | #: src/fs/gnunet-search.c:321 |
3584 | msgid "Search GNUnet for files that were published on GNUnet" | 3580 | msgid "Search GNUnet for files that were published on GNUnet" |
3585 | msgstr "" | 3581 | msgstr "" |
3586 | 3582 | ||
@@ -3936,16 +3932,16 @@ msgstr "" | |||
3936 | msgid "Unindexing done.\n" | 3932 | msgid "Unindexing done.\n" |
3937 | msgstr "" | 3933 | msgstr "" |
3938 | 3934 | ||
3939 | #: src/fs/gnunet-unindex.c:130 | 3935 | #: src/fs/gnunet-unindex.c:129 |
3940 | #, c-format | 3936 | #, c-format |
3941 | msgid "You must specify one and only one filename for unindexing.\n" | 3937 | msgid "You must specify one and only one filename for unindexing.\n" |
3942 | msgstr "" | 3938 | msgstr "" |
3943 | 3939 | ||
3944 | #: src/fs/gnunet-unindex.c:147 | 3940 | #: src/fs/gnunet-unindex.c:146 |
3945 | msgid "Could not start unindex operation.\n" | 3941 | msgid "Could not start unindex operation.\n" |
3946 | msgstr "" | 3942 | msgstr "" |
3947 | 3943 | ||
3948 | #: src/fs/gnunet-unindex.c:179 | 3944 | #: src/fs/gnunet-unindex.c:178 |
3949 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 3945 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
3950 | msgstr "" | 3946 | msgstr "" |
3951 | 3947 | ||
@@ -4334,68 +4330,68 @@ msgstr "" | |||
4334 | msgid "GNS REST API initialized\n" | 4330 | msgid "GNS REST API initialized\n" |
4335 | msgstr "" | 4331 | msgstr "" |
4336 | 4332 | ||
4337 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4333 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4338 | #, c-format | 4334 | #, c-format |
4339 | msgid "Unable to parse IPv4 address `%s'\n" | 4335 | msgid "Unable to parse IPv4 address `%s'\n" |
4340 | msgstr "" | 4336 | msgstr "" |
4341 | 4337 | ||
4342 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4338 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4343 | #, c-format | 4339 | #, c-format |
4344 | msgid "Failed to serialize NS record with value `%s'\n" | 4340 | msgid "Failed to serialize NS record with value `%s'\n" |
4345 | msgstr "" | 4341 | msgstr "" |
4346 | 4342 | ||
4347 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4343 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4348 | #, c-format | 4344 | #, c-format |
4349 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4345 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4350 | msgstr "" | 4346 | msgstr "" |
4351 | 4347 | ||
4352 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4348 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4353 | #, c-format | 4349 | #, c-format |
4354 | msgid "Failed to serialize CERT record with %u bytes\n" | 4350 | msgid "Failed to serialize CERT record with %u bytes\n" |
4355 | msgstr "" | 4351 | msgstr "" |
4356 | 4352 | ||
4357 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4353 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4358 | #, c-format | 4354 | #, c-format |
4359 | msgid "Unable to parse SOA record `%s'\n" | 4355 | msgid "Unable to parse SOA record `%s'\n" |
4360 | msgstr "" | 4356 | msgstr "" |
4361 | 4357 | ||
4362 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4358 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4363 | #, c-format | 4359 | #, c-format |
4364 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4360 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4365 | msgstr "" | 4361 | msgstr "" |
4366 | 4362 | ||
4367 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4363 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4368 | #, c-format | 4364 | #, c-format |
4369 | msgid "Failed to serialize PTR record with value `%s'\n" | 4365 | msgid "Failed to serialize PTR record with value `%s'\n" |
4370 | msgstr "" | 4366 | msgstr "" |
4371 | 4367 | ||
4372 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4368 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4373 | #, c-format | 4369 | #, c-format |
4374 | msgid "Unable to parse MX record `%s'\n" | 4370 | msgid "Unable to parse MX record `%s'\n" |
4375 | msgstr "" | 4371 | msgstr "" |
4376 | 4372 | ||
4377 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4373 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4378 | #, c-format | 4374 | #, c-format |
4379 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4375 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4380 | msgstr "" | 4376 | msgstr "" |
4381 | 4377 | ||
4382 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4378 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4383 | #, c-format | 4379 | #, c-format |
4384 | msgid "Unable to parse SRV record `%s'\n" | 4380 | msgid "Unable to parse SRV record `%s'\n" |
4385 | msgstr "" | 4381 | msgstr "" |
4386 | 4382 | ||
4387 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4383 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4388 | #, c-format | 4384 | #, c-format |
4389 | msgid "Failed to serialize SRV record with target `%s'\n" | 4385 | msgid "Failed to serialize SRV record with target `%s'\n" |
4390 | msgstr "" | 4386 | msgstr "" |
4391 | 4387 | ||
4392 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4388 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4393 | #, c-format | 4389 | #, c-format |
4394 | msgid "Unable to parse IPv6 address `%s'\n" | 4390 | msgid "Unable to parse IPv6 address `%s'\n" |
4395 | msgstr "" | 4391 | msgstr "" |
4396 | 4392 | ||
4397 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4393 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4398 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4394 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4399 | #, c-format | 4395 | #, c-format |
4400 | msgid "Unable to parse TLSA record string `%s'\n" | 4396 | msgid "Unable to parse TLSA record string `%s'\n" |
4401 | msgstr "" | 4397 | msgstr "" |
@@ -4900,6 +4896,30 @@ msgstr "" | |||
4900 | msgid "Namecache failed to cache block" | 4896 | msgid "Namecache failed to cache block" |
4901 | msgstr "" | 4897 | msgstr "" |
4902 | 4898 | ||
4899 | #: src/namecache/plugin_namecache_flat.c:119 | ||
4900 | #: src/namecache/plugin_namecache_flat.c:236 | ||
4901 | #: src/namestore/plugin_namestore_flat.c:184 | ||
4902 | #: src/namestore/plugin_namestore_flat.c:352 | ||
4903 | #, c-format | ||
4904 | msgid "Unable to initialize file: %s.\n" | ||
4905 | msgstr "" | ||
4906 | |||
4907 | #: src/namecache/plugin_namecache_flat.c:130 | ||
4908 | #: src/namestore/plugin_namestore_flat.c:195 | ||
4909 | #, c-format | ||
4910 | msgid "Unable to get filesize: %s.\n" | ||
4911 | msgstr "" | ||
4912 | |||
4913 | #: src/namecache/plugin_namecache_flat.c:142 | ||
4914 | #: src/namestore/plugin_namestore_flat.c:207 | ||
4915 | #, fuzzy, c-format | ||
4916 | msgid "Unable to read file: %s.\n" | ||
4917 | msgstr "pa_stream_new() échoué : %s\n" | ||
4918 | |||
4919 | #: src/namecache/plugin_namecache_flat.c:391 | ||
4920 | msgid "flat plugin running\n" | ||
4921 | msgstr "" | ||
4922 | |||
4903 | #: src/namecache/plugin_namecache_postgres.c:89 | 4923 | #: src/namecache/plugin_namecache_postgres.c:89 |
4904 | #: src/namestore/plugin_namestore_postgres.c:96 | 4924 | #: src/namestore/plugin_namestore_postgres.c:96 |
4905 | msgid "Failed to create indices\n" | 4925 | msgid "Failed to create indices\n" |
@@ -4996,8 +5016,7 @@ msgstr "" | |||
4996 | msgid "Invalid public key for reverse lookup `%s'\n" | 5016 | msgid "Invalid public key for reverse lookup `%s'\n" |
4997 | msgstr "" | 5017 | msgstr "" |
4998 | 5018 | ||
4999 | #: src/namestore/gnunet-namestore.c:868 | 5019 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5000 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5001 | #, c-format | 5020 | #, c-format |
5002 | msgid "Invalid URI `%s'\n" | 5021 | msgid "Invalid URI `%s'\n" |
5003 | msgstr "" | 5022 | msgstr "" |
@@ -5153,10 +5172,18 @@ msgstr "" | |||
5153 | msgid "Namestore failed to store record\n" | 5172 | msgid "Namestore failed to store record\n" |
5154 | msgstr "" | 5173 | msgstr "" |
5155 | 5174 | ||
5175 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5176 | msgid "flat file database running\n" | ||
5177 | msgstr "" | ||
5178 | |||
5156 | #: src/namestore/plugin_rest_namestore.c:1023 | 5179 | #: src/namestore/plugin_rest_namestore.c:1023 |
5157 | msgid "Namestore REST API initialized\n" | 5180 | msgid "Namestore REST API initialized\n" |
5158 | msgstr "" | 5181 | msgstr "" |
5159 | 5182 | ||
5183 | #: src/nat/gnunet-nat.c:160 | ||
5184 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5185 | msgstr "" | ||
5186 | |||
5160 | #: src/nat/gnunet-nat-server.c:279 | 5187 | #: src/nat/gnunet-nat-server.c:279 |
5161 | #, c-format | 5188 | #, c-format |
5162 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5189 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5166,53 +5193,57 @@ msgstr "" | |||
5166 | msgid "GNUnet NAT traversal test helper daemon" | 5193 | msgid "GNUnet NAT traversal test helper daemon" |
5167 | msgstr "" | 5194 | msgstr "" |
5168 | 5195 | ||
5169 | #: src/nat/nat_auto.c:179 | 5196 | #: src/nat/nat_auto.c:394 |
5170 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5197 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5171 | msgstr "" | 5198 | msgstr "" |
5172 | 5199 | ||
5173 | #: src/nat/nat_auto.c:180 | 5200 | #: src/nat/nat_auto.c:395 |
5174 | msgid "NAT traversal with ICMP Server failed.\n" | 5201 | msgid "NAT traversal with ICMP Server failed.\n" |
5175 | msgstr "" | 5202 | msgstr "" |
5176 | 5203 | ||
5177 | #: src/nat/nat_auto.c:201 | 5204 | #: src/nat/nat_auto.c:416 |
5178 | msgid "Testing connection reversal with ICMP server.\n" | 5205 | msgid "Testing connection reversal with ICMP server.\n" |
5179 | msgstr "" | 5206 | msgstr "" |
5180 | 5207 | ||
5181 | #: src/nat/nat_auto.c:249 | 5208 | #: src/nat/nat_auto.c:448 |
5182 | #, c-format | 5209 | #, c-format |
5183 | msgid "Detected external IP `%s'\n" | 5210 | msgid "Detected external IP `%s'\n" |
5184 | msgstr "" | 5211 | msgstr "" |
5185 | 5212 | ||
5186 | #: src/nat/nat_auto.c:327 | 5213 | #: src/nat/nat_auto.c:579 |
5187 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5214 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5188 | msgstr "" | 5215 | msgstr "" |
5189 | 5216 | ||
5190 | #: src/nat/nat_auto.c:343 | 5217 | #: src/nat/nat_auto.c:597 |
5191 | #, c-format | 5218 | #, c-format |
5192 | msgid "Detected internal network address `%s'.\n" | 5219 | msgid "Detected internal network address `%s'.\n" |
5193 | msgstr "" | 5220 | msgstr "" |
5194 | 5221 | ||
5195 | #: src/nat/nat_auto.c:406 | 5222 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5223 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5224 | msgstr "" | ||
5225 | |||
5226 | #: src/nat/nat_auto.c:715 | ||
5196 | msgid "upnpc found, enabling its use\n" | 5227 | msgid "upnpc found, enabling its use\n" |
5197 | msgstr "" | 5228 | msgstr "" |
5198 | 5229 | ||
5199 | #: src/nat/nat_auto.c:407 | 5230 | #: src/nat/nat_auto.c:716 |
5200 | msgid "upnpc not found\n" | 5231 | msgid "upnpc not found\n" |
5201 | msgstr "" | 5232 | msgstr "" |
5202 | 5233 | ||
5203 | #: src/nat/nat_auto.c:437 | 5234 | #: src/nat/nat_auto.c:748 |
5204 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5235 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5205 | msgstr "" | 5236 | msgstr "" |
5206 | 5237 | ||
5207 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5238 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5208 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5239 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5209 | msgstr "" | 5240 | msgstr "" |
5210 | 5241 | ||
5211 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5242 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5212 | msgid "No working gnunet-helper-nat-server found\n" | 5243 | msgid "No working gnunet-helper-nat-server found\n" |
5213 | msgstr "" | 5244 | msgstr "" |
5214 | 5245 | ||
5215 | #: src/nat/nat_auto.c:483 | 5246 | #: src/nat/nat_auto.c:797 |
5216 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5247 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5217 | msgstr "" | 5248 | msgstr "" |
5218 | 5249 | ||
@@ -5226,114 +5257,114 @@ msgstr "" | |||
5226 | msgid "Failed to start %s\n" | 5257 | msgid "Failed to start %s\n" |
5227 | msgstr "" | 5258 | msgstr "" |
5228 | 5259 | ||
5229 | #: src/nat/nat.c:1286 | 5260 | #: src/nat/nat.c:1305 |
5230 | msgid "Error while running upnp client:\n" | 5261 | msgid "Error while running upnp client:\n" |
5231 | msgstr "" | 5262 | msgstr "" |
5232 | 5263 | ||
5233 | #: src/nat/nat.c:1356 | 5264 | #: src/nat/nat.c:1375 |
5234 | #, c-format | 5265 | #, c-format |
5235 | msgid "Failed to run upnp client for port %u\n" | 5266 | msgid "Failed to run upnp client for port %u\n" |
5236 | msgstr "" | 5267 | msgstr "" |
5237 | 5268 | ||
5238 | #: src/nat/nat.c:1498 | 5269 | #: src/nat/nat.c:1517 |
5239 | msgid "malformed" | 5270 | msgid "malformed" |
5240 | msgstr "" | 5271 | msgstr "" |
5241 | 5272 | ||
5242 | #: src/nat/nat.c:1552 | 5273 | #: src/nat/nat.c:1571 |
5243 | msgid "" | 5274 | msgid "" |
5244 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5275 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5245 | "disabling UPnP \n" | 5276 | "disabling UPnP \n" |
5246 | msgstr "" | 5277 | msgstr "" |
5247 | 5278 | ||
5248 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5279 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5249 | #, c-format | 5280 | #, c-format |
5250 | msgid "" | 5281 | msgid "" |
5251 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5282 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
5252 | "not set). Option disabled.\n" | 5283 | "not set). Option disabled.\n" |
5253 | msgstr "" | 5284 | msgstr "" |
5254 | 5285 | ||
5255 | #: src/nat/nat.c:1830 | 5286 | #: src/nat/nat.c:1855 |
5256 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5287 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5257 | msgstr "" | 5288 | msgstr "" |
5258 | 5289 | ||
5259 | #: src/nat/nat.c:1846 | 5290 | #: src/nat/nat.c:1871 |
5260 | #, c-format | 5291 | #, c-format |
5261 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5292 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5262 | msgstr "" | 5293 | msgstr "" |
5263 | 5294 | ||
5264 | #: src/nat/nat.c:1931 | 5295 | #: src/nat/nat.c:1958 |
5265 | msgid "Operation Successful" | 5296 | msgid "Operation Successful" |
5266 | msgstr "" | 5297 | msgstr "" |
5267 | 5298 | ||
5268 | #: src/nat/nat.c:1933 | 5299 | #: src/nat/nat.c:1960 |
5269 | msgid "Internal Failure (IPC, ...)" | 5300 | msgid "Internal Failure (IPC, ...)" |
5270 | msgstr "" | 5301 | msgstr "" |
5271 | 5302 | ||
5272 | #: src/nat/nat.c:1935 | 5303 | #: src/nat/nat.c:1962 |
5273 | msgid "Failure in network subsystem, check permissions." | 5304 | msgid "Failure in network subsystem, check permissions." |
5274 | msgstr "" | 5305 | msgstr "" |
5275 | 5306 | ||
5276 | #: src/nat/nat.c:1937 | 5307 | #: src/nat/nat.c:1964 |
5277 | msgid "Encountered timeout while performing operation" | 5308 | msgid "Encountered timeout while performing operation" |
5278 | msgstr "" | 5309 | msgstr "" |
5279 | 5310 | ||
5280 | #: src/nat/nat.c:1939 | 5311 | #: src/nat/nat.c:1966 |
5281 | msgid "detected that we are offline" | 5312 | msgid "detected that we are offline" |
5282 | msgstr "" | 5313 | msgstr "" |
5283 | 5314 | ||
5284 | #: src/nat/nat.c:1941 | 5315 | #: src/nat/nat.c:1968 |
5285 | msgid "`upnpc` command not found" | 5316 | msgid "`upnpc` command not found" |
5286 | msgstr "" | 5317 | msgstr "" |
5287 | 5318 | ||
5288 | #: src/nat/nat.c:1943 | 5319 | #: src/nat/nat.c:1970 |
5289 | msgid "Failed to run `upnpc` command" | 5320 | msgid "Failed to run `upnpc` command" |
5290 | msgstr "" | 5321 | msgstr "" |
5291 | 5322 | ||
5292 | #: src/nat/nat.c:1945 | 5323 | #: src/nat/nat.c:1972 |
5293 | msgid "`upnpc' command took too long, process killed" | 5324 | msgid "`upnpc' command took too long, process killed" |
5294 | msgstr "" | 5325 | msgstr "" |
5295 | 5326 | ||
5296 | #: src/nat/nat.c:1947 | 5327 | #: src/nat/nat.c:1974 |
5297 | msgid "`upnpc' command failed to establish port mapping" | 5328 | msgid "`upnpc' command failed to establish port mapping" |
5298 | msgstr "" | 5329 | msgstr "" |
5299 | 5330 | ||
5300 | #: src/nat/nat.c:1949 | 5331 | #: src/nat/nat.c:1976 |
5301 | msgid "`external-ip' command not found" | 5332 | msgid "`external-ip' command not found" |
5302 | msgstr "" | 5333 | msgstr "" |
5303 | 5334 | ||
5304 | #: src/nat/nat.c:1951 | 5335 | #: src/nat/nat.c:1978 |
5305 | msgid "Failed to run `external-ip` command" | 5336 | msgid "Failed to run `external-ip` command" |
5306 | msgstr "" | 5337 | msgstr "" |
5307 | 5338 | ||
5308 | #: src/nat/nat.c:1953 | 5339 | #: src/nat/nat.c:1980 |
5309 | msgid "`external-ip' command output invalid" | 5340 | msgid "`external-ip' command output invalid" |
5310 | msgstr "" | 5341 | msgstr "" |
5311 | 5342 | ||
5312 | #: src/nat/nat.c:1955 | 5343 | #: src/nat/nat.c:1982 |
5313 | msgid "no valid address was returned by `external-ip'" | 5344 | msgid "no valid address was returned by `external-ip'" |
5314 | msgstr "" | 5345 | msgstr "" |
5315 | 5346 | ||
5316 | #: src/nat/nat.c:1957 | 5347 | #: src/nat/nat.c:1984 |
5317 | msgid "Could not determine interface with internal/local network address" | 5348 | msgid "Could not determine interface with internal/local network address" |
5318 | msgstr "" | 5349 | msgstr "" |
5319 | 5350 | ||
5320 | #: src/nat/nat.c:1959 | 5351 | #: src/nat/nat.c:1986 |
5321 | msgid "No functioning gnunet-helper-nat-server installation found" | 5352 | msgid "No functioning gnunet-helper-nat-server installation found" |
5322 | msgstr "" | 5353 | msgstr "" |
5323 | 5354 | ||
5324 | #: src/nat/nat.c:1961 | 5355 | #: src/nat/nat.c:1988 |
5325 | msgid "NAT test could not be initialized" | 5356 | msgid "NAT test could not be initialized" |
5326 | msgstr "" | 5357 | msgstr "" |
5327 | 5358 | ||
5328 | #: src/nat/nat.c:1963 | 5359 | #: src/nat/nat.c:1990 |
5329 | msgid "NAT test timeout reached" | 5360 | msgid "NAT test timeout reached" |
5330 | msgstr "" | 5361 | msgstr "" |
5331 | 5362 | ||
5332 | #: src/nat/nat.c:1965 | 5363 | #: src/nat/nat.c:1992 |
5333 | msgid "could not register NAT" | 5364 | msgid "could not register NAT" |
5334 | msgstr "" | 5365 | msgstr "" |
5335 | 5366 | ||
5336 | #: src/nat/nat.c:1967 | 5367 | #: src/nat/nat.c:1994 |
5337 | msgid "No working gnunet-helper-nat-client installation found" | 5368 | msgid "No working gnunet-helper-nat-client installation found" |
5338 | msgstr "" | 5369 | msgstr "" |
5339 | 5370 | ||
@@ -5345,16 +5376,12 @@ msgstr "" | |||
5345 | msgid "`upnpc' command not found\n" | 5376 | msgid "`upnpc' command not found\n" |
5346 | msgstr "" | 5377 | msgstr "" |
5347 | 5378 | ||
5348 | #: src/nat/nat_test.c:360 | 5379 | #: src/nat/nat_test.c:467 |
5349 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5350 | msgstr "" | ||
5351 | |||
5352 | #: src/nat/nat_test.c:462 | ||
5353 | #, c-format | 5380 | #, c-format |
5354 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5381 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5355 | msgstr "" | 5382 | msgstr "" |
5356 | 5383 | ||
5357 | #: src/nat/nat_test.c:497 | 5384 | #: src/nat/nat_test.c:502 |
5358 | msgid "NAT test failed to start NAT library\n" | 5385 | msgid "NAT test failed to start NAT library\n" |
5359 | msgstr "" | 5386 | msgstr "" |
5360 | 5387 | ||
@@ -5394,8 +5421,8 @@ msgstr "" | |||
5394 | msgid "Measure quality and performance of the NSE service." | 5421 | msgid "Measure quality and performance of the NSE service." |
5395 | msgstr "" | 5422 | msgstr "" |
5396 | 5423 | ||
5397 | #: src/nse/gnunet-service-nse.c:1537 | 5424 | #: src/nse/gnunet-service-nse.c:1541 |
5398 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5425 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5399 | msgid "Value is too large.\n" | 5426 | msgid "Value is too large.\n" |
5400 | msgstr "" | 5427 | msgstr "" |
5401 | 5428 | ||
@@ -5644,7 +5671,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
5644 | msgstr "" | 5671 | msgstr "" |
5645 | 5672 | ||
5646 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 5673 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
5647 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 5674 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
5648 | #, c-format | 5675 | #, c-format |
5649 | msgid "" | 5676 | msgid "" |
5650 | "Error executing SQL query: %s\n" | 5677 | "Error executing SQL query: %s\n" |
@@ -5652,7 +5679,7 @@ msgid "" | |||
5652 | msgstr "" | 5679 | msgstr "" |
5653 | 5680 | ||
5654 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 5681 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
5655 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 5682 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
5656 | #, c-format | 5683 | #, c-format |
5657 | msgid "" | 5684 | msgid "" |
5658 | "Error preparing SQL query: %s\n" | 5685 | "Error preparing SQL query: %s\n" |
@@ -5702,38 +5729,44 @@ msgstr "" | |||
5702 | msgid "Failed to get master counters!\n" | 5729 | msgid "Failed to get master counters!\n" |
5703 | msgstr "" | 5730 | msgstr "" |
5704 | 5731 | ||
5705 | #: src/psycstore/gnunet-service-psycstore.c:645 | 5732 | #: src/psycstore/gnunet-service-psycstore.c:657 |
5706 | msgid "Failed to begin modifying state!\n" | 5733 | #, c-format |
5734 | msgid "Failed to begin modifying state: %d\n" | ||
5735 | msgstr "" | ||
5736 | |||
5737 | #: src/psycstore/gnunet-service-psycstore.c:667 | ||
5738 | #, c-format | ||
5739 | msgid "Failed to modify state: %d\n" | ||
5707 | msgstr "" | 5740 | msgstr "" |
5708 | 5741 | ||
5709 | #: src/psycstore/gnunet-service-psycstore.c:656 | 5742 | #: src/psycstore/gnunet-service-psycstore.c:675 |
5710 | msgid "Failed to end modifying state!\n" | 5743 | msgid "Failed to end modifying state!\n" |
5711 | msgstr "" | 5744 | msgstr "" |
5712 | 5745 | ||
5713 | #: src/psycstore/gnunet-service-psycstore.c:686 | 5746 | #: src/psycstore/gnunet-service-psycstore.c:706 |
5714 | msgid "Tried to set invalid state variable name!\n" | 5747 | msgid "Tried to set invalid state variable name!\n" |
5715 | msgstr "" | 5748 | msgstr "" |
5716 | 5749 | ||
5717 | #: src/psycstore/gnunet-service-psycstore.c:700 | 5750 | #: src/psycstore/gnunet-service-psycstore.c:720 |
5718 | msgid "Failed to begin synchronizing state!\n" | 5751 | msgid "Failed to begin synchronizing state!\n" |
5719 | msgstr "" | 5752 | msgstr "" |
5720 | 5753 | ||
5721 | #: src/psycstore/gnunet-service-psycstore.c:717 | 5754 | #: src/psycstore/gnunet-service-psycstore.c:737 |
5722 | msgid "Failed to end synchronizing state!\n" | 5755 | msgid "Failed to end synchronizing state!\n" |
5723 | msgstr "" | 5756 | msgstr "" |
5724 | 5757 | ||
5725 | #: src/psycstore/gnunet-service-psycstore.c:737 | 5758 | #: src/psycstore/gnunet-service-psycstore.c:757 |
5726 | #: src/psycstore/gnunet-service-psycstore.c:756 | 5759 | #: src/psycstore/gnunet-service-psycstore.c:776 |
5727 | msgid "Failed to reset state!\n" | 5760 | msgid "Failed to reset state!\n" |
5728 | msgstr "" | 5761 | msgstr "" |
5729 | 5762 | ||
5730 | #: src/psycstore/gnunet-service-psycstore.c:779 | 5763 | #: src/psycstore/gnunet-service-psycstore.c:799 |
5731 | #: src/psycstore/gnunet-service-psycstore.c:830 | 5764 | #: src/psycstore/gnunet-service-psycstore.c:850 |
5732 | msgid "Tried to get invalid state variable name!\n" | 5765 | msgid "Tried to get invalid state variable name!\n" |
5733 | msgstr "" | 5766 | msgstr "" |
5734 | 5767 | ||
5735 | #: src/psycstore/gnunet-service-psycstore.c:806 | 5768 | #: src/psycstore/gnunet-service-psycstore.c:826 |
5736 | #: src/psycstore/gnunet-service-psycstore.c:845 | 5769 | #: src/psycstore/gnunet-service-psycstore.c:865 |
5737 | msgid "Failed to get state variable!\n" | 5770 | msgid "Failed to get state variable!\n" |
5738 | msgstr "" | 5771 | msgstr "" |
5739 | 5772 | ||
@@ -5742,7 +5775,7 @@ msgstr "" | |||
5742 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 5775 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
5743 | msgstr "" | 5776 | msgstr "" |
5744 | 5777 | ||
5745 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 5778 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
5746 | msgid "SQLite database running\n" | 5779 | msgid "SQLite database running\n" |
5747 | msgstr "" | 5780 | msgstr "" |
5748 | 5781 | ||
@@ -5993,33 +6026,33 @@ msgstr "" | |||
5993 | msgid "test if the public key KEY has been revoked" | 6026 | msgid "test if the public key KEY has been revoked" |
5994 | msgstr "" | 6027 | msgstr "" |
5995 | 6028 | ||
5996 | #: src/revocation/gnunet-service-revocation.c:427 | 6029 | #: src/revocation/gnunet-service-revocation.c:481 |
5997 | msgid "# unsupported revocations received via set union" | 6030 | msgid "# unsupported revocations received via set union" |
5998 | msgstr "" | 6031 | msgstr "" |
5999 | 6032 | ||
6000 | #: src/revocation/gnunet-service-revocation.c:436 | 6033 | #: src/revocation/gnunet-service-revocation.c:490 |
6001 | msgid "# revocation messages received via set union" | 6034 | msgid "# revocation messages received via set union" |
6002 | msgstr "" | 6035 | msgstr "" |
6003 | 6036 | ||
6004 | #: src/revocation/gnunet-service-revocation.c:441 | 6037 | #: src/revocation/gnunet-service-revocation.c:495 |
6005 | #, c-format | 6038 | #, c-format |
6006 | msgid "Error computing revocation set union with %s\n" | 6039 | msgid "Error computing revocation set union with %s\n" |
6007 | msgstr "" | 6040 | msgstr "" |
6008 | 6041 | ||
6009 | #: src/revocation/gnunet-service-revocation.c:445 | 6042 | #: src/revocation/gnunet-service-revocation.c:499 |
6010 | msgid "# revocation set unions failed" | 6043 | msgid "# revocation set unions failed" |
6011 | msgstr "" | 6044 | msgstr "" |
6012 | 6045 | ||
6013 | #: src/revocation/gnunet-service-revocation.c:454 | 6046 | #: src/revocation/gnunet-service-revocation.c:508 |
6014 | msgid "# revocation set unions completed" | 6047 | msgid "# revocation set unions completed" |
6015 | msgstr "" | 6048 | msgstr "" |
6016 | 6049 | ||
6017 | #: src/revocation/gnunet-service-revocation.c:493 | 6050 | #: src/revocation/gnunet-service-revocation.c:547 |
6018 | #: src/revocation/gnunet-service-revocation.c:759 | 6051 | #: src/revocation/gnunet-service-revocation.c:780 |
6019 | msgid "SET service crashed, terminating revocation service\n" | 6052 | msgid "SET service crashed, terminating revocation service\n" |
6020 | msgstr "" | 6053 | msgstr "" |
6021 | 6054 | ||
6022 | #: src/revocation/gnunet-service-revocation.c:851 | 6055 | #: src/revocation/gnunet-service-revocation.c:872 |
6023 | msgid "Could not open revocation database file!" | 6056 | msgid "Could not open revocation database file!" |
6024 | msgstr "" | 6057 | msgstr "" |
6025 | 6058 | ||
@@ -6081,7 +6114,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6081 | msgstr "" | 6114 | msgstr "" |
6082 | 6115 | ||
6083 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6116 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6084 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6117 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6118 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6119 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6085 | msgid "Connect to CADET failed\n" | 6120 | msgid "Connect to CADET failed\n" |
6086 | msgstr "" | 6121 | msgstr "" |
6087 | 6122 | ||
@@ -6326,7 +6361,7 @@ msgstr "" | |||
6326 | msgid "Error loading sensor from file: %s\n" | 6361 | msgid "Error loading sensor from file: %s\n" |
6327 | msgstr "" | 6362 | msgstr "" |
6328 | 6363 | ||
6329 | #: src/set/gnunet-service-set.c:1531 | 6364 | #: src/set/gnunet-service-set.c:1960 |
6330 | msgid "Could not connect to cadet service\n" | 6365 | msgid "Could not connect to cadet service\n" |
6331 | msgstr "" | 6366 | msgstr "" |
6332 | 6367 | ||
@@ -6447,7 +6482,7 @@ msgstr "" | |||
6447 | msgid "Could not save some persistent statistics\n" | 6482 | msgid "Could not save some persistent statistics\n" |
6448 | msgstr "" | 6483 | msgstr "" |
6449 | 6484 | ||
6450 | #: src/statistics/statistics_api.c:1090 | 6485 | #: src/statistics/statistics_api.c:1088 |
6451 | msgid "" | 6486 | msgid "" |
6452 | "Failed to receive acknowledgement from statistics service, some statistics " | 6487 | "Failed to receive acknowledgement from statistics service, some statistics " |
6453 | "might have been lost!\n" | 6488 | "might have been lost!\n" |
@@ -7981,7 +8016,7 @@ msgstr "" | |||
7981 | msgid "# sessions allocated" | 8016 | msgid "# sessions allocated" |
7982 | msgstr "" | 8017 | msgstr "" |
7983 | 8018 | ||
7984 | #: src/transport/transport_api.c:812 | 8019 | #: src/transport/transport_api.c:827 |
7985 | #, c-format | 8020 | #, c-format |
7986 | msgid "Received unexpected message of type %u in %s:%u\n" | 8021 | msgid "Received unexpected message of type %u in %s:%u\n" |
7987 | msgstr "" | 8022 | msgstr "" |
@@ -8024,34 +8059,34 @@ msgstr "" | |||
8024 | msgid "Metadata `%s' failed to deserialize" | 8059 | msgid "Metadata `%s' failed to deserialize" |
8025 | msgstr "" | 8060 | msgstr "" |
8026 | 8061 | ||
8027 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8062 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8028 | #, c-format | 8063 | #, c-format |
8029 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8064 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8030 | msgstr "" | 8065 | msgstr "" |
8031 | 8066 | ||
8032 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8067 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8033 | #, c-format | 8068 | #, c-format |
8034 | msgid "Using `%s' instead\n" | 8069 | msgid "Using `%s' instead\n" |
8035 | msgstr "" | 8070 | msgstr "" |
8036 | 8071 | ||
8037 | #: src/util/client.c:362 | 8072 | #: src/util/client.c:367 |
8038 | #, c-format | 8073 | #, c-format |
8039 | msgid "" | 8074 | msgid "" |
8040 | "Could not determine valid hostname and port for service `%s' from " | 8075 | "Could not determine valid hostname and port for service `%s' from " |
8041 | "configuration.\n" | 8076 | "configuration.\n" |
8042 | msgstr "" | 8077 | msgstr "" |
8043 | 8078 | ||
8044 | #: src/util/client.c:370 | 8079 | #: src/util/client.c:375 |
8045 | #, c-format | 8080 | #, c-format |
8046 | msgid "Need a non-empty hostname for service `%s'.\n" | 8081 | msgid "Need a non-empty hostname for service `%s'.\n" |
8047 | msgstr "" | 8082 | msgstr "" |
8048 | 8083 | ||
8049 | #: src/util/client.c:1039 | 8084 | #: src/util/client.c:1044 |
8050 | #, c-format | 8085 | #, c-format |
8051 | msgid "Could not connect to service `%s', configuration broken.\n" | 8086 | msgid "Could not connect to service `%s', configuration broken.\n" |
8052 | msgstr "" | 8087 | msgstr "" |
8053 | 8088 | ||
8054 | #: src/util/client.c:1051 | 8089 | #: src/util/client.c:1056 |
8055 | #, c-format | 8090 | #, c-format |
8056 | msgid "Failure to transmit request to service `%s'\n" | 8091 | msgid "Failure to transmit request to service `%s'\n" |
8057 | msgstr "" | 8092 | msgstr "" |
@@ -8133,12 +8168,12 @@ msgid "" | |||
8133 | "as an environmental variable\n" | 8168 | "as an environmental variable\n" |
8134 | msgstr "" | 8169 | msgstr "" |
8135 | 8170 | ||
8136 | #: src/util/connection.c:424 | 8171 | #: src/util/connection.c:429 |
8137 | #, c-format | 8172 | #, c-format |
8138 | msgid "Access denied to `%s'\n" | 8173 | msgid "Access denied to `%s'\n" |
8139 | msgstr "" | 8174 | msgstr "" |
8140 | 8175 | ||
8141 | #: src/util/connection.c:441 | 8176 | #: src/util/connection.c:446 |
8142 | #, c-format | 8177 | #, c-format |
8143 | msgid "Accepting connection from `%s': %p\n" | 8178 | msgid "Accepting connection from `%s': %p\n" |
8144 | msgstr "" | 8179 | msgstr "" |
@@ -8203,17 +8238,17 @@ msgstr "" | |||
8203 | msgid "libgcrypt has not the expected version (version %s is required).\n" | 8238 | msgid "libgcrypt has not the expected version (version %s is required).\n" |
8204 | msgstr "" | 8239 | msgstr "" |
8205 | 8240 | ||
8206 | #: src/util/crypto_rsa.c:981 | 8241 | #: src/util/crypto_rsa.c:999 |
8207 | #, c-format | 8242 | #, c-format |
8208 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8243 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8209 | msgstr "" | 8244 | msgstr "" |
8210 | 8245 | ||
8211 | #: src/util/disk.c:1221 | 8246 | #: src/util/disk.c:1226 |
8212 | #, c-format | 8247 | #, c-format |
8213 | msgid "Expected `%s' to be a directory!\n" | 8248 | msgid "Expected `%s' to be a directory!\n" |
8214 | msgstr "" | 8249 | msgstr "" |
8215 | 8250 | ||
8216 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8251 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8217 | #, c-format | 8252 | #, c-format |
8218 | msgid "Cannot obtain information about user `%s': %s\n" | 8253 | msgid "Cannot obtain information about user `%s': %s\n" |
8219 | msgstr "" | 8254 | msgstr "" |
@@ -8702,6 +8737,16 @@ msgstr "" | |||
8702 | msgid "signal (%d, %p) returned %d.\n" | 8737 | msgid "signal (%d, %p) returned %d.\n" |
8703 | msgstr "" | 8738 | msgstr "" |
8704 | 8739 | ||
8740 | #: src/util/socks.c:592 | ||
8741 | #, c-format | ||
8742 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
8743 | msgstr "" | ||
8744 | |||
8745 | #: src/util/socks.c:605 | ||
8746 | #, c-format | ||
8747 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
8748 | msgstr "" | ||
8749 | |||
8705 | #: src/util/strings.c:146 | 8750 | #: src/util/strings.c:146 |
8706 | msgid "b" | 8751 | msgid "b" |
8707 | msgstr "" | 8752 | msgstr "" |
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: GNUnet 0.7.0b\n" | 8 | "Project-Id-Version: GNUnet 0.7.0b\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 10 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
11 | "PO-Revision-Date: 2006-01-21 17:16+0100\n" | 11 | "PO-Revision-Date: 2006-01-21 17:16+0100\n" |
12 | "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" | 12 | "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" |
13 | "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" | 13 | "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" |
@@ -352,13 +352,11 @@ msgid "" | |||
352 | "%llu\n" | 352 | "%llu\n" |
353 | msgstr "" | 353 | msgstr "" |
354 | 354 | ||
355 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 355 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
356 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
357 | msgid "solver to use" | 356 | msgid "solver to use" |
358 | msgstr "" | 357 | msgstr "" |
359 | 358 | ||
360 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 359 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
361 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
362 | #: src/ats-tests/gnunet-solver-eval.c:924 | 360 | #: src/ats-tests/gnunet-solver-eval.c:924 |
363 | msgid "experiment to use" | 361 | msgid "experiment to use" |
364 | msgstr "" | 362 | msgstr "" |
@@ -643,58 +641,58 @@ msgstr "" | |||
643 | msgid "Print information about ATS state" | 641 | msgid "Print information about ATS state" |
644 | msgstr "Skriv ut information om GNUnets motparter." | 642 | msgstr "Skriv ut information om GNUnets motparter." |
645 | 643 | ||
646 | #: src/cadet/gnunet-cadet.c:376 | 644 | #: src/cadet/gnunet-cadet.c:458 |
647 | #, fuzzy, c-format | 645 | #, fuzzy, c-format |
648 | msgid "Invalid target `%s'\n" | 646 | msgid "Invalid target `%s'\n" |
649 | msgstr "Ogiltigt argument: \"%s\"\n" | 647 | msgstr "Ogiltigt argument: \"%s\"\n" |
650 | 648 | ||
651 | #: src/cadet/gnunet-cadet.c:643 | 649 | #: src/cadet/gnunet-cadet.c:735 |
652 | #, fuzzy, c-format | 650 | #, fuzzy, c-format |
653 | msgid "Invalid peer ID `%s'\n" | 651 | msgid "Invalid peer ID `%s'\n" |
654 | msgstr "Ogiltiga argument: " | 652 | msgstr "Ogiltiga argument: " |
655 | 653 | ||
656 | #: src/cadet/gnunet-cadet.c:686 | 654 | #: src/cadet/gnunet-cadet.c:778 |
657 | #, fuzzy, c-format | 655 | #, fuzzy, c-format |
658 | msgid "Invalid tunnel owner `%s'\n" | 656 | msgid "Invalid tunnel owner `%s'\n" |
659 | msgstr "Ogiltigt format för IP: \"%s\"\n" | 657 | msgstr "Ogiltigt format för IP: \"%s\"\n" |
660 | 658 | ||
661 | #: src/cadet/gnunet-cadet.c:752 | 659 | #: src/cadet/gnunet-cadet.c:844 |
662 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 660 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
663 | msgstr "" | 661 | msgstr "" |
664 | 662 | ||
665 | #: src/cadet/gnunet-cadet.c:849 | 663 | #: src/cadet/gnunet-cadet.c:941 |
666 | #, fuzzy | 664 | #, fuzzy |
667 | msgid "provide information about a particular connection" | 665 | msgid "provide information about a particular connection" |
668 | msgstr "Skriv ut information om GNUnets motparter." | 666 | msgstr "Skriv ut information om GNUnets motparter." |
669 | 667 | ||
670 | #: src/cadet/gnunet-cadet.c:852 | 668 | #: src/cadet/gnunet-cadet.c:944 |
671 | msgid "activate echo mode" | 669 | msgid "activate echo mode" |
672 | msgstr "" | 670 | msgstr "" |
673 | 671 | ||
674 | #: src/cadet/gnunet-cadet.c:855 | 672 | #: src/cadet/gnunet-cadet.c:947 |
675 | msgid "dump debug information to STDERR" | 673 | msgid "dump debug information to STDERR" |
676 | msgstr "" | 674 | msgstr "" |
677 | 675 | ||
678 | #: src/cadet/gnunet-cadet.c:861 | 676 | #: src/cadet/gnunet-cadet.c:953 |
679 | msgid "port to listen to (default; 0)" | 677 | msgid "port to listen to (default; 0)" |
680 | msgstr "" | 678 | msgstr "" |
681 | 679 | ||
682 | #: src/cadet/gnunet-cadet.c:864 | 680 | #: src/cadet/gnunet-cadet.c:956 |
683 | #, fuzzy | 681 | #, fuzzy |
684 | msgid "provide information about a patricular peer" | 682 | msgid "provide information about a patricular peer" |
685 | msgstr "Skriv ut information om GNUnets motparter." | 683 | msgstr "Skriv ut information om GNUnets motparter." |
686 | 684 | ||
687 | #: src/cadet/gnunet-cadet.c:867 | 685 | #: src/cadet/gnunet-cadet.c:959 |
688 | #, fuzzy | 686 | #, fuzzy |
689 | msgid "provide information about all peers" | 687 | msgid "provide information about all peers" |
690 | msgstr "Skriv ut information om GNUnets motparter." | 688 | msgstr "Skriv ut information om GNUnets motparter." |
691 | 689 | ||
692 | #: src/cadet/gnunet-cadet.c:870 | 690 | #: src/cadet/gnunet-cadet.c:962 |
693 | #, fuzzy | 691 | #, fuzzy |
694 | msgid "provide information about a particular tunnel" | 692 | msgid "provide information about a particular tunnel" |
695 | msgstr "Skriv ut information om GNUnets motparter." | 693 | msgstr "Skriv ut information om GNUnets motparter." |
696 | 694 | ||
697 | #: src/cadet/gnunet-cadet.c:873 | 695 | #: src/cadet/gnunet-cadet.c:965 |
698 | #, fuzzy | 696 | #, fuzzy |
699 | msgid "provide information about all tunnels" | 697 | msgid "provide information about all tunnels" |
700 | msgstr "Skriv ut information om GNUnets motparter." | 698 | msgstr "Skriv ut information om GNUnets motparter." |
@@ -1437,21 +1435,21 @@ msgstr "# byte dekrypterade" | |||
1437 | msgid "# PAYLOAD dropped (out of order)" | 1435 | msgid "# PAYLOAD dropped (out of order)" |
1438 | msgstr "# byte kastade via UDP (utgående)" | 1436 | msgstr "# byte kastade via UDP (utgående)" |
1439 | 1437 | ||
1440 | #: src/core/gnunet-service-core_neighbours.c:177 | 1438 | #: src/core/gnunet-service-core_neighbours.c:178 |
1441 | #, fuzzy | 1439 | #, fuzzy |
1442 | msgid "# sessions terminated by transport disconnect" | 1440 | msgid "# sessions terminated by transport disconnect" |
1443 | msgstr "Nätverksannonsering avstängd i konfigurationen!\n" | 1441 | msgstr "Nätverksannonsering avstängd i konfigurationen!\n" |
1444 | 1442 | ||
1445 | #: src/core/gnunet-service-core_neighbours.c:193 | 1443 | #: src/core/gnunet-service-core_neighbours.c:194 |
1446 | #: src/core/gnunet-service-core_neighbours.c:355 | 1444 | #: src/core/gnunet-service-core_neighbours.c:362 |
1447 | msgid "# neighbour entries allocated" | 1445 | msgid "# neighbour entries allocated" |
1448 | msgstr "" | 1446 | msgstr "" |
1449 | 1447 | ||
1450 | #: src/core/gnunet-service-core_neighbours.c:264 | 1448 | #: src/core/gnunet-service-core_neighbours.c:270 |
1451 | msgid "# encrypted bytes given to transport" | 1449 | msgid "# encrypted bytes given to transport" |
1452 | msgstr "" | 1450 | msgstr "" |
1453 | 1451 | ||
1454 | #: src/core/gnunet-service-core_neighbours.c:438 | 1452 | #: src/core/gnunet-service-core_neighbours.c:448 |
1455 | #, c-format | 1453 | #, c-format |
1456 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1454 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1457 | msgstr "" | 1455 | msgstr "" |
@@ -1498,7 +1496,7 @@ msgid "# updates to my type map" | |||
1498 | msgstr "" | 1496 | msgstr "" |
1499 | 1497 | ||
1500 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1498 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1501 | #: src/datastore/gnunet-service-datastore.c:853 | 1499 | #: src/datastore/gnunet-service-datastore.c:866 |
1502 | #, fuzzy | 1500 | #, fuzzy |
1503 | msgid "# bytes stored" | 1501 | msgid "# bytes stored" |
1504 | msgstr "# byte krypterade" | 1502 | msgstr "# byte krypterade" |
@@ -1577,91 +1575,91 @@ msgstr "" | |||
1577 | msgid "Failed to transmit request to drop database.\n" | 1575 | msgid "Failed to transmit request to drop database.\n" |
1578 | msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" | 1576 | msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" |
1579 | 1577 | ||
1580 | #: src/datastore/datastore_api.c:394 | 1578 | #: src/datastore/datastore_api.c:395 |
1581 | msgid "# queue entry timeouts" | 1579 | msgid "# queue entry timeouts" |
1582 | msgstr "" | 1580 | msgstr "" |
1583 | 1581 | ||
1584 | #: src/datastore/datastore_api.c:443 | 1582 | #: src/datastore/datastore_api.c:450 |
1585 | msgid "# queue overflows" | 1583 | msgid "# queue overflows" |
1586 | msgstr "" | 1584 | msgstr "" |
1587 | 1585 | ||
1588 | #: src/datastore/datastore_api.c:471 | 1586 | #: src/datastore/datastore_api.c:478 |
1589 | #, fuzzy | 1587 | #, fuzzy |
1590 | msgid "# queue entries created" | 1588 | msgid "# queue entries created" |
1591 | msgstr "# PING-meddelanden skapade" | 1589 | msgstr "# PING-meddelanden skapade" |
1592 | 1590 | ||
1593 | #: src/datastore/datastore_api.c:491 | 1591 | #: src/datastore/datastore_api.c:498 |
1594 | msgid "# Requests dropped from datastore queue" | 1592 | msgid "# Requests dropped from datastore queue" |
1595 | msgstr "" | 1593 | msgstr "" |
1596 | 1594 | ||
1597 | #: src/datastore/datastore_api.c:533 | 1595 | #: src/datastore/datastore_api.c:540 |
1598 | #, fuzzy | 1596 | #, fuzzy |
1599 | msgid "# datastore connections (re)created" | 1597 | msgid "# datastore connections (re)created" |
1600 | msgstr "Nätverksanslutning" | 1598 | msgstr "Nätverksanslutning" |
1601 | 1599 | ||
1602 | #: src/datastore/datastore_api.c:621 | 1600 | #: src/datastore/datastore_api.c:628 |
1603 | #, fuzzy | 1601 | #, fuzzy |
1604 | msgid "# transmission request failures" | 1602 | msgid "# transmission request failures" |
1605 | msgstr "# klartext PONG-meddelanden mottagna" | 1603 | msgstr "# klartext PONG-meddelanden mottagna" |
1606 | 1604 | ||
1607 | #: src/datastore/datastore_api.c:645 | 1605 | #: src/datastore/datastore_api.c:652 |
1608 | #, fuzzy | 1606 | #, fuzzy |
1609 | msgid "# bytes sent to datastore" | 1607 | msgid "# bytes sent to datastore" |
1610 | msgstr "# byte krypterade" | 1608 | msgstr "# byte krypterade" |
1611 | 1609 | ||
1612 | #: src/datastore/datastore_api.c:787 | 1610 | #: src/datastore/datastore_api.c:794 |
1613 | #, fuzzy | 1611 | #, fuzzy |
1614 | msgid "Failed to receive status response from database." | 1612 | msgid "Failed to receive status response from database." |
1615 | msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n" | 1613 | msgstr "Misslyckades att ta emot svar till \"%s\" meddelande från gnunetd\n" |
1616 | 1614 | ||
1617 | #: src/datastore/datastore_api.c:801 | 1615 | #: src/datastore/datastore_api.c:808 |
1618 | msgid "Error reading response from datastore service" | 1616 | msgid "Error reading response from datastore service" |
1619 | msgstr "" | 1617 | msgstr "" |
1620 | 1618 | ||
1621 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1619 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1622 | #, fuzzy | 1620 | #, fuzzy |
1623 | msgid "Invalid error message received from datastore service" | 1621 | msgid "Invalid error message received from datastore service" |
1624 | msgstr "Ogiltigt meddelande mottogs den %s:%d." | 1622 | msgstr "Ogiltigt meddelande mottogs den %s:%d." |
1625 | 1623 | ||
1626 | #: src/datastore/datastore_api.c:823 | 1624 | #: src/datastore/datastore_api.c:830 |
1627 | #, fuzzy | 1625 | #, fuzzy |
1628 | msgid "# status messages received" | 1626 | msgid "# status messages received" |
1629 | msgstr "# krypterade PONG-meddelanden mottagna" | 1627 | msgstr "# krypterade PONG-meddelanden mottagna" |
1630 | 1628 | ||
1631 | #: src/datastore/datastore_api.c:893 | 1629 | #: src/datastore/datastore_api.c:909 |
1632 | msgid "# PUT requests executed" | 1630 | msgid "# PUT requests executed" |
1633 | msgstr "" | 1631 | msgstr "" |
1634 | 1632 | ||
1635 | #: src/datastore/datastore_api.c:959 | 1633 | #: src/datastore/datastore_api.c:975 |
1636 | msgid "# RESERVE requests executed" | 1634 | msgid "# RESERVE requests executed" |
1637 | msgstr "" | 1635 | msgstr "" |
1638 | 1636 | ||
1639 | #: src/datastore/datastore_api.c:1020 | 1637 | #: src/datastore/datastore_api.c:1036 |
1640 | msgid "# RELEASE RESERVE requests executed" | 1638 | msgid "# RELEASE RESERVE requests executed" |
1641 | msgstr "" | 1639 | msgstr "" |
1642 | 1640 | ||
1643 | #: src/datastore/datastore_api.c:1080 | 1641 | #: src/datastore/datastore_api.c:1096 |
1644 | msgid "# UPDATE requests executed" | 1642 | msgid "# UPDATE requests executed" |
1645 | msgstr "" | 1643 | msgstr "" |
1646 | 1644 | ||
1647 | #: src/datastore/datastore_api.c:1144 | 1645 | #: src/datastore/datastore_api.c:1160 |
1648 | msgid "# REMOVE requests executed" | 1646 | msgid "# REMOVE requests executed" |
1649 | msgstr "" | 1647 | msgstr "" |
1650 | 1648 | ||
1651 | #: src/datastore/datastore_api.c:1248 | 1649 | #: src/datastore/datastore_api.c:1264 |
1652 | #, fuzzy | 1650 | #, fuzzy |
1653 | msgid "# Results received" | 1651 | msgid "# Results received" |
1654 | msgstr "# byte mottogs via TCP" | 1652 | msgstr "# byte mottogs via TCP" |
1655 | 1653 | ||
1656 | #: src/datastore/datastore_api.c:1315 | 1654 | #: src/datastore/datastore_api.c:1331 |
1657 | msgid "# GET REPLICATION requests executed" | 1655 | msgid "# GET REPLICATION requests executed" |
1658 | msgstr "" | 1656 | msgstr "" |
1659 | 1657 | ||
1660 | #: src/datastore/datastore_api.c:1378 | 1658 | #: src/datastore/datastore_api.c:1394 |
1661 | msgid "# GET ZERO ANONYMITY requests executed" | 1659 | msgid "# GET ZERO ANONYMITY requests executed" |
1662 | msgstr "" | 1660 | msgstr "" |
1663 | 1661 | ||
1664 | #: src/datastore/datastore_api.c:1447 | 1662 | #: src/datastore/datastore_api.c:1463 |
1665 | msgid "# GET requests executed" | 1663 | msgid "# GET requests executed" |
1666 | msgstr "" | 1664 | msgstr "" |
1667 | 1665 | ||
@@ -1686,170 +1684,170 @@ msgstr "" | |||
1686 | msgid "Manipulate GNUnet datastore" | 1684 | msgid "Manipulate GNUnet datastore" |
1687 | msgstr "skriv ut ett värde från konfigurationsfilen till standard ut" | 1685 | msgstr "skriv ut ett värde från konfigurationsfilen till standard ut" |
1688 | 1686 | ||
1689 | #: src/datastore/gnunet-service-datastore.c:365 | 1687 | #: src/datastore/gnunet-service-datastore.c:372 |
1690 | #, fuzzy | 1688 | #, fuzzy |
1691 | msgid "# bytes expired" | 1689 | msgid "# bytes expired" |
1692 | msgstr "# byte mottogs via TCP" | 1690 | msgstr "# byte mottogs via TCP" |
1693 | 1691 | ||
1694 | #: src/datastore/gnunet-service-datastore.c:439 | 1692 | #: src/datastore/gnunet-service-datastore.c:447 |
1695 | msgid "# bytes purged (low-priority)" | 1693 | msgid "# bytes purged (low-priority)" |
1696 | msgstr "" | 1694 | msgstr "" |
1697 | 1695 | ||
1698 | #: src/datastore/gnunet-service-datastore.c:497 | 1696 | #: src/datastore/gnunet-service-datastore.c:505 |
1699 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1697 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1700 | msgid "Transmission to client failed!\n" | 1698 | msgid "Transmission to client failed!\n" |
1701 | msgstr "" | 1699 | msgstr "" |
1702 | 1700 | ||
1703 | #: src/datastore/gnunet-service-datastore.c:528 | 1701 | #: src/datastore/gnunet-service-datastore.c:536 |
1704 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1702 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1705 | msgid "Shutdown in progress, aborting transmission.\n" | 1703 | msgid "Shutdown in progress, aborting transmission.\n" |
1706 | msgstr "" | 1704 | msgstr "" |
1707 | 1705 | ||
1708 | #: src/datastore/gnunet-service-datastore.c:643 | 1706 | #: src/datastore/gnunet-service-datastore.c:652 |
1709 | msgid "# results found" | 1707 | msgid "# results found" |
1710 | msgstr "" | 1708 | msgstr "" |
1711 | 1709 | ||
1712 | #: src/datastore/gnunet-service-datastore.c:686 | 1710 | #: src/datastore/gnunet-service-datastore.c:696 |
1713 | #, c-format | 1711 | #, c-format |
1714 | msgid "" | 1712 | msgid "" |
1715 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1713 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
1716 | "%llu bytes\n" | 1714 | "%llu bytes\n" |
1717 | msgstr "" | 1715 | msgstr "" |
1718 | 1716 | ||
1719 | #: src/datastore/gnunet-service-datastore.c:697 | 1717 | #: src/datastore/gnunet-service-datastore.c:707 |
1720 | #, c-format | 1718 | #, c-format |
1721 | msgid "" | 1719 | msgid "" |
1722 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1720 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
1723 | "bytes)\n" | 1721 | "bytes)\n" |
1724 | msgstr "" | 1722 | msgstr "" |
1725 | 1723 | ||
1726 | #: src/datastore/gnunet-service-datastore.c:701 | 1724 | #: src/datastore/gnunet-service-datastore.c:711 |
1727 | msgid "" | 1725 | msgid "" |
1728 | "Insufficient space to satisfy request and requested amount is larger than " | 1726 | "Insufficient space to satisfy request and requested amount is larger than " |
1729 | "cache size" | 1727 | "cache size" |
1730 | msgstr "" | 1728 | msgstr "" |
1731 | 1729 | ||
1732 | #: src/datastore/gnunet-service-datastore.c:707 | 1730 | #: src/datastore/gnunet-service-datastore.c:717 |
1733 | msgid "Insufficient space to satisfy request" | 1731 | msgid "Insufficient space to satisfy request" |
1734 | msgstr "" | 1732 | msgstr "" |
1735 | 1733 | ||
1736 | #: src/datastore/gnunet-service-datastore.c:712 | 1734 | #: src/datastore/gnunet-service-datastore.c:723 |
1737 | #: src/datastore/gnunet-service-datastore.c:767 | 1735 | #: src/datastore/gnunet-service-datastore.c:779 |
1738 | #: src/datastore/gnunet-service-datastore.c:1019 | 1736 | #: src/datastore/gnunet-service-datastore.c:1035 |
1739 | #: src/datastore/gnunet-service-datastore.c:1597 | 1737 | #: src/datastore/gnunet-service-datastore.c:1630 |
1740 | msgid "# reserved" | 1738 | msgid "# reserved" |
1741 | msgstr "" | 1739 | msgstr "" |
1742 | 1740 | ||
1743 | #: src/datastore/gnunet-service-datastore.c:780 | 1741 | #: src/datastore/gnunet-service-datastore.c:793 |
1744 | msgid "Could not find matching reservation" | 1742 | msgid "Could not find matching reservation" |
1745 | msgstr "" | 1743 | msgstr "" |
1746 | 1744 | ||
1747 | #: src/datastore/gnunet-service-datastore.c:865 | 1745 | #: src/datastore/gnunet-service-datastore.c:879 |
1748 | #, c-format | 1746 | #, c-format |
1749 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1747 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1750 | msgstr "" | 1748 | msgstr "" |
1751 | 1749 | ||
1752 | #: src/datastore/gnunet-service-datastore.c:1071 | 1750 | #: src/datastore/gnunet-service-datastore.c:1088 |
1753 | #, fuzzy | 1751 | #, fuzzy |
1754 | msgid "# GET requests received" | 1752 | msgid "# GET requests received" |
1755 | msgstr "# byte mottogs via TCP" | 1753 | msgstr "# byte mottogs via TCP" |
1756 | 1754 | ||
1757 | #: src/datastore/gnunet-service-datastore.c:1083 | 1755 | #: src/datastore/gnunet-service-datastore.c:1101 |
1758 | msgid "# requests filtered by bloomfilter" | 1756 | msgid "# requests filtered by bloomfilter" |
1759 | msgstr "" | 1757 | msgstr "" |
1760 | 1758 | ||
1761 | #: src/datastore/gnunet-service-datastore.c:1121 | 1759 | #: src/datastore/gnunet-service-datastore.c:1141 |
1762 | #, fuzzy | 1760 | #, fuzzy |
1763 | msgid "# UPDATE requests received" | 1761 | msgid "# UPDATE requests received" |
1764 | msgstr "# byte mottogs via TCP" | 1762 | msgstr "# byte mottogs via TCP" |
1765 | 1763 | ||
1766 | #: src/datastore/gnunet-service-datastore.c:1149 | 1764 | #: src/datastore/gnunet-service-datastore.c:1170 |
1767 | msgid "# GET REPLICATION requests received" | 1765 | msgid "# GET REPLICATION requests received" |
1768 | msgstr "" | 1766 | msgstr "" |
1769 | 1767 | ||
1770 | #: src/datastore/gnunet-service-datastore.c:1182 | 1768 | #: src/datastore/gnunet-service-datastore.c:1204 |
1771 | msgid "# GET ZERO ANONYMITY requests received" | 1769 | msgid "# GET ZERO ANONYMITY requests received" |
1772 | msgstr "" | 1770 | msgstr "" |
1773 | 1771 | ||
1774 | #: src/datastore/gnunet-service-datastore.c:1207 | 1772 | #: src/datastore/gnunet-service-datastore.c:1233 |
1775 | #, fuzzy | 1773 | #, fuzzy |
1776 | msgid "Content not found" | 1774 | msgid "Content not found" |
1777 | msgstr "Kommando \"%s\" hittades inte!\n" | 1775 | msgstr "Kommando \"%s\" hittades inte!\n" |
1778 | 1776 | ||
1779 | #: src/datastore/gnunet-service-datastore.c:1215 | 1777 | #: src/datastore/gnunet-service-datastore.c:1244 |
1780 | msgid "# bytes removed (explicit request)" | 1778 | msgid "# bytes removed (explicit request)" |
1781 | msgstr "" | 1779 | msgstr "" |
1782 | 1780 | ||
1783 | #: src/datastore/gnunet-service-datastore.c:1247 | 1781 | #: src/datastore/gnunet-service-datastore.c:1277 |
1784 | #, fuzzy | 1782 | #, fuzzy |
1785 | msgid "# REMOVE requests received" | 1783 | msgid "# REMOVE requests received" |
1786 | msgstr "# byte mottogs via TCP" | 1784 | msgstr "# byte mottogs via TCP" |
1787 | 1785 | ||
1788 | #: src/datastore/gnunet-service-datastore.c:1291 | 1786 | #: src/datastore/gnunet-service-datastore.c:1321 |
1789 | #, c-format | 1787 | #, c-format |
1790 | msgid "" | 1788 | msgid "" |
1791 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1789 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
1792 | msgstr "" | 1790 | msgstr "" |
1793 | 1791 | ||
1794 | #: src/datastore/gnunet-service-datastore.c:1296 | 1792 | #: src/datastore/gnunet-service-datastore.c:1326 |
1795 | #, c-format | 1793 | #, c-format |
1796 | msgid "New payload: %lld\n" | 1794 | msgid "New payload: %lld\n" |
1797 | msgstr "" | 1795 | msgstr "" |
1798 | 1796 | ||
1799 | #: src/datastore/gnunet-service-datastore.c:1349 | 1797 | #: src/datastore/gnunet-service-datastore.c:1379 |
1800 | #, c-format | 1798 | #, c-format |
1801 | msgid "Loading `%s' datastore plugin\n" | 1799 | msgid "Loading `%s' datastore plugin\n" |
1802 | msgstr "" | 1800 | msgstr "" |
1803 | 1801 | ||
1804 | #: src/datastore/gnunet-service-datastore.c:1360 | 1802 | #: src/datastore/gnunet-service-datastore.c:1390 |
1805 | #, fuzzy, c-format | 1803 | #, fuzzy, c-format |
1806 | msgid "Failed to load datastore plugin for `%s'\n" | 1804 | msgid "Failed to load datastore plugin for `%s'\n" |
1807 | msgstr "Kunde inte slå upp \"%s\": %s\n" | 1805 | msgstr "Kunde inte slå upp \"%s\": %s\n" |
1808 | 1806 | ||
1809 | #: src/datastore/gnunet-service-datastore.c:1429 | 1807 | #: src/datastore/gnunet-service-datastore.c:1459 |
1810 | #: src/datastore/gnunet-service-datastore.c:1490 | 1808 | #: src/datastore/gnunet-service-datastore.c:1522 |
1811 | msgid "Bloomfilter construction complete.\n" | 1809 | msgid "Bloomfilter construction complete.\n" |
1812 | msgstr "" | 1810 | msgstr "" |
1813 | 1811 | ||
1814 | #: src/datastore/gnunet-service-datastore.c:1477 | 1812 | #: src/datastore/gnunet-service-datastore.c:1509 |
1815 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1813 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1816 | msgstr "" | 1814 | msgstr "" |
1817 | 1815 | ||
1818 | #: src/datastore/gnunet-service-datastore.c:1487 | 1816 | #: src/datastore/gnunet-service-datastore.c:1519 |
1819 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1817 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1820 | msgstr "" | 1818 | msgstr "" |
1821 | 1819 | ||
1822 | #: src/datastore/gnunet-service-datastore.c:1625 | 1820 | #: src/datastore/gnunet-service-datastore.c:1661 |
1823 | #: src/datastore/gnunet-service-datastore.c:1636 | 1821 | #: src/datastore/gnunet-service-datastore.c:1673 |
1824 | #, fuzzy, c-format | 1822 | #, fuzzy, c-format |
1825 | msgid "No `%s' specified for `%s' in configuration!\n" | 1823 | msgid "No `%s' specified for `%s' in configuration!\n" |
1826 | msgstr "Inga applikationer definierade i konfiguration!\n" | 1824 | msgstr "Inga applikationer definierade i konfiguration!\n" |
1827 | 1825 | ||
1828 | #: src/datastore/gnunet-service-datastore.c:1630 | 1826 | #: src/datastore/gnunet-service-datastore.c:1667 |
1829 | #, fuzzy, c-format | 1827 | #, fuzzy, c-format |
1830 | msgid "# bytes used in file-sharing datastore `%s'" | 1828 | msgid "# bytes used in file-sharing datastore `%s'" |
1831 | msgstr "# byte krypterade" | 1829 | msgstr "# byte krypterade" |
1832 | 1830 | ||
1833 | #: src/datastore/gnunet-service-datastore.c:1641 | 1831 | #: src/datastore/gnunet-service-datastore.c:1679 |
1834 | msgid "# quota" | 1832 | msgid "# quota" |
1835 | msgstr "" | 1833 | msgstr "" |
1836 | 1834 | ||
1837 | #: src/datastore/gnunet-service-datastore.c:1643 | 1835 | #: src/datastore/gnunet-service-datastore.c:1681 |
1838 | msgid "# cache size" | 1836 | msgid "# cache size" |
1839 | msgstr "" | 1837 | msgstr "" |
1840 | 1838 | ||
1841 | #: src/datastore/gnunet-service-datastore.c:1656 | 1839 | #: src/datastore/gnunet-service-datastore.c:1696 |
1842 | #, c-format | 1840 | #, c-format |
1843 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1841 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1844 | msgstr "" | 1842 | msgstr "" |
1845 | 1843 | ||
1846 | #: src/datastore/gnunet-service-datastore.c:1674 | 1844 | #: src/datastore/gnunet-service-datastore.c:1714 |
1847 | #: src/datastore/gnunet-service-datastore.c:1690 | 1845 | #: src/datastore/gnunet-service-datastore.c:1730 |
1848 | #, fuzzy, c-format | 1846 | #, fuzzy, c-format |
1849 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1847 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1850 | msgstr "Kunde inte spara konfigurationsfil \"%s\":" | 1848 | msgstr "Kunde inte spara konfigurationsfil \"%s\":" |
1851 | 1849 | ||
1852 | #: src/datastore/gnunet-service-datastore.c:1720 | 1850 | #: src/datastore/gnunet-service-datastore.c:1760 |
1853 | #, fuzzy | 1851 | #, fuzzy |
1854 | msgid "Failed to initialize bloomfilter.\n" | 1852 | msgid "Failed to initialize bloomfilter.\n" |
1855 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" | 1853 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" |
@@ -1909,7 +1907,7 @@ msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n" | |||
1909 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1907 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1910 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1908 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1911 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1909 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1912 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1910 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1913 | #, fuzzy, c-format | 1911 | #, fuzzy, c-format |
1914 | msgid "Unable to initialize SQLite: %s.\n" | 1912 | msgid "Unable to initialize SQLite: %s.\n" |
1915 | msgstr "Kunde inte initiera SQLite.\n" | 1913 | msgstr "Kunde inte initiera SQLite.\n" |
@@ -1986,9 +1984,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
1986 | msgstr "" | 1984 | msgstr "" |
1987 | 1985 | ||
1988 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 1986 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
1989 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 1987 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
1990 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 1988 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
1991 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 1989 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
1992 | #: src/nse/gnunet-nse-profiler.c:873 | 1990 | #: src/nse/gnunet-nse-profiler.c:873 |
1993 | msgid "be verbose (print progress information)" | 1991 | msgid "be verbose (print progress information)" |
1994 | msgstr "" | 1992 | msgstr "" |
@@ -2005,8 +2003,7 @@ msgstr "" | |||
2005 | msgid "Prints all packets that go through the DHT." | 2003 | msgid "Prints all packets that go through the DHT." |
2006 | msgstr "" | 2004 | msgstr "" |
2007 | 2005 | ||
2008 | #: src/dht/gnunet_dht_profiler.c:1393 | 2006 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
2009 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
2010 | #, fuzzy, c-format | 2007 | #, fuzzy, c-format |
2011 | msgid "Exiting as the number of peers is %u\n" | 2008 | msgid "Exiting as the number of peers is %u\n" |
2012 | msgstr "Maximalt antal chattklienter uppnått.\n" | 2009 | msgstr "Maximalt antal chattklienter uppnått.\n" |
@@ -2230,8 +2227,7 @@ msgstr "" | |||
2230 | msgid "# GET requests given to datacache" | 2227 | msgid "# GET requests given to datacache" |
2231 | msgstr "# byte mottogs via TCP" | 2228 | msgstr "# byte mottogs via TCP" |
2232 | 2229 | ||
2233 | #: src/dht/gnunet-service-dht_hello.c:84 | 2230 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2234 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2235 | #, fuzzy | 2231 | #, fuzzy |
2236 | msgid "# HELLOs obtained from peerinfo" | 2232 | msgid "# HELLOs obtained from peerinfo" |
2237 | msgstr "Meddelande mottaget från klient är ogiltig.\n" | 2233 | msgstr "Meddelande mottaget från klient är ogiltig.\n" |
@@ -3108,77 +3104,77 @@ msgstr "Fel vid %s:%d.\n" | |||
3108 | msgid "Failed to connect to datastore." | 3104 | msgid "Failed to connect to datastore." |
3109 | msgstr "Misslyckades att ansluta till gnunetd.\n" | 3105 | msgstr "Misslyckades att ansluta till gnunetd.\n" |
3110 | 3106 | ||
3111 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 3107 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
3112 | #, fuzzy, c-format | 3108 | #, fuzzy, c-format |
3113 | msgid "Publishing failed: %s" | 3109 | msgid "Publishing failed: %s" |
3114 | msgstr "" | 3110 | msgstr "" |
3115 | "\n" | 3111 | "\n" |
3116 | "Fel vid uppladdning av fil: %s\n" | 3112 | "Fel vid uppladdning av fil: %s\n" |
3117 | 3113 | ||
3118 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 3114 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
3119 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 3115 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
3120 | #, fuzzy, c-format | 3116 | #, fuzzy, c-format |
3121 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 3117 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
3122 | msgstr "Indexering av fil \"%s\" misslyckades. Försöker att infoga fil...\n" | 3118 | msgstr "Indexering av fil \"%s\" misslyckades. Försöker att infoga fil...\n" |
3123 | 3119 | ||
3124 | #: src/fs/fs_publish.c:711 | 3120 | #: src/fs/fs_publish.c:709 |
3125 | msgid "timeout on index-start request to `fs' service" | 3121 | msgid "timeout on index-start request to `fs' service" |
3126 | msgstr "" | 3122 | msgstr "" |
3127 | 3123 | ||
3128 | #: src/fs/fs_publish.c:723 | 3124 | #: src/fs/fs_publish.c:721 |
3129 | #, fuzzy | 3125 | #, fuzzy |
3130 | msgid "unknown error" | 3126 | msgid "unknown error" |
3131 | msgstr "Okänt fel" | 3127 | msgstr "Okänt fel" |
3132 | 3128 | ||
3133 | #: src/fs/fs_publish.c:767 | 3129 | #: src/fs/fs_publish.c:765 |
3134 | msgid "failed to compute hash" | 3130 | msgid "failed to compute hash" |
3135 | msgstr "" | 3131 | msgstr "" |
3136 | 3132 | ||
3137 | #: src/fs/fs_publish.c:787 | 3133 | #: src/fs/fs_publish.c:785 |
3138 | msgid "filename too long" | 3134 | msgid "filename too long" |
3139 | msgstr "" | 3135 | msgstr "" |
3140 | 3136 | ||
3141 | #: src/fs/fs_publish.c:812 | 3137 | #: src/fs/fs_publish.c:810 |
3142 | #, fuzzy | 3138 | #, fuzzy |
3143 | msgid "could not connect to `fs' service" | 3139 | msgid "could not connect to `fs' service" |
3144 | msgstr "Kunde inte ansluta till gnunetd.\n" | 3140 | msgstr "Kunde inte ansluta till gnunetd.\n" |
3145 | 3141 | ||
3146 | #: src/fs/fs_publish.c:835 | 3142 | #: src/fs/fs_publish.c:833 |
3147 | #, fuzzy, c-format | 3143 | #, fuzzy, c-format |
3148 | msgid "Failed to get file identifiers for `%s'\n" | 3144 | msgid "Failed to get file identifiers for `%s'\n" |
3149 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 3145 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
3150 | 3146 | ||
3151 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 3147 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
3152 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 3148 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
3153 | msgstr "" | 3149 | msgstr "" |
3154 | 3150 | ||
3155 | #: src/fs/fs_publish.c:1014 | 3151 | #: src/fs/fs_publish.c:1012 |
3156 | #, fuzzy, c-format | 3152 | #, fuzzy, c-format |
3157 | msgid "Recursive upload failed at `%s': %s" | 3153 | msgid "Recursive upload failed at `%s': %s" |
3158 | msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" | 3154 | msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" |
3159 | 3155 | ||
3160 | #: src/fs/fs_publish.c:1022 | 3156 | #: src/fs/fs_publish.c:1020 |
3161 | #, fuzzy, c-format | 3157 | #, fuzzy, c-format |
3162 | msgid "Recursive upload failed: %s" | 3158 | msgid "Recursive upload failed: %s" |
3163 | msgstr "" | 3159 | msgstr "" |
3164 | "\n" | 3160 | "\n" |
3165 | "Fel vid uppladdning av fil: %s\n" | 3161 | "Fel vid uppladdning av fil: %s\n" |
3166 | 3162 | ||
3167 | #: src/fs/fs_publish.c:1062 | 3163 | #: src/fs/fs_publish.c:1060 |
3168 | msgid "needs to be an actual file" | 3164 | msgid "needs to be an actual file" |
3169 | msgstr "" | 3165 | msgstr "" |
3170 | 3166 | ||
3171 | #: src/fs/fs_publish.c:1301 | 3167 | #: src/fs/fs_publish.c:1299 |
3172 | #, fuzzy, c-format | 3168 | #, fuzzy, c-format |
3173 | msgid "Datastore failure: %s" | 3169 | msgid "Datastore failure: %s" |
3174 | msgstr " Anslutning misslyckades (fel?)\n" | 3170 | msgstr " Anslutning misslyckades (fel?)\n" |
3175 | 3171 | ||
3176 | #: src/fs/fs_publish.c:1392 | 3172 | #: src/fs/fs_publish.c:1390 |
3177 | #, c-format | 3173 | #, c-format |
3178 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3174 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3179 | msgstr "" | 3175 | msgstr "" |
3180 | 3176 | ||
3181 | #: src/fs/fs_publish_ksk.c:219 | 3177 | #: src/fs/fs_publish_ksk.c:224 |
3182 | #, fuzzy | 3178 | #, fuzzy |
3183 | msgid "Could not connect to datastore." | 3179 | msgid "Could not connect to datastore." |
3184 | msgstr "Kunde inte ansluta till gnunetd.\n" | 3180 | msgstr "Kunde inte ansluta till gnunetd.\n" |
@@ -3359,50 +3355,50 @@ msgstr "Misslyckades att starta samling.\n" | |||
3359 | msgid "Failed to save state to file %s\n" | 3355 | msgid "Failed to save state to file %s\n" |
3360 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 3356 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
3361 | 3357 | ||
3362 | #: src/fs/gnunet-auto-share.c:402 | 3358 | #: src/fs/gnunet-auto-share.c:415 |
3363 | #, c-format | 3359 | #, c-format |
3364 | msgid "Publication of `%s' done\n" | 3360 | msgid "Publication of `%s' done\n" |
3365 | msgstr "" | 3361 | msgstr "" |
3366 | 3362 | ||
3367 | #: src/fs/gnunet-auto-share.c:490 | 3363 | #: src/fs/gnunet-auto-share.c:504 |
3368 | #, fuzzy, c-format | 3364 | #, fuzzy, c-format |
3369 | msgid "Publishing `%s'\n" | 3365 | msgid "Publishing `%s'\n" |
3370 | msgstr "" | 3366 | msgstr "" |
3371 | "\n" | 3367 | "\n" |
3372 | "Fel vid uppladdning av fil: %s\n" | 3368 | "Fel vid uppladdning av fil: %s\n" |
3373 | 3369 | ||
3374 | #: src/fs/gnunet-auto-share.c:499 | 3370 | #: src/fs/gnunet-auto-share.c:514 |
3375 | #, fuzzy, c-format | 3371 | #, fuzzy, c-format |
3376 | msgid "Failed to run `%s'\n" | 3372 | msgid "Failed to run `%s'\n" |
3377 | msgstr "Misslyckades att starta samling.\n" | 3373 | msgstr "Misslyckades att starta samling.\n" |
3378 | 3374 | ||
3379 | #: src/fs/gnunet-auto-share.c:688 | 3375 | #: src/fs/gnunet-auto-share.c:725 |
3380 | #, fuzzy, c-format | 3376 | #, fuzzy, c-format |
3381 | msgid "" | 3377 | msgid "" |
3382 | "You must specify one and only one directory name for automatic publication.\n" | 3378 | "You must specify one and only one directory name for automatic publication.\n" |
3383 | msgstr "Du måste ange en och endast en fil att avindexera.\n" | 3379 | msgstr "Du måste ange en och endast en fil att avindexera.\n" |
3384 | 3380 | ||
3385 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3381 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3386 | msgid "set the desired LEVEL of sender-anonymity" | 3382 | msgid "set the desired LEVEL of sender-anonymity" |
3387 | msgstr "" | 3383 | msgstr "" |
3388 | 3384 | ||
3389 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3385 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3390 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3386 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3391 | msgstr "" | 3387 | msgstr "" |
3392 | 3388 | ||
3393 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3389 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3394 | msgid "do not use libextractor to add keywords or metadata" | 3390 | msgid "do not use libextractor to add keywords or metadata" |
3395 | msgstr "" | 3391 | msgstr "" |
3396 | 3392 | ||
3397 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3393 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3398 | msgid "specify the priority of the content" | 3394 | msgid "specify the priority of the content" |
3399 | msgstr "ange prioritet för innehållet" | 3395 | msgstr "ange prioritet för innehållet" |
3400 | 3396 | ||
3401 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3397 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3402 | msgid "set the desired replication LEVEL" | 3398 | msgid "set the desired replication LEVEL" |
3403 | msgstr "" | 3399 | msgstr "" |
3404 | 3400 | ||
3405 | #: src/fs/gnunet-auto-share.c:772 | 3401 | #: src/fs/gnunet-auto-share.c:815 |
3406 | msgid "Automatically publish files from a directory on GNUnet" | 3402 | msgid "Automatically publish files from a directory on GNUnet" |
3407 | msgstr "" | 3403 | msgstr "" |
3408 | 3404 | ||
@@ -3472,65 +3468,65 @@ msgstr "Fel vid nedladdning: %s\n" | |||
3472 | msgid "Downloading `%s' done (%s/s).\n" | 3468 | msgid "Downloading `%s' done (%s/s).\n" |
3473 | msgstr "Uppladdning vägrades!" | 3469 | msgstr "Uppladdning vägrades!" |
3474 | 3470 | ||
3475 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3471 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3476 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3472 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3477 | #, c-format | 3473 | #, c-format |
3478 | msgid "Unexpected status: %d\n" | 3474 | msgid "Unexpected status: %d\n" |
3479 | msgstr "" | 3475 | msgstr "" |
3480 | 3476 | ||
3481 | #: src/fs/gnunet-download.c:234 | 3477 | #: src/fs/gnunet-download.c:233 |
3482 | #, fuzzy | 3478 | #, fuzzy |
3483 | msgid "You need to specify a URI argument.\n" | 3479 | msgid "You need to specify a URI argument.\n" |
3484 | msgstr "Du måste ange en och endast en fil att avindexera.\n" | 3480 | msgstr "Du måste ange en och endast en fil att avindexera.\n" |
3485 | 3481 | ||
3486 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3482 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3487 | #, fuzzy, c-format | 3483 | #, fuzzy, c-format |
3488 | msgid "Failed to parse URI: %s\n" | 3484 | msgid "Failed to parse URI: %s\n" |
3489 | msgstr "Fil \"%s\" har URI: %s\n" | 3485 | msgstr "Fil \"%s\" har URI: %s\n" |
3490 | 3486 | ||
3491 | #: src/fs/gnunet-download.c:247 | 3487 | #: src/fs/gnunet-download.c:246 |
3492 | msgid "Only CHK or LOC URIs supported.\n" | 3488 | msgid "Only CHK or LOC URIs supported.\n" |
3493 | msgstr "" | 3489 | msgstr "" |
3494 | 3490 | ||
3495 | #: src/fs/gnunet-download.c:254 | 3491 | #: src/fs/gnunet-download.c:253 |
3496 | msgid "Target filename must be specified.\n" | 3492 | msgid "Target filename must be specified.\n" |
3497 | msgstr "" | 3493 | msgstr "" |
3498 | 3494 | ||
3499 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3495 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3500 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3496 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3501 | #, fuzzy, c-format | 3497 | #, fuzzy, c-format |
3502 | msgid "Could not initialize `%s' subsystem.\n" | 3498 | msgid "Could not initialize `%s' subsystem.\n" |
3503 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" | 3499 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" |
3504 | 3500 | ||
3505 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3501 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3506 | msgid "set the desired LEVEL of receiver-anonymity" | 3502 | msgid "set the desired LEVEL of receiver-anonymity" |
3507 | msgstr "" | 3503 | msgstr "" |
3508 | 3504 | ||
3509 | #: src/fs/gnunet-download.c:308 | 3505 | #: src/fs/gnunet-download.c:307 |
3510 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3506 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3511 | msgstr "" | 3507 | msgstr "" |
3512 | 3508 | ||
3513 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3509 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3514 | msgid "only search the local peer (no P2P network search)" | 3510 | msgid "only search the local peer (no P2P network search)" |
3515 | msgstr "" | 3511 | msgstr "" |
3516 | 3512 | ||
3517 | #: src/fs/gnunet-download.c:314 | 3513 | #: src/fs/gnunet-download.c:313 |
3518 | msgid "write the file to FILENAME" | 3514 | msgid "write the file to FILENAME" |
3519 | msgstr "skriv filen till FILNAMN" | 3515 | msgstr "skriv filen till FILNAMN" |
3520 | 3516 | ||
3521 | #: src/fs/gnunet-download.c:318 | 3517 | #: src/fs/gnunet-download.c:317 |
3522 | msgid "set the maximum number of parallel downloads that is allowed" | 3518 | msgid "set the maximum number of parallel downloads that is allowed" |
3523 | msgstr "" | 3519 | msgstr "" |
3524 | 3520 | ||
3525 | #: src/fs/gnunet-download.c:322 | 3521 | #: src/fs/gnunet-download.c:321 |
3526 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3522 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3527 | msgstr "" | 3523 | msgstr "" |
3528 | 3524 | ||
3529 | #: src/fs/gnunet-download.c:325 | 3525 | #: src/fs/gnunet-download.c:324 |
3530 | msgid "download a GNUnet directory recursively" | 3526 | msgid "download a GNUnet directory recursively" |
3531 | msgstr "hämta en GNUnet-katalog rekursivt" | 3527 | msgstr "hämta en GNUnet-katalog rekursivt" |
3532 | 3528 | ||
3533 | #: src/fs/gnunet-download.c:339 | 3529 | #: src/fs/gnunet-download.c:338 |
3534 | msgid "" | 3530 | msgid "" |
3535 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3531 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3536 | "chk/...)" | 3532 | "chk/...)" |
@@ -3561,193 +3557,193 @@ msgstr "" | |||
3561 | msgid "run a testbed to measure file-sharing performance" | 3557 | msgid "run a testbed to measure file-sharing performance" |
3562 | msgstr "" | 3558 | msgstr "" |
3563 | 3559 | ||
3564 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3560 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3565 | #, c-format | 3561 | #, c-format |
3566 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3562 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3567 | msgstr "" | 3563 | msgstr "" |
3568 | 3564 | ||
3569 | #: src/fs/gnunet-publish.c:257 | 3565 | #: src/fs/gnunet-publish.c:241 |
3570 | #, fuzzy, c-format | 3566 | #, fuzzy, c-format |
3571 | msgid "Error publishing: %s.\n" | 3567 | msgid "Error publishing: %s.\n" |
3572 | msgstr "Fel vid nedladdning: %s\n" | 3568 | msgstr "Fel vid nedladdning: %s\n" |
3573 | 3569 | ||
3574 | #: src/fs/gnunet-publish.c:268 | 3570 | #: src/fs/gnunet-publish.c:248 |
3575 | #, c-format | 3571 | #, c-format |
3576 | msgid "Publishing `%s' done.\n" | 3572 | msgid "Publishing `%s' done.\n" |
3577 | msgstr "" | 3573 | msgstr "" |
3578 | 3574 | ||
3579 | #: src/fs/gnunet-publish.c:273 | 3575 | #: src/fs/gnunet-publish.c:253 |
3580 | #, fuzzy, c-format | 3576 | #, fuzzy, c-format |
3581 | msgid "URI is `%s'.\n" | 3577 | msgid "URI is `%s'.\n" |
3582 | msgstr "Jag är ändpunkt \"%s\".\n" | 3578 | msgstr "Jag är ändpunkt \"%s\".\n" |
3583 | 3579 | ||
3584 | #: src/fs/gnunet-publish.c:281 | 3580 | #: src/fs/gnunet-publish.c:261 |
3585 | #, fuzzy, c-format | 3581 | #, fuzzy, c-format |
3586 | msgid "Namespace URI is `%s'.\n" | 3582 | msgid "Namespace URI is `%s'.\n" |
3587 | msgstr "Jag är ändpunkt \"%s\".\n" | 3583 | msgstr "Jag är ändpunkt \"%s\".\n" |
3588 | 3584 | ||
3589 | #: src/fs/gnunet-publish.c:299 | 3585 | #: src/fs/gnunet-publish.c:277 |
3590 | #, fuzzy | 3586 | #, fuzzy |
3591 | msgid "Starting cleanup after abort\n" | 3587 | msgid "Starting cleanup after abort\n" |
3592 | msgstr "\"%s\" uppstart klar.\n" | 3588 | msgstr "\"%s\" uppstart klar.\n" |
3593 | 3589 | ||
3594 | #: src/fs/gnunet-publish.c:306 | 3590 | #: src/fs/gnunet-publish.c:284 |
3595 | #, fuzzy | 3591 | #, fuzzy |
3596 | msgid "Cleanup after abort completed.\n" | 3592 | msgid "Cleanup after abort completed.\n" |
3597 | msgstr "\"%s\" uppstart klar.\n" | 3593 | msgstr "\"%s\" uppstart klar.\n" |
3598 | 3594 | ||
3599 | #: src/fs/gnunet-publish.c:312 | 3595 | #: src/fs/gnunet-publish.c:290 |
3600 | #, fuzzy | 3596 | #, fuzzy |
3601 | msgid "Cleanup after abort failed.\n" | 3597 | msgid "Cleanup after abort failed.\n" |
3602 | msgstr "\"%s\" uppstart klar.\n" | 3598 | msgstr "\"%s\" uppstart klar.\n" |
3603 | 3599 | ||
3604 | #: src/fs/gnunet-publish.c:447 | 3600 | #: src/fs/gnunet-publish.c:432 |
3605 | #, fuzzy, c-format | 3601 | #, fuzzy, c-format |
3606 | msgid "Meta data for file `%s' (%s)\n" | 3602 | msgid "Meta data for file `%s' (%s)\n" |
3607 | msgstr "Uppdaterar data för modul \"%s\"\n" | 3603 | msgstr "Uppdaterar data för modul \"%s\"\n" |
3608 | 3604 | ||
3609 | #: src/fs/gnunet-publish.c:449 | 3605 | #: src/fs/gnunet-publish.c:437 |
3610 | #, fuzzy, c-format | 3606 | #, fuzzy, c-format |
3611 | msgid "Keywords for file `%s' (%s)\n" | 3607 | msgid "Keywords for file `%s' (%s)\n" |
3612 | msgstr "Nyckelord för fil \"%s\":\n" | 3608 | msgstr "Nyckelord för fil \"%s\":\n" |
3613 | 3609 | ||
3614 | #: src/fs/gnunet-publish.c:594 | 3610 | #: src/fs/gnunet-publish.c:591 |
3615 | #, fuzzy | 3611 | #, fuzzy |
3616 | msgid "Could not publish\n" | 3612 | msgid "Could not publish\n" |
3617 | msgstr "Kunde inte köra \"%s\": %s\n" | 3613 | msgstr "Kunde inte köra \"%s\": %s\n" |
3618 | 3614 | ||
3619 | #: src/fs/gnunet-publish.c:619 | 3615 | #: src/fs/gnunet-publish.c:616 |
3620 | #, fuzzy | 3616 | #, fuzzy |
3621 | msgid "Could not start publishing.\n" | 3617 | msgid "Could not start publishing.\n" |
3622 | msgstr "Kunde inte slå upp \"%s\": %s\n" | 3618 | msgstr "Kunde inte slå upp \"%s\": %s\n" |
3623 | 3619 | ||
3624 | #: src/fs/gnunet-publish.c:653 | 3620 | #: src/fs/gnunet-publish.c:650 |
3625 | #, fuzzy, c-format | 3621 | #, fuzzy, c-format |
3626 | msgid "Scanning directory `%s'.\n" | 3622 | msgid "Scanning directory `%s'.\n" |
3627 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 3623 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
3628 | 3624 | ||
3629 | #: src/fs/gnunet-publish.c:657 | 3625 | #: src/fs/gnunet-publish.c:654 |
3630 | #, fuzzy, c-format | 3626 | #, fuzzy, c-format |
3631 | msgid "Scanning file `%s'.\n" | 3627 | msgid "Scanning file `%s'.\n" |
3632 | msgstr "Startade samling \"%s\".\n" | 3628 | msgstr "Startade samling \"%s\".\n" |
3633 | 3629 | ||
3634 | #: src/fs/gnunet-publish.c:663 | 3630 | #: src/fs/gnunet-publish.c:660 |
3635 | #, c-format | 3631 | #, c-format |
3636 | msgid "There was trouble processing file `%s', skipping it.\n" | 3632 | msgid "There was trouble processing file `%s', skipping it.\n" |
3637 | msgstr "" | 3633 | msgstr "" |
3638 | 3634 | ||
3639 | #: src/fs/gnunet-publish.c:670 | 3635 | #: src/fs/gnunet-publish.c:667 |
3640 | #, fuzzy | 3636 | #, fuzzy |
3641 | msgid "Preprocessing complete.\n" | 3637 | msgid "Preprocessing complete.\n" |
3642 | msgstr "Nedstängning klar.\n" | 3638 | msgstr "Nedstängning klar.\n" |
3643 | 3639 | ||
3644 | #: src/fs/gnunet-publish.c:675 | 3640 | #: src/fs/gnunet-publish.c:672 |
3645 | #, fuzzy, c-format | 3641 | #, fuzzy, c-format |
3646 | msgid "Extracting meta data from file `%s' complete.\n" | 3642 | msgid "Extracting meta data from file `%s' complete.\n" |
3647 | msgstr "Uppdaterar data för modul \"%s\"\n" | 3643 | msgstr "Uppdaterar data för modul \"%s\"\n" |
3648 | 3644 | ||
3649 | #: src/fs/gnunet-publish.c:682 | 3645 | #: src/fs/gnunet-publish.c:679 |
3650 | msgid "Meta data extraction has finished.\n" | 3646 | msgid "Meta data extraction has finished.\n" |
3651 | msgstr "" | 3647 | msgstr "" |
3652 | 3648 | ||
3653 | #: src/fs/gnunet-publish.c:691 | 3649 | #: src/fs/gnunet-publish.c:688 |
3654 | #, fuzzy | 3650 | #, fuzzy |
3655 | msgid "Internal error scanning directory.\n" | 3651 | msgid "Internal error scanning directory.\n" |
3656 | msgstr "=\tFel vid läsning av katalog.\n" | 3652 | msgstr "=\tFel vid läsning av katalog.\n" |
3657 | 3653 | ||
3658 | #: src/fs/gnunet-publish.c:723 | 3654 | #: src/fs/gnunet-publish.c:716 |
3659 | #, fuzzy, c-format | 3655 | #, fuzzy, c-format |
3660 | msgid "Selected pseudonym `%s' unknown\n" | 3656 | msgid "Selected pseudonym `%s' unknown\n" |
3661 | msgstr "Namnrymd \"%s\" skapad(rot: %s).\n" | 3657 | msgstr "Namnrymd \"%s\" skapad(rot: %s).\n" |
3662 | 3658 | ||
3663 | #: src/fs/gnunet-publish.c:755 | 3659 | #: src/fs/gnunet-publish.c:749 |
3664 | #, fuzzy, c-format | 3660 | #, fuzzy, c-format |
3665 | msgid "Failed to access `%s': %s\n" | 3661 | msgid "Failed to access `%s': %s\n" |
3666 | msgstr "Misslyckades att leverera \"%s\" meddelande.\n" | 3662 | msgstr "Misslyckades att leverera \"%s\" meddelande.\n" |
3667 | 3663 | ||
3668 | #: src/fs/gnunet-publish.c:769 | 3664 | #: src/fs/gnunet-publish.c:763 |
3669 | msgid "" | 3665 | msgid "" |
3670 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3666 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3671 | "installed?\n" | 3667 | "installed?\n" |
3672 | msgstr "" | 3668 | msgstr "" |
3673 | 3669 | ||
3674 | #: src/fs/gnunet-publish.c:825 | 3670 | #: src/fs/gnunet-publish.c:819 |
3675 | #, c-format | 3671 | #, c-format |
3676 | msgid "Cannot extract metadata from a URI!\n" | 3672 | msgid "Cannot extract metadata from a URI!\n" |
3677 | msgstr "" | 3673 | msgstr "" |
3678 | 3674 | ||
3679 | #: src/fs/gnunet-publish.c:832 | 3675 | #: src/fs/gnunet-publish.c:826 |
3680 | #, fuzzy, c-format | 3676 | #, fuzzy, c-format |
3681 | msgid "You must specify one and only one filename for insertion.\n" | 3677 | msgid "You must specify one and only one filename for insertion.\n" |
3682 | msgstr "Du måste ange en och endast en fil att avindexera.\n" | 3678 | msgstr "Du måste ange en och endast en fil att avindexera.\n" |
3683 | 3679 | ||
3684 | #: src/fs/gnunet-publish.c:838 | 3680 | #: src/fs/gnunet-publish.c:832 |
3685 | #, fuzzy, c-format | 3681 | #, fuzzy, c-format |
3686 | msgid "You must NOT specify an URI and a filename.\n" | 3682 | msgid "You must NOT specify an URI and a filename.\n" |
3687 | msgstr "Du måste ange en och endast en fil att avindexera.\n" | 3683 | msgstr "Du måste ange en och endast en fil att avindexera.\n" |
3688 | 3684 | ||
3689 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3685 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3690 | #, fuzzy, c-format | 3686 | #, fuzzy, c-format |
3691 | msgid "Option `%s' is required when using option `%s'.\n" | 3687 | msgid "Option `%s' is required when using option `%s'.\n" |
3692 | msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n" | 3688 | msgstr "Kommando \"%s\" kräver ett argument (\"%s\").\n" |
3693 | 3689 | ||
3694 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3690 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3695 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3691 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3696 | #: src/transport/gnunet-transport.c:1989 | 3692 | #: src/transport/gnunet-transport.c:1989 |
3697 | #, c-format | 3693 | #, c-format |
3698 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3694 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3699 | msgstr "" | 3695 | msgstr "" |
3700 | 3696 | ||
3701 | #: src/fs/gnunet-publish.c:919 | 3697 | #: src/fs/gnunet-publish.c:912 |
3702 | msgid "" | 3698 | msgid "" |
3703 | "print list of extracted keywords that would be used, but do not perform " | 3699 | "print list of extracted keywords that would be used, but do not perform " |
3704 | "upload" | 3700 | "upload" |
3705 | msgstr "" | 3701 | msgstr "" |
3706 | 3702 | ||
3707 | #: src/fs/gnunet-publish.c:923 | 3703 | #: src/fs/gnunet-publish.c:916 |
3708 | msgid "" | 3704 | msgid "" |
3709 | "add an additional keyword for the top-level file or directory (this option " | 3705 | "add an additional keyword for the top-level file or directory (this option " |
3710 | "can be specified multiple times)" | 3706 | "can be specified multiple times)" |
3711 | msgstr "" | 3707 | msgstr "" |
3712 | 3708 | ||
3713 | #: src/fs/gnunet-publish.c:927 | 3709 | #: src/fs/gnunet-publish.c:920 |
3714 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3710 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3715 | msgstr "" | 3711 | msgstr "" |
3716 | 3712 | ||
3717 | #: src/fs/gnunet-publish.c:930 | 3713 | #: src/fs/gnunet-publish.c:923 |
3718 | msgid "" | 3714 | msgid "" |
3719 | "do not index, perform full insertion (stores entire file in encrypted form " | 3715 | "do not index, perform full insertion (stores entire file in encrypted form " |
3720 | "in GNUnet database)" | 3716 | "in GNUnet database)" |
3721 | msgstr "" | 3717 | msgstr "" |
3722 | 3718 | ||
3723 | #: src/fs/gnunet-publish.c:935 | 3719 | #: src/fs/gnunet-publish.c:928 |
3724 | msgid "" | 3720 | msgid "" |
3725 | "specify ID of an updated version to be published in the future (for " | 3721 | "specify ID of an updated version to be published in the future (for " |
3726 | "namespace insertions only)" | 3722 | "namespace insertions only)" |
3727 | msgstr "" | 3723 | msgstr "" |
3728 | 3724 | ||
3729 | #: src/fs/gnunet-publish.c:943 | 3725 | #: src/fs/gnunet-publish.c:936 |
3730 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3726 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3731 | msgstr "" | 3727 | msgstr "" |
3732 | 3728 | ||
3733 | #: src/fs/gnunet-publish.c:949 | 3729 | #: src/fs/gnunet-publish.c:942 |
3734 | msgid "" | 3730 | msgid "" |
3735 | "only simulate the process but do not do any actual publishing (useful to " | 3731 | "only simulate the process but do not do any actual publishing (useful to " |
3736 | "compute URIs)" | 3732 | "compute URIs)" |
3737 | msgstr "" | 3733 | msgstr "" |
3738 | 3734 | ||
3739 | #: src/fs/gnunet-publish.c:953 | 3735 | #: src/fs/gnunet-publish.c:946 |
3740 | msgid "" | 3736 | msgid "" |
3741 | "set the ID of this version of the publication (for namespace insertions only)" | 3737 | "set the ID of this version of the publication (for namespace insertions only)" |
3742 | msgstr "" | 3738 | msgstr "" |
3743 | 3739 | ||
3744 | #: src/fs/gnunet-publish.c:957 | 3740 | #: src/fs/gnunet-publish.c:950 |
3745 | msgid "" | 3741 | msgid "" |
3746 | "URI to be published (can be used instead of passing a file to add keywords " | 3742 | "URI to be published (can be used instead of passing a file to add keywords " |
3747 | "to the file with the respective URI)" | 3743 | "to the file with the respective URI)" |
3748 | msgstr "" | 3744 | msgstr "" |
3749 | 3745 | ||
3750 | #: src/fs/gnunet-publish.c:973 | 3746 | #: src/fs/gnunet-publish.c:966 |
3751 | msgid "Publish a file or directory on GNUnet" | 3747 | msgid "Publish a file or directory on GNUnet" |
3752 | msgstr "" | 3748 | msgstr "" |
3753 | 3749 | ||
@@ -3761,29 +3757,29 @@ msgstr "" | |||
3761 | msgid "Error searching: %s.\n" | 3757 | msgid "Error searching: %s.\n" |
3762 | msgstr "Fel vid lämning av DHT.\n" | 3758 | msgstr "Fel vid lämning av DHT.\n" |
3763 | 3759 | ||
3764 | #: src/fs/gnunet-search.c:246 | 3760 | #: src/fs/gnunet-search.c:245 |
3765 | #, fuzzy | 3761 | #, fuzzy |
3766 | msgid "Could not create keyword URI from arguments.\n" | 3762 | msgid "Could not create keyword URI from arguments.\n" |
3767 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" | 3763 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" |
3768 | 3764 | ||
3769 | #: src/fs/gnunet-search.c:270 | 3765 | #: src/fs/gnunet-search.c:269 |
3770 | #, fuzzy | 3766 | #, fuzzy |
3771 | msgid "Could not start searching.\n" | 3767 | msgid "Could not start searching.\n" |
3772 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" | 3768 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" |
3773 | 3769 | ||
3774 | #: src/fs/gnunet-search.c:301 | 3770 | #: src/fs/gnunet-search.c:300 |
3775 | msgid "write search results to file starting with PREFIX" | 3771 | msgid "write search results to file starting with PREFIX" |
3776 | msgstr "" | 3772 | msgstr "" |
3777 | 3773 | ||
3778 | #: src/fs/gnunet-search.c:304 | 3774 | #: src/fs/gnunet-search.c:303 |
3779 | msgid "automatically terminate search after DELAY" | 3775 | msgid "automatically terminate search after DELAY" |
3780 | msgstr "" | 3776 | msgstr "" |
3781 | 3777 | ||
3782 | #: src/fs/gnunet-search.c:311 | 3778 | #: src/fs/gnunet-search.c:310 |
3783 | msgid "automatically terminate search after VALUE results are found" | 3779 | msgid "automatically terminate search after VALUE results are found" |
3784 | msgstr "" | 3780 | msgstr "" |
3785 | 3781 | ||
3786 | #: src/fs/gnunet-search.c:322 | 3782 | #: src/fs/gnunet-search.c:321 |
3787 | msgid "Search GNUnet for files that were published on GNUnet" | 3783 | msgid "Search GNUnet for files that were published on GNUnet" |
3788 | msgstr "" | 3784 | msgstr "" |
3789 | 3785 | ||
@@ -4171,17 +4167,17 @@ msgstr "" | |||
4171 | msgid "Unindexing done.\n" | 4167 | msgid "Unindexing done.\n" |
4172 | msgstr "Avindexera filer." | 4168 | msgstr "Avindexera filer." |
4173 | 4169 | ||
4174 | #: src/fs/gnunet-unindex.c:130 | 4170 | #: src/fs/gnunet-unindex.c:129 |
4175 | #, fuzzy, c-format | 4171 | #, fuzzy, c-format |
4176 | msgid "You must specify one and only one filename for unindexing.\n" | 4172 | msgid "You must specify one and only one filename for unindexing.\n" |
4177 | msgstr "Du måste ange en och endast en fil att avindexera.\n" | 4173 | msgstr "Du måste ange en och endast en fil att avindexera.\n" |
4178 | 4174 | ||
4179 | #: src/fs/gnunet-unindex.c:147 | 4175 | #: src/fs/gnunet-unindex.c:146 |
4180 | #, fuzzy | 4176 | #, fuzzy |
4181 | msgid "Could not start unindex operation.\n" | 4177 | msgid "Could not start unindex operation.\n" |
4182 | msgstr "Kunde inte komma åt namnrymdsinformation.\n" | 4178 | msgstr "Kunde inte komma åt namnrymdsinformation.\n" |
4183 | 4179 | ||
4184 | #: src/fs/gnunet-unindex.c:179 | 4180 | #: src/fs/gnunet-unindex.c:178 |
4185 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 4181 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
4186 | msgstr "" | 4182 | msgstr "" |
4187 | 4183 | ||
@@ -4586,68 +4582,68 @@ msgstr "" | |||
4586 | msgid "GNS REST API initialized\n" | 4582 | msgid "GNS REST API initialized\n" |
4587 | msgstr " Anslutning misslyckades\n" | 4583 | msgstr " Anslutning misslyckades\n" |
4588 | 4584 | ||
4589 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4585 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4590 | #, fuzzy, c-format | 4586 | #, fuzzy, c-format |
4591 | msgid "Unable to parse IPv4 address `%s'\n" | 4587 | msgid "Unable to parse IPv4 address `%s'\n" |
4592 | msgstr "Ogiltigt svar på \"%s\".\n" | 4588 | msgstr "Ogiltigt svar på \"%s\".\n" |
4593 | 4589 | ||
4594 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4590 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4595 | #, fuzzy, c-format | 4591 | #, fuzzy, c-format |
4596 | msgid "Failed to serialize NS record with value `%s'\n" | 4592 | msgid "Failed to serialize NS record with value `%s'\n" |
4597 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4593 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4598 | 4594 | ||
4599 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4595 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4600 | #, fuzzy, c-format | 4596 | #, fuzzy, c-format |
4601 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4597 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4602 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4598 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4603 | 4599 | ||
4604 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4600 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4605 | #, fuzzy, c-format | 4601 | #, fuzzy, c-format |
4606 | msgid "Failed to serialize CERT record with %u bytes\n" | 4602 | msgid "Failed to serialize CERT record with %u bytes\n" |
4607 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4603 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4608 | 4604 | ||
4609 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4605 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4610 | #, fuzzy, c-format | 4606 | #, fuzzy, c-format |
4611 | msgid "Unable to parse SOA record `%s'\n" | 4607 | msgid "Unable to parse SOA record `%s'\n" |
4612 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 4608 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
4613 | 4609 | ||
4614 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4610 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4615 | #, fuzzy, c-format | 4611 | #, fuzzy, c-format |
4616 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4612 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4617 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4613 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4618 | 4614 | ||
4619 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4615 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4620 | #, fuzzy, c-format | 4616 | #, fuzzy, c-format |
4621 | msgid "Failed to serialize PTR record with value `%s'\n" | 4617 | msgid "Failed to serialize PTR record with value `%s'\n" |
4622 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4618 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4623 | 4619 | ||
4624 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4620 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4625 | #, fuzzy, c-format | 4621 | #, fuzzy, c-format |
4626 | msgid "Unable to parse MX record `%s'\n" | 4622 | msgid "Unable to parse MX record `%s'\n" |
4627 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 4623 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
4628 | 4624 | ||
4629 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4625 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4630 | #, fuzzy, c-format | 4626 | #, fuzzy, c-format |
4631 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4627 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4632 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4628 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4633 | 4629 | ||
4634 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4630 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4635 | #, fuzzy, c-format | 4631 | #, fuzzy, c-format |
4636 | msgid "Unable to parse SRV record `%s'\n" | 4632 | msgid "Unable to parse SRV record `%s'\n" |
4637 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 4633 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
4638 | 4634 | ||
4639 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4635 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4640 | #, fuzzy, c-format | 4636 | #, fuzzy, c-format |
4641 | msgid "Failed to serialize SRV record with target `%s'\n" | 4637 | msgid "Failed to serialize SRV record with target `%s'\n" |
4642 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | 4638 | msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" |
4643 | 4639 | ||
4644 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4640 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4645 | #, fuzzy, c-format | 4641 | #, fuzzy, c-format |
4646 | msgid "Unable to parse IPv6 address `%s'\n" | 4642 | msgid "Unable to parse IPv6 address `%s'\n" |
4647 | msgstr "Ogiltigt svar på \"%s\".\n" | 4643 | msgstr "Ogiltigt svar på \"%s\".\n" |
4648 | 4644 | ||
4649 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4645 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4650 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4646 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4651 | #, fuzzy, c-format | 4647 | #, fuzzy, c-format |
4652 | msgid "Unable to parse TLSA record string `%s'\n" | 4648 | msgid "Unable to parse TLSA record string `%s'\n" |
4653 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | 4649 | msgstr "Misslyckades att läsa kompislista från \"%s\"\n" |
@@ -5166,6 +5162,30 @@ msgstr "GNUnet-konfiguration" | |||
5166 | msgid "Namecache failed to cache block" | 5162 | msgid "Namecache failed to cache block" |
5167 | msgstr "" | 5163 | msgstr "" |
5168 | 5164 | ||
5165 | #: src/namecache/plugin_namecache_flat.c:119 | ||
5166 | #: src/namecache/plugin_namecache_flat.c:236 | ||
5167 | #: src/namestore/plugin_namestore_flat.c:184 | ||
5168 | #: src/namestore/plugin_namestore_flat.c:352 | ||
5169 | #, fuzzy, c-format | ||
5170 | msgid "Unable to initialize file: %s.\n" | ||
5171 | msgstr "Kunde inte initiera SQLite.\n" | ||
5172 | |||
5173 | #: src/namecache/plugin_namecache_flat.c:130 | ||
5174 | #: src/namestore/plugin_namestore_flat.c:195 | ||
5175 | #, fuzzy, c-format | ||
5176 | msgid "Unable to get filesize: %s.\n" | ||
5177 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" | ||
5178 | |||
5179 | #: src/namecache/plugin_namecache_flat.c:142 | ||
5180 | #: src/namestore/plugin_namestore_flat.c:207 | ||
5181 | #, fuzzy, c-format | ||
5182 | msgid "Unable to read file: %s.\n" | ||
5183 | msgstr "Kunde inte skapa namnrymd \"%s\" (existerar?).\n" | ||
5184 | |||
5185 | #: src/namecache/plugin_namecache_flat.c:391 | ||
5186 | msgid "flat plugin running\n" | ||
5187 | msgstr "" | ||
5188 | |||
5169 | #: src/namecache/plugin_namecache_postgres.c:89 | 5189 | #: src/namecache/plugin_namecache_postgres.c:89 |
5170 | #: src/namestore/plugin_namestore_postgres.c:96 | 5190 | #: src/namestore/plugin_namestore_postgres.c:96 |
5171 | #, fuzzy | 5191 | #, fuzzy |
@@ -5270,8 +5290,7 @@ msgstr "" | |||
5270 | msgid "Invalid public key for reverse lookup `%s'\n" | 5290 | msgid "Invalid public key for reverse lookup `%s'\n" |
5271 | msgstr "Ogiltigt argument: \"%s\"\n" | 5291 | msgstr "Ogiltigt argument: \"%s\"\n" |
5272 | 5292 | ||
5273 | #: src/namestore/gnunet-namestore.c:868 | 5293 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5274 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5275 | #, fuzzy, c-format | 5294 | #, fuzzy, c-format |
5276 | msgid "Invalid URI `%s'\n" | 5295 | msgid "Invalid URI `%s'\n" |
5277 | msgstr "Ogiltiga argument: " | 5296 | msgstr "Ogiltiga argument: " |
@@ -5433,11 +5452,19 @@ msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | |||
5433 | msgid "Namestore failed to store record\n" | 5452 | msgid "Namestore failed to store record\n" |
5434 | msgstr "" | 5453 | msgstr "" |
5435 | 5454 | ||
5455 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5456 | msgid "flat file database running\n" | ||
5457 | msgstr "" | ||
5458 | |||
5436 | #: src/namestore/plugin_rest_namestore.c:1023 | 5459 | #: src/namestore/plugin_rest_namestore.c:1023 |
5437 | #, fuzzy | 5460 | #, fuzzy |
5438 | msgid "Namestore REST API initialized\n" | 5461 | msgid "Namestore REST API initialized\n" |
5439 | msgstr " Anslutning misslyckades\n" | 5462 | msgstr " Anslutning misslyckades\n" |
5440 | 5463 | ||
5464 | #: src/nat/gnunet-nat.c:160 | ||
5465 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5466 | msgstr "" | ||
5467 | |||
5441 | #: src/nat/gnunet-nat-server.c:279 | 5468 | #: src/nat/gnunet-nat-server.c:279 |
5442 | #, c-format | 5469 | #, c-format |
5443 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5470 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5447,55 +5474,60 @@ msgstr "" | |||
5447 | msgid "GNUnet NAT traversal test helper daemon" | 5474 | msgid "GNUnet NAT traversal test helper daemon" |
5448 | msgstr "" | 5475 | msgstr "" |
5449 | 5476 | ||
5450 | #: src/nat/nat_auto.c:179 | 5477 | #: src/nat/nat_auto.c:394 |
5451 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5478 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5452 | msgstr "" | 5479 | msgstr "" |
5453 | 5480 | ||
5454 | #: src/nat/nat_auto.c:180 | 5481 | #: src/nat/nat_auto.c:395 |
5455 | msgid "NAT traversal with ICMP Server failed.\n" | 5482 | msgid "NAT traversal with ICMP Server failed.\n" |
5456 | msgstr "" | 5483 | msgstr "" |
5457 | 5484 | ||
5458 | #: src/nat/nat_auto.c:201 | 5485 | #: src/nat/nat_auto.c:416 |
5459 | #, fuzzy | 5486 | #, fuzzy |
5460 | msgid "Testing connection reversal with ICMP server.\n" | 5487 | msgid "Testing connection reversal with ICMP server.\n" |
5461 | msgstr "Skriv ut information om GNUnets motparter." | 5488 | msgstr "Skriv ut information om GNUnets motparter." |
5462 | 5489 | ||
5463 | #: src/nat/nat_auto.c:249 | 5490 | #: src/nat/nat_auto.c:448 |
5464 | #, fuzzy, c-format | 5491 | #, fuzzy, c-format |
5465 | msgid "Detected external IP `%s'\n" | 5492 | msgid "Detected external IP `%s'\n" |
5466 | msgstr "Mottog ogiltig RPC \"%s\".\n" | 5493 | msgstr "Mottog ogiltig RPC \"%s\".\n" |
5467 | 5494 | ||
5468 | #: src/nat/nat_auto.c:327 | 5495 | #: src/nat/nat_auto.c:579 |
5469 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5496 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5470 | msgstr "" | 5497 | msgstr "" |
5471 | 5498 | ||
5472 | #: src/nat/nat_auto.c:343 | 5499 | #: src/nat/nat_auto.c:597 |
5473 | #, c-format | 5500 | #, c-format |
5474 | msgid "Detected internal network address `%s'.\n" | 5501 | msgid "Detected internal network address `%s'.\n" |
5475 | msgstr "" | 5502 | msgstr "" |
5476 | 5503 | ||
5477 | #: src/nat/nat_auto.c:406 | 5504 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5505 | #, fuzzy | ||
5506 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5507 | msgstr "Misslyckades att ansluta till gnunetd.\n" | ||
5508 | |||
5509 | #: src/nat/nat_auto.c:715 | ||
5478 | msgid "upnpc found, enabling its use\n" | 5510 | msgid "upnpc found, enabling its use\n" |
5479 | msgstr "" | 5511 | msgstr "" |
5480 | 5512 | ||
5481 | #: src/nat/nat_auto.c:407 | 5513 | #: src/nat/nat_auto.c:716 |
5482 | #, fuzzy | 5514 | #, fuzzy |
5483 | msgid "upnpc not found\n" | 5515 | msgid "upnpc not found\n" |
5484 | msgstr "Kommando \"%s\" hittades inte!\n" | 5516 | msgstr "Kommando \"%s\" hittades inte!\n" |
5485 | 5517 | ||
5486 | #: src/nat/nat_auto.c:437 | 5518 | #: src/nat/nat_auto.c:748 |
5487 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5519 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5488 | msgstr "" | 5520 | msgstr "" |
5489 | 5521 | ||
5490 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5522 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5491 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5523 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5492 | msgstr "" | 5524 | msgstr "" |
5493 | 5525 | ||
5494 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5526 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5495 | msgid "No working gnunet-helper-nat-server found\n" | 5527 | msgid "No working gnunet-helper-nat-server found\n" |
5496 | msgstr "" | 5528 | msgstr "" |
5497 | 5529 | ||
5498 | #: src/nat/nat_auto.c:483 | 5530 | #: src/nat/nat_auto.c:797 |
5499 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5531 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5500 | msgstr "" | 5532 | msgstr "" |
5501 | 5533 | ||
@@ -5509,120 +5541,120 @@ msgstr "" | |||
5509 | msgid "Failed to start %s\n" | 5541 | msgid "Failed to start %s\n" |
5510 | msgstr "Misslyckades att starta samling.\n" | 5542 | msgstr "Misslyckades att starta samling.\n" |
5511 | 5543 | ||
5512 | #: src/nat/nat.c:1286 | 5544 | #: src/nat/nat.c:1305 |
5513 | msgid "Error while running upnp client:\n" | 5545 | msgid "Error while running upnp client:\n" |
5514 | msgstr "" | 5546 | msgstr "" |
5515 | 5547 | ||
5516 | #: src/nat/nat.c:1356 | 5548 | #: src/nat/nat.c:1375 |
5517 | #, fuzzy, c-format | 5549 | #, fuzzy, c-format |
5518 | msgid "Failed to run upnp client for port %u\n" | 5550 | msgid "Failed to run upnp client for port %u\n" |
5519 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" | 5551 | msgstr "Misslyckades att initiera tjänsten \"%s\".\n" |
5520 | 5552 | ||
5521 | #: src/nat/nat.c:1498 | 5553 | #: src/nat/nat.c:1517 |
5522 | msgid "malformed" | 5554 | msgid "malformed" |
5523 | msgstr "" | 5555 | msgstr "" |
5524 | 5556 | ||
5525 | #: src/nat/nat.c:1552 | 5557 | #: src/nat/nat.c:1571 |
5526 | msgid "" | 5558 | msgid "" |
5527 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5559 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5528 | "disabling UPnP \n" | 5560 | "disabling UPnP \n" |
5529 | msgstr "" | 5561 | msgstr "" |
5530 | 5562 | ||
5531 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5563 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5532 | #, c-format | 5564 | #, c-format |
5533 | msgid "" | 5565 | msgid "" |
5534 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5566 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
5535 | "not set). Option disabled.\n" | 5567 | "not set). Option disabled.\n" |
5536 | msgstr "" | 5568 | msgstr "" |
5537 | 5569 | ||
5538 | #: src/nat/nat.c:1830 | 5570 | #: src/nat/nat.c:1855 |
5539 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5571 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5540 | msgstr "" | 5572 | msgstr "" |
5541 | 5573 | ||
5542 | #: src/nat/nat.c:1846 | 5574 | #: src/nat/nat.c:1871 |
5543 | #, c-format | 5575 | #, c-format |
5544 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5576 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5545 | msgstr "" | 5577 | msgstr "" |
5546 | 5578 | ||
5547 | #: src/nat/nat.c:1931 | 5579 | #: src/nat/nat.c:1958 |
5548 | msgid "Operation Successful" | 5580 | msgid "Operation Successful" |
5549 | msgstr "" | 5581 | msgstr "" |
5550 | 5582 | ||
5551 | #: src/nat/nat.c:1933 | 5583 | #: src/nat/nat.c:1960 |
5552 | msgid "Internal Failure (IPC, ...)" | 5584 | msgid "Internal Failure (IPC, ...)" |
5553 | msgstr "" | 5585 | msgstr "" |
5554 | 5586 | ||
5555 | #: src/nat/nat.c:1935 | 5587 | #: src/nat/nat.c:1962 |
5556 | msgid "Failure in network subsystem, check permissions." | 5588 | msgid "Failure in network subsystem, check permissions." |
5557 | msgstr "" | 5589 | msgstr "" |
5558 | 5590 | ||
5559 | #: src/nat/nat.c:1937 | 5591 | #: src/nat/nat.c:1964 |
5560 | msgid "Encountered timeout while performing operation" | 5592 | msgid "Encountered timeout while performing operation" |
5561 | msgstr "" | 5593 | msgstr "" |
5562 | 5594 | ||
5563 | #: src/nat/nat.c:1939 | 5595 | #: src/nat/nat.c:1966 |
5564 | msgid "detected that we are offline" | 5596 | msgid "detected that we are offline" |
5565 | msgstr "" | 5597 | msgstr "" |
5566 | 5598 | ||
5567 | #: src/nat/nat.c:1941 | 5599 | #: src/nat/nat.c:1968 |
5568 | #, fuzzy | 5600 | #, fuzzy |
5569 | msgid "`upnpc` command not found" | 5601 | msgid "`upnpc` command not found" |
5570 | msgstr "Kommando \"%s\" hittades inte!\n" | 5602 | msgstr "Kommando \"%s\" hittades inte!\n" |
5571 | 5603 | ||
5572 | #: src/nat/nat.c:1943 | 5604 | #: src/nat/nat.c:1970 |
5573 | #, fuzzy | 5605 | #, fuzzy |
5574 | msgid "Failed to run `upnpc` command" | 5606 | msgid "Failed to run `upnpc` command" |
5575 | msgstr "Misslyckades att starta samling.\n" | 5607 | msgstr "Misslyckades att starta samling.\n" |
5576 | 5608 | ||
5577 | #: src/nat/nat.c:1945 | 5609 | #: src/nat/nat.c:1972 |
5578 | #, fuzzy | 5610 | #, fuzzy |
5579 | msgid "`upnpc' command took too long, process killed" | 5611 | msgid "`upnpc' command took too long, process killed" |
5580 | msgstr "Kommando \"%s\" hittades inte!\n" | 5612 | msgstr "Kommando \"%s\" hittades inte!\n" |
5581 | 5613 | ||
5582 | #: src/nat/nat.c:1947 | 5614 | #: src/nat/nat.c:1974 |
5583 | msgid "`upnpc' command failed to establish port mapping" | 5615 | msgid "`upnpc' command failed to establish port mapping" |
5584 | msgstr "" | 5616 | msgstr "" |
5585 | 5617 | ||
5586 | #: src/nat/nat.c:1949 | 5618 | #: src/nat/nat.c:1976 |
5587 | #, fuzzy | 5619 | #, fuzzy |
5588 | msgid "`external-ip' command not found" | 5620 | msgid "`external-ip' command not found" |
5589 | msgstr "Kommando \"%s\" hittades inte!\n" | 5621 | msgstr "Kommando \"%s\" hittades inte!\n" |
5590 | 5622 | ||
5591 | #: src/nat/nat.c:1951 | 5623 | #: src/nat/nat.c:1978 |
5592 | #, fuzzy | 5624 | #, fuzzy |
5593 | msgid "Failed to run `external-ip` command" | 5625 | msgid "Failed to run `external-ip` command" |
5594 | msgstr "Misslyckades att starta samling.\n" | 5626 | msgstr "Misslyckades att starta samling.\n" |
5595 | 5627 | ||
5596 | #: src/nat/nat.c:1953 | 5628 | #: src/nat/nat.c:1980 |
5597 | msgid "`external-ip' command output invalid" | 5629 | msgid "`external-ip' command output invalid" |
5598 | msgstr "" | 5630 | msgstr "" |
5599 | 5631 | ||
5600 | #: src/nat/nat.c:1955 | 5632 | #: src/nat/nat.c:1982 |
5601 | msgid "no valid address was returned by `external-ip'" | 5633 | msgid "no valid address was returned by `external-ip'" |
5602 | msgstr "" | 5634 | msgstr "" |
5603 | 5635 | ||
5604 | #: src/nat/nat.c:1957 | 5636 | #: src/nat/nat.c:1984 |
5605 | #, fuzzy | 5637 | #, fuzzy |
5606 | msgid "Could not determine interface with internal/local network address" | 5638 | msgid "Could not determine interface with internal/local network address" |
5607 | msgstr "Kunde inte fastställa min publika IPv6-adress.\n" | 5639 | msgstr "Kunde inte fastställa min publika IPv6-adress.\n" |
5608 | 5640 | ||
5609 | #: src/nat/nat.c:1959 | 5641 | #: src/nat/nat.c:1986 |
5610 | msgid "No functioning gnunet-helper-nat-server installation found" | 5642 | msgid "No functioning gnunet-helper-nat-server installation found" |
5611 | msgstr "" | 5643 | msgstr "" |
5612 | 5644 | ||
5613 | #: src/nat/nat.c:1961 | 5645 | #: src/nat/nat.c:1988 |
5614 | msgid "NAT test could not be initialized" | 5646 | msgid "NAT test could not be initialized" |
5615 | msgstr "" | 5647 | msgstr "" |
5616 | 5648 | ||
5617 | #: src/nat/nat.c:1963 | 5649 | #: src/nat/nat.c:1990 |
5618 | msgid "NAT test timeout reached" | 5650 | msgid "NAT test timeout reached" |
5619 | msgstr "" | 5651 | msgstr "" |
5620 | 5652 | ||
5621 | #: src/nat/nat.c:1965 | 5653 | #: src/nat/nat.c:1992 |
5622 | msgid "could not register NAT" | 5654 | msgid "could not register NAT" |
5623 | msgstr "" | 5655 | msgstr "" |
5624 | 5656 | ||
5625 | #: src/nat/nat.c:1967 | 5657 | #: src/nat/nat.c:1994 |
5626 | msgid "No working gnunet-helper-nat-client installation found" | 5658 | msgid "No working gnunet-helper-nat-client installation found" |
5627 | msgstr "" | 5659 | msgstr "" |
5628 | 5660 | ||
@@ -5634,17 +5666,12 @@ msgstr "" | |||
5634 | msgid "`upnpc' command not found\n" | 5666 | msgid "`upnpc' command not found\n" |
5635 | msgstr "" | 5667 | msgstr "" |
5636 | 5668 | ||
5637 | #: src/nat/nat_test.c:360 | 5669 | #: src/nat/nat_test.c:467 |
5638 | #, fuzzy | ||
5639 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5640 | msgstr "Misslyckades att ansluta till gnunetd.\n" | ||
5641 | |||
5642 | #: src/nat/nat_test.c:462 | ||
5643 | #, c-format | 5670 | #, c-format |
5644 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5671 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5645 | msgstr "" | 5672 | msgstr "" |
5646 | 5673 | ||
5647 | #: src/nat/nat_test.c:497 | 5674 | #: src/nat/nat_test.c:502 |
5648 | #, fuzzy | 5675 | #, fuzzy |
5649 | msgid "NAT test failed to start NAT library\n" | 5676 | msgid "NAT test failed to start NAT library\n" |
5650 | msgstr "Misslyckades att starta samling.\n" | 5677 | msgstr "Misslyckades att starta samling.\n" |
@@ -5689,8 +5716,8 @@ msgstr "" | |||
5689 | msgid "Measure quality and performance of the NSE service." | 5716 | msgid "Measure quality and performance of the NSE service." |
5690 | msgstr "Kan inte tillgå tjänsten" | 5717 | msgstr "Kan inte tillgå tjänsten" |
5691 | 5718 | ||
5692 | #: src/nse/gnunet-service-nse.c:1537 | 5719 | #: src/nse/gnunet-service-nse.c:1541 |
5693 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5720 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5694 | msgid "Value is too large.\n" | 5721 | msgid "Value is too large.\n" |
5695 | msgstr "" | 5722 | msgstr "" |
5696 | 5723 | ||
@@ -5950,7 +5977,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
5950 | msgstr "" | 5977 | msgstr "" |
5951 | 5978 | ||
5952 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 5979 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
5953 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 5980 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
5954 | #, fuzzy, c-format | 5981 | #, fuzzy, c-format |
5955 | msgid "" | 5982 | msgid "" |
5956 | "Error executing SQL query: %s\n" | 5983 | "Error executing SQL query: %s\n" |
@@ -5958,7 +5985,7 @@ msgid "" | |||
5958 | msgstr "Fel vid skapandet av användare" | 5985 | msgstr "Fel vid skapandet av användare" |
5959 | 5986 | ||
5960 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 5987 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
5961 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 5988 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
5962 | #, fuzzy, c-format | 5989 | #, fuzzy, c-format |
5963 | msgid "" | 5990 | msgid "" |
5964 | "Error preparing SQL query: %s\n" | 5991 | "Error preparing SQL query: %s\n" |
@@ -6015,43 +6042,48 @@ msgstr "Misslyckades att läsa kompislista från \"%s\"\n" | |||
6015 | msgid "Failed to get master counters!\n" | 6042 | msgid "Failed to get master counters!\n" |
6016 | msgstr "Kunde inte skapa värdnyckel!\n" | 6043 | msgstr "Kunde inte skapa värdnyckel!\n" |
6017 | 6044 | ||
6018 | #: src/psycstore/gnunet-service-psycstore.c:645 | 6045 | #: src/psycstore/gnunet-service-psycstore.c:657 |
6019 | #, fuzzy | 6046 | #, fuzzy, c-format |
6020 | msgid "Failed to begin modifying state!\n" | 6047 | msgid "Failed to begin modifying state: %d\n" |
6021 | msgstr "Misslyckades att starta samling.\n" | 6048 | msgstr "Misslyckades att starta samling.\n" |
6022 | 6049 | ||
6023 | #: src/psycstore/gnunet-service-psycstore.c:656 | 6050 | #: src/psycstore/gnunet-service-psycstore.c:667 |
6051 | #, fuzzy, c-format | ||
6052 | msgid "Failed to modify state: %d\n" | ||
6053 | msgstr "Misslyckades att starta samling.\n" | ||
6054 | |||
6055 | #: src/psycstore/gnunet-service-psycstore.c:675 | ||
6024 | #, fuzzy | 6056 | #, fuzzy |
6025 | msgid "Failed to end modifying state!\n" | 6057 | msgid "Failed to end modifying state!\n" |
6026 | msgstr "Misslyckades att starta samling.\n" | 6058 | msgstr "Misslyckades att starta samling.\n" |
6027 | 6059 | ||
6028 | #: src/psycstore/gnunet-service-psycstore.c:686 | 6060 | #: src/psycstore/gnunet-service-psycstore.c:706 |
6029 | msgid "Tried to set invalid state variable name!\n" | 6061 | msgid "Tried to set invalid state variable name!\n" |
6030 | msgstr "" | 6062 | msgstr "" |
6031 | 6063 | ||
6032 | #: src/psycstore/gnunet-service-psycstore.c:700 | 6064 | #: src/psycstore/gnunet-service-psycstore.c:720 |
6033 | #, fuzzy | 6065 | #, fuzzy |
6034 | msgid "Failed to begin synchronizing state!\n" | 6066 | msgid "Failed to begin synchronizing state!\n" |
6035 | msgstr "Kunde inte skapa värdnyckel!\n" | 6067 | msgstr "Kunde inte skapa värdnyckel!\n" |
6036 | 6068 | ||
6037 | #: src/psycstore/gnunet-service-psycstore.c:717 | 6069 | #: src/psycstore/gnunet-service-psycstore.c:737 |
6038 | #, fuzzy | 6070 | #, fuzzy |
6039 | msgid "Failed to end synchronizing state!\n" | 6071 | msgid "Failed to end synchronizing state!\n" |
6040 | msgstr "Kunde inte skapa värdnyckel!\n" | 6072 | msgstr "Kunde inte skapa värdnyckel!\n" |
6041 | 6073 | ||
6042 | #: src/psycstore/gnunet-service-psycstore.c:737 | 6074 | #: src/psycstore/gnunet-service-psycstore.c:757 |
6043 | #: src/psycstore/gnunet-service-psycstore.c:756 | 6075 | #: src/psycstore/gnunet-service-psycstore.c:776 |
6044 | #, fuzzy | 6076 | #, fuzzy |
6045 | msgid "Failed to reset state!\n" | 6077 | msgid "Failed to reset state!\n" |
6046 | msgstr "Kunde inte skapa värdnyckel!\n" | 6078 | msgstr "Kunde inte skapa värdnyckel!\n" |
6047 | 6079 | ||
6048 | #: src/psycstore/gnunet-service-psycstore.c:779 | 6080 | #: src/psycstore/gnunet-service-psycstore.c:799 |
6049 | #: src/psycstore/gnunet-service-psycstore.c:830 | 6081 | #: src/psycstore/gnunet-service-psycstore.c:850 |
6050 | msgid "Tried to get invalid state variable name!\n" | 6082 | msgid "Tried to get invalid state variable name!\n" |
6051 | msgstr "" | 6083 | msgstr "" |
6052 | 6084 | ||
6053 | #: src/psycstore/gnunet-service-psycstore.c:806 | 6085 | #: src/psycstore/gnunet-service-psycstore.c:826 |
6054 | #: src/psycstore/gnunet-service-psycstore.c:845 | 6086 | #: src/psycstore/gnunet-service-psycstore.c:865 |
6055 | #, fuzzy | 6087 | #, fuzzy |
6056 | msgid "Failed to get state variable!\n" | 6088 | msgid "Failed to get state variable!\n" |
6057 | msgstr "Kunde inte skapa värdnyckel!\n" | 6089 | msgstr "Kunde inte skapa värdnyckel!\n" |
@@ -6061,7 +6093,7 @@ msgstr "Kunde inte skapa värdnyckel!\n" | |||
6061 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 6093 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
6062 | msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n" | 6094 | msgstr "\"%s\" misslyckades vid %s:%d med fel: %s\n" |
6063 | 6095 | ||
6064 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 6096 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
6065 | msgid "SQLite database running\n" | 6097 | msgid "SQLite database running\n" |
6066 | msgstr "" | 6098 | msgstr "" |
6067 | 6099 | ||
@@ -6333,37 +6365,37 @@ msgstr "" | |||
6333 | msgid "test if the public key KEY has been revoked" | 6365 | msgid "test if the public key KEY has been revoked" |
6334 | msgstr "" | 6366 | msgstr "" |
6335 | 6367 | ||
6336 | #: src/revocation/gnunet-service-revocation.c:427 | 6368 | #: src/revocation/gnunet-service-revocation.c:481 |
6337 | #, fuzzy | 6369 | #, fuzzy |
6338 | msgid "# unsupported revocations received via set union" | 6370 | msgid "# unsupported revocations received via set union" |
6339 | msgstr "# byte mottogs via TCP" | 6371 | msgstr "# byte mottogs via TCP" |
6340 | 6372 | ||
6341 | #: src/revocation/gnunet-service-revocation.c:436 | 6373 | #: src/revocation/gnunet-service-revocation.c:490 |
6342 | #, fuzzy | 6374 | #, fuzzy |
6343 | msgid "# revocation messages received via set union" | 6375 | msgid "# revocation messages received via set union" |
6344 | msgstr "# krypterade PONG-meddelanden mottagna" | 6376 | msgstr "# krypterade PONG-meddelanden mottagna" |
6345 | 6377 | ||
6346 | #: src/revocation/gnunet-service-revocation.c:441 | 6378 | #: src/revocation/gnunet-service-revocation.c:495 |
6347 | #, c-format | 6379 | #, c-format |
6348 | msgid "Error computing revocation set union with %s\n" | 6380 | msgid "Error computing revocation set union with %s\n" |
6349 | msgstr "" | 6381 | msgstr "" |
6350 | 6382 | ||
6351 | #: src/revocation/gnunet-service-revocation.c:445 | 6383 | #: src/revocation/gnunet-service-revocation.c:499 |
6352 | #, fuzzy | 6384 | #, fuzzy |
6353 | msgid "# revocation set unions failed" | 6385 | msgid "# revocation set unions failed" |
6354 | msgstr "# sessionsnycklar accepterade" | 6386 | msgstr "# sessionsnycklar accepterade" |
6355 | 6387 | ||
6356 | #: src/revocation/gnunet-service-revocation.c:454 | 6388 | #: src/revocation/gnunet-service-revocation.c:508 |
6357 | #, fuzzy | 6389 | #, fuzzy |
6358 | msgid "# revocation set unions completed" | 6390 | msgid "# revocation set unions completed" |
6359 | msgstr "# klartext PONG-meddelanden mottagna" | 6391 | msgstr "# klartext PONG-meddelanden mottagna" |
6360 | 6392 | ||
6361 | #: src/revocation/gnunet-service-revocation.c:493 | 6393 | #: src/revocation/gnunet-service-revocation.c:547 |
6362 | #: src/revocation/gnunet-service-revocation.c:759 | 6394 | #: src/revocation/gnunet-service-revocation.c:780 |
6363 | msgid "SET service crashed, terminating revocation service\n" | 6395 | msgid "SET service crashed, terminating revocation service\n" |
6364 | msgstr "" | 6396 | msgstr "" |
6365 | 6397 | ||
6366 | #: src/revocation/gnunet-service-revocation.c:851 | 6398 | #: src/revocation/gnunet-service-revocation.c:872 |
6367 | #, fuzzy | 6399 | #, fuzzy |
6368 | msgid "Could not open revocation database file!" | 6400 | msgid "Could not open revocation database file!" |
6369 | msgstr "Kunde inte ansluta till gnunetd.\n" | 6401 | msgstr "Kunde inte ansluta till gnunetd.\n" |
@@ -6427,7 +6459,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6427 | msgstr "" | 6459 | msgstr "" |
6428 | 6460 | ||
6429 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6461 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6430 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6462 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6463 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6464 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6431 | #, fuzzy | 6465 | #, fuzzy |
6432 | msgid "Connect to CADET failed\n" | 6466 | msgid "Connect to CADET failed\n" |
6433 | msgstr " Anslutning misslyckades (fel?)\n" | 6467 | msgstr " Anslutning misslyckades (fel?)\n" |
@@ -6700,7 +6734,7 @@ msgstr "" | |||
6700 | "\n" | 6734 | "\n" |
6701 | "Fel vid uppladdning av fil: %s\n" | 6735 | "Fel vid uppladdning av fil: %s\n" |
6702 | 6736 | ||
6703 | #: src/set/gnunet-service-set.c:1531 | 6737 | #: src/set/gnunet-service-set.c:1960 |
6704 | #, fuzzy | 6738 | #, fuzzy |
6705 | msgid "Could not connect to cadet service\n" | 6739 | msgid "Could not connect to cadet service\n" |
6706 | msgstr "Kunde inte ansluta till gnunetd.\n" | 6740 | msgstr "Kunde inte ansluta till gnunetd.\n" |
@@ -6826,7 +6860,7 @@ msgstr "Skriv ut statistik om GNUnet-operationer." | |||
6826 | msgid "Could not save some persistent statistics\n" | 6860 | msgid "Could not save some persistent statistics\n" |
6827 | msgstr "Kunde inte skapa värdnyckel!\n" | 6861 | msgstr "Kunde inte skapa värdnyckel!\n" |
6828 | 6862 | ||
6829 | #: src/statistics/statistics_api.c:1090 | 6863 | #: src/statistics/statistics_api.c:1088 |
6830 | msgid "" | 6864 | msgid "" |
6831 | "Failed to receive acknowledgement from statistics service, some statistics " | 6865 | "Failed to receive acknowledgement from statistics service, some statistics " |
6832 | "might have been lost!\n" | 6866 | "might have been lost!\n" |
@@ -8473,7 +8507,7 @@ msgstr "" | |||
8473 | msgid "# sessions allocated" | 8507 | msgid "# sessions allocated" |
8474 | msgstr "# sessionsnycklar accepterade" | 8508 | msgstr "# sessionsnycklar accepterade" |
8475 | 8509 | ||
8476 | #: src/transport/transport_api.c:812 | 8510 | #: src/transport/transport_api.c:827 |
8477 | #, fuzzy, c-format | 8511 | #, fuzzy, c-format |
8478 | msgid "Received unexpected message of type %u in %s:%u\n" | 8512 | msgid "Received unexpected message of type %u in %s:%u\n" |
8479 | msgstr "Mottog skadat meddelande från motpart \"%s\"i %s:%d.\n" | 8513 | msgstr "Mottog skadat meddelande från motpart \"%s\"i %s:%d.\n" |
@@ -8518,34 +8552,34 @@ msgstr "" | |||
8518 | msgid "Metadata `%s' failed to deserialize" | 8552 | msgid "Metadata `%s' failed to deserialize" |
8519 | msgstr "" | 8553 | msgstr "" |
8520 | 8554 | ||
8521 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8555 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8522 | #, c-format | 8556 | #, c-format |
8523 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8557 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8524 | msgstr "" | 8558 | msgstr "" |
8525 | 8559 | ||
8526 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8560 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8527 | #, fuzzy, c-format | 8561 | #, fuzzy, c-format |
8528 | msgid "Using `%s' instead\n" | 8562 | msgid "Using `%s' instead\n" |
8529 | msgstr "%s: flagga \"%s\" är tvetydig\n" | 8563 | msgstr "%s: flagga \"%s\" är tvetydig\n" |
8530 | 8564 | ||
8531 | #: src/util/client.c:362 | 8565 | #: src/util/client.c:367 |
8532 | #, c-format | 8566 | #, c-format |
8533 | msgid "" | 8567 | msgid "" |
8534 | "Could not determine valid hostname and port for service `%s' from " | 8568 | "Could not determine valid hostname and port for service `%s' from " |
8535 | "configuration.\n" | 8569 | "configuration.\n" |
8536 | msgstr "" | 8570 | msgstr "" |
8537 | 8571 | ||
8538 | #: src/util/client.c:370 | 8572 | #: src/util/client.c:375 |
8539 | #, c-format | 8573 | #, c-format |
8540 | msgid "Need a non-empty hostname for service `%s'.\n" | 8574 | msgid "Need a non-empty hostname for service `%s'.\n" |
8541 | msgstr "" | 8575 | msgstr "" |
8542 | 8576 | ||
8543 | #: src/util/client.c:1039 | 8577 | #: src/util/client.c:1044 |
8544 | #, fuzzy, c-format | 8578 | #, fuzzy, c-format |
8545 | msgid "Could not connect to service `%s', configuration broken.\n" | 8579 | msgid "Could not connect to service `%s', configuration broken.\n" |
8546 | msgstr "Kunde inte ansluta till gnunetd.\n" | 8580 | msgstr "Kunde inte ansluta till gnunetd.\n" |
8547 | 8581 | ||
8548 | #: src/util/client.c:1051 | 8582 | #: src/util/client.c:1056 |
8549 | #, fuzzy, c-format | 8583 | #, fuzzy, c-format |
8550 | msgid "Failure to transmit request to service `%s'\n" | 8584 | msgid "Failure to transmit request to service `%s'\n" |
8551 | msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" | 8585 | msgstr "Misslyckades att skicka HTTP-begäran till värd \"%s\": %s\n" |
@@ -8627,12 +8661,12 @@ msgid "" | |||
8627 | "as an environmental variable\n" | 8661 | "as an environmental variable\n" |
8628 | msgstr "" | 8662 | msgstr "" |
8629 | 8663 | ||
8630 | #: src/util/connection.c:424 | 8664 | #: src/util/connection.c:429 |
8631 | #, fuzzy, c-format | 8665 | #, fuzzy, c-format |
8632 | msgid "Access denied to `%s'\n" | 8666 | msgid "Access denied to `%s'\n" |
8633 | msgstr "Åtkomst nekad för \"%s\" vid %s:%d.\n" | 8667 | msgstr "Åtkomst nekad för \"%s\" vid %s:%d.\n" |
8634 | 8668 | ||
8635 | #: src/util/connection.c:441 | 8669 | #: src/util/connection.c:446 |
8636 | #, c-format | 8670 | #, c-format |
8637 | msgid "Accepting connection from `%s': %p\n" | 8671 | msgid "Accepting connection from `%s': %p\n" |
8638 | msgstr "" | 8672 | msgstr "" |
@@ -8699,17 +8733,17 @@ msgstr "Kunde inte tolka konfigurationsfil \"%s\".\n" | |||
8699 | msgid "libgcrypt has not the expected version (version %s is required).\n" | 8733 | msgid "libgcrypt has not the expected version (version %s is required).\n" |
8700 | msgstr "libgcrypt har inte den förväntande versionen (version %s krävs).\n" | 8734 | msgstr "libgcrypt har inte den förväntande versionen (version %s krävs).\n" |
8701 | 8735 | ||
8702 | #: src/util/crypto_rsa.c:981 | 8736 | #: src/util/crypto_rsa.c:999 |
8703 | #, fuzzy, c-format | 8737 | #, fuzzy, c-format |
8704 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8738 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8705 | msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" | 8739 | msgstr "\"%s\" misslyckades vid %s:%d med fel: \"%s\".\n" |
8706 | 8740 | ||
8707 | #: src/util/disk.c:1221 | 8741 | #: src/util/disk.c:1226 |
8708 | #, fuzzy, c-format | 8742 | #, fuzzy, c-format |
8709 | msgid "Expected `%s' to be a directory!\n" | 8743 | msgid "Expected `%s' to be a directory!\n" |
8710 | msgstr "\"%s\" förväntade att \"%s\" skulle vara en katalog!\n" | 8744 | msgstr "\"%s\" förväntade att \"%s\" skulle vara en katalog!\n" |
8711 | 8745 | ||
8712 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8746 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8713 | #, fuzzy, c-format | 8747 | #, fuzzy, c-format |
8714 | msgid "Cannot obtain information about user `%s': %s\n" | 8748 | msgid "Cannot obtain information about user `%s': %s\n" |
8715 | msgstr "Kan inte öppna konfigurationsfil \"%s\".\n" | 8749 | msgstr "Kan inte öppna konfigurationsfil \"%s\".\n" |
@@ -9211,6 +9245,16 @@ msgstr "" | |||
9211 | msgid "signal (%d, %p) returned %d.\n" | 9245 | msgid "signal (%d, %p) returned %d.\n" |
9212 | msgstr "Anrop till \"%s\" returnerade %d.\n" | 9246 | msgstr "Anrop till \"%s\" returnerade %d.\n" |
9213 | 9247 | ||
9248 | #: src/util/socks.c:592 | ||
9249 | #, c-format | ||
9250 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
9251 | msgstr "" | ||
9252 | |||
9253 | #: src/util/socks.c:605 | ||
9254 | #, c-format | ||
9255 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
9256 | msgstr "" | ||
9257 | |||
9214 | #: src/util/strings.c:146 | 9258 | #: src/util/strings.c:146 |
9215 | msgid "b" | 9259 | msgid "b" |
9216 | msgstr "b" | 9260 | msgstr "b" |
@@ -8,7 +8,7 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: gnunet 0.8.0a\n" | 9 | "Project-Id-Version: gnunet 0.8.0a\n" |
10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
11 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 11 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
12 | "PO-Revision-Date: 2008-09-10 22:05+0930\n" | 12 | "PO-Revision-Date: 2008-09-10 22:05+0930\n" |
13 | "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" | 13 | "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" |
14 | "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" | 14 | "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" |
@@ -358,13 +358,11 @@ msgid "" | |||
358 | "%llu\n" | 358 | "%llu\n" |
359 | msgstr "" | 359 | msgstr "" |
360 | 360 | ||
361 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 361 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
362 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
363 | msgid "solver to use" | 362 | msgid "solver to use" |
364 | msgstr "" | 363 | msgstr "" |
365 | 364 | ||
366 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 365 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
367 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
368 | #: src/ats-tests/gnunet-solver-eval.c:924 | 366 | #: src/ats-tests/gnunet-solver-eval.c:924 |
369 | msgid "experiment to use" | 367 | msgid "experiment to use" |
370 | msgstr "" | 368 | msgstr "" |
@@ -651,58 +649,58 @@ msgstr "" | |||
651 | msgid "Print information about ATS state" | 649 | msgid "Print information about ATS state" |
652 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 650 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
653 | 651 | ||
654 | #: src/cadet/gnunet-cadet.c:376 | 652 | #: src/cadet/gnunet-cadet.c:458 |
655 | #, fuzzy, c-format | 653 | #, fuzzy, c-format |
656 | msgid "Invalid target `%s'\n" | 654 | msgid "Invalid target `%s'\n" |
657 | msgstr "Đối số không hợp lệ cho « %s ».\n" | 655 | msgstr "Đối số không hợp lệ cho « %s ».\n" |
658 | 656 | ||
659 | #: src/cadet/gnunet-cadet.c:643 | 657 | #: src/cadet/gnunet-cadet.c:735 |
660 | #, fuzzy, c-format | 658 | #, fuzzy, c-format |
661 | msgid "Invalid peer ID `%s'\n" | 659 | msgid "Invalid peer ID `%s'\n" |
662 | msgstr "Dữ liệu nhập không hợp lệ.\n" | 660 | msgstr "Dữ liệu nhập không hợp lệ.\n" |
663 | 661 | ||
664 | #: src/cadet/gnunet-cadet.c:686 | 662 | #: src/cadet/gnunet-cadet.c:778 |
665 | #, fuzzy, c-format | 663 | #, fuzzy, c-format |
666 | msgid "Invalid tunnel owner `%s'\n" | 664 | msgid "Invalid tunnel owner `%s'\n" |
667 | msgstr "Địa chỉ IP định dạng sai: %s\n" | 665 | msgstr "Địa chỉ IP định dạng sai: %s\n" |
668 | 666 | ||
669 | #: src/cadet/gnunet-cadet.c:752 | 667 | #: src/cadet/gnunet-cadet.c:844 |
670 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 668 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
671 | msgstr "" | 669 | msgstr "" |
672 | 670 | ||
673 | #: src/cadet/gnunet-cadet.c:849 | 671 | #: src/cadet/gnunet-cadet.c:941 |
674 | #, fuzzy | 672 | #, fuzzy |
675 | msgid "provide information about a particular connection" | 673 | msgid "provide information about a particular connection" |
676 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 674 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
677 | 675 | ||
678 | #: src/cadet/gnunet-cadet.c:852 | 676 | #: src/cadet/gnunet-cadet.c:944 |
679 | msgid "activate echo mode" | 677 | msgid "activate echo mode" |
680 | msgstr "" | 678 | msgstr "" |
681 | 679 | ||
682 | #: src/cadet/gnunet-cadet.c:855 | 680 | #: src/cadet/gnunet-cadet.c:947 |
683 | msgid "dump debug information to STDERR" | 681 | msgid "dump debug information to STDERR" |
684 | msgstr "" | 682 | msgstr "" |
685 | 683 | ||
686 | #: src/cadet/gnunet-cadet.c:861 | 684 | #: src/cadet/gnunet-cadet.c:953 |
687 | msgid "port to listen to (default; 0)" | 685 | msgid "port to listen to (default; 0)" |
688 | msgstr "" | 686 | msgstr "" |
689 | 687 | ||
690 | #: src/cadet/gnunet-cadet.c:864 | 688 | #: src/cadet/gnunet-cadet.c:956 |
691 | #, fuzzy | 689 | #, fuzzy |
692 | msgid "provide information about a patricular peer" | 690 | msgid "provide information about a patricular peer" |
693 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 691 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
694 | 692 | ||
695 | #: src/cadet/gnunet-cadet.c:867 | 693 | #: src/cadet/gnunet-cadet.c:959 |
696 | #, fuzzy | 694 | #, fuzzy |
697 | msgid "provide information about all peers" | 695 | msgid "provide information about all peers" |
698 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 696 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
699 | 697 | ||
700 | #: src/cadet/gnunet-cadet.c:870 | 698 | #: src/cadet/gnunet-cadet.c:962 |
701 | #, fuzzy | 699 | #, fuzzy |
702 | msgid "provide information about a particular tunnel" | 700 | msgid "provide information about a particular tunnel" |
703 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 701 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
704 | 702 | ||
705 | #: src/cadet/gnunet-cadet.c:873 | 703 | #: src/cadet/gnunet-cadet.c:965 |
706 | #, fuzzy | 704 | #, fuzzy |
707 | msgid "provide information about all tunnels" | 705 | msgid "provide information about all tunnels" |
708 | msgstr "In ra thông tin về các đồng đẳng GNUnet." | 706 | msgstr "In ra thông tin về các đồng đẳng GNUnet." |
@@ -1443,21 +1441,21 @@ msgstr "# các byte đã giải mã" | |||
1443 | msgid "# PAYLOAD dropped (out of order)" | 1441 | msgid "# PAYLOAD dropped (out of order)" |
1444 | msgstr "# các byte loại bỏ bởi UDP (đi ra)" | 1442 | msgstr "# các byte loại bỏ bởi UDP (đi ra)" |
1445 | 1443 | ||
1446 | #: src/core/gnunet-service-core_neighbours.c:177 | 1444 | #: src/core/gnunet-service-core_neighbours.c:178 |
1447 | #, fuzzy | 1445 | #, fuzzy |
1448 | msgid "# sessions terminated by transport disconnect" | 1446 | msgid "# sessions terminated by transport disconnect" |
1449 | msgstr "# Các quảng cáo đồng đẳng bị hủy do trọng tải" | 1447 | msgstr "# Các quảng cáo đồng đẳng bị hủy do trọng tải" |
1450 | 1448 | ||
1451 | #: src/core/gnunet-service-core_neighbours.c:193 | 1449 | #: src/core/gnunet-service-core_neighbours.c:194 |
1452 | #: src/core/gnunet-service-core_neighbours.c:355 | 1450 | #: src/core/gnunet-service-core_neighbours.c:362 |
1453 | msgid "# neighbour entries allocated" | 1451 | msgid "# neighbour entries allocated" |
1454 | msgstr "" | 1452 | msgstr "" |
1455 | 1453 | ||
1456 | #: src/core/gnunet-service-core_neighbours.c:264 | 1454 | #: src/core/gnunet-service-core_neighbours.c:270 |
1457 | msgid "# encrypted bytes given to transport" | 1455 | msgid "# encrypted bytes given to transport" |
1458 | msgstr "" | 1456 | msgstr "" |
1459 | 1457 | ||
1460 | #: src/core/gnunet-service-core_neighbours.c:438 | 1458 | #: src/core/gnunet-service-core_neighbours.c:448 |
1461 | #, c-format | 1459 | #, c-format |
1462 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1460 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1463 | msgstr "" | 1461 | msgstr "" |
@@ -1505,7 +1503,7 @@ msgid "# updates to my type map" | |||
1505 | msgstr "" | 1503 | msgstr "" |
1506 | 1504 | ||
1507 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1505 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1508 | #: src/datastore/gnunet-service-datastore.c:853 | 1506 | #: src/datastore/gnunet-service-datastore.c:866 |
1509 | #, fuzzy | 1507 | #, fuzzy |
1510 | msgid "# bytes stored" | 1508 | msgid "# bytes stored" |
1511 | msgstr "# các byte trong kho dữ liệu" | 1509 | msgstr "# các byte trong kho dữ liệu" |
@@ -1584,98 +1582,98 @@ msgstr "" | |||
1584 | msgid "Failed to transmit request to drop database.\n" | 1582 | msgid "Failed to transmit request to drop database.\n" |
1585 | msgstr "" | 1583 | msgstr "" |
1586 | 1584 | ||
1587 | #: src/datastore/datastore_api.c:394 | 1585 | #: src/datastore/datastore_api.c:395 |
1588 | msgid "# queue entry timeouts" | 1586 | msgid "# queue entry timeouts" |
1589 | msgstr "" | 1587 | msgstr "" |
1590 | 1588 | ||
1591 | #: src/datastore/datastore_api.c:443 | 1589 | #: src/datastore/datastore_api.c:450 |
1592 | msgid "# queue overflows" | 1590 | msgid "# queue overflows" |
1593 | msgstr "" | 1591 | msgstr "" |
1594 | 1592 | ||
1595 | #: src/datastore/datastore_api.c:471 | 1593 | #: src/datastore/datastore_api.c:478 |
1596 | #, fuzzy | 1594 | #, fuzzy |
1597 | msgid "# queue entries created" | 1595 | msgid "# queue entries created" |
1598 | msgstr "# các truy vấn lỗ hổng được định tuyến" | 1596 | msgstr "# các truy vấn lỗ hổng được định tuyến" |
1599 | 1597 | ||
1600 | #: src/datastore/datastore_api.c:491 | 1598 | #: src/datastore/datastore_api.c:498 |
1601 | #, fuzzy | 1599 | #, fuzzy |
1602 | msgid "# Requests dropped from datastore queue" | 1600 | msgid "# Requests dropped from datastore queue" |
1603 | msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải" | 1601 | msgstr "# các yêu cầu lỗ hổng bị bỏ do trọng tải" |
1604 | 1602 | ||
1605 | #: src/datastore/datastore_api.c:533 | 1603 | #: src/datastore/datastore_api.c:540 |
1606 | #, fuzzy | 1604 | #, fuzzy |
1607 | msgid "# datastore connections (re)created" | 1605 | msgid "# datastore connections (re)created" |
1608 | msgstr "# các kết nối dht" | 1606 | msgstr "# các kết nối dht" |
1609 | 1607 | ||
1610 | #: src/datastore/datastore_api.c:621 | 1608 | #: src/datastore/datastore_api.c:628 |
1611 | #, fuzzy | 1609 | #, fuzzy |
1612 | msgid "# transmission request failures" | 1610 | msgid "# transmission request failures" |
1613 | msgstr "# các sự truyền PONG bị lỗi" | 1611 | msgstr "# các sự truyền PONG bị lỗi" |
1614 | 1612 | ||
1615 | #: src/datastore/datastore_api.c:645 | 1613 | #: src/datastore/datastore_api.c:652 |
1616 | #, fuzzy | 1614 | #, fuzzy |
1617 | msgid "# bytes sent to datastore" | 1615 | msgid "# bytes sent to datastore" |
1618 | msgstr "# các byte trong kho dữ liệu" | 1616 | msgstr "# các byte trong kho dữ liệu" |
1619 | 1617 | ||
1620 | #: src/datastore/datastore_api.c:787 | 1618 | #: src/datastore/datastore_api.c:794 |
1621 | #, fuzzy | 1619 | #, fuzzy |
1622 | msgid "Failed to receive status response from database." | 1620 | msgid "Failed to receive status response from database." |
1623 | msgstr "" | 1621 | msgstr "" |
1624 | "\n" | 1622 | "\n" |
1625 | "Không nhận được đáp ứng từ gnunetd.\n" | 1623 | "Không nhận được đáp ứng từ gnunetd.\n" |
1626 | 1624 | ||
1627 | #: src/datastore/datastore_api.c:801 | 1625 | #: src/datastore/datastore_api.c:808 |
1628 | msgid "Error reading response from datastore service" | 1626 | msgid "Error reading response from datastore service" |
1629 | msgstr "" | 1627 | msgstr "" |
1630 | 1628 | ||
1631 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1629 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1632 | #, fuzzy | 1630 | #, fuzzy |
1633 | msgid "Invalid error message received from datastore service" | 1631 | msgid "Invalid error message received from datastore service" |
1634 | msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n" | 1632 | msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n" |
1635 | 1633 | ||
1636 | #: src/datastore/datastore_api.c:823 | 1634 | #: src/datastore/datastore_api.c:830 |
1637 | #, fuzzy | 1635 | #, fuzzy |
1638 | msgid "# status messages received" | 1636 | msgid "# status messages received" |
1639 | msgstr "# các thông báo phát hiện dht được nhận" | 1637 | msgstr "# các thông báo phát hiện dht được nhận" |
1640 | 1638 | ||
1641 | #: src/datastore/datastore_api.c:893 | 1639 | #: src/datastore/datastore_api.c:909 |
1642 | #, fuzzy | 1640 | #, fuzzy |
1643 | msgid "# PUT requests executed" | 1641 | msgid "# PUT requests executed" |
1644 | msgstr "# các yêu cầu dht được định tuyến" | 1642 | msgstr "# các yêu cầu dht được định tuyến" |
1645 | 1643 | ||
1646 | #: src/datastore/datastore_api.c:959 | 1644 | #: src/datastore/datastore_api.c:975 |
1647 | #, fuzzy | 1645 | #, fuzzy |
1648 | msgid "# RESERVE requests executed" | 1646 | msgid "# RESERVE requests executed" |
1649 | msgstr "# các yêu cầu dht được định tuyến" | 1647 | msgstr "# các yêu cầu dht được định tuyến" |
1650 | 1648 | ||
1651 | #: src/datastore/datastore_api.c:1020 | 1649 | #: src/datastore/datastore_api.c:1036 |
1652 | msgid "# RELEASE RESERVE requests executed" | 1650 | msgid "# RELEASE RESERVE requests executed" |
1653 | msgstr "" | 1651 | msgstr "" |
1654 | 1652 | ||
1655 | #: src/datastore/datastore_api.c:1080 | 1653 | #: src/datastore/datastore_api.c:1096 |
1656 | #, fuzzy | 1654 | #, fuzzy |
1657 | msgid "# UPDATE requests executed" | 1655 | msgid "# UPDATE requests executed" |
1658 | msgstr "# các yêu cầu dht được định tuyến" | 1656 | msgstr "# các yêu cầu dht được định tuyến" |
1659 | 1657 | ||
1660 | #: src/datastore/datastore_api.c:1144 | 1658 | #: src/datastore/datastore_api.c:1160 |
1661 | #, fuzzy | 1659 | #, fuzzy |
1662 | msgid "# REMOVE requests executed" | 1660 | msgid "# REMOVE requests executed" |
1663 | msgstr "# các yêu cầu dht được định tuyến" | 1661 | msgstr "# các yêu cầu dht được định tuyến" |
1664 | 1662 | ||
1665 | #: src/datastore/datastore_api.c:1248 | 1663 | #: src/datastore/datastore_api.c:1264 |
1666 | #, fuzzy | 1664 | #, fuzzy |
1667 | msgid "# Results received" | 1665 | msgid "# Results received" |
1668 | msgstr "# các kết quả dht được nhận" | 1666 | msgstr "# các kết quả dht được nhận" |
1669 | 1667 | ||
1670 | #: src/datastore/datastore_api.c:1315 | 1668 | #: src/datastore/datastore_api.c:1331 |
1671 | msgid "# GET REPLICATION requests executed" | 1669 | msgid "# GET REPLICATION requests executed" |
1672 | msgstr "" | 1670 | msgstr "" |
1673 | 1671 | ||
1674 | #: src/datastore/datastore_api.c:1378 | 1672 | #: src/datastore/datastore_api.c:1394 |
1675 | msgid "# GET ZERO ANONYMITY requests executed" | 1673 | msgid "# GET ZERO ANONYMITY requests executed" |
1676 | msgstr "" | 1674 | msgstr "" |
1677 | 1675 | ||
1678 | #: src/datastore/datastore_api.c:1447 | 1676 | #: src/datastore/datastore_api.c:1463 |
1679 | #, fuzzy | 1677 | #, fuzzy |
1680 | msgid "# GET requests executed" | 1678 | msgid "# GET requests executed" |
1681 | msgstr "# các yêu cầu dht được định tuyến" | 1679 | msgstr "# các yêu cầu dht được định tuyến" |
@@ -1701,172 +1699,172 @@ msgstr "" | |||
1701 | msgid "Manipulate GNUnet datastore" | 1699 | msgid "Manipulate GNUnet datastore" |
1702 | msgstr "cập nhật một giá trị trong tập tin cấu hình" | 1700 | msgstr "cập nhật một giá trị trong tập tin cấu hình" |
1703 | 1701 | ||
1704 | #: src/datastore/gnunet-service-datastore.c:365 | 1702 | #: src/datastore/gnunet-service-datastore.c:372 |
1705 | #, fuzzy | 1703 | #, fuzzy |
1706 | msgid "# bytes expired" | 1704 | msgid "# bytes expired" |
1707 | msgstr "# các byte được nhận" | 1705 | msgstr "# các byte được nhận" |
1708 | 1706 | ||
1709 | #: src/datastore/gnunet-service-datastore.c:439 | 1707 | #: src/datastore/gnunet-service-datastore.c:447 |
1710 | msgid "# bytes purged (low-priority)" | 1708 | msgid "# bytes purged (low-priority)" |
1711 | msgstr "" | 1709 | msgstr "" |
1712 | 1710 | ||
1713 | #: src/datastore/gnunet-service-datastore.c:497 | 1711 | #: src/datastore/gnunet-service-datastore.c:505 |
1714 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1712 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1715 | msgid "Transmission to client failed!\n" | 1713 | msgid "Transmission to client failed!\n" |
1716 | msgstr "" | 1714 | msgstr "" |
1717 | 1715 | ||
1718 | #: src/datastore/gnunet-service-datastore.c:528 | 1716 | #: src/datastore/gnunet-service-datastore.c:536 |
1719 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1717 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1720 | msgid "Shutdown in progress, aborting transmission.\n" | 1718 | msgid "Shutdown in progress, aborting transmission.\n" |
1721 | msgstr "" | 1719 | msgstr "" |
1722 | 1720 | ||
1723 | #: src/datastore/gnunet-service-datastore.c:643 | 1721 | #: src/datastore/gnunet-service-datastore.c:652 |
1724 | msgid "# results found" | 1722 | msgid "# results found" |
1725 | msgstr "" | 1723 | msgstr "" |
1726 | 1724 | ||
1727 | #: src/datastore/gnunet-service-datastore.c:686 | 1725 | #: src/datastore/gnunet-service-datastore.c:696 |
1728 | #, c-format | 1726 | #, c-format |
1729 | msgid "" | 1727 | msgid "" |
1730 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1728 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
1731 | "%llu bytes\n" | 1729 | "%llu bytes\n" |
1732 | msgstr "" | 1730 | msgstr "" |
1733 | 1731 | ||
1734 | #: src/datastore/gnunet-service-datastore.c:697 | 1732 | #: src/datastore/gnunet-service-datastore.c:707 |
1735 | #, c-format | 1733 | #, c-format |
1736 | msgid "" | 1734 | msgid "" |
1737 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1735 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
1738 | "bytes)\n" | 1736 | "bytes)\n" |
1739 | msgstr "" | 1737 | msgstr "" |
1740 | 1738 | ||
1741 | #: src/datastore/gnunet-service-datastore.c:701 | 1739 | #: src/datastore/gnunet-service-datastore.c:711 |
1742 | msgid "" | 1740 | msgid "" |
1743 | "Insufficient space to satisfy request and requested amount is larger than " | 1741 | "Insufficient space to satisfy request and requested amount is larger than " |
1744 | "cache size" | 1742 | "cache size" |
1745 | msgstr "" | 1743 | msgstr "" |
1746 | 1744 | ||
1747 | #: src/datastore/gnunet-service-datastore.c:707 | 1745 | #: src/datastore/gnunet-service-datastore.c:717 |
1748 | msgid "Insufficient space to satisfy request" | 1746 | msgid "Insufficient space to satisfy request" |
1749 | msgstr "" | 1747 | msgstr "" |
1750 | 1748 | ||
1751 | #: src/datastore/gnunet-service-datastore.c:712 | 1749 | #: src/datastore/gnunet-service-datastore.c:723 |
1752 | #: src/datastore/gnunet-service-datastore.c:767 | 1750 | #: src/datastore/gnunet-service-datastore.c:779 |
1753 | #: src/datastore/gnunet-service-datastore.c:1019 | 1751 | #: src/datastore/gnunet-service-datastore.c:1035 |
1754 | #: src/datastore/gnunet-service-datastore.c:1597 | 1752 | #: src/datastore/gnunet-service-datastore.c:1630 |
1755 | msgid "# reserved" | 1753 | msgid "# reserved" |
1756 | msgstr "" | 1754 | msgstr "" |
1757 | 1755 | ||
1758 | #: src/datastore/gnunet-service-datastore.c:780 | 1756 | #: src/datastore/gnunet-service-datastore.c:793 |
1759 | msgid "Could not find matching reservation" | 1757 | msgid "Could not find matching reservation" |
1760 | msgstr "" | 1758 | msgstr "" |
1761 | 1759 | ||
1762 | #: src/datastore/gnunet-service-datastore.c:865 | 1760 | #: src/datastore/gnunet-service-datastore.c:879 |
1763 | #, c-format | 1761 | #, c-format |
1764 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1762 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1765 | msgstr "" | 1763 | msgstr "" |
1766 | 1764 | ||
1767 | #: src/datastore/gnunet-service-datastore.c:1071 | 1765 | #: src/datastore/gnunet-service-datastore.c:1088 |
1768 | #, fuzzy | 1766 | #, fuzzy |
1769 | msgid "# GET requests received" | 1767 | msgid "# GET requests received" |
1770 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 1768 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
1771 | 1769 | ||
1772 | #: src/datastore/gnunet-service-datastore.c:1083 | 1770 | #: src/datastore/gnunet-service-datastore.c:1101 |
1773 | #, fuzzy | 1771 | #, fuzzy |
1774 | msgid "# requests filtered by bloomfilter" | 1772 | msgid "# requests filtered by bloomfilter" |
1775 | msgstr "# các yêu cầu được lọc theo bộ lọc bloom" | 1773 | msgstr "# các yêu cầu được lọc theo bộ lọc bloom" |
1776 | 1774 | ||
1777 | #: src/datastore/gnunet-service-datastore.c:1121 | 1775 | #: src/datastore/gnunet-service-datastore.c:1141 |
1778 | #, fuzzy | 1776 | #, fuzzy |
1779 | msgid "# UPDATE requests received" | 1777 | msgid "# UPDATE requests received" |
1780 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 1778 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
1781 | 1779 | ||
1782 | #: src/datastore/gnunet-service-datastore.c:1149 | 1780 | #: src/datastore/gnunet-service-datastore.c:1170 |
1783 | #, fuzzy | 1781 | #, fuzzy |
1784 | msgid "# GET REPLICATION requests received" | 1782 | msgid "# GET REPLICATION requests received" |
1785 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 1783 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
1786 | 1784 | ||
1787 | #: src/datastore/gnunet-service-datastore.c:1182 | 1785 | #: src/datastore/gnunet-service-datastore.c:1204 |
1788 | #, fuzzy | 1786 | #, fuzzy |
1789 | msgid "# GET ZERO ANONYMITY requests received" | 1787 | msgid "# GET ZERO ANONYMITY requests received" |
1790 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 1788 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
1791 | 1789 | ||
1792 | #: src/datastore/gnunet-service-datastore.c:1207 | 1790 | #: src/datastore/gnunet-service-datastore.c:1233 |
1793 | msgid "Content not found" | 1791 | msgid "Content not found" |
1794 | msgstr "" | 1792 | msgstr "" |
1795 | 1793 | ||
1796 | #: src/datastore/gnunet-service-datastore.c:1215 | 1794 | #: src/datastore/gnunet-service-datastore.c:1244 |
1797 | msgid "# bytes removed (explicit request)" | 1795 | msgid "# bytes removed (explicit request)" |
1798 | msgstr "" | 1796 | msgstr "" |
1799 | 1797 | ||
1800 | #: src/datastore/gnunet-service-datastore.c:1247 | 1798 | #: src/datastore/gnunet-service-datastore.c:1277 |
1801 | #, fuzzy | 1799 | #, fuzzy |
1802 | msgid "# REMOVE requests received" | 1800 | msgid "# REMOVE requests received" |
1803 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 1801 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
1804 | 1802 | ||
1805 | #: src/datastore/gnunet-service-datastore.c:1291 | 1803 | #: src/datastore/gnunet-service-datastore.c:1321 |
1806 | #, c-format | 1804 | #, c-format |
1807 | msgid "" | 1805 | msgid "" |
1808 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1806 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
1809 | msgstr "" | 1807 | msgstr "" |
1810 | 1808 | ||
1811 | #: src/datastore/gnunet-service-datastore.c:1296 | 1809 | #: src/datastore/gnunet-service-datastore.c:1326 |
1812 | #, c-format | 1810 | #, c-format |
1813 | msgid "New payload: %lld\n" | 1811 | msgid "New payload: %lld\n" |
1814 | msgstr "" | 1812 | msgstr "" |
1815 | 1813 | ||
1816 | #: src/datastore/gnunet-service-datastore.c:1349 | 1814 | #: src/datastore/gnunet-service-datastore.c:1379 |
1817 | #, c-format | 1815 | #, c-format |
1818 | msgid "Loading `%s' datastore plugin\n" | 1816 | msgid "Loading `%s' datastore plugin\n" |
1819 | msgstr "" | 1817 | msgstr "" |
1820 | 1818 | ||
1821 | #: src/datastore/gnunet-service-datastore.c:1360 | 1819 | #: src/datastore/gnunet-service-datastore.c:1390 |
1822 | #, fuzzy, c-format | 1820 | #, fuzzy, c-format |
1823 | msgid "Failed to load datastore plugin for `%s'\n" | 1821 | msgid "Failed to load datastore plugin for `%s'\n" |
1824 | msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n" | 1822 | msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n" |
1825 | 1823 | ||
1826 | #: src/datastore/gnunet-service-datastore.c:1429 | 1824 | #: src/datastore/gnunet-service-datastore.c:1459 |
1827 | #: src/datastore/gnunet-service-datastore.c:1490 | 1825 | #: src/datastore/gnunet-service-datastore.c:1522 |
1828 | msgid "Bloomfilter construction complete.\n" | 1826 | msgid "Bloomfilter construction complete.\n" |
1829 | msgstr "" | 1827 | msgstr "" |
1830 | 1828 | ||
1831 | #: src/datastore/gnunet-service-datastore.c:1477 | 1829 | #: src/datastore/gnunet-service-datastore.c:1509 |
1832 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1830 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1833 | msgstr "" | 1831 | msgstr "" |
1834 | 1832 | ||
1835 | #: src/datastore/gnunet-service-datastore.c:1487 | 1833 | #: src/datastore/gnunet-service-datastore.c:1519 |
1836 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1834 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1837 | msgstr "" | 1835 | msgstr "" |
1838 | 1836 | ||
1839 | #: src/datastore/gnunet-service-datastore.c:1625 | 1837 | #: src/datastore/gnunet-service-datastore.c:1661 |
1840 | #: src/datastore/gnunet-service-datastore.c:1636 | 1838 | #: src/datastore/gnunet-service-datastore.c:1673 |
1841 | #, c-format | 1839 | #, c-format |
1842 | msgid "No `%s' specified for `%s' in configuration!\n" | 1840 | msgid "No `%s' specified for `%s' in configuration!\n" |
1843 | msgstr "" | 1841 | msgstr "" |
1844 | 1842 | ||
1845 | #: src/datastore/gnunet-service-datastore.c:1630 | 1843 | #: src/datastore/gnunet-service-datastore.c:1667 |
1846 | #, fuzzy, c-format | 1844 | #, fuzzy, c-format |
1847 | msgid "# bytes used in file-sharing datastore `%s'" | 1845 | msgid "# bytes used in file-sharing datastore `%s'" |
1848 | msgstr "# các byte được phép trong kho dữ liệu" | 1846 | msgstr "# các byte được phép trong kho dữ liệu" |
1849 | 1847 | ||
1850 | #: src/datastore/gnunet-service-datastore.c:1641 | 1848 | #: src/datastore/gnunet-service-datastore.c:1679 |
1851 | msgid "# quota" | 1849 | msgid "# quota" |
1852 | msgstr "" | 1850 | msgstr "" |
1853 | 1851 | ||
1854 | #: src/datastore/gnunet-service-datastore.c:1643 | 1852 | #: src/datastore/gnunet-service-datastore.c:1681 |
1855 | msgid "# cache size" | 1853 | msgid "# cache size" |
1856 | msgstr "" | 1854 | msgstr "" |
1857 | 1855 | ||
1858 | #: src/datastore/gnunet-service-datastore.c:1656 | 1856 | #: src/datastore/gnunet-service-datastore.c:1696 |
1859 | #, c-format | 1857 | #, c-format |
1860 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1858 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1861 | msgstr "" | 1859 | msgstr "" |
1862 | 1860 | ||
1863 | #: src/datastore/gnunet-service-datastore.c:1674 | 1861 | #: src/datastore/gnunet-service-datastore.c:1714 |
1864 | #: src/datastore/gnunet-service-datastore.c:1690 | 1862 | #: src/datastore/gnunet-service-datastore.c:1730 |
1865 | #, fuzzy, c-format | 1863 | #, fuzzy, c-format |
1866 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1864 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1867 | msgstr "Không thể lưu tập tin cấu hình « %s »:" | 1865 | msgstr "Không thể lưu tập tin cấu hình « %s »:" |
1868 | 1866 | ||
1869 | #: src/datastore/gnunet-service-datastore.c:1720 | 1867 | #: src/datastore/gnunet-service-datastore.c:1760 |
1870 | #, fuzzy | 1868 | #, fuzzy |
1871 | msgid "Failed to initialize bloomfilter.\n" | 1869 | msgid "Failed to initialize bloomfilter.\n" |
1872 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" | 1870 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" |
@@ -1929,7 +1927,7 @@ msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s" | |||
1929 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1927 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1930 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1928 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1931 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1929 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1932 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1930 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1933 | #, c-format | 1931 | #, c-format |
1934 | msgid "Unable to initialize SQLite: %s.\n" | 1932 | msgid "Unable to initialize SQLite: %s.\n" |
1935 | msgstr "Không thể sơ khởi SQLite: %s.\n" | 1933 | msgstr "Không thể sơ khởi SQLite: %s.\n" |
@@ -2008,9 +2006,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
2008 | msgstr "" | 2006 | msgstr "" |
2009 | 2007 | ||
2010 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 2008 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
2011 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 2009 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
2012 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 2010 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
2013 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 2011 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
2014 | #: src/nse/gnunet-nse-profiler.c:873 | 2012 | #: src/nse/gnunet-nse-profiler.c:873 |
2015 | msgid "be verbose (print progress information)" | 2013 | msgid "be verbose (print progress information)" |
2016 | msgstr "" | 2014 | msgstr "" |
@@ -2027,8 +2025,7 @@ msgstr "" | |||
2027 | msgid "Prints all packets that go through the DHT." | 2025 | msgid "Prints all packets that go through the DHT." |
2028 | msgstr "" | 2026 | msgstr "" |
2029 | 2027 | ||
2030 | #: src/dht/gnunet_dht_profiler.c:1393 | 2028 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
2031 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
2032 | #, fuzzy, c-format | 2029 | #, fuzzy, c-format |
2033 | msgid "Exiting as the number of peers is %u\n" | 2030 | msgid "Exiting as the number of peers is %u\n" |
2034 | msgstr "tăng sổ tối đa các kết nối TCP/IP" | 2031 | msgstr "tăng sổ tối đa các kết nối TCP/IP" |
@@ -2250,8 +2247,7 @@ msgstr "" | |||
2250 | msgid "# GET requests given to datacache" | 2247 | msgid "# GET requests given to datacache" |
2251 | msgstr "# các yêu cầu get (lấy) dht được nhận" | 2248 | msgstr "# các yêu cầu get (lấy) dht được nhận" |
2252 | 2249 | ||
2253 | #: src/dht/gnunet-service-dht_hello.c:84 | 2250 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2254 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2255 | #, fuzzy | 2251 | #, fuzzy |
2256 | msgid "# HELLOs obtained from peerinfo" | 2252 | msgid "# HELLOs obtained from peerinfo" |
2257 | msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n" | 2253 | msgstr "Nhận được thông báo « %s » sai từ đồng đẳng « %s ».\n" |
@@ -3134,73 +3130,73 @@ msgstr "Lỗi chạy %s: %s %d\n" | |||
3134 | msgid "Failed to connect to datastore." | 3130 | msgid "Failed to connect to datastore." |
3135 | msgstr "Không kết nối được đến trình nền gnunetd." | 3131 | msgstr "Không kết nối được đến trình nền gnunetd." |
3136 | 3132 | ||
3137 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 3133 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
3138 | #, fuzzy, c-format | 3134 | #, fuzzy, c-format |
3139 | msgid "Publishing failed: %s" | 3135 | msgid "Publishing failed: %s" |
3140 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" | 3136 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" |
3141 | 3137 | ||
3142 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 3138 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
3143 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 3139 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
3144 | #, fuzzy, c-format | 3140 | #, fuzzy, c-format |
3145 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 3141 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
3146 | msgstr "Lỗi đánh chỉ mục tập tin « %s ». Đề nghị: thử chèn tập tin.\n" | 3142 | msgstr "Lỗi đánh chỉ mục tập tin « %s ». Đề nghị: thử chèn tập tin.\n" |
3147 | 3143 | ||
3148 | #: src/fs/fs_publish.c:711 | 3144 | #: src/fs/fs_publish.c:709 |
3149 | msgid "timeout on index-start request to `fs' service" | 3145 | msgid "timeout on index-start request to `fs' service" |
3150 | msgstr "" | 3146 | msgstr "" |
3151 | 3147 | ||
3152 | #: src/fs/fs_publish.c:723 | 3148 | #: src/fs/fs_publish.c:721 |
3153 | #, fuzzy | 3149 | #, fuzzy |
3154 | msgid "unknown error" | 3150 | msgid "unknown error" |
3155 | msgstr "Lỗi không rõ" | 3151 | msgstr "Lỗi không rõ" |
3156 | 3152 | ||
3157 | #: src/fs/fs_publish.c:767 | 3153 | #: src/fs/fs_publish.c:765 |
3158 | msgid "failed to compute hash" | 3154 | msgid "failed to compute hash" |
3159 | msgstr "" | 3155 | msgstr "" |
3160 | 3156 | ||
3161 | #: src/fs/fs_publish.c:787 | 3157 | #: src/fs/fs_publish.c:785 |
3162 | #, fuzzy | 3158 | #, fuzzy |
3163 | msgid "filename too long" | 3159 | msgid "filename too long" |
3164 | msgstr "tên tập tin" | 3160 | msgstr "tên tập tin" |
3165 | 3161 | ||
3166 | #: src/fs/fs_publish.c:812 | 3162 | #: src/fs/fs_publish.c:810 |
3167 | msgid "could not connect to `fs' service" | 3163 | msgid "could not connect to `fs' service" |
3168 | msgstr "" | 3164 | msgstr "" |
3169 | 3165 | ||
3170 | #: src/fs/fs_publish.c:835 | 3166 | #: src/fs/fs_publish.c:833 |
3171 | #, fuzzy, c-format | 3167 | #, fuzzy, c-format |
3172 | msgid "Failed to get file identifiers for `%s'\n" | 3168 | msgid "Failed to get file identifiers for `%s'\n" |
3173 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 3169 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
3174 | 3170 | ||
3175 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 3171 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
3176 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 3172 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
3177 | msgstr "" | 3173 | msgstr "" |
3178 | 3174 | ||
3179 | #: src/fs/fs_publish.c:1014 | 3175 | #: src/fs/fs_publish.c:1012 |
3180 | #, fuzzy, c-format | 3176 | #, fuzzy, c-format |
3181 | msgid "Recursive upload failed at `%s': %s" | 3177 | msgid "Recursive upload failed at `%s': %s" |
3182 | msgstr "%s bị lỗi tại %s:%d: « %s »\n" | 3178 | msgstr "%s bị lỗi tại %s:%d: « %s »\n" |
3183 | 3179 | ||
3184 | #: src/fs/fs_publish.c:1022 | 3180 | #: src/fs/fs_publish.c:1020 |
3185 | #, fuzzy, c-format | 3181 | #, fuzzy, c-format |
3186 | msgid "Recursive upload failed: %s" | 3182 | msgid "Recursive upload failed: %s" |
3187 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" | 3183 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" |
3188 | 3184 | ||
3189 | #: src/fs/fs_publish.c:1062 | 3185 | #: src/fs/fs_publish.c:1060 |
3190 | msgid "needs to be an actual file" | 3186 | msgid "needs to be an actual file" |
3191 | msgstr "" | 3187 | msgstr "" |
3192 | 3188 | ||
3193 | #: src/fs/fs_publish.c:1301 | 3189 | #: src/fs/fs_publish.c:1299 |
3194 | #, fuzzy, c-format | 3190 | #, fuzzy, c-format |
3195 | msgid "Datastore failure: %s" | 3191 | msgid "Datastore failure: %s" |
3196 | msgstr "Kho dữ liệu đầy.\n" | 3192 | msgstr "Kho dữ liệu đầy.\n" |
3197 | 3193 | ||
3198 | #: src/fs/fs_publish.c:1392 | 3194 | #: src/fs/fs_publish.c:1390 |
3199 | #, c-format | 3195 | #, c-format |
3200 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3196 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3201 | msgstr "" | 3197 | msgstr "" |
3202 | 3198 | ||
3203 | #: src/fs/fs_publish_ksk.c:219 | 3199 | #: src/fs/fs_publish_ksk.c:224 |
3204 | #, fuzzy | 3200 | #, fuzzy |
3205 | msgid "Could not connect to datastore." | 3201 | msgid "Could not connect to datastore." |
3206 | msgstr "« %s »: Không thể kết nối.\n" | 3202 | msgstr "« %s »: Không thể kết nối.\n" |
@@ -3378,48 +3374,48 @@ msgstr "Lỗi bắt đầu thu thập.\n" | |||
3378 | msgid "Failed to save state to file %s\n" | 3374 | msgid "Failed to save state to file %s\n" |
3379 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 3375 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
3380 | 3376 | ||
3381 | #: src/fs/gnunet-auto-share.c:402 | 3377 | #: src/fs/gnunet-auto-share.c:415 |
3382 | #, c-format | 3378 | #, c-format |
3383 | msgid "Publication of `%s' done\n" | 3379 | msgid "Publication of `%s' done\n" |
3384 | msgstr "" | 3380 | msgstr "" |
3385 | 3381 | ||
3386 | #: src/fs/gnunet-auto-share.c:490 | 3382 | #: src/fs/gnunet-auto-share.c:504 |
3387 | #, fuzzy, c-format | 3383 | #, fuzzy, c-format |
3388 | msgid "Publishing `%s'\n" | 3384 | msgid "Publishing `%s'\n" |
3389 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" | 3385 | msgstr "Gặp lỗi khi tải lên tập tin: %s\n" |
3390 | 3386 | ||
3391 | #: src/fs/gnunet-auto-share.c:499 | 3387 | #: src/fs/gnunet-auto-share.c:514 |
3392 | #, fuzzy, c-format | 3388 | #, fuzzy, c-format |
3393 | msgid "Failed to run `%s'\n" | 3389 | msgid "Failed to run `%s'\n" |
3394 | msgstr "Lỗi bắt đầu thu thập.\n" | 3390 | msgstr "Lỗi bắt đầu thu thập.\n" |
3395 | 3391 | ||
3396 | #: src/fs/gnunet-auto-share.c:688 | 3392 | #: src/fs/gnunet-auto-share.c:725 |
3397 | #, fuzzy, c-format | 3393 | #, fuzzy, c-format |
3398 | msgid "" | 3394 | msgid "" |
3399 | "You must specify one and only one directory name for automatic publication.\n" | 3395 | "You must specify one and only one directory name for automatic publication.\n" |
3400 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" | 3396 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" |
3401 | 3397 | ||
3402 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3398 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3403 | msgid "set the desired LEVEL of sender-anonymity" | 3399 | msgid "set the desired LEVEL of sender-anonymity" |
3404 | msgstr "đặt CẤP mong muốn của tình trạng nặc danh của người gửi" | 3400 | msgstr "đặt CẤP mong muốn của tình trạng nặc danh của người gửi" |
3405 | 3401 | ||
3406 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3402 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3407 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3403 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3408 | msgstr "tắt thêm giờ tạo vào siêu dữ liệu của tập tin đã tải lên" | 3404 | msgstr "tắt thêm giờ tạo vào siêu dữ liệu của tập tin đã tải lên" |
3409 | 3405 | ||
3410 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3406 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3411 | msgid "do not use libextractor to add keywords or metadata" | 3407 | msgid "do not use libextractor to add keywords or metadata" |
3412 | msgstr "" | 3408 | msgstr "" |
3413 | 3409 | ||
3414 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3410 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3415 | msgid "specify the priority of the content" | 3411 | msgid "specify the priority of the content" |
3416 | msgstr "xác định mức ưu tiên của nội dung" | 3412 | msgstr "xác định mức ưu tiên của nội dung" |
3417 | 3413 | ||
3418 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3414 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3419 | msgid "set the desired replication LEVEL" | 3415 | msgid "set the desired replication LEVEL" |
3420 | msgstr "" | 3416 | msgstr "" |
3421 | 3417 | ||
3422 | #: src/fs/gnunet-auto-share.c:772 | 3418 | #: src/fs/gnunet-auto-share.c:815 |
3423 | #, fuzzy | 3419 | #, fuzzy |
3424 | msgid "Automatically publish files from a directory on GNUnet" | 3420 | msgid "Automatically publish files from a directory on GNUnet" |
3425 | msgstr "Tự động chia sẻ một thư mục." | 3421 | msgstr "Tự động chia sẻ một thư mục." |
@@ -3490,68 +3486,68 @@ msgstr "Gặp lỗi khi tải xuống: %s\n" | |||
3490 | msgid "Downloading `%s' done (%s/s).\n" | 3486 | msgid "Downloading `%s' done (%s/s).\n" |
3491 | msgstr "Tiến trình tải lên « %s » đã tiếp tục lại.\n" | 3487 | msgstr "Tiến trình tải lên « %s » đã tiếp tục lại.\n" |
3492 | 3488 | ||
3493 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3489 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3494 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3490 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3495 | #, fuzzy, c-format | 3491 | #, fuzzy, c-format |
3496 | msgid "Unexpected status: %d\n" | 3492 | msgid "Unexpected status: %d\n" |
3497 | msgstr "Gặp sự kiện bất thường: %d\n" | 3493 | msgstr "Gặp sự kiện bất thường: %d\n" |
3498 | 3494 | ||
3499 | #: src/fs/gnunet-download.c:234 | 3495 | #: src/fs/gnunet-download.c:233 |
3500 | #, fuzzy | 3496 | #, fuzzy |
3501 | msgid "You need to specify a URI argument.\n" | 3497 | msgid "You need to specify a URI argument.\n" |
3502 | msgstr "KHÔNG cho phép ghi rõ cả hai địa chỉ URI và tên tập tin.\n" | 3498 | msgstr "KHÔNG cho phép ghi rõ cả hai địa chỉ URI và tên tập tin.\n" |
3503 | 3499 | ||
3504 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3500 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3505 | #, fuzzy, c-format | 3501 | #, fuzzy, c-format |
3506 | msgid "Failed to parse URI: %s\n" | 3502 | msgid "Failed to parse URI: %s\n" |
3507 | msgstr "Tập tin « %s » có URI: %s\n" | 3503 | msgstr "Tập tin « %s » có URI: %s\n" |
3508 | 3504 | ||
3509 | #: src/fs/gnunet-download.c:247 | 3505 | #: src/fs/gnunet-download.c:246 |
3510 | msgid "Only CHK or LOC URIs supported.\n" | 3506 | msgid "Only CHK or LOC URIs supported.\n" |
3511 | msgstr "" | 3507 | msgstr "" |
3512 | 3508 | ||
3513 | #: src/fs/gnunet-download.c:254 | 3509 | #: src/fs/gnunet-download.c:253 |
3514 | msgid "Target filename must be specified.\n" | 3510 | msgid "Target filename must be specified.\n" |
3515 | msgstr "" | 3511 | msgstr "" |
3516 | 3512 | ||
3517 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3513 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3518 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3514 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3519 | #, fuzzy, c-format | 3515 | #, fuzzy, c-format |
3520 | msgid "Could not initialize `%s' subsystem.\n" | 3516 | msgid "Could not initialize `%s' subsystem.\n" |
3521 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" | 3517 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" |
3522 | 3518 | ||
3523 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3519 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3524 | #, fuzzy | 3520 | #, fuzzy |
3525 | msgid "set the desired LEVEL of receiver-anonymity" | 3521 | msgid "set the desired LEVEL of receiver-anonymity" |
3526 | msgstr "đặt CẤP mong muốn của tình trạng nặc danh của người gửi" | 3522 | msgstr "đặt CẤP mong muốn của tình trạng nặc danh của người gửi" |
3527 | 3523 | ||
3528 | #: src/fs/gnunet-download.c:308 | 3524 | #: src/fs/gnunet-download.c:307 |
3529 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3525 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3530 | msgstr "xoá việc tải về không hoàn thành (khi hủy bở dùng CTRL-C)" | 3526 | msgstr "xoá việc tải về không hoàn thành (khi hủy bở dùng CTRL-C)" |
3531 | 3527 | ||
3532 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3528 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3533 | msgid "only search the local peer (no P2P network search)" | 3529 | msgid "only search the local peer (no P2P network search)" |
3534 | msgstr "" | 3530 | msgstr "" |
3535 | 3531 | ||
3536 | #: src/fs/gnunet-download.c:314 | 3532 | #: src/fs/gnunet-download.c:313 |
3537 | msgid "write the file to FILENAME" | 3533 | msgid "write the file to FILENAME" |
3538 | msgstr "ghi tập tin vào TÊN_TẬP_TIN" | 3534 | msgstr "ghi tập tin vào TÊN_TẬP_TIN" |
3539 | 3535 | ||
3540 | #: src/fs/gnunet-download.c:318 | 3536 | #: src/fs/gnunet-download.c:317 |
3541 | #, fuzzy | 3537 | #, fuzzy |
3542 | msgid "set the maximum number of parallel downloads that is allowed" | 3538 | msgid "set the maximum number of parallel downloads that is allowed" |
3543 | msgstr "đặt số tối đa các việc tải xuống đồng thời được phép" | 3539 | msgstr "đặt số tối đa các việc tải xuống đồng thời được phép" |
3544 | 3540 | ||
3545 | #: src/fs/gnunet-download.c:322 | 3541 | #: src/fs/gnunet-download.c:321 |
3546 | #, fuzzy | 3542 | #, fuzzy |
3547 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3543 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3548 | msgstr "đặt số tối đa các việc tải xuống đồng thời được phép" | 3544 | msgstr "đặt số tối đa các việc tải xuống đồng thời được phép" |
3549 | 3545 | ||
3550 | #: src/fs/gnunet-download.c:325 | 3546 | #: src/fs/gnunet-download.c:324 |
3551 | msgid "download a GNUnet directory recursively" | 3547 | msgid "download a GNUnet directory recursively" |
3552 | msgstr "tải xuống đệ quy một thư mục GNUnet" | 3548 | msgstr "tải xuống đệ quy một thư mục GNUnet" |
3553 | 3549 | ||
3554 | #: src/fs/gnunet-download.c:339 | 3550 | #: src/fs/gnunet-download.c:338 |
3555 | msgid "" | 3551 | msgid "" |
3556 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3552 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3557 | "chk/...)" | 3553 | "chk/...)" |
@@ -3582,143 +3578,143 @@ msgstr "" | |||
3582 | msgid "run a testbed to measure file-sharing performance" | 3578 | msgid "run a testbed to measure file-sharing performance" |
3583 | msgstr "" | 3579 | msgstr "" |
3584 | 3580 | ||
3585 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3581 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3586 | #, c-format | 3582 | #, c-format |
3587 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3583 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3588 | msgstr "" | 3584 | msgstr "" |
3589 | 3585 | ||
3590 | #: src/fs/gnunet-publish.c:257 | 3586 | #: src/fs/gnunet-publish.c:241 |
3591 | #, fuzzy, c-format | 3587 | #, fuzzy, c-format |
3592 | msgid "Error publishing: %s.\n" | 3588 | msgid "Error publishing: %s.\n" |
3593 | msgstr "Gặp lỗi khi tải xuống: %s\n" | 3589 | msgstr "Gặp lỗi khi tải xuống: %s\n" |
3594 | 3590 | ||
3595 | #: src/fs/gnunet-publish.c:268 | 3591 | #: src/fs/gnunet-publish.c:248 |
3596 | #, c-format | 3592 | #, c-format |
3597 | msgid "Publishing `%s' done.\n" | 3593 | msgid "Publishing `%s' done.\n" |
3598 | msgstr "" | 3594 | msgstr "" |
3599 | 3595 | ||
3600 | #: src/fs/gnunet-publish.c:273 | 3596 | #: src/fs/gnunet-publish.c:253 |
3601 | #, fuzzy, c-format | 3597 | #, fuzzy, c-format |
3602 | msgid "URI is `%s'.\n" | 3598 | msgid "URI is `%s'.\n" |
3603 | msgstr "Tôi là đồng đẳng « %s ».\n" | 3599 | msgstr "Tôi là đồng đẳng « %s ».\n" |
3604 | 3600 | ||
3605 | #: src/fs/gnunet-publish.c:281 | 3601 | #: src/fs/gnunet-publish.c:261 |
3606 | #, fuzzy, c-format | 3602 | #, fuzzy, c-format |
3607 | msgid "Namespace URI is `%s'.\n" | 3603 | msgid "Namespace URI is `%s'.\n" |
3608 | msgstr "Tôi là đồng đẳng « %s ».\n" | 3604 | msgstr "Tôi là đồng đẳng « %s ».\n" |
3609 | 3605 | ||
3610 | #: src/fs/gnunet-publish.c:299 | 3606 | #: src/fs/gnunet-publish.c:277 |
3611 | #, fuzzy | 3607 | #, fuzzy |
3612 | msgid "Starting cleanup after abort\n" | 3608 | msgid "Starting cleanup after abort\n" |
3613 | msgstr "Hoàn thành khởi chạy « %s ».\n" | 3609 | msgstr "Hoàn thành khởi chạy « %s ».\n" |
3614 | 3610 | ||
3615 | #: src/fs/gnunet-publish.c:306 | 3611 | #: src/fs/gnunet-publish.c:284 |
3616 | #, fuzzy | 3612 | #, fuzzy |
3617 | msgid "Cleanup after abort completed.\n" | 3613 | msgid "Cleanup after abort completed.\n" |
3618 | msgstr "Hoàn thành khởi chạy « %s ».\n" | 3614 | msgstr "Hoàn thành khởi chạy « %s ».\n" |
3619 | 3615 | ||
3620 | #: src/fs/gnunet-publish.c:312 | 3616 | #: src/fs/gnunet-publish.c:290 |
3621 | #, fuzzy | 3617 | #, fuzzy |
3622 | msgid "Cleanup after abort failed.\n" | 3618 | msgid "Cleanup after abort failed.\n" |
3623 | msgstr "Hoàn thành khởi chạy « %s ».\n" | 3619 | msgstr "Hoàn thành khởi chạy « %s ».\n" |
3624 | 3620 | ||
3625 | #: src/fs/gnunet-publish.c:447 | 3621 | #: src/fs/gnunet-publish.c:432 |
3626 | #, fuzzy, c-format | 3622 | #, fuzzy, c-format |
3627 | msgid "Meta data for file `%s' (%s)\n" | 3623 | msgid "Meta data for file `%s' (%s)\n" |
3628 | msgstr "Đang cập nhật dữ liệu cho mô-đun « %s »\n" | 3624 | msgstr "Đang cập nhật dữ liệu cho mô-đun « %s »\n" |
3629 | 3625 | ||
3630 | #: src/fs/gnunet-publish.c:449 | 3626 | #: src/fs/gnunet-publish.c:437 |
3631 | #, fuzzy, c-format | 3627 | #, fuzzy, c-format |
3632 | msgid "Keywords for file `%s' (%s)\n" | 3628 | msgid "Keywords for file `%s' (%s)\n" |
3633 | msgstr "Từ khoá cho tập tin « %s »:\n" | 3629 | msgstr "Từ khoá cho tập tin « %s »:\n" |
3634 | 3630 | ||
3635 | #: src/fs/gnunet-publish.c:594 | 3631 | #: src/fs/gnunet-publish.c:591 |
3636 | #, fuzzy | 3632 | #, fuzzy |
3637 | msgid "Could not publish\n" | 3633 | msgid "Could not publish\n" |
3638 | msgstr "Không thể truy cập đến « %s »: %s\n" | 3634 | msgstr "Không thể truy cập đến « %s »: %s\n" |
3639 | 3635 | ||
3640 | #: src/fs/gnunet-publish.c:619 | 3636 | #: src/fs/gnunet-publish.c:616 |
3641 | #, fuzzy | 3637 | #, fuzzy |
3642 | msgid "Could not start publishing.\n" | 3638 | msgid "Could not start publishing.\n" |
3643 | msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n" | 3639 | msgstr "Không thể nạp phần bổ sung truyền tải « %s »\n" |
3644 | 3640 | ||
3645 | #: src/fs/gnunet-publish.c:653 | 3641 | #: src/fs/gnunet-publish.c:650 |
3646 | #, fuzzy, c-format | 3642 | #, fuzzy, c-format |
3647 | msgid "Scanning directory `%s'.\n" | 3643 | msgid "Scanning directory `%s'.\n" |
3648 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 3644 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
3649 | 3645 | ||
3650 | #: src/fs/gnunet-publish.c:657 | 3646 | #: src/fs/gnunet-publish.c:654 |
3651 | #, fuzzy, c-format | 3647 | #, fuzzy, c-format |
3652 | msgid "Scanning file `%s'.\n" | 3648 | msgid "Scanning file `%s'.\n" |
3653 | msgstr "Đang bắt đầu tài về « %s »\n" | 3649 | msgstr "Đang bắt đầu tài về « %s »\n" |
3654 | 3650 | ||
3655 | #: src/fs/gnunet-publish.c:663 | 3651 | #: src/fs/gnunet-publish.c:660 |
3656 | #, c-format | 3652 | #, c-format |
3657 | msgid "There was trouble processing file `%s', skipping it.\n" | 3653 | msgid "There was trouble processing file `%s', skipping it.\n" |
3658 | msgstr "" | 3654 | msgstr "" |
3659 | 3655 | ||
3660 | #: src/fs/gnunet-publish.c:670 | 3656 | #: src/fs/gnunet-publish.c:667 |
3661 | msgid "Preprocessing complete.\n" | 3657 | msgid "Preprocessing complete.\n" |
3662 | msgstr "" | 3658 | msgstr "" |
3663 | 3659 | ||
3664 | #: src/fs/gnunet-publish.c:675 | 3660 | #: src/fs/gnunet-publish.c:672 |
3665 | #, fuzzy, c-format | 3661 | #, fuzzy, c-format |
3666 | msgid "Extracting meta data from file `%s' complete.\n" | 3662 | msgid "Extracting meta data from file `%s' complete.\n" |
3667 | msgstr "Đang cập nhật dữ liệu cho mô-đun « %s »\n" | 3663 | msgstr "Đang cập nhật dữ liệu cho mô-đun « %s »\n" |
3668 | 3664 | ||
3669 | #: src/fs/gnunet-publish.c:682 | 3665 | #: src/fs/gnunet-publish.c:679 |
3670 | msgid "Meta data extraction has finished.\n" | 3666 | msgid "Meta data extraction has finished.\n" |
3671 | msgstr "" | 3667 | msgstr "" |
3672 | 3668 | ||
3673 | #: src/fs/gnunet-publish.c:691 | 3669 | #: src/fs/gnunet-publish.c:688 |
3674 | #, fuzzy | 3670 | #, fuzzy |
3675 | msgid "Internal error scanning directory.\n" | 3671 | msgid "Internal error scanning directory.\n" |
3676 | msgstr "=\tLỗi đọc thư mục.\n" | 3672 | msgstr "=\tLỗi đọc thư mục.\n" |
3677 | 3673 | ||
3678 | #: src/fs/gnunet-publish.c:723 | 3674 | #: src/fs/gnunet-publish.c:716 |
3679 | #, fuzzy, c-format | 3675 | #, fuzzy, c-format |
3680 | msgid "Selected pseudonym `%s' unknown\n" | 3676 | msgid "Selected pseudonym `%s' unknown\n" |
3681 | msgstr "Không gian tên « %s » có đánh giá %d.\n" | 3677 | msgstr "Không gian tên « %s » có đánh giá %d.\n" |
3682 | 3678 | ||
3683 | #: src/fs/gnunet-publish.c:755 | 3679 | #: src/fs/gnunet-publish.c:749 |
3684 | #, fuzzy, c-format | 3680 | #, fuzzy, c-format |
3685 | msgid "Failed to access `%s': %s\n" | 3681 | msgid "Failed to access `%s': %s\n" |
3686 | msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n" | 3682 | msgstr "Lỗi mở tập tin ghi sự kiện « %s »: %s\n" |
3687 | 3683 | ||
3688 | #: src/fs/gnunet-publish.c:769 | 3684 | #: src/fs/gnunet-publish.c:763 |
3689 | msgid "" | 3685 | msgid "" |
3690 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3686 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3691 | "installed?\n" | 3687 | "installed?\n" |
3692 | msgstr "" | 3688 | msgstr "" |
3693 | 3689 | ||
3694 | #: src/fs/gnunet-publish.c:825 | 3690 | #: src/fs/gnunet-publish.c:819 |
3695 | #, c-format | 3691 | #, c-format |
3696 | msgid "Cannot extract metadata from a URI!\n" | 3692 | msgid "Cannot extract metadata from a URI!\n" |
3697 | msgstr "Không thể trích siêu dữ liệu ra một địa chỉ URI.\n" | 3693 | msgstr "Không thể trích siêu dữ liệu ra một địa chỉ URI.\n" |
3698 | 3694 | ||
3699 | #: src/fs/gnunet-publish.c:832 | 3695 | #: src/fs/gnunet-publish.c:826 |
3700 | #, c-format | 3696 | #, c-format |
3701 | msgid "You must specify one and only one filename for insertion.\n" | 3697 | msgid "You must specify one and only one filename for insertion.\n" |
3702 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" | 3698 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" |
3703 | 3699 | ||
3704 | #: src/fs/gnunet-publish.c:838 | 3700 | #: src/fs/gnunet-publish.c:832 |
3705 | #, c-format | 3701 | #, c-format |
3706 | msgid "You must NOT specify an URI and a filename.\n" | 3702 | msgid "You must NOT specify an URI and a filename.\n" |
3707 | msgstr "KHÔNG cho phép ghi rõ cả hai địa chỉ URI và tên tập tin.\n" | 3703 | msgstr "KHÔNG cho phép ghi rõ cả hai địa chỉ URI và tên tập tin.\n" |
3708 | 3704 | ||
3709 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3705 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3710 | #, c-format | 3706 | #, c-format |
3711 | msgid "Option `%s' is required when using option `%s'.\n" | 3707 | msgid "Option `%s' is required when using option `%s'.\n" |
3712 | msgstr "Tùy chọn « %s » cần thiết khi dùng tùy chọn « %s ».\n" | 3708 | msgstr "Tùy chọn « %s » cần thiết khi dùng tùy chọn « %s ».\n" |
3713 | 3709 | ||
3714 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3710 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3715 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3711 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3716 | #: src/transport/gnunet-transport.c:1989 | 3712 | #: src/transport/gnunet-transport.c:1989 |
3717 | #, c-format | 3713 | #, c-format |
3718 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3714 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3719 | msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy chọn « %s ».\n" | 3715 | msgstr "Tùy chọn « %s » không có nghĩa khi không có tùy chọn « %s ».\n" |
3720 | 3716 | ||
3721 | #: src/fs/gnunet-publish.c:919 | 3717 | #: src/fs/gnunet-publish.c:912 |
3722 | msgid "" | 3718 | msgid "" |
3723 | "print list of extracted keywords that would be used, but do not perform " | 3719 | "print list of extracted keywords that would be used, but do not perform " |
3724 | "upload" | 3720 | "upload" |
@@ -3726,7 +3722,7 @@ msgstr "" | |||
3726 | "in ra danh sách các từ khóa đã giải phóng cần sử dụng, nhưng không thực hiện " | 3722 | "in ra danh sách các từ khóa đã giải phóng cần sử dụng, nhưng không thực hiện " |
3727 | "tải lên" | 3723 | "tải lên" |
3728 | 3724 | ||
3729 | #: src/fs/gnunet-publish.c:923 | 3725 | #: src/fs/gnunet-publish.c:916 |
3730 | msgid "" | 3726 | msgid "" |
3731 | "add an additional keyword for the top-level file or directory (this option " | 3727 | "add an additional keyword for the top-level file or directory (this option " |
3732 | "can be specified multiple times)" | 3728 | "can be specified multiple times)" |
@@ -3734,11 +3730,11 @@ msgstr "" | |||
3734 | "thêm một từ khoá bổ sung cho tập tin hoặc thư mục ở cấp đầu (có thể chỉ ra " | 3730 | "thêm một từ khoá bổ sung cho tập tin hoặc thư mục ở cấp đầu (có thể chỉ ra " |
3735 | "tùy chọn này nhiều lần)" | 3731 | "tùy chọn này nhiều lần)" |
3736 | 3732 | ||
3737 | #: src/fs/gnunet-publish.c:927 | 3733 | #: src/fs/gnunet-publish.c:920 |
3738 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3734 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3739 | msgstr "đặt siêu dữ liệu cho KIỂU đưa ra thành GIÁ_TRỊ chỉ ra" | 3735 | msgstr "đặt siêu dữ liệu cho KIỂU đưa ra thành GIÁ_TRỊ chỉ ra" |
3740 | 3736 | ||
3741 | #: src/fs/gnunet-publish.c:930 | 3737 | #: src/fs/gnunet-publish.c:923 |
3742 | msgid "" | 3738 | msgid "" |
3743 | "do not index, perform full insertion (stores entire file in encrypted form " | 3739 | "do not index, perform full insertion (stores entire file in encrypted form " |
3744 | "in GNUnet database)" | 3740 | "in GNUnet database)" |
@@ -3746,7 +3742,7 @@ msgstr "" | |||
3746 | "không đánh chỉ mục, thực hiện việc chèn đầy đủ (chứa toàn bộ tập tin ở dạng " | 3742 | "không đánh chỉ mục, thực hiện việc chèn đầy đủ (chứa toàn bộ tập tin ở dạng " |
3747 | "mã hóa trong cơ sở dữ liệu GNUnet)" | 3743 | "mã hóa trong cơ sở dữ liệu GNUnet)" |
3748 | 3744 | ||
3749 | #: src/fs/gnunet-publish.c:935 | 3745 | #: src/fs/gnunet-publish.c:928 |
3750 | msgid "" | 3746 | msgid "" |
3751 | "specify ID of an updated version to be published in the future (for " | 3747 | "specify ID of an updated version to be published in the future (for " |
3752 | "namespace insertions only)" | 3748 | "namespace insertions only)" |
@@ -3754,12 +3750,12 @@ msgstr "" | |||
3754 | "chỉ ra mã số của một phiên bản đã cập nhật để công bố trong tương lai (chỉ " | 3750 | "chỉ ra mã số của một phiên bản đã cập nhật để công bố trong tương lai (chỉ " |
3755 | "cho sự chèn không gian tên)" | 3751 | "cho sự chèn không gian tên)" |
3756 | 3752 | ||
3757 | #: src/fs/gnunet-publish.c:943 | 3753 | #: src/fs/gnunet-publish.c:936 |
3758 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3754 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3759 | msgstr "" | 3755 | msgstr "" |
3760 | "công bố các tập tin dưới biệt hiệu TÊN (đặt tập tin vào không gian tên)" | 3756 | "công bố các tập tin dưới biệt hiệu TÊN (đặt tập tin vào không gian tên)" |
3761 | 3757 | ||
3762 | #: src/fs/gnunet-publish.c:949 | 3758 | #: src/fs/gnunet-publish.c:942 |
3763 | #, fuzzy | 3759 | #, fuzzy |
3764 | msgid "" | 3760 | msgid "" |
3765 | "only simulate the process but do not do any actual publishing (useful to " | 3761 | "only simulate the process but do not do any actual publishing (useful to " |
@@ -3767,13 +3763,13 @@ msgid "" | |||
3767 | msgstr "" | 3763 | msgstr "" |
3768 | "chỉ mô phỏng tiến trình, không thật công bố (có ích để tính địa chỉ URI)" | 3764 | "chỉ mô phỏng tiến trình, không thật công bố (có ích để tính địa chỉ URI)" |
3769 | 3765 | ||
3770 | #: src/fs/gnunet-publish.c:953 | 3766 | #: src/fs/gnunet-publish.c:946 |
3771 | msgid "" | 3767 | msgid "" |
3772 | "set the ID of this version of the publication (for namespace insertions only)" | 3768 | "set the ID of this version of the publication (for namespace insertions only)" |
3773 | msgstr "" | 3769 | msgstr "" |
3774 | "đặt mã số của phiên bản này của sự công bố (chỉ cho chèn không gian tên)" | 3770 | "đặt mã số của phiên bản này của sự công bố (chỉ cho chèn không gian tên)" |
3775 | 3771 | ||
3776 | #: src/fs/gnunet-publish.c:957 | 3772 | #: src/fs/gnunet-publish.c:950 |
3777 | msgid "" | 3773 | msgid "" |
3778 | "URI to be published (can be used instead of passing a file to add keywords " | 3774 | "URI to be published (can be used instead of passing a file to add keywords " |
3779 | "to the file with the respective URI)" | 3775 | "to the file with the respective URI)" |
@@ -3781,7 +3777,7 @@ msgstr "" | |||
3781 | "Địa chỉ URI cần công bố (có thể được dùng thay vào gửi một tập tin để thêm " | 3777 | "Địa chỉ URI cần công bố (có thể được dùng thay vào gửi một tập tin để thêm " |
3782 | "từ khoá vào tập tin có địa chỉ URI tương ứng)" | 3778 | "từ khoá vào tập tin có địa chỉ URI tương ứng)" |
3783 | 3779 | ||
3784 | #: src/fs/gnunet-publish.c:973 | 3780 | #: src/fs/gnunet-publish.c:966 |
3785 | msgid "Publish a file or directory on GNUnet" | 3781 | msgid "Publish a file or directory on GNUnet" |
3786 | msgstr "" | 3782 | msgstr "" |
3787 | 3783 | ||
@@ -3795,29 +3791,29 @@ msgstr "" | |||
3795 | msgid "Error searching: %s.\n" | 3791 | msgid "Error searching: %s.\n" |
3796 | msgstr "Gặp lỗi khi tải xuống: %s\n" | 3792 | msgstr "Gặp lỗi khi tải xuống: %s\n" |
3797 | 3793 | ||
3798 | #: src/fs/gnunet-search.c:246 | 3794 | #: src/fs/gnunet-search.c:245 |
3799 | #, fuzzy | 3795 | #, fuzzy |
3800 | msgid "Could not create keyword URI from arguments.\n" | 3796 | msgid "Could not create keyword URI from arguments.\n" |
3801 | msgstr "Không thể tạo miền tên.\n" | 3797 | msgstr "Không thể tạo miền tên.\n" |
3802 | 3798 | ||
3803 | #: src/fs/gnunet-search.c:270 | 3799 | #: src/fs/gnunet-search.c:269 |
3804 | #, fuzzy | 3800 | #, fuzzy |
3805 | msgid "Could not start searching.\n" | 3801 | msgid "Could not start searching.\n" |
3806 | msgstr "Không thể tạo miền tên.\n" | 3802 | msgstr "Không thể tạo miền tên.\n" |
3807 | 3803 | ||
3808 | #: src/fs/gnunet-search.c:301 | 3804 | #: src/fs/gnunet-search.c:300 |
3809 | msgid "write search results to file starting with PREFIX" | 3805 | msgid "write search results to file starting with PREFIX" |
3810 | msgstr "" | 3806 | msgstr "" |
3811 | 3807 | ||
3812 | #: src/fs/gnunet-search.c:304 | 3808 | #: src/fs/gnunet-search.c:303 |
3813 | msgid "automatically terminate search after DELAY" | 3809 | msgid "automatically terminate search after DELAY" |
3814 | msgstr "" | 3810 | msgstr "" |
3815 | 3811 | ||
3816 | #: src/fs/gnunet-search.c:311 | 3812 | #: src/fs/gnunet-search.c:310 |
3817 | msgid "automatically terminate search after VALUE results are found" | 3813 | msgid "automatically terminate search after VALUE results are found" |
3818 | msgstr "" | 3814 | msgstr "" |
3819 | 3815 | ||
3820 | #: src/fs/gnunet-search.c:322 | 3816 | #: src/fs/gnunet-search.c:321 |
3821 | #, fuzzy | 3817 | #, fuzzy |
3822 | msgid "Search GNUnet for files that were published on GNUnet" | 3818 | msgid "Search GNUnet for files that were published on GNUnet" |
3823 | msgstr "Không hiển thị kết quả tìm kiếm cho tập tin được chúng ta tải lên" | 3819 | msgstr "Không hiển thị kết quả tìm kiếm cho tập tin được chúng ta tải lên" |
@@ -4217,17 +4213,17 @@ msgstr "" | |||
4217 | msgid "Unindexing done.\n" | 4213 | msgid "Unindexing done.\n" |
4218 | msgstr "Bỏ chỉ mục tập tin." | 4214 | msgstr "Bỏ chỉ mục tập tin." |
4219 | 4215 | ||
4220 | #: src/fs/gnunet-unindex.c:130 | 4216 | #: src/fs/gnunet-unindex.c:129 |
4221 | #, fuzzy, c-format | 4217 | #, fuzzy, c-format |
4222 | msgid "You must specify one and only one filename for unindexing.\n" | 4218 | msgid "You must specify one and only one filename for unindexing.\n" |
4223 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" | 4219 | msgstr "Phải ghi rõ chỉ một tên tập tin để chèn.\n" |
4224 | 4220 | ||
4225 | #: src/fs/gnunet-unindex.c:147 | 4221 | #: src/fs/gnunet-unindex.c:146 |
4226 | #, fuzzy | 4222 | #, fuzzy |
4227 | msgid "Could not start unindex operation.\n" | 4223 | msgid "Could not start unindex operation.\n" |
4228 | msgstr "Không thể truy cập đến thông tin về không gian tên.\n" | 4224 | msgstr "Không thể truy cập đến thông tin về không gian tên.\n" |
4229 | 4225 | ||
4230 | #: src/fs/gnunet-unindex.c:179 | 4226 | #: src/fs/gnunet-unindex.c:178 |
4231 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 4227 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
4232 | msgstr "" | 4228 | msgstr "" |
4233 | 4229 | ||
@@ -4635,68 +4631,68 @@ msgstr "" | |||
4635 | msgid "GNS REST API initialized\n" | 4631 | msgid "GNS REST API initialized\n" |
4636 | msgstr "Lỗi sơ khởi lõi.\n" | 4632 | msgstr "Lỗi sơ khởi lõi.\n" |
4637 | 4633 | ||
4638 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4634 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4639 | #, fuzzy, c-format | 4635 | #, fuzzy, c-format |
4640 | msgid "Unable to parse IPv4 address `%s'\n" | 4636 | msgid "Unable to parse IPv4 address `%s'\n" |
4641 | msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n" | 4637 | msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n" |
4642 | 4638 | ||
4643 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4639 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4644 | #, fuzzy, c-format | 4640 | #, fuzzy, c-format |
4645 | msgid "Failed to serialize NS record with value `%s'\n" | 4641 | msgid "Failed to serialize NS record with value `%s'\n" |
4646 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4642 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4647 | 4643 | ||
4648 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4644 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4649 | #, fuzzy, c-format | 4645 | #, fuzzy, c-format |
4650 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4646 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4651 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4647 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4652 | 4648 | ||
4653 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4649 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4654 | #, fuzzy, c-format | 4650 | #, fuzzy, c-format |
4655 | msgid "Failed to serialize CERT record with %u bytes\n" | 4651 | msgid "Failed to serialize CERT record with %u bytes\n" |
4656 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4652 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4657 | 4653 | ||
4658 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4654 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4659 | #, fuzzy, c-format | 4655 | #, fuzzy, c-format |
4660 | msgid "Unable to parse SOA record `%s'\n" | 4656 | msgid "Unable to parse SOA record `%s'\n" |
4661 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 4657 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
4662 | 4658 | ||
4663 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4659 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4664 | #, fuzzy, c-format | 4660 | #, fuzzy, c-format |
4665 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4661 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4666 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4662 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4667 | 4663 | ||
4668 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4664 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4669 | #, fuzzy, c-format | 4665 | #, fuzzy, c-format |
4670 | msgid "Failed to serialize PTR record with value `%s'\n" | 4666 | msgid "Failed to serialize PTR record with value `%s'\n" |
4671 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4667 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4672 | 4668 | ||
4673 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4669 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4674 | #, fuzzy, c-format | 4670 | #, fuzzy, c-format |
4675 | msgid "Unable to parse MX record `%s'\n" | 4671 | msgid "Unable to parse MX record `%s'\n" |
4676 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 4672 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
4677 | 4673 | ||
4678 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4674 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4679 | #, fuzzy, c-format | 4675 | #, fuzzy, c-format |
4680 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4676 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4681 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4677 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4682 | 4678 | ||
4683 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4679 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4684 | #, fuzzy, c-format | 4680 | #, fuzzy, c-format |
4685 | msgid "Unable to parse SRV record `%s'\n" | 4681 | msgid "Unable to parse SRV record `%s'\n" |
4686 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 4682 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
4687 | 4683 | ||
4688 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4684 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4689 | #, fuzzy, c-format | 4685 | #, fuzzy, c-format |
4690 | msgid "Failed to serialize SRV record with target `%s'\n" | 4686 | msgid "Failed to serialize SRV record with target `%s'\n" |
4691 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | 4687 | msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" |
4692 | 4688 | ||
4693 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4689 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4694 | #, fuzzy, c-format | 4690 | #, fuzzy, c-format |
4695 | msgid "Unable to parse IPv6 address `%s'\n" | 4691 | msgid "Unable to parse IPv6 address `%s'\n" |
4696 | msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n" | 4692 | msgstr "Mức ưu tiên tiến trình không hợp lê « %s ».\n" |
4697 | 4693 | ||
4698 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4694 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4699 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4695 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4700 | #, fuzzy, c-format | 4696 | #, fuzzy, c-format |
4701 | msgid "Unable to parse TLSA record string `%s'\n" | 4697 | msgid "Unable to parse TLSA record string `%s'\n" |
4702 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 4698 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
@@ -5227,6 +5223,31 @@ msgstr "Cấu hình GNUnet" | |||
5227 | msgid "Namecache failed to cache block" | 5223 | msgid "Namecache failed to cache block" |
5228 | msgstr "" | 5224 | msgstr "" |
5229 | 5225 | ||
5226 | #: src/namecache/plugin_namecache_flat.c:119 | ||
5227 | #: src/namecache/plugin_namecache_flat.c:236 | ||
5228 | #: src/namestore/plugin_namestore_flat.c:184 | ||
5229 | #: src/namestore/plugin_namestore_flat.c:352 | ||
5230 | #, fuzzy, c-format | ||
5231 | msgid "Unable to initialize file: %s.\n" | ||
5232 | msgstr "Không thể sơ khởi SQLite: %s.\n" | ||
5233 | |||
5234 | #: src/namecache/plugin_namecache_flat.c:130 | ||
5235 | #: src/namestore/plugin_namestore_flat.c:195 | ||
5236 | #, fuzzy, c-format | ||
5237 | msgid "Unable to get filesize: %s.\n" | ||
5238 | msgstr "Không thể tạo miền tên.\n" | ||
5239 | |||
5240 | #: src/namecache/plugin_namecache_flat.c:142 | ||
5241 | #: src/namestore/plugin_namestore_flat.c:207 | ||
5242 | #, fuzzy, c-format | ||
5243 | msgid "Unable to read file: %s.\n" | ||
5244 | msgstr "Không thể tạo miền tên.\n" | ||
5245 | |||
5246 | #: src/namecache/plugin_namecache_flat.c:391 | ||
5247 | #, fuzzy | ||
5248 | msgid "flat plugin running\n" | ||
5249 | msgstr "kho dữ liệu sqlite" | ||
5250 | |||
5230 | #: src/namecache/plugin_namecache_postgres.c:89 | 5251 | #: src/namecache/plugin_namecache_postgres.c:89 |
5231 | #: src/namestore/plugin_namestore_postgres.c:96 | 5252 | #: src/namestore/plugin_namestore_postgres.c:96 |
5232 | #, fuzzy | 5253 | #, fuzzy |
@@ -5325,8 +5346,7 @@ msgstr "" | |||
5325 | msgid "Invalid public key for reverse lookup `%s'\n" | 5346 | msgid "Invalid public key for reverse lookup `%s'\n" |
5326 | msgstr "Đối số không hợp lệ cho « %s ».\n" | 5347 | msgstr "Đối số không hợp lệ cho « %s ».\n" |
5327 | 5348 | ||
5328 | #: src/namestore/gnunet-namestore.c:868 | 5349 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5329 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5330 | #, fuzzy, c-format | 5350 | #, fuzzy, c-format |
5331 | msgid "Invalid URI `%s'\n" | 5351 | msgid "Invalid URI `%s'\n" |
5332 | msgstr "Dữ liệu nhập không hợp lệ.\n" | 5352 | msgstr "Dữ liệu nhập không hợp lệ.\n" |
@@ -5487,11 +5507,20 @@ msgstr "Lỗi cập nhật dữ liệu cho mô-đun « %s »\n" | |||
5487 | msgid "Namestore failed to store record\n" | 5507 | msgid "Namestore failed to store record\n" |
5488 | msgstr "" | 5508 | msgstr "" |
5489 | 5509 | ||
5510 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5511 | #, fuzzy | ||
5512 | msgid "flat file database running\n" | ||
5513 | msgstr "kho dữ liệu sqlite" | ||
5514 | |||
5490 | #: src/namestore/plugin_rest_namestore.c:1023 | 5515 | #: src/namestore/plugin_rest_namestore.c:1023 |
5491 | #, fuzzy | 5516 | #, fuzzy |
5492 | msgid "Namestore REST API initialized\n" | 5517 | msgid "Namestore REST API initialized\n" |
5493 | msgstr "Lỗi sơ khởi lõi.\n" | 5518 | msgstr "Lỗi sơ khởi lõi.\n" |
5494 | 5519 | ||
5520 | #: src/nat/gnunet-nat.c:160 | ||
5521 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5522 | msgstr "" | ||
5523 | |||
5495 | #: src/nat/gnunet-nat-server.c:279 | 5524 | #: src/nat/gnunet-nat-server.c:279 |
5496 | #, c-format | 5525 | #, c-format |
5497 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5526 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5501,54 +5530,59 @@ msgstr "" | |||
5501 | msgid "GNUnet NAT traversal test helper daemon" | 5530 | msgid "GNUnet NAT traversal test helper daemon" |
5502 | msgstr "" | 5531 | msgstr "" |
5503 | 5532 | ||
5504 | #: src/nat/nat_auto.c:179 | 5533 | #: src/nat/nat_auto.c:394 |
5505 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5534 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5506 | msgstr "" | 5535 | msgstr "" |
5507 | 5536 | ||
5508 | #: src/nat/nat_auto.c:180 | 5537 | #: src/nat/nat_auto.c:395 |
5509 | msgid "NAT traversal with ICMP Server failed.\n" | 5538 | msgid "NAT traversal with ICMP Server failed.\n" |
5510 | msgstr "" | 5539 | msgstr "" |
5511 | 5540 | ||
5512 | #: src/nat/nat_auto.c:201 | 5541 | #: src/nat/nat_auto.c:416 |
5513 | #, fuzzy | 5542 | #, fuzzy |
5514 | msgid "Testing connection reversal with ICMP server.\n" | 5543 | msgid "Testing connection reversal with ICMP server.\n" |
5515 | msgstr "Cổng để liên lạc với giao diện người dùng GNUnet" | 5544 | msgstr "Cổng để liên lạc với giao diện người dùng GNUnet" |
5516 | 5545 | ||
5517 | #: src/nat/nat_auto.c:249 | 5546 | #: src/nat/nat_auto.c:448 |
5518 | #, c-format | 5547 | #, c-format |
5519 | msgid "Detected external IP `%s'\n" | 5548 | msgid "Detected external IP `%s'\n" |
5520 | msgstr "" | 5549 | msgstr "" |
5521 | 5550 | ||
5522 | #: src/nat/nat_auto.c:327 | 5551 | #: src/nat/nat_auto.c:579 |
5523 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5552 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5524 | msgstr "" | 5553 | msgstr "" |
5525 | 5554 | ||
5526 | #: src/nat/nat_auto.c:343 | 5555 | #: src/nat/nat_auto.c:597 |
5527 | #, fuzzy, c-format | 5556 | #, fuzzy, c-format |
5528 | msgid "Detected internal network address `%s'.\n" | 5557 | msgid "Detected internal network address `%s'.\n" |
5529 | msgstr "GNUnet bây giờ sử dụng địa chỉ IP %s.\n" | 5558 | msgstr "GNUnet bây giờ sử dụng địa chỉ IP %s.\n" |
5530 | 5559 | ||
5531 | #: src/nat/nat_auto.c:406 | 5560 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5561 | #, fuzzy | ||
5562 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5563 | msgstr "Lỗi kết nối đến gnunetd.\n" | ||
5564 | |||
5565 | #: src/nat/nat_auto.c:715 | ||
5532 | msgid "upnpc found, enabling its use\n" | 5566 | msgid "upnpc found, enabling its use\n" |
5533 | msgstr "" | 5567 | msgstr "" |
5534 | 5568 | ||
5535 | #: src/nat/nat_auto.c:407 | 5569 | #: src/nat/nat_auto.c:716 |
5536 | msgid "upnpc not found\n" | 5570 | msgid "upnpc not found\n" |
5537 | msgstr "" | 5571 | msgstr "" |
5538 | 5572 | ||
5539 | #: src/nat/nat_auto.c:437 | 5573 | #: src/nat/nat_auto.c:748 |
5540 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5574 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5541 | msgstr "" | 5575 | msgstr "" |
5542 | 5576 | ||
5543 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5577 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5544 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5578 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5545 | msgstr "" | 5579 | msgstr "" |
5546 | 5580 | ||
5547 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5581 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5548 | msgid "No working gnunet-helper-nat-server found\n" | 5582 | msgid "No working gnunet-helper-nat-server found\n" |
5549 | msgstr "" | 5583 | msgstr "" |
5550 | 5584 | ||
5551 | #: src/nat/nat_auto.c:483 | 5585 | #: src/nat/nat_auto.c:797 |
5552 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5586 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5553 | msgstr "" | 5587 | msgstr "" |
5554 | 5588 | ||
@@ -5562,117 +5596,117 @@ msgstr "" | |||
5562 | msgid "Failed to start %s\n" | 5596 | msgid "Failed to start %s\n" |
5563 | msgstr "Lỗi bắt đầu thu thập.\n" | 5597 | msgstr "Lỗi bắt đầu thu thập.\n" |
5564 | 5598 | ||
5565 | #: src/nat/nat.c:1286 | 5599 | #: src/nat/nat.c:1305 |
5566 | msgid "Error while running upnp client:\n" | 5600 | msgid "Error while running upnp client:\n" |
5567 | msgstr "" | 5601 | msgstr "" |
5568 | 5602 | ||
5569 | #: src/nat/nat.c:1356 | 5603 | #: src/nat/nat.c:1375 |
5570 | #, fuzzy, c-format | 5604 | #, fuzzy, c-format |
5571 | msgid "Failed to run upnp client for port %u\n" | 5605 | msgid "Failed to run upnp client for port %u\n" |
5572 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" | 5606 | msgstr "Lỗi sơ khởi dịch vụ « %s ».\n" |
5573 | 5607 | ||
5574 | #: src/nat/nat.c:1498 | 5608 | #: src/nat/nat.c:1517 |
5575 | msgid "malformed" | 5609 | msgid "malformed" |
5576 | msgstr "" | 5610 | msgstr "" |
5577 | 5611 | ||
5578 | #: src/nat/nat.c:1552 | 5612 | #: src/nat/nat.c:1571 |
5579 | msgid "" | 5613 | msgid "" |
5580 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5614 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5581 | "disabling UPnP \n" | 5615 | "disabling UPnP \n" |
5582 | msgstr "" | 5616 | msgstr "" |
5583 | 5617 | ||
5584 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5618 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5585 | #, c-format | 5619 | #, c-format |
5586 | msgid "" | 5620 | msgid "" |
5587 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5621 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
5588 | "not set). Option disabled.\n" | 5622 | "not set). Option disabled.\n" |
5589 | msgstr "" | 5623 | msgstr "" |
5590 | 5624 | ||
5591 | #: src/nat/nat.c:1830 | 5625 | #: src/nat/nat.c:1855 |
5592 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5626 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5593 | msgstr "" | 5627 | msgstr "" |
5594 | 5628 | ||
5595 | #: src/nat/nat.c:1846 | 5629 | #: src/nat/nat.c:1871 |
5596 | #, c-format | 5630 | #, c-format |
5597 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5631 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5598 | msgstr "" | 5632 | msgstr "" |
5599 | 5633 | ||
5600 | #: src/nat/nat.c:1931 | 5634 | #: src/nat/nat.c:1958 |
5601 | msgid "Operation Successful" | 5635 | msgid "Operation Successful" |
5602 | msgstr "" | 5636 | msgstr "" |
5603 | 5637 | ||
5604 | #: src/nat/nat.c:1933 | 5638 | #: src/nat/nat.c:1960 |
5605 | msgid "Internal Failure (IPC, ...)" | 5639 | msgid "Internal Failure (IPC, ...)" |
5606 | msgstr "" | 5640 | msgstr "" |
5607 | 5641 | ||
5608 | #: src/nat/nat.c:1935 | 5642 | #: src/nat/nat.c:1962 |
5609 | msgid "Failure in network subsystem, check permissions." | 5643 | msgid "Failure in network subsystem, check permissions." |
5610 | msgstr "" | 5644 | msgstr "" |
5611 | 5645 | ||
5612 | #: src/nat/nat.c:1937 | 5646 | #: src/nat/nat.c:1964 |
5613 | msgid "Encountered timeout while performing operation" | 5647 | msgid "Encountered timeout while performing operation" |
5614 | msgstr "" | 5648 | msgstr "" |
5615 | 5649 | ||
5616 | #: src/nat/nat.c:1939 | 5650 | #: src/nat/nat.c:1966 |
5617 | msgid "detected that we are offline" | 5651 | msgid "detected that we are offline" |
5618 | msgstr "" | 5652 | msgstr "" |
5619 | 5653 | ||
5620 | #: src/nat/nat.c:1941 | 5654 | #: src/nat/nat.c:1968 |
5621 | msgid "`upnpc` command not found" | 5655 | msgid "`upnpc` command not found" |
5622 | msgstr "" | 5656 | msgstr "" |
5623 | 5657 | ||
5624 | #: src/nat/nat.c:1943 | 5658 | #: src/nat/nat.c:1970 |
5625 | #, fuzzy | 5659 | #, fuzzy |
5626 | msgid "Failed to run `upnpc` command" | 5660 | msgid "Failed to run `upnpc` command" |
5627 | msgstr "Lỗi bắt đầu thu thập.\n" | 5661 | msgstr "Lỗi bắt đầu thu thập.\n" |
5628 | 5662 | ||
5629 | #: src/nat/nat.c:1945 | 5663 | #: src/nat/nat.c:1972 |
5630 | msgid "`upnpc' command took too long, process killed" | 5664 | msgid "`upnpc' command took too long, process killed" |
5631 | msgstr "" | 5665 | msgstr "" |
5632 | 5666 | ||
5633 | #: src/nat/nat.c:1947 | 5667 | #: src/nat/nat.c:1974 |
5634 | msgid "`upnpc' command failed to establish port mapping" | 5668 | msgid "`upnpc' command failed to establish port mapping" |
5635 | msgstr "" | 5669 | msgstr "" |
5636 | 5670 | ||
5637 | #: src/nat/nat.c:1949 | 5671 | #: src/nat/nat.c:1976 |
5638 | msgid "`external-ip' command not found" | 5672 | msgid "`external-ip' command not found" |
5639 | msgstr "" | 5673 | msgstr "" |
5640 | 5674 | ||
5641 | #: src/nat/nat.c:1951 | 5675 | #: src/nat/nat.c:1978 |
5642 | #, fuzzy | 5676 | #, fuzzy |
5643 | msgid "Failed to run `external-ip` command" | 5677 | msgid "Failed to run `external-ip` command" |
5644 | msgstr "Lỗi bắt đầu thu thập.\n" | 5678 | msgstr "Lỗi bắt đầu thu thập.\n" |
5645 | 5679 | ||
5646 | #: src/nat/nat.c:1953 | 5680 | #: src/nat/nat.c:1980 |
5647 | msgid "`external-ip' command output invalid" | 5681 | msgid "`external-ip' command output invalid" |
5648 | msgstr "" | 5682 | msgstr "" |
5649 | 5683 | ||
5650 | #: src/nat/nat.c:1955 | 5684 | #: src/nat/nat.c:1982 |
5651 | msgid "no valid address was returned by `external-ip'" | 5685 | msgid "no valid address was returned by `external-ip'" |
5652 | msgstr "" | 5686 | msgstr "" |
5653 | 5687 | ||
5654 | #: src/nat/nat.c:1957 | 5688 | #: src/nat/nat.c:1984 |
5655 | #, fuzzy | 5689 | #, fuzzy |
5656 | msgid "Could not determine interface with internal/local network address" | 5690 | msgid "Could not determine interface with internal/local network address" |
5657 | msgstr "Không thể truy cập đến thông tin về không gian tên.\n" | 5691 | msgstr "Không thể truy cập đến thông tin về không gian tên.\n" |
5658 | 5692 | ||
5659 | #: src/nat/nat.c:1959 | 5693 | #: src/nat/nat.c:1986 |
5660 | msgid "No functioning gnunet-helper-nat-server installation found" | 5694 | msgid "No functioning gnunet-helper-nat-server installation found" |
5661 | msgstr "" | 5695 | msgstr "" |
5662 | 5696 | ||
5663 | #: src/nat/nat.c:1961 | 5697 | #: src/nat/nat.c:1988 |
5664 | msgid "NAT test could not be initialized" | 5698 | msgid "NAT test could not be initialized" |
5665 | msgstr "" | 5699 | msgstr "" |
5666 | 5700 | ||
5667 | #: src/nat/nat.c:1963 | 5701 | #: src/nat/nat.c:1990 |
5668 | msgid "NAT test timeout reached" | 5702 | msgid "NAT test timeout reached" |
5669 | msgstr "" | 5703 | msgstr "" |
5670 | 5704 | ||
5671 | #: src/nat/nat.c:1965 | 5705 | #: src/nat/nat.c:1992 |
5672 | msgid "could not register NAT" | 5706 | msgid "could not register NAT" |
5673 | msgstr "" | 5707 | msgstr "" |
5674 | 5708 | ||
5675 | #: src/nat/nat.c:1967 | 5709 | #: src/nat/nat.c:1994 |
5676 | msgid "No working gnunet-helper-nat-client installation found" | 5710 | msgid "No working gnunet-helper-nat-client installation found" |
5677 | msgstr "" | 5711 | msgstr "" |
5678 | 5712 | ||
@@ -5684,17 +5718,12 @@ msgstr "" | |||
5684 | msgid "`upnpc' command not found\n" | 5718 | msgid "`upnpc' command not found\n" |
5685 | msgstr "" | 5719 | msgstr "" |
5686 | 5720 | ||
5687 | #: src/nat/nat_test.c:360 | 5721 | #: src/nat/nat_test.c:467 |
5688 | #, fuzzy | ||
5689 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5690 | msgstr "Lỗi kết nối đến gnunetd.\n" | ||
5691 | |||
5692 | #: src/nat/nat_test.c:462 | ||
5693 | #, c-format | 5722 | #, c-format |
5694 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5723 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5695 | msgstr "" | 5724 | msgstr "" |
5696 | 5725 | ||
5697 | #: src/nat/nat_test.c:497 | 5726 | #: src/nat/nat_test.c:502 |
5698 | #, fuzzy | 5727 | #, fuzzy |
5699 | msgid "NAT test failed to start NAT library\n" | 5728 | msgid "NAT test failed to start NAT library\n" |
5700 | msgstr "Lỗi bắt đầu thu thập.\n" | 5729 | msgstr "Lỗi bắt đầu thu thập.\n" |
@@ -5739,8 +5768,8 @@ msgstr "" | |||
5739 | msgid "Measure quality and performance of the NSE service." | 5768 | msgid "Measure quality and performance of the NSE service." |
5740 | msgstr "Không thể truy cập đến dịch vụ" | 5769 | msgstr "Không thể truy cập đến dịch vụ" |
5741 | 5770 | ||
5742 | #: src/nse/gnunet-service-nse.c:1537 | 5771 | #: src/nse/gnunet-service-nse.c:1541 |
5743 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5772 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5744 | #, fuzzy | 5773 | #, fuzzy |
5745 | msgid "Value is too large.\n" | 5774 | msgid "Value is too large.\n" |
5746 | msgstr "Giá trị không nằm trong phạm vi được phép." | 5775 | msgstr "Giá trị không nằm trong phạm vi được phép." |
@@ -6010,7 +6039,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
6010 | msgstr "" | 6039 | msgstr "" |
6011 | 6040 | ||
6012 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 6041 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
6013 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 6042 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
6014 | #, fuzzy, c-format | 6043 | #, fuzzy, c-format |
6015 | msgid "" | 6044 | msgid "" |
6016 | "Error executing SQL query: %s\n" | 6045 | "Error executing SQL query: %s\n" |
@@ -6018,7 +6047,7 @@ msgid "" | |||
6018 | msgstr "Gặp lỗi khi tạo người dùng" | 6047 | msgstr "Gặp lỗi khi tạo người dùng" |
6019 | 6048 | ||
6020 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 6049 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
6021 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 6050 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
6022 | #, fuzzy, c-format | 6051 | #, fuzzy, c-format |
6023 | msgid "" | 6052 | msgid "" |
6024 | "Error preparing SQL query: %s\n" | 6053 | "Error preparing SQL query: %s\n" |
@@ -6075,43 +6104,48 @@ msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | |||
6075 | msgid "Failed to get master counters!\n" | 6104 | msgid "Failed to get master counters!\n" |
6076 | msgstr "Lỗi lấy thông kê về truyền tải.\n" | 6105 | msgstr "Lỗi lấy thông kê về truyền tải.\n" |
6077 | 6106 | ||
6078 | #: src/psycstore/gnunet-service-psycstore.c:645 | 6107 | #: src/psycstore/gnunet-service-psycstore.c:657 |
6079 | #, fuzzy | 6108 | #, fuzzy, c-format |
6080 | msgid "Failed to begin modifying state!\n" | 6109 | msgid "Failed to begin modifying state: %d\n" |
6081 | msgstr "Lỗi bắt đầu thu thập.\n" | 6110 | msgstr "Lỗi bắt đầu thu thập.\n" |
6082 | 6111 | ||
6083 | #: src/psycstore/gnunet-service-psycstore.c:656 | 6112 | #: src/psycstore/gnunet-service-psycstore.c:667 |
6113 | #, fuzzy, c-format | ||
6114 | msgid "Failed to modify state: %d\n" | ||
6115 | msgstr "Lỗi bắt đầu thu thập.\n" | ||
6116 | |||
6117 | #: src/psycstore/gnunet-service-psycstore.c:675 | ||
6084 | #, fuzzy | 6118 | #, fuzzy |
6085 | msgid "Failed to end modifying state!\n" | 6119 | msgid "Failed to end modifying state!\n" |
6086 | msgstr "Lỗi bắt đầu thu thập.\n" | 6120 | msgstr "Lỗi bắt đầu thu thập.\n" |
6087 | 6121 | ||
6088 | #: src/psycstore/gnunet-service-psycstore.c:686 | 6122 | #: src/psycstore/gnunet-service-psycstore.c:706 |
6089 | msgid "Tried to set invalid state variable name!\n" | 6123 | msgid "Tried to set invalid state variable name!\n" |
6090 | msgstr "" | 6124 | msgstr "" |
6091 | 6125 | ||
6092 | #: src/psycstore/gnunet-service-psycstore.c:700 | 6126 | #: src/psycstore/gnunet-service-psycstore.c:720 |
6093 | #, fuzzy | 6127 | #, fuzzy |
6094 | msgid "Failed to begin synchronizing state!\n" | 6128 | msgid "Failed to begin synchronizing state!\n" |
6095 | msgstr "Lỗi lấy thông kê về truyền tải.\n" | 6129 | msgstr "Lỗi lấy thông kê về truyền tải.\n" |
6096 | 6130 | ||
6097 | #: src/psycstore/gnunet-service-psycstore.c:717 | 6131 | #: src/psycstore/gnunet-service-psycstore.c:737 |
6098 | #, fuzzy | 6132 | #, fuzzy |
6099 | msgid "Failed to end synchronizing state!\n" | 6133 | msgid "Failed to end synchronizing state!\n" |
6100 | msgstr "Lỗi lấy thông kê về truyền tải.\n" | 6134 | msgstr "Lỗi lấy thông kê về truyền tải.\n" |
6101 | 6135 | ||
6102 | #: src/psycstore/gnunet-service-psycstore.c:737 | 6136 | #: src/psycstore/gnunet-service-psycstore.c:757 |
6103 | #: src/psycstore/gnunet-service-psycstore.c:756 | 6137 | #: src/psycstore/gnunet-service-psycstore.c:776 |
6104 | #, fuzzy | 6138 | #, fuzzy |
6105 | msgid "Failed to reset state!\n" | 6139 | msgid "Failed to reset state!\n" |
6106 | msgstr "Lỗi lấy thông kê về truyền tải.\n" | 6140 | msgstr "Lỗi lấy thông kê về truyền tải.\n" |
6107 | 6141 | ||
6108 | #: src/psycstore/gnunet-service-psycstore.c:779 | 6142 | #: src/psycstore/gnunet-service-psycstore.c:799 |
6109 | #: src/psycstore/gnunet-service-psycstore.c:830 | 6143 | #: src/psycstore/gnunet-service-psycstore.c:850 |
6110 | msgid "Tried to get invalid state variable name!\n" | 6144 | msgid "Tried to get invalid state variable name!\n" |
6111 | msgstr "" | 6145 | msgstr "" |
6112 | 6146 | ||
6113 | #: src/psycstore/gnunet-service-psycstore.c:806 | 6147 | #: src/psycstore/gnunet-service-psycstore.c:826 |
6114 | #: src/psycstore/gnunet-service-psycstore.c:845 | 6148 | #: src/psycstore/gnunet-service-psycstore.c:865 |
6115 | #, fuzzy | 6149 | #, fuzzy |
6116 | msgid "Failed to get state variable!\n" | 6150 | msgid "Failed to get state variable!\n" |
6117 | msgstr "Lỗi lấy thông kê về truyền tải.\n" | 6151 | msgstr "Lỗi lấy thông kê về truyền tải.\n" |
@@ -6121,7 +6155,7 @@ msgstr "Lỗi lấy thông kê về truyền tải.\n" | |||
6121 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 6155 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
6122 | msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n" | 6156 | msgstr "« %s » bị lỗi tại %s:%d với lỗi: %s\n" |
6123 | 6157 | ||
6124 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 6158 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
6125 | #, fuzzy | 6159 | #, fuzzy |
6126 | msgid "SQLite database running\n" | 6160 | msgid "SQLite database running\n" |
6127 | msgstr "kho dữ liệu sqlite" | 6161 | msgstr "kho dữ liệu sqlite" |
@@ -6392,37 +6426,37 @@ msgstr "" | |||
6392 | msgid "test if the public key KEY has been revoked" | 6426 | msgid "test if the public key KEY has been revoked" |
6393 | msgstr "" | 6427 | msgstr "" |
6394 | 6428 | ||
6395 | #: src/revocation/gnunet-service-revocation.c:427 | 6429 | #: src/revocation/gnunet-service-revocation.c:481 |
6396 | #, fuzzy | 6430 | #, fuzzy |
6397 | msgid "# unsupported revocations received via set union" | 6431 | msgid "# unsupported revocations received via set union" |
6398 | msgstr "# các yêu cầu danh sách máy được nhận" | 6432 | msgstr "# các yêu cầu danh sách máy được nhận" |
6399 | 6433 | ||
6400 | #: src/revocation/gnunet-service-revocation.c:436 | 6434 | #: src/revocation/gnunet-service-revocation.c:490 |
6401 | #, fuzzy | 6435 | #, fuzzy |
6402 | msgid "# revocation messages received via set union" | 6436 | msgid "# revocation messages received via set union" |
6403 | msgstr "# các thông báo PONG đã mật mã được nhận" | 6437 | msgstr "# các thông báo PONG đã mật mã được nhận" |
6404 | 6438 | ||
6405 | #: src/revocation/gnunet-service-revocation.c:441 | 6439 | #: src/revocation/gnunet-service-revocation.c:495 |
6406 | #, c-format | 6440 | #, c-format |
6407 | msgid "Error computing revocation set union with %s\n" | 6441 | msgid "Error computing revocation set union with %s\n" |
6408 | msgstr "" | 6442 | msgstr "" |
6409 | 6443 | ||
6410 | #: src/revocation/gnunet-service-revocation.c:445 | 6444 | #: src/revocation/gnunet-service-revocation.c:499 |
6411 | #, fuzzy | 6445 | #, fuzzy |
6412 | msgid "# revocation set unions failed" | 6446 | msgid "# revocation set unions failed" |
6413 | msgstr "# các khoá phiên chạy được chấp nhận" | 6447 | msgstr "# các khoá phiên chạy được chấp nhận" |
6414 | 6448 | ||
6415 | #: src/revocation/gnunet-service-revocation.c:454 | 6449 | #: src/revocation/gnunet-service-revocation.c:508 |
6416 | #, fuzzy | 6450 | #, fuzzy |
6417 | msgid "# revocation set unions completed" | 6451 | msgid "# revocation set unions completed" |
6418 | msgstr "# các sự truyền PONG bị lỗi" | 6452 | msgstr "# các sự truyền PONG bị lỗi" |
6419 | 6453 | ||
6420 | #: src/revocation/gnunet-service-revocation.c:493 | 6454 | #: src/revocation/gnunet-service-revocation.c:547 |
6421 | #: src/revocation/gnunet-service-revocation.c:759 | 6455 | #: src/revocation/gnunet-service-revocation.c:780 |
6422 | msgid "SET service crashed, terminating revocation service\n" | 6456 | msgid "SET service crashed, terminating revocation service\n" |
6423 | msgstr "" | 6457 | msgstr "" |
6424 | 6458 | ||
6425 | #: src/revocation/gnunet-service-revocation.c:851 | 6459 | #: src/revocation/gnunet-service-revocation.c:872 |
6426 | #, fuzzy | 6460 | #, fuzzy |
6427 | msgid "Could not open revocation database file!" | 6461 | msgid "Could not open revocation database file!" |
6428 | msgstr "« %s »: Không thể kết nối.\n" | 6462 | msgstr "« %s »: Không thể kết nối.\n" |
@@ -6486,7 +6520,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6486 | msgstr "" | 6520 | msgstr "" |
6487 | 6521 | ||
6488 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6522 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6489 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6523 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6524 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6525 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6490 | #, fuzzy | 6526 | #, fuzzy |
6491 | msgid "Connect to CADET failed\n" | 6527 | msgid "Connect to CADET failed\n" |
6492 | msgstr " Không kết nối được (lỗi ?)\n" | 6528 | msgstr " Không kết nối được (lỗi ?)\n" |
@@ -6760,7 +6796,7 @@ msgstr "" | |||
6760 | "\n" | 6796 | "\n" |
6761 | "Gặp lỗi khi tải lên tập tin: %s" | 6797 | "Gặp lỗi khi tải lên tập tin: %s" |
6762 | 6798 | ||
6763 | #: src/set/gnunet-service-set.c:1531 | 6799 | #: src/set/gnunet-service-set.c:1960 |
6764 | #, fuzzy | 6800 | #, fuzzy |
6765 | msgid "Could not connect to cadet service\n" | 6801 | msgid "Could not connect to cadet service\n" |
6766 | msgstr "Không thể kết nối tới %s:%u: %s\n" | 6802 | msgstr "Không thể kết nối tới %s:%u: %s\n" |
@@ -6886,7 +6922,7 @@ msgstr "In ra thống kê về các thao tác GNUnet." | |||
6886 | msgid "Could not save some persistent statistics\n" | 6922 | msgid "Could not save some persistent statistics\n" |
6887 | msgstr "Không thể tạo miền tên.\n" | 6923 | msgstr "Không thể tạo miền tên.\n" |
6888 | 6924 | ||
6889 | #: src/statistics/statistics_api.c:1090 | 6925 | #: src/statistics/statistics_api.c:1088 |
6890 | msgid "" | 6926 | msgid "" |
6891 | "Failed to receive acknowledgement from statistics service, some statistics " | 6927 | "Failed to receive acknowledgement from statistics service, some statistics " |
6892 | "might have been lost!\n" | 6928 | "might have been lost!\n" |
@@ -8534,7 +8570,7 @@ msgstr "" | |||
8534 | msgid "# sessions allocated" | 8570 | msgid "# sessions allocated" |
8535 | msgstr "# các khoá phiên chạy được chấp nhận" | 8571 | msgstr "# các khoá phiên chạy được chấp nhận" |
8536 | 8572 | ||
8537 | #: src/transport/transport_api.c:812 | 8573 | #: src/transport/transport_api.c:827 |
8538 | #, fuzzy, c-format | 8574 | #, fuzzy, c-format |
8539 | msgid "Received unexpected message of type %u in %s:%u\n" | 8575 | msgid "Received unexpected message of type %u in %s:%u\n" |
8540 | msgstr "Nhận được thông báo bị hỏng từ đồng đẳng « %s » trong %s:%d.\n" | 8576 | msgstr "Nhận được thông báo bị hỏng từ đồng đẳng « %s » trong %s:%d.\n" |
@@ -8578,34 +8614,34 @@ msgstr "" | |||
8578 | msgid "Metadata `%s' failed to deserialize" | 8614 | msgid "Metadata `%s' failed to deserialize" |
8579 | msgstr "" | 8615 | msgstr "" |
8580 | 8616 | ||
8581 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8617 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8582 | #, c-format | 8618 | #, c-format |
8583 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8619 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8584 | msgstr "" | 8620 | msgstr "" |
8585 | 8621 | ||
8586 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8622 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8587 | #, fuzzy, c-format | 8623 | #, fuzzy, c-format |
8588 | msgid "Using `%s' instead\n" | 8624 | msgid "Using `%s' instead\n" |
8589 | msgstr "%s: tùy chọn « %s » là mơ hồ\n" | 8625 | msgstr "%s: tùy chọn « %s » là mơ hồ\n" |
8590 | 8626 | ||
8591 | #: src/util/client.c:362 | 8627 | #: src/util/client.c:367 |
8592 | #, c-format | 8628 | #, c-format |
8593 | msgid "" | 8629 | msgid "" |
8594 | "Could not determine valid hostname and port for service `%s' from " | 8630 | "Could not determine valid hostname and port for service `%s' from " |
8595 | "configuration.\n" | 8631 | "configuration.\n" |
8596 | msgstr "" | 8632 | msgstr "" |
8597 | 8633 | ||
8598 | #: src/util/client.c:370 | 8634 | #: src/util/client.c:375 |
8599 | #, c-format | 8635 | #, c-format |
8600 | msgid "Need a non-empty hostname for service `%s'.\n" | 8636 | msgid "Need a non-empty hostname for service `%s'.\n" |
8601 | msgstr "" | 8637 | msgstr "" |
8602 | 8638 | ||
8603 | #: src/util/client.c:1039 | 8639 | #: src/util/client.c:1044 |
8604 | #, fuzzy, c-format | 8640 | #, fuzzy, c-format |
8605 | msgid "Could not connect to service `%s', configuration broken.\n" | 8641 | msgid "Could not connect to service `%s', configuration broken.\n" |
8606 | msgstr "Không thể kết nối tới %s:%u: %s\n" | 8642 | msgstr "Không thể kết nối tới %s:%u: %s\n" |
8607 | 8643 | ||
8608 | #: src/util/client.c:1051 | 8644 | #: src/util/client.c:1056 |
8609 | #, fuzzy, c-format | 8645 | #, fuzzy, c-format |
8610 | msgid "Failure to transmit request to service `%s'\n" | 8646 | msgid "Failure to transmit request to service `%s'\n" |
8611 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" | 8647 | msgstr "Lỗi đọc danh sách bạn bè từ « %s »\n" |
@@ -8691,12 +8727,12 @@ msgid "" | |||
8691 | "as an environmental variable\n" | 8727 | "as an environmental variable\n" |
8692 | msgstr "" | 8728 | msgstr "" |
8693 | 8729 | ||
8694 | #: src/util/connection.c:424 | 8730 | #: src/util/connection.c:429 |
8695 | #, fuzzy, c-format | 8731 | #, fuzzy, c-format |
8696 | msgid "Access denied to `%s'\n" | 8732 | msgid "Access denied to `%s'\n" |
8697 | msgstr "Không đủ quyền cho « %s ».\n" | 8733 | msgstr "Không đủ quyền cho « %s ».\n" |
8698 | 8734 | ||
8699 | #: src/util/connection.c:441 | 8735 | #: src/util/connection.c:446 |
8700 | #, c-format | 8736 | #, c-format |
8701 | msgid "Accepting connection from `%s': %p\n" | 8737 | msgid "Accepting connection from `%s': %p\n" |
8702 | msgstr "" | 8738 | msgstr "" |
@@ -8763,17 +8799,17 @@ msgstr "Không thể truy cập đến tập tin gnunet-directory « %s »\n" | |||
8763 | msgid "libgcrypt has not the expected version (version %s is required).\n" | 8799 | msgid "libgcrypt has not the expected version (version %s is required).\n" |
8764 | msgstr "libgcrypt không có phiên bản mong đợi (yêu cầu phiên bản %s).\n" | 8800 | msgstr "libgcrypt không có phiên bản mong đợi (yêu cầu phiên bản %s).\n" |
8765 | 8801 | ||
8766 | #: src/util/crypto_rsa.c:981 | 8802 | #: src/util/crypto_rsa.c:999 |
8767 | #, c-format | 8803 | #, c-format |
8768 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8804 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8769 | msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n" | 8805 | msgstr "Lỗi thẩm tra chữ ký RSA tại %s:%d: %s\n" |
8770 | 8806 | ||
8771 | #: src/util/disk.c:1221 | 8807 | #: src/util/disk.c:1226 |
8772 | #, c-format | 8808 | #, c-format |
8773 | msgid "Expected `%s' to be a directory!\n" | 8809 | msgid "Expected `%s' to be a directory!\n" |
8774 | msgstr "Mong đợi « %s » là một thư mục.\n" | 8810 | msgstr "Mong đợi « %s » là một thư mục.\n" |
8775 | 8811 | ||
8776 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8812 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8777 | #, c-format | 8813 | #, c-format |
8778 | msgid "Cannot obtain information about user `%s': %s\n" | 8814 | msgid "Cannot obtain information about user `%s': %s\n" |
8779 | msgstr "Không thể lấy thông tin về người dùng « %s »: %s\n" | 8815 | msgstr "Không thể lấy thông tin về người dùng « %s »: %s\n" |
@@ -9271,6 +9307,16 @@ msgstr "" | |||
9271 | msgid "signal (%d, %p) returned %d.\n" | 9307 | msgid "signal (%d, %p) returned %d.\n" |
9272 | msgstr "" | 9308 | msgstr "" |
9273 | 9309 | ||
9310 | #: src/util/socks.c:592 | ||
9311 | #, c-format | ||
9312 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
9313 | msgstr "" | ||
9314 | |||
9315 | #: src/util/socks.c:605 | ||
9316 | #, c-format | ||
9317 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
9318 | msgstr "" | ||
9319 | |||
9274 | #: src/util/strings.c:146 | 9320 | #: src/util/strings.c:146 |
9275 | msgid "b" | 9321 | msgid "b" |
9276 | msgstr "b" | 9322 | msgstr "b" |
diff --git a/po/zh_CN.po b/po/zh_CN.po index 9dde9684a..27dda6db8 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po | |||
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: gnunet-0.8.1\n" | 8 | "Project-Id-Version: gnunet-0.8.1\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2015-07-24 15:20+0200\n" | 10 | "POT-Creation-Date: 2015-09-06 02:18+0200\n" |
11 | "PO-Revision-Date: 2011-07-09 12:12+0800\n" | 11 | "PO-Revision-Date: 2011-07-09 12:12+0800\n" |
12 | "Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" | 12 | "Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" |
13 | "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" | 13 | "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" |
@@ -351,13 +351,11 @@ msgid "" | |||
351 | "%llu\n" | 351 | "%llu\n" |
352 | msgstr "" | 352 | msgstr "" |
353 | 353 | ||
354 | #: src/ats/gnunet-ats-solver-eval.c:3290 | 354 | #: src/ats/gnunet-ats-solver-eval.c:3290 src/ats-tests/gnunet-solver-eval.c:918 |
355 | #: src/ats-tests/gnunet-solver-eval.c:918 | ||
356 | msgid "solver to use" | 355 | msgid "solver to use" |
357 | msgstr "" | 356 | msgstr "" |
358 | 357 | ||
359 | #: src/ats/gnunet-ats-solver-eval.c:3293 | 358 | #: src/ats/gnunet-ats-solver-eval.c:3293 src/ats-tests/gnunet-solver-eval.c:921 |
360 | #: src/ats-tests/gnunet-solver-eval.c:921 | ||
361 | #: src/ats-tests/gnunet-solver-eval.c:924 | 359 | #: src/ats-tests/gnunet-solver-eval.c:924 |
362 | msgid "experiment to use" | 360 | msgid "experiment to use" |
363 | msgstr "" | 361 | msgstr "" |
@@ -642,58 +640,58 @@ msgstr "" | |||
642 | msgid "Print information about ATS state" | 640 | msgid "Print information about ATS state" |
643 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 641 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
644 | 642 | ||
645 | #: src/cadet/gnunet-cadet.c:376 | 643 | #: src/cadet/gnunet-cadet.c:458 |
646 | #, fuzzy, c-format | 644 | #, fuzzy, c-format |
647 | msgid "Invalid target `%s'\n" | 645 | msgid "Invalid target `%s'\n" |
648 | msgstr "“%s”的参数无效。\n" | 646 | msgstr "“%s”的参数无效。\n" |
649 | 647 | ||
650 | #: src/cadet/gnunet-cadet.c:643 | 648 | #: src/cadet/gnunet-cadet.c:735 |
651 | #, fuzzy, c-format | 649 | #, fuzzy, c-format |
652 | msgid "Invalid peer ID `%s'\n" | 650 | msgid "Invalid peer ID `%s'\n" |
653 | msgstr "无效条目。\n" | 651 | msgstr "无效条目。\n" |
654 | 652 | ||
655 | #: src/cadet/gnunet-cadet.c:686 | 653 | #: src/cadet/gnunet-cadet.c:778 |
656 | #, fuzzy, c-format | 654 | #, fuzzy, c-format |
657 | msgid "Invalid tunnel owner `%s'\n" | 655 | msgid "Invalid tunnel owner `%s'\n" |
658 | msgstr "IP 格式无效:“%s”\n" | 656 | msgstr "IP 格式无效:“%s”\n" |
659 | 657 | ||
660 | #: src/cadet/gnunet-cadet.c:752 | 658 | #: src/cadet/gnunet-cadet.c:844 |
661 | msgid "You must NOT give a TARGETwhen using 'request all' options\n" | 659 | msgid "You must NOT give a TARGET when using 'request all' options\n" |
662 | msgstr "" | 660 | msgstr "" |
663 | 661 | ||
664 | #: src/cadet/gnunet-cadet.c:849 | 662 | #: src/cadet/gnunet-cadet.c:941 |
665 | #, fuzzy | 663 | #, fuzzy |
666 | msgid "provide information about a particular connection" | 664 | msgid "provide information about a particular connection" |
667 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 665 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
668 | 666 | ||
669 | #: src/cadet/gnunet-cadet.c:852 | 667 | #: src/cadet/gnunet-cadet.c:944 |
670 | msgid "activate echo mode" | 668 | msgid "activate echo mode" |
671 | msgstr "" | 669 | msgstr "" |
672 | 670 | ||
673 | #: src/cadet/gnunet-cadet.c:855 | 671 | #: src/cadet/gnunet-cadet.c:947 |
674 | msgid "dump debug information to STDERR" | 672 | msgid "dump debug information to STDERR" |
675 | msgstr "" | 673 | msgstr "" |
676 | 674 | ||
677 | #: src/cadet/gnunet-cadet.c:861 | 675 | #: src/cadet/gnunet-cadet.c:953 |
678 | msgid "port to listen to (default; 0)" | 676 | msgid "port to listen to (default; 0)" |
679 | msgstr "" | 677 | msgstr "" |
680 | 678 | ||
681 | #: src/cadet/gnunet-cadet.c:864 | 679 | #: src/cadet/gnunet-cadet.c:956 |
682 | #, fuzzy | 680 | #, fuzzy |
683 | msgid "provide information about a patricular peer" | 681 | msgid "provide information about a patricular peer" |
684 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 682 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
685 | 683 | ||
686 | #: src/cadet/gnunet-cadet.c:867 | 684 | #: src/cadet/gnunet-cadet.c:959 |
687 | #, fuzzy | 685 | #, fuzzy |
688 | msgid "provide information about all peers" | 686 | msgid "provide information about all peers" |
689 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 687 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
690 | 688 | ||
691 | #: src/cadet/gnunet-cadet.c:870 | 689 | #: src/cadet/gnunet-cadet.c:962 |
692 | #, fuzzy | 690 | #, fuzzy |
693 | msgid "provide information about a particular tunnel" | 691 | msgid "provide information about a particular tunnel" |
694 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 692 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
695 | 693 | ||
696 | #: src/cadet/gnunet-cadet.c:873 | 694 | #: src/cadet/gnunet-cadet.c:965 |
697 | #, fuzzy | 695 | #, fuzzy |
698 | msgid "provide information about all tunnels" | 696 | msgid "provide information about all tunnels" |
699 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 697 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
@@ -1403,20 +1401,20 @@ msgstr "" | |||
1403 | msgid "# PAYLOAD dropped (out of order)" | 1401 | msgid "# PAYLOAD dropped (out of order)" |
1404 | msgstr "" | 1402 | msgstr "" |
1405 | 1403 | ||
1406 | #: src/core/gnunet-service-core_neighbours.c:177 | 1404 | #: src/core/gnunet-service-core_neighbours.c:178 |
1407 | msgid "# sessions terminated by transport disconnect" | 1405 | msgid "# sessions terminated by transport disconnect" |
1408 | msgstr "" | 1406 | msgstr "" |
1409 | 1407 | ||
1410 | #: src/core/gnunet-service-core_neighbours.c:193 | 1408 | #: src/core/gnunet-service-core_neighbours.c:194 |
1411 | #: src/core/gnunet-service-core_neighbours.c:355 | 1409 | #: src/core/gnunet-service-core_neighbours.c:362 |
1412 | msgid "# neighbour entries allocated" | 1410 | msgid "# neighbour entries allocated" |
1413 | msgstr "" | 1411 | msgstr "" |
1414 | 1412 | ||
1415 | #: src/core/gnunet-service-core_neighbours.c:264 | 1413 | #: src/core/gnunet-service-core_neighbours.c:270 |
1416 | msgid "# encrypted bytes given to transport" | 1414 | msgid "# encrypted bytes given to transport" |
1417 | msgstr "" | 1415 | msgstr "" |
1418 | 1416 | ||
1419 | #: src/core/gnunet-service-core_neighbours.c:438 | 1417 | #: src/core/gnunet-service-core_neighbours.c:448 |
1420 | #, c-format | 1418 | #, c-format |
1421 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" | 1419 | msgid "Unsupported message of type %u (%u bytes) received from peer `%s'\n" |
1422 | msgstr "" | 1420 | msgstr "" |
@@ -1461,7 +1459,7 @@ msgid "# updates to my type map" | |||
1461 | msgstr "" | 1459 | msgstr "" |
1462 | 1460 | ||
1463 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 | 1461 | #: src/datacache/datacache.c:119 src/datacache/datacache.c:294 |
1464 | #: src/datastore/gnunet-service-datastore.c:853 | 1462 | #: src/datastore/gnunet-service-datastore.c:866 |
1465 | msgid "# bytes stored" | 1463 | msgid "# bytes stored" |
1466 | msgstr "" | 1464 | msgstr "" |
1467 | 1465 | ||
@@ -1535,83 +1533,83 @@ msgstr "" | |||
1535 | msgid "Failed to transmit request to drop database.\n" | 1533 | msgid "Failed to transmit request to drop database.\n" |
1536 | msgstr "" | 1534 | msgstr "" |
1537 | 1535 | ||
1538 | #: src/datastore/datastore_api.c:394 | 1536 | #: src/datastore/datastore_api.c:395 |
1539 | msgid "# queue entry timeouts" | 1537 | msgid "# queue entry timeouts" |
1540 | msgstr "" | 1538 | msgstr "" |
1541 | 1539 | ||
1542 | #: src/datastore/datastore_api.c:443 | 1540 | #: src/datastore/datastore_api.c:450 |
1543 | msgid "# queue overflows" | 1541 | msgid "# queue overflows" |
1544 | msgstr "" | 1542 | msgstr "" |
1545 | 1543 | ||
1546 | #: src/datastore/datastore_api.c:471 | 1544 | #: src/datastore/datastore_api.c:478 |
1547 | msgid "# queue entries created" | 1545 | msgid "# queue entries created" |
1548 | msgstr "" | 1546 | msgstr "" |
1549 | 1547 | ||
1550 | #: src/datastore/datastore_api.c:491 | 1548 | #: src/datastore/datastore_api.c:498 |
1551 | msgid "# Requests dropped from datastore queue" | 1549 | msgid "# Requests dropped from datastore queue" |
1552 | msgstr "" | 1550 | msgstr "" |
1553 | 1551 | ||
1554 | #: src/datastore/datastore_api.c:533 | 1552 | #: src/datastore/datastore_api.c:540 |
1555 | msgid "# datastore connections (re)created" | 1553 | msgid "# datastore connections (re)created" |
1556 | msgstr "" | 1554 | msgstr "" |
1557 | 1555 | ||
1558 | #: src/datastore/datastore_api.c:621 | 1556 | #: src/datastore/datastore_api.c:628 |
1559 | msgid "# transmission request failures" | 1557 | msgid "# transmission request failures" |
1560 | msgstr "" | 1558 | msgstr "" |
1561 | 1559 | ||
1562 | #: src/datastore/datastore_api.c:645 | 1560 | #: src/datastore/datastore_api.c:652 |
1563 | msgid "# bytes sent to datastore" | 1561 | msgid "# bytes sent to datastore" |
1564 | msgstr "" | 1562 | msgstr "" |
1565 | 1563 | ||
1566 | #: src/datastore/datastore_api.c:787 | 1564 | #: src/datastore/datastore_api.c:794 |
1567 | msgid "Failed to receive status response from database." | 1565 | msgid "Failed to receive status response from database." |
1568 | msgstr "" | 1566 | msgstr "" |
1569 | 1567 | ||
1570 | #: src/datastore/datastore_api.c:801 | 1568 | #: src/datastore/datastore_api.c:808 |
1571 | msgid "Error reading response from datastore service" | 1569 | msgid "Error reading response from datastore service" |
1572 | msgstr "" | 1570 | msgstr "" |
1573 | 1571 | ||
1574 | #: src/datastore/datastore_api.c:813 src/datastore/datastore_api.c:819 | 1572 | #: src/datastore/datastore_api.c:820 src/datastore/datastore_api.c:826 |
1575 | msgid "Invalid error message received from datastore service" | 1573 | msgid "Invalid error message received from datastore service" |
1576 | msgstr "" | 1574 | msgstr "" |
1577 | 1575 | ||
1578 | #: src/datastore/datastore_api.c:823 | 1576 | #: src/datastore/datastore_api.c:830 |
1579 | msgid "# status messages received" | 1577 | msgid "# status messages received" |
1580 | msgstr "" | 1578 | msgstr "" |
1581 | 1579 | ||
1582 | #: src/datastore/datastore_api.c:893 | 1580 | #: src/datastore/datastore_api.c:909 |
1583 | msgid "# PUT requests executed" | 1581 | msgid "# PUT requests executed" |
1584 | msgstr "" | 1582 | msgstr "" |
1585 | 1583 | ||
1586 | #: src/datastore/datastore_api.c:959 | 1584 | #: src/datastore/datastore_api.c:975 |
1587 | msgid "# RESERVE requests executed" | 1585 | msgid "# RESERVE requests executed" |
1588 | msgstr "" | 1586 | msgstr "" |
1589 | 1587 | ||
1590 | #: src/datastore/datastore_api.c:1020 | 1588 | #: src/datastore/datastore_api.c:1036 |
1591 | msgid "# RELEASE RESERVE requests executed" | 1589 | msgid "# RELEASE RESERVE requests executed" |
1592 | msgstr "" | 1590 | msgstr "" |
1593 | 1591 | ||
1594 | #: src/datastore/datastore_api.c:1080 | 1592 | #: src/datastore/datastore_api.c:1096 |
1595 | msgid "# UPDATE requests executed" | 1593 | msgid "# UPDATE requests executed" |
1596 | msgstr "" | 1594 | msgstr "" |
1597 | 1595 | ||
1598 | #: src/datastore/datastore_api.c:1144 | 1596 | #: src/datastore/datastore_api.c:1160 |
1599 | msgid "# REMOVE requests executed" | 1597 | msgid "# REMOVE requests executed" |
1600 | msgstr "" | 1598 | msgstr "" |
1601 | 1599 | ||
1602 | #: src/datastore/datastore_api.c:1248 | 1600 | #: src/datastore/datastore_api.c:1264 |
1603 | msgid "# Results received" | 1601 | msgid "# Results received" |
1604 | msgstr "" | 1602 | msgstr "" |
1605 | 1603 | ||
1606 | #: src/datastore/datastore_api.c:1315 | 1604 | #: src/datastore/datastore_api.c:1331 |
1607 | msgid "# GET REPLICATION requests executed" | 1605 | msgid "# GET REPLICATION requests executed" |
1608 | msgstr "" | 1606 | msgstr "" |
1609 | 1607 | ||
1610 | #: src/datastore/datastore_api.c:1378 | 1608 | #: src/datastore/datastore_api.c:1394 |
1611 | msgid "# GET ZERO ANONYMITY requests executed" | 1609 | msgid "# GET ZERO ANONYMITY requests executed" |
1612 | msgstr "" | 1610 | msgstr "" |
1613 | 1611 | ||
1614 | #: src/datastore/datastore_api.c:1447 | 1612 | #: src/datastore/datastore_api.c:1463 |
1615 | msgid "# GET requests executed" | 1613 | msgid "# GET requests executed" |
1616 | msgstr "" | 1614 | msgstr "" |
1617 | 1615 | ||
@@ -1636,165 +1634,165 @@ msgstr "" | |||
1636 | msgid "Manipulate GNUnet datastore" | 1634 | msgid "Manipulate GNUnet datastore" |
1637 | msgstr "更改配置文件中的一个值" | 1635 | msgstr "更改配置文件中的一个值" |
1638 | 1636 | ||
1639 | #: src/datastore/gnunet-service-datastore.c:365 | 1637 | #: src/datastore/gnunet-service-datastore.c:372 |
1640 | msgid "# bytes expired" | 1638 | msgid "# bytes expired" |
1641 | msgstr "" | 1639 | msgstr "" |
1642 | 1640 | ||
1643 | #: src/datastore/gnunet-service-datastore.c:439 | 1641 | #: src/datastore/gnunet-service-datastore.c:447 |
1644 | msgid "# bytes purged (low-priority)" | 1642 | msgid "# bytes purged (low-priority)" |
1645 | msgstr "" | 1643 | msgstr "" |
1646 | 1644 | ||
1647 | #: src/datastore/gnunet-service-datastore.c:497 | 1645 | #: src/datastore/gnunet-service-datastore.c:505 |
1648 | #: src/gns/gnunet-gns-helper-service-w32.c:223 | 1646 | #: src/gns/gnunet-gns-helper-service-w32.c:223 |
1649 | msgid "Transmission to client failed!\n" | 1647 | msgid "Transmission to client failed!\n" |
1650 | msgstr "" | 1648 | msgstr "" |
1651 | 1649 | ||
1652 | #: src/datastore/gnunet-service-datastore.c:528 | 1650 | #: src/datastore/gnunet-service-datastore.c:536 |
1653 | #: src/gns/gnunet-gns-helper-service-w32.c:262 | 1651 | #: src/gns/gnunet-gns-helper-service-w32.c:262 |
1654 | msgid "Shutdown in progress, aborting transmission.\n" | 1652 | msgid "Shutdown in progress, aborting transmission.\n" |
1655 | msgstr "" | 1653 | msgstr "" |
1656 | 1654 | ||
1657 | #: src/datastore/gnunet-service-datastore.c:643 | 1655 | #: src/datastore/gnunet-service-datastore.c:652 |
1658 | msgid "# results found" | 1656 | msgid "# results found" |
1659 | msgstr "" | 1657 | msgstr "" |
1660 | 1658 | ||
1661 | #: src/datastore/gnunet-service-datastore.c:686 | 1659 | #: src/datastore/gnunet-service-datastore.c:696 |
1662 | #, c-format | 1660 | #, c-format |
1663 | msgid "" | 1661 | msgid "" |
1664 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " | 1662 | "Insufficient space (%llu bytes are available) to satisfy `%s' request for " |
1665 | "%llu bytes\n" | 1663 | "%llu bytes\n" |
1666 | msgstr "" | 1664 | msgstr "" |
1667 | 1665 | ||
1668 | #: src/datastore/gnunet-service-datastore.c:697 | 1666 | #: src/datastore/gnunet-service-datastore.c:707 |
1669 | #, c-format | 1667 | #, c-format |
1670 | msgid "" | 1668 | msgid "" |
1671 | "The requested amount (%llu bytes) is larger than the cache size (%llu " | 1669 | "The requested amount (%llu bytes) is larger than the cache size (%llu " |
1672 | "bytes)\n" | 1670 | "bytes)\n" |
1673 | msgstr "" | 1671 | msgstr "" |
1674 | 1672 | ||
1675 | #: src/datastore/gnunet-service-datastore.c:701 | 1673 | #: src/datastore/gnunet-service-datastore.c:711 |
1676 | msgid "" | 1674 | msgid "" |
1677 | "Insufficient space to satisfy request and requested amount is larger than " | 1675 | "Insufficient space to satisfy request and requested amount is larger than " |
1678 | "cache size" | 1676 | "cache size" |
1679 | msgstr "" | 1677 | msgstr "" |
1680 | 1678 | ||
1681 | #: src/datastore/gnunet-service-datastore.c:707 | 1679 | #: src/datastore/gnunet-service-datastore.c:717 |
1682 | msgid "Insufficient space to satisfy request" | 1680 | msgid "Insufficient space to satisfy request" |
1683 | msgstr "" | 1681 | msgstr "" |
1684 | 1682 | ||
1685 | #: src/datastore/gnunet-service-datastore.c:712 | 1683 | #: src/datastore/gnunet-service-datastore.c:723 |
1686 | #: src/datastore/gnunet-service-datastore.c:767 | 1684 | #: src/datastore/gnunet-service-datastore.c:779 |
1687 | #: src/datastore/gnunet-service-datastore.c:1019 | 1685 | #: src/datastore/gnunet-service-datastore.c:1035 |
1688 | #: src/datastore/gnunet-service-datastore.c:1597 | 1686 | #: src/datastore/gnunet-service-datastore.c:1630 |
1689 | msgid "# reserved" | 1687 | msgid "# reserved" |
1690 | msgstr "" | 1688 | msgstr "" |
1691 | 1689 | ||
1692 | #: src/datastore/gnunet-service-datastore.c:780 | 1690 | #: src/datastore/gnunet-service-datastore.c:793 |
1693 | msgid "Could not find matching reservation" | 1691 | msgid "Could not find matching reservation" |
1694 | msgstr "" | 1692 | msgstr "" |
1695 | 1693 | ||
1696 | #: src/datastore/gnunet-service-datastore.c:865 | 1694 | #: src/datastore/gnunet-service-datastore.c:879 |
1697 | #, c-format | 1695 | #, c-format |
1698 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" | 1696 | msgid "Need %llu bytes more space (%llu allowed, using %llu)\n" |
1699 | msgstr "" | 1697 | msgstr "" |
1700 | 1698 | ||
1701 | #: src/datastore/gnunet-service-datastore.c:1071 | 1699 | #: src/datastore/gnunet-service-datastore.c:1088 |
1702 | msgid "# GET requests received" | 1700 | msgid "# GET requests received" |
1703 | msgstr "" | 1701 | msgstr "" |
1704 | 1702 | ||
1705 | #: src/datastore/gnunet-service-datastore.c:1083 | 1703 | #: src/datastore/gnunet-service-datastore.c:1101 |
1706 | msgid "# requests filtered by bloomfilter" | 1704 | msgid "# requests filtered by bloomfilter" |
1707 | msgstr "" | 1705 | msgstr "" |
1708 | 1706 | ||
1709 | #: src/datastore/gnunet-service-datastore.c:1121 | 1707 | #: src/datastore/gnunet-service-datastore.c:1141 |
1710 | msgid "# UPDATE requests received" | 1708 | msgid "# UPDATE requests received" |
1711 | msgstr "" | 1709 | msgstr "" |
1712 | 1710 | ||
1713 | #: src/datastore/gnunet-service-datastore.c:1149 | 1711 | #: src/datastore/gnunet-service-datastore.c:1170 |
1714 | msgid "# GET REPLICATION requests received" | 1712 | msgid "# GET REPLICATION requests received" |
1715 | msgstr "" | 1713 | msgstr "" |
1716 | 1714 | ||
1717 | #: src/datastore/gnunet-service-datastore.c:1182 | 1715 | #: src/datastore/gnunet-service-datastore.c:1204 |
1718 | msgid "# GET ZERO ANONYMITY requests received" | 1716 | msgid "# GET ZERO ANONYMITY requests received" |
1719 | msgstr "" | 1717 | msgstr "" |
1720 | 1718 | ||
1721 | #: src/datastore/gnunet-service-datastore.c:1207 | 1719 | #: src/datastore/gnunet-service-datastore.c:1233 |
1722 | msgid "Content not found" | 1720 | msgid "Content not found" |
1723 | msgstr "" | 1721 | msgstr "" |
1724 | 1722 | ||
1725 | #: src/datastore/gnunet-service-datastore.c:1215 | 1723 | #: src/datastore/gnunet-service-datastore.c:1244 |
1726 | msgid "# bytes removed (explicit request)" | 1724 | msgid "# bytes removed (explicit request)" |
1727 | msgstr "" | 1725 | msgstr "" |
1728 | 1726 | ||
1729 | #: src/datastore/gnunet-service-datastore.c:1247 | 1727 | #: src/datastore/gnunet-service-datastore.c:1277 |
1730 | msgid "# REMOVE requests received" | 1728 | msgid "# REMOVE requests received" |
1731 | msgstr "" | 1729 | msgstr "" |
1732 | 1730 | ||
1733 | #: src/datastore/gnunet-service-datastore.c:1291 | 1731 | #: src/datastore/gnunet-service-datastore.c:1321 |
1734 | #, c-format | 1732 | #, c-format |
1735 | msgid "" | 1733 | msgid "" |
1736 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" | 1734 | "Datastore payload must have been inaccurate (%lld < %lld). Recomputing it.\n" |
1737 | msgstr "" | 1735 | msgstr "" |
1738 | 1736 | ||
1739 | #: src/datastore/gnunet-service-datastore.c:1296 | 1737 | #: src/datastore/gnunet-service-datastore.c:1326 |
1740 | #, c-format | 1738 | #, c-format |
1741 | msgid "New payload: %lld\n" | 1739 | msgid "New payload: %lld\n" |
1742 | msgstr "" | 1740 | msgstr "" |
1743 | 1741 | ||
1744 | #: src/datastore/gnunet-service-datastore.c:1349 | 1742 | #: src/datastore/gnunet-service-datastore.c:1379 |
1745 | #, c-format | 1743 | #, c-format |
1746 | msgid "Loading `%s' datastore plugin\n" | 1744 | msgid "Loading `%s' datastore plugin\n" |
1747 | msgstr "" | 1745 | msgstr "" |
1748 | 1746 | ||
1749 | #: src/datastore/gnunet-service-datastore.c:1360 | 1747 | #: src/datastore/gnunet-service-datastore.c:1390 |
1750 | #, fuzzy, c-format | 1748 | #, fuzzy, c-format |
1751 | msgid "Failed to load datastore plugin for `%s'\n" | 1749 | msgid "Failed to load datastore plugin for `%s'\n" |
1752 | msgstr "解析配置文件“%s”失败\n" | 1750 | msgstr "解析配置文件“%s”失败\n" |
1753 | 1751 | ||
1754 | #: src/datastore/gnunet-service-datastore.c:1429 | 1752 | #: src/datastore/gnunet-service-datastore.c:1459 |
1755 | #: src/datastore/gnunet-service-datastore.c:1490 | 1753 | #: src/datastore/gnunet-service-datastore.c:1522 |
1756 | msgid "Bloomfilter construction complete.\n" | 1754 | msgid "Bloomfilter construction complete.\n" |
1757 | msgstr "" | 1755 | msgstr "" |
1758 | 1756 | ||
1759 | #: src/datastore/gnunet-service-datastore.c:1477 | 1757 | #: src/datastore/gnunet-service-datastore.c:1509 |
1760 | msgid "Rebuilding bloomfilter. Please be patient.\n" | 1758 | msgid "Rebuilding bloomfilter. Please be patient.\n" |
1761 | msgstr "" | 1759 | msgstr "" |
1762 | 1760 | ||
1763 | #: src/datastore/gnunet-service-datastore.c:1487 | 1761 | #: src/datastore/gnunet-service-datastore.c:1519 |
1764 | msgid "Plugin does not support get_keys function. Please fix!\n" | 1762 | msgid "Plugin does not support get_keys function. Please fix!\n" |
1765 | msgstr "" | 1763 | msgstr "" |
1766 | 1764 | ||
1767 | #: src/datastore/gnunet-service-datastore.c:1625 | 1765 | #: src/datastore/gnunet-service-datastore.c:1661 |
1768 | #: src/datastore/gnunet-service-datastore.c:1636 | 1766 | #: src/datastore/gnunet-service-datastore.c:1673 |
1769 | #, c-format | 1767 | #, c-format |
1770 | msgid "No `%s' specified for `%s' in configuration!\n" | 1768 | msgid "No `%s' specified for `%s' in configuration!\n" |
1771 | msgstr "" | 1769 | msgstr "" |
1772 | 1770 | ||
1773 | #: src/datastore/gnunet-service-datastore.c:1630 | 1771 | #: src/datastore/gnunet-service-datastore.c:1667 |
1774 | #, c-format | 1772 | #, c-format |
1775 | msgid "# bytes used in file-sharing datastore `%s'" | 1773 | msgid "# bytes used in file-sharing datastore `%s'" |
1776 | msgstr "" | 1774 | msgstr "" |
1777 | 1775 | ||
1778 | #: src/datastore/gnunet-service-datastore.c:1641 | 1776 | #: src/datastore/gnunet-service-datastore.c:1679 |
1779 | msgid "# quota" | 1777 | msgid "# quota" |
1780 | msgstr "" | 1778 | msgstr "" |
1781 | 1779 | ||
1782 | #: src/datastore/gnunet-service-datastore.c:1643 | 1780 | #: src/datastore/gnunet-service-datastore.c:1681 |
1783 | msgid "# cache size" | 1781 | msgid "# cache size" |
1784 | msgstr "" | 1782 | msgstr "" |
1785 | 1783 | ||
1786 | #: src/datastore/gnunet-service-datastore.c:1656 | 1784 | #: src/datastore/gnunet-service-datastore.c:1696 |
1787 | #, c-format | 1785 | #, c-format |
1788 | msgid "Could not use specified filename `%s' for bloomfilter.\n" | 1786 | msgid "Could not use specified filename `%s' for bloomfilter.\n" |
1789 | msgstr "" | 1787 | msgstr "" |
1790 | 1788 | ||
1791 | #: src/datastore/gnunet-service-datastore.c:1674 | 1789 | #: src/datastore/gnunet-service-datastore.c:1714 |
1792 | #: src/datastore/gnunet-service-datastore.c:1690 | 1790 | #: src/datastore/gnunet-service-datastore.c:1730 |
1793 | #, fuzzy, c-format | 1791 | #, fuzzy, c-format |
1794 | msgid "Failed to remove bogus bloomfilter file `%s'\n" | 1792 | msgid "Failed to remove bogus bloomfilter file `%s'\n" |
1795 | msgstr "解析配置文件“%s”失败\n" | 1793 | msgstr "解析配置文件“%s”失败\n" |
1796 | 1794 | ||
1797 | #: src/datastore/gnunet-service-datastore.c:1720 | 1795 | #: src/datastore/gnunet-service-datastore.c:1760 |
1798 | #, fuzzy | 1796 | #, fuzzy |
1799 | msgid "Failed to initialize bloomfilter.\n" | 1797 | msgid "Failed to initialize bloomfilter.\n" |
1800 | msgstr "初始化“%s”服务失败。\n" | 1798 | msgstr "初始化“%s”服务失败。\n" |
@@ -1855,7 +1853,7 @@ msgstr "“%s”于 %s:%d 处失败,错误为:%s\n" | |||
1855 | #: src/namecache/plugin_namecache_sqlite.c:193 | 1853 | #: src/namecache/plugin_namecache_sqlite.c:193 |
1856 | #: src/namestore/plugin_namestore_sqlite.c:204 | 1854 | #: src/namestore/plugin_namestore_sqlite.c:204 |
1857 | #: src/peerstore/plugin_peerstore_sqlite.c:479 | 1855 | #: src/peerstore/plugin_peerstore_sqlite.c:479 |
1858 | #: src/psycstore/plugin_psycstore_sqlite.c:324 | 1856 | #: src/psycstore/plugin_psycstore_sqlite.c:325 |
1859 | #, c-format | 1857 | #, c-format |
1860 | msgid "Unable to initialize SQLite: %s.\n" | 1858 | msgid "Unable to initialize SQLite: %s.\n" |
1861 | msgstr "无法初始化 SQLite:%s。\n" | 1859 | msgstr "无法初始化 SQLite:%s。\n" |
@@ -1934,9 +1932,9 @@ msgid "use DHT's demultiplex everywhere option" | |||
1934 | msgstr "" | 1932 | msgstr "" |
1935 | 1933 | ||
1936 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 | 1934 | #: src/dht/gnunet-dht-get.c:204 src/dht/gnunet-dht-monitor.c:271 |
1937 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:755 | 1935 | #: src/dht/gnunet-dht-put.c:213 src/fs/gnunet-auto-share.c:794 |
1938 | #: src/fs/gnunet-download.c:328 src/fs/gnunet-publish.c:961 | 1936 | #: src/fs/gnunet-download.c:327 src/fs/gnunet-publish.c:954 |
1939 | #: src/fs/gnunet-search.c:307 src/fs/gnunet-unindex.c:168 | 1937 | #: src/fs/gnunet-search.c:306 src/fs/gnunet-unindex.c:167 |
1940 | #: src/nse/gnunet-nse-profiler.c:873 | 1938 | #: src/nse/gnunet-nse-profiler.c:873 |
1941 | msgid "be verbose (print progress information)" | 1939 | msgid "be verbose (print progress information)" |
1942 | msgstr "" | 1940 | msgstr "" |
@@ -1953,8 +1951,7 @@ msgstr "" | |||
1953 | msgid "Prints all packets that go through the DHT." | 1951 | msgid "Prints all packets that go through the DHT." |
1954 | msgstr "" | 1952 | msgstr "" |
1955 | 1953 | ||
1956 | #: src/dht/gnunet_dht_profiler.c:1393 | 1954 | #: src/dht/gnunet_dht_profiler.c:1393 src/testbed/gnunet-testbed-profiler.c:267 |
1957 | #: src/testbed/gnunet-testbed-profiler.c:267 | ||
1958 | #, fuzzy, c-format | 1955 | #, fuzzy, c-format |
1959 | msgid "Exiting as the number of peers is %u\n" | 1956 | msgid "Exiting as the number of peers is %u\n" |
1960 | msgstr "增加 TCP/IP 的最大连接数" | 1957 | msgstr "增加 TCP/IP 的最大连接数" |
@@ -2169,8 +2166,7 @@ msgstr "" | |||
2169 | msgid "# GET requests given to datacache" | 2166 | msgid "# GET requests given to datacache" |
2170 | msgstr "" | 2167 | msgstr "" |
2171 | 2168 | ||
2172 | #: src/dht/gnunet-service-dht_hello.c:84 | 2169 | #: src/dht/gnunet-service-dht_hello.c:84 src/dht/gnunet-service-xdht_hello.c:82 |
2173 | #: src/dht/gnunet-service-xdht_hello.c:82 | ||
2174 | msgid "# HELLOs obtained from peerinfo" | 2170 | msgid "# HELLOs obtained from peerinfo" |
2175 | msgstr "" | 2171 | msgstr "" |
2176 | 2172 | ||
@@ -3002,72 +2998,72 @@ msgstr "运行 %s失败:%s %d\n" | |||
3002 | msgid "Failed to connect to datastore." | 2998 | msgid "Failed to connect to datastore." |
3003 | msgstr "" | 2999 | msgstr "" |
3004 | 3000 | ||
3005 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:443 | 3001 | #: src/fs/fs_publish.c:127 src/fs/fs_publish.c:441 |
3006 | #, c-format | 3002 | #, c-format |
3007 | msgid "Publishing failed: %s" | 3003 | msgid "Publishing failed: %s" |
3008 | msgstr "" | 3004 | msgstr "" |
3009 | 3005 | ||
3010 | #: src/fs/fs_publish.c:709 src/fs/fs_publish.c:726 src/fs/fs_publish.c:765 | 3006 | #: src/fs/fs_publish.c:707 src/fs/fs_publish.c:724 src/fs/fs_publish.c:763 |
3011 | #: src/fs/fs_publish.c:786 src/fs/fs_publish.c:810 src/fs/fs_publish.c:1060 | 3007 | #: src/fs/fs_publish.c:784 src/fs/fs_publish.c:808 src/fs/fs_publish.c:1058 |
3012 | #, c-format | 3008 | #, c-format |
3013 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" | 3009 | msgid "Can not index file `%s': %s. Will try to insert instead.\n" |
3014 | msgstr "" | 3010 | msgstr "" |
3015 | 3011 | ||
3016 | #: src/fs/fs_publish.c:711 | 3012 | #: src/fs/fs_publish.c:709 |
3017 | msgid "timeout on index-start request to `fs' service" | 3013 | msgid "timeout on index-start request to `fs' service" |
3018 | msgstr "" | 3014 | msgstr "" |
3019 | 3015 | ||
3020 | #: src/fs/fs_publish.c:723 | 3016 | #: src/fs/fs_publish.c:721 |
3021 | #, fuzzy | 3017 | #, fuzzy |
3022 | msgid "unknown error" | 3018 | msgid "unknown error" |
3023 | msgstr "未知错误" | 3019 | msgstr "未知错误" |
3024 | 3020 | ||
3025 | #: src/fs/fs_publish.c:767 | 3021 | #: src/fs/fs_publish.c:765 |
3026 | msgid "failed to compute hash" | 3022 | msgid "failed to compute hash" |
3027 | msgstr "" | 3023 | msgstr "" |
3028 | 3024 | ||
3029 | #: src/fs/fs_publish.c:787 | 3025 | #: src/fs/fs_publish.c:785 |
3030 | msgid "filename too long" | 3026 | msgid "filename too long" |
3031 | msgstr "" | 3027 | msgstr "" |
3032 | 3028 | ||
3033 | #: src/fs/fs_publish.c:812 | 3029 | #: src/fs/fs_publish.c:810 |
3034 | msgid "could not connect to `fs' service" | 3030 | msgid "could not connect to `fs' service" |
3035 | msgstr "" | 3031 | msgstr "" |
3036 | 3032 | ||
3037 | #: src/fs/fs_publish.c:835 | 3033 | #: src/fs/fs_publish.c:833 |
3038 | #, fuzzy, c-format | 3034 | #, fuzzy, c-format |
3039 | msgid "Failed to get file identifiers for `%s'\n" | 3035 | msgid "Failed to get file identifiers for `%s'\n" |
3040 | msgstr "解析配置文件“%s”失败\n" | 3036 | msgstr "解析配置文件“%s”失败\n" |
3041 | 3037 | ||
3042 | #: src/fs/fs_publish.c:899 src/fs/fs_publish.c:940 | 3038 | #: src/fs/fs_publish.c:897 src/fs/fs_publish.c:938 |
3043 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" | 3039 | msgid "Can not create LOC URI. Will continue with CHK instead.\n" |
3044 | msgstr "" | 3040 | msgstr "" |
3045 | 3041 | ||
3046 | #: src/fs/fs_publish.c:1014 | 3042 | #: src/fs/fs_publish.c:1012 |
3047 | #, c-format | 3043 | #, c-format |
3048 | msgid "Recursive upload failed at `%s': %s" | 3044 | msgid "Recursive upload failed at `%s': %s" |
3049 | msgstr "" | 3045 | msgstr "" |
3050 | 3046 | ||
3051 | #: src/fs/fs_publish.c:1022 | 3047 | #: src/fs/fs_publish.c:1020 |
3052 | #, c-format | 3048 | #, c-format |
3053 | msgid "Recursive upload failed: %s" | 3049 | msgid "Recursive upload failed: %s" |
3054 | msgstr "" | 3050 | msgstr "" |
3055 | 3051 | ||
3056 | #: src/fs/fs_publish.c:1062 | 3052 | #: src/fs/fs_publish.c:1060 |
3057 | msgid "needs to be an actual file" | 3053 | msgid "needs to be an actual file" |
3058 | msgstr "" | 3054 | msgstr "" |
3059 | 3055 | ||
3060 | #: src/fs/fs_publish.c:1301 | 3056 | #: src/fs/fs_publish.c:1299 |
3061 | #, fuzzy, c-format | 3057 | #, fuzzy, c-format |
3062 | msgid "Datastore failure: %s" | 3058 | msgid "Datastore failure: %s" |
3063 | msgstr "“%s”已连接到“%s”。\n" | 3059 | msgstr "“%s”已连接到“%s”。\n" |
3064 | 3060 | ||
3065 | #: src/fs/fs_publish.c:1392 | 3061 | #: src/fs/fs_publish.c:1390 |
3066 | #, c-format | 3062 | #, c-format |
3067 | msgid "Reserving space for %u entries and %llu bytes for publication\n" | 3063 | msgid "Reserving space for %u entries and %llu bytes for publication\n" |
3068 | msgstr "" | 3064 | msgstr "" |
3069 | 3065 | ||
3070 | #: src/fs/fs_publish_ksk.c:219 | 3066 | #: src/fs/fs_publish_ksk.c:224 |
3071 | msgid "Could not connect to datastore." | 3067 | msgid "Could not connect to datastore." |
3072 | msgstr "" | 3068 | msgstr "" |
3073 | 3069 | ||
@@ -3242,48 +3238,48 @@ msgstr "运行 %s失败:%s %d\n" | |||
3242 | msgid "Failed to save state to file %s\n" | 3238 | msgid "Failed to save state to file %s\n" |
3243 | msgstr "解析配置文件“%s”失败\n" | 3239 | msgstr "解析配置文件“%s”失败\n" |
3244 | 3240 | ||
3245 | #: src/fs/gnunet-auto-share.c:402 | 3241 | #: src/fs/gnunet-auto-share.c:415 |
3246 | #, c-format | 3242 | #, c-format |
3247 | msgid "Publication of `%s' done\n" | 3243 | msgid "Publication of `%s' done\n" |
3248 | msgstr "" | 3244 | msgstr "" |
3249 | 3245 | ||
3250 | #: src/fs/gnunet-auto-share.c:490 | 3246 | #: src/fs/gnunet-auto-share.c:504 |
3251 | #, c-format | 3247 | #, c-format |
3252 | msgid "Publishing `%s'\n" | 3248 | msgid "Publishing `%s'\n" |
3253 | msgstr "" | 3249 | msgstr "" |
3254 | 3250 | ||
3255 | #: src/fs/gnunet-auto-share.c:499 | 3251 | #: src/fs/gnunet-auto-share.c:514 |
3256 | #, fuzzy, c-format | 3252 | #, fuzzy, c-format |
3257 | msgid "Failed to run `%s'\n" | 3253 | msgid "Failed to run `%s'\n" |
3258 | msgstr "运行 %s失败:%s %d\n" | 3254 | msgstr "运行 %s失败:%s %d\n" |
3259 | 3255 | ||
3260 | #: src/fs/gnunet-auto-share.c:688 | 3256 | #: src/fs/gnunet-auto-share.c:725 |
3261 | #, c-format | 3257 | #, c-format |
3262 | msgid "" | 3258 | msgid "" |
3263 | "You must specify one and only one directory name for automatic publication.\n" | 3259 | "You must specify one and only one directory name for automatic publication.\n" |
3264 | msgstr "" | 3260 | msgstr "" |
3265 | 3261 | ||
3266 | #: src/fs/gnunet-auto-share.c:739 src/fs/gnunet-publish.c:908 | 3262 | #: src/fs/gnunet-auto-share.c:778 src/fs/gnunet-publish.c:901 |
3267 | msgid "set the desired LEVEL of sender-anonymity" | 3263 | msgid "set the desired LEVEL of sender-anonymity" |
3268 | msgstr "" | 3264 | msgstr "" |
3269 | 3265 | ||
3270 | #: src/fs/gnunet-auto-share.c:743 src/fs/gnunet-publish.c:912 | 3266 | #: src/fs/gnunet-auto-share.c:782 src/fs/gnunet-publish.c:905 |
3271 | msgid "disable adding the creation time to the metadata of the uploaded file" | 3267 | msgid "disable adding the creation time to the metadata of the uploaded file" |
3272 | msgstr "" | 3268 | msgstr "" |
3273 | 3269 | ||
3274 | #: src/fs/gnunet-auto-share.c:746 src/fs/gnunet-publish.c:915 | 3270 | #: src/fs/gnunet-auto-share.c:785 src/fs/gnunet-publish.c:908 |
3275 | msgid "do not use libextractor to add keywords or metadata" | 3271 | msgid "do not use libextractor to add keywords or metadata" |
3276 | msgstr "" | 3272 | msgstr "" |
3277 | 3273 | ||
3278 | #: src/fs/gnunet-auto-share.c:749 src/fs/gnunet-publish.c:939 | 3274 | #: src/fs/gnunet-auto-share.c:788 src/fs/gnunet-publish.c:932 |
3279 | msgid "specify the priority of the content" | 3275 | msgid "specify the priority of the content" |
3280 | msgstr "" | 3276 | msgstr "" |
3281 | 3277 | ||
3282 | #: src/fs/gnunet-auto-share.c:752 src/fs/gnunet-publish.c:946 | 3278 | #: src/fs/gnunet-auto-share.c:791 src/fs/gnunet-publish.c:939 |
3283 | msgid "set the desired replication LEVEL" | 3279 | msgid "set the desired replication LEVEL" |
3284 | msgstr "" | 3280 | msgstr "" |
3285 | 3281 | ||
3286 | #: src/fs/gnunet-auto-share.c:772 | 3282 | #: src/fs/gnunet-auto-share.c:815 |
3287 | msgid "Automatically publish files from a directory on GNUnet" | 3283 | msgid "Automatically publish files from a directory on GNUnet" |
3288 | msgstr "" | 3284 | msgstr "" |
3289 | 3285 | ||
@@ -3353,65 +3349,65 @@ msgstr "" | |||
3353 | msgid "Downloading `%s' done (%s/s).\n" | 3349 | msgid "Downloading `%s' done (%s/s).\n" |
3354 | msgstr "" | 3350 | msgstr "" |
3355 | 3351 | ||
3356 | #: src/fs/gnunet-download.c:209 src/fs/gnunet-publish.c:319 | 3352 | #: src/fs/gnunet-download.c:208 src/fs/gnunet-publish.c:297 |
3357 | #: src/fs/gnunet-search.c:206 src/fs/gnunet-unindex.c:108 | 3353 | #: src/fs/gnunet-search.c:205 src/fs/gnunet-unindex.c:107 |
3358 | #, c-format | 3354 | #, c-format |
3359 | msgid "Unexpected status: %d\n" | 3355 | msgid "Unexpected status: %d\n" |
3360 | msgstr "" | 3356 | msgstr "" |
3361 | 3357 | ||
3362 | #: src/fs/gnunet-download.c:234 | 3358 | #: src/fs/gnunet-download.c:233 |
3363 | #, fuzzy | 3359 | #, fuzzy |
3364 | msgid "You need to specify a URI argument.\n" | 3360 | msgid "You need to specify a URI argument.\n" |
3365 | msgstr "您必须指定一个昵称\n" | 3361 | msgstr "您必须指定一个昵称\n" |
3366 | 3362 | ||
3367 | #: src/fs/gnunet-download.c:240 src/fs/gnunet-publish.c:734 | 3363 | #: src/fs/gnunet-download.c:239 src/fs/gnunet-publish.c:728 |
3368 | #, fuzzy, c-format | 3364 | #, fuzzy, c-format |
3369 | msgid "Failed to parse URI: %s\n" | 3365 | msgid "Failed to parse URI: %s\n" |
3370 | msgstr "运行 %s失败:%s %d\n" | 3366 | msgstr "运行 %s失败:%s %d\n" |
3371 | 3367 | ||
3372 | #: src/fs/gnunet-download.c:247 | 3368 | #: src/fs/gnunet-download.c:246 |
3373 | msgid "Only CHK or LOC URIs supported.\n" | 3369 | msgid "Only CHK or LOC URIs supported.\n" |
3374 | msgstr "" | 3370 | msgstr "" |
3375 | 3371 | ||
3376 | #: src/fs/gnunet-download.c:254 | 3372 | #: src/fs/gnunet-download.c:253 |
3377 | msgid "Target filename must be specified.\n" | 3373 | msgid "Target filename must be specified.\n" |
3378 | msgstr "" | 3374 | msgstr "" |
3379 | 3375 | ||
3380 | #: src/fs/gnunet-download.c:268 src/fs/gnunet-publish.c:878 | 3376 | #: src/fs/gnunet-download.c:267 src/fs/gnunet-publish.c:872 |
3381 | #: src/fs/gnunet-search.c:256 src/fs/gnunet-unindex.c:140 | 3377 | #: src/fs/gnunet-search.c:255 src/fs/gnunet-unindex.c:139 |
3382 | #, fuzzy, c-format | 3378 | #, fuzzy, c-format |
3383 | msgid "Could not initialize `%s' subsystem.\n" | 3379 | msgid "Could not initialize `%s' subsystem.\n" |
3384 | msgstr "初始化“%s”服务失败。\n" | 3380 | msgstr "初始化“%s”服务失败。\n" |
3385 | 3381 | ||
3386 | #: src/fs/gnunet-download.c:305 src/fs/gnunet-search.c:295 | 3382 | #: src/fs/gnunet-download.c:304 src/fs/gnunet-search.c:294 |
3387 | msgid "set the desired LEVEL of receiver-anonymity" | 3383 | msgid "set the desired LEVEL of receiver-anonymity" |
3388 | msgstr "" | 3384 | msgstr "" |
3389 | 3385 | ||
3390 | #: src/fs/gnunet-download.c:308 | 3386 | #: src/fs/gnunet-download.c:307 |
3391 | msgid "delete incomplete downloads (when aborted with CTRL-C)" | 3387 | msgid "delete incomplete downloads (when aborted with CTRL-C)" |
3392 | msgstr "" | 3388 | msgstr "" |
3393 | 3389 | ||
3394 | #: src/fs/gnunet-download.c:311 src/fs/gnunet-search.c:298 | 3390 | #: src/fs/gnunet-download.c:310 src/fs/gnunet-search.c:297 |
3395 | msgid "only search the local peer (no P2P network search)" | 3391 | msgid "only search the local peer (no P2P network search)" |
3396 | msgstr "" | 3392 | msgstr "" |
3397 | 3393 | ||
3398 | #: src/fs/gnunet-download.c:314 | 3394 | #: src/fs/gnunet-download.c:313 |
3399 | msgid "write the file to FILENAME" | 3395 | msgid "write the file to FILENAME" |
3400 | msgstr "" | 3396 | msgstr "" |
3401 | 3397 | ||
3402 | #: src/fs/gnunet-download.c:318 | 3398 | #: src/fs/gnunet-download.c:317 |
3403 | msgid "set the maximum number of parallel downloads that is allowed" | 3399 | msgid "set the maximum number of parallel downloads that is allowed" |
3404 | msgstr "" | 3400 | msgstr "" |
3405 | 3401 | ||
3406 | #: src/fs/gnunet-download.c:322 | 3402 | #: src/fs/gnunet-download.c:321 |
3407 | msgid "set the maximum number of parallel requests for blocks that is allowed" | 3403 | msgid "set the maximum number of parallel requests for blocks that is allowed" |
3408 | msgstr "" | 3404 | msgstr "" |
3409 | 3405 | ||
3410 | #: src/fs/gnunet-download.c:325 | 3406 | #: src/fs/gnunet-download.c:324 |
3411 | msgid "download a GNUnet directory recursively" | 3407 | msgid "download a GNUnet directory recursively" |
3412 | msgstr "" | 3408 | msgstr "" |
3413 | 3409 | ||
3414 | #: src/fs/gnunet-download.c:339 | 3410 | #: src/fs/gnunet-download.c:338 |
3415 | msgid "" | 3411 | msgid "" |
3416 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" | 3412 | "Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/" |
3417 | "chk/...)" | 3413 | "chk/...)" |
@@ -3441,188 +3437,188 @@ msgstr "" | |||
3441 | msgid "run a testbed to measure file-sharing performance" | 3437 | msgid "run a testbed to measure file-sharing performance" |
3442 | msgstr "" | 3438 | msgstr "" |
3443 | 3439 | ||
3444 | #: src/fs/gnunet-publish.c:238 src/fs/gnunet-publish.c:250 | 3440 | #: src/fs/gnunet-publish.c:221 src/fs/gnunet-publish.c:233 |
3445 | #, c-format | 3441 | #, c-format |
3446 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" | 3442 | msgid "Publishing `%s' at %llu/%llu (%s remaining)\n" |
3447 | msgstr "" | 3443 | msgstr "" |
3448 | 3444 | ||
3449 | #: src/fs/gnunet-publish.c:257 | 3445 | #: src/fs/gnunet-publish.c:241 |
3450 | #, c-format | 3446 | #, c-format |
3451 | msgid "Error publishing: %s.\n" | 3447 | msgid "Error publishing: %s.\n" |
3452 | msgstr "" | 3448 | msgstr "" |
3453 | 3449 | ||
3454 | #: src/fs/gnunet-publish.c:268 | 3450 | #: src/fs/gnunet-publish.c:248 |
3455 | #, c-format | 3451 | #, c-format |
3456 | msgid "Publishing `%s' done.\n" | 3452 | msgid "Publishing `%s' done.\n" |
3457 | msgstr "" | 3453 | msgstr "" |
3458 | 3454 | ||
3459 | #: src/fs/gnunet-publish.c:273 | 3455 | #: src/fs/gnunet-publish.c:253 |
3460 | #, c-format | 3456 | #, c-format |
3461 | msgid "URI is `%s'.\n" | 3457 | msgid "URI is `%s'.\n" |
3462 | msgstr "" | 3458 | msgstr "" |
3463 | 3459 | ||
3464 | #: src/fs/gnunet-publish.c:281 | 3460 | #: src/fs/gnunet-publish.c:261 |
3465 | #, c-format | 3461 | #, c-format |
3466 | msgid "Namespace URI is `%s'.\n" | 3462 | msgid "Namespace URI is `%s'.\n" |
3467 | msgstr "" | 3463 | msgstr "" |
3468 | 3464 | ||
3469 | #: src/fs/gnunet-publish.c:299 | 3465 | #: src/fs/gnunet-publish.c:277 |
3470 | msgid "Starting cleanup after abort\n" | 3466 | msgid "Starting cleanup after abort\n" |
3471 | msgstr "" | 3467 | msgstr "" |
3472 | 3468 | ||
3473 | #: src/fs/gnunet-publish.c:306 | 3469 | #: src/fs/gnunet-publish.c:284 |
3474 | msgid "Cleanup after abort completed.\n" | 3470 | msgid "Cleanup after abort completed.\n" |
3475 | msgstr "" | 3471 | msgstr "" |
3476 | 3472 | ||
3477 | #: src/fs/gnunet-publish.c:312 | 3473 | #: src/fs/gnunet-publish.c:290 |
3478 | msgid "Cleanup after abort failed.\n" | 3474 | msgid "Cleanup after abort failed.\n" |
3479 | msgstr "" | 3475 | msgstr "" |
3480 | 3476 | ||
3481 | #: src/fs/gnunet-publish.c:447 | 3477 | #: src/fs/gnunet-publish.c:432 |
3482 | #, fuzzy, c-format | 3478 | #, fuzzy, c-format |
3483 | msgid "Meta data for file `%s' (%s)\n" | 3479 | msgid "Meta data for file `%s' (%s)\n" |
3484 | msgstr "打开日志文件“%s”失败:%s\n" | 3480 | msgstr "打开日志文件“%s”失败:%s\n" |
3485 | 3481 | ||
3486 | #: src/fs/gnunet-publish.c:449 | 3482 | #: src/fs/gnunet-publish.c:437 |
3487 | #, fuzzy, c-format | 3483 | #, fuzzy, c-format |
3488 | msgid "Keywords for file `%s' (%s)\n" | 3484 | msgid "Keywords for file `%s' (%s)\n" |
3489 | msgstr "无法解析“%s”(%s):%s\n" | 3485 | msgstr "无法解析“%s”(%s):%s\n" |
3490 | 3486 | ||
3491 | #: src/fs/gnunet-publish.c:594 | 3487 | #: src/fs/gnunet-publish.c:591 |
3492 | #, fuzzy | 3488 | #, fuzzy |
3493 | msgid "Could not publish\n" | 3489 | msgid "Could not publish\n" |
3494 | msgstr "无法解析“%s”(%s):%s\n" | 3490 | msgstr "无法解析“%s”(%s):%s\n" |
3495 | 3491 | ||
3496 | #: src/fs/gnunet-publish.c:619 | 3492 | #: src/fs/gnunet-publish.c:616 |
3497 | msgid "Could not start publishing.\n" | 3493 | msgid "Could not start publishing.\n" |
3498 | msgstr "" | 3494 | msgstr "" |
3499 | 3495 | ||
3500 | #: src/fs/gnunet-publish.c:653 | 3496 | #: src/fs/gnunet-publish.c:650 |
3501 | #, fuzzy, c-format | 3497 | #, fuzzy, c-format |
3502 | msgid "Scanning directory `%s'.\n" | 3498 | msgid "Scanning directory `%s'.\n" |
3503 | msgstr "解析配置文件“%s”失败\n" | 3499 | msgstr "解析配置文件“%s”失败\n" |
3504 | 3500 | ||
3505 | #: src/fs/gnunet-publish.c:657 | 3501 | #: src/fs/gnunet-publish.c:654 |
3506 | #, fuzzy, c-format | 3502 | #, fuzzy, c-format |
3507 | msgid "Scanning file `%s'.\n" | 3503 | msgid "Scanning file `%s'.\n" |
3508 | msgstr "未知的命令“%s”。\n" | 3504 | msgstr "未知的命令“%s”。\n" |
3509 | 3505 | ||
3510 | #: src/fs/gnunet-publish.c:663 | 3506 | #: src/fs/gnunet-publish.c:660 |
3511 | #, c-format | 3507 | #, c-format |
3512 | msgid "There was trouble processing file `%s', skipping it.\n" | 3508 | msgid "There was trouble processing file `%s', skipping it.\n" |
3513 | msgstr "" | 3509 | msgstr "" |
3514 | 3510 | ||
3515 | #: src/fs/gnunet-publish.c:670 | 3511 | #: src/fs/gnunet-publish.c:667 |
3516 | msgid "Preprocessing complete.\n" | 3512 | msgid "Preprocessing complete.\n" |
3517 | msgstr "" | 3513 | msgstr "" |
3518 | 3514 | ||
3519 | #: src/fs/gnunet-publish.c:675 | 3515 | #: src/fs/gnunet-publish.c:672 |
3520 | #, fuzzy, c-format | 3516 | #, fuzzy, c-format |
3521 | msgid "Extracting meta data from file `%s' complete.\n" | 3517 | msgid "Extracting meta data from file `%s' complete.\n" |
3522 | msgstr "打开日志文件“%s”失败:%s\n" | 3518 | msgstr "打开日志文件“%s”失败:%s\n" |
3523 | 3519 | ||
3524 | #: src/fs/gnunet-publish.c:682 | 3520 | #: src/fs/gnunet-publish.c:679 |
3525 | msgid "Meta data extraction has finished.\n" | 3521 | msgid "Meta data extraction has finished.\n" |
3526 | msgstr "" | 3522 | msgstr "" |
3527 | 3523 | ||
3528 | #: src/fs/gnunet-publish.c:691 | 3524 | #: src/fs/gnunet-publish.c:688 |
3529 | #, fuzzy | 3525 | #, fuzzy |
3530 | msgid "Internal error scanning directory.\n" | 3526 | msgid "Internal error scanning directory.\n" |
3531 | msgstr "未知错误。\n" | 3527 | msgstr "未知错误。\n" |
3532 | 3528 | ||
3533 | #: src/fs/gnunet-publish.c:723 | 3529 | #: src/fs/gnunet-publish.c:716 |
3534 | #, c-format | 3530 | #, c-format |
3535 | msgid "Selected pseudonym `%s' unknown\n" | 3531 | msgid "Selected pseudonym `%s' unknown\n" |
3536 | msgstr "" | 3532 | msgstr "" |
3537 | 3533 | ||
3538 | #: src/fs/gnunet-publish.c:755 | 3534 | #: src/fs/gnunet-publish.c:749 |
3539 | #, fuzzy, c-format | 3535 | #, fuzzy, c-format |
3540 | msgid "Failed to access `%s': %s\n" | 3536 | msgid "Failed to access `%s': %s\n" |
3541 | msgstr "打开日志文件“%s”失败:%s\n" | 3537 | msgstr "打开日志文件“%s”失败:%s\n" |
3542 | 3538 | ||
3543 | #: src/fs/gnunet-publish.c:769 | 3539 | #: src/fs/gnunet-publish.c:763 |
3544 | msgid "" | 3540 | msgid "" |
3545 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " | 3541 | "Failed to start meta directory scanner. Is gnunet-helper-publish-fs " |
3546 | "installed?\n" | 3542 | "installed?\n" |
3547 | msgstr "" | 3543 | msgstr "" |
3548 | 3544 | ||
3549 | #: src/fs/gnunet-publish.c:825 | 3545 | #: src/fs/gnunet-publish.c:819 |
3550 | #, c-format | 3546 | #, c-format |
3551 | msgid "Cannot extract metadata from a URI!\n" | 3547 | msgid "Cannot extract metadata from a URI!\n" |
3552 | msgstr "" | 3548 | msgstr "" |
3553 | 3549 | ||
3554 | #: src/fs/gnunet-publish.c:832 | 3550 | #: src/fs/gnunet-publish.c:826 |
3555 | #, c-format | 3551 | #, c-format |
3556 | msgid "You must specify one and only one filename for insertion.\n" | 3552 | msgid "You must specify one and only one filename for insertion.\n" |
3557 | msgstr "" | 3553 | msgstr "" |
3558 | 3554 | ||
3559 | #: src/fs/gnunet-publish.c:838 | 3555 | #: src/fs/gnunet-publish.c:832 |
3560 | #, c-format | 3556 | #, c-format |
3561 | msgid "You must NOT specify an URI and a filename.\n" | 3557 | msgid "You must NOT specify an URI and a filename.\n" |
3562 | msgstr "" | 3558 | msgstr "" |
3563 | 3559 | ||
3564 | #: src/fs/gnunet-publish.c:846 src/vpn/gnunet-vpn.c:209 | 3560 | #: src/fs/gnunet-publish.c:840 src/vpn/gnunet-vpn.c:209 |
3565 | #, c-format | 3561 | #, c-format |
3566 | msgid "Option `%s' is required when using option `%s'.\n" | 3562 | msgid "Option `%s' is required when using option `%s'.\n" |
3567 | msgstr "" | 3563 | msgstr "" |
3568 | 3564 | ||
3569 | #: src/fs/gnunet-publish.c:857 src/fs/gnunet-publish.c:865 | 3565 | #: src/fs/gnunet-publish.c:851 src/fs/gnunet-publish.c:859 |
3570 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 | 3566 | #: src/transport/gnunet-transport.c:1928 src/transport/gnunet-transport.c:1958 |
3571 | #: src/transport/gnunet-transport.c:1989 | 3567 | #: src/transport/gnunet-transport.c:1989 |
3572 | #, c-format | 3568 | #, c-format |
3573 | msgid "Option `%s' makes no sense without option `%s'.\n" | 3569 | msgid "Option `%s' makes no sense without option `%s'.\n" |
3574 | msgstr "" | 3570 | msgstr "" |
3575 | 3571 | ||
3576 | #: src/fs/gnunet-publish.c:919 | 3572 | #: src/fs/gnunet-publish.c:912 |
3577 | msgid "" | 3573 | msgid "" |
3578 | "print list of extracted keywords that would be used, but do not perform " | 3574 | "print list of extracted keywords that would be used, but do not perform " |
3579 | "upload" | 3575 | "upload" |
3580 | msgstr "" | 3576 | msgstr "" |
3581 | 3577 | ||
3582 | #: src/fs/gnunet-publish.c:923 | 3578 | #: src/fs/gnunet-publish.c:916 |
3583 | msgid "" | 3579 | msgid "" |
3584 | "add an additional keyword for the top-level file or directory (this option " | 3580 | "add an additional keyword for the top-level file or directory (this option " |
3585 | "can be specified multiple times)" | 3581 | "can be specified multiple times)" |
3586 | msgstr "" | 3582 | msgstr "" |
3587 | 3583 | ||
3588 | #: src/fs/gnunet-publish.c:927 | 3584 | #: src/fs/gnunet-publish.c:920 |
3589 | msgid "set the meta-data for the given TYPE to the given VALUE" | 3585 | msgid "set the meta-data for the given TYPE to the given VALUE" |
3590 | msgstr "" | 3586 | msgstr "" |
3591 | 3587 | ||
3592 | #: src/fs/gnunet-publish.c:930 | 3588 | #: src/fs/gnunet-publish.c:923 |
3593 | msgid "" | 3589 | msgid "" |
3594 | "do not index, perform full insertion (stores entire file in encrypted form " | 3590 | "do not index, perform full insertion (stores entire file in encrypted form " |
3595 | "in GNUnet database)" | 3591 | "in GNUnet database)" |
3596 | msgstr "" | 3592 | msgstr "" |
3597 | 3593 | ||
3598 | #: src/fs/gnunet-publish.c:935 | 3594 | #: src/fs/gnunet-publish.c:928 |
3599 | msgid "" | 3595 | msgid "" |
3600 | "specify ID of an updated version to be published in the future (for " | 3596 | "specify ID of an updated version to be published in the future (for " |
3601 | "namespace insertions only)" | 3597 | "namespace insertions only)" |
3602 | msgstr "" | 3598 | msgstr "" |
3603 | 3599 | ||
3604 | #: src/fs/gnunet-publish.c:943 | 3600 | #: src/fs/gnunet-publish.c:936 |
3605 | msgid "publish the files under the pseudonym NAME (place file into namespace)" | 3601 | msgid "publish the files under the pseudonym NAME (place file into namespace)" |
3606 | msgstr "" | 3602 | msgstr "" |
3607 | 3603 | ||
3608 | #: src/fs/gnunet-publish.c:949 | 3604 | #: src/fs/gnunet-publish.c:942 |
3609 | msgid "" | 3605 | msgid "" |
3610 | "only simulate the process but do not do any actual publishing (useful to " | 3606 | "only simulate the process but do not do any actual publishing (useful to " |
3611 | "compute URIs)" | 3607 | "compute URIs)" |
3612 | msgstr "" | 3608 | msgstr "" |
3613 | 3609 | ||
3614 | #: src/fs/gnunet-publish.c:953 | 3610 | #: src/fs/gnunet-publish.c:946 |
3615 | msgid "" | 3611 | msgid "" |
3616 | "set the ID of this version of the publication (for namespace insertions only)" | 3612 | "set the ID of this version of the publication (for namespace insertions only)" |
3617 | msgstr "" | 3613 | msgstr "" |
3618 | 3614 | ||
3619 | #: src/fs/gnunet-publish.c:957 | 3615 | #: src/fs/gnunet-publish.c:950 |
3620 | msgid "" | 3616 | msgid "" |
3621 | "URI to be published (can be used instead of passing a file to add keywords " | 3617 | "URI to be published (can be used instead of passing a file to add keywords " |
3622 | "to the file with the respective URI)" | 3618 | "to the file with the respective URI)" |
3623 | msgstr "" | 3619 | msgstr "" |
3624 | 3620 | ||
3625 | #: src/fs/gnunet-publish.c:973 | 3621 | #: src/fs/gnunet-publish.c:966 |
3626 | msgid "Publish a file or directory on GNUnet" | 3622 | msgid "Publish a file or directory on GNUnet" |
3627 | msgstr "" | 3623 | msgstr "" |
3628 | 3624 | ||
@@ -3636,27 +3632,27 @@ msgstr "" | |||
3636 | msgid "Error searching: %s.\n" | 3632 | msgid "Error searching: %s.\n" |
3637 | msgstr "创建用户出错" | 3633 | msgstr "创建用户出错" |
3638 | 3634 | ||
3639 | #: src/fs/gnunet-search.c:246 | 3635 | #: src/fs/gnunet-search.c:245 |
3640 | msgid "Could not create keyword URI from arguments.\n" | 3636 | msgid "Could not create keyword URI from arguments.\n" |
3641 | msgstr "" | 3637 | msgstr "" |
3642 | 3638 | ||
3643 | #: src/fs/gnunet-search.c:270 | 3639 | #: src/fs/gnunet-search.c:269 |
3644 | msgid "Could not start searching.\n" | 3640 | msgid "Could not start searching.\n" |
3645 | msgstr "" | 3641 | msgstr "" |
3646 | 3642 | ||
3647 | #: src/fs/gnunet-search.c:301 | 3643 | #: src/fs/gnunet-search.c:300 |
3648 | msgid "write search results to file starting with PREFIX" | 3644 | msgid "write search results to file starting with PREFIX" |
3649 | msgstr "" | 3645 | msgstr "" |
3650 | 3646 | ||
3651 | #: src/fs/gnunet-search.c:304 | 3647 | #: src/fs/gnunet-search.c:303 |
3652 | msgid "automatically terminate search after DELAY" | 3648 | msgid "automatically terminate search after DELAY" |
3653 | msgstr "" | 3649 | msgstr "" |
3654 | 3650 | ||
3655 | #: src/fs/gnunet-search.c:311 | 3651 | #: src/fs/gnunet-search.c:310 |
3656 | msgid "automatically terminate search after VALUE results are found" | 3652 | msgid "automatically terminate search after VALUE results are found" |
3657 | msgstr "" | 3653 | msgstr "" |
3658 | 3654 | ||
3659 | #: src/fs/gnunet-search.c:322 | 3655 | #: src/fs/gnunet-search.c:321 |
3660 | msgid "Search GNUnet for files that were published on GNUnet" | 3656 | msgid "Search GNUnet for files that were published on GNUnet" |
3661 | msgstr "" | 3657 | msgstr "" |
3662 | 3658 | ||
@@ -4019,16 +4015,16 @@ msgstr "" | |||
4019 | msgid "Unindexing done.\n" | 4015 | msgid "Unindexing done.\n" |
4020 | msgstr "" | 4016 | msgstr "" |
4021 | 4017 | ||
4022 | #: src/fs/gnunet-unindex.c:130 | 4018 | #: src/fs/gnunet-unindex.c:129 |
4023 | #, c-format | 4019 | #, c-format |
4024 | msgid "You must specify one and only one filename for unindexing.\n" | 4020 | msgid "You must specify one and only one filename for unindexing.\n" |
4025 | msgstr "" | 4021 | msgstr "" |
4026 | 4022 | ||
4027 | #: src/fs/gnunet-unindex.c:147 | 4023 | #: src/fs/gnunet-unindex.c:146 |
4028 | msgid "Could not start unindex operation.\n" | 4024 | msgid "Could not start unindex operation.\n" |
4029 | msgstr "" | 4025 | msgstr "" |
4030 | 4026 | ||
4031 | #: src/fs/gnunet-unindex.c:179 | 4027 | #: src/fs/gnunet-unindex.c:178 |
4032 | msgid "Unindex a file that was previously indexed with gnunet-publish." | 4028 | msgid "Unindex a file that was previously indexed with gnunet-publish." |
4033 | msgstr "" | 4029 | msgstr "" |
4034 | 4030 | ||
@@ -4426,68 +4422,68 @@ msgstr "" | |||
4426 | msgid "GNS REST API initialized\n" | 4422 | msgid "GNS REST API initialized\n" |
4427 | msgstr "" | 4423 | msgstr "" |
4428 | 4424 | ||
4429 | #: src/gnsrecord/plugin_gnsrecord_dns.c:291 | 4425 | #: src/gnsrecord/plugin_gnsrecord_dns.c:359 |
4430 | #, fuzzy, c-format | 4426 | #, fuzzy, c-format |
4431 | msgid "Unable to parse IPv4 address `%s'\n" | 4427 | msgid "Unable to parse IPv4 address `%s'\n" |
4432 | msgstr "无效的进程优先级“%s”\n" | 4428 | msgstr "无效的进程优先级“%s”\n" |
4433 | 4429 | ||
4434 | #: src/gnsrecord/plugin_gnsrecord_dns.c:312 | 4430 | #: src/gnsrecord/plugin_gnsrecord_dns.c:380 |
4435 | #, fuzzy, c-format | 4431 | #, fuzzy, c-format |
4436 | msgid "Failed to serialize NS record with value `%s'\n" | 4432 | msgid "Failed to serialize NS record with value `%s'\n" |
4437 | msgstr "解析配置文件“%s”失败\n" | 4433 | msgstr "解析配置文件“%s”失败\n" |
4438 | 4434 | ||
4439 | #: src/gnsrecord/plugin_gnsrecord_dns.c:334 | 4435 | #: src/gnsrecord/plugin_gnsrecord_dns.c:402 |
4440 | #, fuzzy, c-format | 4436 | #, fuzzy, c-format |
4441 | msgid "Failed to serialize CNAME record with value `%s'\n" | 4437 | msgid "Failed to serialize CNAME record with value `%s'\n" |
4442 | msgstr "解析配置文件“%s”失败\n" | 4438 | msgstr "解析配置文件“%s”失败\n" |
4443 | 4439 | ||
4444 | #: src/gnsrecord/plugin_gnsrecord_dns.c:418 | 4440 | #: src/gnsrecord/plugin_gnsrecord_dns.c:486 |
4445 | #, fuzzy, c-format | 4441 | #, fuzzy, c-format |
4446 | msgid "Failed to serialize CERT record with %u bytes\n" | 4442 | msgid "Failed to serialize CERT record with %u bytes\n" |
4447 | msgstr "解析配置文件“%s”失败\n" | 4443 | msgstr "解析配置文件“%s”失败\n" |
4448 | 4444 | ||
4449 | #: src/gnsrecord/plugin_gnsrecord_dns.c:455 | 4445 | #: src/gnsrecord/plugin_gnsrecord_dns.c:522 |
4450 | #, fuzzy, c-format | 4446 | #, fuzzy, c-format |
4451 | msgid "Unable to parse SOA record `%s'\n" | 4447 | msgid "Unable to parse SOA record `%s'\n" |
4452 | msgstr "解析配置文件“%s”失败\n" | 4448 | msgstr "解析配置文件“%s”失败\n" |
4453 | 4449 | ||
4454 | #: src/gnsrecord/plugin_gnsrecord_dns.c:474 | 4450 | #: src/gnsrecord/plugin_gnsrecord_dns.c:541 |
4455 | #, fuzzy, c-format | 4451 | #, fuzzy, c-format |
4456 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" | 4452 | msgid "Failed to serialize SOA record with mname `%s' and rname `%s'\n" |
4457 | msgstr "解析配置文件“%s”失败\n" | 4453 | msgstr "解析配置文件“%s”失败\n" |
4458 | 4454 | ||
4459 | #: src/gnsrecord/plugin_gnsrecord_dns.c:497 | 4455 | #: src/gnsrecord/plugin_gnsrecord_dns.c:564 |
4460 | #, fuzzy, c-format | 4456 | #, fuzzy, c-format |
4461 | msgid "Failed to serialize PTR record with value `%s'\n" | 4457 | msgid "Failed to serialize PTR record with value `%s'\n" |
4462 | msgstr "解析配置文件“%s”失败\n" | 4458 | msgstr "解析配置文件“%s”失败\n" |
4463 | 4459 | ||
4464 | #: src/gnsrecord/plugin_gnsrecord_dns.c:520 | 4460 | #: src/gnsrecord/plugin_gnsrecord_dns.c:587 |
4465 | #, fuzzy, c-format | 4461 | #, fuzzy, c-format |
4466 | msgid "Unable to parse MX record `%s'\n" | 4462 | msgid "Unable to parse MX record `%s'\n" |
4467 | msgstr "解析配置文件“%s”失败\n" | 4463 | msgstr "解析配置文件“%s”失败\n" |
4468 | 4464 | ||
4469 | #: src/gnsrecord/plugin_gnsrecord_dns.c:535 | 4465 | #: src/gnsrecord/plugin_gnsrecord_dns.c:602 |
4470 | #, fuzzy, c-format | 4466 | #, fuzzy, c-format |
4471 | msgid "Failed to serialize MX record with hostname `%s'\n" | 4467 | msgid "Failed to serialize MX record with hostname `%s'\n" |
4472 | msgstr "解析配置文件“%s”失败\n" | 4468 | msgstr "解析配置文件“%s”失败\n" |
4473 | 4469 | ||
4474 | #: src/gnsrecord/plugin_gnsrecord_dns.c:562 | 4470 | #: src/gnsrecord/plugin_gnsrecord_dns.c:629 |
4475 | #, fuzzy, c-format | 4471 | #, fuzzy, c-format |
4476 | msgid "Unable to parse SRV record `%s'\n" | 4472 | msgid "Unable to parse SRV record `%s'\n" |
4477 | msgstr "解析配置文件“%s”失败\n" | 4473 | msgstr "解析配置文件“%s”失败\n" |
4478 | 4474 | ||
4479 | #: src/gnsrecord/plugin_gnsrecord_dns.c:578 | 4475 | #: src/gnsrecord/plugin_gnsrecord_dns.c:645 |
4480 | #, fuzzy, c-format | 4476 | #, fuzzy, c-format |
4481 | msgid "Failed to serialize SRV record with target `%s'\n" | 4477 | msgid "Failed to serialize SRV record with target `%s'\n" |
4482 | msgstr "解析配置文件“%s”失败\n" | 4478 | msgstr "解析配置文件“%s”失败\n" |
4483 | 4479 | ||
4484 | #: src/gnsrecord/plugin_gnsrecord_dns.c:595 | 4480 | #: src/gnsrecord/plugin_gnsrecord_dns.c:662 |
4485 | #, fuzzy, c-format | 4481 | #, fuzzy, c-format |
4486 | msgid "Unable to parse IPv6 address `%s'\n" | 4482 | msgid "Unable to parse IPv6 address `%s'\n" |
4487 | msgstr "无效的进程优先级“%s”\n" | 4483 | msgstr "无效的进程优先级“%s”\n" |
4488 | 4484 | ||
4489 | #: src/gnsrecord/plugin_gnsrecord_dns.c:619 | 4485 | #: src/gnsrecord/plugin_gnsrecord_dns.c:686 |
4490 | #: src/gnsrecord/plugin_gnsrecord_dns.c:635 | 4486 | #: src/gnsrecord/plugin_gnsrecord_dns.c:702 |
4491 | #, fuzzy, c-format | 4487 | #, fuzzy, c-format |
4492 | msgid "Unable to parse TLSA record string `%s'\n" | 4488 | msgid "Unable to parse TLSA record string `%s'\n" |
4493 | msgstr "解析配置文件“%s”失败\n" | 4489 | msgstr "解析配置文件“%s”失败\n" |
@@ -4998,6 +4994,31 @@ msgstr "GNUnet 配置" | |||
4998 | msgid "Namecache failed to cache block" | 4994 | msgid "Namecache failed to cache block" |
4999 | msgstr "" | 4995 | msgstr "" |
5000 | 4996 | ||
4997 | #: src/namecache/plugin_namecache_flat.c:119 | ||
4998 | #: src/namecache/plugin_namecache_flat.c:236 | ||
4999 | #: src/namestore/plugin_namestore_flat.c:184 | ||
5000 | #: src/namestore/plugin_namestore_flat.c:352 | ||
5001 | #, fuzzy, c-format | ||
5002 | msgid "Unable to initialize file: %s.\n" | ||
5003 | msgstr "无法初始化 SQLite:%s。\n" | ||
5004 | |||
5005 | #: src/namecache/plugin_namecache_flat.c:130 | ||
5006 | #: src/namestore/plugin_namestore_flat.c:195 | ||
5007 | #, fuzzy, c-format | ||
5008 | msgid "Unable to get filesize: %s.\n" | ||
5009 | msgstr "发送消息失败。\n" | ||
5010 | |||
5011 | #: src/namecache/plugin_namecache_flat.c:142 | ||
5012 | #: src/namestore/plugin_namestore_flat.c:207 | ||
5013 | #, fuzzy, c-format | ||
5014 | msgid "Unable to read file: %s.\n" | ||
5015 | msgstr "发送消息失败。\n" | ||
5016 | |||
5017 | #: src/namecache/plugin_namecache_flat.c:391 | ||
5018 | #, fuzzy | ||
5019 | msgid "flat plugin running\n" | ||
5020 | msgstr "sqlite 数据仓库" | ||
5021 | |||
5001 | #: src/namecache/plugin_namecache_postgres.c:89 | 5022 | #: src/namecache/plugin_namecache_postgres.c:89 |
5002 | #: src/namestore/plugin_namestore_postgres.c:96 | 5023 | #: src/namestore/plugin_namestore_postgres.c:96 |
5003 | #, fuzzy | 5024 | #, fuzzy |
@@ -5096,8 +5117,7 @@ msgstr "" | |||
5096 | msgid "Invalid public key for reverse lookup `%s'\n" | 5117 | msgid "Invalid public key for reverse lookup `%s'\n" |
5097 | msgstr "“%s”的参数无效。\n" | 5118 | msgstr "“%s”的参数无效。\n" |
5098 | 5119 | ||
5099 | #: src/namestore/gnunet-namestore.c:868 | 5120 | #: src/namestore/gnunet-namestore.c:868 src/peerinfo-tool/gnunet-peerinfo.c:817 |
5100 | #: src/peerinfo-tool/gnunet-peerinfo.c:817 | ||
5101 | #, fuzzy, c-format | 5121 | #, fuzzy, c-format |
5102 | msgid "Invalid URI `%s'\n" | 5122 | msgid "Invalid URI `%s'\n" |
5103 | msgstr "无效条目。\n" | 5123 | msgstr "无效条目。\n" |
@@ -5258,10 +5278,19 @@ msgstr "发送消息失败。\n" | |||
5258 | msgid "Namestore failed to store record\n" | 5278 | msgid "Namestore failed to store record\n" |
5259 | msgstr "" | 5279 | msgstr "" |
5260 | 5280 | ||
5281 | #: src/namestore/plugin_namestore_flat.c:650 | ||
5282 | #, fuzzy | ||
5283 | msgid "flat file database running\n" | ||
5284 | msgstr "sqlite 数据仓库" | ||
5285 | |||
5261 | #: src/namestore/plugin_rest_namestore.c:1023 | 5286 | #: src/namestore/plugin_rest_namestore.c:1023 |
5262 | msgid "Namestore REST API initialized\n" | 5287 | msgid "Namestore REST API initialized\n" |
5263 | msgstr "" | 5288 | msgstr "" |
5264 | 5289 | ||
5290 | #: src/nat/gnunet-nat.c:160 | ||
5291 | msgid "GNUnet NAT traversal autoconfigure daemon" | ||
5292 | msgstr "" | ||
5293 | |||
5265 | #: src/nat/gnunet-nat-server.c:279 | 5294 | #: src/nat/gnunet-nat-server.c:279 |
5266 | #, c-format | 5295 | #, c-format |
5267 | msgid "Please pass valid port number as the first argument! (got `%s')\n" | 5296 | msgid "Please pass valid port number as the first argument! (got `%s')\n" |
@@ -5271,53 +5300,57 @@ msgstr "" | |||
5271 | msgid "GNUnet NAT traversal test helper daemon" | 5300 | msgid "GNUnet NAT traversal test helper daemon" |
5272 | msgstr "" | 5301 | msgstr "" |
5273 | 5302 | ||
5274 | #: src/nat/nat_auto.c:179 | 5303 | #: src/nat/nat_auto.c:394 |
5275 | msgid "NAT traversal with ICMP Server succeeded.\n" | 5304 | msgid "NAT traversal with ICMP Server succeeded.\n" |
5276 | msgstr "" | 5305 | msgstr "" |
5277 | 5306 | ||
5278 | #: src/nat/nat_auto.c:180 | 5307 | #: src/nat/nat_auto.c:395 |
5279 | msgid "NAT traversal with ICMP Server failed.\n" | 5308 | msgid "NAT traversal with ICMP Server failed.\n" |
5280 | msgstr "" | 5309 | msgstr "" |
5281 | 5310 | ||
5282 | #: src/nat/nat_auto.c:201 | 5311 | #: src/nat/nat_auto.c:416 |
5283 | msgid "Testing connection reversal with ICMP server.\n" | 5312 | msgid "Testing connection reversal with ICMP server.\n" |
5284 | msgstr "" | 5313 | msgstr "" |
5285 | 5314 | ||
5286 | #: src/nat/nat_auto.c:249 | 5315 | #: src/nat/nat_auto.c:448 |
5287 | #, c-format | 5316 | #, c-format |
5288 | msgid "Detected external IP `%s'\n" | 5317 | msgid "Detected external IP `%s'\n" |
5289 | msgstr "" | 5318 | msgstr "" |
5290 | 5319 | ||
5291 | #: src/nat/nat_auto.c:327 | 5320 | #: src/nat/nat_auto.c:579 |
5292 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" | 5321 | msgid "This system has a global IPv6 address, setting IPv6 to supported.\n" |
5293 | msgstr "" | 5322 | msgstr "" |
5294 | 5323 | ||
5295 | #: src/nat/nat_auto.c:343 | 5324 | #: src/nat/nat_auto.c:597 |
5296 | #, fuzzy, c-format | 5325 | #, fuzzy, c-format |
5297 | msgid "Detected internal network address `%s'.\n" | 5326 | msgid "Detected internal network address `%s'.\n" |
5298 | msgstr "GNUnet 现在使用 IP 地址 %s。\n" | 5327 | msgstr "GNUnet 现在使用 IP 地址 %s。\n" |
5299 | 5328 | ||
5300 | #: src/nat/nat_auto.c:406 | 5329 | #: src/nat/nat_auto.c:669 src/nat/nat_test.c:364 |
5330 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5331 | msgstr "" | ||
5332 | |||
5333 | #: src/nat/nat_auto.c:715 | ||
5301 | msgid "upnpc found, enabling its use\n" | 5334 | msgid "upnpc found, enabling its use\n" |
5302 | msgstr "" | 5335 | msgstr "" |
5303 | 5336 | ||
5304 | #: src/nat/nat_auto.c:407 | 5337 | #: src/nat/nat_auto.c:716 |
5305 | msgid "upnpc not found\n" | 5338 | msgid "upnpc not found\n" |
5306 | msgstr "" | 5339 | msgstr "" |
5307 | 5340 | ||
5308 | #: src/nat/nat_auto.c:437 | 5341 | #: src/nat/nat_auto.c:748 |
5309 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" | 5342 | msgid "test_icmp_server not possible, as we have no public IPv4 address\n" |
5310 | msgstr "" | 5343 | msgstr "" |
5311 | 5344 | ||
5312 | #: src/nat/nat_auto.c:445 src/nat/nat_auto.c:490 | 5345 | #: src/nat/nat_auto.c:756 src/nat/nat_auto.c:804 |
5313 | msgid "test_icmp_server not possible, as we are not behind NAT\n" | 5346 | msgid "test_icmp_server not possible, as we are not behind NAT\n" |
5314 | msgstr "" | 5347 | msgstr "" |
5315 | 5348 | ||
5316 | #: src/nat/nat_auto.c:453 src/nat/nat_auto.c:498 | 5349 | #: src/nat/nat_auto.c:764 src/nat/nat_auto.c:812 |
5317 | msgid "No working gnunet-helper-nat-server found\n" | 5350 | msgid "No working gnunet-helper-nat-server found\n" |
5318 | msgstr "" | 5351 | msgstr "" |
5319 | 5352 | ||
5320 | #: src/nat/nat_auto.c:483 | 5353 | #: src/nat/nat_auto.c:797 |
5321 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" | 5354 | msgid "test_icmp_client not possible, as we have no internal IPv4 address\n" |
5322 | msgstr "" | 5355 | msgstr "" |
5323 | 5356 | ||
@@ -5331,117 +5364,117 @@ msgstr "" | |||
5331 | msgid "Failed to start %s\n" | 5364 | msgid "Failed to start %s\n" |
5332 | msgstr "运行 %s失败:%s %d\n" | 5365 | msgstr "运行 %s失败:%s %d\n" |
5333 | 5366 | ||
5334 | #: src/nat/nat.c:1286 | 5367 | #: src/nat/nat.c:1305 |
5335 | msgid "Error while running upnp client:\n" | 5368 | msgid "Error while running upnp client:\n" |
5336 | msgstr "" | 5369 | msgstr "" |
5337 | 5370 | ||
5338 | #: src/nat/nat.c:1356 | 5371 | #: src/nat/nat.c:1375 |
5339 | #, fuzzy, c-format | 5372 | #, fuzzy, c-format |
5340 | msgid "Failed to run upnp client for port %u\n" | 5373 | msgid "Failed to run upnp client for port %u\n" |
5341 | msgstr "初始化“%s”服务失败。\n" | 5374 | msgstr "初始化“%s”服务失败。\n" |
5342 | 5375 | ||
5343 | #: src/nat/nat.c:1498 | 5376 | #: src/nat/nat.c:1517 |
5344 | msgid "malformed" | 5377 | msgid "malformed" |
5345 | msgstr "" | 5378 | msgstr "" |
5346 | 5379 | ||
5347 | #: src/nat/nat.c:1552 | 5380 | #: src/nat/nat.c:1571 |
5348 | msgid "" | 5381 | msgid "" |
5349 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " | 5382 | "UPnP enabled in configuration, but UPnP client `upnpc` command not found, " |
5350 | "disabling UPnP \n" | 5383 | "disabling UPnP \n" |
5351 | msgstr "" | 5384 | msgstr "" |
5352 | 5385 | ||
5353 | #: src/nat/nat.c:1680 src/nat/nat.c:1692 | 5386 | #: src/nat/nat.c:1700 src/nat/nat.c:1712 |
5354 | #, c-format | 5387 | #, c-format |
5355 | msgid "" | 5388 | msgid "" |
5356 | "Configuration requires `%s', but binary is not installed properly (SUID bit " | 5389 | "Configuration requires `%s', but binary is not installed properly (SUID bit " |
5357 | "not set). Option disabled.\n" | 5390 | "not set). Option disabled.\n" |
5358 | msgstr "" | 5391 | msgstr "" |
5359 | 5392 | ||
5360 | #: src/nat/nat.c:1830 | 5393 | #: src/nat/nat.c:1855 |
5361 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" | 5394 | msgid "Internal IP address not known, cannot use ICMP NAT traversal method\n" |
5362 | msgstr "" | 5395 | msgstr "" |
5363 | 5396 | ||
5364 | #: src/nat/nat.c:1846 | 5397 | #: src/nat/nat.c:1871 |
5365 | #, c-format | 5398 | #, c-format |
5366 | msgid "Running gnunet-helper-nat-client %s %s %u\n" | 5399 | msgid "Running gnunet-helper-nat-client %s %s %u\n" |
5367 | msgstr "" | 5400 | msgstr "" |
5368 | 5401 | ||
5369 | #: src/nat/nat.c:1931 | 5402 | #: src/nat/nat.c:1958 |
5370 | msgid "Operation Successful" | 5403 | msgid "Operation Successful" |
5371 | msgstr "" | 5404 | msgstr "" |
5372 | 5405 | ||
5373 | #: src/nat/nat.c:1933 | 5406 | #: src/nat/nat.c:1960 |
5374 | msgid "Internal Failure (IPC, ...)" | 5407 | msgid "Internal Failure (IPC, ...)" |
5375 | msgstr "" | 5408 | msgstr "" |
5376 | 5409 | ||
5377 | #: src/nat/nat.c:1935 | 5410 | #: src/nat/nat.c:1962 |
5378 | msgid "Failure in network subsystem, check permissions." | 5411 | msgid "Failure in network subsystem, check permissions." |
5379 | msgstr "" | 5412 | msgstr "" |
5380 | 5413 | ||
5381 | #: src/nat/nat.c:1937 | 5414 | #: src/nat/nat.c:1964 |
5382 | msgid "Encountered timeout while performing operation" | 5415 | msgid "Encountered timeout while performing operation" |
5383 | msgstr "" | 5416 | msgstr "" |
5384 | 5417 | ||
5385 | #: src/nat/nat.c:1939 | 5418 | #: src/nat/nat.c:1966 |
5386 | msgid "detected that we are offline" | 5419 | msgid "detected that we are offline" |
5387 | msgstr "" | 5420 | msgstr "" |
5388 | 5421 | ||
5389 | #: src/nat/nat.c:1941 | 5422 | #: src/nat/nat.c:1968 |
5390 | msgid "`upnpc` command not found" | 5423 | msgid "`upnpc` command not found" |
5391 | msgstr "" | 5424 | msgstr "" |
5392 | 5425 | ||
5393 | #: src/nat/nat.c:1943 | 5426 | #: src/nat/nat.c:1970 |
5394 | #, fuzzy | 5427 | #, fuzzy |
5395 | msgid "Failed to run `upnpc` command" | 5428 | msgid "Failed to run `upnpc` command" |
5396 | msgstr "运行 %s失败:%s %d\n" | 5429 | msgstr "运行 %s失败:%s %d\n" |
5397 | 5430 | ||
5398 | #: src/nat/nat.c:1945 | 5431 | #: src/nat/nat.c:1972 |
5399 | msgid "`upnpc' command took too long, process killed" | 5432 | msgid "`upnpc' command took too long, process killed" |
5400 | msgstr "" | 5433 | msgstr "" |
5401 | 5434 | ||
5402 | #: src/nat/nat.c:1947 | 5435 | #: src/nat/nat.c:1974 |
5403 | msgid "`upnpc' command failed to establish port mapping" | 5436 | msgid "`upnpc' command failed to establish port mapping" |
5404 | msgstr "" | 5437 | msgstr "" |
5405 | 5438 | ||
5406 | #: src/nat/nat.c:1949 | 5439 | #: src/nat/nat.c:1976 |
5407 | msgid "`external-ip' command not found" | 5440 | msgid "`external-ip' command not found" |
5408 | msgstr "" | 5441 | msgstr "" |
5409 | 5442 | ||
5410 | #: src/nat/nat.c:1951 | 5443 | #: src/nat/nat.c:1978 |
5411 | #, fuzzy | 5444 | #, fuzzy |
5412 | msgid "Failed to run `external-ip` command" | 5445 | msgid "Failed to run `external-ip` command" |
5413 | msgstr "运行 %s失败:%s %d\n" | 5446 | msgstr "运行 %s失败:%s %d\n" |
5414 | 5447 | ||
5415 | #: src/nat/nat.c:1953 | 5448 | #: src/nat/nat.c:1980 |
5416 | msgid "`external-ip' command output invalid" | 5449 | msgid "`external-ip' command output invalid" |
5417 | msgstr "" | 5450 | msgstr "" |
5418 | 5451 | ||
5419 | #: src/nat/nat.c:1955 | 5452 | #: src/nat/nat.c:1982 |
5420 | msgid "no valid address was returned by `external-ip'" | 5453 | msgid "no valid address was returned by `external-ip'" |
5421 | msgstr "" | 5454 | msgstr "" |
5422 | 5455 | ||
5423 | #: src/nat/nat.c:1957 | 5456 | #: src/nat/nat.c:1984 |
5424 | #, fuzzy | 5457 | #, fuzzy |
5425 | msgid "Could not determine interface with internal/local network address" | 5458 | msgid "Could not determine interface with internal/local network address" |
5426 | msgstr "无法确定用户界面定义文件。" | 5459 | msgstr "无法确定用户界面定义文件。" |
5427 | 5460 | ||
5428 | #: src/nat/nat.c:1959 | 5461 | #: src/nat/nat.c:1986 |
5429 | msgid "No functioning gnunet-helper-nat-server installation found" | 5462 | msgid "No functioning gnunet-helper-nat-server installation found" |
5430 | msgstr "" | 5463 | msgstr "" |
5431 | 5464 | ||
5432 | #: src/nat/nat.c:1961 | 5465 | #: src/nat/nat.c:1988 |
5433 | msgid "NAT test could not be initialized" | 5466 | msgid "NAT test could not be initialized" |
5434 | msgstr "" | 5467 | msgstr "" |
5435 | 5468 | ||
5436 | #: src/nat/nat.c:1963 | 5469 | #: src/nat/nat.c:1990 |
5437 | msgid "NAT test timeout reached" | 5470 | msgid "NAT test timeout reached" |
5438 | msgstr "" | 5471 | msgstr "" |
5439 | 5472 | ||
5440 | #: src/nat/nat.c:1965 | 5473 | #: src/nat/nat.c:1992 |
5441 | msgid "could not register NAT" | 5474 | msgid "could not register NAT" |
5442 | msgstr "" | 5475 | msgstr "" |
5443 | 5476 | ||
5444 | #: src/nat/nat.c:1967 | 5477 | #: src/nat/nat.c:1994 |
5445 | msgid "No working gnunet-helper-nat-client installation found" | 5478 | msgid "No working gnunet-helper-nat-client installation found" |
5446 | msgstr "" | 5479 | msgstr "" |
5447 | 5480 | ||
@@ -5453,16 +5486,12 @@ msgstr "" | |||
5453 | msgid "`upnpc' command not found\n" | 5486 | msgid "`upnpc' command not found\n" |
5454 | msgstr "" | 5487 | msgstr "" |
5455 | 5488 | ||
5456 | #: src/nat/nat_test.c:360 | 5489 | #: src/nat/nat_test.c:467 |
5457 | msgid "Failed to connect to `gnunet-nat-server'\n" | ||
5458 | msgstr "" | ||
5459 | |||
5460 | #: src/nat/nat_test.c:462 | ||
5461 | #, c-format | 5490 | #, c-format |
5462 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" | 5491 | msgid "Failed to create listen socket bound to `%s' for NAT test: %s\n" |
5463 | msgstr "" | 5492 | msgstr "" |
5464 | 5493 | ||
5465 | #: src/nat/nat_test.c:497 | 5494 | #: src/nat/nat_test.c:502 |
5466 | #, fuzzy | 5495 | #, fuzzy |
5467 | msgid "NAT test failed to start NAT library\n" | 5496 | msgid "NAT test failed to start NAT library\n" |
5468 | msgstr "初始化“%s”服务失败。\n" | 5497 | msgstr "初始化“%s”服务失败。\n" |
@@ -5505,8 +5534,8 @@ msgstr "" | |||
5505 | msgid "Measure quality and performance of the NSE service." | 5534 | msgid "Measure quality and performance of the NSE service." |
5506 | msgstr "无法访问该服务" | 5535 | msgstr "无法访问该服务" |
5507 | 5536 | ||
5508 | #: src/nse/gnunet-service-nse.c:1537 | 5537 | #: src/nse/gnunet-service-nse.c:1541 |
5509 | #: src/revocation/gnunet-service-revocation.c:827 src/util/gnunet-scrypt.c:260 | 5538 | #: src/revocation/gnunet-service-revocation.c:848 src/util/gnunet-scrypt.c:260 |
5510 | #, fuzzy | 5539 | #, fuzzy |
5511 | msgid "Value is too large.\n" | 5540 | msgid "Value is too large.\n" |
5512 | msgstr "值不在合法范围内。" | 5541 | msgstr "值不在合法范围内。" |
@@ -5767,7 +5796,7 @@ msgid "Received a watch result for a non existing watch.\n" | |||
5767 | msgstr "" | 5796 | msgstr "" |
5768 | 5797 | ||
5769 | #: src/peerstore/plugin_peerstore_sqlite.c:398 | 5798 | #: src/peerstore/plugin_peerstore_sqlite.c:398 |
5770 | #: src/psycstore/plugin_psycstore_sqlite.c:281 | 5799 | #: src/psycstore/plugin_psycstore_sqlite.c:282 |
5771 | #, fuzzy, c-format | 5800 | #, fuzzy, c-format |
5772 | msgid "" | 5801 | msgid "" |
5773 | "Error executing SQL query: %s\n" | 5802 | "Error executing SQL query: %s\n" |
@@ -5775,7 +5804,7 @@ msgid "" | |||
5775 | msgstr "创建用户出错" | 5804 | msgstr "创建用户出错" |
5776 | 5805 | ||
5777 | #: src/peerstore/plugin_peerstore_sqlite.c:422 | 5806 | #: src/peerstore/plugin_peerstore_sqlite.c:422 |
5778 | #: src/psycstore/plugin_psycstore_sqlite.c:258 | 5807 | #: src/psycstore/plugin_psycstore_sqlite.c:259 |
5779 | #, fuzzy, c-format | 5808 | #, fuzzy, c-format |
5780 | msgid "" | 5809 | msgid "" |
5781 | "Error preparing SQL query: %s\n" | 5810 | "Error preparing SQL query: %s\n" |
@@ -5832,43 +5861,48 @@ msgstr "打开日志文件“%s”失败:%s\n" | |||
5832 | msgid "Failed to get master counters!\n" | 5861 | msgid "Failed to get master counters!\n" |
5833 | msgstr "发送消息失败。\n" | 5862 | msgstr "发送消息失败。\n" |
5834 | 5863 | ||
5835 | #: src/psycstore/gnunet-service-psycstore.c:645 | 5864 | #: src/psycstore/gnunet-service-psycstore.c:657 |
5836 | #, fuzzy | 5865 | #, fuzzy, c-format |
5837 | msgid "Failed to begin modifying state!\n" | 5866 | msgid "Failed to begin modifying state: %d\n" |
5838 | msgstr "运行 %s失败:%s %d\n" | 5867 | msgstr "运行 %s失败:%s %d\n" |
5839 | 5868 | ||
5840 | #: src/psycstore/gnunet-service-psycstore.c:656 | 5869 | #: src/psycstore/gnunet-service-psycstore.c:667 |
5870 | #, fuzzy, c-format | ||
5871 | msgid "Failed to modify state: %d\n" | ||
5872 | msgstr "运行 %s失败:%s %d\n" | ||
5873 | |||
5874 | #: src/psycstore/gnunet-service-psycstore.c:675 | ||
5841 | #, fuzzy | 5875 | #, fuzzy |
5842 | msgid "Failed to end modifying state!\n" | 5876 | msgid "Failed to end modifying state!\n" |
5843 | msgstr "运行 %s失败:%s %d\n" | 5877 | msgstr "运行 %s失败:%s %d\n" |
5844 | 5878 | ||
5845 | #: src/psycstore/gnunet-service-psycstore.c:686 | 5879 | #: src/psycstore/gnunet-service-psycstore.c:706 |
5846 | msgid "Tried to set invalid state variable name!\n" | 5880 | msgid "Tried to set invalid state variable name!\n" |
5847 | msgstr "" | 5881 | msgstr "" |
5848 | 5882 | ||
5849 | #: src/psycstore/gnunet-service-psycstore.c:700 | 5883 | #: src/psycstore/gnunet-service-psycstore.c:720 |
5850 | #, fuzzy | 5884 | #, fuzzy |
5851 | msgid "Failed to begin synchronizing state!\n" | 5885 | msgid "Failed to begin synchronizing state!\n" |
5852 | msgstr "发送消息失败。\n" | 5886 | msgstr "发送消息失败。\n" |
5853 | 5887 | ||
5854 | #: src/psycstore/gnunet-service-psycstore.c:717 | 5888 | #: src/psycstore/gnunet-service-psycstore.c:737 |
5855 | #, fuzzy | 5889 | #, fuzzy |
5856 | msgid "Failed to end synchronizing state!\n" | 5890 | msgid "Failed to end synchronizing state!\n" |
5857 | msgstr "发送消息失败。\n" | 5891 | msgstr "发送消息失败。\n" |
5858 | 5892 | ||
5859 | #: src/psycstore/gnunet-service-psycstore.c:737 | 5893 | #: src/psycstore/gnunet-service-psycstore.c:757 |
5860 | #: src/psycstore/gnunet-service-psycstore.c:756 | 5894 | #: src/psycstore/gnunet-service-psycstore.c:776 |
5861 | #, fuzzy | 5895 | #, fuzzy |
5862 | msgid "Failed to reset state!\n" | 5896 | msgid "Failed to reset state!\n" |
5863 | msgstr "发送消息失败。\n" | 5897 | msgstr "发送消息失败。\n" |
5864 | 5898 | ||
5865 | #: src/psycstore/gnunet-service-psycstore.c:779 | 5899 | #: src/psycstore/gnunet-service-psycstore.c:799 |
5866 | #: src/psycstore/gnunet-service-psycstore.c:830 | 5900 | #: src/psycstore/gnunet-service-psycstore.c:850 |
5867 | msgid "Tried to get invalid state variable name!\n" | 5901 | msgid "Tried to get invalid state variable name!\n" |
5868 | msgstr "" | 5902 | msgstr "" |
5869 | 5903 | ||
5870 | #: src/psycstore/gnunet-service-psycstore.c:806 | 5904 | #: src/psycstore/gnunet-service-psycstore.c:826 |
5871 | #: src/psycstore/gnunet-service-psycstore.c:845 | 5905 | #: src/psycstore/gnunet-service-psycstore.c:865 |
5872 | #, fuzzy | 5906 | #, fuzzy |
5873 | msgid "Failed to get state variable!\n" | 5907 | msgid "Failed to get state variable!\n" |
5874 | msgstr "发送消息失败。\n" | 5908 | msgstr "发送消息失败。\n" |
@@ -5878,7 +5912,7 @@ msgstr "发送消息失败。\n" | |||
5878 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" | 5912 | msgid "`%s' failed at %s:%d with error: %s (%d)\n" |
5879 | msgstr "“%s”于 %s:%d 处失败,错误为:%s\n" | 5913 | msgstr "“%s”于 %s:%d 处失败,错误为:%s\n" |
5880 | 5914 | ||
5881 | #: src/psycstore/plugin_psycstore_sqlite.c:1907 | 5915 | #: src/psycstore/plugin_psycstore_sqlite.c:1923 |
5882 | #, fuzzy | 5916 | #, fuzzy |
5883 | msgid "SQLite database running\n" | 5917 | msgid "SQLite database running\n" |
5884 | msgstr "sqlite 数据仓库" | 5918 | msgstr "sqlite 数据仓库" |
@@ -6139,36 +6173,36 @@ msgstr "" | |||
6139 | msgid "test if the public key KEY has been revoked" | 6173 | msgid "test if the public key KEY has been revoked" |
6140 | msgstr "" | 6174 | msgstr "" |
6141 | 6175 | ||
6142 | #: src/revocation/gnunet-service-revocation.c:427 | 6176 | #: src/revocation/gnunet-service-revocation.c:481 |
6143 | msgid "# unsupported revocations received via set union" | 6177 | msgid "# unsupported revocations received via set union" |
6144 | msgstr "" | 6178 | msgstr "" |
6145 | 6179 | ||
6146 | #: src/revocation/gnunet-service-revocation.c:436 | 6180 | #: src/revocation/gnunet-service-revocation.c:490 |
6147 | msgid "# revocation messages received via set union" | 6181 | msgid "# revocation messages received via set union" |
6148 | msgstr "" | 6182 | msgstr "" |
6149 | 6183 | ||
6150 | #: src/revocation/gnunet-service-revocation.c:441 | 6184 | #: src/revocation/gnunet-service-revocation.c:495 |
6151 | #, c-format | 6185 | #, c-format |
6152 | msgid "Error computing revocation set union with %s\n" | 6186 | msgid "Error computing revocation set union with %s\n" |
6153 | msgstr "" | 6187 | msgstr "" |
6154 | 6188 | ||
6155 | #: src/revocation/gnunet-service-revocation.c:445 | 6189 | #: src/revocation/gnunet-service-revocation.c:499 |
6156 | #, fuzzy | 6190 | #, fuzzy |
6157 | msgid "# revocation set unions failed" | 6191 | msgid "# revocation set unions failed" |
6158 | msgstr "" | 6192 | msgstr "" |
6159 | "\n" | 6193 | "\n" |
6160 | "按任意键继续\n" | 6194 | "按任意键继续\n" |
6161 | 6195 | ||
6162 | #: src/revocation/gnunet-service-revocation.c:454 | 6196 | #: src/revocation/gnunet-service-revocation.c:508 |
6163 | msgid "# revocation set unions completed" | 6197 | msgid "# revocation set unions completed" |
6164 | msgstr "" | 6198 | msgstr "" |
6165 | 6199 | ||
6166 | #: src/revocation/gnunet-service-revocation.c:493 | 6200 | #: src/revocation/gnunet-service-revocation.c:547 |
6167 | #: src/revocation/gnunet-service-revocation.c:759 | 6201 | #: src/revocation/gnunet-service-revocation.c:780 |
6168 | msgid "SET service crashed, terminating revocation service\n" | 6202 | msgid "SET service crashed, terminating revocation service\n" |
6169 | msgstr "" | 6203 | msgstr "" |
6170 | 6204 | ||
6171 | #: src/revocation/gnunet-service-revocation.c:851 | 6205 | #: src/revocation/gnunet-service-revocation.c:872 |
6172 | #, fuzzy | 6206 | #, fuzzy |
6173 | msgid "Could not open revocation database file!" | 6207 | msgid "Could not open revocation database file!" |
6174 | msgstr "无法连接到 %s:%u:%s\n" | 6208 | msgstr "无法连接到 %s:%u:%s\n" |
@@ -6232,7 +6266,9 @@ msgid "Calculate the Vectorproduct with a GNUnet peer." | |||
6232 | msgstr "" | 6266 | msgstr "" |
6233 | 6267 | ||
6234 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 | 6268 | #: src/scalarproduct/gnunet-service-scalarproduct_alice.c:1419 |
6235 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1564 | 6269 | #: src/scalarproduct/gnunet-service-scalarproduct_bob.c:1549 |
6270 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c:1193 | ||
6271 | #: src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c:1252 | ||
6236 | #, fuzzy | 6272 | #, fuzzy |
6237 | msgid "Connect to CADET failed\n" | 6273 | msgid "Connect to CADET failed\n" |
6238 | msgstr "“%s”已连接到“%s”。\n" | 6274 | msgstr "“%s”已连接到“%s”。\n" |
@@ -6500,7 +6536,7 @@ msgstr "创建用户出错" | |||
6500 | msgid "Error loading sensor from file: %s\n" | 6536 | msgid "Error loading sensor from file: %s\n" |
6501 | msgstr "创建用户出错" | 6537 | msgstr "创建用户出错" |
6502 | 6538 | ||
6503 | #: src/set/gnunet-service-set.c:1531 | 6539 | #: src/set/gnunet-service-set.c:1960 |
6504 | #, fuzzy | 6540 | #, fuzzy |
6505 | msgid "Could not connect to cadet service\n" | 6541 | msgid "Could not connect to cadet service\n" |
6506 | msgstr "无法连接到 %s:%u:%s\n" | 6542 | msgstr "无法连接到 %s:%u:%s\n" |
@@ -6626,7 +6662,7 @@ msgstr "" | |||
6626 | msgid "Could not save some persistent statistics\n" | 6662 | msgid "Could not save some persistent statistics\n" |
6627 | msgstr "初始化“%s”服务失败。\n" | 6663 | msgstr "初始化“%s”服务失败。\n" |
6628 | 6664 | ||
6629 | #: src/statistics/statistics_api.c:1090 | 6665 | #: src/statistics/statistics_api.c:1088 |
6630 | msgid "" | 6666 | msgid "" |
6631 | "Failed to receive acknowledgement from statistics service, some statistics " | 6667 | "Failed to receive acknowledgement from statistics service, some statistics " |
6632 | "might have been lost!\n" | 6668 | "might have been lost!\n" |
@@ -8213,7 +8249,7 @@ msgstr "" | |||
8213 | msgid "# sessions allocated" | 8249 | msgid "# sessions allocated" |
8214 | msgstr "" | 8250 | msgstr "" |
8215 | 8251 | ||
8216 | #: src/transport/transport_api.c:812 | 8252 | #: src/transport/transport_api.c:827 |
8217 | #, c-format | 8253 | #, c-format |
8218 | msgid "Received unexpected message of type %u in %s:%u\n" | 8254 | msgid "Received unexpected message of type %u in %s:%u\n" |
8219 | msgstr "" | 8255 | msgstr "" |
@@ -8257,34 +8293,34 @@ msgstr "" | |||
8257 | msgid "Metadata `%s' failed to deserialize" | 8293 | msgid "Metadata `%s' failed to deserialize" |
8258 | msgstr "" | 8294 | msgstr "" |
8259 | 8295 | ||
8260 | #: src/util/client.c:263 src/util/client.c:889 src/util/service.c:621 | 8296 | #: src/util/client.c:264 src/util/client.c:894 src/util/service.c:621 |
8261 | #, c-format | 8297 | #, c-format |
8262 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" | 8298 | msgid "UNIXPATH `%s' too long, maximum length is %llu\n" |
8263 | msgstr "" | 8299 | msgstr "" |
8264 | 8300 | ||
8265 | #: src/util/client.c:267 src/util/client.c:894 src/util/service.c:625 | 8301 | #: src/util/client.c:268 src/util/client.c:899 src/util/service.c:625 |
8266 | #, fuzzy, c-format | 8302 | #, fuzzy, c-format |
8267 | msgid "Using `%s' instead\n" | 8303 | msgid "Using `%s' instead\n" |
8268 | msgstr "%s:选项“%s”有歧义\n" | 8304 | msgstr "%s:选项“%s”有歧义\n" |
8269 | 8305 | ||
8270 | #: src/util/client.c:362 | 8306 | #: src/util/client.c:367 |
8271 | #, c-format | 8307 | #, c-format |
8272 | msgid "" | 8308 | msgid "" |
8273 | "Could not determine valid hostname and port for service `%s' from " | 8309 | "Could not determine valid hostname and port for service `%s' from " |
8274 | "configuration.\n" | 8310 | "configuration.\n" |
8275 | msgstr "" | 8311 | msgstr "" |
8276 | 8312 | ||
8277 | #: src/util/client.c:370 | 8313 | #: src/util/client.c:375 |
8278 | #, c-format | 8314 | #, c-format |
8279 | msgid "Need a non-empty hostname for service `%s'.\n" | 8315 | msgid "Need a non-empty hostname for service `%s'.\n" |
8280 | msgstr "" | 8316 | msgstr "" |
8281 | 8317 | ||
8282 | #: src/util/client.c:1039 | 8318 | #: src/util/client.c:1044 |
8283 | #, fuzzy, c-format | 8319 | #, fuzzy, c-format |
8284 | msgid "Could not connect to service `%s', configuration broken.\n" | 8320 | msgid "Could not connect to service `%s', configuration broken.\n" |
8285 | msgstr "无法连接到 %s:%u:%s\n" | 8321 | msgstr "无法连接到 %s:%u:%s\n" |
8286 | 8322 | ||
8287 | #: src/util/client.c:1051 | 8323 | #: src/util/client.c:1056 |
8288 | #, c-format | 8324 | #, c-format |
8289 | msgid "Failure to transmit request to service `%s'\n" | 8325 | msgid "Failure to transmit request to service `%s'\n" |
8290 | msgstr "" | 8326 | msgstr "" |
@@ -8366,12 +8402,12 @@ msgid "" | |||
8366 | "as an environmental variable\n" | 8402 | "as an environmental variable\n" |
8367 | msgstr "" | 8403 | msgstr "" |
8368 | 8404 | ||
8369 | #: src/util/connection.c:424 | 8405 | #: src/util/connection.c:429 |
8370 | #, fuzzy, c-format | 8406 | #, fuzzy, c-format |
8371 | msgid "Access denied to `%s'\n" | 8407 | msgid "Access denied to `%s'\n" |
8372 | msgstr "“%s”已连接到“%s”。\n" | 8408 | msgstr "“%s”已连接到“%s”。\n" |
8373 | 8409 | ||
8374 | #: src/util/connection.c:441 | 8410 | #: src/util/connection.c:446 |
8375 | #, c-format | 8411 | #, c-format |
8376 | msgid "Accepting connection from `%s': %p\n" | 8412 | msgid "Accepting connection from `%s': %p\n" |
8377 | msgstr "" | 8413 | msgstr "" |
@@ -8438,17 +8474,17 @@ msgstr "找不到接口“%s”的一个 IP 地址。\n" | |||
8438 | msgid "libgcrypt has not the expected version (version %s is required).\n" | 8474 | msgid "libgcrypt has not the expected version (version %s is required).\n" |
8439 | msgstr "libgcrypt 的版本不符合预期(要求版本 %s)。\n" | 8475 | msgstr "libgcrypt 的版本不符合预期(要求版本 %s)。\n" |
8440 | 8476 | ||
8441 | #: src/util/crypto_rsa.c:981 | 8477 | #: src/util/crypto_rsa.c:999 |
8442 | #, fuzzy, c-format | 8478 | #, fuzzy, c-format |
8443 | msgid "RSA signature verification failed at %s:%d: %s\n" | 8479 | msgid "RSA signature verification failed at %s:%d: %s\n" |
8444 | msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" | 8480 | msgstr "对驱动器“%2$s”的“%1$s”操作失败:%3$u\n" |
8445 | 8481 | ||
8446 | #: src/util/disk.c:1221 | 8482 | #: src/util/disk.c:1226 |
8447 | #, c-format | 8483 | #, c-format |
8448 | msgid "Expected `%s' to be a directory!\n" | 8484 | msgid "Expected `%s' to be a directory!\n" |
8449 | msgstr "“%s”应为目录!\n" | 8485 | msgstr "“%s”应为目录!\n" |
8450 | 8486 | ||
8451 | #: src/util/disk.c:1444 src/util/service.c:1328 | 8487 | #: src/util/disk.c:1449 src/util/service.c:1328 |
8452 | #, c-format | 8488 | #, c-format |
8453 | msgid "Cannot obtain information about user `%s': %s\n" | 8489 | msgid "Cannot obtain information about user `%s': %s\n" |
8454 | msgstr "无法获取有关用户“%s”的信息:%s\n" | 8490 | msgstr "无法获取有关用户“%s”的信息:%s\n" |
@@ -8943,6 +8979,16 @@ msgstr "" | |||
8943 | msgid "signal (%d, %p) returned %d.\n" | 8979 | msgid "signal (%d, %p) returned %d.\n" |
8944 | msgstr "" | 8980 | msgstr "" |
8945 | 8981 | ||
8982 | #: src/util/socks.c:592 | ||
8983 | #, c-format | ||
8984 | msgid "Attempting to use invalid port %d as SOCKS proxy for service `%s'.\n" | ||
8985 | msgstr "" | ||
8986 | |||
8987 | #: src/util/socks.c:605 | ||
8988 | #, c-format | ||
8989 | msgid "Attempting to proxy service `%s' to invalid port %d or hostname `%s'.\n" | ||
8990 | msgstr "" | ||
8991 | |||
8946 | #: src/util/strings.c:146 | 8992 | #: src/util/strings.c:146 |
8947 | msgid "b" | 8993 | msgid "b" |
8948 | msgstr "b" | 8994 | msgstr "b" |
diff --git a/src/consensus/consensus_protocol.h b/src/consensus/consensus_protocol.h index 377d26966..ede22eb61 100644 --- a/src/consensus/consensus_protocol.h +++ b/src/consensus/consensus_protocol.h | |||
@@ -37,6 +37,9 @@ GNUNET_NETWORK_STRUCT_BEGIN | |||
37 | 37 | ||
38 | /** | 38 | /** |
39 | * Sent as context message for set reconciliation. | 39 | * Sent as context message for set reconciliation. |
40 | * | ||
41 | * Essentially contains all the fields | ||
42 | * from 'struct TaskKey', but in NBO. | ||
40 | */ | 43 | */ |
41 | struct GNUNET_CONSENSUS_RoundContextMessage | 44 | struct GNUNET_CONSENSUS_RoundContextMessage |
42 | { | 45 | { |
@@ -44,9 +47,44 @@ struct GNUNET_CONSENSUS_RoundContextMessage | |||
44 | * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT | 47 | * Type: GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT |
45 | */ | 48 | */ |
46 | struct GNUNET_MessageHeader header; | 49 | struct GNUNET_MessageHeader header; |
47 | uint32_t round; | 50 | |
48 | uint32_t exp_repetition; | 51 | /** |
49 | uint32_t exp_subround; | 52 | * A value from 'enum PhaseKind'. |
53 | */ | ||
54 | uint16_t kind; | ||
55 | |||
56 | /** | ||
57 | * Number of the first peer | ||
58 | * in canonical order. | ||
59 | */ | ||
60 | int16_t peer1; | ||
61 | |||
62 | /** | ||
63 | * Number of the second peer in canonical order. | ||
64 | */ | ||
65 | int16_t peer2; | ||
66 | |||
67 | /** | ||
68 | * Repetition of the gradecast phase. | ||
69 | */ | ||
70 | int16_t repetition; | ||
71 | |||
72 | /** | ||
73 | * Leader in the gradecast phase. | ||
74 | * | ||
75 | * Can be different from both peer1 and peer2. | ||
76 | */ | ||
77 | int16_t leader; | ||
78 | |||
79 | /** | ||
80 | * Non-zero if this set reconciliation | ||
81 | * had elements removed because they were contested. | ||
82 | * | ||
83 | * Will be considered when grading broadcasts. | ||
84 | * | ||
85 | * Ignored for set operations that are not within gradecasts. | ||
86 | */ | ||
87 | uint16_t is_contested; | ||
50 | }; | 88 | }; |
51 | 89 | ||
52 | GNUNET_NETWORK_STRUCT_END | 90 | GNUNET_NETWORK_STRUCT_END |
diff --git a/src/consensus/gnunet-service-consensus.c b/src/consensus/gnunet-service-consensus.c index acae74eaf..424be7a71 100644 --- a/src/consensus/gnunet-service-consensus.c +++ b/src/consensus/gnunet-service-consensus.c | |||
@@ -34,234 +34,410 @@ | |||
34 | #include "consensus.h" | 34 | #include "consensus.h" |
35 | 35 | ||
36 | 36 | ||
37 | /** | ||
38 | * Log macro that prefixes the local peer and the peer we are in contact with. | ||
39 | * | ||
40 | * @param kind log level | ||
41 | * @param cpi ConsensusPeerInformation of the partner peer | ||
42 | * @param m log message | ||
43 | */ | ||
44 | #define LOG_PP(kind, cpi, m,...) GNUNET_log (kind, "P%d for P%d: " m, \ | ||
45 | cpi->session->local_peer_idx, (int) (cpi - cpi->session->info),##__VA_ARGS__) | ||
46 | 37 | ||
38 | GNUNET_NETWORK_STRUCT_BEGIN | ||
47 | 39 | ||
48 | /** | 40 | /** |
49 | * Number of exponential rounds, used in the exp and completion round. | 41 | * Tuple of integers that together |
42 | * identify a task uniquely. | ||
50 | */ | 43 | */ |
51 | #define NUM_EXP_REPETITIONS 4 | 44 | struct TaskKey { |
52 | 45 | /** | |
53 | 46 | * A value from 'enum PhaseKind'. | |
54 | /* forward declarations */ | 47 | */ |
55 | 48 | uint16_t kind GNUNET_PACKED; | |
56 | /* mutual recursion with struct ConsensusSession */ | ||
57 | struct ConsensusPeerInformation; | ||
58 | |||
59 | /* mutual recursion with round_over */ | ||
60 | static void | ||
61 | subround_over (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc); | ||
62 | 49 | ||
50 | /** | ||
51 | * Number of the first peer | ||
52 | * in canonical order. | ||
53 | */ | ||
54 | int16_t peer1 GNUNET_PACKED; | ||
63 | 55 | ||
64 | /** | ||
65 | * Describes the current round a consensus session is in. | ||
66 | */ | ||
67 | enum ConsensusRound | ||
68 | { | ||
69 | /** | 56 | /** |
70 | * Not started the protocol yet. | 57 | * Number of the second peer in canonical order. |
71 | */ | 58 | */ |
72 | CONSENSUS_ROUND_BEGIN=0, | 59 | int16_t peer2 GNUNET_PACKED; |
60 | |||
73 | /** | 61 | /** |
74 | * Distribution of elements with the exponential scheme. | 62 | * Repetition of the gradecast phase. |
75 | */ | 63 | */ |
76 | CONSENSUS_ROUND_EXCHANGE, | 64 | int16_t repetition GNUNET_PACKED; |
65 | |||
77 | /** | 66 | /** |
78 | * Collect and distribute missing values. | 67 | * Leader in the gradecast phase. |
68 | * | ||
69 | * Can be different from both peer1 and peer2. | ||
79 | */ | 70 | */ |
80 | CONSENSUS_ROUND_COMPLETION, | 71 | int16_t leader GNUNET_PACKED; |
72 | }; | ||
73 | |||
74 | |||
75 | enum ReferendumVote | ||
76 | { | ||
77 | VOTE_NONE = 0, | ||
78 | VOTE_ADD = 1, | ||
79 | VOTE_REMOVE = 2, | ||
80 | VOTE_CONTESTED = 3 | ||
81 | }; | ||
82 | |||
83 | |||
84 | struct SetKey | ||
85 | { | ||
86 | int set_kind GNUNET_PACKED; | ||
87 | int k1 GNUNET_PACKED; | ||
88 | int k2 GNUNET_PACKED; | ||
89 | }; | ||
90 | |||
91 | |||
92 | struct SetEntry | ||
93 | { | ||
94 | struct SetKey key; | ||
95 | struct GNUNET_SET_Handle *h; | ||
81 | /** | 96 | /** |
82 | * Consensus concluded. After timeout and finished communication with client, | 97 | * GNUNET_YES if the set resulted |
83 | * consensus session will be destroyed. | 98 | * from applying a referendum with contested |
99 | * elements. | ||
84 | */ | 100 | */ |
85 | CONSENSUS_ROUND_FINISH | 101 | int is_contested; |
86 | }; | 102 | }; |
87 | 103 | ||
88 | 104 | ||
89 | /** | 105 | struct DiffKey |
90 | * Information about the current round. | 106 | { |
91 | */ | 107 | int diff_kind GNUNET_PACKED; |
92 | struct RoundInfo | 108 | int k1 GNUNET_PACKED; |
109 | int k2 GNUNET_PACKED; | ||
110 | }; | ||
111 | |||
112 | struct RfnKey | ||
113 | { | ||
114 | int rfn_kind GNUNET_PACKED; | ||
115 | int k1 GNUNET_PACKED; | ||
116 | int k2 GNUNET_PACKED; | ||
117 | }; | ||
118 | |||
119 | |||
120 | GNUNET_NETWORK_STRUCT_END | ||
121 | |||
122 | enum PhaseKind | ||
123 | { | ||
124 | PHASE_KIND_ALL_TO_ALL, | ||
125 | PHASE_KIND_GRADECAST_LEADER, | ||
126 | PHASE_KIND_GRADECAST_ECHO, | ||
127 | PHASE_KIND_GRADECAST_ECHO_GRADE, | ||
128 | PHASE_KIND_GRADECAST_CONFIRM, | ||
129 | PHASE_KIND_GRADECAST_CONFIRM_GRADE, | ||
130 | PHASE_KIND_GRADECAST_APPLY_RESULT, | ||
131 | PHASE_KIND_FINISH, | ||
132 | }; | ||
133 | |||
134 | |||
135 | enum ActionType | ||
93 | { | 136 | { |
94 | /** | 137 | /** |
95 | * The current main round. | 138 | * Do a set reconciliation with another peer (or via looback). |
96 | */ | 139 | */ |
97 | enum ConsensusRound round; | 140 | ACTION_RECONCILE, |
98 | /** | 141 | /** |
99 | * The current exp round repetition, valid if | 142 | * Apply a referendum with a threshold |
100 | * the main round is an exp round. | 143 | * to a set and/or a diff. |
101 | */ | 144 | */ |
102 | uint32_t exp_repetition; | 145 | ACTION_EVAL_RFN, |
103 | /** | 146 | /** |
104 | * The current exp subround, valid if | 147 | * Apply a diff to a set. |
105 | * the main round is an exp round. | ||
106 | */ | 148 | */ |
107 | uint32_t exp_subround; | 149 | ACTION_APPLY_DIFF, |
150 | ACTION_FINISH, | ||
151 | }; | ||
152 | |||
153 | enum SetKind | ||
154 | { | ||
155 | SET_KIND_NONE = 0, | ||
156 | SET_KIND_CURRENT, | ||
157 | SET_KIND_LEADER, | ||
158 | SET_KIND_ECHO_RESULT, | ||
108 | }; | 159 | }; |
109 | 160 | ||
161 | enum DiffKind | ||
162 | { | ||
163 | DIFF_KIND_NONE = 0, | ||
164 | DIFF_KIND_LEADER, | ||
165 | DIFF_KIND_GRADECAST_RESULT, | ||
166 | }; | ||
110 | 167 | ||
111 | /** | 168 | enum RfnKind |
112 | * A consensus session consists of one local client and the remote authorities. | 169 | { |
170 | RFN_KIND_NONE = 0, | ||
171 | RFN_KIND_ECHO, | ||
172 | RFN_KIND_CONFIRM, | ||
173 | }; | ||
174 | |||
175 | |||
176 | /* | ||
177 | * Node in the consensus task graph. | ||
113 | */ | 178 | */ |
114 | struct ConsensusSession | 179 | struct TaskEntry |
115 | { | 180 | { |
181 | struct TaskKey key; | ||
182 | |||
183 | struct Step *step; | ||
184 | |||
185 | int is_running; | ||
186 | |||
187 | int is_finished; | ||
188 | |||
189 | enum ActionType action; | ||
190 | |||
191 | struct SetKey input_set; | ||
192 | struct DiffKey input_diff; | ||
193 | struct RfnKey input_rfn; | ||
194 | struct SetKey output_set; | ||
195 | struct DiffKey output_diff; | ||
196 | struct RfnKey output_rfn; | ||
197 | |||
116 | /** | 198 | /** |
117 | * Consensus sessions are kept in a DLL. | 199 | * Threshold when evaluating referendums. |
118 | */ | 200 | */ |
119 | struct ConsensusSession *next; | 201 | uint16_t threshold; |
120 | 202 | ||
121 | /** | 203 | /** |
122 | * Consensus sessions are kept in a DLL. | 204 | * Operation that is running for this task. |
123 | */ | 205 | */ |
124 | struct ConsensusSession *prev; | 206 | struct GNUNET_SET_OperationHandle *op; |
125 | 207 | ||
126 | /** | 208 | struct GNUNET_SET_Handle *commited_set; |
127 | * Global consensus identification, computed | 209 | }; |
128 | * from the session id and participating authorities. | ||
129 | */ | ||
130 | struct GNUNET_HashCode global_id; | ||
131 | 210 | ||
211 | |||
212 | struct Step | ||
213 | { | ||
132 | /** | 214 | /** |
133 | * Client that inhabits the session | 215 | * All steps of one session are in a |
216 | * linked list for easier deallocation. | ||
134 | */ | 217 | */ |
135 | struct GNUNET_SERVER_Client *client; | 218 | struct Step *prev; |
136 | 219 | ||
137 | /** | 220 | /** |
138 | * Queued messages to the client. | 221 | * All steps of one session are in a |
222 | * linked list for easier deallocation. | ||
139 | */ | 223 | */ |
140 | struct GNUNET_MQ_Handle *client_mq; | 224 | struct Step *next; |
141 | 225 | ||
142 | /** | 226 | struct ConsensusSession *session; |
143 | * Time when the conclusion of the consensus should begin. | 227 | |
228 | struct TaskEntry **tasks; | ||
229 | unsigned int tasks_len; | ||
230 | unsigned int tasks_cap; | ||
231 | |||
232 | unsigned int finished_tasks; | ||
233 | |||
234 | /* | ||
235 | * Tasks that have this task as dependency. | ||
236 | * | ||
237 | * We store pointers to subordinates rather | ||
238 | * than to prerequisites since it makes | ||
239 | * tracking the readiness of a task easier. | ||
144 | */ | 240 | */ |
145 | struct GNUNET_TIME_Absolute conclude_start; | 241 | struct Step **subordinates; |
242 | unsigned int subordinates_len; | ||
243 | unsigned int subordinates_cap; | ||
146 | 244 | ||
147 | /** | 245 | /** |
148 | * Timeout for all rounds together, single rounds will schedule a timeout task | 246 | * Counter for the prerequisites of |
149 | * with a fraction of the conclude timeout. | 247 | * this step. |
150 | * Only valid once the current round is not CONSENSUS_ROUND_BEGIN. | ||
151 | */ | 248 | */ |
152 | struct GNUNET_TIME_Absolute conclude_deadline; | 249 | size_t pending_prereq; |
153 | 250 | ||
154 | /** | 251 | /* |
155 | * Timeout task identifier for the current round or subround. | 252 | * Task that will run this step despite |
253 | * any pending prerequisites. | ||
156 | */ | 254 | */ |
157 | struct GNUNET_SCHEDULER_Task * round_timeout_tid; | 255 | struct GNUNET_SCHEDULER_Task *timeout_task; |
158 | 256 | ||
159 | /** | 257 | unsigned int is_running; |
160 | * Number of other peers in the consensus. | 258 | |
259 | unsigned int is_finished; | ||
260 | |||
261 | /* | ||
262 | * Round that this step should start. | ||
263 | * If not all prerequisites have run, | ||
264 | * the task will run anyway. | ||
161 | */ | 265 | */ |
162 | unsigned int num_peers; | 266 | unsigned int start_round; |
163 | 267 | ||
164 | /** | 268 | /* |
165 | * Information about the other peers, | 269 | * Number of rounds this step occupies. |
166 | * their state, etc. | 270 | * |
271 | * Some steps are more expensive, and thus | ||
272 | * are allocated more rounds. | ||
167 | */ | 273 | */ |
168 | struct ConsensusPeerInformation *info; | 274 | unsigned int num_rounds; |
169 | 275 | ||
170 | /** | 276 | /** |
171 | * Index of the local peer in the peers array | 277 | * Human-readable name for |
278 | * the task, used for debugging. | ||
172 | */ | 279 | */ |
173 | unsigned int local_peer_idx; | 280 | char *debug_name; |
281 | }; | ||
174 | 282 | ||
175 | /** | 283 | struct RfnPeerInfo |
176 | * Current round | 284 | { |
285 | /* Peers can propose changes, | ||
286 | * but they are only accepted once | ||
287 | * the whole set operation is done. */ | ||
288 | int is_commited; | ||
289 | }; | ||
290 | |||
291 | struct RfnElementInfo | ||
292 | { | ||
293 | struct GNUNET_SET_Element *element; | ||
294 | |||
295 | /* | ||
296 | * Vote (or VOTE_NONE) from every peer | ||
297 | * in the session about the element. | ||
177 | */ | 298 | */ |
178 | enum ConsensusRound current_round; | 299 | int *votes; |
300 | }; | ||
179 | 301 | ||
180 | /** | 302 | |
181 | * Permutation of peers for the current round, | 303 | struct ReferendumEntry |
304 | { | ||
305 | struct RfnKey key; | ||
306 | |||
307 | /* | ||
308 | * Elements where there is at least one proposed change. | ||
309 | * | ||
310 | * Maps the hash of the GNUNET_SET_Element | ||
311 | * to 'struct RfnElementInfo'. | ||
182 | */ | 312 | */ |
183 | uint32_t *shuffle; | 313 | struct GNUNET_CONTAINER_MultiHashMap *rfn_elements; |
184 | 314 | ||
185 | /** | 315 | /** |
186 | * Inverse permutation of peers for the current round, | 316 | * Stores, for every peer in the session, |
317 | * whether the peer finished the whole referendum. | ||
318 | * | ||
319 | * Votes from peers are only counted if they're | ||
320 | * marked as commited (#GNUNET_YES) in the referendum. | ||
321 | * | ||
322 | * Otherwise (#GNUNET_NO), the requested changes are | ||
323 | * not counted for majority votes or thresholds. | ||
187 | */ | 324 | */ |
188 | uint32_t *shuffle_inv; | 325 | int *peer_commited; |
326 | }; | ||
327 | |||
328 | |||
329 | struct DiffElementInfo | ||
330 | { | ||
331 | struct GNUNET_SET_Element *element; | ||
189 | 332 | ||
190 | /** | 333 | /** |
191 | * Current round of the exponential scheme. | 334 | * Positive weight for 'add', negative |
335 | * weights for 'remove'. | ||
192 | */ | 336 | */ |
193 | uint32_t exp_repetition; | 337 | int weight; |
338 | }; | ||
339 | |||
340 | |||
341 | /** | ||
342 | * Weighted diff. | ||
343 | */ | ||
344 | struct DiffEntry | ||
345 | { | ||
346 | struct DiffKey key; | ||
347 | struct GNUNET_CONTAINER_MultiHashMap *changes; | ||
348 | }; | ||
349 | |||
194 | 350 | ||
351 | |||
352 | /** | ||
353 | * A consensus session consists of one local client and the remote authorities. | ||
354 | */ | ||
355 | struct ConsensusSession | ||
356 | { | ||
195 | /** | 357 | /** |
196 | * Current sub-round of the exponential scheme. | 358 | * Consensus sessions are kept in a DLL. |
197 | */ | 359 | */ |
198 | uint32_t exp_subround; | 360 | struct ConsensusSession *next; |
199 | 361 | ||
200 | /** | 362 | /** |
201 | * The partner for the current exp-round. | 363 | * Consensus sessions are kept in a DLL. |
202 | * The local peer will initiate the set reconciliation with the | ||
203 | * outgoing peer. | ||
204 | */ | 364 | */ |
205 | struct ConsensusPeerInformation *partner_outgoing; | 365 | struct ConsensusSession *prev; |
366 | |||
367 | unsigned int num_client_insert_pending; | ||
368 | |||
369 | struct GNUNET_CONTAINER_MultiHashMap *setmap; | ||
370 | struct GNUNET_CONTAINER_MultiHashMap *rfnmap; | ||
371 | struct GNUNET_CONTAINER_MultiHashMap *diffmap; | ||
206 | 372 | ||
207 | /** | 373 | /** |
208 | * The partner for the current exp-round | 374 | * Array of peers with length 'num_peers'. |
209 | * The incoming peer will initiate the set reconciliation with | 375 | */ |
210 | * the incoming peer. | 376 | int *peers_ignored; |
377 | |||
378 | /* | ||
379 | * Mapping from (hashed) TaskKey to TaskEntry. | ||
380 | * | ||
381 | * We map the application_id for a round to the task that should be | ||
382 | * executed, so we don't have to go through all task whenever we get | ||
383 | * an incoming set op request. | ||
211 | */ | 384 | */ |
212 | struct ConsensusPeerInformation *partner_incoming; | 385 | struct GNUNET_CONTAINER_MultiHashMap *taskmap; |
386 | |||
387 | struct Step *steps_head; | ||
388 | struct Step *steps_tail; | ||
389 | |||
390 | int conclude_started; | ||
391 | |||
392 | int conclude_done; | ||
213 | 393 | ||
214 | /** | 394 | /** |
215 | * The consensus set of this session. | 395 | * Global consensus identification, computed |
216 | */ | 396 | * from the session id and participating authorities. |
217 | struct GNUNET_SET_Handle *element_set; | 397 | */ |
398 | struct GNUNET_HashCode global_id; | ||
218 | 399 | ||
219 | /** | 400 | /** |
220 | * Listener for requests from other peers. | 401 | * Client that inhabits the session |
221 | * Uses the session's global id as app id. | ||
222 | */ | 402 | */ |
223 | struct GNUNET_SET_ListenHandle *set_listener; | 403 | struct GNUNET_SERVER_Client *client; |
224 | }; | ||
225 | |||
226 | 404 | ||
227 | /** | ||
228 | * Information about a peer that is in a consensus session. | ||
229 | */ | ||
230 | struct ConsensusPeerInformation | ||
231 | { | ||
232 | /** | 405 | /** |
233 | * Peer identitty of the peer in the consensus session | 406 | * Queued messages to the client. |
234 | */ | 407 | */ |
235 | struct GNUNET_PeerIdentity peer_id; | 408 | struct GNUNET_MQ_Handle *client_mq; |
236 | 409 | ||
237 | /** | 410 | /** |
238 | * Back-reference to the consensus session, | 411 | * Time when the conclusion of the consensus should begin. |
239 | * to that ConsensusPeerInformation can be used as a closure | ||
240 | */ | 412 | */ |
241 | struct ConsensusSession *session; | 413 | struct GNUNET_TIME_Absolute conclude_start; |
242 | 414 | ||
243 | /** | 415 | /** |
244 | * Have we finished the set operation for this (sub-)round? | 416 | * Timeout for all rounds together, single rounds will schedule a timeout task |
417 | * with a fraction of the conclude timeout. | ||
418 | * Only valid once the current round is not CONSENSUS_ROUND_BEGIN. | ||
245 | */ | 419 | */ |
246 | int set_op_finished; | 420 | struct GNUNET_TIME_Absolute conclude_deadline; |
421 | |||
422 | struct GNUNET_PeerIdentity *peers; | ||
247 | 423 | ||
248 | /** | 424 | /** |
249 | * Set operation we are currently executing with this peer. | 425 | * Number of other peers in the consensus. |
250 | */ | 426 | */ |
251 | struct GNUNET_SET_OperationHandle *set_op; | 427 | unsigned int num_peers; |
252 | 428 | ||
253 | /** | 429 | /** |
254 | * Set operation we are planning on executing with this peer. | 430 | * Index of the local peer in the peers array |
255 | */ | 431 | */ |
256 | struct GNUNET_SET_OperationHandle *delayed_set_op; | 432 | unsigned int local_peer_idx; |
257 | 433 | ||
258 | /** | 434 | /** |
259 | * Info about the round of the delayed set operation. | 435 | * Listener for requests from other peers. |
436 | * Uses the session's global id as app id. | ||
260 | */ | 437 | */ |
261 | struct RoundInfo delayed_round_info; | 438 | struct GNUNET_SET_ListenHandle *set_listener; |
262 | }; | 439 | }; |
263 | 440 | ||
264 | |||
265 | /** | 441 | /** |
266 | * Linked list of sessions this peer participates in. | 442 | * Linked list of sessions this peer participates in. |
267 | */ | 443 | */ |
@@ -288,31 +464,123 @@ static struct GNUNET_SERVER_Handle *srv; | |||
288 | static struct GNUNET_PeerIdentity my_peer; | 464 | static struct GNUNET_PeerIdentity my_peer; |
289 | 465 | ||
290 | 466 | ||
291 | /** | 467 | static void |
292 | * Check if the current subround has finished. | 468 | finish_task (struct TaskEntry *task); |
293 | * Must only be called when an exp-round is the current round. | 469 | |
294 | * | 470 | static void |
295 | * @param session session to check for exp-round completion | 471 | run_task_remote_union (struct ConsensusSession *session, struct TaskEntry *task); |
296 | * @return GNUNET_YES if the subround has finished, | 472 | |
297 | * GNUNET_NO if not | 473 | static void |
298 | */ | 474 | run_task_eval_rfn (struct ConsensusSession *session, struct TaskEntry *task); |
299 | static int | 475 | |
300 | have_exp_subround_finished (const struct ConsensusSession *session) | 476 | static void |
301 | { | 477 | run_task_apply_diff (struct ConsensusSession *session, struct TaskEntry *task); |
302 | int not_finished; | 478 | |
303 | 479 | static void | |
304 | GNUNET_assert (CONSENSUS_ROUND_EXCHANGE == session->current_round); | 480 | run_ready_steps (struct ConsensusSession *session); |
305 | 481 | ||
306 | not_finished = 0; | 482 | static const char * |
307 | if ( (NULL != session->partner_outgoing) && | 483 | phasename (uint16_t phase) |
308 | (GNUNET_NO == session->partner_outgoing->set_op_finished) ) | 484 | { |
309 | not_finished++; | 485 | switch (phase) |
310 | if ( (NULL != session->partner_incoming) && | 486 | { |
311 | (GNUNET_NO == session->partner_incoming->set_op_finished) ) | 487 | case PHASE_KIND_ALL_TO_ALL: return "ALL_TO_ALL"; |
312 | not_finished++; | 488 | case PHASE_KIND_FINISH: return "FINISH"; |
313 | if (0 == not_finished) | 489 | case PHASE_KIND_GRADECAST_LEADER: return "GRADECAST_LEADER"; |
314 | return GNUNET_YES; | 490 | case PHASE_KIND_GRADECAST_ECHO: return "GRADECAST_ECHO"; |
315 | return GNUNET_NO; | 491 | case PHASE_KIND_GRADECAST_ECHO_GRADE: return "GRADECAST_ECHO_GRADE"; |
492 | case PHASE_KIND_GRADECAST_CONFIRM: return "GRADECAST_CONFIRM"; | ||
493 | case PHASE_KIND_GRADECAST_CONFIRM_GRADE: return "GRADECAST_CONFIRM_GRADE"; | ||
494 | case PHASE_KIND_GRADECAST_APPLY_RESULT: return "GRADECAST_APPLY_RESULT"; | ||
495 | default: return "(unknown)"; | ||
496 | } | ||
497 | } | ||
498 | |||
499 | |||
500 | static const char * | ||
501 | setname (uint16_t kind) | ||
502 | { | ||
503 | switch (kind) | ||
504 | { | ||
505 | case SET_KIND_CURRENT: return "CURRENT"; | ||
506 | case SET_KIND_LEADER: return "LEADER"; | ||
507 | case SET_KIND_NONE: return "NONE"; | ||
508 | default: return "(unknown)"; | ||
509 | } | ||
510 | } | ||
511 | |||
512 | static const char * | ||
513 | rfnname (uint16_t kind) | ||
514 | { | ||
515 | switch (kind) | ||
516 | { | ||
517 | case RFN_KIND_NONE: return "NONE"; | ||
518 | case RFN_KIND_ECHO: return "ECHO"; | ||
519 | case RFN_KIND_CONFIRM: return "CONFIRM"; | ||
520 | default: return "(unknown)"; | ||
521 | } | ||
522 | } | ||
523 | |||
524 | static const char * | ||
525 | diffname (uint16_t kind) | ||
526 | { | ||
527 | switch (kind) | ||
528 | { | ||
529 | case DIFF_KIND_NONE: return "NONE"; | ||
530 | case DIFF_KIND_LEADER: return "LEADER"; | ||
531 | case DIFF_KIND_GRADECAST_RESULT: return "GRADECAST_RESULT"; | ||
532 | default: return "(unknown)"; | ||
533 | } | ||
534 | } | ||
535 | |||
536 | static const char * | ||
537 | debug_str_task_key (struct TaskKey *tk) | ||
538 | { | ||
539 | static char buf[256]; | ||
540 | |||
541 | snprintf (buf, sizeof (buf), | ||
542 | "TaskKey kind=%s, p1=%d, p2=%d, l=%d, rep=%d", | ||
543 | phasename (tk->kind), tk->peer1, tk->peer2, | ||
544 | tk->leader, tk->repetition); | ||
545 | |||
546 | return buf; | ||
547 | } | ||
548 | |||
549 | static const char * | ||
550 | debug_str_diff_key (struct DiffKey *dk) | ||
551 | { | ||
552 | static char buf[256]; | ||
553 | |||
554 | snprintf (buf, sizeof (buf), | ||
555 | "DiffKey kind=%s, k1=%d, k2=%d", | ||
556 | diffname (dk->diff_kind), dk->k1, dk->k2); | ||
557 | |||
558 | return buf; | ||
559 | } | ||
560 | |||
561 | static const char * | ||
562 | debug_str_set_key (struct SetKey *sk) | ||
563 | { | ||
564 | static char buf[256]; | ||
565 | |||
566 | snprintf (buf, sizeof (buf), | ||
567 | "SetKey kind=%s, k1=%d, k2=%d", | ||
568 | setname (sk->set_kind), sk->k1, sk->k2); | ||
569 | |||
570 | return buf; | ||
571 | } | ||
572 | |||
573 | |||
574 | static const char * | ||
575 | debug_str_rfn_key (struct RfnKey *rk) | ||
576 | { | ||
577 | static char buf[256]; | ||
578 | |||
579 | snprintf (buf, sizeof (buf), | ||
580 | "RfnKey kind=%s, k1=%d, k2=%d", | ||
581 | rfnname (rk->rfn_kind), rk->k1, rk->k2); | ||
582 | |||
583 | return buf; | ||
316 | } | 584 | } |
317 | 585 | ||
318 | 586 | ||
@@ -325,11 +593,6 @@ static void | |||
325 | destroy_session (struct ConsensusSession *session) | 593 | destroy_session (struct ConsensusSession *session) |
326 | { | 594 | { |
327 | GNUNET_CONTAINER_DLL_remove (sessions_head, sessions_tail, session); | 595 | GNUNET_CONTAINER_DLL_remove (sessions_head, sessions_tail, session); |
328 | if (NULL != session->element_set) | ||
329 | { | ||
330 | GNUNET_SET_destroy (session->element_set); | ||
331 | session->element_set = NULL; | ||
332 | } | ||
333 | if (NULL != session->set_listener) | 596 | if (NULL != session->set_listener) |
334 | { | 597 | { |
335 | GNUNET_SET_listen_cancel (session->set_listener); | 598 | GNUNET_SET_listen_cancel (session->set_listener); |
@@ -345,38 +608,13 @@ destroy_session (struct ConsensusSession *session) | |||
345 | GNUNET_SERVER_client_disconnect (session->client); | 608 | GNUNET_SERVER_client_disconnect (session->client); |
346 | session->client = NULL; | 609 | session->client = NULL; |
347 | } | 610 | } |
348 | if (NULL != session->shuffle) | ||
349 | { | ||
350 | GNUNET_free (session->shuffle); | ||
351 | session->shuffle = NULL; | ||
352 | } | ||
353 | if (NULL != session->shuffle_inv) | ||
354 | { | ||
355 | GNUNET_free (session->shuffle_inv); | ||
356 | session->shuffle_inv = NULL; | ||
357 | } | ||
358 | if (NULL != session->info) | ||
359 | { | ||
360 | int i; | ||
361 | for (i = 0; i < session->num_peers; i++) | ||
362 | { | ||
363 | struct ConsensusPeerInformation *cpi; | ||
364 | cpi = &session->info[i]; | ||
365 | if (NULL != cpi->set_op) | ||
366 | { | ||
367 | GNUNET_SET_operation_cancel (cpi->set_op); | ||
368 | cpi->set_op = NULL; | ||
369 | } | ||
370 | } | ||
371 | GNUNET_free (session->info); | ||
372 | session->info = NULL; | ||
373 | } | ||
374 | GNUNET_free (session); | 611 | GNUNET_free (session); |
375 | } | 612 | } |
376 | 613 | ||
377 | 614 | ||
378 | /** | 615 | /** |
379 | * Iterator for set elements. [FIXME: bad comment] | 616 | * Send the final result set of the consensus to the client, element by |
617 | * element. | ||
380 | * | 618 | * |
381 | * @param cls closure | 619 | * @param cls closure |
382 | * @param element the current element, NULL if all elements have been | 620 | * @param element the current element, NULL if all elements have been |
@@ -387,7 +625,8 @@ static int | |||
387 | send_to_client_iter (void *cls, | 625 | send_to_client_iter (void *cls, |
388 | const struct GNUNET_SET_Element *element) | 626 | const struct GNUNET_SET_Element *element) |
389 | { | 627 | { |
390 | struct ConsensusSession *session = cls; | 628 | struct TaskEntry *task = (struct TaskEntry *) cls; |
629 | struct ConsensusSession *session = task->step->session; | ||
391 | struct GNUNET_MQ_Envelope *ev; | 630 | struct GNUNET_MQ_Envelope *ev; |
392 | 631 | ||
393 | if (NULL != element) | 632 | if (NULL != element) |
@@ -417,185 +656,109 @@ send_to_client_iter (void *cls, | |||
417 | 656 | ||
418 | 657 | ||
419 | /** | 658 | /** |
420 | * Start the next round. | 659 | * Callback for set operation results. Called for each element |
421 | * This function can be invoked as a timeout task, or called manually (tc will be NULL then). | 660 | * in the result set. |
422 | * | 661 | * |
423 | * @param cls the session | 662 | * @param cls closure |
424 | * @param tc task context, for when this task is invoked by the scheduler, | 663 | * @param element a result element, only valid if status is GNUNET_SET_STATUS_OK |
425 | * NULL if invoked for another reason | 664 | * @param status see enum GNUNET_SET_Status |
426 | */ | 665 | */ |
427 | static void | 666 | static void |
428 | round_over (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 667 | set_result_cb_loop (void *cls, |
668 | const struct GNUNET_SET_Element *element, | ||
669 | enum GNUNET_SET_Status status) | ||
429 | { | 670 | { |
430 | struct ConsensusSession *session; | 671 | /* Nothing to do here. |
431 | unsigned int i; | 672 | This is the callback for looped local set operations, everything is |
432 | int res; | 673 | handled by the first callback */ |
674 | |||
675 | struct TaskEntry *task = cls; | ||
676 | struct ConsensusSession *session = task->step->session; | ||
677 | |||
678 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
679 | "P%u: skipping looped set result for {%s}, status %u\n", | ||
680 | session->local_peer_idx, | ||
681 | debug_str_task_key (&task->key), | ||
682 | status); | ||
683 | } | ||
433 | 684 | ||
434 | /* don't kick off next round if we're shutting down */ | ||
435 | if ((NULL != tc) && (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
436 | return; | ||
437 | 685 | ||
438 | session = cls; | 686 | static struct SetEntry * |
439 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d: round over\n", session->local_peer_idx); | 687 | lookup_set (struct ConsensusSession *session, struct SetKey *key) |
688 | { | ||
689 | struct GNUNET_HashCode hash; | ||
440 | 690 | ||
441 | if (tc != NULL) | 691 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
442 | session->round_timeout_tid = NULL; | 692 | "P%u: looking up set {%s}\n", |
693 | session->local_peer_idx, | ||
694 | debug_str_set_key (key)); | ||
443 | 695 | ||
444 | if (session->round_timeout_tid != NULL) | 696 | GNUNET_assert (SET_KIND_NONE != key->set_kind); |
445 | { | 697 | GNUNET_CRYPTO_hash (key, sizeof (struct SetKey), &hash); |
446 | GNUNET_SCHEDULER_cancel (session->round_timeout_tid); | 698 | return GNUNET_CONTAINER_multihashmap_get (session->setmap, &hash); |
447 | session->round_timeout_tid = NULL; | 699 | } |
448 | } | ||
449 | 700 | ||
450 | for (i = 0; i < session->num_peers; i++) | ||
451 | { | ||
452 | if (NULL != session->info[i].set_op) | ||
453 | { | ||
454 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d: canceling stray op with P%d\n", | ||
455 | session->local_peer_idx, i); | ||
456 | GNUNET_SET_operation_cancel (session->info[i].set_op); | ||
457 | session->info[i].set_op = NULL; | ||
458 | } | ||
459 | /* we're in the new round, nothing finished yet */ | ||
460 | session->info[i].set_op_finished = GNUNET_NO; | ||
461 | } | ||
462 | 701 | ||
463 | switch (session->current_round) | 702 | static struct DiffEntry * |
464 | { | 703 | lookup_diff (struct ConsensusSession *session, struct DiffKey *key) |
465 | case CONSENSUS_ROUND_BEGIN: | 704 | { |
466 | session->current_round = CONSENSUS_ROUND_EXCHANGE; | 705 | struct GNUNET_HashCode hash; |
467 | session->exp_repetition = 0; | 706 | |
468 | subround_over (session, NULL); | 707 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
469 | break; | 708 | "P%u: looking up diff {%s}\n", |
470 | case CONSENSUS_ROUND_EXCHANGE: | 709 | session->local_peer_idx, |
471 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d: finished, sending elements to client\n", | 710 | debug_str_diff_key (key)); |
472 | session->local_peer_idx); | 711 | |
473 | session->current_round = CONSENSUS_ROUND_FINISH; | 712 | GNUNET_assert (DIFF_KIND_NONE != key->diff_kind); |
474 | res = GNUNET_SET_iterate (session->element_set, send_to_client_iter, session); | 713 | GNUNET_CRYPTO_hash (key, sizeof (struct DiffKey), &hash); |
475 | if (GNUNET_SYSERR == res) | 714 | return GNUNET_CONTAINER_multihashmap_get (session->diffmap, &hash); |
476 | { | ||
477 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "can't iterate set: set invalid\n"); | ||
478 | } | ||
479 | else if (GNUNET_NO == res) | ||
480 | { | ||
481 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "can't iterate set: iterator already active\n"); | ||
482 | } | ||
483 | break; | ||
484 | default: | ||
485 | GNUNET_assert (0); | ||
486 | } | ||
487 | } | 715 | } |
488 | 716 | ||
489 | 717 | ||
490 | /** | 718 | static struct ReferendumEntry * |
491 | * Create a new permutation for the session's peers in session->shuffle. | 719 | lookup_rfn (struct ConsensusSession *session, struct RfnKey *key) |
492 | * Uses a Fisher-Yates shuffle with pseudo-randomness coming from | ||
493 | * both the global session id and the current round index. | ||
494 | * | ||
495 | * @param session the session to create the new permutation for | ||
496 | */ | ||
497 | static void | ||
498 | shuffle (struct ConsensusSession *session) | ||
499 | { | 720 | { |
500 | uint32_t i; | 721 | struct GNUNET_HashCode hash; |
501 | uint32_t randomness[session->num_peers-1]; | ||
502 | |||
503 | if (NULL == session->shuffle) | ||
504 | session->shuffle = GNUNET_malloc (session->num_peers * sizeof (*session->shuffle)); | ||
505 | if (NULL == session->shuffle_inv) | ||
506 | session->shuffle_inv = GNUNET_malloc (session->num_peers * sizeof (*session->shuffle_inv)); | ||
507 | 722 | ||
508 | GNUNET_CRYPTO_kdf (randomness, sizeof (randomness), | 723 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
509 | &session->exp_repetition, sizeof (uint32_t), | 724 | "P%u: looking up rfn {%s}\n", |
510 | &session->global_id, sizeof (struct GNUNET_HashCode), | 725 | session->local_peer_idx, |
511 | NULL); | 726 | debug_str_rfn_key (key)); |
512 | 727 | ||
513 | for (i = 0; i < session->num_peers; i++) | 728 | GNUNET_assert (RFN_KIND_NONE != key->rfn_kind); |
514 | session->shuffle[i] = i; | 729 | GNUNET_CRYPTO_hash (key, sizeof (struct RfnKey), &hash); |
730 | return GNUNET_CONTAINER_multihashmap_get (session->rfnmap, &hash); | ||
731 | } | ||
515 | 732 | ||
516 | for (i = session->num_peers - 1; i > 0; i--) | ||
517 | { | ||
518 | uint32_t x; | ||
519 | uint32_t tmp; | ||
520 | x = randomness[i-1] % session->num_peers; | ||
521 | tmp = session->shuffle[x]; | ||
522 | session->shuffle[x] = session->shuffle[i]; | ||
523 | session->shuffle[i] = tmp; | ||
524 | } | ||
525 | 733 | ||
526 | /* create the inverse */ | 734 | static void |
527 | for (i = 0; i < session->num_peers; i++) | 735 | diff_insert (struct DiffEntry *diff, |
528 | session->shuffle_inv[session->shuffle[i]] = i; | 736 | int weight, |
737 | const struct GNUNET_SET_Element *element) | ||
738 | { | ||
739 | GNUNET_assert (0); | ||
529 | } | 740 | } |
530 | 741 | ||
531 | 742 | ||
532 | /** | ||
533 | * Find and set the partner_incoming and partner_outgoing of our peer, | ||
534 | * one of them may not exist (and thus set to NULL) if the number of peers | ||
535 | * in the session is not a power of two. | ||
536 | * | ||
537 | * @param session the consensus session | ||
538 | */ | ||
539 | static void | 743 | static void |
540 | find_partners (struct ConsensusSession *session) | 744 | rfn_vote (struct ReferendumEntry *rfn, |
541 | { | 745 | uint16_t voting_peer, |
542 | unsigned int arc; | 746 | uint16_t num_peers, |
543 | unsigned int num_ghosts; | 747 | int vote, |
544 | unsigned int largest_arc; | 748 | const struct GNUNET_SET_Element *element) |
545 | int partner_idx; | 749 | { |
546 | 750 | GNUNET_assert (voting_peer < num_peers); | |
547 | /* shuffled local index */ | 751 | GNUNET_assert (0); |
548 | int my_idx = session->shuffle[session->local_peer_idx]; | ||
549 | |||
550 | /* distance to neighboring peer in current subround */ | ||
551 | arc = 1 << session->exp_subround; | ||
552 | largest_arc = 1; | ||
553 | while (largest_arc < session->num_peers) | ||
554 | largest_arc <<= 1; | ||
555 | num_ghosts = largest_arc - session->num_peers; | ||
556 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "largest arc: %u\n", largest_arc); | ||
557 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "arc: %u\n", arc); | ||
558 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "num ghosts: %u\n", num_ghosts); | ||
559 | |||
560 | if (0 == (my_idx & arc)) | ||
561 | { | ||
562 | /* we are outgoing */ | ||
563 | partner_idx = (my_idx + arc) % session->num_peers; | ||
564 | session->partner_outgoing = &session->info[session->shuffle_inv[partner_idx]]; | ||
565 | GNUNET_assert (GNUNET_NO == session->partner_outgoing->set_op_finished); | ||
566 | /* are we a 'ghost' of a peer that would exist if | ||
567 | * the number of peers was a power of two, and thus have to partner | ||
568 | * with an additional peer? | ||
569 | */ | ||
570 | if (my_idx < num_ghosts) | ||
571 | { | ||
572 | int ghost_partner_idx; | ||
573 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "my index %d, arc %d, peers %u\n", my_idx, arc, session->num_peers); | ||
574 | ghost_partner_idx = (my_idx - (int) arc) % (int) session->num_peers; | ||
575 | /* platform dependent; modulo sometimes returns negative values */ | ||
576 | if (ghost_partner_idx < 0) | ||
577 | ghost_partner_idx += session->num_peers; | ||
578 | /* we only need to have a ghost partner if the partner is outgoing */ | ||
579 | if (0 == (ghost_partner_idx & arc)) | ||
580 | { | ||
581 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ghost partner is %d\n", ghost_partner_idx); | ||
582 | session->partner_incoming = &session->info[session->shuffle_inv[ghost_partner_idx]]; | ||
583 | GNUNET_assert (GNUNET_NO == session->partner_incoming->set_op_finished); | ||
584 | return; | ||
585 | } | ||
586 | } | ||
587 | session->partner_incoming = NULL; | ||
588 | return; | ||
589 | } | ||
590 | /* we only have an incoming connection */ | ||
591 | partner_idx = (my_idx - (int) arc) % (int) session->num_peers; | ||
592 | if (partner_idx < 0) | ||
593 | partner_idx += session->num_peers; | ||
594 | session->partner_outgoing = NULL; | ||
595 | session->partner_incoming = &session->info[session->shuffle_inv[partner_idx]]; | ||
596 | GNUNET_assert (GNUNET_NO == session->partner_incoming->set_op_finished); | ||
597 | } | 752 | } |
598 | 753 | ||
754 | uint16_t | ||
755 | task_other_peer (struct TaskEntry *task) | ||
756 | { | ||
757 | uint16_t me = task->step->session->local_peer_idx; | ||
758 | if (task->key.peer1 == me) | ||
759 | return task->key.peer2; | ||
760 | return task->key.peer1; | ||
761 | } | ||
599 | 762 | ||
600 | /** | 763 | /** |
601 | * Callback for set operation results. Called for each element | 764 | * Callback for set operation results. Called for each element |
@@ -610,267 +773,775 @@ set_result_cb (void *cls, | |||
610 | const struct GNUNET_SET_Element *element, | 773 | const struct GNUNET_SET_Element *element, |
611 | enum GNUNET_SET_Status status) | 774 | enum GNUNET_SET_Status status) |
612 | { | 775 | { |
613 | struct ConsensusPeerInformation *cpi = cls; | 776 | struct TaskEntry *task = cls; |
614 | unsigned int remote_idx = cpi - cpi->session->info; | 777 | struct ConsensusSession *session = task->step->session; |
615 | unsigned int local_idx = cpi->session->local_peer_idx; | 778 | struct SetEntry *output_set = NULL; |
779 | struct DiffEntry *output_diff = NULL; | ||
780 | struct ReferendumEntry *output_rfn = NULL; | ||
781 | unsigned int other_idx; | ||
782 | |||
783 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
784 | "P%u: got set result for {%s}, status %u\n", | ||
785 | session->local_peer_idx, | ||
786 | debug_str_task_key (&task->key), | ||
787 | status); | ||
788 | |||
789 | if (GNUNET_NO == task->is_running) | ||
790 | { | ||
791 | GNUNET_break_op (0); | ||
792 | return; | ||
793 | } | ||
616 | 794 | ||
617 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: set result from P%u with status %u\n", | 795 | if (GNUNET_YES == task->is_finished) |
618 | local_idx, remote_idx, (unsigned int) status); | 796 | { |
797 | GNUNET_break_op (0); | ||
798 | return; | ||
799 | } | ||
800 | |||
801 | if (task->key.peer1 == session->local_peer_idx) | ||
802 | other_idx = task->key.peer2; | ||
803 | else if (task->key.peer2 == session->local_peer_idx) | ||
804 | other_idx = task->key.peer1; | ||
805 | else | ||
806 | { | ||
807 | /* error in task graph construction */ | ||
808 | GNUNET_assert (0); | ||
809 | } | ||
619 | 810 | ||
620 | GNUNET_assert ((cpi == cpi->session->partner_outgoing) || | 811 | if (SET_KIND_NONE != task->output_set.set_kind) |
621 | (cpi == cpi->session->partner_incoming)); | 812 | output_set = lookup_set (session, &task->output_set); |
813 | |||
814 | if (DIFF_KIND_NONE != task->output_diff.diff_kind) | ||
815 | output_diff = lookup_diff (session, &task->output_diff); | ||
816 | |||
817 | if (RFN_KIND_NONE != task->output_rfn.rfn_kind) | ||
818 | output_rfn = lookup_rfn (session, &task->output_rfn); | ||
819 | |||
820 | if (GNUNET_YES == session->peers_ignored[other_idx]) | ||
821 | { | ||
822 | /* We should have never started or commited to an operation | ||
823 | with an ignored peer. */ | ||
824 | GNUNET_break (0); | ||
825 | return; | ||
826 | } | ||
622 | 827 | ||
623 | switch (status) | 828 | switch (status) |
624 | { | 829 | { |
830 | // case GNUNET_SET_STATUS_MISSING_LOCAL: | ||
625 | case GNUNET_SET_STATUS_OK: | 831 | case GNUNET_SET_STATUS_OK: |
626 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: set result from P%u: element\n", | 832 | if (NULL != output_set) |
627 | local_idx, remote_idx); | ||
628 | break; | ||
629 | case GNUNET_SET_STATUS_FAILURE: | ||
630 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: set result from P%u: failure\n", | ||
631 | local_idx, remote_idx); | ||
632 | cpi->set_op = NULL; | ||
633 | return; | ||
634 | case GNUNET_SET_STATUS_HALF_DONE: | ||
635 | case GNUNET_SET_STATUS_DONE: | ||
636 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: set result from P%u: done\n", | ||
637 | local_idx, remote_idx); | ||
638 | cpi->set_op_finished = GNUNET_YES; | ||
639 | cpi->set_op = NULL; | ||
640 | if (have_exp_subround_finished (cpi->session) == GNUNET_YES) | ||
641 | { | 833 | { |
642 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: all reconciliations of subround done\n", | 834 | // FIXME: record pending adds, use callback |
643 | local_idx); | 835 | GNUNET_SET_add_element (output_set->h, |
644 | subround_over (cpi->session, NULL); | 836 | element, |
837 | NULL, | ||
838 | NULL); | ||
839 | |||
645 | } | 840 | } |
646 | else | 841 | if (NULL != output_diff) |
647 | { | 842 | { |
648 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: waiting for further set results\n", | 843 | diff_insert (output_diff, 1, element); |
649 | local_idx); | ||
650 | } | 844 | } |
651 | return; | 845 | if (NULL != output_rfn) |
652 | default: | 846 | { |
653 | GNUNET_break (0); | 847 | rfn_vote (output_rfn, task_other_peer (task), session->num_peers, VOTE_ADD, element); |
654 | return; | 848 | } |
655 | } | 849 | // XXX: add result to structures in task |
656 | |||
657 | switch (cpi->session->current_round) | ||
658 | { | ||
659 | case CONSENSUS_ROUND_COMPLETION: | ||
660 | case CONSENSUS_ROUND_EXCHANGE: | ||
661 | GNUNET_SET_add_element (cpi->session->element_set, element, NULL, NULL); | ||
662 | break; | 850 | break; |
663 | default: | 851 | //case GNUNET_SET_STATUS_MISSING_REMOTE: |
852 | // // XXX: add result to structures in task | ||
853 | // break; | ||
854 | case GNUNET_SET_STATUS_DONE: | ||
855 | // XXX: check first if any changes to the underlying | ||
856 | // set are still pending | ||
857 | // XXX: commit other peer in referendum | ||
858 | finish_task (task); | ||
859 | break; | ||
860 | case GNUNET_SET_STATUS_FAILURE: | ||
861 | // XXX: cleanup | ||
664 | GNUNET_break (0); | 862 | GNUNET_break (0); |
665 | return; | 863 | return; |
864 | default: | ||
865 | /* not reached */ | ||
866 | GNUNET_assert (0); | ||
666 | } | 867 | } |
667 | } | 868 | } |
668 | 869 | ||
669 | 870 | ||
871 | |||
670 | /** | 872 | /** |
671 | * Compare the round the session is in with the round of the given context message. | 873 | * Commit the appropriate set for a |
672 | * | 874 | * task. |
673 | * @param session a consensus session | ||
674 | * @param ri a round context message | ||
675 | * @return 0 if it's the same round, -1 if the session is in an earlier round, | ||
676 | * 1 if the session is in a later round | ||
677 | */ | 875 | */ |
678 | static int | 876 | static void |
679 | rounds_compare (struct ConsensusSession *session, | 877 | commit_set (struct ConsensusSession *session, |
680 | struct RoundInfo* ri) | 878 | struct TaskEntry *task) |
681 | { | 879 | { |
682 | if (session->current_round < ri->round) | 880 | struct SetEntry *set; |
683 | return -1; | 881 | |
684 | if (session->current_round > ri->round) | 882 | GNUNET_assert (NULL != task->op); |
685 | return 1; | 883 | set = lookup_set (session, &task->input_set); |
686 | if (session->current_round == CONSENSUS_ROUND_EXCHANGE) | 884 | GNUNET_assert (NULL != set); |
687 | { | 885 | GNUNET_SET_commit (task->op, set->h); |
688 | if (session->exp_repetition < ri->exp_repetition) | ||
689 | return -1; | ||
690 | if (session->exp_repetition > ri->exp_repetition) | ||
691 | return 1; | ||
692 | if (session->exp_subround < ri->exp_subround) | ||
693 | return -1; | ||
694 | if (session->exp_subround > ri->exp_subround) | ||
695 | return 1; | ||
696 | return 0; | ||
697 | } | ||
698 | /* other rounds have no subrounds / repetitions to compare */ | ||
699 | return 0; | ||
700 | } | 886 | } |
701 | 887 | ||
702 | 888 | ||
703 | /** | ||
704 | * Do the next subround in the exp-scheme. | ||
705 | * This function can be invoked as a timeout task, or called manually (tc will be NULL then). | ||
706 | * | ||
707 | * @param cls the session | ||
708 | * @param tc task context, for when this task is invoked by the scheduler, | ||
709 | * NULL if invoked for another reason | ||
710 | */ | ||
711 | static void | 889 | static void |
712 | subround_over (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 890 | put_diff (struct ConsensusSession *session, |
891 | struct DiffEntry *diff) | ||
713 | { | 892 | { |
714 | struct ConsensusSession *session; | 893 | struct GNUNET_HashCode hash; |
715 | struct GNUNET_TIME_Relative subround_timeout; | ||
716 | int i; | ||
717 | 894 | ||
718 | /* don't kick off next subround if we're shutting down */ | 895 | GNUNET_CRYPTO_hash (&diff->key, sizeof (struct DiffKey), &hash); |
719 | if ((NULL != tc) && (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 896 | GNUNET_assert (GNUNET_OK == |
720 | return; | 897 | GNUNET_CONTAINER_multihashmap_put (session->diffmap, &hash, diff, |
898 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); | ||
899 | } | ||
900 | |||
901 | static void | ||
902 | put_set (struct ConsensusSession *session, | ||
903 | struct SetEntry *set) | ||
904 | { | ||
905 | struct GNUNET_HashCode hash; | ||
721 | 906 | ||
722 | session = cls; | 907 | GNUNET_assert (NULL != set->h); |
908 | |||
909 | GNUNET_CRYPTO_hash (&set->key, sizeof (struct SetKey), &hash); | ||
910 | GNUNET_assert (GNUNET_OK == | ||
911 | GNUNET_CONTAINER_multihashmap_put (session->setmap, &hash, set, | ||
912 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); | ||
913 | } | ||
914 | |||
915 | |||
916 | static void | ||
917 | put_rfn (struct ConsensusSession *session, | ||
918 | struct ReferendumEntry *rfn) | ||
919 | { | ||
920 | struct GNUNET_HashCode hash; | ||
921 | |||
922 | GNUNET_CRYPTO_hash (&rfn->key, sizeof (struct RfnKey), &hash); | ||
923 | GNUNET_assert (GNUNET_OK == | ||
924 | GNUNET_CONTAINER_multihashmap_put (session->rfnmap, &hash, rfn, | ||
925 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); | ||
926 | } | ||
927 | |||
928 | |||
929 | |||
930 | static void | ||
931 | output_cloned_cb (void *cls, struct GNUNET_SET_Handle *copy) | ||
932 | { | ||
933 | struct TaskEntry *task = (struct TaskEntry *) cls; | ||
934 | struct ConsensusSession *session = task->step->session; | ||
935 | struct SetEntry *set = GNUNET_new (struct SetEntry); | ||
936 | |||
937 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
938 | "P%u: Received lazy copy, storing output set %s\n", | ||
939 | session->local_peer_idx, debug_str_set_key (&task->output_set)); | ||
940 | |||
941 | set->key = task->output_set; | ||
942 | set->h = copy; | ||
943 | put_set (task->step->session, set); | ||
944 | run_task_remote_union (task->step->session, task); | ||
945 | } | ||
946 | |||
947 | |||
948 | static void | ||
949 | run_task_remote_union (struct ConsensusSession *session, struct TaskEntry *task) | ||
950 | { | ||
951 | struct SetEntry *input; | ||
723 | 952 | ||
724 | GNUNET_assert (CONSENSUS_ROUND_EXCHANGE == session->current_round); | 953 | input = lookup_set (session, &task->input_set); |
954 | GNUNET_assert (NULL != input); | ||
955 | GNUNET_assert (NULL != input->h); | ||
725 | 956 | ||
726 | if (tc != NULL) | 957 | /* We create the outputs for the operation here |
958 | (rather than in the set operation callback) | ||
959 | because we want something valid in there, even | ||
960 | if the other peer doesn't talk to us */ | ||
961 | |||
962 | if (SET_KIND_NONE != task->output_set.set_kind) | ||
727 | { | 963 | { |
728 | session->round_timeout_tid = NULL; | 964 | /* If we don't have an existing output set, |
729 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "P%u: consensus subround timed out\n", | 965 | we clone the input set. */ |
730 | session->local_peer_idx); | 966 | if (NULL == lookup_set (session, &task->output_set)) |
967 | { | ||
968 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
969 | "Output set missing, copying from input set\n"); | ||
970 | /* Since the cloning is asynchronous, | ||
971 | we'll retry the current function once the copy | ||
972 | has been provided by the SET service. */ | ||
973 | GNUNET_SET_copy_lazy (input->h, output_cloned_cb, task); | ||
974 | return; | ||
975 | } | ||
731 | } | 976 | } |
732 | 977 | ||
733 | /* cancel timeout */ | 978 | if (RFN_KIND_NONE != task->output_rfn.rfn_kind) |
734 | if (session->round_timeout_tid != NULL) | ||
735 | { | 979 | { |
736 | GNUNET_SCHEDULER_cancel (session->round_timeout_tid); | 980 | if (NULL == lookup_rfn (session, &task->output_rfn)) |
737 | session->round_timeout_tid = NULL; | 981 | { |
982 | struct ReferendumEntry *rfn; | ||
983 | |||
984 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
985 | "P%u: output rfn <%s> missing, creating.\n", | ||
986 | session->local_peer_idx, | ||
987 | debug_str_rfn_key (&task->output_rfn)); | ||
988 | |||
989 | rfn = GNUNET_new (struct ReferendumEntry); | ||
990 | rfn->key = task->output_rfn; | ||
991 | rfn->rfn_elements = GNUNET_CONTAINER_multihashmap_create (8, GNUNET_NO); | ||
992 | rfn->peer_commited = GNUNET_new_array (session->num_peers, int); | ||
993 | put_rfn (session, rfn); | ||
994 | } | ||
738 | } | 995 | } |
739 | 996 | ||
740 | for (i = 0; i < session->num_peers; i++) | 997 | if (task->key.peer1 == session->local_peer_idx) |
741 | { | 998 | { |
742 | if (NULL != session->info[i].set_op) | 999 | struct GNUNET_CONSENSUS_RoundContextMessage rcm = { 0 }; |
1000 | |||
1001 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1002 | "P%u: Looking up set {%s} to run remote union\n", | ||
1003 | session->local_peer_idx, | ||
1004 | debug_str_set_key (&task->input_set)); | ||
1005 | |||
1006 | rcm.header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT); | ||
1007 | rcm.header.size = htons (sizeof (struct GNUNET_CONSENSUS_RoundContextMessage)); | ||
1008 | |||
1009 | rcm.kind = htons (task->key.kind); | ||
1010 | rcm.peer1 = htons (task->key.peer1); | ||
1011 | rcm.peer2 = htons (task->key.peer2); | ||
1012 | rcm.leader = htons (task->key.leader); | ||
1013 | rcm.repetition = htons (task->key.repetition); | ||
1014 | |||
1015 | GNUNET_assert (NULL == task->op); | ||
1016 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: initiating set op with P%u, our set is %s\n", | ||
1017 | session->local_peer_idx, task->key.peer2, debug_str_set_key (&task->input_set)); | ||
1018 | |||
1019 | // XXX: maybe this should be done while | ||
1020 | // setting up tasks alreays? | ||
1021 | task->op = GNUNET_SET_prepare (&session->peers[task->key.peer2], | ||
1022 | &session->global_id, | ||
1023 | &rcm.header, | ||
1024 | GNUNET_SET_RESULT_ADDED, /* XXX: will be obsolete soon */ | ||
1025 | set_result_cb, | ||
1026 | task); | ||
1027 | |||
1028 | /* Referendums must be materialized as a set before */ | ||
1029 | GNUNET_assert (RFN_KIND_NONE == task->input_rfn.rfn_kind); | ||
1030 | |||
1031 | if (GNUNET_OK != GNUNET_SET_commit (task->op, input->h)) | ||
743 | { | 1032 | { |
744 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d: canceling stray op with P%d\n", | 1033 | GNUNET_break (0); |
745 | session->local_peer_idx, i); | 1034 | /* XXX: cleanup? */ |
746 | GNUNET_SET_operation_cancel (session->info[i].set_op); | 1035 | return; |
747 | session->info[i].set_op = NULL; | ||
748 | } | 1036 | } |
749 | /* we're in the new round, nothing finished yet */ | ||
750 | session->info[i].set_op_finished = GNUNET_NO; | ||
751 | } | 1037 | } |
1038 | else if (task->key.peer2 == session->local_peer_idx) | ||
1039 | { | ||
1040 | /* Wait for the other peer to contact us */ | ||
1041 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: waiting set op with P%u\n", | ||
1042 | session->local_peer_idx, task->key.peer1); | ||
752 | 1043 | ||
753 | if (session->exp_repetition >= NUM_EXP_REPETITIONS) | 1044 | if (NULL != task->op) |
1045 | { | ||
1046 | GNUNET_assert (NULL == task->commited_set); | ||
1047 | commit_set (session, task); | ||
1048 | } | ||
1049 | } | ||
1050 | else | ||
754 | { | 1051 | { |
755 | round_over (session, NULL); | 1052 | /* We made an error while constructing the task graph. */ |
756 | return; | 1053 | GNUNET_assert (0); |
1054 | } | ||
1055 | } | ||
1056 | |||
1057 | |||
1058 | static int | ||
1059 | rfn_majority (uint16_t num_peers, | ||
1060 | struct ReferendumEntry *rfn, | ||
1061 | struct RfnElementInfo *ri, | ||
1062 | uint16_t threshold) | ||
1063 | { | ||
1064 | unsigned int votes_add = 0; | ||
1065 | unsigned int votes_remove = 0; | ||
1066 | unsigned int num_commited = 0; | ||
1067 | unsigned int maj_thresh; | ||
1068 | unsigned int nv; | ||
1069 | unsigned int tv; | ||
1070 | unsigned int i; | ||
1071 | |||
1072 | for (i = 0; i < num_peers; i++) | ||
1073 | { | ||
1074 | if (GNUNET_NO == rfn->peer_commited[i]) | ||
1075 | continue; | ||
1076 | num_commited++; | ||
1077 | if (ri->votes[i] == VOTE_ADD) | ||
1078 | votes_add++; | ||
1079 | if (ri->votes[i] == VOTE_REMOVE) | ||
1080 | votes_remove++; | ||
757 | } | 1081 | } |
758 | 1082 | ||
759 | if (session->exp_repetition == 0) | 1083 | /* Threshold to reach a majority among |
1084 | submitted votes, may not be enough for the | ||
1085 | global threshold. */ | ||
1086 | maj_thresh = (num_commited + 1) / 2; | ||
1087 | /* Vote are relative to our local set, so it can only be | ||
1088 | either all add or all remove */ | ||
1089 | GNUNET_assert ( (0 == votes_add) || (0 == votes_remove) ); | ||
1090 | |||
1091 | if (votes_add > 0) | ||
760 | { | 1092 | { |
761 | /* initialize everything for the log-rounds */ | 1093 | nv = votes_add; |
762 | session->exp_repetition = 1; | 1094 | tv = VOTE_ADD; |
763 | session->exp_subround = 0; | ||
764 | if (NULL == session->shuffle) | ||
765 | session->shuffle = GNUNET_malloc ((sizeof (int)) * session->num_peers); | ||
766 | if (NULL == session->shuffle_inv) | ||
767 | session->shuffle_inv = GNUNET_malloc ((sizeof (int)) * session->num_peers); | ||
768 | for (i = 0; i < session->num_peers; i++) | ||
769 | session->shuffle[i] = session->shuffle_inv[i] = i; | ||
770 | } | 1095 | } |
771 | else if (session->exp_subround + 1 >= (int) ceil (log2 (session->num_peers))) | 1096 | else if (votes_remove > 0) |
772 | { | 1097 | { |
773 | /* subrounds done, start new log-round */ | 1098 | nv = votes_remove; |
774 | session->exp_repetition++; | 1099 | tv = VOTE_REMOVE; |
775 | session->exp_subround = 0; | ||
776 | shuffle (session); | ||
777 | } | 1100 | } |
778 | else | 1101 | else |
779 | { | 1102 | { |
780 | session->exp_subround++; | 1103 | nv = 0; |
1104 | tv = VOTE_NONE; | ||
781 | } | 1105 | } |
782 | 1106 | ||
783 | subround_timeout = | 1107 | if ( (nv >= maj_thresh) && (nv >= threshold) ) |
784 | GNUNET_TIME_relative_divide (GNUNET_TIME_absolute_get_difference (session->conclude_start, session->conclude_deadline), | 1108 | return tv; |
785 | 2 * NUM_EXP_REPETITIONS * ((int) ceil (log2 (session->num_peers)))); | ||
786 | 1109 | ||
787 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "subround timeout: %u ms\n", subround_timeout.rel_value_us / 1000); | 1110 | if ( ((num_commited - nv) >= maj_thresh) && ((num_commited - nv) >= threshold) ) |
1111 | return VOTE_NONE; | ||
788 | 1112 | ||
789 | session->round_timeout_tid = GNUNET_SCHEDULER_add_delayed (subround_timeout, subround_over, session); | 1113 | return VOTE_CONTESTED; |
1114 | } | ||
790 | 1115 | ||
791 | /* determine the incoming and outgoing partner */ | ||
792 | find_partners (session); | ||
793 | 1116 | ||
794 | GNUNET_assert (session->partner_outgoing != &session->info[session->local_peer_idx]); | 1117 | struct SetChangeProgressCls |
795 | GNUNET_assert (session->partner_incoming != &session->info[session->local_peer_idx]); | 1118 | { |
1119 | int num_pending; | ||
1120 | struct TaskEntry *task; | ||
1121 | }; | ||
1122 | |||
1123 | |||
1124 | static void | ||
1125 | eval_rfn_done (struct TaskEntry *task) | ||
1126 | { | ||
1127 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1128 | "P%u: EVAL_REFERENDUM done for task {%s}\n", | ||
1129 | task->step->session->local_peer_idx, debug_str_task_key (&task->key)); | ||
1130 | |||
1131 | finish_task (task); | ||
1132 | } | ||
796 | 1133 | ||
797 | /* initiate set operation with the outgoing partner */ | 1134 | |
798 | if (NULL != session->partner_outgoing) | 1135 | static void |
1136 | eval_rfn_progress (void *cls) | ||
1137 | { | ||
1138 | struct SetChangeProgressCls *erc = cls; | ||
1139 | |||
1140 | GNUNET_assert (erc->num_pending > 0); | ||
1141 | |||
1142 | erc->num_pending--; | ||
1143 | |||
1144 | if (0 == erc->num_pending) | ||
799 | { | 1145 | { |
800 | struct GNUNET_CONSENSUS_RoundContextMessage *msg; | 1146 | struct TaskEntry *task = erc->task; |
801 | msg = GNUNET_new (struct GNUNET_CONSENSUS_RoundContextMessage); | 1147 | GNUNET_free (erc); |
802 | msg->header.type = htons (GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT); | 1148 | eval_rfn_done (task); |
803 | msg->header.size = htons (sizeof *msg); | 1149 | } |
804 | msg->round = htonl (session->current_round); | 1150 | } |
805 | msg->exp_repetition = htonl (session->exp_repetition); | 1151 | |
806 | msg->exp_subround = htonl (session->exp_subround); | 1152 | |
1153 | static void | ||
1154 | eval_rfn_copy_cb (void *cls, struct GNUNET_SET_Handle *copy) | ||
1155 | { | ||
1156 | struct TaskEntry *task = (struct TaskEntry *) cls; | ||
1157 | struct ConsensusSession *session = task->step->session; | ||
1158 | struct SetEntry *set; | ||
807 | 1159 | ||
808 | if (NULL != session->partner_outgoing->set_op) | 1160 | set = GNUNET_new (struct SetEntry); |
1161 | set->h = copy; | ||
1162 | set->key = task->output_set; | ||
1163 | |||
1164 | put_set (session, set); | ||
1165 | |||
1166 | run_task_eval_rfn (session, task); | ||
1167 | } | ||
1168 | |||
1169 | |||
1170 | /** | ||
1171 | * Take an input set and an input referendum, | ||
1172 | * apply the referendum with a threshold to the input | ||
1173 | * set and store the result in the output set and/or output diff. | ||
1174 | */ | ||
1175 | static void | ||
1176 | run_task_eval_rfn (struct ConsensusSession *session, struct TaskEntry *task) | ||
1177 | { | ||
1178 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter; | ||
1179 | struct ReferendumEntry *input_rfn; | ||
1180 | struct RfnElementInfo *ri; | ||
1181 | struct SetEntry *output_set = NULL; | ||
1182 | struct DiffEntry *output_diff = NULL; | ||
1183 | struct SetChangeProgressCls *progress_cls; | ||
1184 | |||
1185 | /* Have at least one output */ | ||
1186 | GNUNET_assert ( (task->output_set.set_kind != SET_KIND_NONE) || | ||
1187 | (task->output_diff.diff_kind != DIFF_KIND_NONE)); | ||
1188 | |||
1189 | /* Not allowed as output */ | ||
1190 | GNUNET_assert ( (task->output_rfn.rfn_kind == RFN_KIND_NONE)); | ||
1191 | |||
1192 | if (SET_KIND_NONE != task->output_set.set_kind) | ||
1193 | { | ||
1194 | /* We have a set output, thus the output set must | ||
1195 | exist or copy it from the input set */ | ||
1196 | output_set = lookup_set (session, &task->output_set); | ||
1197 | if (NULL == output_set) | ||
809 | { | 1198 | { |
810 | GNUNET_break (0); | 1199 | struct SetEntry *input_set; |
811 | GNUNET_SET_operation_cancel (session->partner_outgoing->set_op); | 1200 | |
1201 | input_set = lookup_set (session, &task->input_set); | ||
1202 | GNUNET_assert (NULL != input_set); | ||
1203 | GNUNET_SET_copy_lazy (input_set->h, | ||
1204 | eval_rfn_copy_cb, | ||
1205 | task); | ||
1206 | /* We'll be called again, this time with the | ||
1207 | set ready. */ | ||
1208 | return; | ||
812 | } | 1209 | } |
813 | session->partner_outgoing->set_op = | 1210 | } |
814 | GNUNET_SET_prepare (&session->partner_outgoing->peer_id, | 1211 | |
815 | &session->global_id, | 1212 | if (DIFF_KIND_NONE != task->output_diff.diff_kind) |
816 | (struct GNUNET_MessageHeader *) msg, | 1213 | { |
817 | GNUNET_SET_RESULT_ADDED, | 1214 | output_diff = lookup_diff (session, &task->output_diff); |
818 | set_result_cb, session->partner_outgoing); | 1215 | if (NULL == output_diff) |
819 | GNUNET_free (msg); | ||
820 | if (GNUNET_OK != GNUNET_SET_commit (session->partner_outgoing->set_op, session->element_set)) | ||
821 | { | 1216 | { |
822 | GNUNET_break (0); | 1217 | output_diff = GNUNET_new (struct DiffEntry); |
823 | session->partner_outgoing->set_op = NULL; | 1218 | output_diff->key = task->output_diff; |
824 | session->partner_outgoing->set_op_finished = GNUNET_YES; | 1219 | output_diff->changes = GNUNET_CONTAINER_multihashmap_create (8, GNUNET_NO); |
1220 | put_diff (session, output_diff); | ||
825 | } | 1221 | } |
826 | } | 1222 | } |
827 | 1223 | ||
828 | /* commit to the delayed set operation */ | 1224 | progress_cls = GNUNET_new (struct SetChangeProgressCls); |
829 | if ((NULL != session->partner_incoming) && (NULL != session->partner_incoming->delayed_set_op)) | 1225 | |
830 | { | 1226 | input_rfn = lookup_rfn (session, &task->input_rfn); |
831 | int cmp = rounds_compare (session, &session->partner_incoming->delayed_round_info); | 1227 | |
1228 | GNUNET_assert (NULL != input_rfn); | ||
832 | 1229 | ||
833 | if (NULL != session->partner_incoming->set_op) | 1230 | iter = GNUNET_CONTAINER_multihashmap_iterator_create (input_rfn->rfn_elements); |
1231 | GNUNET_assert (NULL != iter); | ||
1232 | |||
1233 | while (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL, (const void **) &ri)) | ||
1234 | { | ||
1235 | int majority_vote = rfn_majority (session->num_peers, input_rfn, ri, task->threshold); | ||
1236 | switch (majority_vote) | ||
834 | { | 1237 | { |
835 | GNUNET_break (0); | 1238 | case VOTE_ADD: |
836 | GNUNET_SET_operation_cancel (session->partner_incoming->set_op); | 1239 | if (NULL != output_set) |
837 | session->partner_incoming->set_op = NULL; | 1240 | { |
1241 | progress_cls->num_pending++; | ||
1242 | GNUNET_assert (GNUNET_OK == | ||
1243 | GNUNET_SET_add_element (output_set->h, | ||
1244 | ri->element, | ||
1245 | eval_rfn_progress, | ||
1246 | progress_cls)); | ||
1247 | } | ||
1248 | if (NULL != output_diff) | ||
1249 | { | ||
1250 | diff_insert (output_diff, 1, ri->element); | ||
1251 | } | ||
1252 | break; | ||
1253 | case VOTE_CONTESTED: | ||
1254 | if (NULL != output_set) | ||
1255 | output_set->is_contested = GNUNET_YES; | ||
1256 | /* fallthrough */ | ||
1257 | case VOTE_REMOVE: | ||
1258 | if (NULL != output_set) | ||
1259 | { | ||
1260 | progress_cls->num_pending++; | ||
1261 | GNUNET_assert (GNUNET_OK == | ||
1262 | GNUNET_SET_remove_element (output_set->h, | ||
1263 | ri->element, | ||
1264 | eval_rfn_progress, | ||
1265 | progress_cls)); | ||
1266 | } | ||
1267 | if (NULL != output_diff) | ||
1268 | { | ||
1269 | diff_insert (output_diff, -1, ri->element); | ||
1270 | } | ||
1271 | break; | ||
1272 | case VOTE_NONE: | ||
1273 | /* Nothing to do. */ | ||
1274 | break; | ||
1275 | default: | ||
1276 | /* not reached */ | ||
1277 | GNUNET_assert (0); | ||
838 | } | 1278 | } |
839 | if (cmp == 0) | 1279 | } |
1280 | GNUNET_CONTAINER_multihashmap_iterator_destroy (iter); | ||
1281 | |||
1282 | if (progress_cls->num_pending == 0) | ||
1283 | { | ||
1284 | // call closure right now, no pending ops | ||
1285 | GNUNET_free (progress_cls); | ||
1286 | eval_rfn_done (task); | ||
1287 | } | ||
1288 | } | ||
1289 | |||
1290 | |||
1291 | static void | ||
1292 | apply_diff_copy_cb (void *cls, struct GNUNET_SET_Handle *copy) | ||
1293 | { | ||
1294 | struct TaskEntry *task = (struct TaskEntry *) cls; | ||
1295 | struct ConsensusSession *session = task->step->session; | ||
1296 | struct SetEntry *set; | ||
1297 | |||
1298 | set = GNUNET_new (struct SetEntry); | ||
1299 | set->h = copy; | ||
1300 | set->key = task->output_set; | ||
1301 | |||
1302 | put_set (session, set); | ||
1303 | |||
1304 | run_task_apply_diff (session, task); | ||
1305 | } | ||
1306 | |||
1307 | |||
1308 | static void | ||
1309 | apply_diff_done (struct TaskEntry *task) | ||
1310 | { | ||
1311 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1312 | "P%u: APPLY_DIFF done for task {%s}\n", | ||
1313 | task->step->session->local_peer_idx, debug_str_task_key (&task->key)); | ||
1314 | finish_task (task); | ||
1315 | } | ||
1316 | |||
1317 | |||
1318 | static void | ||
1319 | apply_diff_progress (void *cls) | ||
1320 | { | ||
1321 | struct SetChangeProgressCls *erc = cls; | ||
1322 | |||
1323 | GNUNET_assert (erc->num_pending > 0); | ||
1324 | |||
1325 | erc->num_pending--; | ||
1326 | |||
1327 | if (0 == erc->num_pending) | ||
1328 | { | ||
1329 | struct TaskEntry *task = erc->task; | ||
1330 | GNUNET_free (erc); | ||
1331 | apply_diff_done (task); | ||
1332 | } | ||
1333 | } | ||
1334 | |||
1335 | |||
1336 | static void | ||
1337 | run_task_apply_diff (struct ConsensusSession *session, struct TaskEntry *task) | ||
1338 | { | ||
1339 | struct SetEntry *output_set; | ||
1340 | struct DiffEntry *input_diff; | ||
1341 | struct GNUNET_CONTAINER_MultiHashMapIterator *iter; | ||
1342 | struct DiffElementInfo *di; | ||
1343 | struct SetChangeProgressCls *progress_cls; | ||
1344 | |||
1345 | GNUNET_assert (task->output_set.set_kind != SET_KIND_NONE); | ||
1346 | GNUNET_assert (task->input_diff.diff_kind != DIFF_KIND_NONE); | ||
1347 | |||
1348 | input_diff = lookup_diff (session, &task->input_diff); | ||
1349 | |||
1350 | GNUNET_assert (NULL != input_diff); | ||
1351 | |||
1352 | output_set = lookup_set (session, &task->output_set); | ||
1353 | |||
1354 | if (NULL == output_set) | ||
1355 | { | ||
1356 | struct SetEntry *input_set; | ||
1357 | |||
1358 | input_set = lookup_set (session, &task->input_set); | ||
1359 | GNUNET_assert (NULL != input_set); | ||
1360 | GNUNET_SET_copy_lazy (input_set->h, | ||
1361 | apply_diff_copy_cb, | ||
1362 | task); | ||
1363 | /* We'll be called again, this time with the | ||
1364 | set ready. */ | ||
1365 | return; | ||
1366 | } | ||
1367 | |||
1368 | progress_cls = GNUNET_new (struct SetChangeProgressCls); | ||
1369 | |||
1370 | iter = GNUNET_CONTAINER_multihashmap_iterator_create (input_diff->changes); | ||
1371 | |||
1372 | while (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL, (const void **) &di)) | ||
1373 | { | ||
1374 | if (di->weight > 0) | ||
840 | { | 1375 | { |
841 | if (GNUNET_OK != GNUNET_SET_commit (session->partner_incoming->delayed_set_op, session->element_set)) | 1376 | progress_cls->num_pending++; |
842 | { | 1377 | GNUNET_assert (GNUNET_OK == |
843 | GNUNET_break (0); | 1378 | GNUNET_SET_remove_element (output_set->h, |
844 | } | 1379 | di->element, |
845 | session->partner_incoming->set_op = session->partner_incoming->delayed_set_op; | 1380 | apply_diff_progress, |
846 | session->partner_incoming->delayed_set_op = NULL; | 1381 | progress_cls)); |
847 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d resumed delayed round with P%d\n", | ||
848 | session->local_peer_idx, (int) (session->partner_incoming - session->info)); | ||
849 | } | 1382 | } |
850 | else | 1383 | else if (di->weight < 0) |
851 | { | 1384 | { |
852 | /* this should not happen -- a round has been skipped! */ | 1385 | progress_cls->num_pending++; |
853 | GNUNET_break_op (0); | 1386 | GNUNET_assert (GNUNET_OK == |
1387 | GNUNET_SET_add_element (output_set->h, | ||
1388 | di->element, | ||
1389 | apply_diff_progress, | ||
1390 | progress_cls)); | ||
854 | } | 1391 | } |
855 | } | 1392 | } |
856 | 1393 | ||
1394 | GNUNET_CONTAINER_multihashmap_iterator_destroy (iter); | ||
1395 | |||
1396 | if (progress_cls->num_pending == 0) | ||
1397 | { | ||
1398 | // call closure right now, no pending ops | ||
1399 | GNUNET_free (progress_cls); | ||
1400 | apply_diff_done (task); | ||
1401 | } | ||
1402 | } | ||
1403 | |||
1404 | |||
1405 | static void | ||
1406 | run_task_finish (struct ConsensusSession *session, struct TaskEntry *task) | ||
1407 | { | ||
1408 | struct SetEntry *final_set; | ||
1409 | |||
1410 | final_set = lookup_set (session, &task->input_set); | ||
1411 | |||
1412 | GNUNET_assert (NULL != final_set); | ||
1413 | |||
1414 | |||
1415 | GNUNET_SET_iterate (final_set->h, | ||
1416 | send_to_client_iter, | ||
1417 | task); | ||
1418 | } | ||
1419 | |||
1420 | static void | ||
1421 | run_task (struct ConsensusSession *session, struct TaskEntry *task) | ||
1422 | { | ||
1423 | GNUNET_assert (GNUNET_NO == task->is_running); | ||
1424 | GNUNET_assert (GNUNET_NO == task->is_finished); | ||
1425 | |||
1426 | |||
1427 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: running task {%s}\n", session->local_peer_idx, debug_str_task_key (&task->key)); | ||
1428 | |||
1429 | switch (task->action) | ||
1430 | { | ||
1431 | case ACTION_RECONCILE: | ||
1432 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: running ACTION_RECONCILE task\n", session->local_peer_idx); | ||
1433 | run_task_remote_union (session, task); | ||
1434 | break; | ||
1435 | case ACTION_EVAL_RFN: | ||
1436 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: running ACTION_EVAL_RFN task\n", session->local_peer_idx); | ||
1437 | run_task_eval_rfn (session, task); | ||
1438 | break; | ||
1439 | case ACTION_APPLY_DIFF: | ||
1440 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: running ACTION_APPLY_DIFF task\n", session->local_peer_idx); | ||
1441 | run_task_apply_diff (session, task); | ||
1442 | break; | ||
1443 | case ACTION_FINISH: | ||
1444 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: running ACTION_FINISH task\n", session->local_peer_idx); | ||
1445 | run_task_finish (session, task); | ||
1446 | break; | ||
1447 | default: | ||
1448 | /* not reached */ | ||
1449 | GNUNET_assert (0); | ||
1450 | } | ||
1451 | task->is_running = GNUNET_YES; | ||
1452 | } | ||
1453 | |||
1454 | |||
1455 | static void finish_step (struct Step *step) | ||
1456 | { | ||
1457 | unsigned int i; | ||
1458 | |||
1459 | GNUNET_assert (step->finished_tasks == step->tasks_len); | ||
1460 | GNUNET_assert (GNUNET_YES == step->is_running); | ||
1461 | GNUNET_assert (GNUNET_NO == step->is_finished); | ||
1462 | |||
857 | #ifdef GNUNET_EXTRA_LOGGING | 1463 | #ifdef GNUNET_EXTRA_LOGGING |
1464 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1465 | "All tasks of step `%s' with %u subordinates finished.\n", | ||
1466 | step->debug_name, | ||
1467 | step->subordinates_len); | ||
1468 | #endif | ||
1469 | |||
1470 | for (i = 0; i < step->subordinates_len; i++) | ||
858 | { | 1471 | { |
859 | int in; | 1472 | GNUNET_assert (step->subordinates[i]->pending_prereq > 0); |
860 | int out; | 1473 | step->subordinates[i]->pending_prereq--; |
861 | if (session->partner_outgoing == NULL) | 1474 | #ifdef GNUNET_EXTRA_LOGGING |
862 | out = -1; | 1475 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
863 | else | 1476 | "Decreased pending_prereq to %u for step `%s'.\n", |
864 | out = (int) (session->partner_outgoing - session->info); | 1477 | step->subordinates[i]->pending_prereq, |
865 | if (session->partner_incoming == NULL) | 1478 | step->subordinates[i]->debug_name); |
866 | in = -1; | 1479 | |
867 | else | 1480 | #endif |
868 | in = (int) (session->partner_incoming - session->info); | 1481 | } |
869 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: doing exp-round, r=%d, sub=%d, in: %d, out: %d\n", session->local_peer_idx, | 1482 | |
870 | session->exp_repetition, session->exp_subround, in, out); | 1483 | step->is_finished = GNUNET_YES; |
871 | } | ||
872 | #endif /* GNUNET_EXTRA_LOGGING */ | ||
873 | 1484 | ||
1485 | // XXX: maybe schedule as task to avoid recursion? | ||
1486 | run_ready_steps (step->session); | ||
1487 | } | ||
1488 | |||
1489 | |||
1490 | /* | ||
1491 | * Run all steps of the session that don't any | ||
1492 | * more dependencies. | ||
1493 | */ | ||
1494 | static void | ||
1495 | run_ready_steps (struct ConsensusSession *session) | ||
1496 | { | ||
1497 | struct Step *step; | ||
1498 | |||
1499 | step = session->steps_head; | ||
1500 | |||
1501 | while (NULL != step) | ||
1502 | { | ||
1503 | if ( (GNUNET_NO == step->is_running) && (0 == step->pending_prereq) ) | ||
1504 | { | ||
1505 | size_t i; | ||
1506 | |||
1507 | GNUNET_assert (0 == step->finished_tasks); | ||
1508 | |||
1509 | #ifdef GNUNET_EXTRA_LOGGING | ||
1510 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Running step `%s' of round %d:%d with %d tasks and %d subordinates\n", | ||
1511 | session->local_peer_idx, | ||
1512 | step->debug_name, | ||
1513 | step->start_round, step->num_rounds, step->tasks_len, step->subordinates_len); | ||
1514 | #endif | ||
1515 | |||
1516 | step->is_running = GNUNET_YES; | ||
1517 | for (i = 0; i < step->tasks_len; i++) | ||
1518 | run_task (session, step->tasks[i]); | ||
1519 | |||
1520 | /* Sometimes there is no task to trigger finishing the step, so we have to do it here. */ | ||
1521 | if ( (step->finished_tasks == step->tasks_len) && (GNUNET_NO == step->is_finished)) | ||
1522 | finish_step (step); | ||
1523 | |||
1524 | /* Running the next ready steps will be triggered by task completion */ | ||
1525 | return; | ||
1526 | } | ||
1527 | step = step->next; | ||
1528 | } | ||
1529 | |||
1530 | return; | ||
1531 | } | ||
1532 | |||
1533 | |||
1534 | |||
1535 | static void | ||
1536 | finish_task (struct TaskEntry *task) | ||
1537 | { | ||
1538 | GNUNET_assert (GNUNET_NO == task->is_finished); | ||
1539 | task->is_finished = GNUNET_YES; | ||
1540 | |||
1541 | task->step->finished_tasks++; | ||
1542 | |||
1543 | if (task->step->finished_tasks == task->step->tasks_len) | ||
1544 | finish_step (task->step); | ||
874 | } | 1545 | } |
875 | 1546 | ||
876 | 1547 | ||
@@ -886,7 +1557,7 @@ get_peer_idx (const struct GNUNET_PeerIdentity *peer, const struct ConsensusSess | |||
886 | { | 1557 | { |
887 | int i; | 1558 | int i; |
888 | for (i = 0; i < session->num_peers; i++) | 1559 | for (i = 0; i < session->num_peers; i++) |
889 | if (0 == memcmp (peer, &session->info[i].peer_id, sizeof *peer)) | 1560 | if (0 == memcmp (peer, &session->peers[i], sizeof (struct GNUNET_PeerIdentity))) |
890 | return i; | 1561 | return i; |
891 | return -1; | 1562 | return -1; |
892 | } | 1563 | } |
@@ -899,27 +1570,24 @@ get_peer_idx (const struct GNUNET_PeerIdentity *peer, const struct ConsensusSess | |||
899 | * exactly the same peers, the global id will be different. | 1570 | * exactly the same peers, the global id will be different. |
900 | * | 1571 | * |
901 | * @param session session to generate the global id for | 1572 | * @param session session to generate the global id for |
902 | * @param session_id local id of the consensus session | 1573 | * @param local_session_id local id of the consensus session |
903 | */ | 1574 | */ |
904 | static void | 1575 | static void |
905 | compute_global_id (struct ConsensusSession *session, | 1576 | compute_global_id (struct ConsensusSession *session, |
906 | const struct GNUNET_HashCode *session_id) | 1577 | const struct GNUNET_HashCode *local_session_id) |
907 | { | 1578 | { |
908 | int i; | 1579 | const char *salt = "gnunet-service-consensus/session_id"; |
909 | struct GNUNET_HashCode tmp; | 1580 | |
910 | struct GNUNET_HashCode phash; | 1581 | GNUNET_assert (GNUNET_YES == |
911 | 1582 | GNUNET_CRYPTO_kdf (&session->global_id, | |
912 | /* FIXME: use kdf? */ | 1583 | sizeof (struct GNUNET_HashCode), |
913 | 1584 | salt, | |
914 | session->global_id = *session_id; | 1585 | strlen (salt), |
915 | for (i = 0; i < session->num_peers; ++i) | 1586 | session->peers, |
916 | { | 1587 | session->num_peers * sizeof (struct GNUNET_PeerIdentity), |
917 | GNUNET_CRYPTO_hash (&session->info[i].peer_id, sizeof (struct GNUNET_PeerIdentity), &phash); | 1588 | local_session_id, |
918 | GNUNET_CRYPTO_hash_xor (&session->global_id, &phash, &tmp); | 1589 | sizeof (struct GNUNET_HashCode), |
919 | session->global_id = tmp; | 1590 | NULL)); |
920 | GNUNET_CRYPTO_hash (&session->global_id, sizeof (struct GNUNET_PeerIdentity), &tmp); | ||
921 | session->global_id = tmp; | ||
922 | } | ||
923 | } | 1591 | } |
924 | 1592 | ||
925 | 1593 | ||
@@ -948,7 +1616,6 @@ initialize_session_peer_list (struct ConsensusSession *session, | |||
948 | unsigned int local_peer_in_list; | 1616 | unsigned int local_peer_in_list; |
949 | uint32_t listed_peers; | 1617 | uint32_t listed_peers; |
950 | const struct GNUNET_PeerIdentity *msg_peers; | 1618 | const struct GNUNET_PeerIdentity *msg_peers; |
951 | struct GNUNET_PeerIdentity *peers; | ||
952 | unsigned int i; | 1619 | unsigned int i; |
953 | 1620 | ||
954 | GNUNET_assert (NULL != join_msg); | 1621 | GNUNET_assert (NULL != join_msg); |
@@ -973,25 +1640,27 @@ initialize_session_peer_list (struct ConsensusSession *session, | |||
973 | if (GNUNET_NO == local_peer_in_list) | 1640 | if (GNUNET_NO == local_peer_in_list) |
974 | session->num_peers++; | 1641 | session->num_peers++; |
975 | 1642 | ||
976 | peers = GNUNET_malloc (session->num_peers * sizeof (struct GNUNET_PeerIdentity)); | 1643 | session->peers = GNUNET_malloc (session->num_peers * sizeof (struct GNUNET_PeerIdentity)); |
977 | 1644 | ||
978 | if (GNUNET_NO == local_peer_in_list) | 1645 | if (GNUNET_NO == local_peer_in_list) |
979 | peers[session->num_peers - 1] = my_peer; | 1646 | session->peers[session->num_peers - 1] = my_peer; |
980 | 1647 | ||
981 | memcpy (peers, msg_peers, listed_peers * sizeof (struct GNUNET_PeerIdentity)); | 1648 | memcpy (session->peers, msg_peers, listed_peers * sizeof (struct GNUNET_PeerIdentity)); |
982 | qsort (peers, session->num_peers, sizeof (struct GNUNET_PeerIdentity), &peer_id_cmp); | 1649 | qsort (session->peers, session->num_peers, sizeof (struct GNUNET_PeerIdentity), &peer_id_cmp); |
1650 | } | ||
983 | 1651 | ||
984 | session->info = GNUNET_malloc (session->num_peers * sizeof (struct ConsensusPeerInformation)); | ||
985 | 1652 | ||
986 | for (i = 0; i < session->num_peers; ++i) | 1653 | static struct TaskEntry * |
987 | { | 1654 | lookup_task (struct ConsensusSession *session, |
988 | /* initialize back-references, so consensus peer information can | 1655 | struct TaskKey *key) |
989 | * be used as closure */ | 1656 | { |
990 | session->info[i].session = session; | 1657 | struct GNUNET_HashCode hash; |
991 | session->info[i].peer_id = peers[i]; | 1658 | |
992 | } | ||
993 | 1659 | ||
994 | GNUNET_free (peers); | 1660 | GNUNET_CRYPTO_hash (key, sizeof (struct TaskKey), &hash); |
1661 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Looking up task hash %s\n", | ||
1662 | GNUNET_h2s (&hash)); | ||
1663 | return GNUNET_CONTAINER_multihashmap_get (session->taskmap, &hash); | ||
995 | } | 1664 | } |
996 | 1665 | ||
997 | 1666 | ||
@@ -1017,12 +1686,10 @@ set_listen_cb (void *cls, | |||
1017 | struct GNUNET_SET_Request *request) | 1686 | struct GNUNET_SET_Request *request) |
1018 | { | 1687 | { |
1019 | struct ConsensusSession *session = cls; | 1688 | struct ConsensusSession *session = cls; |
1020 | struct GNUNET_CONSENSUS_RoundContextMessage *msg = (struct GNUNET_CONSENSUS_RoundContextMessage *) context_msg; | 1689 | struct TaskKey tk; |
1021 | struct ConsensusPeerInformation *cpi; | 1690 | struct TaskEntry *task; |
1022 | struct GNUNET_SET_OperationHandle *set_op; | 1691 | struct GNUNET_CONSENSUS_RoundContextMessage *cm; |
1023 | struct RoundInfo round_info; | 1692 | GNUNET_SET_ResultIterator my_result_cb; |
1024 | int index; | ||
1025 | int cmp; | ||
1026 | 1693 | ||
1027 | if (NULL == context_msg) | 1694 | if (NULL == context_msg) |
1028 | { | 1695 | { |
@@ -1030,85 +1697,524 @@ set_listen_cb (void *cls, | |||
1030 | return; | 1697 | return; |
1031 | } | 1698 | } |
1032 | 1699 | ||
1033 | index = get_peer_idx (other_peer, session); | 1700 | if (GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT != ntohs (context_msg->type)) |
1701 | { | ||
1702 | GNUNET_break_op (0); | ||
1703 | return; | ||
1704 | } | ||
1034 | 1705 | ||
1035 | if (index < 0) | 1706 | if (sizeof (struct GNUNET_CONSENSUS_RoundContextMessage) != ntohs (context_msg->size)) |
1036 | { | 1707 | { |
1037 | GNUNET_break_op (0); | 1708 | GNUNET_break_op (0); |
1038 | return; | 1709 | return; |
1039 | } | 1710 | } |
1040 | 1711 | ||
1041 | round_info.round = ntohl (msg->round); | 1712 | cm = (struct GNUNET_CONSENSUS_RoundContextMessage *) context_msg; |
1042 | round_info.exp_repetition = ntohl (msg->exp_repetition); | 1713 | |
1043 | round_info.exp_subround = ntohl (msg->exp_subround); | 1714 | tk = ((struct TaskKey) { |
1715 | .kind = ntohs (cm->kind), | ||
1716 | .peer1 = ntohs (cm->peer1), | ||
1717 | .peer2 = ntohs (cm->peer2), | ||
1718 | .repetition = ntohs (cm->repetition), | ||
1719 | .leader = ntohs (cm->leader), | ||
1720 | }); | ||
1044 | 1721 | ||
1045 | cpi = &session->info[index]; | 1722 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: got req for task %s\n", |
1723 | session->local_peer_idx, debug_str_task_key (&tk)); | ||
1046 | 1724 | ||
1047 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d got set request from P%d\n", session->local_peer_idx, index); | 1725 | task = lookup_task (session, &tk); |
1048 | 1726 | ||
1049 | switch (session->current_round) | 1727 | if (NULL == task) |
1050 | { | 1728 | { |
1051 | case CONSENSUS_ROUND_BEGIN: | 1729 | GNUNET_break_op (0); |
1052 | /* we're in the begin round, so requests for the exchange round may | 1730 | return; |
1053 | * come in, they will be delayed for now! */ | 1731 | } |
1054 | case CONSENSUS_ROUND_EXCHANGE: | 1732 | |
1055 | cmp = rounds_compare (session, &round_info); | 1733 | if (ACTION_RECONCILE != task->action) |
1056 | if (cmp > 0) | 1734 | { |
1057 | { | 1735 | GNUNET_break_op (0); |
1058 | /* the other peer is too late */ | 1736 | return; |
1059 | LOG_PP (GNUNET_ERROR_TYPE_DEBUG, cpi, "too late for the current round\n"); | 1737 | } |
1060 | return; | 1738 | |
1061 | } | 1739 | if (GNUNET_YES == task->is_finished) |
1062 | /* kill old request, if any. this is legal, | 1740 | { |
1063 | * as the other peer would not make a new request if it would want to | 1741 | GNUNET_break_op (0); |
1064 | * complete the old one! */ | 1742 | return; |
1065 | if (NULL != cpi->set_op) | 1743 | } |
1066 | { | 1744 | |
1067 | LOG_PP (GNUNET_ERROR_TYPE_INFO, cpi, "got new request from same peer, canceling old one\n"); | 1745 | if (task->key.peer2 != session->local_peer_idx) |
1068 | GNUNET_SET_operation_cancel (cpi->set_op); | 1746 | { |
1069 | cpi->set_op = NULL; | 1747 | /* We're being asked, so we must be thne 2nd peer. */ |
1070 | } | 1748 | GNUNET_break_op (0); |
1071 | set_op = GNUNET_SET_accept (request, GNUNET_SET_RESULT_ADDED, | 1749 | return; |
1072 | set_result_cb, &session->info[index]); | 1750 | } |
1073 | if (cmp == 0) | 1751 | |
1074 | { | 1752 | if (task->key.peer1 == task->key.peer2) |
1075 | /* we're in exactly the right round for the incoming request */ | 1753 | my_result_cb = set_result_cb_loop; |
1076 | if (cpi != cpi->session->partner_incoming) | 1754 | else |
1077 | { | 1755 | my_result_cb = set_result_cb; |
1078 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "P%u: got request from %u (with matching round), " | 1756 | |
1079 | "but incoming partner is %d\n", cpi->session->local_peer_idx, cpi - cpi->session->info, | 1757 | task->op = GNUNET_SET_accept (request, |
1080 | ((NULL == cpi->session->partner_incoming) ? -1 : (cpi->session->partner_incoming - cpi->session->info))); | 1758 | GNUNET_SET_RESULT_ADDED, /* XXX: obsolete soon */ |
1081 | GNUNET_SET_operation_cancel (set_op); | 1759 | my_result_cb, |
1082 | return; | 1760 | task); |
1083 | } | 1761 | |
1084 | cpi->set_op = set_op; | 1762 | /* If the task hasn't been started yet, |
1085 | if (GNUNET_OK != GNUNET_SET_commit (set_op, session->element_set)) | 1763 | we wait for that until we commit. */ |
1086 | { | 1764 | |
1087 | GNUNET_break (0); | 1765 | if (GNUNET_YES == task->is_running) |
1088 | } | 1766 | { |
1089 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d commited to set request from P%d\n", session->local_peer_idx, index); | 1767 | commit_set (session, task); |
1090 | } | 1768 | } |
1091 | else | 1769 | } |
1092 | { | 1770 | |
1093 | /* we still have wait until we have finished the current round, | 1771 | |
1094 | * as the other peer's round is larger */ | 1772 | |
1095 | cpi->delayed_set_op = set_op; | 1773 | static void |
1096 | cpi->delayed_round_info = round_info; | 1774 | put_task (struct GNUNET_CONTAINER_MultiHashMap *taskmap, |
1097 | /* The current setop is finished, as we canceled the current setop above. */ | 1775 | struct TaskEntry *t) |
1098 | cpi->set_op_finished = GNUNET_YES; | 1776 | { |
1099 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%d delaying set request from P%d\n", session->local_peer_idx, index); | 1777 | struct GNUNET_HashCode round_hash; |
1100 | } | 1778 | struct Step *s; |
1101 | break; | 1779 | |
1102 | default: | 1780 | GNUNET_assert (NULL != t->step); |
1103 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "P%d got unexpected set request in round %d from P%d\n", | 1781 | |
1104 | session->local_peer_idx, session->current_round, index); | 1782 | t = GNUNET_memdup (t, sizeof (struct TaskEntry)); |
1105 | GNUNET_break_op (0); | 1783 | |
1106 | return; | 1784 | s = t->step; |
1785 | |||
1786 | if (s->tasks_len == s->tasks_cap) | ||
1787 | { | ||
1788 | unsigned int target_size = 3 * (s->tasks_cap + 1) / 2; | ||
1789 | GNUNET_array_grow (s->tasks, | ||
1790 | s->tasks_cap, | ||
1791 | target_size); | ||
1792 | } | ||
1793 | |||
1794 | #ifdef GNUNET_EXTRA_LOGGING | ||
1795 | GNUNET_assert (NULL != s->debug_name); | ||
1796 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Putting task <%s> into step `%s'\n", | ||
1797 | debug_str_task_key (&t->key), | ||
1798 | s->debug_name); | ||
1799 | #endif | ||
1800 | |||
1801 | s->tasks[s->tasks_len] = t; | ||
1802 | s->tasks_len++; | ||
1803 | |||
1804 | GNUNET_CRYPTO_hash (&t->key, sizeof (struct TaskKey), &round_hash); | ||
1805 | GNUNET_assert (GNUNET_OK == | ||
1806 | GNUNET_CONTAINER_multihashmap_put (taskmap, &round_hash, t, | ||
1807 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); | ||
1808 | } | ||
1809 | |||
1810 | |||
1811 | static void | ||
1812 | install_step_timeouts (struct ConsensusSession *session) | ||
1813 | { | ||
1814 | /* Given the fully constructed task graph | ||
1815 | with rounds for tasks, we can give the tasks timeouts. */ | ||
1816 | |||
1817 | /* XXX: implement! */ | ||
1818 | } | ||
1819 | |||
1820 | |||
1821 | |||
1822 | /* | ||
1823 | * Arrange two peers in some canonical order. | ||
1824 | */ | ||
1825 | static void | ||
1826 | arrange_peers (uint16_t *p1, uint16_t *p2, uint16_t n) | ||
1827 | { | ||
1828 | uint16_t a; | ||
1829 | uint16_t b; | ||
1830 | |||
1831 | GNUNET_assert (*p1 < n); | ||
1832 | GNUNET_assert (*p2 < n); | ||
1833 | |||
1834 | if (*p1 < *p2) | ||
1835 | { | ||
1836 | a = *p1; | ||
1837 | b = *p2; | ||
1838 | } | ||
1839 | else | ||
1840 | { | ||
1841 | a = *p2; | ||
1842 | b = *p1; | ||
1843 | } | ||
1844 | |||
1845 | /* For uniformly random *p1, *p2, | ||
1846 | this condition is true with 50% chance */ | ||
1847 | if (((b - a) + n) % n <= n / 2) | ||
1848 | { | ||
1849 | *p1 = a; | ||
1850 | *p2 = b; | ||
1851 | } | ||
1852 | else | ||
1853 | { | ||
1854 | *p1 = b; | ||
1855 | *p2 = a; | ||
1107 | } | 1856 | } |
1108 | } | 1857 | } |
1109 | 1858 | ||
1110 | 1859 | ||
1111 | /** | 1860 | /** |
1861 | * Record @a dep as a dependency of @step. | ||
1862 | */ | ||
1863 | static void | ||
1864 | step_depend_on (struct Step *step, struct Step *dep) | ||
1865 | { | ||
1866 | /* We're not checking for cyclic dependencies, | ||
1867 | but this is a cheap sanity check. */ | ||
1868 | GNUNET_assert (step != dep); | ||
1869 | GNUNET_assert (NULL != step); | ||
1870 | GNUNET_assert (NULL != dep); | ||
1871 | // XXX: make rounds work | ||
1872 | //GNUNET_assert (dep->start_round <= step->start_round); | ||
1873 | |||
1874 | #ifdef GNUNET_EXTRA_LOGGING | ||
1875 | /* Make sure we have complete debugging information. | ||
1876 | Also checks that we don't screw up too badly | ||
1877 | constructing the task graph. */ | ||
1878 | GNUNET_assert (NULL != step->debug_name); | ||
1879 | GNUNET_assert (NULL != dep->debug_name); | ||
1880 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1881 | "Making step `%s' depend on `%s'\n", | ||
1882 | step->debug_name, | ||
1883 | dep->debug_name); | ||
1884 | #endif | ||
1885 | |||
1886 | if (dep->subordinates_cap == dep->subordinates_len) | ||
1887 | { | ||
1888 | unsigned int target_size = 3 * (dep->subordinates_cap + 1) / 2; | ||
1889 | GNUNET_array_grow (dep->subordinates, | ||
1890 | dep->subordinates_cap, | ||
1891 | target_size); | ||
1892 | } | ||
1893 | |||
1894 | GNUNET_assert (dep->subordinates_len <= dep->subordinates_cap); | ||
1895 | |||
1896 | dep->subordinates[dep->subordinates_len] = step; | ||
1897 | dep->subordinates_len++; | ||
1898 | |||
1899 | step->pending_prereq++; | ||
1900 | } | ||
1901 | |||
1902 | |||
1903 | static struct Step * | ||
1904 | create_step (struct ConsensusSession *session, int start_round, int num_rounds) | ||
1905 | { | ||
1906 | struct Step *step; | ||
1907 | step = GNUNET_new (struct Step); | ||
1908 | step->session = session; | ||
1909 | step->start_round = start_round; | ||
1910 | step->num_rounds = num_rounds; | ||
1911 | GNUNET_CONTAINER_DLL_insert_tail (session->steps_head, | ||
1912 | session->steps_tail, | ||
1913 | step); | ||
1914 | return step; | ||
1915 | } | ||
1916 | |||
1917 | |||
1918 | /** | ||
1919 | * Construct the task graph for a single | ||
1920 | * gradecast. | ||
1921 | */ | ||
1922 | static void | ||
1923 | construct_task_graph_gradecast (struct ConsensusSession *session, | ||
1924 | uint16_t rep, | ||
1925 | uint16_t lead, | ||
1926 | struct Step *step_before, | ||
1927 | struct Step *step_after) | ||
1928 | { | ||
1929 | uint16_t n = session->num_peers; | ||
1930 | uint16_t t = n / 3; | ||
1931 | |||
1932 | uint16_t me = session->local_peer_idx; | ||
1933 | |||
1934 | uint16_t p1; | ||
1935 | uint16_t p2; | ||
1936 | |||
1937 | /* The task we're currently setting up. */ | ||
1938 | struct TaskEntry task; | ||
1939 | |||
1940 | struct Step *step; | ||
1941 | struct Step *prev_step; | ||
1942 | |||
1943 | uint16_t round; | ||
1944 | |||
1945 | unsigned int k; | ||
1946 | |||
1947 | round = step_before->start_round + step_before->num_rounds; | ||
1948 | |||
1949 | /* gcast step 1: leader disseminates */ | ||
1950 | |||
1951 | step = create_step (session, round, 1); | ||
1952 | |||
1953 | #ifdef GNUNET_EXTRA_LOGGING | ||
1954 | GNUNET_asprintf (&step->debug_name, "disseminate leader %u rep %u", lead, rep); | ||
1955 | #endif | ||
1956 | step_depend_on (step, step_before); | ||
1957 | |||
1958 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "P%d: Considering leader %d\n", session->local_peer_idx, lead); | ||
1959 | |||
1960 | if (lead == me) | ||
1961 | { | ||
1962 | for (k = 0; k < n; k++) | ||
1963 | { | ||
1964 | if (k == me) | ||
1965 | continue; | ||
1966 | p1 = me; | ||
1967 | p2 = k; | ||
1968 | arrange_peers (&p1, &p2, n); | ||
1969 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "P%d: GC LEADER(1): %d %d %d %d\n", session->local_peer_idx, p1, p2, rep, lead); | ||
1970 | task = ((struct TaskEntry) { | ||
1971 | .step = step, | ||
1972 | .action = ACTION_RECONCILE, | ||
1973 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_LEADER, p1, p2, rep, me }, | ||
1974 | .input_set = (struct SetKey) { SET_KIND_CURRENT, rep }, | ||
1975 | .output_set = (struct SetKey) { SET_KIND_NONE }, | ||
1976 | }); | ||
1977 | put_task (session->taskmap, &task); | ||
1978 | } | ||
1979 | /* We run this task to make sure that the leader | ||
1980 | has the stored the SET_KIND_LEADER set of himself, | ||
1981 | so he can participate in the rest of the gradecast | ||
1982 | without the code having to handle any special cases. */ | ||
1983 | task = ((struct TaskEntry) { | ||
1984 | .step = step, | ||
1985 | .action = ACTION_RECONCILE, | ||
1986 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_LEADER, me, me, rep, me }, | ||
1987 | .input_set = (struct SetKey) { SET_KIND_CURRENT, rep }, | ||
1988 | .output_set = (struct SetKey) { SET_KIND_LEADER, rep, me }, | ||
1989 | .output_diff = (struct DiffKey) { DIFF_KIND_LEADER, rep, me }, | ||
1990 | }); | ||
1991 | put_task (session->taskmap, &task); | ||
1992 | } | ||
1993 | else | ||
1994 | { | ||
1995 | p1 = me; | ||
1996 | p2 = lead; | ||
1997 | arrange_peers (&p1, &p2, n); | ||
1998 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "P%d: GC LEADER(2): %d %d %d %d\n", session->local_peer_idx, p1, p2, rep, lead); | ||
1999 | task = ((struct TaskEntry) { | ||
2000 | .step = step, | ||
2001 | .action = ACTION_RECONCILE, | ||
2002 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_LEADER, p1, p2, rep, lead}, | ||
2003 | .input_set = (struct SetKey) { SET_KIND_CURRENT, rep }, | ||
2004 | .output_set = (struct SetKey) { SET_KIND_LEADER, rep, lead }, | ||
2005 | .output_diff = (struct DiffKey) { DIFF_KIND_LEADER, rep, lead }, | ||
2006 | }); | ||
2007 | put_task (session->taskmap, &task); | ||
2008 | } | ||
2009 | |||
2010 | /* gcast phase 2: echo */ | ||
2011 | prev_step = step; | ||
2012 | step = create_step (session, round, 1); | ||
2013 | #ifdef GNUNET_EXTRA_LOGGING | ||
2014 | GNUNET_asprintf (&step->debug_name, "echo leader %u rep %u", lead, rep); | ||
2015 | #endif | ||
2016 | step_depend_on (step, prev_step); | ||
2017 | |||
2018 | for (k = 0; k < n; k++) | ||
2019 | { | ||
2020 | p1 = k; | ||
2021 | p2 = me; | ||
2022 | arrange_peers (&p1, &p2, n); | ||
2023 | task = ((struct TaskEntry) { | ||
2024 | .step = step, | ||
2025 | .action = ACTION_RECONCILE, | ||
2026 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_ECHO, p1, p2, rep, lead }, | ||
2027 | .input_set = (struct SetKey) { SET_KIND_LEADER, rep, lead }, | ||
2028 | .output_rfn = (struct RfnKey) { RFN_KIND_ECHO, rep, lead }, | ||
2029 | }); | ||
2030 | put_task (session->taskmap, &task); | ||
2031 | } | ||
2032 | |||
2033 | prev_step = step; | ||
2034 | step = create_step (session, round, 1); | ||
2035 | #ifdef GNUNET_EXTRA_LOGGING | ||
2036 | GNUNET_asprintf (&step->debug_name, "echo grade leader %u rep %u", lead, rep); | ||
2037 | #endif | ||
2038 | step_depend_on (step, prev_step); | ||
2039 | |||
2040 | arrange_peers (&p1, &p2, n); | ||
2041 | task = ((struct TaskEntry) { | ||
2042 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_ECHO_GRADE, -1, -1, rep, lead }, | ||
2043 | .step = step, | ||
2044 | .action = ACTION_EVAL_RFN, | ||
2045 | .input_set = (struct SetKey) { SET_KIND_LEADER, rep, lead }, | ||
2046 | .input_rfn = (struct RfnKey) { RFN_KIND_ECHO, rep, lead }, | ||
2047 | .output_set = (struct SetKey) { SET_KIND_ECHO_RESULT, rep, lead }, | ||
2048 | .threshold = n - t, | ||
2049 | }); | ||
2050 | put_task (session->taskmap, &task); | ||
2051 | |||
2052 | prev_step = step; | ||
2053 | step = create_step (session, round, 1); | ||
2054 | #ifdef GNUNET_EXTRA_LOGGING | ||
2055 | GNUNET_asprintf (&step->debug_name, "confirm leader %u rep %u", lead, rep); | ||
2056 | #endif | ||
2057 | step_depend_on (step, prev_step); | ||
2058 | |||
2059 | /* gcast phase 3: confirmation and grading */ | ||
2060 | for (k = 0; k < n; k++) | ||
2061 | { | ||
2062 | p1 = k; | ||
2063 | p2 = me; | ||
2064 | arrange_peers (&p1, &p2, n); | ||
2065 | task = ((struct TaskEntry) { | ||
2066 | .step = step, | ||
2067 | .action = ACTION_RECONCILE, | ||
2068 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_CONFIRM, p1, p2, rep, lead}, | ||
2069 | .input_set = (struct SetKey) { SET_KIND_ECHO_RESULT, rep, lead }, | ||
2070 | .output_rfn = (struct RfnKey) { RFN_KIND_CONFIRM, rep, lead }, | ||
2071 | }); | ||
2072 | put_task (session->taskmap, &task); | ||
2073 | } | ||
2074 | |||
2075 | prev_step = step; | ||
2076 | step = create_step (session, round, 1); | ||
2077 | #ifdef GNUNET_EXTRA_LOGGING | ||
2078 | GNUNET_asprintf (&step->debug_name, "confirm grade leader %u rep %u", lead, rep); | ||
2079 | #endif | ||
2080 | step_depend_on (step, prev_step); | ||
2081 | |||
2082 | // evaluate ConfirmationReferendum and | ||
2083 | // apply it to the LeaderReferendum | ||
2084 | task = ((struct TaskEntry) { | ||
2085 | .step = step, | ||
2086 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_CONFIRM_GRADE, -1, -1, rep, lead }, | ||
2087 | .action = ACTION_EVAL_RFN, | ||
2088 | .input_rfn = (struct RfnKey) { RFN_KIND_ECHO, rep, lead }, | ||
2089 | .output_diff = (struct DiffKey) { DIFF_KIND_GRADECAST_RESULT, rep }, | ||
2090 | }); | ||
2091 | put_task (session->taskmap, &task); | ||
2092 | |||
2093 | step_depend_on (step_after, step); | ||
2094 | } | ||
2095 | |||
2096 | |||
2097 | static void | ||
2098 | construct_task_graph (struct ConsensusSession *session) | ||
2099 | { | ||
2100 | uint16_t n = session->num_peers; | ||
2101 | uint16_t t = n / 3; | ||
2102 | |||
2103 | uint16_t me = session->local_peer_idx; | ||
2104 | |||
2105 | uint16_t p1; | ||
2106 | uint16_t p2; | ||
2107 | |||
2108 | /* The task we're currently setting up. */ | ||
2109 | struct TaskEntry task; | ||
2110 | |||
2111 | /* Current leader */ | ||
2112 | unsigned int lead; | ||
2113 | |||
2114 | struct Step *step; | ||
2115 | struct Step *prev_step; | ||
2116 | |||
2117 | unsigned int round = 0; | ||
2118 | |||
2119 | unsigned int i; | ||
2120 | |||
2121 | // XXX: introduce first step, | ||
2122 | // where we wait for all insert acks | ||
2123 | // from the set service | ||
2124 | |||
2125 | /* faster but brittle all-to-all */ | ||
2126 | |||
2127 | // XXX: Not implemented yet | ||
2128 | |||
2129 | /* all-to-all step */ | ||
2130 | |||
2131 | step = create_step (session, round, 1); | ||
2132 | |||
2133 | #ifdef GNUNET_EXTRA_LOGGING | ||
2134 | step->debug_name = GNUNET_strdup ("all to all"); | ||
2135 | #endif | ||
2136 | |||
2137 | for (i = 0; i < n; i++) | ||
2138 | { | ||
2139 | p1 = me; | ||
2140 | p2 = i; | ||
2141 | arrange_peers (&p1, &p2, n); | ||
2142 | task = ((struct TaskEntry) { | ||
2143 | .key = (struct TaskKey) { PHASE_KIND_ALL_TO_ALL, p1, p2, -1, -1 }, | ||
2144 | .step = step, | ||
2145 | .action = ACTION_RECONCILE, | ||
2146 | .input_set = (struct SetKey) { SET_KIND_CURRENT, 0 }, | ||
2147 | .output_set = (struct SetKey) { SET_KIND_CURRENT, 0 }, | ||
2148 | }); | ||
2149 | put_task (session->taskmap, &task); | ||
2150 | } | ||
2151 | |||
2152 | round++; | ||
2153 | |||
2154 | prev_step = step; | ||
2155 | step = NULL; | ||
2156 | |||
2157 | /* Byzantine union */ | ||
2158 | |||
2159 | /* sequential repetitions of the gradecasts */ | ||
2160 | for (i = 0; i < t + 1; i++) | ||
2161 | { | ||
2162 | struct Step *step_rep_start; | ||
2163 | struct Step *step_rep_end; | ||
2164 | |||
2165 | step_rep_start = create_step (session, round, 1); | ||
2166 | #ifdef GNUNET_EXTRA_LOGGING | ||
2167 | GNUNET_asprintf (&step_rep_start->debug_name, "gradecast start rep %u", i); | ||
2168 | #endif | ||
2169 | |||
2170 | step_depend_on (step_rep_start, prev_step); | ||
2171 | |||
2172 | step_rep_end = create_step (session, round, 1); | ||
2173 | #ifdef GNUNET_EXTRA_LOGGING | ||
2174 | GNUNET_asprintf (&step_rep_end->debug_name, "gradecast end rep %u", i); | ||
2175 | #endif | ||
2176 | |||
2177 | /* parallel gradecasts */ | ||
2178 | for (lead = 0; lead < n; lead++) | ||
2179 | construct_task_graph_gradecast (session, i, lead, step_rep_start, step_rep_end); | ||
2180 | |||
2181 | // TODO: add peers to ignore list, | ||
2182 | // | ||
2183 | // evaluate ConfirmationReferendum and | ||
2184 | // apply it to the LeaderReferendum | ||
2185 | task = ((struct TaskEntry) { | ||
2186 | .step = step_rep_end, | ||
2187 | .key = (struct TaskKey) { PHASE_KIND_GRADECAST_APPLY_RESULT, -1, -1, i, -1}, | ||
2188 | .action = ACTION_APPLY_DIFF, | ||
2189 | .input_set = (struct SetKey) { SET_KIND_CURRENT, i }, | ||
2190 | .input_diff = (struct DiffKey) { DIFF_KIND_GRADECAST_RESULT, i }, | ||
2191 | .output_set = (struct SetKey) { SET_KIND_CURRENT, i + 1 }, | ||
2192 | }); | ||
2193 | put_task (session->taskmap, &task); | ||
2194 | |||
2195 | prev_step = step_rep_end; | ||
2196 | } | ||
2197 | |||
2198 | /* There is no next gradecast round, thus the final | ||
2199 | start step is the overall end step of the gradecasts */ | ||
2200 | step = create_step (session, round, 1); | ||
2201 | #ifdef GNUNET_EXTRA_LOGGING | ||
2202 | GNUNET_asprintf (&step->debug_name, "finish"); | ||
2203 | #endif | ||
2204 | step_depend_on (step, prev_step); | ||
2205 | |||
2206 | task = ((struct TaskEntry) { | ||
2207 | .step = step, | ||
2208 | .key = (struct TaskKey) { PHASE_KIND_FINISH, -1, -1, -1, -1 }, | ||
2209 | .input_set = (struct SetKey) { SET_KIND_CURRENT, t + 1 }, | ||
2210 | .action = ACTION_FINISH, | ||
2211 | }); | ||
2212 | |||
2213 | put_task (session->taskmap, &task); | ||
2214 | } | ||
2215 | |||
2216 | |||
2217 | /** | ||
1112 | * Initialize the session, continue receiving messages from the owning client | 2218 | * Initialize the session, continue receiving messages from the owning client |
1113 | * | 2219 | * |
1114 | * @param session the session to initialize | 2220 | * @param session the session to initialize |
@@ -1124,21 +2230,21 @@ initialize_session (struct ConsensusSession *session, | |||
1124 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "session with %u peers\n", session->num_peers); | 2230 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "session with %u peers\n", session->num_peers); |
1125 | compute_global_id (session, &join_msg->session_id); | 2231 | compute_global_id (session, &join_msg->session_id); |
1126 | 2232 | ||
1127 | /* check if some local client already owns the session. | 2233 | /* Check if some local client already owns the session. |
1128 | * it is only legal to have a session with an existing global id | 2234 | It is only legal to have a session with an existing global id |
1129 | * if all other sessions with this global id are finished.*/ | 2235 | if all other sessions with this global id are finished.*/ |
1130 | other_session = sessions_head; | 2236 | other_session = sessions_head; |
1131 | while (NULL != other_session) | 2237 | while (NULL != other_session) |
1132 | { | 2238 | { |
1133 | if ((other_session != session) && | 2239 | if ((other_session != session) && |
1134 | (0 == GNUNET_CRYPTO_hash_cmp (&session->global_id, &other_session->global_id))) | 2240 | (0 == GNUNET_CRYPTO_hash_cmp (&session->global_id, &other_session->global_id))) |
1135 | { | 2241 | { |
1136 | if (CONSENSUS_ROUND_FINISH != other_session->current_round) | 2242 | //if (CONSENSUS_ROUND_FINISH != other_session->current_round) |
1137 | { | 2243 | //{ |
1138 | GNUNET_break (0); | 2244 | // GNUNET_break (0); |
1139 | destroy_session (session); | 2245 | // destroy_session (session); |
1140 | return; | 2246 | // return; |
1141 | } | 2247 | //} |
1142 | break; | 2248 | break; |
1143 | } | 2249 | } |
1144 | other_session = other_session->next; | 2250 | other_session = other_session->next; |
@@ -1152,12 +2258,30 @@ initialize_session (struct ConsensusSession *session, | |||
1152 | 2258 | ||
1153 | session->local_peer_idx = get_peer_idx (&my_peer, session); | 2259 | session->local_peer_idx = get_peer_idx (&my_peer, session); |
1154 | GNUNET_assert (-1 != session->local_peer_idx); | 2260 | GNUNET_assert (-1 != session->local_peer_idx); |
1155 | session->element_set = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); | ||
1156 | GNUNET_assert (NULL != session->element_set); | ||
1157 | session->set_listener = GNUNET_SET_listen (cfg, GNUNET_SET_OPERATION_UNION, | 2261 | session->set_listener = GNUNET_SET_listen (cfg, GNUNET_SET_OPERATION_UNION, |
1158 | &session->global_id, | 2262 | &session->global_id, |
1159 | set_listen_cb, session); | 2263 | set_listen_cb, session); |
1160 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%d is the local peer\n", session->local_peer_idx); | 2264 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%d is the local peer\n", session->local_peer_idx); |
2265 | |||
2266 | session->setmap = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_NO); | ||
2267 | session->taskmap = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_NO); | ||
2268 | session->diffmap = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_NO); | ||
2269 | session->rfnmap = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_NO); | ||
2270 | |||
2271 | { | ||
2272 | struct SetEntry *client_set; | ||
2273 | client_set = GNUNET_new (struct SetEntry); | ||
2274 | client_set->h = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); | ||
2275 | client_set->key = ((struct SetKey) { SET_KIND_CURRENT, 0, 0 }); | ||
2276 | put_set (session, client_set); | ||
2277 | } | ||
2278 | |||
2279 | session->peers_ignored = GNUNET_new_array (session->num_peers, int); | ||
2280 | |||
2281 | /* Just construct the task graph, | ||
2282 | but don't run anything until the client calls conclude. */ | ||
2283 | construct_task_graph (session); | ||
2284 | |||
1161 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "session %s initialized\n", GNUNET_h2s (&session->global_id)); | 2285 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "session %s initialized\n", GNUNET_h2s (&session->global_id)); |
1162 | } | 2286 | } |
1163 | 2287 | ||
@@ -1212,6 +2336,13 @@ client_join (void *cls, | |||
1212 | } | 2336 | } |
1213 | 2337 | ||
1214 | 2338 | ||
2339 | static void | ||
2340 | client_insert_done (void *cls) | ||
2341 | { | ||
2342 | // FIXME: implement | ||
2343 | } | ||
2344 | |||
2345 | |||
1215 | /** | 2346 | /** |
1216 | * Called when a client performs an insert operation. | 2347 | * Called when a client performs an insert operation. |
1217 | * | 2348 | * |
@@ -1228,6 +2359,7 @@ client_insert (void *cls, | |||
1228 | struct GNUNET_CONSENSUS_ElementMessage *msg; | 2359 | struct GNUNET_CONSENSUS_ElementMessage *msg; |
1229 | struct GNUNET_SET_Element *element; | 2360 | struct GNUNET_SET_Element *element; |
1230 | ssize_t element_size; | 2361 | ssize_t element_size; |
2362 | struct GNUNET_SET_Handle *initial_set; | ||
1231 | 2363 | ||
1232 | session = get_session_by_client (client); | 2364 | session = get_session_by_client (client); |
1233 | 2365 | ||
@@ -1238,7 +2370,7 @@ client_insert (void *cls, | |||
1238 | return; | 2370 | return; |
1239 | } | 2371 | } |
1240 | 2372 | ||
1241 | if (CONSENSUS_ROUND_BEGIN != session->current_round) | 2373 | if (GNUNET_YES == session->conclude_started) |
1242 | { | 2374 | { |
1243 | GNUNET_break (0); | 2375 | GNUNET_break (0); |
1244 | GNUNET_SERVER_client_disconnect (client); | 2376 | GNUNET_SERVER_client_disconnect (client); |
@@ -1258,11 +2390,19 @@ client_insert (void *cls, | |||
1258 | element->size = element_size; | 2390 | element->size = element_size; |
1259 | memcpy (&element[1], &msg[1], element_size); | 2391 | memcpy (&element[1], &msg[1], element_size); |
1260 | element->data = &element[1]; | 2392 | element->data = &element[1]; |
1261 | GNUNET_SET_add_element (session->element_set, element, NULL, NULL); | 2393 | { |
2394 | struct SetKey key = { SET_KIND_CURRENT, 0, 0 }; | ||
2395 | struct SetEntry *entry; | ||
2396 | entry = lookup_set (session, &key); | ||
2397 | GNUNET_assert (NULL != entry); | ||
2398 | initial_set = entry->h; | ||
2399 | } | ||
2400 | session->num_client_insert_pending++; | ||
2401 | GNUNET_SET_add_element (initial_set, element, client_insert_done, session); | ||
1262 | GNUNET_free (element); | 2402 | GNUNET_free (element); |
1263 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | 2403 | GNUNET_SERVER_receive_done (client, GNUNET_OK); |
1264 | 2404 | ||
1265 | // GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: element added\n", session->local_peer_idx); | 2405 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: element added\n", session->local_peer_idx); |
1266 | } | 2406 | } |
1267 | 2407 | ||
1268 | 2408 | ||
@@ -1280,7 +2420,6 @@ client_conclude (void *cls, | |||
1280 | { | 2420 | { |
1281 | struct ConsensusSession *session; | 2421 | struct ConsensusSession *session; |
1282 | 2422 | ||
1283 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "conclude requested\n"); | ||
1284 | session = get_session_by_client (client); | 2423 | session = get_session_by_client (client); |
1285 | if (NULL == session) | 2424 | if (NULL == session) |
1286 | { | 2425 | { |
@@ -1289,24 +2428,24 @@ client_conclude (void *cls, | |||
1289 | GNUNET_SERVER_client_disconnect (client); | 2428 | GNUNET_SERVER_client_disconnect (client); |
1290 | return; | 2429 | return; |
1291 | } | 2430 | } |
1292 | if (CONSENSUS_ROUND_BEGIN != session->current_round) | 2431 | |
2432 | if (GNUNET_YES == session->conclude_started) | ||
1293 | { | 2433 | { |
1294 | /* client requested conclude twice */ | 2434 | /* conclude started twice */ |
1295 | GNUNET_break (0); | 2435 | GNUNET_break (0); |
2436 | GNUNET_SERVER_client_disconnect (client); | ||
2437 | destroy_session (session); | ||
1296 | return; | 2438 | return; |
1297 | } | 2439 | } |
1298 | if (session->num_peers <= 1) | ||
1299 | { | ||
1300 | session->current_round = CONSENSUS_ROUND_FINISH; | ||
1301 | GNUNET_SET_iterate (session->element_set, send_to_client_iter, session); | ||
1302 | } | ||
1303 | else | ||
1304 | { | ||
1305 | /* the 'begin' round is over, start with the next, actual round */ | ||
1306 | round_over (session, NULL); | ||
1307 | } | ||
1308 | 2440 | ||
1309 | GNUNET_assert (CONSENSUS_ROUND_BEGIN != session->current_round); | 2441 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "conclude requested\n"); |
2442 | |||
2443 | session->conclude_started = GNUNET_YES; | ||
2444 | |||
2445 | install_step_timeouts (session); | ||
2446 | run_ready_steps (session); | ||
2447 | |||
2448 | |||
1310 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | 2449 | GNUNET_SERVER_receive_done (client, GNUNET_OK); |
1311 | } | 2450 | } |
1312 | 2451 | ||
@@ -1343,17 +2482,11 @@ handle_client_disconnect (void *cls, struct GNUNET_SERVER_Client *client) | |||
1343 | session = get_session_by_client (client); | 2482 | session = get_session_by_client (client); |
1344 | if (NULL == session) | 2483 | if (NULL == session) |
1345 | return; | 2484 | return; |
1346 | if ((CONSENSUS_ROUND_BEGIN == session->current_round) || | 2485 | // FIXME: destroy if we can |
1347 | (CONSENSUS_ROUND_FINISH == session->current_round)) | ||
1348 | { | ||
1349 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "client disconnected, destroying session\n"); | ||
1350 | destroy_session (session); | ||
1351 | return; | ||
1352 | } | ||
1353 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "client disconnected, but waiting for consensus to finish\n"); | ||
1354 | } | 2486 | } |
1355 | 2487 | ||
1356 | 2488 | ||
2489 | |||
1357 | /** | 2490 | /** |
1358 | * Start processing consensus requests. | 2491 | * Start processing consensus requests. |
1359 | * | 2492 | * |
diff --git a/src/consensus/test_consensus.conf b/src/consensus/test_consensus.conf index 67935e69a..71711b0e1 100644 --- a/src/consensus/test_consensus.conf +++ b/src/consensus/test_consensus.conf | |||
@@ -1,6 +1,8 @@ | |||
1 | @INLINE@ ../../contrib/no_forcestart.conf | ||
2 | |||
1 | [consensus] | 3 | [consensus] |
2 | #PREFIX = gdbserver :12345 | 4 | #PREFIX = gdbserver :12345 |
3 | #PREFIX = valgrind | 5 | PREFIX = valgrind |
4 | OPTIONS = -L INFO | 6 | OPTIONS = -L INFO |
5 | 7 | ||
6 | [transport] | 8 | [transport] |
@@ -9,13 +11,16 @@ OPTIONS = -LERROR | |||
9 | [set] | 11 | [set] |
10 | OPTIONS = -L INFO | 12 | OPTIONS = -L INFO |
11 | #PREFIX = valgrind --leak-check=full | 13 | #PREFIX = valgrind --leak-check=full |
12 | #PREFIX = valgrind | 14 | PREFIX = valgrind |
13 | 15 | ||
14 | [testbed] | 16 | [testbed] |
15 | OVERLAY_TOPOLOGY = CLIQUE | 17 | OVERLAY_TOPOLOGY = CLIQUE |
16 | 18 | ||
17 | [hostlist] | 19 | [hostlist] |
18 | SERVERS = | 20 | AUTOSTART = NO |
21 | |||
22 | [revocation] | ||
23 | AUTOSTART = NO | ||
19 | 24 | ||
20 | [nat] | 25 | [nat] |
21 | # Use addresses from the local network interfaces (inluding loopback, but also others) | 26 | # Use addresses from the local network interfaces (inluding loopback, but also others) |
diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c index 75b33536d..d8e8dfb78 100644 --- a/src/set/gnunet-service-set.c +++ b/src/set/gnunet-service-set.c | |||
@@ -339,7 +339,12 @@ is_element_of_generation (struct ElementEntry *ee, | |||
339 | { | 339 | { |
340 | struct MutationEvent *mut; | 340 | struct MutationEvent *mut; |
341 | int is_present; | 341 | int is_present; |
342 | unsigned int i; | ||
342 | 343 | ||
344 | /* If ee->mutations is NULL, | ||
345 | the element was added in generation 0, | ||
346 | and there are no removes, thus the element | ||
347 | is part of any generation we query. */ | ||
343 | if (NULL == ee->mutations) | 348 | if (NULL == ee->mutations) |
344 | return GNUNET_YES; | 349 | return GNUNET_YES; |
345 | 350 | ||
@@ -349,22 +354,38 @@ is_element_of_generation (struct ElementEntry *ee, | |||
349 | return GNUNET_NO; | 354 | return GNUNET_NO; |
350 | } | 355 | } |
351 | 356 | ||
352 | is_present = GNUNET_YES; | 357 | is_present = GNUNET_NO; |
353 | 358 | ||
354 | // Could be made faster with binary search, but lists | 359 | /* Could be made faster with binary search, but lists |
355 | // are small, so why bother. | 360 | are small, so why bother. */ |
356 | for (mut = ee->mutations; 0 != mut->generation; mut++) | 361 | for (i = 0; i < ee->mutations_size; i++) |
357 | { | 362 | { |
358 | if ( (mut->generation > query_generation) || | 363 | mut = &ee->mutations[i]; |
359 | (GNUNET_YES == is_excluded_generation (mut->generation, excluded, excluded_size)) ) | 364 | |
365 | if (mut->generation > query_generation) | ||
366 | { | ||
367 | /* The mutation doesn't apply to our generation | ||
368 | anymore. We can'b break here, since mutations aren't | ||
369 | sorted by generation. */ | ||
370 | continue; | ||
371 | } | ||
372 | |||
373 | if (GNUNET_YES == is_excluded_generation (mut->generation, excluded, excluded_size)) | ||
360 | { | 374 | { |
375 | /* The generation is excluded (because it belongs to another | ||
376 | fork via a lazy copy) and thus mutations aren't considered | ||
377 | for membership testing. */ | ||
361 | continue; | 378 | continue; |
362 | } | 379 | } |
363 | 380 | ||
364 | // This would be an inconsistency in how we manage mutations. | 381 | /* This would be an inconsistency in how we manage mutations. */ |
365 | if ( (GNUNET_YES == is_present) && (GNUNET_YES == mut->added) ) | 382 | if ( (GNUNET_YES == is_present) && (GNUNET_YES == mut->added) ) |
366 | GNUNET_assert (0); | 383 | GNUNET_assert (0); |
367 | 384 | ||
385 | /* Likewise. */ | ||
386 | if ( (GNUNET_NO == is_present) && (GNUNET_NO == mut->added) ) | ||
387 | GNUNET_assert (0); | ||
388 | |||
368 | is_present = mut->added; | 389 | is_present = mut->added; |
369 | } | 390 | } |
370 | 391 | ||
@@ -816,7 +837,9 @@ execute_add (struct Set *set, | |||
816 | ee->mutations = NULL; | 837 | ee->mutations = NULL; |
817 | ee->mutations_size = 0; | 838 | ee->mutations_size = 0; |
818 | ee->element_hash = hash; | 839 | ee->element_hash = hash; |
819 | } else if (GNUNET_YES == _GSS_is_element_of_set (ee, set)) { | 840 | } |
841 | else if (GNUNET_YES == _GSS_is_element_of_set (ee, set)) | ||
842 | { | ||
820 | /* same element inserted twice */ | 843 | /* same element inserted twice */ |
821 | GNUNET_break (0); | 844 | GNUNET_break (0); |
822 | return; | 845 | return; |
@@ -829,7 +852,6 @@ execute_add (struct Set *set, | |||
829 | .added = GNUNET_YES | 852 | .added = GNUNET_YES |
830 | }; | 853 | }; |
831 | GNUNET_array_append (ee->mutations, ee->mutations_size, mut); | 854 | GNUNET_array_append (ee->mutations, ee->mutations_size, mut); |
832 | ee->mutations_size += 1; | ||
833 | } | 855 | } |
834 | 856 | ||
835 | GNUNET_break (GNUNET_YES == | 857 | GNUNET_break (GNUNET_YES == |
@@ -888,7 +910,6 @@ execute_remove (struct Set *set, | |||
888 | .added = GNUNET_NO | 910 | .added = GNUNET_NO |
889 | }; | 911 | }; |
890 | GNUNET_array_append (ee->mutations, ee->mutations_size, mut); | 912 | GNUNET_array_append (ee->mutations, ee->mutations_size, mut); |
891 | ee->mutations_size += 1; | ||
892 | } | 913 | } |
893 | set->vt->remove (set->state, ee); | 914 | set->vt->remove (set->state, ee); |
894 | } | 915 | } |
@@ -1263,8 +1284,6 @@ advance_generation (struct Set *set) | |||
1263 | GNUNET_array_append (set->excluded_generations, | 1284 | GNUNET_array_append (set->excluded_generations, |
1264 | set->excluded_generations_size, | 1285 | set->excluded_generations_size, |
1265 | r); | 1286 | r); |
1266 | |||
1267 | set->excluded_generations_size += 1; | ||
1268 | } | 1287 | } |
1269 | 1288 | ||
1270 | /** | 1289 | /** |
diff --git a/src/set/gnunet-service-set.h b/src/set/gnunet-service-set.h index fb079d03f..c3650aa9b 100644 --- a/src/set/gnunet-service-set.h +++ b/src/set/gnunet-service-set.h | |||
@@ -323,6 +323,9 @@ struct ElementEntry | |||
323 | */ | 323 | */ |
324 | struct MutationEvent *mutations; | 324 | struct MutationEvent *mutations; |
325 | 325 | ||
326 | /** | ||
327 | * Number of elements in the array @a mutations. | ||
328 | */ | ||
326 | unsigned int mutations_size; | 329 | unsigned int mutations_size; |
327 | 330 | ||
328 | /** | 331 | /** |