From 641bfeb1ad59f812a02720a1687e445b207850c4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 15:49:17 +0000 Subject: drop guix-env.scm, no longer maintained. --- guix-env.scm | 128 ----------------------------------------------------------- 1 file changed, 128 deletions(-) delete mode 100644 guix-env.scm diff --git a/guix-env.scm b/guix-env.scm deleted file mode 100644 index 92a7845a..00000000 --- a/guix-env.scm +++ /dev/null @@ -1,128 +0,0 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2017, 2018 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. - -(use-modules - (ice-9 popen) - (ice-9 match) - (ice-9 rdelim) - (guix packages) - (guix build-system gnu) - (guix gexp) - ((guix build utils) #:select (with-directory-excursion)) - (guix git-download) - (guix utils) ; current-source-directory - (gnu packages) - (gnu packages aidc) - (gnu packages autotools) - (gnu packages backup) - (gnu packages base) - (gnu packages compression) - (gnu packages curl) - (gnu packages check) - (gnu packages databases) - (gnu packages file) - (gnu packages gettext) - (gnu packages less) - (gnu packages glib) - (gnu packages gnome) - (gnu packages gnunet) - (gnu packages gnupg) - (gnu packages gnuzilla) - (gnu packages groff) - (gnu packages gstreamer) - (gnu packages gtk) - (gnu packages guile) - (gnu packages image) - (gnu packages image-viewers) - (gnu packages libidn) - (gnu packages libunistring) - (gnu packages linux) - (gnu packages maths) - (gnu packages multiprecision) - (gnu packages perl) - (gnu packages pkg-config) - (gnu packages pulseaudio) - (gnu packages python) - (gnu packages tex) - (gnu packages texinfo) - (gnu packages tex) - (gnu packages tls) - (gnu packages upnp) - (gnu packages openstack) - (gnu packages video) - (gnu packages web) - (gnu packages version-control) - (gnu packages xiph) - ((guix licenses) #:prefix license:)) - -(define %source-dir (dirname (current-filename))) - -(define gnunet-website-git - (let* ((revision "2")) - (package - (name "gnunet-website-git") - (version (string-append "0.0.0-" revision "." "dev")) - (source - (local-file %source-dir - #:recursive? #t)) - ;; FIXME: Switch to python-build-system! - (build-system gnu-build-system) - (inputs - `(("python-jinja2" ,python-jinja2) - ("python-babel" ,python-babel) - ("python-pylint" ,python-pylint) - ("python-oslo.i18n" ,python-oslo.i18n) - ("python-future" ,python-future) - ("gettext-minimal" ,gettext-minimal) - ("python" ,python) - ("coreutils" ,coreutils) - ("which" ,which) - ("less" ,less) - ("git" ,git) - ("automake" ,automake) - ("autoconf" ,autoconf-wrapper))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'po-file-chmod - (lambda _ - ;; Make sure 'msgmerge' can modify the PO files. - (for-each (lambda (po) - (chmod po #o666)) - (find-files "." "\\.po$")))) - ;; (replace 'configure - ;; (lambda* (#:key outputs inputs #:allow-other-keys) - ;; (let ((pystore (assoc-ref inputs "python")) - ;; (pyver ,(version-major+minor (package-version python)))) - ;; (substitute* "Makefile" - ;; (("env PYTHONPATH=\".\"") - ;; (string-append - ;; "env PYTHONPATH=\"" - ;; (getenv "PYTHONPATH") - ;; ":" - ;; "." - ;; "\"")))))) - ;; FIXME: Implement small testsuite. - (delete 'check)))) - (synopsis "GNUnet website generation") - (description - "GNUnet-website builds the website.") - (license #f) - (home-page "https://gnunet.org")))) - -gnunet-website-git -- cgit v1.2.3 From f5f8e193eef587acd7b51a2abb71e946a6f63f1d Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 15:52:20 +0000 Subject: rm old templates folder. --- templates/feed-atom.py | 4 ---- templates/feed.atom.j2 | 12 ------------ templates/feed.xml | 15 --------------- 3 files changed, 31 deletions(-) delete mode 100644 templates/feed-atom.py delete mode 100644 templates/feed.atom.j2 delete mode 100644 templates/feed.xml diff --git a/templates/feed-atom.py b/templates/feed-atom.py deleted file mode 100644 index 37a596c4..00000000 --- a/templates/feed-atom.py +++ /dev/null @@ -1,4 +0,0 @@ -import jinja2 - -env = jinja2.Environment(loader=jinja2.FileSystemLoader(".")) -print(env.get_template("feed.rss.j2").render(items=get_list_of_items())) diff --git a/templates/feed.atom.j2 b/templates/feed.atom.j2 deleted file mode 100644 index 0a201ff2..00000000 --- a/templates/feed.atom.j2 +++ /dev/null @@ -1,12 +0,0 @@ - - - Author's name - Feed title - {% for item in items %} - - {{ item[0] }} - - {{ item[2] }} - - {% endfor %} - diff --git a/templates/feed.xml b/templates/feed.xml deleted file mode 100644 index e509fd10..00000000 --- a/templates/feed.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - {{ title }} - {{ site_url }} - gnunet.org feed - {% for item in items %} - - {{ item[0] }} - - {{ item[2] }} - - {% endfor %} - - -- cgit v1.2.3 From 6ed32502786098cc5dea5bd25bf5c5045a331b5f Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 15:53:18 +0000 Subject: ignore old/ --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index f5d1cb1f..b25ec1e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ ./*.html common/*.inc +old/ + *.mo locale/*/ locale/messages.pot -- cgit v1.2.3 From a16cc13a6b9a3220dfc9966dff1546172c41bc7e Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 16:17:53 +0000 Subject: removed help submodule. --- .gitmodules | 5 ----- help | 1 - 2 files changed, 6 deletions(-) delete mode 160000 help diff --git a/.gitmodules b/.gitmodules index d21ef0d6..8a2fe0c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,8 +1,3 @@ -[submodule "help"] - path = help - url = git://taler.net/help - branch = master - ignore = dirty [submodule "build-system/taler-build-scripts"] path = build-system/taler-build-scripts url = git://git.taler.net/build-common diff --git a/help b/help deleted file mode 160000 index 1ca9f1b3..00000000 --- a/help +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1ca9f1b35b286625b05672feea1c16a4de368ed5 -- cgit v1.2.3 From bc30910056ae9c58484e1c5a59d253bc64f2e6f3 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 16:30:28 +0000 Subject: add yapf style to bootstrap. --- bootstrap | 3 ++- favicon.ico | Bin 1467 -> 0 bytes static/favicon.ico | Bin 0 -> 1467 bytes 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 favicon.ico create mode 100644 static/favicon.ico diff --git a/bootstrap b/bootstrap index 82700e1b..7fa915ff 100755 --- a/bootstrap +++ b/bootstrap @@ -11,4 +11,5 @@ if ! git --version >/dev/null; then fi git submodule update --init -cp build-system/taler-build-scripts/configure ./configure +cp build-system/taler-build-scripts/configure ./configure || true +cp build-system/taler-build-scripts/conf/.style.yapf .style.yapf || true diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index b2147927..00000000 Binary files a/favicon.ico and /dev/null differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 00000000..b2147927 Binary files /dev/null and b/static/favicon.ico differ -- cgit v1.2.3 From 302a50ba766fd58faa87c6e22b3bc711b55fb7bc Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 16:32:11 +0000 Subject: remove FIXME. --- FIXME | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 FIXME diff --git a/FIXME b/FIXME deleted file mode 100644 index f088a2eb..00000000 --- a/FIXME +++ /dev/null @@ -1,2 +0,0 @@ -.well-known/security.txt -# nothing at all, test -- cgit v1.2.3 From ff725eae0fff5ad53b8b661178e8f6f0bb0c7900 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 16:57:39 +0000 Subject: remove taler flyer, leftover from initial base. --- static/pdf/flyer2017.pdf | Bin 941424 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/pdf/flyer2017.pdf diff --git a/static/pdf/flyer2017.pdf b/static/pdf/flyer2017.pdf deleted file mode 100644 index 5776895e..00000000 Binary files a/static/pdf/flyer2017.pdf and /dev/null differ -- cgit v1.2.3 From 001b40be95558105c2c08377408a46d44cc82247 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 17:07:06 +0000 Subject: minor syntax fixes in engage. --- template/engage.html.j2 | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/template/engage.html.j2 b/template/engage.html.j2 index bd31d7d1..000396ab 100644 --- a/template/engage.html.j2 +++ b/template/engage.html.j2 @@ -50,7 +50,7 @@

Use GNUnet!

- Let's get started... + Let's get started...

Report bugs!

@@ -63,11 +63,11 @@

  • Please inform us if your operating system or package manager applies any vendor changes to GNUnet which you know about (to exclude potential problems introduced by third parties).
  • Wait until your bug report is acknowledged/replied to. Note that only volunteers work on this, responses may take a while.
  • Please follow up with eventual questions about the bug.
  • -
  • Once a fix is there: Check if it's working as expected, so that we can properly close the bug report and/or give you credits :)
  • +
  • Once a fix is there: Check if it's working as expected, so that we can properly close the bug report and/or give you credits :)
  • Contribute!

    - There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it's translations, the bibliography, our wide documentation, and other efforts are most welcome, too.
    + There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it's translations, the bibliography, our wide documentation, and other efforts are most welcome, too.
    The core software of GNUnet used to be released with long breaks between releases. Since the 0.11.0 release we try to make releases more regularly. Therefore package maintainers who are interested in working together with an welcoming environment are invited to contribute packages of our software to any OS/PM and request help.
    Last but not least designers are welcome to contact us about projects which require help.

    @@ -79,16 +79,13 @@

    Bibliography

    If you are more the reading kind of person, please take a seat in our library...

    Videos

    -

    ...or if you rather want hear us talking to you, lean back and watch some videos of our talks at conferences.

    +

    ...or if you rather want hear us talking to you, lean back and watch some videos of our talks at conferences.

    Get together!

    - Occasionally we meet in "meat space", mostly in Germany and - Switzerland. - The usual occasions are: + Occasionally we meet in "meat space", mostly in Germany and Switzerland. The usual occasions are:

    -
    • Chaos Communication Congress in Leipzig (DE), 27th-30th December
    • Datenspuren in Dresden (DE), usually by mid/end of September
    • @@ -100,4 +97,3 @@ {% endblock body_content %} - -- cgit v1.2.3 From 4a4839075452c7527ce87775d08428e5cb433957 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 17:10:54 +0000 Subject: move jinja2 ext to inc. --- i18nfix.py | 41 ----------------------------------------- inc/i18nfix.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 41 deletions(-) delete mode 100644 i18nfix.py create mode 100644 inc/i18nfix.py diff --git a/i18nfix.py b/i18nfix.py deleted file mode 100644 index 7f326ba6..00000000 --- a/i18nfix.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2017, 2018 GNUnet e.V. -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. - -""" -Extract translations from a Jinja2 template, stripping leading newlines. - -@author Florian Dold -""" - -import re -import jinja2.ext - - -def normalize(message): - message = message.strip() - # collapse whitespaces (including newlines) into one space. - message = re.sub("\s+", " ", message) - return message - - -def babel_extract(fileobj, keywords, comment_tags, options): - res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options) - for lineno, funcname, message, comments in res: - message = normalize(message) - yield lineno, funcname, message, comments - - -def wrap_gettext(f): - """ - Call gettext with whitespace normalized. - """ - def wrapper(message): - message = normalize(message) - return f(message) - return wrapper diff --git a/inc/i18nfix.py b/inc/i18nfix.py new file mode 100644 index 00000000..7f326ba6 --- /dev/null +++ b/inc/i18nfix.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +# +# Copyright (C) 2017, 2018 GNUnet e.V. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + +""" +Extract translations from a Jinja2 template, stripping leading newlines. + +@author Florian Dold +""" + +import re +import jinja2.ext + + +def normalize(message): + message = message.strip() + # collapse whitespaces (including newlines) into one space. + message = re.sub("\s+", " ", message) + return message + + +def babel_extract(fileobj, keywords, comment_tags, options): + res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options) + for lineno, funcname, message, comments in res: + message = normalize(message) + yield lineno, funcname, message, comments + + +def wrap_gettext(f): + """ + Call gettext with whitespace normalized. + """ + def wrapper(message): + message = normalize(message) + return f(message) + return wrapper -- cgit v1.2.3 From 98690996582e0e511a8e8611b3db5080be6e75b0 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 17:28:30 +0000 Subject: split up template.py, make site generation a class. --- inc/fileproc.py | 85 +++++++++++++++++ inc/site.py | 127 ++++++++++++++++++++++++ inc/sitemap.py | 20 ++++ inc/sum.py | 35 +++++++ inc/textproc.py | 35 +++++++ template.py | 292 ++++---------------------------------------------------- www.yml | 48 +++++++--- 7 files changed, 354 insertions(+), 288 deletions(-) create mode 100644 inc/fileproc.py create mode 100644 inc/site.py create mode 100644 inc/sitemap.py create mode 100644 inc/sum.py create mode 100644 inc/textproc.py diff --git a/inc/fileproc.py b/inc/fileproc.py new file mode 100644 index 00000000..435078bc --- /dev/null +++ b/inc/fileproc.py @@ -0,0 +1,85 @@ +from pathlib import Path + +def copy_files(kind, conf, locale, inlist, ptarget): + o = Path(ptarget) + for item in conf[inlist]: + i = Path(kind + "/" + item["file"]) + # print(i) + for t in item["targets"]: + d_loc = o / locale / t + d = o / t + # print(d) + if i.is_file() is not False: + d_loc.write_text(i.read_text()) + print("copied " + str(i) + " to " + str(d_loc) + "...") + d.write_text(i.read_text()) + print("copied " + str(i) + " to " + str(d) + "...") + + +def rm_rf(directory): + directory = Path(directory) + for child in directory.glob('*'): + if child.is_file(): + child.unlink() + else: + rm_rf(child) + # directory.rmdir() + + +def fileop(infile, outfile, action): + """ + infile: inputfile, Path object + outfile: outputfile, Path object + action: action if any, String + """ + i = Path(infile) + o = Path(outfile) + outdir = Path("rendered") + if i.is_file() is not False: + if action == "copy": + # Write content of i to o. + o.write_text(i.read_text()) + if action == "link": + o.symlink_to(i) + + +def write_name(filename, infile, locale, replacer): + return "./rendered/" + locale + "/" + infile.replace(replacer, + '').rstrip(".j2") + + +def localized(filename, locale, *args): + if len(args) == 0: + return "../" + locale + "/" + filename + ext = kwargs.get('ext', None) + if ext is not None: + lf = filename + "." + locale + "." + ext + lp = Path(lf) + if locale == "en" or not lp.is_file(): + return "../" + filename + "." + ext + else: + return "../" + lf + + +# This generates and switches sites generations, preventing +# in-place modification of the website. +# * save old generation directory name +# * jinja2 creates content in "rendered" (happened before calling this function) +# * calculate sum of "rendered" +# * move "rendered" to out/$sum +# * remove symlink "html_dir" +# * symlink out/$sum to "html_dir" +# * delete old generation directory +def generation_dir(htmldir): + oldgen = Path(htmldir).resolve() + # precondition: jinja2 has created the files in "rendered". + newgen = Path("rendered") + newgen_sum = walksum(newgen) + outdir = Path("out") + outdir.mkdir(parents=True, exist_ok=True) + newgen_target = Path("out") / newgen_sum + newgen.rename(newgen_target) + html = Path(htmldir) + html.unlink() + fileop(newgen, html, "link") + rm_rf(oldgen) diff --git a/inc/site.py b/inc/site.py new file mode 100644 index 00000000..67e5afa8 --- /dev/null +++ b/inc/site.py @@ -0,0 +1,127 @@ +import os +import os.path +import sys +import re +import gettext +import glob +import codecs +import jinja2 +import hashlib +from pathlib import Path, PurePosixPath +from ruamel.yaml import YAML +import inc.i18nfix +from inc.textproc import cut_news_text +from inc.fileproc import copy_files + + +class gen_site: + def load_config(self, name="www.yml"): + yaml = YAML(typ='safe') + site_configfile = Path(name) + return yaml.load(site_configfile) + + def gen_abstract(self, conf, name, member, pages, length): + for item in conf[name]: + item[member] = cut_news_text(item[pages], length) + + def run(self, root, conf, env): + # os.chdir("..") + print(os.getcwd()) + root = "../" + root + for in_file in glob.glob(root + "/*.j2"): + name, ext = re.match(r"(.*)\.([^.]+)$", + in_file.rstrip(".j2")).groups() + tmpl = env.get_template(in_file) + + def self_localized(other_locale): + """ + Return URL for the current page in another locale. + """ + return "../" + other_locale + "/" + in_file.replace( + root + '/', '').rstrip(".j2") + + def url_localized(filename): + if root == "news": + return "../../" + locale + "/" + filename + else: + return "../" + locale + "/" + filename + + def url_static(filename): + if root == "news": + return "../../static/" + filename + else: + return "../static/" + filename + + def url_dist(filename): + if root == "news": + return "../../dist/" + filename + else: + return "../dist/" + filename + + def svg_localized(filename): + lf = filename + "." + locale + ".svg" + if locale == "en" or not Path(lf).is_file(): + return "../" + filename + ".svg" + else: + return "../" + lf + + def url(x): + # TODO: look at the app root environment variable + # TODO: check if file exists + #if root == "news": + # return "../" + "../" + x + #else: + # return "../" + x + return "../" + x + + for l in glob.glob("locale/*/"): + locale = os.path.basename(l[:-1]) + + tr = gettext.translation("messages", + localedir="locale", + languages=[locale]) + + tr.gettext = i18nfix.wrap_gettext(tr.gettext) + + env.install_gettext_translations(tr, newstyle=True) + + content = tmpl.render(lang=locale, + lang_full=conf["langs_full"][locale], + url=url, + meetingnotesdata=conf["meetingnotes"], + newsdata=conf["newsposts"], + videosdata=conf["videoslist"], + self_localized=self_localized, + url_localized=url_localized, + url_static=url_static, + url_dist=url_dist, + svg_localized=svg_localized, + filename=name + "." + ext) + + if root == "news": + out_name = "./rendered/" + locale + "/" + root + "/" + in_file.replace( + root + '/', '').rstrip(".j2") + else: + out_name = "./rendered/" + locale + "/" + in_file.replace( + root + '/', '').rstrip(".j2") + + outdir = Path("rendered") + if outdir.exists() is False: + sys.exit(1) + + if root == "news": + langdir = outdir / locale / root + else: + langdir = outdir / locale + + try: + langdir.mkdir(parents=True, exist_ok=True) + except e as FileNotFoundError: + print(e) + + with codecs.open(out_name, "w", encoding='utf-8') as f: + try: + print(Path.cwd()) + f.write(content) + except e as Error: + print(e) diff --git a/inc/sitemap.py b/inc/sitemap.py new file mode 100644 index 00000000..e050c77d --- /dev/null +++ b/inc/sitemap.py @@ -0,0 +1,20 @@ +import os +from pathlib import Path, PurePosixPath + +def sitemap_tree(path): + tree = dict(name=PurePosixPath(path).name, children=[]) + try: + mylist = os.listdir(path) + except OSError: + pass + else: + for name in mylist: + fn = os.path.join(path, name) + if os.path.isdir(fn): + tree['children'].append(sitemap_tree(fn)) + else: + np = os.path.join(name) + if np.startswith('/'): + np = np[1:] + tree['children'].append(dict(name=np)) + return tree diff --git a/inc/sum.py b/inc/sum.py new file mode 100644 index 00000000..9addf78f --- /dev/null +++ b/inc/sum.py @@ -0,0 +1,35 @@ +def sha256sum(_): + sha256 = hashlib.sha256() + with io.open(_, mode="rb") as fd: + content = fd.read() + sha256.update(content) + return sha256.hexdigest() + + +def walksum(_): + sha256 = hashlib.sha256() + x = Path(_) + if not x.exists(): + return -1 + try: + for root, directories, files in os.walk(_): + for names in sorted(files): + filepath = os.path.join(root, names) + try: + fl = open(filepath, 'rb') + except: + fl.close() + continue + while 1: + buf = fl.read(4096) + if not buf: + break + sha256.update(hashlib.sha256(buf).hexdigest()) + fl.close() + except: + import traceback + traceback.print_exc() + return -2 + return sha256.hexdigest() + + diff --git a/inc/textproc.py b/inc/textproc.py new file mode 100644 index 00000000..228518b2 --- /dev/null +++ b/inc/textproc.py @@ -0,0 +1,35 @@ +import html.parser +from bs4 import BeautifulSoup + +class extractText(html.parser.HTMLParser): + def __init__(self): + super(extractText, self).__init__() + self.result = [] + def handle_data(self, data): + self.result.append(data) + def text_in(self): + return ''.join(self.result) + + +def html2text(html): + k = extractText() + k.feed(html) + return k.text_in() + + +def cut_text(filename, count): + with open(filename) as html: + soup = BeautifulSoup(html, features="lxml") + for script in soup(["script", "style"]): + script.extract() + k = [] + for i in soup.findAll('p')[1]: + k.append(i) + b = ''.join(str(e) for e in k) + text = html2text(b.replace("\n", "")) + textreduced = (text[:count] + '...') if len(text) > count else (text + '..') + return(textreduced) + + +def cut_news_text(filename, count): + return cut_text("news/" + filename + ".j2", count) diff --git a/template.py b/template.py index 89e48562..c4a17e21 100755 --- a/template.py +++ b/template.py @@ -16,289 +16,35 @@ # # Note that the gettext files need to be prepared first. This script # is thus to be invoked via the Makefile. -# -# We import unicode_literals until people have understood how unicode -# with bytes and strings changed in python2->python3. -# from __future__ import unicode_literals -import os -import os.path -import sys -import re -import gettext -import glob -import codecs -import jinja2 -import i18nfix -from pathlib import Path -import hashlib -from bs4 import BeautifulSoup -from ruamel.yaml import YAML -import html.parser +import jinja2 +import os +from inc.site import gen_site +from inc.fileproc import copy_files -env = jinja2.Environment(loader=jinja2.FileSystemLoader( - os.path.dirname(__file__)), +env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__),"inc"), extensions=["jinja2.ext.i18n"], lstrip_blocks=True, trim_blocks=True, undefined=jinja2.StrictUndefined, autoescape=False) - -class extractText(html.parser.HTMLParser): - def __init__(self): - super(extractText, self).__init__() - self.result = [] - def handle_data(self, data): - self.result.append(data) - def text_in(self): - return ''.join(self.result) - - -def html2text(html): - k = extractText() - k.feed(html) - return k.text_in() - - -def localized(filename, locale, *args): - if len(args) == 0: - return "../" + locale + "/" + filename - ext = kwargs.get('ext', None) - if ext is not None: - lf = filename + "." + locale + "." + ext - lp = Path(lf) - if locale == "en" or not lp.is_file(): - return "../" + filename + "." + ext - else: - return "../" + lf - - -def fileop(infile, outfile, action): - """ - infile: inputfile, Path object - outfile: outputfile, Path object - action: action if any, String - """ - i = Path(infile) - o = Path(outfile) - outdir = Path("rendered") - if i.is_file() is not False: - if action == "copy": - # Write content of i to o. - o.write_text(i.read_text()) - if action == "link": - o.symlink_to(i) - - -def write_name(filename, infile, locale, replacer): - return "./rendered/" + locale + "/" + infile.replace(replacer, - '').rstrip(".j2") - - -def sha256sum(_): - sha256 = hashlib.sha256() - with io.open(_, mode="rb") as fd: - content = fd.read() - sha256.update(content) - return sha256.hexdigest() - - -def walksum(_): - sha256 = hashlib.sha256() - x = Path(_) - if not x.exists(): - return -1 - try: - for root, directories, files in os.walk(_): - for names in sorted(files): - filepath = os.path.join(root, names) - try: - fl = open(filepath, 'rb') - except: - fl.close() - continue - while 1: - buf = fl.read(4096) - if not buf: - break - sha256.update(hashlib.sha256(buf).hexdigest()) - fl.close() - except: - import traceback - traceback.print_exc() - return -2 - return sha256.hexdigest() - - -def rm_rf(directory): - directory = Path(directory) - for child in directory.glob('*'): - if child.is_file(): - child.unlink() - else: - rm_rf(child) - directory.rmdir() - - -# This generates and switches sites generations, preventing -# in-place modification of the website. -# * save old generation directory name -# * jinja2 creates content in "rendered" (happened before calling this function) -# * calculate sum of "rendered" -# * move "rendered" to out/$sum -# * remove symlink "html_dir" -# * symlink out/$sum to "html_dir" -# * delete old generation directory -def generation_dir(htmldir): - oldgen = Path(htmldir).resolve() - # precondition: jinja2 has created the files in "rendered". - newgen = Path("rendered") - newgen_sum = walksum(newgen) - outdir = Path("out") - outdir.mkdir(parents=True, exist_ok=True) - newgen_target = Path("out") / newgen_sum - newgen.rename(newgen_target) - html = Path(htmldir) - html.unlink() - fileop(newgen, html, "link") - rm_rf(oldgen) - - -def copy_static(locale, indict): - for key, value in indict.items(): - print(locale + "/" + key + " ...to... " + locale + "/" + value) - - -def preview_text(filename, count): - with open(filename) as html: - # html = open(filename).read() - soup = BeautifulSoup(html, features="lxml") - for script in soup(["script", "style"]): - script.extract() - k = [] - # for i in soup.findAll('p')[1:3]: - for i in soup.findAll('p')[1]: - k.append(i) - b = ''.join(str(e) for e in k) - text = html2text(b.replace("\n", "")) - textreduced = (text[:count] + '...') if len(text) > count else (text + '..') - return(textreduced) - - -def abstract_news(filename, count): - return preview_text("news/" + filename + ".j2", count) - - -def generate_site(root, conf): - for in_file in glob.glob(root + "/*.j2"): - name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups() - tmpl = env.get_template(in_file) - - def self_localized(other_locale): - """ - Return URL for the current page in another locale. - """ - return "../" + other_locale + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - - def url_localized(filename): - if root == "news": - return "../../" + locale + "/" + filename - else: - return "../" + locale + "/" + filename - - def url_static(filename): - if root == "news": - return "../../static/" + filename - else: - return "../static/" + filename - - def url_dist(filename): - if root == "news": - return "../../dist/" + filename - else: - return "../dist/" + filename - - def svg_localized(filename): - lf = filename + "." + locale + ".svg" - if locale == "en" or not os.path.isfile(lf): - return "../" + filename + ".svg" - else: - return "../" + lf - - def url(x): - # TODO: look at the app root environment variable - # TODO: check if file exists - #if root == "news": - # return "../" + "../" + x - #else: - # return "../" + x - return "../" + x - - for l in glob.glob("locale/*/"): - locale = os.path.basename(l[:-1]) - - tr = gettext.translation("messages", - localedir="locale", - languages=[locale]) - - tr.gettext = i18nfix.wrap_gettext(tr.gettext) - - env.install_gettext_translations(tr, newstyle=True) - - content = tmpl.render(lang=locale, - lang_full=conf["langs_full"][locale], - url=url, - meetingnotesdata=conf["meetingnotes"], - newsdata=conf["newsposts"], - videosdata=conf["videoslist"], - self_localized=self_localized, - url_localized=url_localized, - url_static=url_static, - url_dist=url_dist, - svg_localized=svg_localized, - filename=name + "." + ext) - - if root == "news": - out_name = "./rendered/" + locale + "/" + root + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - else: - out_name = "./rendered/" + locale + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - - outdir = Path("rendered") - - if root == "news": - langdir = outdir / locale / root - else: - langdir = outdir / locale - - langdir.mkdir(parents=True, exist_ok=True) - - with codecs.open(out_name, "w", encoding='utf-8') as f: - f.write(content) - - def main(): # rm_rf("rendered") - yaml=YAML(typ='safe') - site_configfile=Path("www.yml") - conf=yaml.load(site_configfile) - - for item in conf["newsposts"]: - item['abstract'] = abstract_news(item['page'], 1000) - print("generating template") - generate_site("template", conf) - print("generating news") - generate_site("news", conf) - -# for l in glob.glob("locale/*/"): -# locale = os.path.basename(l[:-1]) -# copy_static (locale, staticfiles) -# generate_rss -#print("running generation") -#generation_dir + x = gen_site() + conf = x.load_config("www.yml") + print("generating news abstracts...") + x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) + print("generating html from jinja2 templates...") + x.run("template", conf, env) + print("generating html from jinja2 news templates...") + x.run("news", conf, env) + #for lang in conf["langs_full"]: + # copy_files("static", conf, lang, "staticfiles", "rendered") + # print("generating rss...") + # x.generate_rss() + # print("generating sitemap...") + # x.generate_sitemap() if __name__ == "__main__": main() diff --git a/www.yml b/www.yml index 46943730..ce0fa3ec 100644 --- a/www.yml +++ b/www.yml @@ -5,22 +5,40 @@ langs_full: &langs es: Español de: Deutsch symlinks: - frontpage.html: frontpage - gsoc.html: gsoc - about.html: philosophy - gns.html: gns - node/about.html: "397" -# Mostly from static/ to rendered/ + - file: frontpage.html + targets: + - frontpage + - file: gsoc.html + targets: + - gsoc + - file: about.html + targets: + - philosophy + - file: gns.html + targets: + - gns + - file: node/about.html + targets: + - "397" staticfiles: - favicon.ico: favicon.ico - moved.html: frontpage.html - robots.txt: - - static - - dist - - *langs - moved_gsoc.html: gsoc.html - moved_about.html: about.html - moved_gns.html: gns.html + - file: favicon.ico + targets: + - favicon.ico + - file: moved.html + targets: + - frontpage.html + - file: robots.txt + targets: + - robots.txt + - file: moved_gsoc.html + targets: + - gsoc.html + - file: moved_about.html + targets: + - about.html + - file: moved_gns.html + targets: + - gns.html meetingnotes: 2013: 2013-12-27 2014: 2014-12-28 -- cgit v1.2.3 From 1fa59360a22db580a8b2b6a201d11eb545f7aa81 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 17:34:56 +0000 Subject: rename template.py to make_site.py --- GNUmakefile | 19 +- Makefile | 4 +- locale/de/LC_MESSAGES/messages.po | 2075 ++++--------------------------------- locale/en/LC_MESSAGES/messages.po | 1927 ---------------------------------- locale/es/LC_MESSAGES/messages.po | 1984 ++--------------------------------- locale/fr/LC_MESSAGES/messages.po | 1928 ---------------------------------- locale/it/LC_MESSAGES/messages.po | 1928 ---------------------------------- make_site.py | 50 + template.py | 50 - 9 files changed, 330 insertions(+), 9635 deletions(-) create mode 100755 make_site.py delete mode 100755 template.py diff --git a/GNUmakefile b/GNUmakefile index 381118f0..d29a6d41 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -60,12 +60,9 @@ locale/messages.pot: common/*.j2.inc template/*.j2 # Update translation (.po) files with new strings. locale-update: locale/messages.pot - $(msgmerge) -q -U -m --previous locale/en/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -q -U -m --previous locale/de/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -q -U -m --previous locale/fr/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -q -U -m --previous locale/es/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -q -U -m --previous locale/it/LC_MESSAGES/messages.po locale/messages.pot - + (for lang in en de es fr it; do \ + $(msgmerge) -q -U -m --previous locale/$$lang/LC_MESSAGES/messages.po locale/messages.pot ; \ + done) if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi # sass preprocessor @@ -74,11 +71,9 @@ css: # Compile translation files for use. locale-compile: - $(pybabel) -q compile -d locale -l en --use-fuzzy - $(pybabel) -q compile -d locale -l de --use-fuzzy - $(pybabel) -q compile -d locale -l fr --use-fuzzy - $(pybabel) -q compile -d locale -l it --use-fuzzy - $(pybabel) -q compile -d locale -l es --use-fuzzy + (for lang in en de fr it es; do \ + $(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \ + done) # Process everything related to gettext translations. locale: locale-update locale-compile @@ -86,7 +81,7 @@ locale: locale-update locale-compile # Run the jinja2 templating engine to expand templates to HTML # incorporating translations. template: locale-compile - $(python) ./template.py + $(python) ./make_site.py it: template diff --git a/Makefile b/Makefile index 1f65b352..73bcb3df 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ all: css locale template ($(cp) rendered/static/stage.robots.txt rendered/${_lang}) .endfor ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) - ($(cp) favicon.ico rendered/) + # ($(cp) favicon.ico rendered/) $(sh) make_sitemap.sh .for _lang in ${_LOCALELIST} ($(cp) rendered/sitemap.xml rendered/${_lang}) @@ -74,7 +74,7 @@ locale: locale-update locale-compile # Run the jinja2 templating engine to expand templates to HTML # incorporating translations. template: locale-compile - $(python) ./template.py + $(python) ./make_site.py css: $(sassc) static/styles.sass static/styles.css diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 07130146..bef9c6d6 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -17,1975 +17,284 @@ msgstr "" "Language: de\n" "Generated-By: Babel 2.4.0\n" -#: common/base.j2:5 common/news.j2:5 -msgid "GNUnet" -msgstr "GNUnet" +#~ msgid "GNUnet" +#~ msgstr "GNUnet" -#: common/base.j2:6 common/news.j2:6 -msgid "GNU's framework for secure p2p networking" -msgstr "GNU's Architektur für sichere p2p Netzwerke" +#~ msgid "GNU's framework for secure p2p networking" +#~ msgstr "GNU's Architektur für sichere p2p Netzwerke" -#: common/footer.j2.inc:7 -msgid "Contact" -msgstr "Kontakt" +#~ msgid "Contact" +#~ msgstr "Kontakt" -#: common/footer.j2.inc:8 common/navigation.j2.inc:48 -msgid "GNUnet e.V." -msgstr "GNUnet e.V." +#~ msgid "GNUnet e.V." +#~ msgstr "GNUnet e.V." -#: common/footer.j2.inc:9 template/about.html.j2:6 -msgid "About GNUnet" -msgstr "Über GNUnet" +#~ msgid "About GNUnet" +#~ msgstr "Über GNUnet" -#: common/footer.j2.inc:14 common/navigation.j2.inc:61 -msgid "Bug Tracker" -msgstr "Fehlerdatenbank" +#~ msgid "Bug Tracker" +#~ msgstr "Fehlerdatenbank" -#: common/footer.j2.inc:19 template/copyright.html.j2:6 -msgid "Copyright Assignment" -msgstr "Copyright Übertragung" +#~ msgid "Copyright Assignment" +#~ msgstr "Copyright Übertragung" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 -#: template/developers.html.j2:24 -msgid "Bibliography" -msgstr "Bibliografie" +#~ msgid "Bibliography" +#~ msgstr "Bibliografie" -#: common/footer.j2.inc:31 -msgid "Source code of this site." -msgstr "" - -#: common/footer.j2.inc:32 -msgid "Report issues with this website." -msgstr "" - -#: common/navigation.j2.inc:38 template/index.html.j2:51 -msgid "About" -msgstr "Über GNUnet" +#~ msgid "About" +#~ msgstr "Über GNUnet" -#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 -msgid "News" -msgstr "Neues" +#~ msgid "News" +#~ msgstr "Neues" -#: common/navigation.j2.inc:43 -msgid "Community" -msgstr "Community" +#~ msgid "Community" +#~ msgstr "Community" -#: common/navigation.j2.inc:46 template/index.html.j2:55 -msgid "Engage" -msgstr "Mach mit!" +#~ msgid "Engage" +#~ msgstr "Mach mit!" -#: common/navigation.j2.inc:47 -msgid "GSoC Projects" -msgstr "GSoC Projekte" +#~ msgid "GSoC Projects" +#~ msgstr "GSoC Projekte" -#: common/navigation.j2.inc:49 -msgid "Copyright for Contributors" -msgstr "Copyright für Mitwirkende" +#~ msgid "Copyright for Contributors" +#~ msgstr "Copyright für Mitwirkende" -#: common/navigation.j2.inc:50 -msgid "IRC Archive" -msgstr "IRC Archiv" +#~ msgid "IRC Archive" +#~ msgstr "IRC Archiv" -#: common/navigation.j2.inc:57 -msgid "Development" -msgstr "Entwicklung" +#~ msgid "Development" +#~ msgstr "Entwicklung" -#: common/navigation.j2.inc:60 -msgid "System Architecture" -msgstr "Systemarchitektur" +#~ msgid "System Architecture" +#~ msgstr "Systemarchitektur" -#: common/navigation.j2.inc:62 template/gnurl.html.j2:147 -msgid "Source Code" -msgstr "Quellkode" +#~ msgid "Source Code" +#~ msgstr "Quellkode" -#: common/navigation.j2.inc:63 #, fuzzy -#| msgid "Documentation" -msgid "Source Code Documentation" -msgstr "Dokumentation" +#~| msgid "Documentation" +#~ msgid "Source Code Documentation" +#~ msgstr "Dokumentation" -#: common/navigation.j2.inc:66 -msgid "Continuous Integration" -msgstr "Kontinuierliche Integration" +#~ msgid "Continuous Integration" +#~ msgstr "Kontinuierliche Integration" -#: common/navigation.j2.inc:68 #, fuzzy -#| msgid "Development" -msgid "Development Tutorial" -msgstr "Entwicklung" +#~| msgid "Development" +#~ msgid "Development Tutorial" +#~ msgstr "Entwicklung" -#: common/navigation.j2.inc:79 -msgid "Documentation" -msgstr "Dokumentation" +#~ msgid "Documentation" +#~ msgstr "Dokumentation" -#: common/navigation.j2.inc:82 template/index.html.j2:53 -#: template/install.html.j2:6 -msgid "Install" -msgstr "Installieren" +#~ msgid "Install" +#~ msgstr "Installieren" -#: common/navigation.j2.inc:83 -msgid "Use" -msgstr "Nutzen" +#~ msgid "Use" +#~ msgstr "Nutzen" -#: common/navigation.j2.inc:84 -msgid "Videos" -msgstr "Videos" +#~ msgid "Videos" +#~ msgstr "Videos" -#: common/navigation.j2.inc:85 template/glossary.html.j2:6 -msgid "Glossary" -msgstr "Glossar" +#~ msgid "Glossary" +#~ msgstr "Glossar" -#: common/navigation.j2.inc:86 -msgid "Handbook" -msgstr "Handbuch" +#~ msgid "Handbook" +#~ msgstr "Handbuch" -#: common/navigation.j2.inc:87 -msgid "REST API" -msgstr "REST API" +#~ msgid "REST API" +#~ msgstr "REST API" -#: common/navigation.j2.inc:88 -msgid "FAQ" -msgstr "FAQ" +#~ msgid "FAQ" +#~ msgstr "FAQ" -#: inc/news.macro.j2:10 -msgid "read more" -msgstr "" - -#: template/about.html.j2:11 #, fuzzy -#| msgid "About GNUnet" -msgid "What is GNUnet?" -msgstr "Über GNUnet" - -#: template/about.html.j2:13 -msgid "" -"GNUnet is an alternative network stack for building secure, decentralized " -"and privacy-preserving distributed applications. Our goal is to replace the " -"old insecure Internet protocol stack. Starting from an application for " -"secure publication of files, it has grown to include all kinds of basic " -"protocol components and applications towards the creation of a GNU internet." -msgstr "" - -#: template/about.html.j2:23 -msgid "" -"Today, the actual use and thus the social requirements for a global network " -"differs widely from those goals of 1970. While the Internet remains suitable " -"for military use, where the network equipment is operated by a command " -"hierarchy and when necessary isolated from the rest of the world, the " -"situation is less tenable for civil society." -msgstr "" - -#: template/about.html.j2:32 -msgid "" -"Due to fundamental Internet design choices, Internet traffic can be " -"misdirected, intercepted, censored and manipulated by hostile routers on the " -"network. And indeed, the modern Internet has evolved exactly to the point " -"where, as Matthew Green put it, \"the " -"network is hostile\"." -msgstr "" - -#: template/about.html.j2:41 -msgid "" -"We believe liberal societies need a network architecture that uses the anti-" -"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " -"cryptographic protocols. The goal of the GNUnet project is to provide a Free " -"Software realization of this ideal." -msgstr "" - -#: template/about.html.j2:49 -msgid "" -"Specifically, GNUnet tries to follow the following design principles, in " -"order of importance:" -msgstr "" - -#: template/about.html.j2:56 -msgid "" -"GNUnet must be implemented as Free Software." -msgstr "" - -#: template/about.html.j2:60 -msgid "" -"GNUnet must minimize the amount of personally identifiable information " -"exposed." -msgstr "" - -#: template/about.html.j2:61 -msgid "" -"GNUnet must be fully distributed and resilient to external attacks and rogue " -"participants." -msgstr "" - -#: template/about.html.j2:62 -msgid "" -"GNUnet must be self-organizing and not depend on administrators or " -"centralized infrastructure." -msgstr "" - -#: template/about.html.j2:63 -msgid "" -"GNUnet must inform the user which other participants have to be trusted when " -"establishing private communications." -msgstr "" - -#: template/about.html.j2:64 -msgid "GNUnet must be open and permit new peers to join." -msgstr "" - -#: template/about.html.j2:65 -msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" - -#: template/about.html.j2:66 -msgid "GNUnet must use compartmentalization to protect sensitive information." -msgstr "" - -#: template/about.html.j2:67 -msgid "The GNUnet architecture must be resource efficient." -msgstr "" - -#: template/about.html.j2:68 -msgid "" -"GNUnet must provide incentives for peers to contribute more resources than " -"they consume." -msgstr "" - -#: template/about.html.j2:72 -msgid "" -"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" -"\", explaining the fundamental concepts of GNUnet: " -msgstr "" - -#: template/about.html.j2:88 -msgid "More Resources" -msgstr "" - -#: template/about.html.j2:90 -msgid "" -"There are many more resources to learn about GNUnet besides the handbook, such as the " -"bibliography with papers covering " -"the various layers, many videos or a brief glossary." -msgstr "" - -#: template/about.html.j2:95 -msgid "" -"You are most welcome to get engaged into the " -"conversation, install GNUnet, use it and contribute and get engaged " -"in various ways." -msgstr "" - -#: template/about.html.j2:100 -msgid "" -"Please be aware that this project is (despite of it's age) still in an early " -"alpha stage when it comes to software – its not an easy task to " -"rewrite the whole Internet!" -msgstr "" - -#: template/about.html.j2:105 -msgid "Current funding" -msgstr "Aktuelle Finanzierung" +#~| msgid "About GNUnet" +#~ msgid "What is GNUnet?" +#~ msgstr "Über GNUnet" -#: template/about.html.j2:110 -msgid "" -"We're receiving funding from NLnet's Next Generation Internet funding line " -"to document and implement the GNU Name System protocol in a way suitable for " -"the IETF standardization process." -msgstr "" +#~ msgid "Current funding" +#~ msgstr "Aktuelle Finanzierung" -#: template/about.html.j2:123 #, fuzzy -#| msgid "We are grateful for past funding from the following organizations:" -msgid "" -"We are grateful for free hosting offered by the following organizations:" -msgstr "" -"Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " -"Unterstützung:" +#~| msgid "We are grateful for past funding from the following organizations:" +#~ msgid "" +#~ "We are grateful for free hosting offered by the following organizations:" +#~ msgstr "" +#~ "Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " +#~ "Unterstützung:" -#: template/about.html.j2:132 -msgid "Past funding" -msgstr "Frühere Finanzierung" +#~ msgid "Past funding" +#~ msgstr "Frühere Finanzierung" -#: template/about.html.j2:134 -msgid "We are grateful for past funding from the following organizations:" -msgstr "" -"Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " -"Unterstützung:" +#~ msgid "We are grateful for past funding from the following organizations:" +#~ msgstr "" +#~ "Wir sind den folgenden Organisatzionen sehr dankbar für ihre frühere " +#~ "Unterstützung:" -#: template/architecture.html.j2:6 -msgid "GNUnet System Architecture" -msgstr "GNUnet Systemarchitektur" +#~ msgid "GNUnet System Architecture" +#~ msgstr "GNUnet Systemarchitektur" -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" +#~ msgid "Foundations" +#~ msgstr "Grundlagen" -#: template/architecture.html.j2:55 -msgid "Foundations" -msgstr "Grundlagen" +#~ msgid "" +#~ "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" +#~ "like end-to-end encrypted messaging layer (CADET), a public key " +#~ "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
      " +#~ "Using public keys for addresses and self-organized decentralized routing " +#~ "algorithms, these subsystems replace the traditional TCP/IP stack." +#~ msgstr "" +#~ "GNUnet basiert auf einer verteilten Hashtabelle (R5N), einem SCTP " +#~ "ähnlichen ende-zu-ende verschlüsselter Nachrichtenübertragung (CADET), " +#~ "einer Public-Key-Infrastruktur (GNS) und einem erweiterbaren " +#~ "Transportsystem (TRANSPORT).
      Öffentliche Schlüssel werden als " +#~ "Addressen für selbstorganizierte decentralizierte Routingalgorithmen " +#~ "benutzt. Diese Komponenten ersetzen das traditionelle Internet (TCP/IP)." -#: template/architecture.html.j2:57 -msgid "" -"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " -"end-to-end encrypted messaging layer (CADET), a public key infrastructure " -"(GNS) and a pluggable transport system (TRANSPORT).
      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " -"subsystems replace the traditional TCP/IP stack." -msgstr "" -"GNUnet basiert auf einer verteilten Hashtabelle (R5N), einem SCTP ähnlichen " -"ende-zu-ende verschlüsselter Nachrichtenübertragung (CADET), einer Public-" -"Key-Infrastruktur (GNS) und einem erweiterbaren Transportsystem (TRANSPORT)." -"
      Öffentliche Schlüssel werden als Addressen für selbstorganizierte " -"decentralizierte Routingalgorithmen benutzt. Diese Komponenten ersetzen das " -"traditionelle Internet (TCP/IP)." - -#: template/architecture.html.j2:70 -msgid "Security" -msgstr "Sicherheit" - -#: template/architecture.html.j2:73 -msgid "" -"GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " -"permissions to be granted to each subsystem. Naturally, the implementation " -"is a GNU package, and will always " -"remain free software." -msgstr "" +#~ msgid "Security" +#~ msgstr "Sicherheit" -#: template/architecture.html.j2:87 #, fuzzy -#| msgid "System Architecture" -msgid "System architecture" -msgstr "System Architekture" - -#: template/architecture.html.j2:93 -msgid "Subsystems" -msgstr "" +#~| msgid "System Architecture" +#~ msgid "System architecture" +#~ msgstr "System Architekture" -#: template/architecture.html.j2:102 #, fuzzy -#| msgid "libgnurl" -msgid "libgnunetutil" -msgstr "libgnurl" - -#: template/architecture.html.j2:108 -msgid "APIs" -msgstr "" - -#: template/contact.html.j2:6 -msgid "Contact information" -msgstr "Kontaktinformation" - -#: template/contact.html.j2:11 -msgid "The mailing list" -msgstr "Die Mailingliste" - -#: template/contact.html.j2:13 -msgid "" -"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" -"mailman/listinfo/gnunet-developers. You can send messages to the list at " -"gnunet-developers@gnu.org." -msgstr "" - -#: template/contact.html.j2:23 -msgid "The IRC channel" -msgstr "Der IRC Kanal" - -#: template/contact.html.j2:25 -msgid "" -"#gnunet is reachable via irc." -"freenode.net. There is also an archive available (currently unavailable, we are working on " -"restoring access to it)." -msgstr "" - -#: template/contact.html.j2:38 -msgid "Contacting individuals" -msgstr "Individuelle Kontaktaufname" - -#: template/contact.html.j2:40 -msgid "" -"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." -"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " -"encrypted Emails." -msgstr "" - -#: template/contact.html.j2:50 -msgid "Reporting bugs" -msgstr "Fehler melden" - -#: template/contact.html.j2:52 -msgid "" -"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " -"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " -"subscription." -msgstr "" - -#: template/copyright.html.j2:11 -msgid "" -"

      Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " -"development of the GNUnet and GNU Taler projects is satisfied.

      " -msgstr "" - -#: template/copyright.html.j2:22 -msgid "" -"

      The agreements ensure that the code will continue to be made available " -"under free software licenses, but gives developers the freedom to move code " -"between GNUnet and GNU Taler without worrying about licenses and to give the " -"company the ability to dual-license (for example, so that we can distribute " -"via App-stores that are hostile to free software).

      " -msgstr "" - -#: template/copyright.html.j2:30 -msgid "" -"

      Minor contributions (basically, anyone without Git access) do not require " -"copyright assignment. Pseudonymous contributions are accepted, in this case " -"simply sign the agreement with your pseudonym. Scanned copies are " -"sufficient, but snail mail is preferred.

      " -msgstr "" - -#: template/developers.html.j2:5 -msgid "GNUnet for developers" -msgstr "GNUNet für Entwickeler" - -#: template/developers.html.j2:13 -msgid "Repositories" -msgstr "Quellcode" - -#: template/developers.html.j2:16 -msgid "" -"A list of our Git repositories can be found on our our Git Server." -msgstr "" +#~| msgid "libgnurl" +#~ msgid "libgnunetutil" +#~ msgstr "libgnurl" -#: template/developers.html.j2:27 -msgid "" -"Technical papers can be found in our bibliography." -msgstr "" - -#: template/developers.html.j2:34 -msgid "Discussion" -msgstr "Diskussion" - -#: template/developers.html.j2:37 -msgid "" -"We have a mailing list for developer discussions. You can subscribe to or " -"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." -msgstr "" - -#: template/developers.html.j2:47 -msgid "Regression Testing" -msgstr "Regressionstests" - -#: template/developers.html.j2:50 -msgid "" -"We have Buildbot automation tests to " -"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." -msgstr "" +#~ msgid "Contact information" +#~ msgstr "Kontaktinformation" -#: template/developers.html.j2:59 -msgid "Code Coverage Analysis" -msgstr "Codeabdeckungsanalyse" - -#: template/developers.html.j2:62 -msgid "" -"We use LCOV to " -"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." -msgstr "" +#~ msgid "The mailing list" +#~ msgstr "Die Mailingliste" -#: template/developers.html.j2:72 -msgid "Performance Analysis" -msgstr "Leistungsanalyse" +#~ msgid "The IRC channel" +#~ msgstr "Der IRC Kanal" -#: template/developers.html.j2:75 -msgid "" -"We use Gauger for performance " -"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." -msgstr "" +#~ msgid "Contacting individuals" +#~ msgstr "Individuelle Kontaktaufname" -#: template/download.html.j2:7 template/gnurl.html.j2:169 -msgid "Downloads" -msgstr "Herunterladen" +#~ msgid "Reporting bugs" +#~ msgstr "Fehler melden" -#: template/download.html.j2:11 -msgid "" -"Here you can download releases of our software and find links to the various " -"versions." -msgstr "" +#~ msgid "GNUnet for developers" +#~ msgstr "GNUNet für Entwickeler" -#: template/download.html.j2:17 -msgid "0.11.x series" -msgstr "" +#~ msgid "Repositories" +#~ msgstr "Quellcode" -#: template/download.html.j2:18 -msgid "tarball" -msgstr "" +#~ msgid "Discussion" +#~ msgstr "Diskussion" -#: template/download.html.j2:20 -msgid "" -"The tarball of the latest version can be obtained from GNU FTP and its " -"mirrors." -msgstr "" +#~ msgid "Regression Testing" +#~ msgstr "Regressionstests" -#: template/download.html.j2:30 -msgid "git" -msgstr "" +#~ msgid "Code Coverage Analysis" +#~ msgstr "Codeabdeckungsanalyse" -#: template/download.html.j2:32 -msgid "" -"You can fetch the git tag of version 0.11.x from our development server:" -msgstr "" +#~ msgid "Performance Analysis" +#~ msgstr "Leistungsanalyse" -#: template/engage.html.j2:6 -msgid "Engage!" -msgstr "" +#~ msgid "Downloads" +#~ msgstr "Herunterladen" -#: template/ev.html.j2:6 -msgid "Verein zur Förderung von GNUnet e.V." -msgstr "Verein zur Förderung von GNUnet e.V." +#~ msgid "Verein zur Förderung von GNUnet e.V." +#~ msgstr "Verein zur Förderung von GNUnet e.V." -#: template/ev.html.j2:11 #, fuzzy -#| msgid "About GNUnet" -msgid "About GNUnet e.V." -msgstr "Über GNUnet" - -#: template/ev.html.j2:13 -msgid "" -"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " -"\"Verein zur Förderung von GNUnet e.V.\", an association under German " -"law to support GNUnet development. The Amtsgericht München registered " -"the association on the 7th of March under VR 205287." -msgstr "" - -#: template/ev.html.j2:22 -msgid "" -"The association is officially dedicated to supporting research, development " -"and education in the area of secure decentralized networking in general, and " -"GNUnet specifically. This is the official website for the association." -msgstr "" - -#: template/ev.html.j2:31 -msgid "Becoming a Member of GNUnet e.V." -msgstr "Ein Mitglied von GNUnet e.V. werden" - -#: template/ev.html.j2:33 -msgid "" -"GNUnet developers with git (write) access can become members to participate " -"in the decision process and formally support GNUnet e.V. For this, all you " -"have to do is update the members.txt file in the gnunet-ev repository. There are no " -"membership dues; however, members are required to support GNUnet e.V. and in " -"particularly contribute to the technical development within their means. For " -"further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." -msgstr "" - -#: template/ev.html.j2:52 -msgid "Governance" -msgstr "Führung" - -#: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " -"
      Vorsitz
      Christian Grothoff
      stellvertretender Vorsitz
      xrs
      Kassenwart
      Florian Dold
      Beisitzer
      Lurchi
      " -msgstr "" - -#: template/ev.html.j2:71 -msgid "Official Meeting Notes" -msgstr "Offizielle Protokolle" - -#: template/ev.html.j2:84 -msgid "Support Us!" -msgstr "Unterstützung anbieten!" - -#: template/ev.html.j2:86 -msgid "" -"Everybody is welcome to support us via donations. For financial " -"contributions, Europeans are able to donate via SEPA. We hope to setup " -"accounts in other major currency areas in the future. You can also donate " -"via Bitcoin, routing details are given below. Please note that we are unable " -"to provide receipts for your donations. If you are planning to donate a " -"significant amount of money, please contact us first as it might be better " -"to come to a custom arrangement.
      BitCoin
      " -"
      1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
      SEPA/IBAN
      " -"
      DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
      " -msgstr "" - -#: template/faq.html.j2:12 -msgid "" -"I receive many "WARNING Calculated flow delay for X at Y for Z". " -"Should I worry?" -msgstr "" - -#: template/faq.html.j2:14 -msgid "" -"A: Right now, this is expected and a known cause for high latency in GNUnet. " -"We have started a major rewrite to address this and other problems, but " -"until the Transport Next Generation (TNG) is ready, these warnings are " -"expected." -msgstr "" - -#: template/faq.html.j2:23 -msgid "Is there a graphical user interface?" -msgstr "Gibt es eine Graphische Benutzeroberfläche?" - -#: template/faq.html.j2:25 -msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." -msgstr "" - -#: template/glossary.html.j2:12 -msgid "Ego" -msgstr "Ego" - -#: template/glossary.html.j2:14 -msgid "" -"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " -"multiple unlinkable identities, in the sense of alter egos. The ability to " -"have more than one identity is crucial, as we may want to keep our egos for " -"business separate from those we use for political activities or romance.
      " -"Egos in GNUnet are technically equivalent to identities (and the code does " -"not distinguish between them). We simply sometimes use the term \"ego\" to " -"stress that you can have more than one." -msgstr "" +#~| msgid "About GNUnet" +#~ msgid "About GNUnet e.V." +#~ msgstr "Über GNUnet" -#: template/glossary.html.j2:27 -msgid "Identity" -msgstr "Identität" +#~ msgid "Becoming a Member of GNUnet e.V." +#~ msgstr "Ein Mitglied von GNUnet e.V. werden" -#: template/glossary.html.j2:29 -msgid "" -"In GNUnet users are identified via a public key, and that public key is then " -"often referred to as the \"Identity\" of the user. However, the concept is " -"not as draconian as it often is in real life where many are forced to have " -"one name, one passport and one unique identification number.
      As long as " -"identities in GNUnet are simply public keys, users are free to create any " -"number of identities, and we call those egos to emphasize the difference. " -"Even though users can create such egos freely, it is possible to have an ego " -"certified by some certification authority, resulting in something that more " -"closely resembles the traditional concept of an identity.
      For example, a " -"university may certify the identities of its students such that they can " -"prove that they are studying. Students may keep their (certified) student " -"identity separate from other egos that they use for other activities in life." -msgstr "" +#~ msgid "Governance" +#~ msgstr "Führung" -#: template/glossary.html.j2:50 -msgid "Pseudonym" -msgstr "Pseudonym" +#~ msgid "Official Meeting Notes" +#~ msgstr "Offizielle Protokolle" -#: template/glossary.html.j2:52 -msgid "" -"A pseudonym is an ego that is specifically intended to not be linked to " -"one's real name. GNUnet users can create many egos, and thus also many " -"pseudonyms.
      Repeated uses of the same pseudonym are linkable by " -"definition, as they involve the same public key. Anonymity requires the use " -"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " -"neutral element on the elliptic curve) or a throw-away pseudonym that is " -"only used once." -msgstr "" +#~ msgid "Support Us!" +#~ msgstr "Unterstützung anbieten!" -#: template/glossary.html.j2:71 -msgid "Namespaces" -msgstr "Namensraum" +#~ msgid "Is there a graphical user interface?" +#~ msgstr "Gibt es eine Graphische Benutzeroberfläche?" -#: template/glossary.html.j2:73 -msgid "" -"The GNU Name System allows every ego (or identity) to securely and privately " -"associate any number of label-value pairs with an ego. The values are called " -"record sets following the terminology of the Domain Name System (DNS). The " -"mapping of labels to record sets for a given ego is called a namespace.
      " -"If records are made public and thus published, it is possible for other " -"users to lookup the record given the ego's public key and the label. Here, " -"not only the label can thus act as a passphrase but also the public key -- " -"which despite its name may not be public knowledge and is never disclosed by " -"the GNS protocol itself." -msgstr "" +#~ msgid "Ego" +#~ msgstr "Ego" -#: template/glossary.html.j2:89 -msgid "Peer" -msgstr "" +#~ msgid "Identity" +#~ msgstr "Identität" -#: template/glossary.html.j2:91 -msgid "" -"A \"peer\" is an instance of GNUnet with its own per-instance public key and " -"network addresses. Technically, it is possible to run multiple peers on the " -"same host, but this only makes sense for testing.
      By design GNUnet " -"supports multiple users to share the same peer, just as UNIX is a multi-user " -"system. A \"peer\" typically consists of a set of foundational GNUnet " -"services running as the \"gnunet\" user and allowing all users in the " -"\"gnunet\" group to utilize the API. On multi-user systems, additional " -"\"personalized\" services may be required per user.
      While peers are " -"also identified by public keys, these public keys are completely unrelated " -"to egos or identities. Namespaces cannot be associated with a peer, only " -"with egos." -msgstr "" +#~ msgid "Pseudonym" +#~ msgstr "Pseudonym" -#: template/gnurl.html.j2:20 -msgid "" -"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " -"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " -"ensure a small footprint and uniform experience for developers regardless of " -"how libcurl was compiled.
      Our main usecase is for GNUnet, but it might " -"be usable for others, hence we're releasing the code to the general public." -"
      libgnurl is released under the same license as libcurl. Please read the " -"README for instructions, as you must supply the correct options to configure " -"to get a proper build of libgnurl." -msgstr "" +#~ msgid "Namespaces" +#~ msgstr "Namensraum" -#: template/gnurl.html.j2:35 #, fuzzy -#| msgid "About" -msgid "About gnurl" -msgstr "Über GNUnet" - -#: template/gnurl.html.j2:37 -msgid "" -"Large parts of the following 6 paragraphs are old and need to be rewritten." -msgstr "" - -#: template/gnurl.html.j2:43 -msgid "Motivation" -msgstr "Motivation" - -#: template/gnurl.html.j2:45 -msgid "" -"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " -"other variants are used by some distributions. Supporting other crypto " -"backends would again expose us to a wider array of security issues, may " -"create licensing issues and most importantly introduce new bugs as some " -"crypto backends are known to introduce subtle runtime issues. While it is " -"possible to have two versions of libcurl installed on the same system, this " -"is error-prone, especially as if we are linked against the wrong version, " -"the bugs that arise might be rather subtle." -msgstr "" - -#: template/gnurl.html.j2:58 -msgid "" -"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " -"would anyway be necessary to recompile cURL for GNUnet. But what happens if " -"one links cURL against this version of GnuTLS? Well, first one would install " -"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " -"it just fine, but the linker will eventually complain bitterly. The reason " -"is that cURL also links against a bunch of other system libraries (gssapi, " -"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " -"which --- as they are part of the distribution --- were linked against an " -"older version of GnuTLS. As a result, the same binary would be linked " -"against two different versions of GnuTLS. That is typically a recipe for " -"disaster. Thus, in order to avoid updating a dozen system libraries (and " -"having two versions of those installed), it is necessary to disable all of " -"those cURL features that GNUnet does not use, and there are many of those. " -"For GNUnet, the more obscure protocols supported by cURL are close to dead " -"code --- mostly harmless, but not useful. However, as some application may " -"use one of those features, distributions are typically forced to enable all " -"of those features, and thus including security issues that might arise from " -"that code." -msgstr "" - -#: template/gnurl.html.j2:82 -msgid "" -"So to use a modern version of GnuTLS, a sane approach is to disable all of " -"the \"optional\" features of cURL that drag in system libraries that link " -"against the older GnuTLS. That works, except that one should then NEVER " -"install that version of libcurl in say /usr or /usr/local, as that may break " -"other parts of the system that might depend on these features that we just " -"disabled. Libtool versioning doesn't help here, as it is not intended to " -"deal with libraries that have optional features. Naturally, installing cURL " -"somewhere else is also problematic, as we now need to be really careful that " -"the linker will link GNUnet against the right version. Note that none of " -"this can really be trivially fixed by the cURL developers." -msgstr "" - -#: template/gnurl.html.j2:97 -msgid "Rename to fix" -msgstr "Umbenenung als Lösung" - -#: template/gnurl.html.j2:99 -#, python-format -msgid "" -"How does forking fix it? Easy. First, we can get rid of all of the " -"compatibility issues --- if you use libgnurl, you state that you don't need " -"anything but HTTP/HTTPS. Those applications that need more, should stick " -"with the original cURL. Those that do not, can choose to move to something " -"simpler. As the library gets a new name, we do not have to worry about tons " -"of packages breaking as soon as one rebuilds it. So renaming itself and " -"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" " -"fixes 99%% of the problems that darkened my mood. Note that this pretty much " -"CANNOT be done without a fork, as renaming is an essential part of the fix. " -"Now, there might be creative solutions to achieve the same thing within the " -"standard cURL build system, but I'm not happy to wait for a decade for " -"Daniel to review the patches. The changes libgnurl makes to curl are " -"miniscule and can easily be applied again and again whenever libcurl makes a " -"new release." -msgstr "" - -#: template/gnurl.html.j2:118 -msgid "Using libgnurl" -msgstr "Benutzung von libgnurl" - -#: template/gnurl.html.j2:120 -msgid "" -"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " -"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " -"That's it. No changes to the source code should be required, as libgnurl " -"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " -"cURL. We might add new features relating to this core subset if they are " -"proposed, but so far we have kept our changes minimal and no additions to " -"the original curl source have been written." -msgstr "" +#~| msgid "About" +#~ msgid "About gnurl" +#~ msgstr "Über GNUnet" -#: template/gnurl.html.j2:133 -msgid "Gotchas" -msgstr "Aufgepasst!" - -#: template/gnurl.html.j2:135 -msgid "" -"libgnurl and gnurl are not intended to be used as a replacement for curl for " -"users. Since no conflicts in filenames should occur you are not expected to " -"remove curl to make use of gnurl and viceversa." -msgstr "" +#~ msgid "Motivation" +#~ msgstr "Motivation" -#: template/gnurl.html.j2:149 -msgid "You can get the gnurl git repository using:" -msgstr "" +#~ msgid "Rename to fix" +#~ msgstr "Umbenenung als Lösung" -#: template/gnurl.html.j2:162 -msgid "The versions are checked in as (signed) git tags." -msgstr "" +#~ msgid "Using libgnurl" +#~ msgstr "Benutzung von libgnurl" -#: template/gnurl.html.j2:171 -msgid "" -"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " -"variety of distributions and package managers. Package Managers which " -"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " -"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." -msgstr "" +#~ msgid "Gotchas" +#~ msgstr "Aufgepasst!" -#: template/gnurl.html.j2:188 #, fuzzy -#| msgid "Using libgnurl" -msgid "Building gnurl" -msgstr "Benutzung von libgnurl" - -#: template/gnurl.html.j2:190 -msgid "" -"We suggest to closely follow release announcements, as they might indicate " -"changes in how gnurl is to be build.
      If your package manager provides a " -"binary build or build instructions to build gnurl from source automated and " -"integrated with your environment, we strongly suggest to use this binary " -"build.
      There are two ways to build gnurl. The first one builds from the " -"most recent git tag, the second one uses the distributed tarball. " -"Distributors generally are supposed to build from the tarball, but we " -"describe both methods here. Both methods are written with a NetBSD 9 " -"userland in mind, substitute tools as necessary.
      You should avoid building gnurl from the tip of the default git branch, as only tags are " -"considered to be stable and approved builds." -msgstr "" - -#: template/gnurl.html.j2:211 -msgid "Building from the distributed tarball (prefered method)" -msgstr "" - -#: template/gnurl.html.j2:213 -msgid "" -"If you want to verify the signature, install an OpenPGP compatible tool such " -"as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "" - -#: template/gnurl.html.j2:227 -msgid "Fetch the signature key from" -msgstr "" - -#: template/gnurl.html.j2:231 -msgid "or via commandline with gnupg2." -msgstr "" - -#: template/gnurl.html.j2:236 -msgid "" -"Fetch the release, the signature, the checksum file as well as its signature:" -msgstr "" +#~| msgid "Using libgnurl" +#~ msgid "Building gnurl" +#~ msgstr "Benutzung von libgnurl" -#: template/gnurl.html.j2:255 -msgid "" -"verify the signatures, and verify the checksums against the checksums in " -"the .sum.txt file." -msgstr "" - -#: template/gnurl.html.j2:261 -msgid "unpack the tarball:" -msgstr "" - -#: template/gnurl.html.j2:271 -msgid "Change into the directory" -msgstr "" - -#: template/gnurl.html.j2:281 -msgid "Now you can either run" -msgstr "" - -#: template/gnurl.html.j2:291 -msgid "directly (and read configure-gnurl before you do so) or invoke" -msgstr "" - -#: template/gnurl.html.j2:301 -msgid "" -"and pass additional parameters such as a custom PREFIX location. Further " -"reference can be the" -msgstr "" - -#: template/gnurl.html.j2:306 -msgid "Now run" -msgstr "" - -#: template/gnurl.html.j2:316 -msgid "(this is optional)" -msgstr "" +#~ msgid "Reporting Bugs" +#~ msgstr "Fehler melden" -#: template/gnurl.html.j2:325 -msgid "and you are done." -msgstr "" +#, fuzzy +#~| msgid "GSoC Projects" +#~ msgid "Current projects" +#~ msgstr "GSoC Projekte" -#: template/gnurl.html.j2:329 -msgid "Building from a tagged git commit" -msgstr "" +#, fuzzy +#~| msgid "About GNUnet" +#~ msgid "Learn more about GNUnet" +#~ msgstr "Über GNUnet" -#: template/gnurl.html.j2:331 -msgid "" -"Follow the steps above, but instead of downloading the tarball, clone the " -"git tag you want to build from." -msgstr "" +#, fuzzy +#~| msgid "Motivation" +#~ msgid "Conversation (Pre-Alpha)" +#~ msgstr "Motivation" -#: template/gnurl.html.j2:342 -msgid "Reporting Bugs" -msgstr "Fehler melden" +#, fuzzy +#~| msgid "GNUnet" +#~ msgid "Use GNUnet!" +#~ msgstr "GNUnet" -#: template/gnurl.html.j2:344 -msgid "" -"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " -"we prefer to track bugs on the bugtracker." -msgstr "" +#, fuzzy +#~| msgid "Motivation" +#~ msgid "Conversation" +#~ msgstr "Motivation" -#: template/gnurl.html.j2:354 -msgid "Maintainer and Cryptographic signatures" -msgstr "" +#, fuzzy +#~| msgid "GNUnet" +#~ msgid "Get on GNUnet" +#~ msgstr "GNUnet" -#: template/gnurl.html.j2:356 -msgid "" -"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP " -"Key A88C8ADD129828D7EAC02E52E22F9BBFEE348588, with the key " -"fingerprint A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:7 -msgid "GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:11 -msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:17 -msgid "" -"What was done?
      In the context of Google Summer of " -"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and " -"extending the REST API of GNUnet. Currently, we mirrored the functionality " -"of following commands:" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:32 -msgid "" -"Additionally, we developed a website with the Javascript framework Angular 6 " -"and the design framework iotaCSS to use the new REST API. The REST API of " -"GNUnet is now documented with Sphinx." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:40 -msgid "" -"Why did we create a REST API?
      ... when you can use " -"the command line tools?
      We need to keep in mind, that everyone has the " -"right to stay secure and private but not everyone feels comfortable using a " -"terminal. The further developed REST access to GNUnet APIs in addition to " -"the new web application allows new users to interact with GNUnet over a well " -"known tool: their browsers. This addition to the C API and the command line " -"tools may attract new users and developers." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:52 -msgid "" -"How can we use it?
      1. The REST API developed in " -"GNUnet
      The REST API is already merged into the gnunet.git repository " -"(GNUnet Main Git).
      " -"To use the new features, clone the repository and follow the Installation on gnunet.org. Then, " -"start the rest service with \"gnunet-arm -i rest\"." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:63 -msgid "" -"2. The Web Application
      The web application is available under the " -"gnunet-webui.git repository (GNUnet WebUI Git).
      You need to install the newest version " -"of 'node' and 'yarn'. Dependent on your system, you may need to download " -"newer versions and install them manually and not over your packet manager. " -"After the installation succeeded, you need to clone the repository. Then, " -"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To " -"deploy the website (keep in mind, that this website communicates with " -"another localhost instance) use \"yarn build\" for building the web " -"application and use the output in the 'dist' directory." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:80 -msgid "" -"3. The Documentation
      The documentation is available under the gnunet-" -"rest-api.git repository (GNUnet REST API Docmentation Git).
      Clone the repository and " -"\"make html\". Then open the 'index.html' under 'build/html/'." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:91 -msgid "" -"Please, give it a try and contact me, if you find any bugs or unintentional " -"features. ;)" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:97 -msgid "" -"What can be improved?
      Right now, the build process of " -"the web application may be a little too complex for a casual user. We may be " -"able to solve this by using docker.
      Additionally, the web application " -"does not prevent wrong inputs but responds with error messages. Adding " -"GNUnet Records is currently only usable for people, who know how a GNS " -"Record looks like. This can be adapted to each record type.
      Last but " -"not least, additional features, design changes, etc..." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:111 -msgid "Thanks for reading." -msgstr "" - -#: template/gsoc.html.j2:6 -msgid "GNUnet's Google Summer of Code projects" -msgstr "" - -#: template/gsoc.html.j2:12 template/gsoc.html.j2:28 -#, fuzzy -#| msgid "GSoC Projects" -msgid "Current projects" -msgstr "GSoC Projekte" - -#: template/gsoc.html.j2:13 template/gsoc.html.j2:30 -msgid "Past projects" -msgstr "" - -#: template/gsoc.html.j2:14 template/gsoc.html.j2:553 -msgid "Finished projects" -msgstr "" - -#: template/gsoc.html.j2:21 -msgid "" -"As a GNU project, GNUnet has participated in the Google Summer of Code " -"(GSoC) for a number of years. This page lists all current, past, and " -"finished projects." -msgstr "" - -#: template/gsoc.html.j2:37 -msgid "" -"It is time for GNUnet to run properly on Android. Note that GNUnet is " -"written in C, and this is not about rewriting GNUnet in Java, but about " -"getting the C code to run on Android." -msgstr "" - -#: template/gsoc.html.j2:44 -msgid "" -"Mentors: Hartmut " -"Goebel" -msgstr "" - -#: template/gsoc.html.j2:53 -msgid "" -"There is a push for migrating our CI to Gitlab. The CI should eventually not " -"just run \"make check\" on various platforms, but also perform tests with " -"multiple peers running in different VMs with specific network topologies (i." -"e. NAT) between them being simulated. The CI should also be integrated with " -"Gauger for performance regression analysis. Running jobs only when " -"dependencies have changed and scripting more granular triggers or ideally " -"automatic dependency discovery (as done by the autotools) is also important." -msgstr "" - -#: template/gsoc.html.j2:65 -msgid "Mentors: TBD" -msgstr "" - -#: template/gsoc.html.j2:74 -msgid "" -"reclaimID is a decentralized identity system build on top of the GNU Name " -"System. Upon authorization, the user provides a requesting party (RP) such " -"as a website with an authorization ticket (e.g. piggybacked in an OpenID " -"authorization code). The RP uses information contained in this ticket to " -"
      1. Retrieve the decryption key from GNS
      2. Retrieve the user " -"attributes from GNS
      The GNS lookups ensure that the RP receives " -"up-to-date attributes and functional decryption keys. However, in particular " -"the RP-specific encryption key resolution can be slow and even fail " -"depending on the network topology. We propose that in an initial exchange, " -"in particular OpenID authorization code flows, we try to incorporate key and " -"maybe even an attribute set in the ticket exchange. In order to mitigate " -"this issue, this project is meant to investigate and implement how...
        " -"
      1. ... decryption keys can be added to an initial exchange in OpenID.
      2. " -"
      3. ... initial set(s) of attributes can be piggybacked in OpenID.

      4. Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:105 -msgid "" -"re:claimID is a decentralized identity system build on top of the GNU Name " -"System. The initial design and implementation of re:claimID includes an " -"attribute-based encryption module in order to prevent unauthorized access to " -"attributes in the name system. Our motivation for re:claimID was for it to " -"be name system agnostic, which means the design theoretically also works for " -"other name systems such as namecoin. Other name systems often do not have " -"built-in mechanisms in order to do this. Hence, we implemented an ABE access " -"control layer. Our ABE implementation requires two third party libraries: " -"libpbc and libgabe. While we could merge libgabe into the gnunet service " -"implementation of re:claimID, libpbc is a rather large, third party library " -"which lacks packaging in distributions and for platforms. On the other hand, " -"GNS supports record data encryption using symmetric keys as labels. If we " -"make the access control layer of re:claimID more generic in order to support " -"both ABE and GNS encryption, we could reduce the required depenencies. This " -"would result in gnunet packages to include re:claimID by default. In short, " -"the goals are to...
        1. ... improve performance by reducing encryption " -"overhead.
        2. ... reduce dependencies.

        " -"Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:140 -msgid "" -"One great problem of the current Internet is the lack of disintermediation. " -"When people want to talk they need a chat service. When they want to share " -"files they need a file transfer service. Although GNUnet already possesses " -"quite advanced integration into Linux networking, a little extra work is " -"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " -"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " -"Once people have added a person to their GNS they can immediately message, " -"exchange files and suchlike directly, with nothing but the GNUnet in the " -"middle, using applications that have been distributed with unix systems ever " -"since the 1980's. We can produce an OS distribution where these things work " -"out of the box with the nicknames of people instead of cloud services. For " -"more information and context, read" -msgstr "" - -#: template/gsoc.html.j2:161 -msgid "Mentors: lynX & dvn" -msgstr "" - -#: template/gsoc.html.j2:169 -msgid "" -"There are a variety of GNUNet APIs that should be exposed in the Rust " -"wrappers. Implementing these will require extending the port of GNUNet utils " -"written by Andrew Cann and Kelong Cong." -msgstr "" - -#: template/gsoc.html.j2:177 -msgid "" -"As an introduction to the code base, we suggest that the student and Jeff " -"Burdges together update the asynchronous IO system from gjio to futures-rs " -"or another layer built upon it. Jeff Burdges is expected to concurrently be " -"implementing a GNUNet API for his own mix network work." -msgstr "" - -#: template/gsoc.html.j2:187 template/gsoc.html.j2:211 -#: template/gsoc.html.j2:265 template/gsoc.html.j2:295 -#: template/gsoc.html.j2:539 -msgid "Mentors: Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:192 -msgid "Required Skills: Rust" -msgstr "" - -#: template/gsoc.html.j2:197 -msgid "Difficulty level: low" -msgstr "" - -#: template/gsoc.html.j2:205 -msgid "" -"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." -msgstr "" - -#: template/gsoc.html.j2:216 -msgid "" -"Note: There was a Special TLDs spec to allow Tor to resolve domain names " -"using GNS over Tor too, but currently that's on hold until folks think more " -"about how names should be moved around the local system. We're calling this " -"more collaborative approach NSS2 for now." -msgstr "" - -#: template/gsoc.html.j2:225 template/gsoc.html.j2:399 -#: template/gsoc.html.j2:439 template/gsoc.html.j2:469 -msgid "Required Skills: C" -msgstr "" - -#: template/gsoc.html.j2:230 template/gsoc.html.j2:474 -#: template/gsoc.html.j2:619 -msgid "Difficulty level: medium" -msgstr "" - -#: template/gsoc.html.j2:238 -msgid "" -"Design and implementation of REST APIs " -"that expose the GNUnet API so that easy, hands-on development is possible. Also, " -"browser-based UIs will be much easier to create on top of REST APIs." -msgstr "" - -#: template/gsoc.html.j2:249 template/gsoc.html.j2:609 -msgid "Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:257 -msgid "" -"Improve the Rust implementation of GNUnet utils, possibly including adding " -"support for asynchronous IO using mio, or perhaps a higher level " -"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " -"gj." -msgstr "" - -#: template/gsoc.html.j2:273 -msgid "" -"Implement rudimentary Android compatibility for GNUnet, in part by porting " -"the GNUnet utils scheduler to act as a thin wrapper over libuv." -msgstr "" - -#: template/gsoc.html.j2:280 -msgid "Mentors: Jeff Burdges and Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:288 template/gsoc.html.j2:532 -msgid "" -"Implementation of a replacement for PANDA (see Pond) with better security, " -"and maybe integration with the GNU Name System for key exchange." -msgstr "" - -#: template/gsoc.html.j2:300 -msgid "Required Skills: Rust or C, crypto" -msgstr "" - -#: template/gsoc.html.j2:305 template/gsoc.html.j2:362 -#: template/gsoc.html.j2:404 template/gsoc.html.j2:444 -msgid "Difficulty level: high" -msgstr "" - -#: template/gsoc.html.j2:313 -msgid "" -"Implement different place types and file sharing by creating a new place for " -"the shared content." -msgstr "" - -#: template/gsoc.html.j2:319 -msgid "Place types to be implemented:" -msgstr "" - -#: template/gsoc.html.j2:323 -msgid "" -"
        • File: generic file with comments
        • Image: display an image " -"with comments referencing a region of the image
        • Sound: play a sound " -"file with comments referencing a timestamp
        • Directory/Album: " -"pointers to File / Image / Sound places
        • Event: with RSVP
        • " -"
        • Survey: ask your social neighborhood questions in a structured form
        • " -"
        " -msgstr "" - -#: template/gsoc.html.j2:334 -msgid "Also provide the following UI functionality:" -msgstr "" - -#: template/gsoc.html.j2:338 -msgid "" -"
        • Fork existing channels, reorganize people into new chatrooms or " -"channels.
        • Share a post (edit and repost something elsewhere, on a " -"fan page for example).
        • Edit a previously published post + offer " -"edit history to readers.
        • Control expiry of channel history.
        • " -msgstr "" - -#: template/gsoc.html.j2:347 -msgid "" -"See also http://secushare.org/" -"features" -msgstr "" - -#: template/gsoc.html.j2:352 -msgid "Mentors: lynX" -msgstr "" - -#: template/gsoc.html.j2:357 -msgid "Required Skills: C/C++" -msgstr "" - -#: template/gsoc.html.j2:370 -msgid "" -"Implement aggregation of distributed state from various channels in order to " -"provide for a powerful social graph API capable of producing social network " -"profiles, dashboards, a calendar out of upcoming event invitations (if " -"available), social search functionality and most of all to make it easy for " -"users to adopt cryptographic identities of their contacts/friends simply by " -"finding them in the social graph of their existing contacts (\"This is " -"Linda. You have 11 contacts in common with her. [ADD]\")." -msgstr "" - -#: template/gsoc.html.j2:388 -msgid "" -"Related to secushare.org/" -"rendezvous" -msgstr "" - -#: template/gsoc.html.j2:394 template/gsoc.html.j2:434 -msgid "Mentors: t3sserakt, lynX" -msgstr "" - -#: template/gsoc.html.j2:411 -msgid "" -"
          • Emulate IMAP/SMTP protocols as necessary to transform traditional " -"mail clients into secushare user interfaces.
          • Think of ways to map " -"e-mail addresses to secushare identities.
          • Encode or translate " -"various e-mail features into secushare equivalents.
          • Parts of " -"secushare are currently written in Rust, therefore Rust is preferred for " -"this task but it is not an requirement.
          " -msgstr "" - -#: template/gsoc.html.j2:452 -msgid "" -"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " -"Specific tasks are adding smart contract creation and round time enforcement " -"to libbrandt as well as creating the GNUnet auction service, library and the " -"three user interface programs create, info and join." -msgstr "" - -#: template/gsoc.html.j2:464 -msgid "Mentors: mate, cg" -msgstr "" - -#: template/gsoc.html.j2:482 -msgid "" -"Implementation of additional transports to make GNUnet communication more " -"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" -"over-DNS" -msgstr "" - -#: template/gsoc.html.j2:489 template/gsoc.html.j2:503 -msgid "Mentors: Matthias Wachs" -msgstr "" - -#: template/gsoc.html.j2:497 -msgid "" -"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " -"punching, better STUN support)" -msgstr "" - -#: template/gsoc.html.j2:511 -msgid "" -"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:519 -msgid "" -"Improving libaboss to make computation on shared secrets (including repeated " -"multiplication) based on Ben-Or et al. if possible. This in particular means " -"moving libaboss to bignums (gcry_mpi)." -msgstr "" - -#: template/gsoc.html.j2:547 -msgid "" -"Please refer to the description for this project listed under GNU Guix " -"project ideas." -msgstr "" - -#: template/gsoc.html.j2:559 -msgid "" -"Python 2.7 is reaching its end-of-life, and we want to get rid of the " -"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " -"around python-zbar, which itself wraps libzbar. The goal of this project is " -"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " -"(see also #5562)." -msgstr "" - -#: template/gsoc.html.j2:569 -msgid "Mentors: Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:574 -msgid "Required Skills:" -msgstr "" - -#: template/gsoc.html.j2:579 -msgid "Difficulty level:" -msgstr "" - -#: template/gsoc.html.j2:584 -msgid "Report:" -msgstr "" - -#: template/gsoc.html.j2:589 -msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." -msgstr "" - -#: template/gsoc.html.j2:599 -msgid "" -"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " -"to be determined framework such as Angular2. This includes the design and " -"implementation of not yet existing REST " -"APIs that expose the GNUnet API." -msgstr "" - -#: template/gsoc.html.j2:614 -msgid "Required Skills: C, JavaScript, CSS" -msgstr "" - -#: template/gsoc.html.j2:624 -msgid "" -"Report: GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/index.html.j2:19 -msgid "" -"GNUnet is a new network protocol stack for building secure, distributed, and " -"privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol " -"stack." -msgstr "" - -#: template/index.html.j2:29 -msgid "" -"GNUnet is typically run as an overlay network on top of the existing Internet " -"infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It " -"could just as well be run independently of the Internet, over dedicated radio and cable." -msgstr "" - -#: template/index.html.j2:38 -msgid "" -"GNUnet is made for a free and open society: It's a self-organizing " -"network and it is free software as in freedom. GNUnet puts you in control of your data. " -"You determine which data to share with whom, and you're not pressured to " -"accept compromises." -msgstr "" - -#: template/index.html.j2:89 -msgid "The Internet of tomorrow needs GNUnet today" -msgstr "" - -#: template/index.html.j2:95 -msgid "Imagine..." -msgstr "" - -#: template/index.html.j2:97 -msgid "" -"The conventional Internet is currently like a system of roads with deep " -"potholes and highwaymen all over the place. Even if you still can use the " -"roads (e.g. send emails, or browse websites) your vehicle might get " -"hijacked, damaged, or long arms might reach into its back and steal your " -"items (data) to use it against you and sell it to others - while you can'" -"t even notice the thievery nor accuse and hold the scroungers accountable. " -"" -msgstr "" - -#: template/index.html.j2:121 -msgid "The Internet is broken" -msgstr "" - -#: template/index.html.j2:123 -msgid "" -"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: " -"protecting against address forgery, routers learning metadata, or choosing " -"trustworthy CAs is nontrivial and sometimes impossible. " -msgstr "" - -#: template/index.html.j2:137 -msgid "" -"GNUnet provides privacy by design, improving addressing, routing, naming and content " -"distribution in a technically robust manner - as opposed to ad-hoc designs " -"in place today. " -msgstr "" - -#: template/index.html.j2:155 -msgid "Decentralization is hard" -msgstr "" - -#: template/index.html.j2:158 -msgid "" -" Instead of sharing common components and tools for " -"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " -"potential number of vulnerabilities." -msgstr "" - -#: template/index.html.j2:174 -msgid "" -"GNUnet is a metadata-preserving foundation for your application, covering " -"areas from addressing to reliable bidirectional Axolotl-encrypted channels, " -"with advanced routing. Our work is based on continuous research spanning " -"almost two decades." -msgstr "" - -#: template/index.html.j2:188 -msgid "Metadata is exposed" -msgstr "" - -#: template/index.html.j2:190 -msgid "" -"Your metadata is just as revealing as the actual content; and it gets " -"exposed on the Internet.
          Even though transport encryption is " -"increasingly being deployed on the Internet, it still reveals data that can " -"threaten democracy: the identities of senders and receivers, the times, " -"frequency and the volume of communication are all still revealed.
          GNUnet addresses these concerns with " -"perfect forward secrecy via ephemeral public key addressing, fixed packet " -"size to hinder traffic analysis, layered encryption, Sybil-resistant " -"routing, and more." -msgstr "" - -#: template/index.html.j2:213 -msgid "Freedoms are not respected" -msgstr "" - -#: template/index.html.j2:215 -msgid "" -"Today, monitoring increasingly centralized infrastructure, proprietary " -"implementations, traffic shapers and firewalls restrict all of the essential freedoms to " -"various degrees." -msgstr "" - -#: template/index.html.j2:224 -msgid "" -"GNUnet gives users freedoms to securely access information (\"run\" the " -"network), to study all aspects of the network's operation (\"access the " -"code\"), to distribute information (\"copy\"), as well as the freedom to " -"deploy new applications (\"modify\")." -msgstr "" - -#: template/index.html.j2:236 -#, fuzzy -#| msgid "About GNUnet" -msgid "Learn more about GNUnet" -msgstr "Über GNUnet" - -#: template/index.html.j2:238 -msgid "" -"If you want to know more about the GNUnet please continue reading the about page. There are much more resources, such as " -"the main handbook / reference manual, a bibliography and videos." -msgstr "" - -#: template/index.html.j2:247 -msgid "" -"You are very welcome to get " -"engaged into the conversation, install GNUnet, use " -"it and contribute. " -"
          Be aware that this project is still in an early alpha stage when it " -"comes to software – it is not an easy task to rewrite the whole " -"Internet!" -msgstr "" - -#: template/index.html.j2:269 -msgid "Featured Applications" -msgstr "" - -#: template/index.html.j2:275 -msgid "GNU Taler (Alpha)" -msgstr "" - -#: template/index.html.j2:277 -msgid "" -"GNU Taler is a new privacy-preserving " -"electronic payment system. Payments are cryptographically secured and are " -"confirmed within milliseconds with extremely low transaction costs." -msgstr "" - -#: template/index.html.j2:289 -msgid "The GNU Name System" -msgstr "" - -#: template/index.html.j2:292 -msgid "" -" The GNU " -"Name System (GNS) is a fully decentralized replacement for the Domain " -"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. " -"Naming conventions are similar to DNS, but queries and replies are private " -"even with respect to peers providing the answers. The integrity of records " -"and privacy of look-ups is cryptographically secured. " -msgstr "" - -#: template/index.html.j2:309 -msgid "re:claimID" -msgstr "" - -#: template/index.html.j2:311 -msgid "" -"re:claimID is a decentralized " -"Identity Provider (IdP) service built in top of the GNU Name System. It " -"allows users to securely share personal information with websites using " -"standardized protocols (OpenID Connect)." -msgstr "" - -#: template/index.html.j2:324 -msgid "Filesharing (Alpha)" -msgstr "" - -#: template/index.html.j2:326 -msgid "" -"GNUnet filesharing is an application that aims " -"to provide censorship-resistant, anonymous filesharing. The publisher is " -"empowered to make a gradual choice between performance and anonymity." -msgstr "" - -#: template/index.html.j2:337 -#, fuzzy -#| msgid "Motivation" -msgid "Conversation (Pre-Alpha)" -msgstr "Motivation" - -#: template/index.html.j2:339 -msgid "" -"GNUnet conversation is an application that provides secure voice " -"communication in a fully decentralized way by employing GNUnet for routing " -"and transport." -msgstr "" - -#: template/index.html.j2:355 -msgid "Upcoming Applications" -msgstr "" - -#: template/index.html.j2:361 -msgid "secushare" -msgstr "" - -#: template/index.html.j2:363 -msgid "" -"secushare is creating a decentralized " -"social networking application on top of GNUnet. Using overlay multicast and " -"the extensible PSYC protocol, notifications are distributed end-to-end " -"encrypted to authorized recipients only." -msgstr "" - -#: template/index.html.j2:375 -msgid "pretty Easy privacy" -msgstr "" - -#: template/index.html.j2:377 -msgid "" -"pretty Easy privacy (p≡p) is " -"creating a usable end-to-end encrypted e-mail solution using opportunistic " -"key exchange. p≡p will use GNUnet to protect metadata and exploit new " -"cryptographic protocols to verify keys." -msgstr "" - -#: template/install-on-archpi.html.j2:6 -msgid "Tutorial: GNUnet on Arch Linux/Pi" -msgstr "" - -#: template/install-on-archpi.html.j2:16 -msgid "Requirements for Raspberry Pi 3" -msgstr "" - -#: template/install-on-archpi.html.j2:40 -msgid "Get the Source Code" -msgstr "" - -#: template/install-on-archpi.html.j2:62 -#: template/install-on-debian9.html.j2:130 -msgid "In Addition: gnunet-gtk" -msgstr "" - -#: template/install-on-archpi.html.j2:79 -msgid "Run" -msgstr "" - -#: template/install-on-archpi.html.j2:131 -msgid "Make sure, it works!" -msgstr "" - -#: template/install-on-debian9.html.j2:6 -msgid "Tutorial: GNUnet on Debian 9" -msgstr "" - -#: template/install-on-debian9.html.j2:9 -#: template/install-on-ubuntu1804.html.j2:9 -msgid "Introduction" -msgstr "" - -#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 -#: template/install-on-netbsd.html.j2:19 -#: template/install-on-ubuntu1804.html.j2:26 -msgid "Requirements" -msgstr "" - -#: template/install-on-debian9.html.j2:45 -#: template/install-on-ubuntu1804.html.j2:41 -msgid "Make an installation directory" -msgstr "" - -#: template/install-on-debian9.html.j2:59 -#: template/install-on-macos.html.j2:134 -#: template/install-on-netbsd.html.j2:224 -#: template/install-on-ubuntu1804.html.j2:53 -msgid "Get the source code" -msgstr "" - -#: template/install-on-debian9.html.j2:78 -#: template/install-on-macos.html.j2:142 -#: template/install-on-netbsd.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:61 -msgid "Compile and Install" -msgstr "" - -#: template/install-on-debian9.html.j2:103 -#: template/install-on-ubuntu1804.html.j2:70 -msgid "Option 1: GNUnet for testing / usage" -msgstr "" - -#: template/install-on-debian9.html.j2:116 -#: template/install-on-ubuntu1804.html.j2:82 -msgid "Option 2: GNUnet for development" -msgstr "" - -#: template/install-on-debian9.html.j2:153 -#: template/install-on-ubuntu1804.html.j2:97 -msgid "Install GNUnet plugin for name resolution" -msgstr "" - -#: template/install-on-debian9.html.j2:207 -#: template/install-on-ubuntu1804.html.j2:134 -msgid "Create configuration file" -msgstr "" - -#: template/install-on-debian9.html.j2:227 -#: template/install-on-ubuntu1804.html.j2:156 -#, fuzzy -#| msgid "GNUnet" -msgid "Use GNUnet!" -msgstr "GNUnet" - -#: template/install-on-debian9.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:162 -msgid "Uninstall GNUnet and its dependencies" -msgstr "" - -#: template/install-on-macos.html.j2:6 -msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" -msgstr "" - -#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30 -msgid "Installation" -msgstr "" - -#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102 -msgid "First steps" -msgstr "" - -#: template/install-on-macos.html.j2:109 -#: template/install-on-netbsd.html.j2:182 -msgid "Alternative: Installation from source" -msgstr "" - -#: template/install-on-macos.html.j2:154 -#: template/install-on-netbsd.html.j2:242 -msgid "Option 1: GNUnet for production / usage" -msgstr "" - -#: template/install-on-macos.html.j2:187 -#: template/install-on-netbsd.html.j2:267 -msgid "Option 2: GNUnet experimental" -msgstr "" - -#: template/install-on-netbsd.html.j2:6 -msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" -msgstr "" - -#: template/install-on-ubuntu1804.html.j2:6 -msgid "Tutorial: GNUnet on Ubuntu 18.04" -msgstr "" - -#: template/install.html.j2:11 -msgid "" -"

          The following GNUnet installation instructions help you building from " -"source for your distribution.

          Please note that the installation " -"process will get much easier once we have proper packages again (planned for " -"winter 2019).

          You have already installed GNUnet and want to use " -"it? Check this out!

          " -msgstr "" - -#: template/install.html.j2:19 -msgid "" -"

          Please be aware that this project is still in an early alpha stage when " -"it comes to running software – its not an easy task to rewrite the " -"whole Internet! We are happy to get your helping " -"hand anytime!

          Further information is available in our handbook.

          If you " -"have any queries about the installation or the usage, please get in touch!

          " -msgstr "" - -#: template/use.html.j2:6 -msgid "How to use GNUnet - in a nutshell" -msgstr "" - -#: template/use.html.j2:12 template/use.html.j2:123 -msgid "Filesharing" -msgstr "" - -#: template/use.html.j2:13 -msgid "CADET" -msgstr "" - -#: template/use.html.j2:14 -msgid "Minimal Groupchat" -msgstr "" - -#: template/use.html.j2:15 -msgid "GNS with CLI" -msgstr "" - -#: template/use.html.j2:16 -msgid "GNS with Browser" -msgstr "" - -#: template/use.html.j2:17 template/use.html.j2:441 -msgid "VPN" -msgstr "" - -#: template/use.html.j2:18 template/use.html.j2:501 -#, fuzzy -#| msgid "Motivation" -msgid "Conversation" -msgstr "Motivation" - -#: template/use.html.j2:19 template/use.html.j2:512 -msgid "Trouble Shooting" -msgstr "" - -#: template/use.html.j2:34 #, fuzzy -#| msgid "GNUnet" -msgid "Get on GNUnet" -msgstr "GNUnet" - -#: template/use.html.j2:78 -#, fuzzy -#| msgid "GNUnet" -msgid "Get off GNUnet" -msgstr "GNUnet" - -#: template/use.html.j2:88 -msgid "Make sure your GNUnet installation works..." -msgstr "" - -#: template/use.html.j2:105 -msgid "... and play around with it." -msgstr "" - -#: template/use.html.j2:181 -msgid "CADET (and Chat)" -msgstr "" - -#: template/use.html.j2:215 -msgid "Chatting with a (simple) client" -msgstr "" - -#: template/use.html.j2:289 -msgid "Name resolution using GNS on the command line" -msgstr "" - -#: template/use.html.j2:361 -msgid "Name resolution using GNS with a browser" -msgstr "" - -#: template/use.html.j2:514 -msgid "You can't reach other people's nodes" -msgstr "" - -#: template/use.html.j2:550 -msgid "OMG you guys broke my internet" -msgstr "" - -#: template/video.html.j2:12 -msgid "Videos related to GNUnet" -msgstr "" +#~| msgid "GNUnet" +#~ msgid "Get off GNUnet" +#~ msgstr "GNUnet" #~ msgid "2013-12 (constitutional meeting)" #~ msgstr "2013-12 (Gründungstreffen)" diff --git a/locale/en/LC_MESSAGES/messages.po b/locale/en/LC_MESSAGES/messages.po index 9f923610..522e6786 100644 --- a/locale/en/LC_MESSAGES/messages.po +++ b/locale/en/LC_MESSAGES/messages.po @@ -1,1930 +1,3 @@ -#: common/base.j2:5 common/news.j2:5 -msgid "GNUnet" -msgstr "" - -#: common/base.j2:6 common/news.j2:6 -msgid "GNU's framework for secure p2p networking" -msgstr "" - -#: common/footer.j2.inc:7 -msgid "Contact" -msgstr "" - -#: common/footer.j2.inc:8 common/navigation.j2.inc:48 -msgid "GNUnet e.V." -msgstr "" - -#: common/footer.j2.inc:9 template/about.html.j2:6 -msgid "About GNUnet" -msgstr "" - -#: common/footer.j2.inc:14 common/navigation.j2.inc:61 -msgid "Bug Tracker" -msgstr "" - -#: common/footer.j2.inc:19 template/copyright.html.j2:6 -msgid "Copyright Assignment" -msgstr "" - -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 -#: template/developers.html.j2:24 -msgid "Bibliography" -msgstr "" - -#: common/footer.j2.inc:31 -msgid "Source code of this site." -msgstr "" - -#: common/footer.j2.inc:32 -msgid "Report issues with this website." -msgstr "" - -#: common/navigation.j2.inc:38 template/index.html.j2:51 -msgid "About" -msgstr "" - -#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 -msgid "News" -msgstr "" - -#: common/navigation.j2.inc:43 -msgid "Community" -msgstr "" - -#: common/navigation.j2.inc:46 template/index.html.j2:55 -msgid "Engage" -msgstr "" - -#: common/navigation.j2.inc:47 -msgid "GSoC Projects" -msgstr "" - -#: common/navigation.j2.inc:49 -msgid "Copyright for Contributors" -msgstr "" - -#: common/navigation.j2.inc:50 -msgid "IRC Archive" -msgstr "" - -#: common/navigation.j2.inc:57 -msgid "Development" -msgstr "" - -#: common/navigation.j2.inc:60 -msgid "System Architecture" -msgstr "" - -#: common/navigation.j2.inc:62 template/gnurl.html.j2:147 -msgid "Source Code" -msgstr "" - -#: common/navigation.j2.inc:63 -msgid "Source Code Documentation" -msgstr "" - -#: common/navigation.j2.inc:66 -msgid "Continuous Integration" -msgstr "" - -#: common/navigation.j2.inc:68 -msgid "Development Tutorial" -msgstr "" - -#: common/navigation.j2.inc:79 -msgid "Documentation" -msgstr "" - -#: common/navigation.j2.inc:82 template/index.html.j2:53 -#: template/install.html.j2:6 -msgid "Install" -msgstr "" - -#: common/navigation.j2.inc:83 -msgid "Use" -msgstr "" - -#: common/navigation.j2.inc:84 -msgid "Videos" -msgstr "" - -#: common/navigation.j2.inc:85 template/glossary.html.j2:6 -msgid "Glossary" -msgstr "" - -#: common/navigation.j2.inc:86 -msgid "Handbook" -msgstr "" - -#: common/navigation.j2.inc:87 -msgid "REST API" -msgstr "" - -#: common/navigation.j2.inc:88 -msgid "FAQ" -msgstr "" - -#: inc/news.macro.j2:10 -msgid "read more" -msgstr "" - -#: template/about.html.j2:11 -msgid "What is GNUnet?" -msgstr "" - -#: template/about.html.j2:13 -msgid "" -"GNUnet is an alternative network stack for building secure, decentralized " -"and privacy-preserving distributed applications. Our goal is to replace the " -"old insecure Internet protocol stack. Starting from an application for " -"secure publication of files, it has grown to include all kinds of basic " -"protocol components and applications towards the creation of a GNU internet." -msgstr "" - -#: template/about.html.j2:23 -msgid "" -"Today, the actual use and thus the social requirements for a global network " -"differs widely from those goals of 1970. While the Internet remains suitable " -"for military use, where the network equipment is operated by a command " -"hierarchy and when necessary isolated from the rest of the world, the " -"situation is less tenable for civil society." -msgstr "" - -#: template/about.html.j2:32 -msgid "" -"Due to fundamental Internet design choices, Internet traffic can be " -"misdirected, intercepted, censored and manipulated by hostile routers on the " -"network. And indeed, the modern Internet has evolved exactly to the point " -"where, as Matthew Green put it, \"the " -"network is hostile\"." -msgstr "" - -#: template/about.html.j2:41 -msgid "" -"We believe liberal societies need a network architecture that uses the anti-" -"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " -"cryptographic protocols. The goal of the GNUnet project is to provide a Free " -"Software realization of this ideal." -msgstr "" - -#: template/about.html.j2:49 -msgid "" -"Specifically, GNUnet tries to follow the following design principles, in " -"order of importance:" -msgstr "" - -#: template/about.html.j2:56 -msgid "" -"GNUnet must be implemented as Free Software." -msgstr "" - -#: template/about.html.j2:60 -msgid "" -"GNUnet must minimize the amount of personally identifiable information " -"exposed." -msgstr "" - -#: template/about.html.j2:61 -msgid "" -"GNUnet must be fully distributed and resilient to external attacks and rogue " -"participants." -msgstr "" - -#: template/about.html.j2:62 -msgid "" -"GNUnet must be self-organizing and not depend on administrators or " -"centralized infrastructure." -msgstr "" - -#: template/about.html.j2:63 -msgid "" -"GNUnet must inform the user which other participants have to be trusted when " -"establishing private communications." -msgstr "" - -#: template/about.html.j2:64 -msgid "GNUnet must be open and permit new peers to join." -msgstr "" - -#: template/about.html.j2:65 -msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" - -#: template/about.html.j2:66 -msgid "GNUnet must use compartmentalization to protect sensitive information." -msgstr "" - -#: template/about.html.j2:67 -msgid "The GNUnet architecture must be resource efficient." -msgstr "" - -#: template/about.html.j2:68 -msgid "" -"GNUnet must provide incentives for peers to contribute more resources than " -"they consume." -msgstr "" - -#: template/about.html.j2:72 -msgid "" -"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" -"\", explaining the fundamental concepts of GNUnet: " -msgstr "" - -#: template/about.html.j2:88 -msgid "More Resources" -msgstr "" - -#: template/about.html.j2:90 -msgid "" -"There are many more resources to learn about GNUnet besides the handbook, such as the " -"bibliography with papers covering " -"the various layers, many videos or a brief glossary." -msgstr "" - -#: template/about.html.j2:95 -msgid "" -"You are most welcome to get engaged into the " -"conversation, install GNUnet, use it and contribute and get engaged " -"in various ways." -msgstr "" - -#: template/about.html.j2:100 -msgid "" -"Please be aware that this project is (despite of it's age) still in an early " -"alpha stage when it comes to software – its not an easy task to " -"rewrite the whole Internet!" -msgstr "" - -#: template/about.html.j2:105 -msgid "Current funding" -msgstr "" - -#: template/about.html.j2:110 -msgid "" -"We're receiving funding from NLnet's Next Generation Internet funding line " -"to document and implement the GNU Name System protocol in a way suitable for " -"the IETF standardization process." -msgstr "" - -#: template/about.html.j2:123 -msgid "" -"We are grateful for free hosting offered by the following organizations:" -msgstr "" - -#: template/about.html.j2:132 -msgid "Past funding" -msgstr "" - -#: template/about.html.j2:134 -msgid "We are grateful for past funding from the following organizations:" -msgstr "" - -#: template/architecture.html.j2:6 -msgid "GNUnet System Architecture" -msgstr "" - -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:55 -msgid "Foundations" -msgstr "" - -#: template/architecture.html.j2:57 -msgid "" -"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " -"end-to-end encrypted messaging layer (CADET), a public key infrastructure " -"(GNS) and a pluggable transport system (TRANSPORT).
          Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " -"subsystems replace the traditional TCP/IP stack." -msgstr "" - -#: template/architecture.html.j2:70 -msgid "Security" -msgstr "" - -#: template/architecture.html.j2:73 -msgid "" -"GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " -"permissions to be granted to each subsystem. Naturally, the implementation " -"is a GNU package, and will always " -"remain free software." -msgstr "" - -#: template/architecture.html.j2:87 -msgid "System architecture" -msgstr "" - -#: template/architecture.html.j2:93 -msgid "Subsystems" -msgstr "" - -#: template/architecture.html.j2:102 -msgid "libgnunetutil" -msgstr "" - -#: template/architecture.html.j2:108 -msgid "APIs" -msgstr "" - -#: template/contact.html.j2:6 -msgid "Contact information" -msgstr "" - -#: template/contact.html.j2:11 -msgid "The mailing list" -msgstr "" - -#: template/contact.html.j2:13 -msgid "" -"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" -"mailman/listinfo/gnunet-developers. You can send messages to the list at " -"gnunet-developers@gnu.org." -msgstr "" - -#: template/contact.html.j2:23 -msgid "The IRC channel" -msgstr "" - -#: template/contact.html.j2:25 -msgid "" -"#gnunet is reachable via irc." -"freenode.net. There is also an archive available (currently unavailable, we are working on " -"restoring access to it)." -msgstr "" - -#: template/contact.html.j2:38 -msgid "Contacting individuals" -msgstr "" - -#: template/contact.html.j2:40 -msgid "" -"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." -"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " -"encrypted Emails." -msgstr "" - -#: template/contact.html.j2:50 -msgid "Reporting bugs" -msgstr "" - -#: template/contact.html.j2:52 -msgid "" -"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " -"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " -"subscription." -msgstr "" - -#: template/copyright.html.j2:11 -msgid "" -"

          Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " -"development of the GNUnet and GNU Taler projects is satisfied.

          " -msgstr "" - -#: template/copyright.html.j2:22 -msgid "" -"

          The agreements ensure that the code will continue to be made available " -"under free software licenses, but gives developers the freedom to move code " -"between GNUnet and GNU Taler without worrying about licenses and to give the " -"company the ability to dual-license (for example, so that we can distribute " -"via App-stores that are hostile to free software).

          " -msgstr "" - -#: template/copyright.html.j2:30 -msgid "" -"

          Minor contributions (basically, anyone without Git access) do not require " -"copyright assignment. Pseudonymous contributions are accepted, in this case " -"simply sign the agreement with your pseudonym. Scanned copies are " -"sufficient, but snail mail is preferred.

          " -msgstr "" - -#: template/developers.html.j2:5 -msgid "GNUnet for developers" -msgstr "" - -#: template/developers.html.j2:13 -msgid "Repositories" -msgstr "" - -#: template/developers.html.j2:16 -msgid "" -"A list of our Git repositories can be found on our our Git Server." -msgstr "" - -#: template/developers.html.j2:27 -msgid "" -"Technical papers can be found in our bibliography." -msgstr "" - -#: template/developers.html.j2:34 -msgid "Discussion" -msgstr "" - -#: template/developers.html.j2:37 -msgid "" -"We have a mailing list for developer discussions. You can subscribe to or " -"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." -msgstr "" - -#: template/developers.html.j2:47 -msgid "Regression Testing" -msgstr "" - -#: template/developers.html.j2:50 -msgid "" -"We have Buildbot automation tests to " -"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." -msgstr "" - -#: template/developers.html.j2:59 -msgid "Code Coverage Analysis" -msgstr "" - -#: template/developers.html.j2:62 -msgid "" -"We use LCOV to " -"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." -msgstr "" - -#: template/developers.html.j2:72 -msgid "Performance Analysis" -msgstr "" - -#: template/developers.html.j2:75 -msgid "" -"We use Gauger for performance " -"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." -msgstr "" - -#: template/download.html.j2:7 template/gnurl.html.j2:169 -msgid "Downloads" -msgstr "" - -#: template/download.html.j2:11 -msgid "" -"Here you can download releases of our software and find links to the various " -"versions." -msgstr "" - -#: template/download.html.j2:17 -msgid "0.11.x series" -msgstr "" - -#: template/download.html.j2:18 -msgid "tarball" -msgstr "" - -#: template/download.html.j2:20 -msgid "" -"The tarball of the latest version can be obtained from GNU FTP and its " -"mirrors." -msgstr "" - -#: template/download.html.j2:30 -msgid "git" -msgstr "" - -#: template/download.html.j2:32 -msgid "" -"You can fetch the git tag of version 0.11.x from our development server:" -msgstr "" - -#: template/engage.html.j2:6 -msgid "Engage!" -msgstr "" - -#: template/ev.html.j2:6 -msgid "Verein zur Förderung von GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:11 -msgid "About GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:13 -msgid "" -"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " -"\"Verein zur Förderung von GNUnet e.V.\", an association under German " -"law to support GNUnet development. The Amtsgericht München registered " -"the association on the 7th of March under VR 205287." -msgstr "" - -#: template/ev.html.j2:22 -msgid "" -"The association is officially dedicated to supporting research, development " -"and education in the area of secure decentralized networking in general, and " -"GNUnet specifically. This is the official website for the association." -msgstr "" - -#: template/ev.html.j2:31 -msgid "Becoming a Member of GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:33 -msgid "" -"GNUnet developers with git (write) access can become members to participate " -"in the decision process and formally support GNUnet e.V. For this, all you " -"have to do is update the members.txt file in the gnunet-ev repository. There are no " -"membership dues; however, members are required to support GNUnet e.V. and in " -"particularly contribute to the technical development within their means. For " -"further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." -msgstr "" - -#: template/ev.html.j2:52 -msgid "Governance" -msgstr "" - -#: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " -"
          Vorsitz
          Christian Grothoff
          stellvertretender Vorsitz
          xrs
          Kassenwart
          Florian Dold
          Beisitzer
          Lurchi
          " -msgstr "" - -#: template/ev.html.j2:71 -msgid "Official Meeting Notes" -msgstr "" - -#: template/ev.html.j2:84 -msgid "Support Us!" -msgstr "" - -#: template/ev.html.j2:86 -msgid "" -"Everybody is welcome to support us via donations. For financial " -"contributions, Europeans are able to donate via SEPA. We hope to setup " -"accounts in other major currency areas in the future. You can also donate " -"via Bitcoin, routing details are given below. Please note that we are unable " -"to provide receipts for your donations. If you are planning to donate a " -"significant amount of money, please contact us first as it might be better " -"to come to a custom arrangement.
          BitCoin
          " -"
          1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
          SEPA/IBAN
          " -"
          DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
          " -msgstr "" - -#: template/faq.html.j2:12 -msgid "" -"I receive many "WARNING Calculated flow delay for X at Y for Z". " -"Should I worry?" -msgstr "" - -#: template/faq.html.j2:14 -msgid "" -"A: Right now, this is expected and a known cause for high latency in GNUnet. " -"We have started a major rewrite to address this and other problems, but " -"until the Transport Next Generation (TNG) is ready, these warnings are " -"expected." -msgstr "" - -#: template/faq.html.j2:23 -msgid "Is there a graphical user interface?" -msgstr "" - -#: template/faq.html.j2:25 -msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." -msgstr "" - -#: template/glossary.html.j2:12 -msgid "Ego" -msgstr "" - -#: template/glossary.html.j2:14 -msgid "" -"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " -"multiple unlinkable identities, in the sense of alter egos. The ability to " -"have more than one identity is crucial, as we may want to keep our egos for " -"business separate from those we use for political activities or romance.
          " -"Egos in GNUnet are technically equivalent to identities (and the code does " -"not distinguish between them). We simply sometimes use the term \"ego\" to " -"stress that you can have more than one." -msgstr "" - -#: template/glossary.html.j2:27 -msgid "Identity" -msgstr "" - -#: template/glossary.html.j2:29 -msgid "" -"In GNUnet users are identified via a public key, and that public key is then " -"often referred to as the \"Identity\" of the user. However, the concept is " -"not as draconian as it often is in real life where many are forced to have " -"one name, one passport and one unique identification number.
          As long as " -"identities in GNUnet are simply public keys, users are free to create any " -"number of identities, and we call those egos to emphasize the difference. " -"Even though users can create such egos freely, it is possible to have an ego " -"certified by some certification authority, resulting in something that more " -"closely resembles the traditional concept of an identity.
          For example, a " -"university may certify the identities of its students such that they can " -"prove that they are studying. Students may keep their (certified) student " -"identity separate from other egos that they use for other activities in life." -msgstr "" - -#: template/glossary.html.j2:50 -msgid "Pseudonym" -msgstr "" - -#: template/glossary.html.j2:52 -msgid "" -"A pseudonym is an ego that is specifically intended to not be linked to " -"one's real name. GNUnet users can create many egos, and thus also many " -"pseudonyms.
          Repeated uses of the same pseudonym are linkable by " -"definition, as they involve the same public key. Anonymity requires the use " -"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " -"neutral element on the elliptic curve) or a throw-away pseudonym that is " -"only used once." -msgstr "" - -#: template/glossary.html.j2:71 -msgid "Namespaces" -msgstr "" - -#: template/glossary.html.j2:73 -msgid "" -"The GNU Name System allows every ego (or identity) to securely and privately " -"associate any number of label-value pairs with an ego. The values are called " -"record sets following the terminology of the Domain Name System (DNS). The " -"mapping of labels to record sets for a given ego is called a namespace.
          " -"If records are made public and thus published, it is possible for other " -"users to lookup the record given the ego's public key and the label. Here, " -"not only the label can thus act as a passphrase but also the public key -- " -"which despite its name may not be public knowledge and is never disclosed by " -"the GNS protocol itself." -msgstr "" - -#: template/glossary.html.j2:89 -msgid "Peer" -msgstr "" - -#: template/glossary.html.j2:91 -msgid "" -"A \"peer\" is an instance of GNUnet with its own per-instance public key and " -"network addresses. Technically, it is possible to run multiple peers on the " -"same host, but this only makes sense for testing.
          By design GNUnet " -"supports multiple users to share the same peer, just as UNIX is a multi-user " -"system. A \"peer\" typically consists of a set of foundational GNUnet " -"services running as the \"gnunet\" user and allowing all users in the " -"\"gnunet\" group to utilize the API. On multi-user systems, additional " -"\"personalized\" services may be required per user.
          While peers are " -"also identified by public keys, these public keys are completely unrelated " -"to egos or identities. Namespaces cannot be associated with a peer, only " -"with egos." -msgstr "" - -#: template/gnurl.html.j2:20 -msgid "" -"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " -"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " -"ensure a small footprint and uniform experience for developers regardless of " -"how libcurl was compiled.
          Our main usecase is for GNUnet, but it might " -"be usable for others, hence we're releasing the code to the general public." -"
          libgnurl is released under the same license as libcurl. Please read the " -"README for instructions, as you must supply the correct options to configure " -"to get a proper build of libgnurl." -msgstr "" - -#: template/gnurl.html.j2:35 -msgid "About gnurl" -msgstr "" - -#: template/gnurl.html.j2:37 -msgid "" -"Large parts of the following 6 paragraphs are old and need to be rewritten." -msgstr "" - -#: template/gnurl.html.j2:43 -msgid "Motivation" -msgstr "" - -#: template/gnurl.html.j2:45 -msgid "" -"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " -"other variants are used by some distributions. Supporting other crypto " -"backends would again expose us to a wider array of security issues, may " -"create licensing issues and most importantly introduce new bugs as some " -"crypto backends are known to introduce subtle runtime issues. While it is " -"possible to have two versions of libcurl installed on the same system, this " -"is error-prone, especially as if we are linked against the wrong version, " -"the bugs that arise might be rather subtle." -msgstr "" - -#: template/gnurl.html.j2:58 -msgid "" -"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " -"would anyway be necessary to recompile cURL for GNUnet. But what happens if " -"one links cURL against this version of GnuTLS? Well, first one would install " -"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " -"it just fine, but the linker will eventually complain bitterly. The reason " -"is that cURL also links against a bunch of other system libraries (gssapi, " -"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " -"which --- as they are part of the distribution --- were linked against an " -"older version of GnuTLS. As a result, the same binary would be linked " -"against two different versions of GnuTLS. That is typically a recipe for " -"disaster. Thus, in order to avoid updating a dozen system libraries (and " -"having two versions of those installed), it is necessary to disable all of " -"those cURL features that GNUnet does not use, and there are many of those. " -"For GNUnet, the more obscure protocols supported by cURL are close to dead " -"code --- mostly harmless, but not useful. However, as some application may " -"use one of those features, distributions are typically forced to enable all " -"of those features, and thus including security issues that might arise from " -"that code." -msgstr "" - -#: template/gnurl.html.j2:82 -msgid "" -"So to use a modern version of GnuTLS, a sane approach is to disable all of " -"the \"optional\" features of cURL that drag in system libraries that link " -"against the older GnuTLS. That works, except that one should then NEVER " -"install that version of libcurl in say /usr or /usr/local, as that may break " -"other parts of the system that might depend on these features that we just " -"disabled. Libtool versioning doesn't help here, as it is not intended to " -"deal with libraries that have optional features. Naturally, installing cURL " -"somewhere else is also problematic, as we now need to be really careful that " -"the linker will link GNUnet against the right version. Note that none of " -"this can really be trivially fixed by the cURL developers." -msgstr "" - -#: template/gnurl.html.j2:97 -msgid "Rename to fix" -msgstr "" - -#: template/gnurl.html.j2:99 -#, python-format -msgid "" -"How does forking fix it? Easy. First, we can get rid of all of the " -"compatibility issues --- if you use libgnurl, you state that you don't need " -"anything but HTTP/HTTPS. Those applications that need more, should stick " -"with the original cURL. Those that do not, can choose to move to something " -"simpler. As the library gets a new name, we do not have to worry about tons " -"of packages breaking as soon as one rebuilds it. So renaming itself and " -"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" " -"fixes 99%% of the problems that darkened my mood. Note that this pretty much " -"CANNOT be done without a fork, as renaming is an essential part of the fix. " -"Now, there might be creative solutions to achieve the same thing within the " -"standard cURL build system, but I'm not happy to wait for a decade for " -"Daniel to review the patches. The changes libgnurl makes to curl are " -"miniscule and can easily be applied again and again whenever libcurl makes a " -"new release." -msgstr "" - -#: template/gnurl.html.j2:118 -msgid "Using libgnurl" -msgstr "" - -#: template/gnurl.html.j2:120 -msgid "" -"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " -"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " -"That's it. No changes to the source code should be required, as libgnurl " -"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " -"cURL. We might add new features relating to this core subset if they are " -"proposed, but so far we have kept our changes minimal and no additions to " -"the original curl source have been written." -msgstr "" - -#: template/gnurl.html.j2:133 -msgid "Gotchas" -msgstr "" - -#: template/gnurl.html.j2:135 -msgid "" -"libgnurl and gnurl are not intended to be used as a replacement for curl for " -"users. Since no conflicts in filenames should occur you are not expected to " -"remove curl to make use of gnurl and viceversa." -msgstr "" - -#: template/gnurl.html.j2:149 -msgid "You can get the gnurl git repository using:" -msgstr "" - -#: template/gnurl.html.j2:162 -msgid "The versions are checked in as (signed) git tags." -msgstr "" - -#: template/gnurl.html.j2:171 -msgid "" -"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " -"variety of distributions and package managers. Package Managers which " -"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " -"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." -msgstr "" - -#: template/gnurl.html.j2:188 -msgid "Building gnurl" -msgstr "" - -#: template/gnurl.html.j2:190 -msgid "" -"We suggest to closely follow release announcements, as they might indicate " -"changes in how gnurl is to be build.
          If your package manager provides a " -"binary build or build instructions to build gnurl from source automated and " -"integrated with your environment, we strongly suggest to use this binary " -"build.
          There are two ways to build gnurl. The first one builds from the " -"most recent git tag, the second one uses the distributed tarball. " -"Distributors generally are supposed to build from the tarball, but we " -"describe both methods here. Both methods are written with a NetBSD 9 " -"userland in mind, substitute tools as necessary.
          You should avoid building gnurl from the tip of the default git branch, as only tags are " -"considered to be stable and approved builds." -msgstr "" - -#: template/gnurl.html.j2:211 -msgid "Building from the distributed tarball (prefered method)" -msgstr "" - -#: template/gnurl.html.j2:213 -msgid "" -"If you want to verify the signature, install an OpenPGP compatible tool such " -"as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "" - -#: template/gnurl.html.j2:227 -msgid "Fetch the signature key from" -msgstr "" - -#: template/gnurl.html.j2:231 -msgid "or via commandline with gnupg2." -msgstr "" - -#: template/gnurl.html.j2:236 -msgid "" -"Fetch the release, the signature, the checksum file as well as its signature:" -msgstr "" - -#: template/gnurl.html.j2:255 -msgid "" -"verify the signatures, and verify the checksums against the checksums in " -"the .sum.txt file." -msgstr "" - -#: template/gnurl.html.j2:261 -msgid "unpack the tarball:" -msgstr "" - -#: template/gnurl.html.j2:271 -msgid "Change into the directory" -msgstr "" - -#: template/gnurl.html.j2:281 -msgid "Now you can either run" -msgstr "" - -#: template/gnurl.html.j2:291 -msgid "directly (and read configure-gnurl before you do so) or invoke" -msgstr "" - -#: template/gnurl.html.j2:301 -msgid "" -"and pass additional parameters such as a custom PREFIX location. Further " -"reference can be the" -msgstr "" - -#: template/gnurl.html.j2:306 -msgid "Now run" -msgstr "" - -#: template/gnurl.html.j2:316 -msgid "(this is optional)" -msgstr "" - -#: template/gnurl.html.j2:325 -msgid "and you are done." -msgstr "" - -#: template/gnurl.html.j2:329 -msgid "Building from a tagged git commit" -msgstr "" - -#: template/gnurl.html.j2:331 -msgid "" -"Follow the steps above, but instead of downloading the tarball, clone the " -"git tag you want to build from." -msgstr "" - -#: template/gnurl.html.j2:342 -msgid "Reporting Bugs" -msgstr "" - -#: template/gnurl.html.j2:344 -msgid "" -"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " -"we prefer to track bugs on the bugtracker." -msgstr "" - -#: template/gnurl.html.j2:354 -msgid "Maintainer and Cryptographic signatures" -msgstr "" - -#: template/gnurl.html.j2:356 -msgid "" -"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP " -"Key A88C8ADD129828D7EAC02E52E22F9BBFEE348588, with the key " -"fingerprint A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:7 -msgid "GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:11 -msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:17 -msgid "" -"What was done?
          In the context of Google Summer of " -"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and " -"extending the REST API of GNUnet. Currently, we mirrored the functionality " -"of following commands:" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:32 -msgid "" -"Additionally, we developed a website with the Javascript framework Angular 6 " -"and the design framework iotaCSS to use the new REST API. The REST API of " -"GNUnet is now documented with Sphinx." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:40 -msgid "" -"Why did we create a REST API?
          ... when you can use " -"the command line tools?
          We need to keep in mind, that everyone has the " -"right to stay secure and private but not everyone feels comfortable using a " -"terminal. The further developed REST access to GNUnet APIs in addition to " -"the new web application allows new users to interact with GNUnet over a well " -"known tool: their browsers. This addition to the C API and the command line " -"tools may attract new users and developers." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:52 -msgid "" -"How can we use it?
          1. The REST API developed in " -"GNUnet
          The REST API is already merged into the gnunet.git repository " -"(GNUnet Main Git).
          " -"To use the new features, clone the repository and follow the Installation on gnunet.org. Then, " -"start the rest service with \"gnunet-arm -i rest\"." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:63 -msgid "" -"2. The Web Application
          The web application is available under the " -"gnunet-webui.git repository (GNUnet WebUI Git).
          You need to install the newest version " -"of 'node' and 'yarn'. Dependent on your system, you may need to download " -"newer versions and install them manually and not over your packet manager. " -"After the installation succeeded, you need to clone the repository. Then, " -"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To " -"deploy the website (keep in mind, that this website communicates with " -"another localhost instance) use \"yarn build\" for building the web " -"application and use the output in the 'dist' directory." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:80 -msgid "" -"3. The Documentation
          The documentation is available under the gnunet-" -"rest-api.git repository (GNUnet REST API Docmentation Git).
          Clone the repository and " -"\"make html\". Then open the 'index.html' under 'build/html/'." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:91 -msgid "" -"Please, give it a try and contact me, if you find any bugs or unintentional " -"features. ;)" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:97 -msgid "" -"What can be improved?
          Right now, the build process of " -"the web application may be a little too complex for a casual user. We may be " -"able to solve this by using docker.
          Additionally, the web application " -"does not prevent wrong inputs but responds with error messages. Adding " -"GNUnet Records is currently only usable for people, who know how a GNS " -"Record looks like. This can be adapted to each record type.
          Last but " -"not least, additional features, design changes, etc..." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:111 -msgid "Thanks for reading." -msgstr "" - -#: template/gsoc.html.j2:6 -msgid "GNUnet's Google Summer of Code projects" -msgstr "" - -#: template/gsoc.html.j2:12 template/gsoc.html.j2:28 -msgid "Current projects" -msgstr "" - -#: template/gsoc.html.j2:13 template/gsoc.html.j2:30 -msgid "Past projects" -msgstr "" - -#: template/gsoc.html.j2:14 template/gsoc.html.j2:553 -msgid "Finished projects" -msgstr "" - -#: template/gsoc.html.j2:21 -msgid "" -"As a GNU project, GNUnet has participated in the Google Summer of Code " -"(GSoC) for a number of years. This page lists all current, past, and " -"finished projects." -msgstr "" - -#: template/gsoc.html.j2:37 -msgid "" -"It is time for GNUnet to run properly on Android. Note that GNUnet is " -"written in C, and this is not about rewriting GNUnet in Java, but about " -"getting the C code to run on Android." -msgstr "" - -#: template/gsoc.html.j2:44 -msgid "" -"Mentors: Hartmut " -"Goebel" -msgstr "" - -#: template/gsoc.html.j2:53 -msgid "" -"There is a push for migrating our CI to Gitlab. The CI should eventually not " -"just run \"make check\" on various platforms, but also perform tests with " -"multiple peers running in different VMs with specific network topologies (i." -"e. NAT) between them being simulated. The CI should also be integrated with " -"Gauger for performance regression analysis. Running jobs only when " -"dependencies have changed and scripting more granular triggers or ideally " -"automatic dependency discovery (as done by the autotools) is also important." -msgstr "" - -#: template/gsoc.html.j2:65 -msgid "Mentors: TBD" -msgstr "" - -#: template/gsoc.html.j2:74 -msgid "" -"reclaimID is a decentralized identity system build on top of the GNU Name " -"System. Upon authorization, the user provides a requesting party (RP) such " -"as a website with an authorization ticket (e.g. piggybacked in an OpenID " -"authorization code). The RP uses information contained in this ticket to " -"
          1. Retrieve the decryption key from GNS
          2. Retrieve the user " -"attributes from GNS
          The GNS lookups ensure that the RP receives " -"up-to-date attributes and functional decryption keys. However, in particular " -"the RP-specific encryption key resolution can be slow and even fail " -"depending on the network topology. We propose that in an initial exchange, " -"in particular OpenID authorization code flows, we try to incorporate key and " -"maybe even an attribute set in the ticket exchange. In order to mitigate " -"this issue, this project is meant to investigate and implement how...
            " -"
          1. ... decryption keys can be added to an initial exchange in OpenID.
          2. " -"
          3. ... initial set(s) of attributes can be piggybacked in OpenID.

          4. Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:105 -msgid "" -"re:claimID is a decentralized identity system build on top of the GNU Name " -"System. The initial design and implementation of re:claimID includes an " -"attribute-based encryption module in order to prevent unauthorized access to " -"attributes in the name system. Our motivation for re:claimID was for it to " -"be name system agnostic, which means the design theoretically also works for " -"other name systems such as namecoin. Other name systems often do not have " -"built-in mechanisms in order to do this. Hence, we implemented an ABE access " -"control layer. Our ABE implementation requires two third party libraries: " -"libpbc and libgabe. While we could merge libgabe into the gnunet service " -"implementation of re:claimID, libpbc is a rather large, third party library " -"which lacks packaging in distributions and for platforms. On the other hand, " -"GNS supports record data encryption using symmetric keys as labels. If we " -"make the access control layer of re:claimID more generic in order to support " -"both ABE and GNS encryption, we could reduce the required depenencies. This " -"would result in gnunet packages to include re:claimID by default. In short, " -"the goals are to...
            1. ... improve performance by reducing encryption " -"overhead.
            2. ... reduce dependencies.

            " -"Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:140 -msgid "" -"One great problem of the current Internet is the lack of disintermediation. " -"When people want to talk they need a chat service. When they want to share " -"files they need a file transfer service. Although GNUnet already possesses " -"quite advanced integration into Linux networking, a little extra work is " -"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " -"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " -"Once people have added a person to their GNS they can immediately message, " -"exchange files and suchlike directly, with nothing but the GNUnet in the " -"middle, using applications that have been distributed with unix systems ever " -"since the 1980's. We can produce an OS distribution where these things work " -"out of the box with the nicknames of people instead of cloud services. For " -"more information and context, read" -msgstr "" - -#: template/gsoc.html.j2:161 -msgid "Mentors: lynX & dvn" -msgstr "" - -#: template/gsoc.html.j2:169 -msgid "" -"There are a variety of GNUNet APIs that should be exposed in the Rust " -"wrappers. Implementing these will require extending the port of GNUNet utils " -"written by Andrew Cann and Kelong Cong." -msgstr "" - -#: template/gsoc.html.j2:177 -msgid "" -"As an introduction to the code base, we suggest that the student and Jeff " -"Burdges together update the asynchronous IO system from gjio to futures-rs " -"or another layer built upon it. Jeff Burdges is expected to concurrently be " -"implementing a GNUNet API for his own mix network work." -msgstr "" - -#: template/gsoc.html.j2:187 template/gsoc.html.j2:211 -#: template/gsoc.html.j2:265 template/gsoc.html.j2:295 -#: template/gsoc.html.j2:539 -msgid "Mentors: Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:192 -msgid "Required Skills: Rust" -msgstr "" - -#: template/gsoc.html.j2:197 -msgid "Difficulty level: low" -msgstr "" - -#: template/gsoc.html.j2:205 -msgid "" -"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." -msgstr "" - -#: template/gsoc.html.j2:216 -msgid "" -"Note: There was a Special TLDs spec to allow Tor to resolve domain names " -"using GNS over Tor too, but currently that's on hold until folks think more " -"about how names should be moved around the local system. We're calling this " -"more collaborative approach NSS2 for now." -msgstr "" - -#: template/gsoc.html.j2:225 template/gsoc.html.j2:399 -#: template/gsoc.html.j2:439 template/gsoc.html.j2:469 -msgid "Required Skills: C" -msgstr "" - -#: template/gsoc.html.j2:230 template/gsoc.html.j2:474 -#: template/gsoc.html.j2:619 -msgid "Difficulty level: medium" -msgstr "" - -#: template/gsoc.html.j2:238 -msgid "" -"Design and implementation of REST APIs " -"that expose the GNUnet API so that easy, hands-on development is possible. Also, " -"browser-based UIs will be much easier to create on top of REST APIs." -msgstr "" - -#: template/gsoc.html.j2:249 template/gsoc.html.j2:609 -msgid "Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:257 -msgid "" -"Improve the Rust implementation of GNUnet utils, possibly including adding " -"support for asynchronous IO using mio, or perhaps a higher level " -"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " -"gj." -msgstr "" - -#: template/gsoc.html.j2:273 -msgid "" -"Implement rudimentary Android compatibility for GNUnet, in part by porting " -"the GNUnet utils scheduler to act as a thin wrapper over libuv." -msgstr "" - -#: template/gsoc.html.j2:280 -msgid "Mentors: Jeff Burdges and Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:288 template/gsoc.html.j2:532 -msgid "" -"Implementation of a replacement for PANDA (see Pond) with better security, " -"and maybe integration with the GNU Name System for key exchange." -msgstr "" - -#: template/gsoc.html.j2:300 -msgid "Required Skills: Rust or C, crypto" -msgstr "" - -#: template/gsoc.html.j2:305 template/gsoc.html.j2:362 -#: template/gsoc.html.j2:404 template/gsoc.html.j2:444 -msgid "Difficulty level: high" -msgstr "" - -#: template/gsoc.html.j2:313 -msgid "" -"Implement different place types and file sharing by creating a new place for " -"the shared content." -msgstr "" - -#: template/gsoc.html.j2:319 -msgid "Place types to be implemented:" -msgstr "" - -#: template/gsoc.html.j2:323 -msgid "" -"
            • File: generic file with comments
            • Image: display an image " -"with comments referencing a region of the image
            • Sound: play a sound " -"file with comments referencing a timestamp
            • Directory/Album: " -"pointers to File / Image / Sound places
            • Event: with RSVP
            • " -"
            • Survey: ask your social neighborhood questions in a structured form
            • " -"
            " -msgstr "" - -#: template/gsoc.html.j2:334 -msgid "Also provide the following UI functionality:" -msgstr "" - -#: template/gsoc.html.j2:338 -msgid "" -"
            • Fork existing channels, reorganize people into new chatrooms or " -"channels.
            • Share a post (edit and repost something elsewhere, on a " -"fan page for example).
            • Edit a previously published post + offer " -"edit history to readers.
            • Control expiry of channel history.
            • " -msgstr "" - -#: template/gsoc.html.j2:347 -msgid "" -"See also http://secushare.org/" -"features" -msgstr "" - -#: template/gsoc.html.j2:352 -msgid "Mentors: lynX" -msgstr "" - -#: template/gsoc.html.j2:357 -msgid "Required Skills: C/C++" -msgstr "" - -#: template/gsoc.html.j2:370 -msgid "" -"Implement aggregation of distributed state from various channels in order to " -"provide for a powerful social graph API capable of producing social network " -"profiles, dashboards, a calendar out of upcoming event invitations (if " -"available), social search functionality and most of all to make it easy for " -"users to adopt cryptographic identities of their contacts/friends simply by " -"finding them in the social graph of their existing contacts (\"This is " -"Linda. You have 11 contacts in common with her. [ADD]\")." -msgstr "" - -#: template/gsoc.html.j2:388 -msgid "" -"Related to secushare.org/" -"rendezvous" -msgstr "" - -#: template/gsoc.html.j2:394 template/gsoc.html.j2:434 -msgid "Mentors: t3sserakt, lynX" -msgstr "" - -#: template/gsoc.html.j2:411 -msgid "" -"
              • Emulate IMAP/SMTP protocols as necessary to transform traditional " -"mail clients into secushare user interfaces.
              • Think of ways to map " -"e-mail addresses to secushare identities.
              • Encode or translate " -"various e-mail features into secushare equivalents.
              • Parts of " -"secushare are currently written in Rust, therefore Rust is preferred for " -"this task but it is not an requirement.
              " -msgstr "" - -#: template/gsoc.html.j2:452 -msgid "" -"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " -"Specific tasks are adding smart contract creation and round time enforcement " -"to libbrandt as well as creating the GNUnet auction service, library and the " -"three user interface programs create, info and join." -msgstr "" - -#: template/gsoc.html.j2:464 -msgid "Mentors: mate, cg" -msgstr "" - -#: template/gsoc.html.j2:482 -msgid "" -"Implementation of additional transports to make GNUnet communication more " -"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" -"over-DNS" -msgstr "" - -#: template/gsoc.html.j2:489 template/gsoc.html.j2:503 -msgid "Mentors: Matthias Wachs" -msgstr "" - -#: template/gsoc.html.j2:497 -msgid "" -"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " -"punching, better STUN support)" -msgstr "" - -#: template/gsoc.html.j2:511 -msgid "" -"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:519 -msgid "" -"Improving libaboss to make computation on shared secrets (including repeated " -"multiplication) based on Ben-Or et al. if possible. This in particular means " -"moving libaboss to bignums (gcry_mpi)." -msgstr "" - -#: template/gsoc.html.j2:547 -msgid "" -"Please refer to the description for this project listed under GNU Guix " -"project ideas." -msgstr "" - -#: template/gsoc.html.j2:559 -msgid "" -"Python 2.7 is reaching its end-of-life, and we want to get rid of the " -"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " -"around python-zbar, which itself wraps libzbar. The goal of this project is " -"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " -"(see also #5562)." -msgstr "" - -#: template/gsoc.html.j2:569 -msgid "Mentors: Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:574 -msgid "Required Skills:" -msgstr "" - -#: template/gsoc.html.j2:579 -msgid "Difficulty level:" -msgstr "" - -#: template/gsoc.html.j2:584 -msgid "Report:" -msgstr "" - -#: template/gsoc.html.j2:589 -msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." -msgstr "" - -#: template/gsoc.html.j2:599 -msgid "" -"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " -"to be determined framework such as Angular2. This includes the design and " -"implementation of not yet existing REST " -"APIs that expose the GNUnet API." -msgstr "" - -#: template/gsoc.html.j2:614 -msgid "Required Skills: C, JavaScript, CSS" -msgstr "" - -#: template/gsoc.html.j2:624 -msgid "" -"Report: GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/index.html.j2:19 -msgid "" -"GNUnet is a new network protocol stack for building secure, distributed, and " -"privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol " -"stack." -msgstr "" - -#: template/index.html.j2:29 -msgid "" -"GNUnet is typically run as an overlay network on top of the existing Internet " -"infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It " -"could just as well be run independently of the Internet, over dedicated radio and cable." -msgstr "" - -#: template/index.html.j2:38 -msgid "" -"GNUnet is made for a free and open society: It's a self-organizing " -"network and it is free software as in freedom. GNUnet puts you in control of your data. " -"You determine which data to share with whom, and you're not pressured to " -"accept compromises." -msgstr "" - -#: template/index.html.j2:89 -msgid "The Internet of tomorrow needs GNUnet today" -msgstr "" - -#: template/index.html.j2:95 -msgid "Imagine..." -msgstr "" - -#: template/index.html.j2:97 -msgid "" -"The conventional Internet is currently like a system of roads with deep " -"potholes and highwaymen all over the place. Even if you still can use the " -"roads (e.g. send emails, or browse websites) your vehicle might get " -"hijacked, damaged, or long arms might reach into its back and steal your " -"items (data) to use it against you and sell it to others - while you can'" -"t even notice the thievery nor accuse and hold the scroungers accountable. " -"" -msgstr "" - -#: template/index.html.j2:121 -msgid "The Internet is broken" -msgstr "" - -#: template/index.html.j2:123 -msgid "" -"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: " -"protecting against address forgery, routers learning metadata, or choosing " -"trustworthy CAs is nontrivial and sometimes impossible. " -msgstr "" - -#: template/index.html.j2:137 -msgid "" -"GNUnet provides privacy by design, improving addressing, routing, naming and content " -"distribution in a technically robust manner - as opposed to ad-hoc designs " -"in place today. " -msgstr "" - -#: template/index.html.j2:155 -msgid "Decentralization is hard" -msgstr "" - -#: template/index.html.j2:158 -msgid "" -" Instead of sharing common components and tools for " -"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " -"potential number of vulnerabilities." -msgstr "" - -#: template/index.html.j2:174 -msgid "" -"GNUnet is a metadata-preserving foundation for your application, covering " -"areas from addressing to reliable bidirectional Axolotl-encrypted channels, " -"with advanced routing. Our work is based on continuous research spanning " -"almost two decades." -msgstr "" - -#: template/index.html.j2:188 -msgid "Metadata is exposed" -msgstr "" - -#: template/index.html.j2:190 -msgid "" -"Your metadata is just as revealing as the actual content; and it gets " -"exposed on the Internet.
              Even though transport encryption is " -"increasingly being deployed on the Internet, it still reveals data that can " -"threaten democracy: the identities of senders and receivers, the times, " -"frequency and the volume of communication are all still revealed.
              GNUnet addresses these concerns with " -"perfect forward secrecy via ephemeral public key addressing, fixed packet " -"size to hinder traffic analysis, layered encryption, Sybil-resistant " -"routing, and more." -msgstr "" - -#: template/index.html.j2:213 -msgid "Freedoms are not respected" -msgstr "" - -#: template/index.html.j2:215 -msgid "" -"Today, monitoring increasingly centralized infrastructure, proprietary " -"implementations, traffic shapers and firewalls restrict all of the essential freedoms to " -"various degrees." -msgstr "" - -#: template/index.html.j2:224 -msgid "" -"GNUnet gives users freedoms to securely access information (\"run\" the " -"network), to study all aspects of the network's operation (\"access the " -"code\"), to distribute information (\"copy\"), as well as the freedom to " -"deploy new applications (\"modify\")." -msgstr "" - -#: template/index.html.j2:236 -msgid "Learn more about GNUnet" -msgstr "" - -#: template/index.html.j2:238 -msgid "" -"If you want to know more about the GNUnet please continue reading the about page. There are much more resources, such as " -"the main handbook / reference manual, a bibliography and videos." -msgstr "" - -#: template/index.html.j2:247 -msgid "" -"You are very welcome to get " -"engaged into the conversation, install GNUnet, use " -"it and contribute. " -"
              Be aware that this project is still in an early alpha stage when it " -"comes to software – it is not an easy task to rewrite the whole " -"Internet!" -msgstr "" - -#: template/index.html.j2:269 -msgid "Featured Applications" -msgstr "" - -#: template/index.html.j2:275 -msgid "GNU Taler (Alpha)" -msgstr "" - -#: template/index.html.j2:277 -msgid "" -"GNU Taler is a new privacy-preserving " -"electronic payment system. Payments are cryptographically secured and are " -"confirmed within milliseconds with extremely low transaction costs." -msgstr "" - -#: template/index.html.j2:289 -msgid "The GNU Name System" -msgstr "" - -#: template/index.html.j2:292 -msgid "" -" The GNU " -"Name System (GNS) is a fully decentralized replacement for the Domain " -"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. " -"Naming conventions are similar to DNS, but queries and replies are private " -"even with respect to peers providing the answers. The integrity of records " -"and privacy of look-ups is cryptographically secured. " -msgstr "" - -#: template/index.html.j2:309 -msgid "re:claimID" -msgstr "" - -#: template/index.html.j2:311 -msgid "" -"re:claimID is a decentralized " -"Identity Provider (IdP) service built in top of the GNU Name System. It " -"allows users to securely share personal information with websites using " -"standardized protocols (OpenID Connect)." -msgstr "" - -#: template/index.html.j2:324 -msgid "Filesharing (Alpha)" -msgstr "" - -#: template/index.html.j2:326 -msgid "" -"GNUnet filesharing is an application that aims " -"to provide censorship-resistant, anonymous filesharing. The publisher is " -"empowered to make a gradual choice between performance and anonymity." -msgstr "" - -#: template/index.html.j2:337 -msgid "Conversation (Pre-Alpha)" -msgstr "" - -#: template/index.html.j2:339 -msgid "" -"GNUnet conversation is an application that provides secure voice " -"communication in a fully decentralized way by employing GNUnet for routing " -"and transport." -msgstr "" - -#: template/index.html.j2:355 -msgid "Upcoming Applications" -msgstr "" - -#: template/index.html.j2:361 -msgid "secushare" -msgstr "" - -#: template/index.html.j2:363 -msgid "" -"secushare is creating a decentralized " -"social networking application on top of GNUnet. Using overlay multicast and " -"the extensible PSYC protocol, notifications are distributed end-to-end " -"encrypted to authorized recipients only." -msgstr "" - -#: template/index.html.j2:375 -msgid "pretty Easy privacy" -msgstr "" - -#: template/index.html.j2:377 -msgid "" -"pretty Easy privacy (p≡p) is " -"creating a usable end-to-end encrypted e-mail solution using opportunistic " -"key exchange. p≡p will use GNUnet to protect metadata and exploit new " -"cryptographic protocols to verify keys." -msgstr "" - -#: template/install-on-archpi.html.j2:6 -msgid "Tutorial: GNUnet on Arch Linux/Pi" -msgstr "" - -#: template/install-on-archpi.html.j2:16 -msgid "Requirements for Raspberry Pi 3" -msgstr "" - -#: template/install-on-archpi.html.j2:40 -msgid "Get the Source Code" -msgstr "" - -#: template/install-on-archpi.html.j2:62 -#: template/install-on-debian9.html.j2:130 -msgid "In Addition: gnunet-gtk" -msgstr "" - -#: template/install-on-archpi.html.j2:79 -msgid "Run" -msgstr "" - -#: template/install-on-archpi.html.j2:131 -msgid "Make sure, it works!" -msgstr "" - -#: template/install-on-debian9.html.j2:6 -msgid "Tutorial: GNUnet on Debian 9" -msgstr "" - -#: template/install-on-debian9.html.j2:9 -#: template/install-on-ubuntu1804.html.j2:9 -msgid "Introduction" -msgstr "" - -#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 -#: template/install-on-netbsd.html.j2:19 -#: template/install-on-ubuntu1804.html.j2:26 -msgid "Requirements" -msgstr "" - -#: template/install-on-debian9.html.j2:45 -#: template/install-on-ubuntu1804.html.j2:41 -msgid "Make an installation directory" -msgstr "" - -#: template/install-on-debian9.html.j2:59 -#: template/install-on-macos.html.j2:134 -#: template/install-on-netbsd.html.j2:224 -#: template/install-on-ubuntu1804.html.j2:53 -msgid "Get the source code" -msgstr "" - -#: template/install-on-debian9.html.j2:78 -#: template/install-on-macos.html.j2:142 -#: template/install-on-netbsd.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:61 -msgid "Compile and Install" -msgstr "" - -#: template/install-on-debian9.html.j2:103 -#: template/install-on-ubuntu1804.html.j2:70 -msgid "Option 1: GNUnet for testing / usage" -msgstr "" - -#: template/install-on-debian9.html.j2:116 -#: template/install-on-ubuntu1804.html.j2:82 -msgid "Option 2: GNUnet for development" -msgstr "" - -#: template/install-on-debian9.html.j2:153 -#: template/install-on-ubuntu1804.html.j2:97 -msgid "Install GNUnet plugin for name resolution" -msgstr "" - -#: template/install-on-debian9.html.j2:207 -#: template/install-on-ubuntu1804.html.j2:134 -msgid "Create configuration file" -msgstr "" - -#: template/install-on-debian9.html.j2:227 -#: template/install-on-ubuntu1804.html.j2:156 -msgid "Use GNUnet!" -msgstr "" - -#: template/install-on-debian9.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:162 -msgid "Uninstall GNUnet and its dependencies" -msgstr "" - -#: template/install-on-macos.html.j2:6 -msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" -msgstr "" - -#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30 -msgid "Installation" -msgstr "" - -#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102 -msgid "First steps" -msgstr "" - -#: template/install-on-macos.html.j2:109 -#: template/install-on-netbsd.html.j2:182 -msgid "Alternative: Installation from source" -msgstr "" - -#: template/install-on-macos.html.j2:154 -#: template/install-on-netbsd.html.j2:242 -msgid "Option 1: GNUnet for production / usage" -msgstr "" - -#: template/install-on-macos.html.j2:187 -#: template/install-on-netbsd.html.j2:267 -msgid "Option 2: GNUnet experimental" -msgstr "" - -#: template/install-on-netbsd.html.j2:6 -msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" -msgstr "" - -#: template/install-on-ubuntu1804.html.j2:6 -msgid "Tutorial: GNUnet on Ubuntu 18.04" -msgstr "" - -#: template/install.html.j2:11 -msgid "" -"

              The following GNUnet installation instructions help you building from " -"source for your distribution.

              Please note that the installation " -"process will get much easier once we have proper packages again (planned for " -"winter 2019).

              You have already installed GNUnet and want to use " -"it? Check this out!

              " -msgstr "" - -#: template/install.html.j2:19 -msgid "" -"

              Please be aware that this project is still in an early alpha stage when " -"it comes to running software – its not an easy task to rewrite the " -"whole Internet! We are happy to get your helping " -"hand anytime!

              Further information is available in our handbook.

              If you " -"have any queries about the installation or the usage, please get in touch!

              " -msgstr "" - -#: template/use.html.j2:6 -msgid "How to use GNUnet - in a nutshell" -msgstr "" - -#: template/use.html.j2:12 template/use.html.j2:123 -msgid "Filesharing" -msgstr "" - -#: template/use.html.j2:13 -msgid "CADET" -msgstr "" - -#: template/use.html.j2:14 -msgid "Minimal Groupchat" -msgstr "" - -#: template/use.html.j2:15 -msgid "GNS with CLI" -msgstr "" - -#: template/use.html.j2:16 -msgid "GNS with Browser" -msgstr "" - -#: template/use.html.j2:17 template/use.html.j2:441 -msgid "VPN" -msgstr "" - -#: template/use.html.j2:18 template/use.html.j2:501 -msgid "Conversation" -msgstr "" - -#: template/use.html.j2:19 template/use.html.j2:512 -msgid "Trouble Shooting" -msgstr "" - -#: template/use.html.j2:34 -msgid "Get on GNUnet" -msgstr "" - -#: template/use.html.j2:78 -msgid "Get off GNUnet" -msgstr "" - -#: template/use.html.j2:88 -msgid "Make sure your GNUnet installation works..." -msgstr "" - -#: template/use.html.j2:105 -msgid "... and play around with it." -msgstr "" - -#: template/use.html.j2:181 -msgid "CADET (and Chat)" -msgstr "" - -#: template/use.html.j2:215 -msgid "Chatting with a (simple) client" -msgstr "" - -#: template/use.html.j2:289 -msgid "Name resolution using GNS on the command line" -msgstr "" - -#: template/use.html.j2:361 -msgid "Name resolution using GNS with a browser" -msgstr "" - -#: template/use.html.j2:514 -msgid "You can't reach other people's nodes" -msgstr "" - -#: template/use.html.j2:550 -msgid "OMG you guys broke my internet" -msgstr "" - -#: template/video.html.j2:12 -msgid "Videos related to GNUnet" -msgstr "" #~ msgid "_project_title" #~ msgstr "GNUnet is the Next Generation Internet" diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index 9c44b69d..13e165e9 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -18,1949 +18,123 @@ msgstr "" "Language: es\n" "Generated-By: Babel 2.4.0\n" -#: common/base.j2:5 common/news.j2:5 -msgid "GNUnet" -msgstr "" - -#: common/base.j2:6 common/news.j2:6 -msgid "GNU's framework for secure p2p networking" -msgstr "" - -#: common/footer.j2.inc:7 -msgid "Contact" -msgstr "Contacto" +#~ msgid "Contact" +#~ msgstr "Contacto" -#: common/footer.j2.inc:8 common/navigation.j2.inc:48 -msgid "GNUnet e.V." -msgstr "GNUnet a. r." +#~ msgid "GNUnet e.V." +#~ msgstr "GNUnet a. r." -#: common/footer.j2.inc:9 template/about.html.j2:6 -msgid "About GNUnet" -msgstr "Sobre GNUnet" +#~ msgid "About GNUnet" +#~ msgstr "Sobre GNUnet" -#: common/footer.j2.inc:14 common/navigation.j2.inc:61 -msgid "Bug Tracker" -msgstr "Herramienta de seguimiento de errores" +#~ msgid "Bug Tracker" +#~ msgstr "Herramienta de seguimiento de errores" -#: common/footer.j2.inc:19 template/copyright.html.j2:6 -msgid "Copyright Assignment" -msgstr "Transmisión de derechos de autor" +#~ msgid "Copyright Assignment" +#~ msgstr "Transmisión de derechos de autor" -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 -#: template/developers.html.j2:24 -msgid "Bibliography" -msgstr "Bibliografía" - -#: common/footer.j2.inc:31 -msgid "Source code of this site." -msgstr "" - -#: common/footer.j2.inc:32 -msgid "Report issues with this website." -msgstr "" +#~ msgid "Bibliography" +#~ msgstr "Bibliografía" -#: common/navigation.j2.inc:38 template/index.html.j2:51 -msgid "About" -msgstr "Sobre" +#~ msgid "About" +#~ msgstr "Sobre" -#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 -msgid "News" -msgstr "Nuevo" +#~ msgid "News" +#~ msgstr "Nuevo" -#: common/navigation.j2.inc:43 -msgid "Community" -msgstr "Comunidad" +#~ msgid "Community" +#~ msgstr "Comunidad" -#: common/navigation.j2.inc:46 template/index.html.j2:55 -msgid "Engage" -msgstr "Participa" +#~ msgid "Engage" +#~ msgstr "Participa" -#: common/navigation.j2.inc:47 -msgid "GSoC Projects" -msgstr "Projectos de GSoC" +#~ msgid "GSoC Projects" +#~ msgstr "Projectos de GSoC" -#: common/navigation.j2.inc:49 -msgid "Copyright for Contributors" -msgstr "Derecho de autor para contributores" +#~ msgid "Copyright for Contributors" +#~ msgstr "Derecho de autor para contributores" -#: common/navigation.j2.inc:50 -msgid "IRC Archive" -msgstr "Archivo de IRC" +#~ msgid "IRC Archive" +#~ msgstr "Archivo de IRC" -#: common/navigation.j2.inc:57 -msgid "Development" -msgstr "Desarrollo" +#~ msgid "Development" +#~ msgstr "Desarrollo" -#: common/navigation.j2.inc:60 -msgid "System Architecture" -msgstr "Architectura del sistema" +#~ msgid "System Architecture" +#~ msgstr "Architectura del sistema" -#: common/navigation.j2.inc:62 template/gnurl.html.j2:147 -msgid "Source Code" -msgstr "Códico fuente" +#~ msgid "Source Code" +#~ msgstr "Códico fuente" -#: common/navigation.j2.inc:63 #, fuzzy -#| msgid "Documentation" -msgid "Source Code Documentation" -msgstr "Documentación" +#~| msgid "Documentation" +#~ msgid "Source Code Documentation" +#~ msgstr "Documentación" -#: common/navigation.j2.inc:66 -msgid "Continuous Integration" -msgstr "Integración continua" +#~ msgid "Continuous Integration" +#~ msgstr "Integración continua" -#: common/navigation.j2.inc:68 #, fuzzy -#| msgid "Development" -msgid "Development Tutorial" -msgstr "Desarrollo" - -#: common/navigation.j2.inc:79 -msgid "Documentation" -msgstr "Documentación" - -#: common/navigation.j2.inc:82 template/index.html.j2:53 -#: template/install.html.j2:6 -msgid "Install" -msgstr "Instala" - -#: common/navigation.j2.inc:83 -msgid "Use" -msgstr "Usa" - -#: common/navigation.j2.inc:84 -msgid "Videos" -msgstr "Videos" - -#: common/navigation.j2.inc:85 template/glossary.html.j2:6 -msgid "Glossary" -msgstr "Glosario" - -#: common/navigation.j2.inc:86 -msgid "Handbook" -msgstr "Manual" - -#: common/navigation.j2.inc:87 -msgid "REST API" -msgstr "REST API" - -#: common/navigation.j2.inc:88 -msgid "FAQ" -msgstr "FAQ" - -#: inc/news.macro.j2:10 -msgid "read more" -msgstr "" - -#: template/about.html.j2:11 -msgid "What is GNUnet?" -msgstr "Qué es GNUnet?" - -#: template/about.html.j2:13 -msgid "" -"GNUnet is an alternative network stack for building secure, decentralized " -"and privacy-preserving distributed applications. Our goal is to replace the " -"old insecure Internet protocol stack. Starting from an application for " -"secure publication of files, it has grown to include all kinds of basic " -"protocol components and applications towards the creation of a GNU internet." -msgstr "" - -#: template/about.html.j2:23 -msgid "" -"Today, the actual use and thus the social requirements for a global network " -"differs widely from those goals of 1970. While the Internet remains suitable " -"for military use, where the network equipment is operated by a command " -"hierarchy and when necessary isolated from the rest of the world, the " -"situation is less tenable for civil society." -msgstr "" - -#: template/about.html.j2:32 -msgid "" -"Due to fundamental Internet design choices, Internet traffic can be " -"misdirected, intercepted, censored and manipulated by hostile routers on the " -"network. And indeed, the modern Internet has evolved exactly to the point " -"where, as Matthew Green put it, \"the " -"network is hostile\"." -msgstr "" - -#: template/about.html.j2:41 -msgid "" -"We believe liberal societies need a network architecture that uses the anti-" -"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " -"cryptographic protocols. The goal of the GNUnet project is to provide a Free " -"Software realization of this ideal." -msgstr "" - -#: template/about.html.j2:49 -msgid "" -"Specifically, GNUnet tries to follow the following design principles, in " -"order of importance:" -msgstr "" - -#: template/about.html.j2:56 -msgid "" -"GNUnet must be implemented as Free Software." -msgstr "" - -#: template/about.html.j2:60 -msgid "" -"GNUnet must minimize the amount of personally identifiable information " -"exposed." -msgstr "" - -#: template/about.html.j2:61 -msgid "" -"GNUnet must be fully distributed and resilient to external attacks and rogue " -"participants." -msgstr "" - -#: template/about.html.j2:62 -msgid "" -"GNUnet must be self-organizing and not depend on administrators or " -"centralized infrastructure." -msgstr "" - -#: template/about.html.j2:63 -msgid "" -"GNUnet must inform the user which other participants have to be trusted when " -"establishing private communications." -msgstr "" - -#: template/about.html.j2:64 -msgid "GNUnet must be open and permit new peers to join." -msgstr "" - -#: template/about.html.j2:65 -msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" - -#: template/about.html.j2:66 -msgid "GNUnet must use compartmentalization to protect sensitive information." -msgstr "" - -#: template/about.html.j2:67 -msgid "The GNUnet architecture must be resource efficient." -msgstr "" - -#: template/about.html.j2:68 -msgid "" -"GNUnet must provide incentives for peers to contribute more resources than " -"they consume." -msgstr "" - -#: template/about.html.j2:72 -msgid "" -"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" -"\", explaining the fundamental concepts of GNUnet: " -msgstr "" - -#: template/about.html.j2:88 -msgid "More Resources" -msgstr "" - -#: template/about.html.j2:90 -msgid "" -"There are many more resources to learn about GNUnet besides the handbook, such as the " -"bibliography with papers covering " -"the various layers, many videos or a brief glossary." -msgstr "" - -#: template/about.html.j2:95 -msgid "" -"You are most welcome to get engaged into the " -"conversation, install GNUnet, use it and contribute and get engaged " -"in various ways." -msgstr "" - -#: template/about.html.j2:100 -msgid "" -"Please be aware that this project is (despite of it's age) still in an early " -"alpha stage when it comes to software – its not an easy task to " -"rewrite the whole Internet!" -msgstr "" - -#: template/about.html.j2:105 -msgid "Current funding" -msgstr "" - -#: template/about.html.j2:110 -msgid "" -"We're receiving funding from NLnet's Next Generation Internet funding line " -"to document and implement the GNU Name System protocol in a way suitable for " -"the IETF standardization process." -msgstr "" - -#: template/about.html.j2:123 -msgid "" -"We are grateful for free hosting offered by the following organizations:" -msgstr "" - -#: template/about.html.j2:132 -msgid "Past funding" -msgstr "" - -#: template/about.html.j2:134 -msgid "We are grateful for past funding from the following organizations:" -msgstr "" - -#: template/architecture.html.j2:6 -msgid "GNUnet System Architecture" -msgstr "" - -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:55 -msgid "Foundations" -msgstr "" - -#: template/architecture.html.j2:57 -msgid "" -"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " -"end-to-end encrypted messaging layer (CADET), a public key infrastructure " -"(GNS) and a pluggable transport system (TRANSPORT).
              Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " -"subsystems replace the traditional TCP/IP stack." -msgstr "" - -#: template/architecture.html.j2:70 -msgid "Security" -msgstr "" - -#: template/architecture.html.j2:73 -msgid "" -"GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " -"permissions to be granted to each subsystem. Naturally, the implementation " -"is a GNU package, and will always " -"remain free software." -msgstr "" - -#: template/architecture.html.j2:87 -msgid "System architecture" -msgstr "" - -#: template/architecture.html.j2:93 -msgid "Subsystems" -msgstr "" - -#: template/architecture.html.j2:102 -msgid "libgnunetutil" -msgstr "" - -#: template/architecture.html.j2:108 -msgid "APIs" -msgstr "" - -#: template/contact.html.j2:6 -msgid "Contact information" -msgstr "" - -#: template/contact.html.j2:11 -msgid "The mailing list" -msgstr "" - -#: template/contact.html.j2:13 -msgid "" -"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" -"mailman/listinfo/gnunet-developers. You can send messages to the list at " -"gnunet-developers@gnu.org." -msgstr "" - -#: template/contact.html.j2:23 -msgid "The IRC channel" -msgstr "" - -#: template/contact.html.j2:25 -msgid "" -"#gnunet is reachable via irc." -"freenode.net. There is also an archive available (currently unavailable, we are working on " -"restoring access to it)." -msgstr "" - -#: template/contact.html.j2:38 -msgid "Contacting individuals" -msgstr "" - -#: template/contact.html.j2:40 -msgid "" -"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." -"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " -"encrypted Emails." -msgstr "" - -#: template/contact.html.j2:50 -msgid "Reporting bugs" -msgstr "" - -#: template/contact.html.j2:52 -msgid "" -"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " -"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " -"subscription." -msgstr "" - -#: template/copyright.html.j2:11 -msgid "" -"

              Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " -"development of the GNUnet and GNU Taler projects is satisfied.

              " -msgstr "" - -#: template/copyright.html.j2:22 -msgid "" -"

              The agreements ensure that the code will continue to be made available " -"under free software licenses, but gives developers the freedom to move code " -"between GNUnet and GNU Taler without worrying about licenses and to give the " -"company the ability to dual-license (for example, so that we can distribute " -"via App-stores that are hostile to free software).

              " -msgstr "" - -#: template/copyright.html.j2:30 -msgid "" -"

              Minor contributions (basically, anyone without Git access) do not require " -"copyright assignment. Pseudonymous contributions are accepted, in this case " -"simply sign the agreement with your pseudonym. Scanned copies are " -"sufficient, but snail mail is preferred.

              " -msgstr "" - -#: template/developers.html.j2:5 -msgid "GNUnet for developers" -msgstr "" - -#: template/developers.html.j2:13 -msgid "Repositories" -msgstr "" - -#: template/developers.html.j2:16 -msgid "" -"A list of our Git repositories can be found on our our Git Server." -msgstr "" - -#: template/developers.html.j2:27 -msgid "" -"Technical papers can be found in our bibliography." -msgstr "" - -#: template/developers.html.j2:34 -msgid "Discussion" -msgstr "" - -#: template/developers.html.j2:37 -msgid "" -"We have a mailing list for developer discussions. You can subscribe to or " -"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." -msgstr "" - -#: template/developers.html.j2:47 -msgid "Regression Testing" -msgstr "" - -#: template/developers.html.j2:50 -msgid "" -"We have Buildbot automation tests to " -"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." -msgstr "" - -#: template/developers.html.j2:59 -msgid "Code Coverage Analysis" -msgstr "" - -#: template/developers.html.j2:62 -msgid "" -"We use LCOV to " -"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." -msgstr "" - -#: template/developers.html.j2:72 -msgid "Performance Analysis" -msgstr "" - -#: template/developers.html.j2:75 -msgid "" -"We use Gauger for performance " -"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." -msgstr "" +#~| msgid "Development" +#~ msgid "Development Tutorial" +#~ msgstr "Desarrollo" -#: template/download.html.j2:7 template/gnurl.html.j2:169 -msgid "Downloads" -msgstr "" +#~ msgid "Documentation" +#~ msgstr "Documentación" -#: template/download.html.j2:11 -msgid "" -"Here you can download releases of our software and find links to the various " -"versions." -msgstr "" +#~ msgid "Install" +#~ msgstr "Instala" -#: template/download.html.j2:17 -msgid "0.11.x series" -msgstr "" +#~ msgid "Use" +#~ msgstr "Usa" -#: template/download.html.j2:18 -msgid "tarball" -msgstr "" +#~ msgid "Videos" +#~ msgstr "Videos" -#: template/download.html.j2:20 -msgid "" -"The tarball of the latest version can be obtained from GNU FTP and its " -"mirrors." -msgstr "" +#~ msgid "Glossary" +#~ msgstr "Glosario" -#: template/download.html.j2:30 -msgid "git" -msgstr "" +#~ msgid "Handbook" +#~ msgstr "Manual" -#: template/download.html.j2:32 -msgid "" -"You can fetch the git tag of version 0.11.x from our development server:" -msgstr "" +#~ msgid "REST API" +#~ msgstr "REST API" -#: template/engage.html.j2:6 -msgid "Engage!" -msgstr "" +#~ msgid "FAQ" +#~ msgstr "FAQ" -#: template/ev.html.j2:6 -msgid "Verein zur Förderung von GNUnet e.V." -msgstr "" +#~ msgid "What is GNUnet?" +#~ msgstr "Qué es GNUnet?" -#: template/ev.html.j2:11 #, fuzzy -#| msgid "About GNUnet" -msgid "About GNUnet e.V." -msgstr "Sobre GNUnet" - -#: template/ev.html.j2:13 -msgid "" -"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " -"\"Verein zur Förderung von GNUnet e.V.\", an association under German " -"law to support GNUnet development. The Amtsgericht München registered " -"the association on the 7th of March under VR 205287." -msgstr "" - -#: template/ev.html.j2:22 -msgid "" -"The association is officially dedicated to supporting research, development " -"and education in the area of secure decentralized networking in general, and " -"GNUnet specifically. This is the official website for the association." -msgstr "" - -#: template/ev.html.j2:31 -msgid "Becoming a Member of GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:33 -msgid "" -"GNUnet developers with git (write) access can become members to participate " -"in the decision process and formally support GNUnet e.V. For this, all you " -"have to do is update the members.txt file in the gnunet-ev repository. There are no " -"membership dues; however, members are required to support GNUnet e.V. and in " -"particularly contribute to the technical development within their means. For " -"further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." -msgstr "" +#~| msgid "About GNUnet" +#~ msgid "About GNUnet e.V." +#~ msgstr "Sobre GNUnet" -#: template/ev.html.j2:52 -msgid "Governance" -msgstr "" - -#: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " -"
              Vorsitz
              Christian Grothoff
              stellvertretender Vorsitz
              xrs
              Kassenwart
              Florian Dold
              Beisitzer
              Lurchi
              " -msgstr "" - -#: template/ev.html.j2:71 -msgid "Official Meeting Notes" -msgstr "" - -#: template/ev.html.j2:84 -msgid "Support Us!" -msgstr "" - -#: template/ev.html.j2:86 -msgid "" -"Everybody is welcome to support us via donations. For financial " -"contributions, Europeans are able to donate via SEPA. We hope to setup " -"accounts in other major currency areas in the future. You can also donate " -"via Bitcoin, routing details are given below. Please note that we are unable " -"to provide receipts for your donations. If you are planning to donate a " -"significant amount of money, please contact us first as it might be better " -"to come to a custom arrangement.
              BitCoin
              " -"
              1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
              SEPA/IBAN
              " -"
              DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
              " -msgstr "" - -#: template/faq.html.j2:12 -msgid "" -"I receive many "WARNING Calculated flow delay for X at Y for Z". " -"Should I worry?" -msgstr "" - -#: template/faq.html.j2:14 -msgid "" -"A: Right now, this is expected and a known cause for high latency in GNUnet. " -"We have started a major rewrite to address this and other problems, but " -"until the Transport Next Generation (TNG) is ready, these warnings are " -"expected." -msgstr "" - -#: template/faq.html.j2:23 -msgid "Is there a graphical user interface?" -msgstr "" - -#: template/faq.html.j2:25 -msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." -msgstr "" - -#: template/glossary.html.j2:12 -msgid "Ego" -msgstr "" - -#: template/glossary.html.j2:14 -msgid "" -"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " -"multiple unlinkable identities, in the sense of alter egos. The ability to " -"have more than one identity is crucial, as we may want to keep our egos for " -"business separate from those we use for political activities or romance.
              " -"Egos in GNUnet are technically equivalent to identities (and the code does " -"not distinguish between them). We simply sometimes use the term \"ego\" to " -"stress that you can have more than one." -msgstr "" - -#: template/glossary.html.j2:27 -msgid "Identity" -msgstr "" - -#: template/glossary.html.j2:29 -msgid "" -"In GNUnet users are identified via a public key, and that public key is then " -"often referred to as the \"Identity\" of the user. However, the concept is " -"not as draconian as it often is in real life where many are forced to have " -"one name, one passport and one unique identification number.
              As long as " -"identities in GNUnet are simply public keys, users are free to create any " -"number of identities, and we call those egos to emphasize the difference. " -"Even though users can create such egos freely, it is possible to have an ego " -"certified by some certification authority, resulting in something that more " -"closely resembles the traditional concept of an identity.
              For example, a " -"university may certify the identities of its students such that they can " -"prove that they are studying. Students may keep their (certified) student " -"identity separate from other egos that they use for other activities in life." -msgstr "" - -#: template/glossary.html.j2:50 -msgid "Pseudonym" -msgstr "" - -#: template/glossary.html.j2:52 -msgid "" -"A pseudonym is an ego that is specifically intended to not be linked to " -"one's real name. GNUnet users can create many egos, and thus also many " -"pseudonyms.
              Repeated uses of the same pseudonym are linkable by " -"definition, as they involve the same public key. Anonymity requires the use " -"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " -"neutral element on the elliptic curve) or a throw-away pseudonym that is " -"only used once." -msgstr "" - -#: template/glossary.html.j2:71 -msgid "Namespaces" -msgstr "" - -#: template/glossary.html.j2:73 -msgid "" -"The GNU Name System allows every ego (or identity) to securely and privately " -"associate any number of label-value pairs with an ego. The values are called " -"record sets following the terminology of the Domain Name System (DNS). The " -"mapping of labels to record sets for a given ego is called a namespace.
              " -"If records are made public and thus published, it is possible for other " -"users to lookup the record given the ego's public key and the label. Here, " -"not only the label can thus act as a passphrase but also the public key -- " -"which despite its name may not be public knowledge and is never disclosed by " -"the GNS protocol itself." -msgstr "" - -#: template/glossary.html.j2:89 -msgid "Peer" -msgstr "" - -#: template/glossary.html.j2:91 -msgid "" -"A \"peer\" is an instance of GNUnet with its own per-instance public key and " -"network addresses. Technically, it is possible to run multiple peers on the " -"same host, but this only makes sense for testing.
              By design GNUnet " -"supports multiple users to share the same peer, just as UNIX is a multi-user " -"system. A \"peer\" typically consists of a set of foundational GNUnet " -"services running as the \"gnunet\" user and allowing all users in the " -"\"gnunet\" group to utilize the API. On multi-user systems, additional " -"\"personalized\" services may be required per user.
              While peers are " -"also identified by public keys, these public keys are completely unrelated " -"to egos or identities. Namespaces cannot be associated with a peer, only " -"with egos." -msgstr "" - -#: template/gnurl.html.j2:20 -msgid "" -"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " -"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " -"ensure a small footprint and uniform experience for developers regardless of " -"how libcurl was compiled.
              Our main usecase is for GNUnet, but it might " -"be usable for others, hence we're releasing the code to the general public." -"
              libgnurl is released under the same license as libcurl. Please read the " -"README for instructions, as you must supply the correct options to configure " -"to get a proper build of libgnurl." -msgstr "" - -#: template/gnurl.html.j2:35 #, fuzzy -#| msgid "About" -msgid "About gnurl" -msgstr "Sobre" - -#: template/gnurl.html.j2:37 -msgid "" -"Large parts of the following 6 paragraphs are old and need to be rewritten." -msgstr "" +#~| msgid "About" +#~ msgid "About gnurl" +#~ msgstr "Sobre" -#: template/gnurl.html.j2:43 -msgid "Motivation" -msgstr "" +#, fuzzy +#~| msgid "GSoC Projects" +#~ msgid "Current projects" +#~ msgstr "Projectos de GSoC" -#: template/gnurl.html.j2:45 -msgid "" -"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " -"other variants are used by some distributions. Supporting other crypto " -"backends would again expose us to a wider array of security issues, may " -"create licensing issues and most importantly introduce new bugs as some " -"crypto backends are known to introduce subtle runtime issues. While it is " -"possible to have two versions of libcurl installed on the same system, this " -"is error-prone, especially as if we are linked against the wrong version, " -"the bugs that arise might be rather subtle." -msgstr "" +#, fuzzy +#~| msgid "About GNUnet" +#~ msgid "Learn more about GNUnet" +#~ msgstr "Sobre GNUnet" -#: template/gnurl.html.j2:58 -msgid "" -"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " -"would anyway be necessary to recompile cURL for GNUnet. But what happens if " -"one links cURL against this version of GnuTLS? Well, first one would install " -"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " -"it just fine, but the linker will eventually complain bitterly. The reason " -"is that cURL also links against a bunch of other system libraries (gssapi, " -"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " -"which --- as they are part of the distribution --- were linked against an " -"older version of GnuTLS. As a result, the same binary would be linked " -"against two different versions of GnuTLS. That is typically a recipe for " -"disaster. Thus, in order to avoid updating a dozen system libraries (and " -"having two versions of those installed), it is necessary to disable all of " -"those cURL features that GNUnet does not use, and there are many of those. " -"For GNUnet, the more obscure protocols supported by cURL are close to dead " -"code --- mostly harmless, but not useful. However, as some application may " -"use one of those features, distributions are typically forced to enable all " -"of those features, and thus including security issues that might arise from " -"that code." -msgstr "" +#, fuzzy +#~| msgid "What is GNUnet?" +#~ msgid "Get on GNUnet" +#~ msgstr "Qué es GNUnet?" -#: template/gnurl.html.j2:82 -msgid "" -"So to use a modern version of GnuTLS, a sane approach is to disable all of " -"the \"optional\" features of cURL that drag in system libraries that link " -"against the older GnuTLS. That works, except that one should then NEVER " -"install that version of libcurl in say /usr or /usr/local, as that may break " -"other parts of the system that might depend on these features that we just " -"disabled. Libtool versioning doesn't help here, as it is not intended to " -"deal with libraries that have optional features. Naturally, installing cURL " -"somewhere else is also problematic, as we now need to be really careful that " -"the linker will link GNUnet against the right version. Note that none of " -"this can really be trivially fixed by the cURL developers." -msgstr "" - -#: template/gnurl.html.j2:97 -msgid "Rename to fix" -msgstr "" - -#: template/gnurl.html.j2:99 -#, python-format -msgid "" -"How does forking fix it? Easy. First, we can get rid of all of the " -"compatibility issues --- if you use libgnurl, you state that you don't need " -"anything but HTTP/HTTPS. Those applications that need more, should stick " -"with the original cURL. Those that do not, can choose to move to something " -"simpler. As the library gets a new name, we do not have to worry about tons " -"of packages breaking as soon as one rebuilds it. So renaming itself and " -"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" " -"fixes 99%% of the problems that darkened my mood. Note that this pretty much " -"CANNOT be done without a fork, as renaming is an essential part of the fix. " -"Now, there might be creative solutions to achieve the same thing within the " -"standard cURL build system, but I'm not happy to wait for a decade for " -"Daniel to review the patches. The changes libgnurl makes to curl are " -"miniscule and can easily be applied again and again whenever libcurl makes a " -"new release." -msgstr "" - -#: template/gnurl.html.j2:118 -msgid "Using libgnurl" -msgstr "" - -#: template/gnurl.html.j2:120 -msgid "" -"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " -"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " -"That's it. No changes to the source code should be required, as libgnurl " -"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " -"cURL. We might add new features relating to this core subset if they are " -"proposed, but so far we have kept our changes minimal and no additions to " -"the original curl source have been written." -msgstr "" - -#: template/gnurl.html.j2:133 -msgid "Gotchas" -msgstr "" - -#: template/gnurl.html.j2:135 -msgid "" -"libgnurl and gnurl are not intended to be used as a replacement for curl for " -"users. Since no conflicts in filenames should occur you are not expected to " -"remove curl to make use of gnurl and viceversa." -msgstr "" - -#: template/gnurl.html.j2:149 -msgid "You can get the gnurl git repository using:" -msgstr "" - -#: template/gnurl.html.j2:162 -msgid "The versions are checked in as (signed) git tags." -msgstr "" - -#: template/gnurl.html.j2:171 -msgid "" -"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " -"variety of distributions and package managers. Package Managers which " -"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " -"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." -msgstr "" - -#: template/gnurl.html.j2:188 -msgid "Building gnurl" -msgstr "" - -#: template/gnurl.html.j2:190 -msgid "" -"We suggest to closely follow release announcements, as they might indicate " -"changes in how gnurl is to be build.
              If your package manager provides a " -"binary build or build instructions to build gnurl from source automated and " -"integrated with your environment, we strongly suggest to use this binary " -"build.
              There are two ways to build gnurl. The first one builds from the " -"most recent git tag, the second one uses the distributed tarball. " -"Distributors generally are supposed to build from the tarball, but we " -"describe both methods here. Both methods are written with a NetBSD 9 " -"userland in mind, substitute tools as necessary.
              You should avoid building gnurl from the tip of the default git branch, as only tags are " -"considered to be stable and approved builds." -msgstr "" - -#: template/gnurl.html.j2:211 -msgid "Building from the distributed tarball (prefered method)" -msgstr "" - -#: template/gnurl.html.j2:213 -msgid "" -"If you want to verify the signature, install an OpenPGP compatible tool such " -"as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "" - -#: template/gnurl.html.j2:227 -msgid "Fetch the signature key from" -msgstr "" - -#: template/gnurl.html.j2:231 -msgid "or via commandline with gnupg2." -msgstr "" - -#: template/gnurl.html.j2:236 -msgid "" -"Fetch the release, the signature, the checksum file as well as its signature:" -msgstr "" - -#: template/gnurl.html.j2:255 -msgid "" -"verify the signatures, and verify the checksums against the checksums in " -"the .sum.txt file." -msgstr "" - -#: template/gnurl.html.j2:261 -msgid "unpack the tarball:" -msgstr "" - -#: template/gnurl.html.j2:271 -msgid "Change into the directory" -msgstr "" - -#: template/gnurl.html.j2:281 -msgid "Now you can either run" -msgstr "" - -#: template/gnurl.html.j2:291 -msgid "directly (and read configure-gnurl before you do so) or invoke" -msgstr "" - -#: template/gnurl.html.j2:301 -msgid "" -"and pass additional parameters such as a custom PREFIX location. Further " -"reference can be the" -msgstr "" - -#: template/gnurl.html.j2:306 -msgid "Now run" -msgstr "" - -#: template/gnurl.html.j2:316 -msgid "(this is optional)" -msgstr "" - -#: template/gnurl.html.j2:325 -msgid "and you are done." -msgstr "" - -#: template/gnurl.html.j2:329 -msgid "Building from a tagged git commit" -msgstr "" - -#: template/gnurl.html.j2:331 -msgid "" -"Follow the steps above, but instead of downloading the tarball, clone the " -"git tag you want to build from." -msgstr "" - -#: template/gnurl.html.j2:342 -msgid "Reporting Bugs" -msgstr "" - -#: template/gnurl.html.j2:344 -msgid "" -"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " -"we prefer to track bugs on the bugtracker." -msgstr "" - -#: template/gnurl.html.j2:354 -msgid "Maintainer and Cryptographic signatures" -msgstr "" - -#: template/gnurl.html.j2:356 -msgid "" -"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP " -"Key A88C8ADD129828D7EAC02E52E22F9BBFEE348588, with the key " -"fingerprint A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:7 -msgid "GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:11 -msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:17 -msgid "" -"What was done?
              In the context of Google Summer of " -"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and " -"extending the REST API of GNUnet. Currently, we mirrored the functionality " -"of following commands:" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:32 -msgid "" -"Additionally, we developed a website with the Javascript framework Angular 6 " -"and the design framework iotaCSS to use the new REST API. The REST API of " -"GNUnet is now documented with Sphinx." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:40 -msgid "" -"Why did we create a REST API?
              ... when you can use " -"the command line tools?
              We need to keep in mind, that everyone has the " -"right to stay secure and private but not everyone feels comfortable using a " -"terminal. The further developed REST access to GNUnet APIs in addition to " -"the new web application allows new users to interact with GNUnet over a well " -"known tool: their browsers. This addition to the C API and the command line " -"tools may attract new users and developers." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:52 -msgid "" -"How can we use it?
              1. The REST API developed in " -"GNUnet
              The REST API is already merged into the gnunet.git repository " -"(GNUnet Main Git).
              " -"To use the new features, clone the repository and follow the Installation on gnunet.org. Then, " -"start the rest service with \"gnunet-arm -i rest\"." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:63 -msgid "" -"2. The Web Application
              The web application is available under the " -"gnunet-webui.git repository (GNUnet WebUI Git).
              You need to install the newest version " -"of 'node' and 'yarn'. Dependent on your system, you may need to download " -"newer versions and install them manually and not over your packet manager. " -"After the installation succeeded, you need to clone the repository. Then, " -"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To " -"deploy the website (keep in mind, that this website communicates with " -"another localhost instance) use \"yarn build\" for building the web " -"application and use the output in the 'dist' directory." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:80 -msgid "" -"3. The Documentation
              The documentation is available under the gnunet-" -"rest-api.git repository (GNUnet REST API Docmentation Git).
              Clone the repository and " -"\"make html\". Then open the 'index.html' under 'build/html/'." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:91 -msgid "" -"Please, give it a try and contact me, if you find any bugs or unintentional " -"features. ;)" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:97 -msgid "" -"What can be improved?
              Right now, the build process of " -"the web application may be a little too complex for a casual user. We may be " -"able to solve this by using docker.
              Additionally, the web application " -"does not prevent wrong inputs but responds with error messages. Adding " -"GNUnet Records is currently only usable for people, who know how a GNS " -"Record looks like. This can be adapted to each record type.
              Last but " -"not least, additional features, design changes, etc..." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:111 -msgid "Thanks for reading." -msgstr "" - -#: template/gsoc.html.j2:6 -msgid "GNUnet's Google Summer of Code projects" -msgstr "" - -#: template/gsoc.html.j2:12 template/gsoc.html.j2:28 -#, fuzzy -#| msgid "GSoC Projects" -msgid "Current projects" -msgstr "Projectos de GSoC" - -#: template/gsoc.html.j2:13 template/gsoc.html.j2:30 -msgid "Past projects" -msgstr "" - -#: template/gsoc.html.j2:14 template/gsoc.html.j2:553 -msgid "Finished projects" -msgstr "" - -#: template/gsoc.html.j2:21 -msgid "" -"As a GNU project, GNUnet has participated in the Google Summer of Code " -"(GSoC) for a number of years. This page lists all current, past, and " -"finished projects." -msgstr "" - -#: template/gsoc.html.j2:37 -msgid "" -"It is time for GNUnet to run properly on Android. Note that GNUnet is " -"written in C, and this is not about rewriting GNUnet in Java, but about " -"getting the C code to run on Android." -msgstr "" - -#: template/gsoc.html.j2:44 -msgid "" -"Mentors: Hartmut " -"Goebel" -msgstr "" - -#: template/gsoc.html.j2:53 -msgid "" -"There is a push for migrating our CI to Gitlab. The CI should eventually not " -"just run \"make check\" on various platforms, but also perform tests with " -"multiple peers running in different VMs with specific network topologies (i." -"e. NAT) between them being simulated. The CI should also be integrated with " -"Gauger for performance regression analysis. Running jobs only when " -"dependencies have changed and scripting more granular triggers or ideally " -"automatic dependency discovery (as done by the autotools) is also important." -msgstr "" - -#: template/gsoc.html.j2:65 -msgid "Mentors: TBD" -msgstr "" - -#: template/gsoc.html.j2:74 -msgid "" -"reclaimID is a decentralized identity system build on top of the GNU Name " -"System. Upon authorization, the user provides a requesting party (RP) such " -"as a website with an authorization ticket (e.g. piggybacked in an OpenID " -"authorization code). The RP uses information contained in this ticket to " -"
              1. Retrieve the decryption key from GNS
              2. Retrieve the user " -"attributes from GNS
              The GNS lookups ensure that the RP receives " -"up-to-date attributes and functional decryption keys. However, in particular " -"the RP-specific encryption key resolution can be slow and even fail " -"depending on the network topology. We propose that in an initial exchange, " -"in particular OpenID authorization code flows, we try to incorporate key and " -"maybe even an attribute set in the ticket exchange. In order to mitigate " -"this issue, this project is meant to investigate and implement how...
                " -"
              1. ... decryption keys can be added to an initial exchange in OpenID.
              2. " -"
              3. ... initial set(s) of attributes can be piggybacked in OpenID.

              4. Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:105 -msgid "" -"re:claimID is a decentralized identity system build on top of the GNU Name " -"System. The initial design and implementation of re:claimID includes an " -"attribute-based encryption module in order to prevent unauthorized access to " -"attributes in the name system. Our motivation for re:claimID was for it to " -"be name system agnostic, which means the design theoretically also works for " -"other name systems such as namecoin. Other name systems often do not have " -"built-in mechanisms in order to do this. Hence, we implemented an ABE access " -"control layer. Our ABE implementation requires two third party libraries: " -"libpbc and libgabe. While we could merge libgabe into the gnunet service " -"implementation of re:claimID, libpbc is a rather large, third party library " -"which lacks packaging in distributions and for platforms. On the other hand, " -"GNS supports record data encryption using symmetric keys as labels. If we " -"make the access control layer of re:claimID more generic in order to support " -"both ABE and GNS encryption, we could reduce the required depenencies. This " -"would result in gnunet packages to include re:claimID by default. In short, " -"the goals are to...
                1. ... improve performance by reducing encryption " -"overhead.
                2. ... reduce dependencies.

                " -"Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:140 -msgid "" -"One great problem of the current Internet is the lack of disintermediation. " -"When people want to talk they need a chat service. When they want to share " -"files they need a file transfer service. Although GNUnet already possesses " -"quite advanced integration into Linux networking, a little extra work is " -"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " -"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " -"Once people have added a person to their GNS they can immediately message, " -"exchange files and suchlike directly, with nothing but the GNUnet in the " -"middle, using applications that have been distributed with unix systems ever " -"since the 1980's. We can produce an OS distribution where these things work " -"out of the box with the nicknames of people instead of cloud services. For " -"more information and context, read" -msgstr "" - -#: template/gsoc.html.j2:161 -msgid "Mentors: lynX & dvn" -msgstr "" - -#: template/gsoc.html.j2:169 -msgid "" -"There are a variety of GNUNet APIs that should be exposed in the Rust " -"wrappers. Implementing these will require extending the port of GNUNet utils " -"written by Andrew Cann and Kelong Cong." -msgstr "" - -#: template/gsoc.html.j2:177 -msgid "" -"As an introduction to the code base, we suggest that the student and Jeff " -"Burdges together update the asynchronous IO system from gjio to futures-rs " -"or another layer built upon it. Jeff Burdges is expected to concurrently be " -"implementing a GNUNet API for his own mix network work." -msgstr "" - -#: template/gsoc.html.j2:187 template/gsoc.html.j2:211 -#: template/gsoc.html.j2:265 template/gsoc.html.j2:295 -#: template/gsoc.html.j2:539 -msgid "Mentors: Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:192 -msgid "Required Skills: Rust" -msgstr "" - -#: template/gsoc.html.j2:197 -msgid "Difficulty level: low" -msgstr "" - -#: template/gsoc.html.j2:205 -msgid "" -"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." -msgstr "" - -#: template/gsoc.html.j2:216 -msgid "" -"Note: There was a Special TLDs spec to allow Tor to resolve domain names " -"using GNS over Tor too, but currently that's on hold until folks think more " -"about how names should be moved around the local system. We're calling this " -"more collaborative approach NSS2 for now." -msgstr "" - -#: template/gsoc.html.j2:225 template/gsoc.html.j2:399 -#: template/gsoc.html.j2:439 template/gsoc.html.j2:469 -msgid "Required Skills: C" -msgstr "" - -#: template/gsoc.html.j2:230 template/gsoc.html.j2:474 -#: template/gsoc.html.j2:619 -msgid "Difficulty level: medium" -msgstr "" - -#: template/gsoc.html.j2:238 -msgid "" -"Design and implementation of REST APIs " -"that expose the GNUnet API so that easy, hands-on development is possible. Also, " -"browser-based UIs will be much easier to create on top of REST APIs." -msgstr "" - -#: template/gsoc.html.j2:249 template/gsoc.html.j2:609 -msgid "Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:257 -msgid "" -"Improve the Rust implementation of GNUnet utils, possibly including adding " -"support for asynchronous IO using mio, or perhaps a higher level " -"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " -"gj." -msgstr "" - -#: template/gsoc.html.j2:273 -msgid "" -"Implement rudimentary Android compatibility for GNUnet, in part by porting " -"the GNUnet utils scheduler to act as a thin wrapper over libuv." -msgstr "" - -#: template/gsoc.html.j2:280 -msgid "Mentors: Jeff Burdges and Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:288 template/gsoc.html.j2:532 -msgid "" -"Implementation of a replacement for PANDA (see Pond) with better security, " -"and maybe integration with the GNU Name System for key exchange." -msgstr "" - -#: template/gsoc.html.j2:300 -msgid "Required Skills: Rust or C, crypto" -msgstr "" - -#: template/gsoc.html.j2:305 template/gsoc.html.j2:362 -#: template/gsoc.html.j2:404 template/gsoc.html.j2:444 -msgid "Difficulty level: high" -msgstr "" - -#: template/gsoc.html.j2:313 -msgid "" -"Implement different place types and file sharing by creating a new place for " -"the shared content." -msgstr "" - -#: template/gsoc.html.j2:319 -msgid "Place types to be implemented:" -msgstr "" - -#: template/gsoc.html.j2:323 -msgid "" -"
                • File: generic file with comments
                • Image: display an image " -"with comments referencing a region of the image
                • Sound: play a sound " -"file with comments referencing a timestamp
                • Directory/Album: " -"pointers to File / Image / Sound places
                • Event: with RSVP
                • " -"
                • Survey: ask your social neighborhood questions in a structured form
                • " -"
                " -msgstr "" - -#: template/gsoc.html.j2:334 -msgid "Also provide the following UI functionality:" -msgstr "" - -#: template/gsoc.html.j2:338 -msgid "" -"
                • Fork existing channels, reorganize people into new chatrooms or " -"channels.
                • Share a post (edit and repost something elsewhere, on a " -"fan page for example).
                • Edit a previously published post + offer " -"edit history to readers.
                • Control expiry of channel history.
                • " -msgstr "" - -#: template/gsoc.html.j2:347 -msgid "" -"See also http://secushare.org/" -"features" -msgstr "" - -#: template/gsoc.html.j2:352 -msgid "Mentors: lynX" -msgstr "" - -#: template/gsoc.html.j2:357 -msgid "Required Skills: C/C++" -msgstr "" - -#: template/gsoc.html.j2:370 -msgid "" -"Implement aggregation of distributed state from various channels in order to " -"provide for a powerful social graph API capable of producing social network " -"profiles, dashboards, a calendar out of upcoming event invitations (if " -"available), social search functionality and most of all to make it easy for " -"users to adopt cryptographic identities of their contacts/friends simply by " -"finding them in the social graph of their existing contacts (\"This is " -"Linda. You have 11 contacts in common with her. [ADD]\")." -msgstr "" - -#: template/gsoc.html.j2:388 -msgid "" -"Related to secushare.org/" -"rendezvous" -msgstr "" - -#: template/gsoc.html.j2:394 template/gsoc.html.j2:434 -msgid "Mentors: t3sserakt, lynX" -msgstr "" - -#: template/gsoc.html.j2:411 -msgid "" -"
                  • Emulate IMAP/SMTP protocols as necessary to transform traditional " -"mail clients into secushare user interfaces.
                  • Think of ways to map " -"e-mail addresses to secushare identities.
                  • Encode or translate " -"various e-mail features into secushare equivalents.
                  • Parts of " -"secushare are currently written in Rust, therefore Rust is preferred for " -"this task but it is not an requirement.
                  " -msgstr "" - -#: template/gsoc.html.j2:452 -msgid "" -"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " -"Specific tasks are adding smart contract creation and round time enforcement " -"to libbrandt as well as creating the GNUnet auction service, library and the " -"three user interface programs create, info and join." -msgstr "" - -#: template/gsoc.html.j2:464 -msgid "Mentors: mate, cg" -msgstr "" - -#: template/gsoc.html.j2:482 -msgid "" -"Implementation of additional transports to make GNUnet communication more " -"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" -"over-DNS" -msgstr "" - -#: template/gsoc.html.j2:489 template/gsoc.html.j2:503 -msgid "Mentors: Matthias Wachs" -msgstr "" - -#: template/gsoc.html.j2:497 -msgid "" -"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " -"punching, better STUN support)" -msgstr "" - -#: template/gsoc.html.j2:511 -msgid "" -"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:519 -msgid "" -"Improving libaboss to make computation on shared secrets (including repeated " -"multiplication) based on Ben-Or et al. if possible. This in particular means " -"moving libaboss to bignums (gcry_mpi)." -msgstr "" - -#: template/gsoc.html.j2:547 -msgid "" -"Please refer to the description for this project listed under GNU Guix " -"project ideas." -msgstr "" - -#: template/gsoc.html.j2:559 -msgid "" -"Python 2.7 is reaching its end-of-life, and we want to get rid of the " -"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " -"around python-zbar, which itself wraps libzbar. The goal of this project is " -"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " -"(see also #5562)." -msgstr "" - -#: template/gsoc.html.j2:569 -msgid "Mentors: Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:574 -msgid "Required Skills:" -msgstr "" - -#: template/gsoc.html.j2:579 -msgid "Difficulty level:" -msgstr "" - -#: template/gsoc.html.j2:584 -msgid "Report:" -msgstr "" - -#: template/gsoc.html.j2:589 -msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." -msgstr "" - -#: template/gsoc.html.j2:599 -msgid "" -"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " -"to be determined framework such as Angular2. This includes the design and " -"implementation of not yet existing REST " -"APIs that expose the GNUnet API." -msgstr "" - -#: template/gsoc.html.j2:614 -msgid "Required Skills: C, JavaScript, CSS" -msgstr "" - -#: template/gsoc.html.j2:624 -msgid "" -"Report: GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/index.html.j2:19 -msgid "" -"GNUnet is a new network protocol stack for building secure, distributed, and " -"privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol " -"stack." -msgstr "" - -#: template/index.html.j2:29 -msgid "" -"GNUnet is typically run as an overlay network on top of the existing Internet " -"infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It " -"could just as well be run independently of the Internet, over dedicated radio and cable." -msgstr "" - -#: template/index.html.j2:38 -msgid "" -"GNUnet is made for a free and open society: It's a self-organizing " -"network and it is free software as in freedom. GNUnet puts you in control of your data. " -"You determine which data to share with whom, and you're not pressured to " -"accept compromises." -msgstr "" - -#: template/index.html.j2:89 -msgid "The Internet of tomorrow needs GNUnet today" -msgstr "" - -#: template/index.html.j2:95 -msgid "Imagine..." -msgstr "" - -#: template/index.html.j2:97 -msgid "" -"The conventional Internet is currently like a system of roads with deep " -"potholes and highwaymen all over the place. Even if you still can use the " -"roads (e.g. send emails, or browse websites) your vehicle might get " -"hijacked, damaged, or long arms might reach into its back and steal your " -"items (data) to use it against you and sell it to others - while you can'" -"t even notice the thievery nor accuse and hold the scroungers accountable. " -"" -msgstr "" - -#: template/index.html.j2:121 -msgid "The Internet is broken" -msgstr "" - -#: template/index.html.j2:123 -msgid "" -"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: " -"protecting against address forgery, routers learning metadata, or choosing " -"trustworthy CAs is nontrivial and sometimes impossible. " -msgstr "" - -#: template/index.html.j2:137 -msgid "" -"GNUnet provides privacy by design, improving addressing, routing, naming and content " -"distribution in a technically robust manner - as opposed to ad-hoc designs " -"in place today. " -msgstr "" - -#: template/index.html.j2:155 -msgid "Decentralization is hard" -msgstr "" - -#: template/index.html.j2:158 -msgid "" -" Instead of sharing common components and tools for " -"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " -"potential number of vulnerabilities." -msgstr "" - -#: template/index.html.j2:174 -msgid "" -"GNUnet is a metadata-preserving foundation for your application, covering " -"areas from addressing to reliable bidirectional Axolotl-encrypted channels, " -"with advanced routing. Our work is based on continuous research spanning " -"almost two decades." -msgstr "" - -#: template/index.html.j2:188 -msgid "Metadata is exposed" -msgstr "" - -#: template/index.html.j2:190 -msgid "" -"Your metadata is just as revealing as the actual content; and it gets " -"exposed on the Internet.
                  Even though transport encryption is " -"increasingly being deployed on the Internet, it still reveals data that can " -"threaten democracy: the identities of senders and receivers, the times, " -"frequency and the volume of communication are all still revealed.
                  GNUnet addresses these concerns with " -"perfect forward secrecy via ephemeral public key addressing, fixed packet " -"size to hinder traffic analysis, layered encryption, Sybil-resistant " -"routing, and more." -msgstr "" - -#: template/index.html.j2:213 -msgid "Freedoms are not respected" -msgstr "" - -#: template/index.html.j2:215 -msgid "" -"Today, monitoring increasingly centralized infrastructure, proprietary " -"implementations, traffic shapers and firewalls restrict all of the essential freedoms to " -"various degrees." -msgstr "" - -#: template/index.html.j2:224 -msgid "" -"GNUnet gives users freedoms to securely access information (\"run\" the " -"network), to study all aspects of the network's operation (\"access the " -"code\"), to distribute information (\"copy\"), as well as the freedom to " -"deploy new applications (\"modify\")." -msgstr "" - -#: template/index.html.j2:236 #, fuzzy -#| msgid "About GNUnet" -msgid "Learn more about GNUnet" -msgstr "Sobre GNUnet" - -#: template/index.html.j2:238 -msgid "" -"If you want to know more about the GNUnet please continue reading the about page. There are much more resources, such as " -"the main handbook / reference manual, a bibliography and videos." -msgstr "" - -#: template/index.html.j2:247 -msgid "" -"You are very welcome to get " -"engaged into the conversation, install GNUnet, use " -"it and contribute. " -"
                  Be aware that this project is still in an early alpha stage when it " -"comes to software – it is not an easy task to rewrite the whole " -"Internet!" -msgstr "" - -#: template/index.html.j2:269 -msgid "Featured Applications" -msgstr "" - -#: template/index.html.j2:275 -msgid "GNU Taler (Alpha)" -msgstr "" - -#: template/index.html.j2:277 -msgid "" -"GNU Taler is a new privacy-preserving " -"electronic payment system. Payments are cryptographically secured and are " -"confirmed within milliseconds with extremely low transaction costs." -msgstr "" - -#: template/index.html.j2:289 -msgid "The GNU Name System" -msgstr "" - -#: template/index.html.j2:292 -msgid "" -" The GNU " -"Name System (GNS) is a fully decentralized replacement for the Domain " -"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. " -"Naming conventions are similar to DNS, but queries and replies are private " -"even with respect to peers providing the answers. The integrity of records " -"and privacy of look-ups is cryptographically secured. " -msgstr "" - -#: template/index.html.j2:309 -msgid "re:claimID" -msgstr "" - -#: template/index.html.j2:311 -msgid "" -"re:claimID is a decentralized " -"Identity Provider (IdP) service built in top of the GNU Name System. It " -"allows users to securely share personal information with websites using " -"standardized protocols (OpenID Connect)." -msgstr "" - -#: template/index.html.j2:324 -msgid "Filesharing (Alpha)" -msgstr "" - -#: template/index.html.j2:326 -msgid "" -"GNUnet filesharing is an application that aims " -"to provide censorship-resistant, anonymous filesharing. The publisher is " -"empowered to make a gradual choice between performance and anonymity." -msgstr "" - -#: template/index.html.j2:337 -msgid "Conversation (Pre-Alpha)" -msgstr "" - -#: template/index.html.j2:339 -msgid "" -"GNUnet conversation is an application that provides secure voice " -"communication in a fully decentralized way by employing GNUnet for routing " -"and transport." -msgstr "" - -#: template/index.html.j2:355 -msgid "Upcoming Applications" -msgstr "" - -#: template/index.html.j2:361 -msgid "secushare" -msgstr "" - -#: template/index.html.j2:363 -msgid "" -"secushare is creating a decentralized " -"social networking application on top of GNUnet. Using overlay multicast and " -"the extensible PSYC protocol, notifications are distributed end-to-end " -"encrypted to authorized recipients only." -msgstr "" - -#: template/index.html.j2:375 -msgid "pretty Easy privacy" -msgstr "" - -#: template/index.html.j2:377 -msgid "" -"pretty Easy privacy (p≡p) is " -"creating a usable end-to-end encrypted e-mail solution using opportunistic " -"key exchange. p≡p will use GNUnet to protect metadata and exploit new " -"cryptographic protocols to verify keys." -msgstr "" - -#: template/install-on-archpi.html.j2:6 -msgid "Tutorial: GNUnet on Arch Linux/Pi" -msgstr "" - -#: template/install-on-archpi.html.j2:16 -msgid "Requirements for Raspberry Pi 3" -msgstr "" - -#: template/install-on-archpi.html.j2:40 -msgid "Get the Source Code" -msgstr "" - -#: template/install-on-archpi.html.j2:62 -#: template/install-on-debian9.html.j2:130 -msgid "In Addition: gnunet-gtk" -msgstr "" - -#: template/install-on-archpi.html.j2:79 -msgid "Run" -msgstr "" - -#: template/install-on-archpi.html.j2:131 -msgid "Make sure, it works!" -msgstr "" - -#: template/install-on-debian9.html.j2:6 -msgid "Tutorial: GNUnet on Debian 9" -msgstr "" - -#: template/install-on-debian9.html.j2:9 -#: template/install-on-ubuntu1804.html.j2:9 -msgid "Introduction" -msgstr "" - -#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 -#: template/install-on-netbsd.html.j2:19 -#: template/install-on-ubuntu1804.html.j2:26 -msgid "Requirements" -msgstr "" - -#: template/install-on-debian9.html.j2:45 -#: template/install-on-ubuntu1804.html.j2:41 -msgid "Make an installation directory" -msgstr "" - -#: template/install-on-debian9.html.j2:59 -#: template/install-on-macos.html.j2:134 -#: template/install-on-netbsd.html.j2:224 -#: template/install-on-ubuntu1804.html.j2:53 -msgid "Get the source code" -msgstr "" - -#: template/install-on-debian9.html.j2:78 -#: template/install-on-macos.html.j2:142 -#: template/install-on-netbsd.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:61 -msgid "Compile and Install" -msgstr "" - -#: template/install-on-debian9.html.j2:103 -#: template/install-on-ubuntu1804.html.j2:70 -msgid "Option 1: GNUnet for testing / usage" -msgstr "" - -#: template/install-on-debian9.html.j2:116 -#: template/install-on-ubuntu1804.html.j2:82 -msgid "Option 2: GNUnet for development" -msgstr "" - -#: template/install-on-debian9.html.j2:153 -#: template/install-on-ubuntu1804.html.j2:97 -msgid "Install GNUnet plugin for name resolution" -msgstr "" - -#: template/install-on-debian9.html.j2:207 -#: template/install-on-ubuntu1804.html.j2:134 -msgid "Create configuration file" -msgstr "" - -#: template/install-on-debian9.html.j2:227 -#: template/install-on-ubuntu1804.html.j2:156 -msgid "Use GNUnet!" -msgstr "" - -#: template/install-on-debian9.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:162 -msgid "Uninstall GNUnet and its dependencies" -msgstr "" - -#: template/install-on-macos.html.j2:6 -msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" -msgstr "" - -#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30 -msgid "Installation" -msgstr "" - -#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102 -msgid "First steps" -msgstr "" - -#: template/install-on-macos.html.j2:109 -#: template/install-on-netbsd.html.j2:182 -msgid "Alternative: Installation from source" -msgstr "" - -#: template/install-on-macos.html.j2:154 -#: template/install-on-netbsd.html.j2:242 -msgid "Option 1: GNUnet for production / usage" -msgstr "" - -#: template/install-on-macos.html.j2:187 -#: template/install-on-netbsd.html.j2:267 -msgid "Option 2: GNUnet experimental" -msgstr "" - -#: template/install-on-netbsd.html.j2:6 -msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" -msgstr "" - -#: template/install-on-ubuntu1804.html.j2:6 -msgid "Tutorial: GNUnet on Ubuntu 18.04" -msgstr "" - -#: template/install.html.j2:11 -msgid "" -"

                  The following GNUnet installation instructions help you building from " -"source for your distribution.

                  Please note that the installation " -"process will get much easier once we have proper packages again (planned for " -"winter 2019).

                  You have already installed GNUnet and want to use " -"it? Check this out!

                  " -msgstr "" - -#: template/install.html.j2:19 -msgid "" -"

                  Please be aware that this project is still in an early alpha stage when " -"it comes to running software – its not an easy task to rewrite the " -"whole Internet! We are happy to get your helping " -"hand anytime!

                  Further information is available in our handbook.

                  If you " -"have any queries about the installation or the usage, please get in touch!

                  " -msgstr "" - -#: template/use.html.j2:6 -msgid "How to use GNUnet - in a nutshell" -msgstr "" - -#: template/use.html.j2:12 template/use.html.j2:123 -msgid "Filesharing" -msgstr "" - -#: template/use.html.j2:13 -msgid "CADET" -msgstr "" - -#: template/use.html.j2:14 -msgid "Minimal Groupchat" -msgstr "" - -#: template/use.html.j2:15 -msgid "GNS with CLI" -msgstr "" - -#: template/use.html.j2:16 -msgid "GNS with Browser" -msgstr "" - -#: template/use.html.j2:17 template/use.html.j2:441 -msgid "VPN" -msgstr "" - -#: template/use.html.j2:18 template/use.html.j2:501 -msgid "Conversation" -msgstr "" - -#: template/use.html.j2:19 template/use.html.j2:512 -msgid "Trouble Shooting" -msgstr "" - -#: template/use.html.j2:34 -#, fuzzy -#| msgid "What is GNUnet?" -msgid "Get on GNUnet" -msgstr "Qué es GNUnet?" - -#: template/use.html.j2:78 -#, fuzzy -#| msgid "What is GNUnet?" -msgid "Get off GNUnet" -msgstr "Qué es GNUnet?" - -#: template/use.html.j2:88 -msgid "Make sure your GNUnet installation works..." -msgstr "" - -#: template/use.html.j2:105 -msgid "... and play around with it." -msgstr "" - -#: template/use.html.j2:181 -msgid "CADET (and Chat)" -msgstr "" - -#: template/use.html.j2:215 -msgid "Chatting with a (simple) client" -msgstr "" - -#: template/use.html.j2:289 -msgid "Name resolution using GNS on the command line" -msgstr "" - -#: template/use.html.j2:361 -msgid "Name resolution using GNS with a browser" -msgstr "" - -#: template/use.html.j2:514 -msgid "You can't reach other people's nodes" -msgstr "" - -#: template/use.html.j2:550 -msgid "OMG you guys broke my internet" -msgstr "" - -#: template/video.html.j2:12 -msgid "Videos related to GNUnet" -msgstr "" +#~| msgid "What is GNUnet?" +#~ msgid "Get off GNUnet" +#~ msgstr "Qué es GNUnet?" #~ msgid "IRC archive" #~ msgstr "Archivo IRC" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 114a8dd6..2a89f105 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -17,1931 +17,3 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Generated-By: Babel 2.4.0\n" - -#: common/base.j2:5 common/news.j2:5 -msgid "GNUnet" -msgstr "" - -#: common/base.j2:6 common/news.j2:6 -msgid "GNU's framework for secure p2p networking" -msgstr "" - -#: common/footer.j2.inc:7 -msgid "Contact" -msgstr "" - -#: common/footer.j2.inc:8 common/navigation.j2.inc:48 -msgid "GNUnet e.V." -msgstr "" - -#: common/footer.j2.inc:9 template/about.html.j2:6 -msgid "About GNUnet" -msgstr "" - -#: common/footer.j2.inc:14 common/navigation.j2.inc:61 -msgid "Bug Tracker" -msgstr "" - -#: common/footer.j2.inc:19 template/copyright.html.j2:6 -msgid "Copyright Assignment" -msgstr "" - -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 -#: template/developers.html.j2:24 -msgid "Bibliography" -msgstr "" - -#: common/footer.j2.inc:31 -msgid "Source code of this site." -msgstr "" - -#: common/footer.j2.inc:32 -msgid "Report issues with this website." -msgstr "" - -#: common/navigation.j2.inc:38 template/index.html.j2:51 -msgid "About" -msgstr "" - -#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 -msgid "News" -msgstr "" - -#: common/navigation.j2.inc:43 -msgid "Community" -msgstr "" - -#: common/navigation.j2.inc:46 template/index.html.j2:55 -msgid "Engage" -msgstr "" - -#: common/navigation.j2.inc:47 -msgid "GSoC Projects" -msgstr "" - -#: common/navigation.j2.inc:49 -msgid "Copyright for Contributors" -msgstr "" - -#: common/navigation.j2.inc:50 -msgid "IRC Archive" -msgstr "" - -#: common/navigation.j2.inc:57 -msgid "Development" -msgstr "" - -#: common/navigation.j2.inc:60 -msgid "System Architecture" -msgstr "" - -#: common/navigation.j2.inc:62 template/gnurl.html.j2:147 -msgid "Source Code" -msgstr "" - -#: common/navigation.j2.inc:63 -msgid "Source Code Documentation" -msgstr "" - -#: common/navigation.j2.inc:66 -msgid "Continuous Integration" -msgstr "" - -#: common/navigation.j2.inc:68 -msgid "Development Tutorial" -msgstr "" - -#: common/navigation.j2.inc:79 -msgid "Documentation" -msgstr "" - -#: common/navigation.j2.inc:82 template/index.html.j2:53 -#: template/install.html.j2:6 -msgid "Install" -msgstr "" - -#: common/navigation.j2.inc:83 -msgid "Use" -msgstr "" - -#: common/navigation.j2.inc:84 -msgid "Videos" -msgstr "" - -#: common/navigation.j2.inc:85 template/glossary.html.j2:6 -msgid "Glossary" -msgstr "" - -#: common/navigation.j2.inc:86 -msgid "Handbook" -msgstr "" - -#: common/navigation.j2.inc:87 -msgid "REST API" -msgstr "" - -#: common/navigation.j2.inc:88 -msgid "FAQ" -msgstr "" - -#: inc/news.macro.j2:10 -msgid "read more" -msgstr "" - -#: template/about.html.j2:11 -msgid "What is GNUnet?" -msgstr "" - -#: template/about.html.j2:13 -msgid "" -"GNUnet is an alternative network stack for building secure, decentralized " -"and privacy-preserving distributed applications. Our goal is to replace the " -"old insecure Internet protocol stack. Starting from an application for " -"secure publication of files, it has grown to include all kinds of basic " -"protocol components and applications towards the creation of a GNU internet." -msgstr "" - -#: template/about.html.j2:23 -msgid "" -"Today, the actual use and thus the social requirements for a global network " -"differs widely from those goals of 1970. While the Internet remains suitable " -"for military use, where the network equipment is operated by a command " -"hierarchy and when necessary isolated from the rest of the world, the " -"situation is less tenable for civil society." -msgstr "" - -#: template/about.html.j2:32 -msgid "" -"Due to fundamental Internet design choices, Internet traffic can be " -"misdirected, intercepted, censored and manipulated by hostile routers on the " -"network. And indeed, the modern Internet has evolved exactly to the point " -"where, as Matthew Green put it, \"the " -"network is hostile\"." -msgstr "" - -#: template/about.html.j2:41 -msgid "" -"We believe liberal societies need a network architecture that uses the anti-" -"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " -"cryptographic protocols. The goal of the GNUnet project is to provide a Free " -"Software realization of this ideal." -msgstr "" - -#: template/about.html.j2:49 -msgid "" -"Specifically, GNUnet tries to follow the following design principles, in " -"order of importance:" -msgstr "" - -#: template/about.html.j2:56 -msgid "" -"GNUnet must be implemented as Free Software." -msgstr "" - -#: template/about.html.j2:60 -msgid "" -"GNUnet must minimize the amount of personally identifiable information " -"exposed." -msgstr "" - -#: template/about.html.j2:61 -msgid "" -"GNUnet must be fully distributed and resilient to external attacks and rogue " -"participants." -msgstr "" - -#: template/about.html.j2:62 -msgid "" -"GNUnet must be self-organizing and not depend on administrators or " -"centralized infrastructure." -msgstr "" - -#: template/about.html.j2:63 -msgid "" -"GNUnet must inform the user which other participants have to be trusted when " -"establishing private communications." -msgstr "" - -#: template/about.html.j2:64 -msgid "GNUnet must be open and permit new peers to join." -msgstr "" - -#: template/about.html.j2:65 -msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" - -#: template/about.html.j2:66 -msgid "GNUnet must use compartmentalization to protect sensitive information." -msgstr "" - -#: template/about.html.j2:67 -msgid "The GNUnet architecture must be resource efficient." -msgstr "" - -#: template/about.html.j2:68 -msgid "" -"GNUnet must provide incentives for peers to contribute more resources than " -"they consume." -msgstr "" - -#: template/about.html.j2:72 -msgid "" -"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" -"\", explaining the fundamental concepts of GNUnet: " -msgstr "" - -#: template/about.html.j2:88 -msgid "More Resources" -msgstr "" - -#: template/about.html.j2:90 -msgid "" -"There are many more resources to learn about GNUnet besides the handbook, such as the " -"bibliography with papers covering " -"the various layers, many videos or a brief glossary." -msgstr "" - -#: template/about.html.j2:95 -msgid "" -"You are most welcome to get engaged into the " -"conversation, install GNUnet, use it and contribute and get engaged " -"in various ways." -msgstr "" - -#: template/about.html.j2:100 -msgid "" -"Please be aware that this project is (despite of it's age) still in an early " -"alpha stage when it comes to software – its not an easy task to " -"rewrite the whole Internet!" -msgstr "" - -#: template/about.html.j2:105 -msgid "Current funding" -msgstr "" - -#: template/about.html.j2:110 -msgid "" -"We're receiving funding from NLnet's Next Generation Internet funding line " -"to document and implement the GNU Name System protocol in a way suitable for " -"the IETF standardization process." -msgstr "" - -#: template/about.html.j2:123 -msgid "" -"We are grateful for free hosting offered by the following organizations:" -msgstr "" - -#: template/about.html.j2:132 -msgid "Past funding" -msgstr "" - -#: template/about.html.j2:134 -msgid "We are grateful for past funding from the following organizations:" -msgstr "" - -#: template/architecture.html.j2:6 -msgid "GNUnet System Architecture" -msgstr "" - -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:55 -msgid "Foundations" -msgstr "" - -#: template/architecture.html.j2:57 -msgid "" -"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " -"end-to-end encrypted messaging layer (CADET), a public key infrastructure " -"(GNS) and a pluggable transport system (TRANSPORT).
                  Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " -"subsystems replace the traditional TCP/IP stack." -msgstr "" - -#: template/architecture.html.j2:70 -msgid "Security" -msgstr "" - -#: template/architecture.html.j2:73 -msgid "" -"GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " -"permissions to be granted to each subsystem. Naturally, the implementation " -"is a GNU package, and will always " -"remain free software." -msgstr "" - -#: template/architecture.html.j2:87 -msgid "System architecture" -msgstr "" - -#: template/architecture.html.j2:93 -msgid "Subsystems" -msgstr "" - -#: template/architecture.html.j2:102 -msgid "libgnunetutil" -msgstr "" - -#: template/architecture.html.j2:108 -msgid "APIs" -msgstr "" - -#: template/contact.html.j2:6 -msgid "Contact information" -msgstr "" - -#: template/contact.html.j2:11 -msgid "The mailing list" -msgstr "" - -#: template/contact.html.j2:13 -msgid "" -"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" -"mailman/listinfo/gnunet-developers. You can send messages to the list at " -"gnunet-developers@gnu.org." -msgstr "" - -#: template/contact.html.j2:23 -msgid "The IRC channel" -msgstr "" - -#: template/contact.html.j2:25 -msgid "" -"#gnunet is reachable via irc." -"freenode.net. There is also an archive available (currently unavailable, we are working on " -"restoring access to it)." -msgstr "" - -#: template/contact.html.j2:38 -msgid "Contacting individuals" -msgstr "" - -#: template/contact.html.j2:40 -msgid "" -"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." -"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " -"encrypted Emails." -msgstr "" - -#: template/contact.html.j2:50 -msgid "Reporting bugs" -msgstr "" - -#: template/contact.html.j2:52 -msgid "" -"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " -"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " -"subscription." -msgstr "" - -#: template/copyright.html.j2:11 -msgid "" -"

                  Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " -"development of the GNUnet and GNU Taler projects is satisfied.

                  " -msgstr "" - -#: template/copyright.html.j2:22 -msgid "" -"

                  The agreements ensure that the code will continue to be made available " -"under free software licenses, but gives developers the freedom to move code " -"between GNUnet and GNU Taler without worrying about licenses and to give the " -"company the ability to dual-license (for example, so that we can distribute " -"via App-stores that are hostile to free software).

                  " -msgstr "" - -#: template/copyright.html.j2:30 -msgid "" -"

                  Minor contributions (basically, anyone without Git access) do not require " -"copyright assignment. Pseudonymous contributions are accepted, in this case " -"simply sign the agreement with your pseudonym. Scanned copies are " -"sufficient, but snail mail is preferred.

                  " -msgstr "" - -#: template/developers.html.j2:5 -msgid "GNUnet for developers" -msgstr "" - -#: template/developers.html.j2:13 -msgid "Repositories" -msgstr "" - -#: template/developers.html.j2:16 -msgid "" -"A list of our Git repositories can be found on our our Git Server." -msgstr "" - -#: template/developers.html.j2:27 -msgid "" -"Technical papers can be found in our bibliography." -msgstr "" - -#: template/developers.html.j2:34 -msgid "Discussion" -msgstr "" - -#: template/developers.html.j2:37 -msgid "" -"We have a mailing list for developer discussions. You can subscribe to or " -"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." -msgstr "" - -#: template/developers.html.j2:47 -msgid "Regression Testing" -msgstr "" - -#: template/developers.html.j2:50 -msgid "" -"We have Buildbot automation tests to " -"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." -msgstr "" - -#: template/developers.html.j2:59 -msgid "Code Coverage Analysis" -msgstr "" - -#: template/developers.html.j2:62 -msgid "" -"We use LCOV to " -"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." -msgstr "" - -#: template/developers.html.j2:72 -msgid "Performance Analysis" -msgstr "" - -#: template/developers.html.j2:75 -msgid "" -"We use Gauger for performance " -"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." -msgstr "" - -#: template/download.html.j2:7 template/gnurl.html.j2:169 -msgid "Downloads" -msgstr "" - -#: template/download.html.j2:11 -msgid "" -"Here you can download releases of our software and find links to the various " -"versions." -msgstr "" - -#: template/download.html.j2:17 -msgid "0.11.x series" -msgstr "" - -#: template/download.html.j2:18 -msgid "tarball" -msgstr "" - -#: template/download.html.j2:20 -msgid "" -"The tarball of the latest version can be obtained from GNU FTP and its " -"mirrors." -msgstr "" - -#: template/download.html.j2:30 -msgid "git" -msgstr "" - -#: template/download.html.j2:32 -msgid "" -"You can fetch the git tag of version 0.11.x from our development server:" -msgstr "" - -#: template/engage.html.j2:6 -msgid "Engage!" -msgstr "" - -#: template/ev.html.j2:6 -msgid "Verein zur Förderung von GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:11 -msgid "About GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:13 -msgid "" -"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " -"\"Verein zur Förderung von GNUnet e.V.\", an association under German " -"law to support GNUnet development. The Amtsgericht München registered " -"the association on the 7th of March under VR 205287." -msgstr "" - -#: template/ev.html.j2:22 -msgid "" -"The association is officially dedicated to supporting research, development " -"and education in the area of secure decentralized networking in general, and " -"GNUnet specifically. This is the official website for the association." -msgstr "" - -#: template/ev.html.j2:31 -msgid "Becoming a Member of GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:33 -msgid "" -"GNUnet developers with git (write) access can become members to participate " -"in the decision process and formally support GNUnet e.V. For this, all you " -"have to do is update the members.txt file in the gnunet-ev repository. There are no " -"membership dues; however, members are required to support GNUnet e.V. and in " -"particularly contribute to the technical development within their means. For " -"further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." -msgstr "" - -#: template/ev.html.j2:52 -msgid "Governance" -msgstr "" - -#: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " -"
                  Vorsitz
                  Christian Grothoff
                  stellvertretender Vorsitz
                  xrs
                  Kassenwart
                  Florian Dold
                  Beisitzer
                  Lurchi
                  " -msgstr "" - -#: template/ev.html.j2:71 -msgid "Official Meeting Notes" -msgstr "" - -#: template/ev.html.j2:84 -msgid "Support Us!" -msgstr "" - -#: template/ev.html.j2:86 -msgid "" -"Everybody is welcome to support us via donations. For financial " -"contributions, Europeans are able to donate via SEPA. We hope to setup " -"accounts in other major currency areas in the future. You can also donate " -"via Bitcoin, routing details are given below. Please note that we are unable " -"to provide receipts for your donations. If you are planning to donate a " -"significant amount of money, please contact us first as it might be better " -"to come to a custom arrangement.
                  BitCoin
                  " -"
                  1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
                  SEPA/IBAN
                  " -"
                  DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
                  " -msgstr "" - -#: template/faq.html.j2:12 -msgid "" -"I receive many "WARNING Calculated flow delay for X at Y for Z". " -"Should I worry?" -msgstr "" - -#: template/faq.html.j2:14 -msgid "" -"A: Right now, this is expected and a known cause for high latency in GNUnet. " -"We have started a major rewrite to address this and other problems, but " -"until the Transport Next Generation (TNG) is ready, these warnings are " -"expected." -msgstr "" - -#: template/faq.html.j2:23 -msgid "Is there a graphical user interface?" -msgstr "" - -#: template/faq.html.j2:25 -msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." -msgstr "" - -#: template/glossary.html.j2:12 -msgid "Ego" -msgstr "" - -#: template/glossary.html.j2:14 -msgid "" -"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " -"multiple unlinkable identities, in the sense of alter egos. The ability to " -"have more than one identity is crucial, as we may want to keep our egos for " -"business separate from those we use for political activities or romance.
                  " -"Egos in GNUnet are technically equivalent to identities (and the code does " -"not distinguish between them). We simply sometimes use the term \"ego\" to " -"stress that you can have more than one." -msgstr "" - -#: template/glossary.html.j2:27 -msgid "Identity" -msgstr "" - -#: template/glossary.html.j2:29 -msgid "" -"In GNUnet users are identified via a public key, and that public key is then " -"often referred to as the \"Identity\" of the user. However, the concept is " -"not as draconian as it often is in real life where many are forced to have " -"one name, one passport and one unique identification number.
                  As long as " -"identities in GNUnet are simply public keys, users are free to create any " -"number of identities, and we call those egos to emphasize the difference. " -"Even though users can create such egos freely, it is possible to have an ego " -"certified by some certification authority, resulting in something that more " -"closely resembles the traditional concept of an identity.
                  For example, a " -"university may certify the identities of its students such that they can " -"prove that they are studying. Students may keep their (certified) student " -"identity separate from other egos that they use for other activities in life." -msgstr "" - -#: template/glossary.html.j2:50 -msgid "Pseudonym" -msgstr "" - -#: template/glossary.html.j2:52 -msgid "" -"A pseudonym is an ego that is specifically intended to not be linked to " -"one's real name. GNUnet users can create many egos, and thus also many " -"pseudonyms.
                  Repeated uses of the same pseudonym are linkable by " -"definition, as they involve the same public key. Anonymity requires the use " -"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " -"neutral element on the elliptic curve) or a throw-away pseudonym that is " -"only used once." -msgstr "" - -#: template/glossary.html.j2:71 -msgid "Namespaces" -msgstr "" - -#: template/glossary.html.j2:73 -msgid "" -"The GNU Name System allows every ego (or identity) to securely and privately " -"associate any number of label-value pairs with an ego. The values are called " -"record sets following the terminology of the Domain Name System (DNS). The " -"mapping of labels to record sets for a given ego is called a namespace.
                  " -"If records are made public and thus published, it is possible for other " -"users to lookup the record given the ego's public key and the label. Here, " -"not only the label can thus act as a passphrase but also the public key -- " -"which despite its name may not be public knowledge and is never disclosed by " -"the GNS protocol itself." -msgstr "" - -#: template/glossary.html.j2:89 -msgid "Peer" -msgstr "" - -#: template/glossary.html.j2:91 -msgid "" -"A \"peer\" is an instance of GNUnet with its own per-instance public key and " -"network addresses. Technically, it is possible to run multiple peers on the " -"same host, but this only makes sense for testing.
                  By design GNUnet " -"supports multiple users to share the same peer, just as UNIX is a multi-user " -"system. A \"peer\" typically consists of a set of foundational GNUnet " -"services running as the \"gnunet\" user and allowing all users in the " -"\"gnunet\" group to utilize the API. On multi-user systems, additional " -"\"personalized\" services may be required per user.
                  While peers are " -"also identified by public keys, these public keys are completely unrelated " -"to egos or identities. Namespaces cannot be associated with a peer, only " -"with egos." -msgstr "" - -#: template/gnurl.html.j2:20 -msgid "" -"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " -"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " -"ensure a small footprint and uniform experience for developers regardless of " -"how libcurl was compiled.
                  Our main usecase is for GNUnet, but it might " -"be usable for others, hence we're releasing the code to the general public." -"
                  libgnurl is released under the same license as libcurl. Please read the " -"README for instructions, as you must supply the correct options to configure " -"to get a proper build of libgnurl." -msgstr "" - -#: template/gnurl.html.j2:35 -msgid "About gnurl" -msgstr "" - -#: template/gnurl.html.j2:37 -msgid "" -"Large parts of the following 6 paragraphs are old and need to be rewritten." -msgstr "" - -#: template/gnurl.html.j2:43 -msgid "Motivation" -msgstr "" - -#: template/gnurl.html.j2:45 -msgid "" -"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " -"other variants are used by some distributions. Supporting other crypto " -"backends would again expose us to a wider array of security issues, may " -"create licensing issues and most importantly introduce new bugs as some " -"crypto backends are known to introduce subtle runtime issues. While it is " -"possible to have two versions of libcurl installed on the same system, this " -"is error-prone, especially as if we are linked against the wrong version, " -"the bugs that arise might be rather subtle." -msgstr "" - -#: template/gnurl.html.j2:58 -msgid "" -"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " -"would anyway be necessary to recompile cURL for GNUnet. But what happens if " -"one links cURL against this version of GnuTLS? Well, first one would install " -"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " -"it just fine, but the linker will eventually complain bitterly. The reason " -"is that cURL also links against a bunch of other system libraries (gssapi, " -"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " -"which --- as they are part of the distribution --- were linked against an " -"older version of GnuTLS. As a result, the same binary would be linked " -"against two different versions of GnuTLS. That is typically a recipe for " -"disaster. Thus, in order to avoid updating a dozen system libraries (and " -"having two versions of those installed), it is necessary to disable all of " -"those cURL features that GNUnet does not use, and there are many of those. " -"For GNUnet, the more obscure protocols supported by cURL are close to dead " -"code --- mostly harmless, but not useful. However, as some application may " -"use one of those features, distributions are typically forced to enable all " -"of those features, and thus including security issues that might arise from " -"that code." -msgstr "" - -#: template/gnurl.html.j2:82 -msgid "" -"So to use a modern version of GnuTLS, a sane approach is to disable all of " -"the \"optional\" features of cURL that drag in system libraries that link " -"against the older GnuTLS. That works, except that one should then NEVER " -"install that version of libcurl in say /usr or /usr/local, as that may break " -"other parts of the system that might depend on these features that we just " -"disabled. Libtool versioning doesn't help here, as it is not intended to " -"deal with libraries that have optional features. Naturally, installing cURL " -"somewhere else is also problematic, as we now need to be really careful that " -"the linker will link GNUnet against the right version. Note that none of " -"this can really be trivially fixed by the cURL developers." -msgstr "" - -#: template/gnurl.html.j2:97 -msgid "Rename to fix" -msgstr "" - -#: template/gnurl.html.j2:99 -#, python-format -msgid "" -"How does forking fix it? Easy. First, we can get rid of all of the " -"compatibility issues --- if you use libgnurl, you state that you don't need " -"anything but HTTP/HTTPS. Those applications that need more, should stick " -"with the original cURL. Those that do not, can choose to move to something " -"simpler. As the library gets a new name, we do not have to worry about tons " -"of packages breaking as soon as one rebuilds it. So renaming itself and " -"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" " -"fixes 99%% of the problems that darkened my mood. Note that this pretty much " -"CANNOT be done without a fork, as renaming is an essential part of the fix. " -"Now, there might be creative solutions to achieve the same thing within the " -"standard cURL build system, but I'm not happy to wait for a decade for " -"Daniel to review the patches. The changes libgnurl makes to curl are " -"miniscule and can easily be applied again and again whenever libcurl makes a " -"new release." -msgstr "" - -#: template/gnurl.html.j2:118 -msgid "Using libgnurl" -msgstr "" - -#: template/gnurl.html.j2:120 -msgid "" -"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " -"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " -"That's it. No changes to the source code should be required, as libgnurl " -"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " -"cURL. We might add new features relating to this core subset if they are " -"proposed, but so far we have kept our changes minimal and no additions to " -"the original curl source have been written." -msgstr "" - -#: template/gnurl.html.j2:133 -msgid "Gotchas" -msgstr "" - -#: template/gnurl.html.j2:135 -msgid "" -"libgnurl and gnurl are not intended to be used as a replacement for curl for " -"users. Since no conflicts in filenames should occur you are not expected to " -"remove curl to make use of gnurl and viceversa." -msgstr "" - -#: template/gnurl.html.j2:149 -msgid "You can get the gnurl git repository using:" -msgstr "" - -#: template/gnurl.html.j2:162 -msgid "The versions are checked in as (signed) git tags." -msgstr "" - -#: template/gnurl.html.j2:171 -msgid "" -"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " -"variety of distributions and package managers. Package Managers which " -"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " -"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." -msgstr "" - -#: template/gnurl.html.j2:188 -msgid "Building gnurl" -msgstr "" - -#: template/gnurl.html.j2:190 -msgid "" -"We suggest to closely follow release announcements, as they might indicate " -"changes in how gnurl is to be build.
                  If your package manager provides a " -"binary build or build instructions to build gnurl from source automated and " -"integrated with your environment, we strongly suggest to use this binary " -"build.
                  There are two ways to build gnurl. The first one builds from the " -"most recent git tag, the second one uses the distributed tarball. " -"Distributors generally are supposed to build from the tarball, but we " -"describe both methods here. Both methods are written with a NetBSD 9 " -"userland in mind, substitute tools as necessary.
                  You should avoid building gnurl from the tip of the default git branch, as only tags are " -"considered to be stable and approved builds." -msgstr "" - -#: template/gnurl.html.j2:211 -msgid "Building from the distributed tarball (prefered method)" -msgstr "" - -#: template/gnurl.html.j2:213 -msgid "" -"If you want to verify the signature, install an OpenPGP compatible tool such " -"as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "" - -#: template/gnurl.html.j2:227 -msgid "Fetch the signature key from" -msgstr "" - -#: template/gnurl.html.j2:231 -msgid "or via commandline with gnupg2." -msgstr "" - -#: template/gnurl.html.j2:236 -msgid "" -"Fetch the release, the signature, the checksum file as well as its signature:" -msgstr "" - -#: template/gnurl.html.j2:255 -msgid "" -"verify the signatures, and verify the checksums against the checksums in " -"the .sum.txt file." -msgstr "" - -#: template/gnurl.html.j2:261 -msgid "unpack the tarball:" -msgstr "" - -#: template/gnurl.html.j2:271 -msgid "Change into the directory" -msgstr "" - -#: template/gnurl.html.j2:281 -msgid "Now you can either run" -msgstr "" - -#: template/gnurl.html.j2:291 -msgid "directly (and read configure-gnurl before you do so) or invoke" -msgstr "" - -#: template/gnurl.html.j2:301 -msgid "" -"and pass additional parameters such as a custom PREFIX location. Further " -"reference can be the" -msgstr "" - -#: template/gnurl.html.j2:306 -msgid "Now run" -msgstr "" - -#: template/gnurl.html.j2:316 -msgid "(this is optional)" -msgstr "" - -#: template/gnurl.html.j2:325 -msgid "and you are done." -msgstr "" - -#: template/gnurl.html.j2:329 -msgid "Building from a tagged git commit" -msgstr "" - -#: template/gnurl.html.j2:331 -msgid "" -"Follow the steps above, but instead of downloading the tarball, clone the " -"git tag you want to build from." -msgstr "" - -#: template/gnurl.html.j2:342 -msgid "Reporting Bugs" -msgstr "" - -#: template/gnurl.html.j2:344 -msgid "" -"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " -"we prefer to track bugs on the bugtracker." -msgstr "" - -#: template/gnurl.html.j2:354 -msgid "Maintainer and Cryptographic signatures" -msgstr "" - -#: template/gnurl.html.j2:356 -msgid "" -"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP " -"Key A88C8ADD129828D7EAC02E52E22F9BBFEE348588, with the key " -"fingerprint A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:7 -msgid "GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:11 -msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:17 -msgid "" -"What was done?
                  In the context of Google Summer of " -"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and " -"extending the REST API of GNUnet. Currently, we mirrored the functionality " -"of following commands:" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:32 -msgid "" -"Additionally, we developed a website with the Javascript framework Angular 6 " -"and the design framework iotaCSS to use the new REST API. The REST API of " -"GNUnet is now documented with Sphinx." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:40 -msgid "" -"Why did we create a REST API?
                  ... when you can use " -"the command line tools?
                  We need to keep in mind, that everyone has the " -"right to stay secure and private but not everyone feels comfortable using a " -"terminal. The further developed REST access to GNUnet APIs in addition to " -"the new web application allows new users to interact with GNUnet over a well " -"known tool: their browsers. This addition to the C API and the command line " -"tools may attract new users and developers." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:52 -msgid "" -"How can we use it?
                  1. The REST API developed in " -"GNUnet
                  The REST API is already merged into the gnunet.git repository " -"(GNUnet Main Git).
                  " -"To use the new features, clone the repository and follow the Installation on gnunet.org. Then, " -"start the rest service with \"gnunet-arm -i rest\"." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:63 -msgid "" -"2. The Web Application
                  The web application is available under the " -"gnunet-webui.git repository (GNUnet WebUI Git).
                  You need to install the newest version " -"of 'node' and 'yarn'. Dependent on your system, you may need to download " -"newer versions and install them manually and not over your packet manager. " -"After the installation succeeded, you need to clone the repository. Then, " -"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To " -"deploy the website (keep in mind, that this website communicates with " -"another localhost instance) use \"yarn build\" for building the web " -"application and use the output in the 'dist' directory." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:80 -msgid "" -"3. The Documentation
                  The documentation is available under the gnunet-" -"rest-api.git repository (GNUnet REST API Docmentation Git).
                  Clone the repository and " -"\"make html\". Then open the 'index.html' under 'build/html/'." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:91 -msgid "" -"Please, give it a try and contact me, if you find any bugs or unintentional " -"features. ;)" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:97 -msgid "" -"What can be improved?
                  Right now, the build process of " -"the web application may be a little too complex for a casual user. We may be " -"able to solve this by using docker.
                  Additionally, the web application " -"does not prevent wrong inputs but responds with error messages. Adding " -"GNUnet Records is currently only usable for people, who know how a GNS " -"Record looks like. This can be adapted to each record type.
                  Last but " -"not least, additional features, design changes, etc..." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:111 -msgid "Thanks for reading." -msgstr "" - -#: template/gsoc.html.j2:6 -msgid "GNUnet's Google Summer of Code projects" -msgstr "" - -#: template/gsoc.html.j2:12 template/gsoc.html.j2:28 -msgid "Current projects" -msgstr "" - -#: template/gsoc.html.j2:13 template/gsoc.html.j2:30 -msgid "Past projects" -msgstr "" - -#: template/gsoc.html.j2:14 template/gsoc.html.j2:553 -msgid "Finished projects" -msgstr "" - -#: template/gsoc.html.j2:21 -msgid "" -"As a GNU project, GNUnet has participated in the Google Summer of Code " -"(GSoC) for a number of years. This page lists all current, past, and " -"finished projects." -msgstr "" - -#: template/gsoc.html.j2:37 -msgid "" -"It is time for GNUnet to run properly on Android. Note that GNUnet is " -"written in C, and this is not about rewriting GNUnet in Java, but about " -"getting the C code to run on Android." -msgstr "" - -#: template/gsoc.html.j2:44 -msgid "" -"Mentors: Hartmut " -"Goebel" -msgstr "" - -#: template/gsoc.html.j2:53 -msgid "" -"There is a push for migrating our CI to Gitlab. The CI should eventually not " -"just run \"make check\" on various platforms, but also perform tests with " -"multiple peers running in different VMs with specific network topologies (i." -"e. NAT) between them being simulated. The CI should also be integrated with " -"Gauger for performance regression analysis. Running jobs only when " -"dependencies have changed and scripting more granular triggers or ideally " -"automatic dependency discovery (as done by the autotools) is also important." -msgstr "" - -#: template/gsoc.html.j2:65 -msgid "Mentors: TBD" -msgstr "" - -#: template/gsoc.html.j2:74 -msgid "" -"reclaimID is a decentralized identity system build on top of the GNU Name " -"System. Upon authorization, the user provides a requesting party (RP) such " -"as a website with an authorization ticket (e.g. piggybacked in an OpenID " -"authorization code). The RP uses information contained in this ticket to " -"
                  1. Retrieve the decryption key from GNS
                  2. Retrieve the user " -"attributes from GNS
                  The GNS lookups ensure that the RP receives " -"up-to-date attributes and functional decryption keys. However, in particular " -"the RP-specific encryption key resolution can be slow and even fail " -"depending on the network topology. We propose that in an initial exchange, " -"in particular OpenID authorization code flows, we try to incorporate key and " -"maybe even an attribute set in the ticket exchange. In order to mitigate " -"this issue, this project is meant to investigate and implement how...
                    " -"
                  1. ... decryption keys can be added to an initial exchange in OpenID.
                  2. " -"
                  3. ... initial set(s) of attributes can be piggybacked in OpenID.

                  4. Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:105 -msgid "" -"re:claimID is a decentralized identity system build on top of the GNU Name " -"System. The initial design and implementation of re:claimID includes an " -"attribute-based encryption module in order to prevent unauthorized access to " -"attributes in the name system. Our motivation for re:claimID was for it to " -"be name system agnostic, which means the design theoretically also works for " -"other name systems such as namecoin. Other name systems often do not have " -"built-in mechanisms in order to do this. Hence, we implemented an ABE access " -"control layer. Our ABE implementation requires two third party libraries: " -"libpbc and libgabe. While we could merge libgabe into the gnunet service " -"implementation of re:claimID, libpbc is a rather large, third party library " -"which lacks packaging in distributions and for platforms. On the other hand, " -"GNS supports record data encryption using symmetric keys as labels. If we " -"make the access control layer of re:claimID more generic in order to support " -"both ABE and GNS encryption, we could reduce the required depenencies. This " -"would result in gnunet packages to include re:claimID by default. In short, " -"the goals are to...
                    1. ... improve performance by reducing encryption " -"overhead.
                    2. ... reduce dependencies.

                    " -"Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:140 -msgid "" -"One great problem of the current Internet is the lack of disintermediation. " -"When people want to talk they need a chat service. When they want to share " -"files they need a file transfer service. Although GNUnet already possesses " -"quite advanced integration into Linux networking, a little extra work is " -"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " -"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " -"Once people have added a person to their GNS they can immediately message, " -"exchange files and suchlike directly, with nothing but the GNUnet in the " -"middle, using applications that have been distributed with unix systems ever " -"since the 1980's. We can produce an OS distribution where these things work " -"out of the box with the nicknames of people instead of cloud services. For " -"more information and context, read" -msgstr "" - -#: template/gsoc.html.j2:161 -msgid "Mentors: lynX & dvn" -msgstr "" - -#: template/gsoc.html.j2:169 -msgid "" -"There are a variety of GNUNet APIs that should be exposed in the Rust " -"wrappers. Implementing these will require extending the port of GNUNet utils " -"written by Andrew Cann and Kelong Cong." -msgstr "" - -#: template/gsoc.html.j2:177 -msgid "" -"As an introduction to the code base, we suggest that the student and Jeff " -"Burdges together update the asynchronous IO system from gjio to futures-rs " -"or another layer built upon it. Jeff Burdges is expected to concurrently be " -"implementing a GNUNet API for his own mix network work." -msgstr "" - -#: template/gsoc.html.j2:187 template/gsoc.html.j2:211 -#: template/gsoc.html.j2:265 template/gsoc.html.j2:295 -#: template/gsoc.html.j2:539 -msgid "Mentors: Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:192 -msgid "Required Skills: Rust" -msgstr "" - -#: template/gsoc.html.j2:197 -msgid "Difficulty level: low" -msgstr "" - -#: template/gsoc.html.j2:205 -msgid "" -"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." -msgstr "" - -#: template/gsoc.html.j2:216 -msgid "" -"Note: There was a Special TLDs spec to allow Tor to resolve domain names " -"using GNS over Tor too, but currently that's on hold until folks think more " -"about how names should be moved around the local system. We're calling this " -"more collaborative approach NSS2 for now." -msgstr "" - -#: template/gsoc.html.j2:225 template/gsoc.html.j2:399 -#: template/gsoc.html.j2:439 template/gsoc.html.j2:469 -msgid "Required Skills: C" -msgstr "" - -#: template/gsoc.html.j2:230 template/gsoc.html.j2:474 -#: template/gsoc.html.j2:619 -msgid "Difficulty level: medium" -msgstr "" - -#: template/gsoc.html.j2:238 -msgid "" -"Design and implementation of REST APIs " -"that expose the GNUnet API so that easy, hands-on development is possible. Also, " -"browser-based UIs will be much easier to create on top of REST APIs." -msgstr "" - -#: template/gsoc.html.j2:249 template/gsoc.html.j2:609 -msgid "Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:257 -msgid "" -"Improve the Rust implementation of GNUnet utils, possibly including adding " -"support for asynchronous IO using mio, or perhaps a higher level " -"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " -"gj." -msgstr "" - -#: template/gsoc.html.j2:273 -msgid "" -"Implement rudimentary Android compatibility for GNUnet, in part by porting " -"the GNUnet utils scheduler to act as a thin wrapper over libuv." -msgstr "" - -#: template/gsoc.html.j2:280 -msgid "Mentors: Jeff Burdges and Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:288 template/gsoc.html.j2:532 -msgid "" -"Implementation of a replacement for PANDA (see Pond) with better security, " -"and maybe integration with the GNU Name System for key exchange." -msgstr "" - -#: template/gsoc.html.j2:300 -msgid "Required Skills: Rust or C, crypto" -msgstr "" - -#: template/gsoc.html.j2:305 template/gsoc.html.j2:362 -#: template/gsoc.html.j2:404 template/gsoc.html.j2:444 -msgid "Difficulty level: high" -msgstr "" - -#: template/gsoc.html.j2:313 -msgid "" -"Implement different place types and file sharing by creating a new place for " -"the shared content." -msgstr "" - -#: template/gsoc.html.j2:319 -msgid "Place types to be implemented:" -msgstr "" - -#: template/gsoc.html.j2:323 -msgid "" -"
                    • File: generic file with comments
                    • Image: display an image " -"with comments referencing a region of the image
                    • Sound: play a sound " -"file with comments referencing a timestamp
                    • Directory/Album: " -"pointers to File / Image / Sound places
                    • Event: with RSVP
                    • " -"
                    • Survey: ask your social neighborhood questions in a structured form
                    • " -"
                    " -msgstr "" - -#: template/gsoc.html.j2:334 -msgid "Also provide the following UI functionality:" -msgstr "" - -#: template/gsoc.html.j2:338 -msgid "" -"
                    • Fork existing channels, reorganize people into new chatrooms or " -"channels.
                    • Share a post (edit and repost something elsewhere, on a " -"fan page for example).
                    • Edit a previously published post + offer " -"edit history to readers.
                    • Control expiry of channel history.
                    • " -msgstr "" - -#: template/gsoc.html.j2:347 -msgid "" -"See also http://secushare.org/" -"features" -msgstr "" - -#: template/gsoc.html.j2:352 -msgid "Mentors: lynX" -msgstr "" - -#: template/gsoc.html.j2:357 -msgid "Required Skills: C/C++" -msgstr "" - -#: template/gsoc.html.j2:370 -msgid "" -"Implement aggregation of distributed state from various channels in order to " -"provide for a powerful social graph API capable of producing social network " -"profiles, dashboards, a calendar out of upcoming event invitations (if " -"available), social search functionality and most of all to make it easy for " -"users to adopt cryptographic identities of their contacts/friends simply by " -"finding them in the social graph of their existing contacts (\"This is " -"Linda. You have 11 contacts in common with her. [ADD]\")." -msgstr "" - -#: template/gsoc.html.j2:388 -msgid "" -"Related to secushare.org/" -"rendezvous" -msgstr "" - -#: template/gsoc.html.j2:394 template/gsoc.html.j2:434 -msgid "Mentors: t3sserakt, lynX" -msgstr "" - -#: template/gsoc.html.j2:411 -msgid "" -"
                      • Emulate IMAP/SMTP protocols as necessary to transform traditional " -"mail clients into secushare user interfaces.
                      • Think of ways to map " -"e-mail addresses to secushare identities.
                      • Encode or translate " -"various e-mail features into secushare equivalents.
                      • Parts of " -"secushare are currently written in Rust, therefore Rust is preferred for " -"this task but it is not an requirement.
                      " -msgstr "" - -#: template/gsoc.html.j2:452 -msgid "" -"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " -"Specific tasks are adding smart contract creation and round time enforcement " -"to libbrandt as well as creating the GNUnet auction service, library and the " -"three user interface programs create, info and join." -msgstr "" - -#: template/gsoc.html.j2:464 -msgid "Mentors: mate, cg" -msgstr "" - -#: template/gsoc.html.j2:482 -msgid "" -"Implementation of additional transports to make GNUnet communication more " -"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" -"over-DNS" -msgstr "" - -#: template/gsoc.html.j2:489 template/gsoc.html.j2:503 -msgid "Mentors: Matthias Wachs" -msgstr "" - -#: template/gsoc.html.j2:497 -msgid "" -"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " -"punching, better STUN support)" -msgstr "" - -#: template/gsoc.html.j2:511 -msgid "" -"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:519 -msgid "" -"Improving libaboss to make computation on shared secrets (including repeated " -"multiplication) based on Ben-Or et al. if possible. This in particular means " -"moving libaboss to bignums (gcry_mpi)." -msgstr "" - -#: template/gsoc.html.j2:547 -msgid "" -"Please refer to the description for this project listed under GNU Guix " -"project ideas." -msgstr "" - -#: template/gsoc.html.j2:559 -msgid "" -"Python 2.7 is reaching its end-of-life, and we want to get rid of the " -"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " -"around python-zbar, which itself wraps libzbar. The goal of this project is " -"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " -"(see also #5562)." -msgstr "" - -#: template/gsoc.html.j2:569 -msgid "Mentors: Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:574 -msgid "Required Skills:" -msgstr "" - -#: template/gsoc.html.j2:579 -msgid "Difficulty level:" -msgstr "" - -#: template/gsoc.html.j2:584 -msgid "Report:" -msgstr "" - -#: template/gsoc.html.j2:589 -msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." -msgstr "" - -#: template/gsoc.html.j2:599 -msgid "" -"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " -"to be determined framework such as Angular2. This includes the design and " -"implementation of not yet existing REST " -"APIs that expose the GNUnet API." -msgstr "" - -#: template/gsoc.html.j2:614 -msgid "Required Skills: C, JavaScript, CSS" -msgstr "" - -#: template/gsoc.html.j2:624 -msgid "" -"Report: GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/index.html.j2:19 -msgid "" -"GNUnet is a new network protocol stack for building secure, distributed, and " -"privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol " -"stack." -msgstr "" - -#: template/index.html.j2:29 -msgid "" -"GNUnet is typically run as an overlay network on top of the existing Internet " -"infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It " -"could just as well be run independently of the Internet, over dedicated radio and cable." -msgstr "" - -#: template/index.html.j2:38 -msgid "" -"GNUnet is made for a free and open society: It's a self-organizing " -"network and it is free software as in freedom. GNUnet puts you in control of your data. " -"You determine which data to share with whom, and you're not pressured to " -"accept compromises." -msgstr "" - -#: template/index.html.j2:89 -msgid "The Internet of tomorrow needs GNUnet today" -msgstr "" - -#: template/index.html.j2:95 -msgid "Imagine..." -msgstr "" - -#: template/index.html.j2:97 -msgid "" -"The conventional Internet is currently like a system of roads with deep " -"potholes and highwaymen all over the place. Even if you still can use the " -"roads (e.g. send emails, or browse websites) your vehicle might get " -"hijacked, damaged, or long arms might reach into its back and steal your " -"items (data) to use it against you and sell it to others - while you can'" -"t even notice the thievery nor accuse and hold the scroungers accountable. " -"" -msgstr "" - -#: template/index.html.j2:121 -msgid "The Internet is broken" -msgstr "" - -#: template/index.html.j2:123 -msgid "" -"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: " -"protecting against address forgery, routers learning metadata, or choosing " -"trustworthy CAs is nontrivial and sometimes impossible. " -msgstr "" - -#: template/index.html.j2:137 -msgid "" -"GNUnet provides privacy by design, improving addressing, routing, naming and content " -"distribution in a technically robust manner - as opposed to ad-hoc designs " -"in place today. " -msgstr "" - -#: template/index.html.j2:155 -msgid "Decentralization is hard" -msgstr "" - -#: template/index.html.j2:158 -msgid "" -" Instead of sharing common components and tools for " -"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " -"potential number of vulnerabilities." -msgstr "" - -#: template/index.html.j2:174 -msgid "" -"GNUnet is a metadata-preserving foundation for your application, covering " -"areas from addressing to reliable bidirectional Axolotl-encrypted channels, " -"with advanced routing. Our work is based on continuous research spanning " -"almost two decades." -msgstr "" - -#: template/index.html.j2:188 -msgid "Metadata is exposed" -msgstr "" - -#: template/index.html.j2:190 -msgid "" -"Your metadata is just as revealing as the actual content; and it gets " -"exposed on the Internet.
                      Even though transport encryption is " -"increasingly being deployed on the Internet, it still reveals data that can " -"threaten democracy: the identities of senders and receivers, the times, " -"frequency and the volume of communication are all still revealed.
                      GNUnet addresses these concerns with " -"perfect forward secrecy via ephemeral public key addressing, fixed packet " -"size to hinder traffic analysis, layered encryption, Sybil-resistant " -"routing, and more." -msgstr "" - -#: template/index.html.j2:213 -msgid "Freedoms are not respected" -msgstr "" - -#: template/index.html.j2:215 -msgid "" -"Today, monitoring increasingly centralized infrastructure, proprietary " -"implementations, traffic shapers and firewalls restrict all of the essential freedoms to " -"various degrees." -msgstr "" - -#: template/index.html.j2:224 -msgid "" -"GNUnet gives users freedoms to securely access information (\"run\" the " -"network), to study all aspects of the network's operation (\"access the " -"code\"), to distribute information (\"copy\"), as well as the freedom to " -"deploy new applications (\"modify\")." -msgstr "" - -#: template/index.html.j2:236 -msgid "Learn more about GNUnet" -msgstr "" - -#: template/index.html.j2:238 -msgid "" -"If you want to know more about the GNUnet please continue reading the about page. There are much more resources, such as " -"the main handbook / reference manual, a bibliography and videos." -msgstr "" - -#: template/index.html.j2:247 -msgid "" -"You are very welcome to get " -"engaged into the conversation, install GNUnet, use " -"it and contribute. " -"
                      Be aware that this project is still in an early alpha stage when it " -"comes to software – it is not an easy task to rewrite the whole " -"Internet!" -msgstr "" - -#: template/index.html.j2:269 -msgid "Featured Applications" -msgstr "" - -#: template/index.html.j2:275 -msgid "GNU Taler (Alpha)" -msgstr "" - -#: template/index.html.j2:277 -msgid "" -"GNU Taler is a new privacy-preserving " -"electronic payment system. Payments are cryptographically secured and are " -"confirmed within milliseconds with extremely low transaction costs." -msgstr "" - -#: template/index.html.j2:289 -msgid "The GNU Name System" -msgstr "" - -#: template/index.html.j2:292 -msgid "" -" The GNU " -"Name System (GNS) is a fully decentralized replacement for the Domain " -"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. " -"Naming conventions are similar to DNS, but queries and replies are private " -"even with respect to peers providing the answers. The integrity of records " -"and privacy of look-ups is cryptographically secured. " -msgstr "" - -#: template/index.html.j2:309 -msgid "re:claimID" -msgstr "" - -#: template/index.html.j2:311 -msgid "" -"re:claimID is a decentralized " -"Identity Provider (IdP) service built in top of the GNU Name System. It " -"allows users to securely share personal information with websites using " -"standardized protocols (OpenID Connect)." -msgstr "" - -#: template/index.html.j2:324 -msgid "Filesharing (Alpha)" -msgstr "" - -#: template/index.html.j2:326 -msgid "" -"GNUnet filesharing is an application that aims " -"to provide censorship-resistant, anonymous filesharing. The publisher is " -"empowered to make a gradual choice between performance and anonymity." -msgstr "" - -#: template/index.html.j2:337 -msgid "Conversation (Pre-Alpha)" -msgstr "" - -#: template/index.html.j2:339 -msgid "" -"GNUnet conversation is an application that provides secure voice " -"communication in a fully decentralized way by employing GNUnet for routing " -"and transport." -msgstr "" - -#: template/index.html.j2:355 -msgid "Upcoming Applications" -msgstr "" - -#: template/index.html.j2:361 -msgid "secushare" -msgstr "" - -#: template/index.html.j2:363 -msgid "" -"secushare is creating a decentralized " -"social networking application on top of GNUnet. Using overlay multicast and " -"the extensible PSYC protocol, notifications are distributed end-to-end " -"encrypted to authorized recipients only." -msgstr "" - -#: template/index.html.j2:375 -msgid "pretty Easy privacy" -msgstr "" - -#: template/index.html.j2:377 -msgid "" -"pretty Easy privacy (p≡p) is " -"creating a usable end-to-end encrypted e-mail solution using opportunistic " -"key exchange. p≡p will use GNUnet to protect metadata and exploit new " -"cryptographic protocols to verify keys." -msgstr "" - -#: template/install-on-archpi.html.j2:6 -msgid "Tutorial: GNUnet on Arch Linux/Pi" -msgstr "" - -#: template/install-on-archpi.html.j2:16 -msgid "Requirements for Raspberry Pi 3" -msgstr "" - -#: template/install-on-archpi.html.j2:40 -msgid "Get the Source Code" -msgstr "" - -#: template/install-on-archpi.html.j2:62 -#: template/install-on-debian9.html.j2:130 -msgid "In Addition: gnunet-gtk" -msgstr "" - -#: template/install-on-archpi.html.j2:79 -msgid "Run" -msgstr "" - -#: template/install-on-archpi.html.j2:131 -msgid "Make sure, it works!" -msgstr "" - -#: template/install-on-debian9.html.j2:6 -msgid "Tutorial: GNUnet on Debian 9" -msgstr "" - -#: template/install-on-debian9.html.j2:9 -#: template/install-on-ubuntu1804.html.j2:9 -msgid "Introduction" -msgstr "" - -#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 -#: template/install-on-netbsd.html.j2:19 -#: template/install-on-ubuntu1804.html.j2:26 -msgid "Requirements" -msgstr "" - -#: template/install-on-debian9.html.j2:45 -#: template/install-on-ubuntu1804.html.j2:41 -msgid "Make an installation directory" -msgstr "" - -#: template/install-on-debian9.html.j2:59 -#: template/install-on-macos.html.j2:134 -#: template/install-on-netbsd.html.j2:224 -#: template/install-on-ubuntu1804.html.j2:53 -msgid "Get the source code" -msgstr "" - -#: template/install-on-debian9.html.j2:78 -#: template/install-on-macos.html.j2:142 -#: template/install-on-netbsd.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:61 -msgid "Compile and Install" -msgstr "" - -#: template/install-on-debian9.html.j2:103 -#: template/install-on-ubuntu1804.html.j2:70 -msgid "Option 1: GNUnet for testing / usage" -msgstr "" - -#: template/install-on-debian9.html.j2:116 -#: template/install-on-ubuntu1804.html.j2:82 -msgid "Option 2: GNUnet for development" -msgstr "" - -#: template/install-on-debian9.html.j2:153 -#: template/install-on-ubuntu1804.html.j2:97 -msgid "Install GNUnet plugin for name resolution" -msgstr "" - -#: template/install-on-debian9.html.j2:207 -#: template/install-on-ubuntu1804.html.j2:134 -msgid "Create configuration file" -msgstr "" - -#: template/install-on-debian9.html.j2:227 -#: template/install-on-ubuntu1804.html.j2:156 -msgid "Use GNUnet!" -msgstr "" - -#: template/install-on-debian9.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:162 -msgid "Uninstall GNUnet and its dependencies" -msgstr "" - -#: template/install-on-macos.html.j2:6 -msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" -msgstr "" - -#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30 -msgid "Installation" -msgstr "" - -#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102 -msgid "First steps" -msgstr "" - -#: template/install-on-macos.html.j2:109 -#: template/install-on-netbsd.html.j2:182 -msgid "Alternative: Installation from source" -msgstr "" - -#: template/install-on-macos.html.j2:154 -#: template/install-on-netbsd.html.j2:242 -msgid "Option 1: GNUnet for production / usage" -msgstr "" - -#: template/install-on-macos.html.j2:187 -#: template/install-on-netbsd.html.j2:267 -msgid "Option 2: GNUnet experimental" -msgstr "" - -#: template/install-on-netbsd.html.j2:6 -msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" -msgstr "" - -#: template/install-on-ubuntu1804.html.j2:6 -msgid "Tutorial: GNUnet on Ubuntu 18.04" -msgstr "" - -#: template/install.html.j2:11 -msgid "" -"

                      The following GNUnet installation instructions help you building from " -"source for your distribution.

                      Please note that the installation " -"process will get much easier once we have proper packages again (planned for " -"winter 2019).

                      You have already installed GNUnet and want to use " -"it? Check this out!

                      " -msgstr "" - -#: template/install.html.j2:19 -msgid "" -"

                      Please be aware that this project is still in an early alpha stage when " -"it comes to running software – its not an easy task to rewrite the " -"whole Internet! We are happy to get your helping " -"hand anytime!

                      Further information is available in our handbook.

                      If you " -"have any queries about the installation or the usage, please get in touch!

                      " -msgstr "" - -#: template/use.html.j2:6 -msgid "How to use GNUnet - in a nutshell" -msgstr "" - -#: template/use.html.j2:12 template/use.html.j2:123 -msgid "Filesharing" -msgstr "" - -#: template/use.html.j2:13 -msgid "CADET" -msgstr "" - -#: template/use.html.j2:14 -msgid "Minimal Groupchat" -msgstr "" - -#: template/use.html.j2:15 -msgid "GNS with CLI" -msgstr "" - -#: template/use.html.j2:16 -msgid "GNS with Browser" -msgstr "" - -#: template/use.html.j2:17 template/use.html.j2:441 -msgid "VPN" -msgstr "" - -#: template/use.html.j2:18 template/use.html.j2:501 -msgid "Conversation" -msgstr "" - -#: template/use.html.j2:19 template/use.html.j2:512 -msgid "Trouble Shooting" -msgstr "" - -#: template/use.html.j2:34 -msgid "Get on GNUnet" -msgstr "" - -#: template/use.html.j2:78 -msgid "Get off GNUnet" -msgstr "" - -#: template/use.html.j2:88 -msgid "Make sure your GNUnet installation works..." -msgstr "" - -#: template/use.html.j2:105 -msgid "... and play around with it." -msgstr "" - -#: template/use.html.j2:181 -msgid "CADET (and Chat)" -msgstr "" - -#: template/use.html.j2:215 -msgid "Chatting with a (simple) client" -msgstr "" - -#: template/use.html.j2:289 -msgid "Name resolution using GNS on the command line" -msgstr "" - -#: template/use.html.j2:361 -msgid "Name resolution using GNS with a browser" -msgstr "" - -#: template/use.html.j2:514 -msgid "You can't reach other people's nodes" -msgstr "" - -#: template/use.html.j2:550 -msgid "OMG you guys broke my internet" -msgstr "" - -#: template/video.html.j2:12 -msgid "Videos related to GNUnet" -msgstr "" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 99bca689..433198f8 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -18,1933 +18,5 @@ msgstr "" "Language: it\n" "Generated-By: Babel 2.4.0\n" -#: common/base.j2:5 common/news.j2:5 -msgid "GNUnet" -msgstr "" - -#: common/base.j2:6 common/news.j2:6 -msgid "GNU's framework for secure p2p networking" -msgstr "" - -#: common/footer.j2.inc:7 -msgid "Contact" -msgstr "" - -#: common/footer.j2.inc:8 common/navigation.j2.inc:48 -msgid "GNUnet e.V." -msgstr "" - -#: common/footer.j2.inc:9 template/about.html.j2:6 -msgid "About GNUnet" -msgstr "" - -#: common/footer.j2.inc:14 common/navigation.j2.inc:61 -msgid "Bug Tracker" -msgstr "" - -#: common/footer.j2.inc:19 template/copyright.html.j2:6 -msgid "Copyright Assignment" -msgstr "" - -#: common/footer.j2.inc:20 common/navigation.j2.inc:89 -#: template/developers.html.j2:24 -msgid "Bibliography" -msgstr "" - -#: common/footer.j2.inc:31 -msgid "Source code of this site." -msgstr "" - -#: common/footer.j2.inc:32 -msgid "Report issues with this website." -msgstr "" - -#: common/navigation.j2.inc:38 template/index.html.j2:51 -msgid "About" -msgstr "" - -#: common/navigation.j2.inc:39 news/index.html.j2:9 template/index.html.j2:64 -msgid "News" -msgstr "" - -#: common/navigation.j2.inc:43 -msgid "Community" -msgstr "" - -#: common/navigation.j2.inc:46 template/index.html.j2:55 -msgid "Engage" -msgstr "" - -#: common/navigation.j2.inc:47 -msgid "GSoC Projects" -msgstr "" - -#: common/navigation.j2.inc:49 -msgid "Copyright for Contributors" -msgstr "" - -#: common/navigation.j2.inc:50 -msgid "IRC Archive" -msgstr "" - -#: common/navigation.j2.inc:57 -msgid "Development" -msgstr "" - -#: common/navigation.j2.inc:60 -msgid "System Architecture" -msgstr "" - -#: common/navigation.j2.inc:62 template/gnurl.html.j2:147 -msgid "Source Code" -msgstr "" - -#: common/navigation.j2.inc:63 -msgid "Source Code Documentation" -msgstr "" - -#: common/navigation.j2.inc:66 -msgid "Continuous Integration" -msgstr "" - -#: common/navigation.j2.inc:68 -msgid "Development Tutorial" -msgstr "" - -#: common/navigation.j2.inc:79 -msgid "Documentation" -msgstr "" - -#: common/navigation.j2.inc:82 template/index.html.j2:53 -#: template/install.html.j2:6 -msgid "Install" -msgstr "" - -#: common/navigation.j2.inc:83 -msgid "Use" -msgstr "" - -#: common/navigation.j2.inc:84 -msgid "Videos" -msgstr "" - -#: common/navigation.j2.inc:85 template/glossary.html.j2:6 -msgid "Glossary" -msgstr "" - -#: common/navigation.j2.inc:86 -msgid "Handbook" -msgstr "" - -#: common/navigation.j2.inc:87 -msgid "REST API" -msgstr "" - -#: common/navigation.j2.inc:88 -msgid "FAQ" -msgstr "" - -#: inc/news.macro.j2:10 -msgid "read more" -msgstr "" - -#: template/about.html.j2:11 -msgid "What is GNUnet?" -msgstr "" - -#: template/about.html.j2:13 -msgid "" -"GNUnet is an alternative network stack for building secure, decentralized " -"and privacy-preserving distributed applications. Our goal is to replace the " -"old insecure Internet protocol stack. Starting from an application for " -"secure publication of files, it has grown to include all kinds of basic " -"protocol components and applications towards the creation of a GNU internet." -msgstr "" - -#: template/about.html.j2:23 -msgid "" -"Today, the actual use and thus the social requirements for a global network " -"differs widely from those goals of 1970. While the Internet remains suitable " -"for military use, where the network equipment is operated by a command " -"hierarchy and when necessary isolated from the rest of the world, the " -"situation is less tenable for civil society." -msgstr "" - -#: template/about.html.j2:32 -msgid "" -"Due to fundamental Internet design choices, Internet traffic can be " -"misdirected, intercepted, censored and manipulated by hostile routers on the " -"network. And indeed, the modern Internet has evolved exactly to the point " -"where, as Matthew Green put it, \"the " -"network is hostile\"." -msgstr "" - -#: template/about.html.j2:41 -msgid "" -"We believe liberal societies need a network architecture that uses the anti-" -"authoritarian decentralized peer-to-peer paradigm and privacy-preserving " -"cryptographic protocols. The goal of the GNUnet project is to provide a Free " -"Software realization of this ideal." -msgstr "" - -#: template/about.html.j2:49 -msgid "" -"Specifically, GNUnet tries to follow the following design principles, in " -"order of importance:" -msgstr "" - -#: template/about.html.j2:56 -msgid "" -"GNUnet must be implemented as Free Software." -msgstr "" - -#: template/about.html.j2:60 -msgid "" -"GNUnet must minimize the amount of personally identifiable information " -"exposed." -msgstr "" - -#: template/about.html.j2:61 -msgid "" -"GNUnet must be fully distributed and resilient to external attacks and rogue " -"participants." -msgstr "" - -#: template/about.html.j2:62 -msgid "" -"GNUnet must be self-organizing and not depend on administrators or " -"centralized infrastructure." -msgstr "" - -#: template/about.html.j2:63 -msgid "" -"GNUnet must inform the user which other participants have to be trusted when " -"establishing private communications." -msgstr "" - -#: template/about.html.j2:64 -msgid "GNUnet must be open and permit new peers to join." -msgstr "" - -#: template/about.html.j2:65 -msgid "GNUnet must support a diverse range of applications and devices." -msgstr "" - -#: template/about.html.j2:66 -msgid "GNUnet must use compartmentalization to protect sensitive information." -msgstr "" - -#: template/about.html.j2:67 -msgid "The GNUnet architecture must be resource efficient." -msgstr "" - -#: template/about.html.j2:68 -msgid "" -"GNUnet must provide incentives for peers to contribute more resources than " -"they consume." -msgstr "" - -#: template/about.html.j2:72 -msgid "" -"To get know and learn more, please check our handbook, especially the chapter on \"Key Concepts" -"\", explaining the fundamental concepts of GNUnet: " -msgstr "" - -#: template/about.html.j2:88 -msgid "More Resources" -msgstr "" - -#: template/about.html.j2:90 -msgid "" -"There are many more resources to learn about GNUnet besides the handbook, such as the " -"bibliography with papers covering " -"the various layers, many videos or a brief glossary." -msgstr "" - -#: template/about.html.j2:95 -msgid "" -"You are most welcome to get engaged into the " -"conversation, install GNUnet, use it and contribute and get engaged " -"in various ways." -msgstr "" - -#: template/about.html.j2:100 -msgid "" -"Please be aware that this project is (despite of it's age) still in an early " -"alpha stage when it comes to software – its not an easy task to " -"rewrite the whole Internet!" -msgstr "" - -#: template/about.html.j2:105 -msgid "Current funding" -msgstr "" - -#: template/about.html.j2:110 -msgid "" -"We're receiving funding from NLnet's Next Generation Internet funding line " -"to document and implement the GNU Name System protocol in a way suitable for " -"the IETF standardization process." -msgstr "" - -#: template/about.html.j2:123 -msgid "" -"We are grateful for free hosting offered by the following organizations:" -msgstr "" - -#: template/about.html.j2:132 -msgid "Past funding" -msgstr "" - -#: template/about.html.j2:134 -msgid "We are grateful for past funding from the following organizations:" -msgstr "" - -#: template/architecture.html.j2:6 -msgid "GNUnet System Architecture" -msgstr "" - -#: template/architecture.html.j2:15 -msgid "Legend" -msgstr "" - -#: template/architecture.html.j2:55 -msgid "Foundations" -msgstr "" - -#: template/architecture.html.j2:57 -msgid "" -"The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like " -"end-to-end encrypted messaging layer (CADET), a public key infrastructure " -"(GNS) and a pluggable transport system (TRANSPORT).
                      Using public keys " -"for addresses and self-organized decentralized routing algorithms, these " -"subsystems replace the traditional TCP/IP stack." -msgstr "" - -#: template/architecture.html.j2:70 -msgid "Security" -msgstr "" - -#: template/architecture.html.j2:73 -msgid "" -"GNUnet is implemented using a multi-process architecture. Each subsystem " -"runs as a separate process, providing fault-isolation and enabling tight " -"permissions to be granted to each subsystem. Naturally, the implementation " -"is a GNU package, and will always " -"remain free software." -msgstr "" - -#: template/architecture.html.j2:87 -msgid "System architecture" -msgstr "" - -#: template/architecture.html.j2:93 -msgid "Subsystems" -msgstr "" - -#: template/architecture.html.j2:102 -msgid "libgnunetutil" -msgstr "" - -#: template/architecture.html.j2:108 -msgid "APIs" -msgstr "" - -#: template/contact.html.j2:6 -msgid "Contact information" -msgstr "" - -#: template/contact.html.j2:11 -msgid "The mailing list" -msgstr "" - -#: template/contact.html.j2:13 -msgid "" -"An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/" -"mailman/listinfo/gnunet-developers. You can send messages to the list at " -"gnunet-developers@gnu.org." -msgstr "" - -#: template/contact.html.j2:23 -msgid "The IRC channel" -msgstr "" - -#: template/contact.html.j2:25 -msgid "" -"#gnunet is reachable via irc." -"freenode.net. There is also an archive available (currently unavailable, we are working on " -"restoring access to it)." -msgstr "" - -#: template/contact.html.j2:38 -msgid "Contacting individuals" -msgstr "" - -#: template/contact.html.j2:40 -msgid "" -"GNUnet developers are generally reachable at either PSEUDONYM@gnunet." -"org or LASTNAME@gnunet.org. Most of us support receiving GnuPG " -"encrypted Emails." -msgstr "" - -#: template/contact.html.j2:50 -msgid "Reporting bugs" -msgstr "" - -#: template/contact.html.j2:52 -msgid "" -"We track open feature requests and bugs for projects within GNUnet in our Bug tracker. You can also report bugs " -"or feature requests to the bug-gnunet mailing list. The mailinglist requires no " -"subscription." -msgstr "" - -#: template/copyright.html.j2:11 -msgid "" -"

                      Contributors to GNUnet with Git access must sign the copyright assignment to ensure that the GNUnet e.V. --- Taler Systems SA agreement on licensing and collaborative " -"development of the GNUnet and GNU Taler projects is satisfied.

                      " -msgstr "" - -#: template/copyright.html.j2:22 -msgid "" -"

                      The agreements ensure that the code will continue to be made available " -"under free software licenses, but gives developers the freedom to move code " -"between GNUnet and GNU Taler without worrying about licenses and to give the " -"company the ability to dual-license (for example, so that we can distribute " -"via App-stores that are hostile to free software).

                      " -msgstr "" - -#: template/copyright.html.j2:30 -msgid "" -"

                      Minor contributions (basically, anyone without Git access) do not require " -"copyright assignment. Pseudonymous contributions are accepted, in this case " -"simply sign the agreement with your pseudonym. Scanned copies are " -"sufficient, but snail mail is preferred.

                      " -msgstr "" - -#: template/developers.html.j2:5 -msgid "GNUnet for developers" -msgstr "" - -#: template/developers.html.j2:13 -msgid "Repositories" -msgstr "" - -#: template/developers.html.j2:16 -msgid "" -"A list of our Git repositories can be found on our our Git Server." -msgstr "" - -#: template/developers.html.j2:27 -msgid "" -"Technical papers can be found in our bibliography." -msgstr "" - -#: template/developers.html.j2:34 -msgid "Discussion" -msgstr "" - -#: template/developers.html.j2:37 -msgid "" -"We have a mailing list for developer discussions. You can subscribe to or " -"read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-developers." -msgstr "" - -#: template/developers.html.j2:47 -msgid "Regression Testing" -msgstr "" - -#: template/developers.html.j2:50 -msgid "" -"We have Buildbot automation tests to " -"detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." -msgstr "" - -#: template/developers.html.j2:59 -msgid "Code Coverage Analysis" -msgstr "" - -#: template/developers.html.j2:62 -msgid "" -"We use LCOV to " -"analyze the code coverage of our tests, the results are available at https://old.gnunet.org/coverage/." -msgstr "" - -#: template/developers.html.j2:72 -msgid "Performance Analysis" -msgstr "" - -#: template/developers.html.j2:75 -msgid "" -"We use Gauger for performance " -"regression analysis of the exchange backend at https://old.gnunet.org/gauger/." -msgstr "" - -#: template/download.html.j2:7 template/gnurl.html.j2:169 -msgid "Downloads" -msgstr "" - -#: template/download.html.j2:11 -msgid "" -"Here you can download releases of our software and find links to the various " -"versions." -msgstr "" - -#: template/download.html.j2:17 -msgid "0.11.x series" -msgstr "" - -#: template/download.html.j2:18 -msgid "tarball" -msgstr "" - -#: template/download.html.j2:20 -msgid "" -"The tarball of the latest version can be obtained from GNU FTP and its " -"mirrors." -msgstr "" - -#: template/download.html.j2:30 -msgid "git" -msgstr "" - -#: template/download.html.j2:32 -msgid "" -"You can fetch the git tag of version 0.11.x from our development server:" -msgstr "" - -#: template/engage.html.j2:6 -msgid "Engage!" -msgstr "" - -#: template/ev.html.j2:6 -msgid "Verein zur Förderung von GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:11 -msgid "About GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:13 -msgid "" -"On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the " -"\"Verein zur Förderung von GNUnet e.V.\", an association under German " -"law to support GNUnet development. The Amtsgericht München registered " -"the association on the 7th of March under VR 205287." -msgstr "" - -#: template/ev.html.j2:22 -msgid "" -"The association is officially dedicated to supporting research, development " -"and education in the area of secure decentralized networking in general, and " -"GNUnet specifically. This is the official website for the association." -msgstr "" - -#: template/ev.html.j2:31 -msgid "Becoming a Member of GNUnet e.V." -msgstr "" - -#: template/ev.html.j2:33 -msgid "" -"GNUnet developers with git (write) access can become members to participate " -"in the decision process and formally support GNUnet e.V. For this, all you " -"have to do is update the members.txt file in the gnunet-ev repository. There are no " -"membership dues; however, members are required to support GNUnet e.V. and in " -"particularly contribute to the technical development within their means. For " -"further details, we refer to the Satzung (currently only available in German, translations " -"welcome)." -msgstr "" - -#: template/ev.html.j2:52 -msgid "Governance" -msgstr "" - -#: template/ev.html.j2:54 -msgid "" -"You can find our \"Satzung\", and the list of members under https://git.gnunet." -"org/gnunet-ev.git/tree/satzung.tex. The current board consists of: " -"
                      Vorsitz
                      Christian Grothoff
                      stellvertretender Vorsitz
                      xrs
                      Kassenwart
                      Florian Dold
                      Beisitzer
                      Lurchi
                      " -msgstr "" - -#: template/ev.html.j2:71 -msgid "Official Meeting Notes" -msgstr "" - -#: template/ev.html.j2:84 -msgid "Support Us!" -msgstr "" - -#: template/ev.html.j2:86 -msgid "" -"Everybody is welcome to support us via donations. For financial " -"contributions, Europeans are able to donate via SEPA. We hope to setup " -"accounts in other major currency areas in the future. You can also donate " -"via Bitcoin, routing details are given below. Please note that we are unable " -"to provide receipts for your donations. If you are planning to donate a " -"significant amount of money, please contact us first as it might be better " -"to come to a custom arrangement.
                      BitCoin
                      " -"
                      1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
                      SEPA/IBAN
                      " -"
                      DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
                      " -msgstr "" - -#: template/faq.html.j2:12 -msgid "" -"I receive many "WARNING Calculated flow delay for X at Y for Z". " -"Should I worry?" -msgstr "" - -#: template/faq.html.j2:14 -msgid "" -"A: Right now, this is expected and a known cause for high latency in GNUnet. " -"We have started a major rewrite to address this and other problems, but " -"until the Transport Next Generation (TNG) is ready, these warnings are " -"expected." -msgstr "" - -#: template/faq.html.j2:23 -msgid "Is there a graphical user interface?" -msgstr "" - -#: template/faq.html.j2:25 -msgid "" -"A: gnunet-gtk is a separate download. The package contains various GTK+ " -"based graphical interfaces, including a graphical tool for configuration." -msgstr "" - -#: template/glossary.html.j2:12 -msgid "Ego" -msgstr "" - -#: template/glossary.html.j2:14 -msgid "" -"We use the term \"Ego\" to refer to the fact that users in GNUnet can have " -"multiple unlinkable identities, in the sense of alter egos. The ability to " -"have more than one identity is crucial, as we may want to keep our egos for " -"business separate from those we use for political activities or romance.
                      " -"Egos in GNUnet are technically equivalent to identities (and the code does " -"not distinguish between them). We simply sometimes use the term \"ego\" to " -"stress that you can have more than one." -msgstr "" - -#: template/glossary.html.j2:27 -msgid "Identity" -msgstr "" - -#: template/glossary.html.j2:29 -msgid "" -"In GNUnet users are identified via a public key, and that public key is then " -"often referred to as the \"Identity\" of the user. However, the concept is " -"not as draconian as it often is in real life where many are forced to have " -"one name, one passport and one unique identification number.
                      As long as " -"identities in GNUnet are simply public keys, users are free to create any " -"number of identities, and we call those egos to emphasize the difference. " -"Even though users can create such egos freely, it is possible to have an ego " -"certified by some certification authority, resulting in something that more " -"closely resembles the traditional concept of an identity.
                      For example, a " -"university may certify the identities of its students such that they can " -"prove that they are studying. Students may keep their (certified) student " -"identity separate from other egos that they use for other activities in life." -msgstr "" - -#: template/glossary.html.j2:50 -msgid "Pseudonym" -msgstr "" - -#: template/glossary.html.j2:52 -msgid "" -"A pseudonym is an ego that is specifically intended to not be linked to " -"one's real name. GNUnet users can create many egos, and thus also many " -"pseudonyms.
                      Repeated uses of the same pseudonym are linkable by " -"definition, as they involve the same public key. Anonymity requires the use " -"of either the special \"anonymous\" pseudonym (for GNUnet, this is the " -"neutral element on the elliptic curve) or a throw-away pseudonym that is " -"only used once." -msgstr "" - -#: template/glossary.html.j2:71 -msgid "Namespaces" -msgstr "" - -#: template/glossary.html.j2:73 -msgid "" -"The GNU Name System allows every ego (or identity) to securely and privately " -"associate any number of label-value pairs with an ego. The values are called " -"record sets following the terminology of the Domain Name System (DNS). The " -"mapping of labels to record sets for a given ego is called a namespace.
                      " -"If records are made public and thus published, it is possible for other " -"users to lookup the record given the ego's public key and the label. Here, " -"not only the label can thus act as a passphrase but also the public key -- " -"which despite its name may not be public knowledge and is never disclosed by " -"the GNS protocol itself." -msgstr "" - -#: template/glossary.html.j2:89 -msgid "Peer" -msgstr "" - -#: template/glossary.html.j2:91 -msgid "" -"A \"peer\" is an instance of GNUnet with its own per-instance public key and " -"network addresses. Technically, it is possible to run multiple peers on the " -"same host, but this only makes sense for testing.
                      By design GNUnet " -"supports multiple users to share the same peer, just as UNIX is a multi-user " -"system. A \"peer\" typically consists of a set of foundational GNUnet " -"services running as the \"gnunet\" user and allowing all users in the " -"\"gnunet\" group to utilize the API. On multi-user systems, additional " -"\"personalized\" services may be required per user.
                      While peers are " -"also identified by public keys, these public keys are completely unrelated " -"to egos or identities. Namespaces cannot be associated with a peer, only " -"with egos." -msgstr "" - -#: template/gnurl.html.j2:20 -msgid "" -"libgnurl is a micro fork of libcurl. The goal of libgnurl is to support only " -"HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend (GnuTLS) to " -"ensure a small footprint and uniform experience for developers regardless of " -"how libcurl was compiled.
                      Our main usecase is for GNUnet, but it might " -"be usable for others, hence we're releasing the code to the general public." -"
                      libgnurl is released under the same license as libcurl. Please read the " -"README for instructions, as you must supply the correct options to configure " -"to get a proper build of libgnurl." -msgstr "" - -#: template/gnurl.html.j2:35 -msgid "About gnurl" -msgstr "" - -#: template/gnurl.html.j2:37 -msgid "" -"Large parts of the following 6 paragraphs are old and need to be rewritten." -msgstr "" - -#: template/gnurl.html.j2:43 -msgid "Motivation" -msgstr "" - -#: template/gnurl.html.j2:45 -msgid "" -"cURL supports many crypto backends. GNUnet requires the use of GnuTLS, but " -"other variants are used by some distributions. Supporting other crypto " -"backends would again expose us to a wider array of security issues, may " -"create licensing issues and most importantly introduce new bugs as some " -"crypto backends are known to introduce subtle runtime issues. While it is " -"possible to have two versions of libcurl installed on the same system, this " -"is error-prone, especially as if we are linked against the wrong version, " -"the bugs that arise might be rather subtle." -msgstr "" - -#: template/gnurl.html.j2:58 -msgid "" -"For GNUnet, we also need a particularly modern version of GnuTLS. Thus, it " -"would anyway be necessary to recompile cURL for GNUnet. But what happens if " -"one links cURL against this version of GnuTLS? Well, first one would install " -"GnuTLS by hand in the system. Then, we build cURL. cURL will build against " -"it just fine, but the linker will eventually complain bitterly. The reason " -"is that cURL also links against a bunch of other system libraries (gssapi, " -"ldap, ssh2, rtmp, krb5, sasl2, see discussion on obscure protocols above), " -"which --- as they are part of the distribution --- were linked against an " -"older version of GnuTLS. As a result, the same binary would be linked " -"against two different versions of GnuTLS. That is typically a recipe for " -"disaster. Thus, in order to avoid updating a dozen system libraries (and " -"having two versions of those installed), it is necessary to disable all of " -"those cURL features that GNUnet does not use, and there are many of those. " -"For GNUnet, the more obscure protocols supported by cURL are close to dead " -"code --- mostly harmless, but not useful. However, as some application may " -"use one of those features, distributions are typically forced to enable all " -"of those features, and thus including security issues that might arise from " -"that code." -msgstr "" - -#: template/gnurl.html.j2:82 -msgid "" -"So to use a modern version of GnuTLS, a sane approach is to disable all of " -"the \"optional\" features of cURL that drag in system libraries that link " -"against the older GnuTLS. That works, except that one should then NEVER " -"install that version of libcurl in say /usr or /usr/local, as that may break " -"other parts of the system that might depend on these features that we just " -"disabled. Libtool versioning doesn't help here, as it is not intended to " -"deal with libraries that have optional features. Naturally, installing cURL " -"somewhere else is also problematic, as we now need to be really careful that " -"the linker will link GNUnet against the right version. Note that none of " -"this can really be trivially fixed by the cURL developers." -msgstr "" - -#: template/gnurl.html.j2:97 -msgid "Rename to fix" -msgstr "" - -#: template/gnurl.html.j2:99 -#, python-format -msgid "" -"How does forking fix it? Easy. First, we can get rid of all of the " -"compatibility issues --- if you use libgnurl, you state that you don't need " -"anything but HTTP/HTTPS. Those applications that need more, should stick " -"with the original cURL. Those that do not, can choose to move to something " -"simpler. As the library gets a new name, we do not have to worry about tons " -"of packages breaking as soon as one rebuilds it. So renaming itself and " -"saying that \"libgnurl = libcurl with only HTTP/HTTPS support and GnuTLS\" " -"fixes 99%% of the problems that darkened my mood. Note that this pretty much " -"CANNOT be done without a fork, as renaming is an essential part of the fix. " -"Now, there might be creative solutions to achieve the same thing within the " -"standard cURL build system, but I'm not happy to wait for a decade for " -"Daniel to review the patches. The changes libgnurl makes to curl are " -"miniscule and can easily be applied again and again whenever libcurl makes a " -"new release." -msgstr "" - -#: template/gnurl.html.j2:118 -msgid "Using libgnurl" -msgstr "" - -#: template/gnurl.html.j2:120 -msgid "" -"Projects that use cURL only for HTTP/HTTPS and that would work with GnuTLS " -"should be able to switch to libgnurl by changing \"-lcurl\" to \"-lgnurl\". " -"That's it. No changes to the source code should be required, as libgnurl " -"strives for bug-for-bug compatibility with the HTTP/HTTPS/GnuTLS subset of " -"cURL. We might add new features relating to this core subset if they are " -"proposed, but so far we have kept our changes minimal and no additions to " -"the original curl source have been written." -msgstr "" - -#: template/gnurl.html.j2:133 -msgid "Gotchas" -msgstr "" - -#: template/gnurl.html.j2:135 -msgid "" -"libgnurl and gnurl are not intended to be used as a replacement for curl for " -"users. Since no conflicts in filenames should occur you are not expected to " -"remove curl to make use of gnurl and viceversa." -msgstr "" - -#: template/gnurl.html.j2:149 -msgid "You can get the gnurl git repository using:" -msgstr "" - -#: template/gnurl.html.j2:162 -msgid "The versions are checked in as (signed) git tags." -msgstr "" - -#: template/gnurl.html.j2:171 -msgid "" -"Releases are published on ftpmirror.gnu.org/gnu/gnunet. gnurl is available from within a " -"variety of distributions and package managers. Package Managers which " -"include gnurl are: GNU Guix (available as \"gnurl\"), Gentoo " -"through the collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." -msgstr "" - -#: template/gnurl.html.j2:188 -msgid "Building gnurl" -msgstr "" - -#: template/gnurl.html.j2:190 -msgid "" -"We suggest to closely follow release announcements, as they might indicate " -"changes in how gnurl is to be build.
                      If your package manager provides a " -"binary build or build instructions to build gnurl from source automated and " -"integrated with your environment, we strongly suggest to use this binary " -"build.
                      There are two ways to build gnurl. The first one builds from the " -"most recent git tag, the second one uses the distributed tarball. " -"Distributors generally are supposed to build from the tarball, but we " -"describe both methods here. Both methods are written with a NetBSD 9 " -"userland in mind, substitute tools as necessary.
                      You should avoid building gnurl from the tip of the default git branch, as only tags are " -"considered to be stable and approved builds." -msgstr "" - -#: template/gnurl.html.j2:211 -msgid "Building from the distributed tarball (prefered method)" -msgstr "" - -#: template/gnurl.html.j2:213 -msgid "" -"If you want to verify the signature, install an OpenPGP compatible tool such " -"as security/gnupgp2 (and set it up). Assuming you use pkgin:" -msgstr "" - -#: template/gnurl.html.j2:227 -msgid "Fetch the signature key from" -msgstr "" - -#: template/gnurl.html.j2:231 -msgid "or via commandline with gnupg2." -msgstr "" - -#: template/gnurl.html.j2:236 -msgid "" -"Fetch the release, the signature, the checksum file as well as its signature:" -msgstr "" - -#: template/gnurl.html.j2:255 -msgid "" -"verify the signatures, and verify the checksums against the checksums in " -"the .sum.txt file." -msgstr "" - -#: template/gnurl.html.j2:261 -msgid "unpack the tarball:" -msgstr "" - -#: template/gnurl.html.j2:271 -msgid "Change into the directory" -msgstr "" - -#: template/gnurl.html.j2:281 -msgid "Now you can either run" -msgstr "" - -#: template/gnurl.html.j2:291 -msgid "directly (and read configure-gnurl before you do so) or invoke" -msgstr "" - -#: template/gnurl.html.j2:301 -msgid "" -"and pass additional parameters such as a custom PREFIX location. Further " -"reference can be the" -msgstr "" - -#: template/gnurl.html.j2:306 -msgid "Now run" -msgstr "" - -#: template/gnurl.html.j2:316 -msgid "(this is optional)" -msgstr "" - -#: template/gnurl.html.j2:325 -msgid "and you are done." -msgstr "" - -#: template/gnurl.html.j2:329 -msgid "Building from a tagged git commit" -msgstr "" - -#: template/gnurl.html.j2:331 -msgid "" -"Follow the steps above, but instead of downloading the tarball, clone the " -"git tag you want to build from." -msgstr "" - -#: template/gnurl.html.j2:342 -msgid "Reporting Bugs" -msgstr "" - -#: template/gnurl.html.j2:344 -msgid "" -"You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you can use our bug mailinglist, but " -"we prefer to track bugs on the bugtracker." -msgstr "" - -#: template/gnurl.html.j2:354 -msgid "Maintainer and Cryptographic signatures" -msgstr "" - -#: template/gnurl.html.j2:356 -msgid "" -"gnurl/libgnurl is maintained by ng0. Releases are signed with the OpenPGP " -"Key A88C8ADD129828D7EAC02E52E22F9BBFEE348588, with the key " -"fingerprint A88C 8ADD 1298 28D7 EAC0 2E52 E22F 9BBF EE34 8588." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:7 -msgid "GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:11 -msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:17 -msgid "" -"What was done?
                      In the context of Google Summer of " -"Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and " -"extending the REST API of GNUnet. Currently, we mirrored the functionality " -"of following commands:" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:32 -msgid "" -"Additionally, we developed a website with the Javascript framework Angular 6 " -"and the design framework iotaCSS to use the new REST API. The REST API of " -"GNUnet is now documented with Sphinx." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:40 -msgid "" -"Why did we create a REST API?
                      ... when you can use " -"the command line tools?
                      We need to keep in mind, that everyone has the " -"right to stay secure and private but not everyone feels comfortable using a " -"terminal. The further developed REST access to GNUnet APIs in addition to " -"the new web application allows new users to interact with GNUnet over a well " -"known tool: their browsers. This addition to the C API and the command line " -"tools may attract new users and developers." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:52 -msgid "" -"How can we use it?
                      1. The REST API developed in " -"GNUnet
                      The REST API is already merged into the gnunet.git repository " -"(GNUnet Main Git).
                      " -"To use the new features, clone the repository and follow the Installation on gnunet.org. Then, " -"start the rest service with \"gnunet-arm -i rest\"." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:63 -msgid "" -"2. The Web Application
                      The web application is available under the " -"gnunet-webui.git repository (GNUnet WebUI Git).
                      You need to install the newest version " -"of 'node' and 'yarn'. Dependent on your system, you may need to download " -"newer versions and install them manually and not over your packet manager. " -"After the installation succeeded, you need to clone the repository. Then, " -"you need to run \"yarn install\" and \"yarn start\" for testing purposes. To " -"deploy the website (keep in mind, that this website communicates with " -"another localhost instance) use \"yarn build\" for building the web " -"application and use the output in the 'dist' directory." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:80 -msgid "" -"3. The Documentation
                      The documentation is available under the gnunet-" -"rest-api.git repository (GNUnet REST API Docmentation Git).
                      Clone the repository and " -"\"make html\". Then open the 'index.html' under 'build/html/'." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:91 -msgid "" -"Please, give it a try and contact me, if you find any bugs or unintentional " -"features. ;)" -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:97 -msgid "" -"What can be improved?
                      Right now, the build process of " -"the web application may be a little too complex for a casual user. We may be " -"able to solve this by using docker.
                      Additionally, the web application " -"does not prevent wrong inputs but responds with error messages. Adding " -"GNUnet Records is currently only usable for people, who know how a GNS " -"Record looks like. This can be adapted to each record type.
                      Last but " -"not least, additional features, design changes, etc..." -msgstr "" - -#: template/gsoc-2018-gnunet-webui.html.j2:111 -msgid "Thanks for reading." -msgstr "" - -#: template/gsoc.html.j2:6 -msgid "GNUnet's Google Summer of Code projects" -msgstr "" - -#: template/gsoc.html.j2:12 template/gsoc.html.j2:28 -msgid "Current projects" -msgstr "" - -#: template/gsoc.html.j2:13 template/gsoc.html.j2:30 -msgid "Past projects" -msgstr "" - -#: template/gsoc.html.j2:14 template/gsoc.html.j2:553 -msgid "Finished projects" -msgstr "" - -#: template/gsoc.html.j2:21 -msgid "" -"As a GNU project, GNUnet has participated in the Google Summer of Code " -"(GSoC) for a number of years. This page lists all current, past, and " -"finished projects." -msgstr "" - -#: template/gsoc.html.j2:37 -msgid "" -"It is time for GNUnet to run properly on Android. Note that GNUnet is " -"written in C, and this is not about rewriting GNUnet in Java, but about " -"getting the C code to run on Android." -msgstr "" - -#: template/gsoc.html.j2:44 -msgid "" -"Mentors: Hartmut " -"Goebel" -msgstr "" - -#: template/gsoc.html.j2:53 -msgid "" -"There is a push for migrating our CI to Gitlab. The CI should eventually not " -"just run \"make check\" on various platforms, but also perform tests with " -"multiple peers running in different VMs with specific network topologies (i." -"e. NAT) between them being simulated. The CI should also be integrated with " -"Gauger for performance regression analysis. Running jobs only when " -"dependencies have changed and scripting more granular triggers or ideally " -"automatic dependency discovery (as done by the autotools) is also important." -msgstr "" - -#: template/gsoc.html.j2:65 -msgid "Mentors: TBD" -msgstr "" - -#: template/gsoc.html.j2:74 -msgid "" -"reclaimID is a decentralized identity system build on top of the GNU Name " -"System. Upon authorization, the user provides a requesting party (RP) such " -"as a website with an authorization ticket (e.g. piggybacked in an OpenID " -"authorization code). The RP uses information contained in this ticket to " -"
                      1. Retrieve the decryption key from GNS
                      2. Retrieve the user " -"attributes from GNS
                      The GNS lookups ensure that the RP receives " -"up-to-date attributes and functional decryption keys. However, in particular " -"the RP-specific encryption key resolution can be slow and even fail " -"depending on the network topology. We propose that in an initial exchange, " -"in particular OpenID authorization code flows, we try to incorporate key and " -"maybe even an attribute set in the ticket exchange. In order to mitigate " -"this issue, this project is meant to investigate and implement how...
                        " -"
                      1. ... decryption keys can be added to an initial exchange in OpenID.
                      2. " -"
                      3. ... initial set(s) of attributes can be piggybacked in OpenID.

                      4. Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:105 -msgid "" -"re:claimID is a decentralized identity system build on top of the GNU Name " -"System. The initial design and implementation of re:claimID includes an " -"attribute-based encryption module in order to prevent unauthorized access to " -"attributes in the name system. Our motivation for re:claimID was for it to " -"be name system agnostic, which means the design theoretically also works for " -"other name systems such as namecoin. Other name systems often do not have " -"built-in mechanisms in order to do this. Hence, we implemented an ABE access " -"control layer. Our ABE implementation requires two third party libraries: " -"libpbc and libgabe. While we could merge libgabe into the gnunet service " -"implementation of re:claimID, libpbc is a rather large, third party library " -"which lacks packaging in distributions and for platforms. On the other hand, " -"GNS supports record data encryption using symmetric keys as labels. If we " -"make the access control layer of re:claimID more generic in order to support " -"both ABE and GNS encryption, we could reduce the required depenencies. This " -"would result in gnunet packages to include re:claimID by default. In short, " -"the goals are to...
                        1. ... improve performance by reducing encryption " -"overhead.
                        2. ... reduce dependencies.

                        " -"Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:140 -msgid "" -"One great problem of the current Internet is the lack of disintermediation. " -"When people want to talk they need a chat service. When they want to share " -"files they need a file transfer service. Although GNUnet already possesses " -"quite advanced integration into Linux networking, a little extra work is " -"needed for existing applications like irc, www, ftp, rsh, nntpd to run over " -"it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. " -"Once people have added a person to their GNS they can immediately message, " -"exchange files and suchlike directly, with nothing but the GNUnet in the " -"middle, using applications that have been distributed with unix systems ever " -"since the 1980's. We can produce an OS distribution where these things work " -"out of the box with the nicknames of people instead of cloud services. For " -"more information and context, read" -msgstr "" - -#: template/gsoc.html.j2:161 -msgid "Mentors: lynX & dvn" -msgstr "" - -#: template/gsoc.html.j2:169 -msgid "" -"There are a variety of GNUNet APIs that should be exposed in the Rust " -"wrappers. Implementing these will require extending the port of GNUNet utils " -"written by Andrew Cann and Kelong Cong." -msgstr "" - -#: template/gsoc.html.j2:177 -msgid "" -"As an introduction to the code base, we suggest that the student and Jeff " -"Burdges together update the asynchronous IO system from gjio to futures-rs " -"or another layer built upon it. Jeff Burdges is expected to concurrently be " -"implementing a GNUNet API for his own mix network work." -msgstr "" - -#: template/gsoc.html.j2:187 template/gsoc.html.j2:211 -#: template/gsoc.html.j2:265 template/gsoc.html.j2:295 -#: template/gsoc.html.j2:539 -msgid "Mentors: Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:192 -msgid "Required Skills: Rust" -msgstr "" - -#: template/gsoc.html.j2:197 -msgid "Difficulty level: low" -msgstr "" - -#: template/gsoc.html.j2:205 -msgid "" -"Implement the AnycastExit spec to enable GNUnet clients to connect over Tor." -msgstr "" - -#: template/gsoc.html.j2:216 -msgid "" -"Note: There was a Special TLDs spec to allow Tor to resolve domain names " -"using GNS over Tor too, but currently that's on hold until folks think more " -"about how names should be moved around the local system. We're calling this " -"more collaborative approach NSS2 for now." -msgstr "" - -#: template/gsoc.html.j2:225 template/gsoc.html.j2:399 -#: template/gsoc.html.j2:439 template/gsoc.html.j2:469 -msgid "Required Skills: C" -msgstr "" - -#: template/gsoc.html.j2:230 template/gsoc.html.j2:474 -#: template/gsoc.html.j2:619 -msgid "Difficulty level: medium" -msgstr "" - -#: template/gsoc.html.j2:238 -msgid "" -"Design and implementation of REST APIs " -"that expose the GNUnet API so that easy, hands-on development is possible. Also, " -"browser-based UIs will be much easier to create on top of REST APIs." -msgstr "" - -#: template/gsoc.html.j2:249 template/gsoc.html.j2:609 -msgid "Mentors: Martin Schanzenbach" -msgstr "" - -#: template/gsoc.html.j2:257 -msgid "" -"Improve the Rust implementation of GNUnet utils, possibly including adding " -"support for asynchronous IO using mio, or perhaps a higher level " -"asynchronous IO library built upon it, such as rotor, mioco, eventual_io, or " -"gj." -msgstr "" - -#: template/gsoc.html.j2:273 -msgid "" -"Implement rudimentary Android compatibility for GNUnet, in part by porting " -"the GNUnet utils scheduler to act as a thin wrapper over libuv." -msgstr "" - -#: template/gsoc.html.j2:280 -msgid "Mentors: Jeff Burdges and Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:288 template/gsoc.html.j2:532 -msgid "" -"Implementation of a replacement for PANDA (see Pond) with better security, " -"and maybe integration with the GNU Name System for key exchange." -msgstr "" - -#: template/gsoc.html.j2:300 -msgid "Required Skills: Rust or C, crypto" -msgstr "" - -#: template/gsoc.html.j2:305 template/gsoc.html.j2:362 -#: template/gsoc.html.j2:404 template/gsoc.html.j2:444 -msgid "Difficulty level: high" -msgstr "" - -#: template/gsoc.html.j2:313 -msgid "" -"Implement different place types and file sharing by creating a new place for " -"the shared content." -msgstr "" - -#: template/gsoc.html.j2:319 -msgid "Place types to be implemented:" -msgstr "" - -#: template/gsoc.html.j2:323 -msgid "" -"
                        • File: generic file with comments
                        • Image: display an image " -"with comments referencing a region of the image
                        • Sound: play a sound " -"file with comments referencing a timestamp
                        • Directory/Album: " -"pointers to File / Image / Sound places
                        • Event: with RSVP
                        • " -"
                        • Survey: ask your social neighborhood questions in a structured form
                        • " -"
                        " -msgstr "" - -#: template/gsoc.html.j2:334 -msgid "Also provide the following UI functionality:" -msgstr "" - -#: template/gsoc.html.j2:338 -msgid "" -"
                        • Fork existing channels, reorganize people into new chatrooms or " -"channels.
                        • Share a post (edit and repost something elsewhere, on a " -"fan page for example).
                        • Edit a previously published post + offer " -"edit history to readers.
                        • Control expiry of channel history.
                        • " -msgstr "" - -#: template/gsoc.html.j2:347 -msgid "" -"See also http://secushare.org/" -"features" -msgstr "" - -#: template/gsoc.html.j2:352 -msgid "Mentors: lynX" -msgstr "" - -#: template/gsoc.html.j2:357 -msgid "Required Skills: C/C++" -msgstr "" - -#: template/gsoc.html.j2:370 -msgid "" -"Implement aggregation of distributed state from various channels in order to " -"provide for a powerful social graph API capable of producing social network " -"profiles, dashboards, a calendar out of upcoming event invitations (if " -"available), social search functionality and most of all to make it easy for " -"users to adopt cryptographic identities of their contacts/friends simply by " -"finding them in the social graph of their existing contacts (\"This is " -"Linda. You have 11 contacts in common with her. [ADD]\")." -msgstr "" - -#: template/gsoc.html.j2:388 -msgid "" -"Related to secushare.org/" -"rendezvous" -msgstr "" - -#: template/gsoc.html.j2:394 template/gsoc.html.j2:434 -msgid "Mentors: t3sserakt, lynX" -msgstr "" - -#: template/gsoc.html.j2:411 -msgid "" -"
                          • Emulate IMAP/SMTP protocols as necessary to transform traditional " -"mail clients into secushare user interfaces.
                          • Think of ways to map " -"e-mail addresses to secushare identities.
                          • Encode or translate " -"various e-mail features into secushare equivalents.
                          • Parts of " -"secushare are currently written in Rust, therefore Rust is preferred for " -"this task but it is not an requirement.
                          " -msgstr "" - -#: template/gsoc.html.j2:452 -msgid "" -"Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " -"Specific tasks are adding smart contract creation and round time enforcement " -"to libbrandt as well as creating the GNUnet auction service, library and the " -"three user interface programs create, info and join." -msgstr "" - -#: template/gsoc.html.j2:464 -msgid "Mentors: mate, cg" -msgstr "" - -#: template/gsoc.html.j2:482 -msgid "" -"Implementation of additional transports to make GNUnet communication more " -"robust in the presence of problematic networks: GNUnet-over-SMTP, GNUnet-" -"over-DNS" -msgstr "" - -#: template/gsoc.html.j2:489 template/gsoc.html.j2:503 -msgid "Mentors: Matthias Wachs" -msgstr "" - -#: template/gsoc.html.j2:497 -msgid "" -"Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " -"punching, better STUN support)" -msgstr "" - -#: template/gsoc.html.j2:511 -msgid "" -"Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" -msgstr "" - -#: template/gsoc.html.j2:519 -msgid "" -"Improving libaboss to make computation on shared secrets (including repeated " -"multiplication) based on Ben-Or et al. if possible. This in particular means " -"moving libaboss to bignums (gcry_mpi)." -msgstr "" - -#: template/gsoc.html.j2:547 -msgid "" -"Please refer to the description for this project listed under GNU Guix " -"project ideas." -msgstr "" - -#: template/gsoc.html.j2:559 -msgid "" -"Python 2.7 is reaching its end-of-life, and we want to get rid of the " -"dependency on Python. The existing gnunet-qr tool is a rather simple wrapper " -"around python-zbar, which itself wraps libzbar. The goal of this project is " -"to directly use libzbar to scan QR codes for GNUnet / the GNU Name System " -"(see also #5562)." -msgstr "" - -#: template/gsoc.html.j2:569 -msgid "Mentors: Christian Grothoff" -msgstr "" - -#: template/gsoc.html.j2:574 -msgid "Required Skills:" -msgstr "" - -#: template/gsoc.html.j2:579 -msgid "Difficulty level:" -msgstr "" - -#: template/gsoc.html.j2:584 -msgid "Report:" -msgstr "" - -#: template/gsoc.html.j2:589 -msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." -msgstr "" - -#: template/gsoc.html.j2:599 -msgid "" -"Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a yet " -"to be determined framework such as Angular2. This includes the design and " -"implementation of not yet existing REST " -"APIs that expose the GNUnet API." -msgstr "" - -#: template/gsoc.html.j2:614 -msgid "Required Skills: C, JavaScript, CSS" -msgstr "" - -#: template/gsoc.html.j2:624 -msgid "" -"Report: GSoC 2018: GNUnet WebUI" -msgstr "" - -#: template/index.html.j2:19 -msgid "" -"GNUnet is a new network protocol stack for building secure, distributed, and " -"privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol " -"stack." -msgstr "" - -#: template/index.html.j2:29 -msgid "" -"GNUnet is typically run as an overlay network on top of the existing Internet " -"infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It " -"could just as well be run independently of the Internet, over dedicated radio and cable." -msgstr "" - -#: template/index.html.j2:38 -msgid "" -"GNUnet is made for a free and open society: It's a self-organizing " -"network and it is free software as in freedom. GNUnet puts you in control of your data. " -"You determine which data to share with whom, and you're not pressured to " -"accept compromises." -msgstr "" - -#: template/index.html.j2:89 -msgid "The Internet of tomorrow needs GNUnet today" -msgstr "" - -#: template/index.html.j2:95 -msgid "Imagine..." -msgstr "" - -#: template/index.html.j2:97 -msgid "" -"The conventional Internet is currently like a system of roads with deep " -"potholes and highwaymen all over the place. Even if you still can use the " -"roads (e.g. send emails, or browse websites) your vehicle might get " -"hijacked, damaged, or long arms might reach into its back and steal your " -"items (data) to use it against you and sell it to others - while you can'" -"t even notice the thievery nor accuse and hold the scroungers accountable. " -"" -msgstr "" - -#: template/index.html.j2:121 -msgid "The Internet is broken" -msgstr "" - -#: template/index.html.j2:123 -msgid "" -"Protocols from Ethernet and IP to BGP and X.509 PKI are insecure by default: " -"protecting against address forgery, routers learning metadata, or choosing " -"trustworthy CAs is nontrivial and sometimes impossible. " -msgstr "" - -#: template/index.html.j2:137 -msgid "" -"GNUnet provides privacy by design, improving addressing, routing, naming and content " -"distribution in a technically robust manner - as opposed to ad-hoc designs " -"in place today. " -msgstr "" - -#: template/index.html.j2:155 -msgid "Decentralization is hard" -msgstr "" - -#: template/index.html.j2:158 -msgid "" -" Instead of sharing common components and tools for " -"building P2P systems, every P2P project seems to re-invent the wheel. This heightens the effort and increases the " -"potential number of vulnerabilities." -msgstr "" - -#: template/index.html.j2:174 -msgid "" -"GNUnet is a metadata-preserving foundation for your application, covering " -"areas from addressing to reliable bidirectional Axolotl-encrypted channels, " -"with advanced routing. Our work is based on continuous research spanning " -"almost two decades." -msgstr "" - -#: template/index.html.j2:188 -msgid "Metadata is exposed" -msgstr "" - -#: template/index.html.j2:190 -msgid "" -"Your metadata is just as revealing as the actual content; and it gets " -"exposed on the Internet.
                          Even though transport encryption is " -"increasingly being deployed on the Internet, it still reveals data that can " -"threaten democracy: the identities of senders and receivers, the times, " -"frequency and the volume of communication are all still revealed.
                          GNUnet addresses these concerns with " -"perfect forward secrecy via ephemeral public key addressing, fixed packet " -"size to hinder traffic analysis, layered encryption, Sybil-resistant " -"routing, and more." -msgstr "" - -#: template/index.html.j2:213 -msgid "Freedoms are not respected" -msgstr "" - -#: template/index.html.j2:215 -msgid "" -"Today, monitoring increasingly centralized infrastructure, proprietary " -"implementations, traffic shapers and firewalls restrict all of the essential freedoms to " -"various degrees." -msgstr "" - -#: template/index.html.j2:224 -msgid "" -"GNUnet gives users freedoms to securely access information (\"run\" the " -"network), to study all aspects of the network's operation (\"access the " -"code\"), to distribute information (\"copy\"), as well as the freedom to " -"deploy new applications (\"modify\")." -msgstr "" - -#: template/index.html.j2:236 -msgid "Learn more about GNUnet" -msgstr "" - -#: template/index.html.j2:238 -msgid "" -"If you want to know more about the GNUnet please continue reading the about page. There are much more resources, such as " -"the main handbook / reference manual, a bibliography and videos." -msgstr "" - -#: template/index.html.j2:247 -msgid "" -"You are very welcome to get " -"engaged into the conversation, install GNUnet, use " -"it and contribute. " -"
                          Be aware that this project is still in an early alpha stage when it " -"comes to software – it is not an easy task to rewrite the whole " -"Internet!" -msgstr "" - -#: template/index.html.j2:269 -msgid "Featured Applications" -msgstr "" - -#: template/index.html.j2:275 -msgid "GNU Taler (Alpha)" -msgstr "" - -#: template/index.html.j2:277 -msgid "" -"GNU Taler is a new privacy-preserving " -"electronic payment system. Payments are cryptographically secured and are " -"confirmed within milliseconds with extremely low transaction costs." -msgstr "" - -#: template/index.html.j2:289 -msgid "The GNU Name System" -msgstr "" - -#: template/index.html.j2:292 -msgid "" -" The GNU " -"Name System (GNS) is a fully decentralized replacement for the Domain " -"Name System (DNS). Instead of using a hierarchy, GNS uses a directed graph. " -"Naming conventions are similar to DNS, but queries and replies are private " -"even with respect to peers providing the answers. The integrity of records " -"and privacy of look-ups is cryptographically secured. " -msgstr "" - -#: template/index.html.j2:309 -msgid "re:claimID" -msgstr "" - -#: template/index.html.j2:311 -msgid "" -"re:claimID is a decentralized " -"Identity Provider (IdP) service built in top of the GNU Name System. It " -"allows users to securely share personal information with websites using " -"standardized protocols (OpenID Connect)." -msgstr "" - -#: template/index.html.j2:324 -msgid "Filesharing (Alpha)" -msgstr "" - -#: template/index.html.j2:326 -msgid "" -"GNUnet filesharing is an application that aims " -"to provide censorship-resistant, anonymous filesharing. The publisher is " -"empowered to make a gradual choice between performance and anonymity." -msgstr "" - -#: template/index.html.j2:337 -msgid "Conversation (Pre-Alpha)" -msgstr "" - -#: template/index.html.j2:339 -msgid "" -"GNUnet conversation is an application that provides secure voice " -"communication in a fully decentralized way by employing GNUnet for routing " -"and transport." -msgstr "" - -#: template/index.html.j2:355 -msgid "Upcoming Applications" -msgstr "" - -#: template/index.html.j2:361 -msgid "secushare" -msgstr "" - -#: template/index.html.j2:363 -msgid "" -"secushare is creating a decentralized " -"social networking application on top of GNUnet. Using overlay multicast and " -"the extensible PSYC protocol, notifications are distributed end-to-end " -"encrypted to authorized recipients only." -msgstr "" - -#: template/index.html.j2:375 -msgid "pretty Easy privacy" -msgstr "" - -#: template/index.html.j2:377 -msgid "" -"pretty Easy privacy (p≡p) is " -"creating a usable end-to-end encrypted e-mail solution using opportunistic " -"key exchange. p≡p will use GNUnet to protect metadata and exploit new " -"cryptographic protocols to verify keys." -msgstr "" - -#: template/install-on-archpi.html.j2:6 -msgid "Tutorial: GNUnet on Arch Linux/Pi" -msgstr "" - -#: template/install-on-archpi.html.j2:16 -msgid "Requirements for Raspberry Pi 3" -msgstr "" - -#: template/install-on-archpi.html.j2:40 -msgid "Get the Source Code" -msgstr "" - -#: template/install-on-archpi.html.j2:62 -#: template/install-on-debian9.html.j2:130 -msgid "In Addition: gnunet-gtk" -msgstr "" - -#: template/install-on-archpi.html.j2:79 -msgid "Run" -msgstr "" - -#: template/install-on-archpi.html.j2:131 -msgid "Make sure, it works!" -msgstr "" - -#: template/install-on-debian9.html.j2:6 -msgid "Tutorial: GNUnet on Debian 9" -msgstr "" - -#: template/install-on-debian9.html.j2:9 -#: template/install-on-ubuntu1804.html.j2:9 -msgid "Introduction" -msgstr "" - -#: template/install-on-debian9.html.j2:29 template/install-on-macos.html.j2:17 -#: template/install-on-netbsd.html.j2:19 -#: template/install-on-ubuntu1804.html.j2:26 -msgid "Requirements" -msgstr "" - -#: template/install-on-debian9.html.j2:45 -#: template/install-on-ubuntu1804.html.j2:41 -msgid "Make an installation directory" -msgstr "" - -#: template/install-on-debian9.html.j2:59 -#: template/install-on-macos.html.j2:134 -#: template/install-on-netbsd.html.j2:224 -#: template/install-on-ubuntu1804.html.j2:53 -msgid "Get the source code" -msgstr "" - -#: template/install-on-debian9.html.j2:78 -#: template/install-on-macos.html.j2:142 -#: template/install-on-netbsd.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:61 -msgid "Compile and Install" -msgstr "" - -#: template/install-on-debian9.html.j2:103 -#: template/install-on-ubuntu1804.html.j2:70 -msgid "Option 1: GNUnet for testing / usage" -msgstr "" - -#: template/install-on-debian9.html.j2:116 -#: template/install-on-ubuntu1804.html.j2:82 -msgid "Option 2: GNUnet for development" -msgstr "" - -#: template/install-on-debian9.html.j2:153 -#: template/install-on-ubuntu1804.html.j2:97 -msgid "Install GNUnet plugin for name resolution" -msgstr "" - -#: template/install-on-debian9.html.j2:207 -#: template/install-on-ubuntu1804.html.j2:134 -msgid "Create configuration file" -msgstr "" - -#: template/install-on-debian9.html.j2:227 -#: template/install-on-ubuntu1804.html.j2:156 -msgid "Use GNUnet!" -msgstr "" - -#: template/install-on-debian9.html.j2:232 -#: template/install-on-ubuntu1804.html.j2:162 -msgid "Uninstall GNUnet and its dependencies" -msgstr "" - -#: template/install-on-macos.html.j2:6 -msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" -msgstr "" - -#: template/install-on-macos.html.j2:24 template/install-on-netbsd.html.j2:30 -msgid "Installation" -msgstr "" - -#: template/install-on-macos.html.j2:42 template/install-on-netbsd.html.j2:102 -msgid "First steps" -msgstr "" - -#: template/install-on-macos.html.j2:109 -#: template/install-on-netbsd.html.j2:182 -msgid "Alternative: Installation from source" -msgstr "" - -#: template/install-on-macos.html.j2:154 -#: template/install-on-netbsd.html.j2:242 -msgid "Option 1: GNUnet for production / usage" -msgstr "" - -#: template/install-on-macos.html.j2:187 -#: template/install-on-netbsd.html.j2:267 -msgid "Option 2: GNUnet experimental" -msgstr "" - -#: template/install-on-netbsd.html.j2:6 -msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" -msgstr "" - -#: template/install-on-ubuntu1804.html.j2:6 -msgid "Tutorial: GNUnet on Ubuntu 18.04" -msgstr "" - -#: template/install.html.j2:11 -msgid "" -"

                          The following GNUnet installation instructions help you building from " -"source for your distribution.

                          Please note that the installation " -"process will get much easier once we have proper packages again (planned for " -"winter 2019).

                          You have already installed GNUnet and want to use " -"it? Check this out!

                          " -msgstr "" - -#: template/install.html.j2:19 -msgid "" -"

                          Please be aware that this project is still in an early alpha stage when " -"it comes to running software – its not an easy task to rewrite the " -"whole Internet! We are happy to get your helping " -"hand anytime!

                          Further information is available in our handbook.

                          If you " -"have any queries about the installation or the usage, please get in touch!

                          " -msgstr "" - -#: template/use.html.j2:6 -msgid "How to use GNUnet - in a nutshell" -msgstr "" - -#: template/use.html.j2:12 template/use.html.j2:123 -msgid "Filesharing" -msgstr "" - -#: template/use.html.j2:13 -msgid "CADET" -msgstr "" - -#: template/use.html.j2:14 -msgid "Minimal Groupchat" -msgstr "" - -#: template/use.html.j2:15 -msgid "GNS with CLI" -msgstr "" - -#: template/use.html.j2:16 -msgid "GNS with Browser" -msgstr "" - -#: template/use.html.j2:17 template/use.html.j2:441 -msgid "VPN" -msgstr "" - -#: template/use.html.j2:18 template/use.html.j2:501 -msgid "Conversation" -msgstr "" - -#: template/use.html.j2:19 template/use.html.j2:512 -msgid "Trouble Shooting" -msgstr "" - -#: template/use.html.j2:34 -msgid "Get on GNUnet" -msgstr "" - -#: template/use.html.j2:78 -msgid "Get off GNUnet" -msgstr "" - -#: template/use.html.j2:88 -msgid "Make sure your GNUnet installation works..." -msgstr "" - -#: template/use.html.j2:105 -msgid "... and play around with it." -msgstr "" - -#: template/use.html.j2:181 -msgid "CADET (and Chat)" -msgstr "" - -#: template/use.html.j2:215 -msgid "Chatting with a (simple) client" -msgstr "" - -#: template/use.html.j2:289 -msgid "Name resolution using GNS on the command line" -msgstr "" - -#: template/use.html.j2:361 -msgid "Name resolution using GNS with a browser" -msgstr "" - -#: template/use.html.j2:514 -msgid "You can't reach other people's nodes" -msgstr "" - -#: template/use.html.j2:550 -msgid "OMG you guys broke my internet" -msgstr "" - -#: template/video.html.j2:12 -msgid "Videos related to GNUnet" -msgstr "" - #~ msgid "_project_title" #~ msgstr "Stack di protocolli GNU per un nuovo Internet etico" diff --git a/make_site.py b/make_site.py new file mode 100755 index 00000000..c4a17e21 --- /dev/null +++ b/make_site.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# +# Copyright (C) 2017, 2018, 2019 GNUnet e.V. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. +# +# ---- +# +# This script runs the jinja2 templating engine on an input template-file +# using the specified locale for gettext translations, and outputs +# the resulting (HTML) ouptut-file. +# +# Note that the gettext files need to be prepared first. This script +# is thus to be invoked via the Makefile. + +import jinja2 +import os +from inc.site import gen_site +from inc.fileproc import copy_files + +env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__),"inc"), + extensions=["jinja2.ext.i18n"], + lstrip_blocks=True, + trim_blocks=True, + undefined=jinja2.StrictUndefined, + autoescape=False) + +def main(): + # rm_rf("rendered") + x = gen_site() + conf = x.load_config("www.yml") + print("generating news abstracts...") + x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) + print("generating html from jinja2 templates...") + x.run("template", conf, env) + print("generating html from jinja2 news templates...") + x.run("news", conf, env) + #for lang in conf["langs_full"]: + # copy_files("static", conf, lang, "staticfiles", "rendered") + # print("generating rss...") + # x.generate_rss() + # print("generating sitemap...") + # x.generate_sitemap() + +if __name__ == "__main__": + main() diff --git a/template.py b/template.py deleted file mode 100755 index c4a17e21..00000000 --- a/template.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python3 -# coding: utf-8 -# -# Copyright (C) 2017, 2018, 2019 GNUnet e.V. -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. -# -# ---- -# -# This script runs the jinja2 templating engine on an input template-file -# using the specified locale for gettext translations, and outputs -# the resulting (HTML) ouptut-file. -# -# Note that the gettext files need to be prepared first. This script -# is thus to be invoked via the Makefile. - -import jinja2 -import os -from inc.site import gen_site -from inc.fileproc import copy_files - -env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__),"inc"), - extensions=["jinja2.ext.i18n"], - lstrip_blocks=True, - trim_blocks=True, - undefined=jinja2.StrictUndefined, - autoescape=False) - -def main(): - # rm_rf("rendered") - x = gen_site() - conf = x.load_config("www.yml") - print("generating news abstracts...") - x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) - print("generating html from jinja2 templates...") - x.run("template", conf, env) - print("generating html from jinja2 news templates...") - x.run("news", conf, env) - #for lang in conf["langs_full"]: - # copy_files("static", conf, lang, "staticfiles", "rendered") - # print("generating rss...") - # x.generate_rss() - # print("generating sitemap...") - # x.generate_sitemap() - -if __name__ == "__main__": - main() -- cgit v1.2.3 From ab19fc81090ebbbecf471b010bc41f5a43ec858f Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 21:30:39 +0000 Subject: inc: more logic to remove code from Makefile. news/index.hmtl.j2: syntax. --- GNUmakefile | 2 +- Makefile | 8 ++++---- inc/fileproc.py | 13 +++++++++++++ inc/i18nfix.py | 2 +- inc/site.py | 50 ++++++++++++++++++++++++++++++++++++++------------ inc/sitemap.py | 1 + inc/sum.py | 2 -- inc/textproc.py | 8 ++++++-- make_site.py | 33 +++++++++++++++++++++++++++------ news/index.html.j2 | 2 +- 10 files changed, 92 insertions(+), 29 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index d29a6d41..4dc2b729 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -28,7 +28,7 @@ all: css locale template (for lang in en de es fr it ; do \ $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt ; \ done) - ($(cp) favicon.ico rendered/favicon.ico) + #($(cp) favicon.ico rendered/favicon.ico) ($(sh) make_sitemap.sh) ($(cp) rendered/sitemap.xml rendered/en/sitemap.xml) ($(cp) static/moved.html rendered/frontpage.html) diff --git a/Makefile b/Makefile index 73bcb3df..9c784651 100644 --- a/Makefile +++ b/Makefile @@ -21,9 +21,9 @@ _DIRLIST= dist static # All: build HTML pages in all languages and compile the # TypeScript logic in web-common. all: css locale template -.for _dir in ${_DIRLIST} - $(cp) -R ${_dir} rendered/ -.endfor +#.for _dir in ${_DIRLIST} +# $(cp) -R ${_dir} rendered/ +#.endfor .for _lang in ${_LOCALELIST} ($(cp) rendered/static/robots.txt rendered/${_lang}) ($(cp) rendered/static/stage.robots.txt rendered/${_lang}) @@ -74,7 +74,7 @@ locale: locale-update locale-compile # Run the jinja2 templating engine to expand templates to HTML # incorporating translations. template: locale-compile - $(python) ./make_site.py + $(python) ./make_site.py -vvvv css: $(sassc) static/styles.sass static/styles.css diff --git a/inc/fileproc.py b/inc/fileproc.py index 435078bc..bf6cc8df 100644 --- a/inc/fileproc.py +++ b/inc/fileproc.py @@ -1,4 +1,17 @@ from pathlib import Path +import os +import shutil + +def copy_tree(source, destination): + destination.mkdir(parents=True, exist_ok=True) + for _ in os.listdir(source): + i = source / _ + o = destination / _ + if i.is_dir(): + copy_tree(i, o) + else: + shutil.copy2(str(i), str(o)) + def copy_files(kind, conf, locale, inlist, ptarget): o = Path(ptarget) diff --git a/inc/i18nfix.py b/inc/i18nfix.py index 7f326ba6..69fe177d 100644 --- a/inc/i18nfix.py +++ b/inc/i18nfix.py @@ -6,7 +6,6 @@ # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. - """ Extract translations from a Jinja2 template, stripping leading newlines. @@ -38,4 +37,5 @@ def wrap_gettext(f): def wrapper(message): message = normalize(message) return f(message) + return wrapper diff --git a/inc/site.py b/inc/site.py index 67e5afa8..9fd9ac87 100644 --- a/inc/site.py +++ b/inc/site.py @@ -6,29 +6,51 @@ import gettext import glob import codecs import jinja2 -import hashlib -from pathlib import Path, PurePosixPath +from pathlib import Path, PurePosixPath, PurePath from ruamel.yaml import YAML -import inc.i18nfix +import inc.i18nfix as i18nfix from inc.textproc import cut_news_text -from inc.fileproc import copy_files +from inc.fileproc import copy_files, copy_tree class gen_site: + def __init__(self, debug): + self.debug = debug + def load_config(self, name="www.yml"): yaml = YAML(typ='safe') site_configfile = Path(name) return yaml.load(site_configfile) + def copy_trees(self, directory): + """ Take a directory name (string) and pass it to copy_tree() as Path object. """ + i = Path(directory) + o = Path("rendered/" + directory) + copy_tree(i, o) + def gen_abstract(self, conf, name, member, pages, length): + if self.debug: + print("generating abstracts...") for item in conf[name]: item[member] = cut_news_text(item[pages], length) + if self.debug: + print("cwd: " + str(Path.cwd())) + if self.debug > 1: + print(conf["newsposts"]) + if self.debug: + print("[done] generating abstracts") def run(self, root, conf, env): - # os.chdir("..") - print(os.getcwd()) - root = "../" + root - for in_file in glob.glob(root + "/*.j2"): + # root = "../" + root + if self.debug: + _ = Path(".") + q = list(_.glob("**/*.j2")) + print(q) + # for in_file in glob.glob(root + "/*.j2"): + for in_file in Path(".").glob(root + "/*.j2"): + in_file = str(in_file) + if self.debug: + print(in_file) name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups() tmpl = env.get_template(in_file) @@ -74,8 +96,14 @@ class gen_site: # return "../" + x return "../" + x - for l in glob.glob("locale/*/"): - locale = os.path.basename(l[:-1]) + # for l in glob.glob("locale/*/"): + # https://bugs.python.org/issue22276 + for l in list(x for x in Path(".").glob("locale/*/") if x.is_dir()): + l = str(PurePath(l).name) + if self.debug: + print(l) + # locale = os.path.basename(l[:-1]) + locale = l tr = gettext.translation("messages", localedir="locale", @@ -106,8 +134,6 @@ class gen_site: root + '/', '').rstrip(".j2") outdir = Path("rendered") - if outdir.exists() is False: - sys.exit(1) if root == "news": langdir = outdir / locale / root diff --git a/inc/sitemap.py b/inc/sitemap.py index e050c77d..5ccf7447 100644 --- a/inc/sitemap.py +++ b/inc/sitemap.py @@ -1,6 +1,7 @@ import os from pathlib import Path, PurePosixPath + def sitemap_tree(path): tree = dict(name=PurePosixPath(path).name, children=[]) try: diff --git a/inc/sum.py b/inc/sum.py index 9addf78f..fff7a814 100644 --- a/inc/sum.py +++ b/inc/sum.py @@ -31,5 +31,3 @@ def walksum(_): traceback.print_exc() return -2 return sha256.hexdigest() - - diff --git a/inc/textproc.py b/inc/textproc.py index 228518b2..f3b97d3d 100644 --- a/inc/textproc.py +++ b/inc/textproc.py @@ -1,12 +1,15 @@ import html.parser from bs4 import BeautifulSoup + class extractText(html.parser.HTMLParser): def __init__(self): super(extractText, self).__init__() self.result = [] + def handle_data(self, data): self.result.append(data) + def text_in(self): return ''.join(self.result) @@ -27,8 +30,9 @@ def cut_text(filename, count): k.append(i) b = ''.join(str(e) for e in k) text = html2text(b.replace("\n", "")) - textreduced = (text[:count] + '...') if len(text) > count else (text + '..') - return(textreduced) + textreduced = (text[:count] + '...') if len(text) > count else (text + + '..') + return (textreduced) def cut_news_text(filename, count): diff --git a/make_site.py b/make_site.py index c4a17e21..d335f979 100755 --- a/make_site.py +++ b/make_site.py @@ -18,29 +18,50 @@ # is thus to be invoked via the Makefile. import jinja2 -import os +import sys +from pathlib import Path, PurePath from inc.site import gen_site from inc.fileproc import copy_files -env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__),"inc"), +env = jinja2.Environment(loader=jinja2.FileSystemLoader(str(PurePath(__file__).parent)), extensions=["jinja2.ext.i18n"], lstrip_blocks=True, trim_blocks=True, undefined=jinja2.StrictUndefined, autoescape=False) +if len(sys.argv) >= 2 and sys.argv[1] == "-vv": + DEBUG=1 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvv": + DEBUG=2 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvvv": + DEBUG=3 +else: + DEBUG=0 + def main(): # rm_rf("rendered") - x = gen_site() + x = gen_site(DEBUG) conf = x.load_config("www.yml") - print("generating news abstracts...") x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) - print("generating html from jinja2 templates...") + if DEBUG: + print("generating html from jinja2 templates...") x.run("template", conf, env) - print("generating html from jinja2 news templates...") + if DEBUG: + print(Path.cwd()) + _ = Path("rendered") + for child in _.iterdir(): + print(child) + if DEBUG: + print(Path.cwd()) + print("generating html from jinja2 news templates...") x.run("news", conf, env) #for lang in conf["langs_full"]: # copy_files("static", conf, lang, "staticfiles", "rendered") + if DEBUG: + print("copying directories...") + x.copy_trees("static") + x.copy_trees("dist") # print("generating rss...") # x.generate_rss() # print("generating sitemap...") diff --git a/news/index.html.j2 b/news/index.html.j2 index 8c58d9f1..bdb716d5 100644 --- a/news/index.html.j2 +++ b/news/index.html.j2 @@ -10,7 +10,7 @@

                          News posts published by GNUnet about changes related to - GNUnet, releases, and events. + GNUnet, releases, and events – subscribe to our RSS feed

    -- cgit v1.2.3 From 4500a4e0bde4939eb3f49ea54efd4feb18d6ec4c Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 21:36:28 +0000 Subject: move inc to www_shared repo --- inc/fileproc.py | 98 ---------------------------------- inc/i18nfix.py | 41 --------------- inc/news.macro.j2 | 13 ----- inc/site.py | 153 ------------------------------------------------------ inc/sitemap.py | 21 -------- inc/sum.py | 33 ------------ inc/textproc.py | 39 -------------- 7 files changed, 398 deletions(-) delete mode 100644 inc/fileproc.py delete mode 100644 inc/i18nfix.py delete mode 100644 inc/news.macro.j2 delete mode 100644 inc/site.py delete mode 100644 inc/sitemap.py delete mode 100644 inc/sum.py delete mode 100644 inc/textproc.py diff --git a/inc/fileproc.py b/inc/fileproc.py deleted file mode 100644 index bf6cc8df..00000000 --- a/inc/fileproc.py +++ /dev/null @@ -1,98 +0,0 @@ -from pathlib import Path -import os -import shutil - -def copy_tree(source, destination): - destination.mkdir(parents=True, exist_ok=True) - for _ in os.listdir(source): - i = source / _ - o = destination / _ - if i.is_dir(): - copy_tree(i, o) - else: - shutil.copy2(str(i), str(o)) - - -def copy_files(kind, conf, locale, inlist, ptarget): - o = Path(ptarget) - for item in conf[inlist]: - i = Path(kind + "/" + item["file"]) - # print(i) - for t in item["targets"]: - d_loc = o / locale / t - d = o / t - # print(d) - if i.is_file() is not False: - d_loc.write_text(i.read_text()) - print("copied " + str(i) + " to " + str(d_loc) + "...") - d.write_text(i.read_text()) - print("copied " + str(i) + " to " + str(d) + "...") - - -def rm_rf(directory): - directory = Path(directory) - for child in directory.glob('*'): - if child.is_file(): - child.unlink() - else: - rm_rf(child) - # directory.rmdir() - - -def fileop(infile, outfile, action): - """ - infile: inputfile, Path object - outfile: outputfile, Path object - action: action if any, String - """ - i = Path(infile) - o = Path(outfile) - outdir = Path("rendered") - if i.is_file() is not False: - if action == "copy": - # Write content of i to o. - o.write_text(i.read_text()) - if action == "link": - o.symlink_to(i) - - -def write_name(filename, infile, locale, replacer): - return "./rendered/" + locale + "/" + infile.replace(replacer, - '').rstrip(".j2") - - -def localized(filename, locale, *args): - if len(args) == 0: - return "../" + locale + "/" + filename - ext = kwargs.get('ext', None) - if ext is not None: - lf = filename + "." + locale + "." + ext - lp = Path(lf) - if locale == "en" or not lp.is_file(): - return "../" + filename + "." + ext - else: - return "../" + lf - - -# This generates and switches sites generations, preventing -# in-place modification of the website. -# * save old generation directory name -# * jinja2 creates content in "rendered" (happened before calling this function) -# * calculate sum of "rendered" -# * move "rendered" to out/$sum -# * remove symlink "html_dir" -# * symlink out/$sum to "html_dir" -# * delete old generation directory -def generation_dir(htmldir): - oldgen = Path(htmldir).resolve() - # precondition: jinja2 has created the files in "rendered". - newgen = Path("rendered") - newgen_sum = walksum(newgen) - outdir = Path("out") - outdir.mkdir(parents=True, exist_ok=True) - newgen_target = Path("out") / newgen_sum - newgen.rename(newgen_target) - html = Path(htmldir) - html.unlink() - fileop(newgen, html, "link") - rm_rf(oldgen) diff --git a/inc/i18nfix.py b/inc/i18nfix.py deleted file mode 100644 index 69fe177d..00000000 --- a/inc/i18nfix.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2017, 2018 GNUnet e.V. -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. -""" -Extract translations from a Jinja2 template, stripping leading newlines. - -@author Florian Dold -""" - -import re -import jinja2.ext - - -def normalize(message): - message = message.strip() - # collapse whitespaces (including newlines) into one space. - message = re.sub("\s+", " ", message) - return message - - -def babel_extract(fileobj, keywords, comment_tags, options): - res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options) - for lineno, funcname, message, comments in res: - message = normalize(message) - yield lineno, funcname, message, comments - - -def wrap_gettext(f): - """ - Call gettext with whitespace normalized. - """ - def wrapper(message): - message = normalize(message) - return f(message) - - return wrapper diff --git a/inc/news.macro.j2 b/inc/news.macro.j2 deleted file mode 100644 index 0ed9972b..00000000 --- a/inc/news.macro.j2 +++ /dev/null @@ -1,13 +0,0 @@ -{% macro newspreview(name) -%} -
    -
    -

    {{ name['title']|e }}

    -

    - {{ name['date'] }} -

    -
    -

    - {{ name['abstract'] }} [{{ _("read more") }}] -

    -
    -{% endmacro -%} diff --git a/inc/site.py b/inc/site.py deleted file mode 100644 index 9fd9ac87..00000000 --- a/inc/site.py +++ /dev/null @@ -1,153 +0,0 @@ -import os -import os.path -import sys -import re -import gettext -import glob -import codecs -import jinja2 -from pathlib import Path, PurePosixPath, PurePath -from ruamel.yaml import YAML -import inc.i18nfix as i18nfix -from inc.textproc import cut_news_text -from inc.fileproc import copy_files, copy_tree - - -class gen_site: - def __init__(self, debug): - self.debug = debug - - def load_config(self, name="www.yml"): - yaml = YAML(typ='safe') - site_configfile = Path(name) - return yaml.load(site_configfile) - - def copy_trees(self, directory): - """ Take a directory name (string) and pass it to copy_tree() as Path object. """ - i = Path(directory) - o = Path("rendered/" + directory) - copy_tree(i, o) - - def gen_abstract(self, conf, name, member, pages, length): - if self.debug: - print("generating abstracts...") - for item in conf[name]: - item[member] = cut_news_text(item[pages], length) - if self.debug: - print("cwd: " + str(Path.cwd())) - if self.debug > 1: - print(conf["newsposts"]) - if self.debug: - print("[done] generating abstracts") - - def run(self, root, conf, env): - # root = "../" + root - if self.debug: - _ = Path(".") - q = list(_.glob("**/*.j2")) - print(q) - # for in_file in glob.glob(root + "/*.j2"): - for in_file in Path(".").glob(root + "/*.j2"): - in_file = str(in_file) - if self.debug: - print(in_file) - name, ext = re.match(r"(.*)\.([^.]+)$", - in_file.rstrip(".j2")).groups() - tmpl = env.get_template(in_file) - - def self_localized(other_locale): - """ - Return URL for the current page in another locale. - """ - return "../" + other_locale + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - - def url_localized(filename): - if root == "news": - return "../../" + locale + "/" + filename - else: - return "../" + locale + "/" + filename - - def url_static(filename): - if root == "news": - return "../../static/" + filename - else: - return "../static/" + filename - - def url_dist(filename): - if root == "news": - return "../../dist/" + filename - else: - return "../dist/" + filename - - def svg_localized(filename): - lf = filename + "." + locale + ".svg" - if locale == "en" or not Path(lf).is_file(): - return "../" + filename + ".svg" - else: - return "../" + lf - - def url(x): - # TODO: look at the app root environment variable - # TODO: check if file exists - #if root == "news": - # return "../" + "../" + x - #else: - # return "../" + x - return "../" + x - - # for l in glob.glob("locale/*/"): - # https://bugs.python.org/issue22276 - for l in list(x for x in Path(".").glob("locale/*/") if x.is_dir()): - l = str(PurePath(l).name) - if self.debug: - print(l) - # locale = os.path.basename(l[:-1]) - locale = l - - tr = gettext.translation("messages", - localedir="locale", - languages=[locale]) - - tr.gettext = i18nfix.wrap_gettext(tr.gettext) - - env.install_gettext_translations(tr, newstyle=True) - - content = tmpl.render(lang=locale, - lang_full=conf["langs_full"][locale], - url=url, - meetingnotesdata=conf["meetingnotes"], - newsdata=conf["newsposts"], - videosdata=conf["videoslist"], - self_localized=self_localized, - url_localized=url_localized, - url_static=url_static, - url_dist=url_dist, - svg_localized=svg_localized, - filename=name + "." + ext) - - if root == "news": - out_name = "./rendered/" + locale + "/" + root + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - else: - out_name = "./rendered/" + locale + "/" + in_file.replace( - root + '/', '').rstrip(".j2") - - outdir = Path("rendered") - - if root == "news": - langdir = outdir / locale / root - else: - langdir = outdir / locale - - try: - langdir.mkdir(parents=True, exist_ok=True) - except e as FileNotFoundError: - print(e) - - with codecs.open(out_name, "w", encoding='utf-8') as f: - try: - print(Path.cwd()) - f.write(content) - except e as Error: - print(e) diff --git a/inc/sitemap.py b/inc/sitemap.py deleted file mode 100644 index 5ccf7447..00000000 --- a/inc/sitemap.py +++ /dev/null @@ -1,21 +0,0 @@ -import os -from pathlib import Path, PurePosixPath - - -def sitemap_tree(path): - tree = dict(name=PurePosixPath(path).name, children=[]) - try: - mylist = os.listdir(path) - except OSError: - pass - else: - for name in mylist: - fn = os.path.join(path, name) - if os.path.isdir(fn): - tree['children'].append(sitemap_tree(fn)) - else: - np = os.path.join(name) - if np.startswith('/'): - np = np[1:] - tree['children'].append(dict(name=np)) - return tree diff --git a/inc/sum.py b/inc/sum.py deleted file mode 100644 index fff7a814..00000000 --- a/inc/sum.py +++ /dev/null @@ -1,33 +0,0 @@ -def sha256sum(_): - sha256 = hashlib.sha256() - with io.open(_, mode="rb") as fd: - content = fd.read() - sha256.update(content) - return sha256.hexdigest() - - -def walksum(_): - sha256 = hashlib.sha256() - x = Path(_) - if not x.exists(): - return -1 - try: - for root, directories, files in os.walk(_): - for names in sorted(files): - filepath = os.path.join(root, names) - try: - fl = open(filepath, 'rb') - except: - fl.close() - continue - while 1: - buf = fl.read(4096) - if not buf: - break - sha256.update(hashlib.sha256(buf).hexdigest()) - fl.close() - except: - import traceback - traceback.print_exc() - return -2 - return sha256.hexdigest() diff --git a/inc/textproc.py b/inc/textproc.py deleted file mode 100644 index f3b97d3d..00000000 --- a/inc/textproc.py +++ /dev/null @@ -1,39 +0,0 @@ -import html.parser -from bs4 import BeautifulSoup - - -class extractText(html.parser.HTMLParser): - def __init__(self): - super(extractText, self).__init__() - self.result = [] - - def handle_data(self, data): - self.result.append(data) - - def text_in(self): - return ''.join(self.result) - - -def html2text(html): - k = extractText() - k.feed(html) - return k.text_in() - - -def cut_text(filename, count): - with open(filename) as html: - soup = BeautifulSoup(html, features="lxml") - for script in soup(["script", "style"]): - script.extract() - k = [] - for i in soup.findAll('p')[1]: - k.append(i) - b = ''.join(str(e) for e in k) - text = html2text(b.replace("\n", "")) - textreduced = (text[:count] + '...') if len(text) > count else (text + - '..') - return (textreduced) - - -def cut_news_text(filename, count): - return cut_text("news/" + filename + ".j2", count) -- cgit v1.2.3 From 1da3a17834841b5542bb5a730e73cb9499af0288 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 21:48:57 +0000 Subject: add submodule for www_shared -> inc. --- .gitmodules | 5 +++++ inc | 1 + 2 files changed, 6 insertions(+) create mode 160000 inc diff --git a/.gitmodules b/.gitmodules index 8a2fe0c8..1cb35121 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,8 @@ path = build-system/taler-build-scripts url = git://git.taler.net/build-common ignore = dirty +[submodule "inc"] + path = inc + url = https://git.gnunet.org/www_shared.git + branch = default + ignore = dirty diff --git a/inc b/inc new file mode 160000 index 00000000..1c6b6866 --- /dev/null +++ b/inc @@ -0,0 +1 @@ +Subproject commit 1c6b6866bebf2659a15540bbbf7a4907e8ee0e8a -- cgit v1.2.3 From a67e1f7a04cdbfa6b366d68ce45a3d0e13d93ae1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 21:52:11 +0000 Subject: build-system --- build-system/taler-build-scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts index ff59117f..323c6a94 160000 --- a/build-system/taler-build-scripts +++ b/build-system/taler-build-scripts @@ -1 +1 @@ -Subproject commit ff59117f2814c866e45ef8b3265b8596264d4eba +Subproject commit 323c6a9412a78dd6a3341a05746fca4b3a57492e -- cgit v1.2.3 From 980fc91485f1332c1b9d57876be2c5b9c7ec49ac Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 12 Nov 2019 22:26:43 +0000 Subject: inc, new commits --- inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc b/inc index 1c6b6866..4a65973d 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 1c6b6866bebf2659a15540bbbf7a4907e8ee0e8a +Subproject commit 4a65973d9a1aae2925d2fada9eed70833d628e33 -- cgit v1.2.3 From 3a14d8f71b24cd09fc61c729be9762eff4a56d07 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 13 Nov 2019 00:06:15 +0000 Subject: use make_sitemap.py --- .gitignore | 1 + GNUmakefile | 7 ++---- inc | 2 +- make_sitemap.sh | 74 --------------------------------------------------------- 4 files changed, 4 insertions(+), 80 deletions(-) delete mode 100755 make_sitemap.sh diff --git a/.gitignore b/.gitignore index b25ec1e2..201a9c1d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ __pycache__ static/styles.css sitemap.html +sitemap.xml *~ \#*\# diff --git a/GNUmakefile b/GNUmakefile index 4dc2b729..19a79353 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -20,17 +20,14 @@ include config.mk all: css locale template - ($(cp) -R dist rendered/) - ($(cp) -R static rendered/) ($(cp) rendered/static/robots.txt rendered/robots.txt) ($(cp) rendered/static/stage.robots.txt rendered/stage.robots.txt) ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) (for lang in en de es fr it ; do \ $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt ; \ done) - #($(cp) favicon.ico rendered/favicon.ico) - ($(sh) make_sitemap.sh) - ($(cp) rendered/sitemap.xml rendered/en/sitemap.xml) + ($(python) inc/make_sitemap.py -i rendered) + ($(cp) sitemap.xml rendered/en/sitemap.xml) ($(cp) static/moved.html rendered/frontpage.html) (cd rendered; $(ln) -fs frontpage.html frontpage) ($(cp) static/moved_gsoc.html rendered/gsoc.html) diff --git a/inc b/inc index 4a65973d..b91d7308 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 4a65973d9a1aae2925d2fada9eed70833d628e33 +Subproject commit b91d7308fc9ab4f0658d180ff563ed0bee35f166 diff --git a/make_sitemap.sh b/make_sitemap.sh deleted file mode 100755 index bc2578d7..00000000 --- a/make_sitemap.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2018, 2019 GNUnet e.V. -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. -# -# This initial version builds on code from ssg4 -# copyright is as follows: -# ----- -# https://www.romanzolotarev.com/bin/ssg4 -# Copyright 2018 Roman Zolotarev -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# ----- - -list_pages(){ -cd rendered && find . -type f ! -path '*/.*' ! -path '*/_*' -name '*.html' | sed 's#^./##;#' -} - -main(){ - dst=rendered - base_url="$4" - date=$(date +%Y-%m-%d) - urls=$(list_pages "$src") - - test -n "$urls" && - render_sitemap "$urls" "$base_url" "$date" > "$dst/sitemap.xml" - - print_status 'url' 'urls' "$urls" >&2 - echo >&2 -} - -print_status() { - test -z "$3" && printf 'no %s' "$2" && return - - echo "$3" | awk -v singular="$1" -v plural="$2" ' - END { - if (NR==1) printf NR " " singular - if (NR>1) printf NR " " plural - }' -} - -render_sitemap() { - urls="$1" - base_url="$2" - date="$3" - - echo '' - echo '' - echo "$urls" | - sed -E 's#^(.*)$#'"$base_url"'/\1'\ -"$date"'1.0#' - echo '' -} - -main "$@" - -- cgit v1.2.3 From d97968a1fa701f7d695cbf6a7768148268449140 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 13 Nov 2019 00:12:15 +0000 Subject: inc --- inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc b/inc index b91d7308..8c22c1ef 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit b91d7308fc9ab4f0658d180ff563ed0bee35f166 +Subproject commit 8c22c1ef8737066c03c322d8fef22b26a36442cc -- cgit v1.2.3 From 429a2aede50aebe4ce356f965243e8d938c63682 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 13 Nov 2019 00:23:14 +0000 Subject: make build more silent again. --- GNUmakefile | 1 + inc | 2 +- make_site.py | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 19a79353..4a1aa38a 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -27,6 +27,7 @@ all: css locale template $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt ; \ done) ($(python) inc/make_sitemap.py -i rendered) + ($(cp) sitemap.xml rendered/sitemap.xml) ($(cp) sitemap.xml rendered/en/sitemap.xml) ($(cp) static/moved.html rendered/frontpage.html) (cd rendered; $(ln) -fs frontpage.html frontpage) diff --git a/inc b/inc index 8c22c1ef..20373c17 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 8c22c1ef8737066c03c322d8fef22b26a36442cc +Subproject commit 20373c170a50c50380a72a04ef1beb4e715efb70 diff --git a/make_site.py b/make_site.py index d335f979..55b8510f 100755 --- a/make_site.py +++ b/make_site.py @@ -47,13 +47,14 @@ def main(): if DEBUG: print("generating html from jinja2 templates...") x.run("template", conf, env) - if DEBUG: + if DEBUG >= 2: print(Path.cwd()) _ = Path("rendered") for child in _.iterdir(): print(child) - if DEBUG: + if DEBUG >= 2: print(Path.cwd()) + if DEBUG: print("generating html from jinja2 news templates...") x.run("news", conf, env) #for lang in conf["langs_full"]: -- cgit v1.2.3 From b362e8571bd2f243296bca487ceec1cb57c294f8 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 13 Nov 2019 00:35:37 +0000 Subject: ignore more files. --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 201a9c1d..c2b3ea1e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,7 @@ futility_engine_loader.sh config.mk *.core + +.style.yapf +help/ +configure -- cgit v1.2.3 From c71ce2dbc82a235538645781fcbb6fb776747550 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 13 Nov 2019 00:41:14 +0000 Subject: mailmap --- .mailmap | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .mailmap diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000..017cc9a6 --- /dev/null +++ b/.mailmap @@ -0,0 +1,2 @@ +ng0 +ng0 Nils Gillmann -- cgit v1.2.3 From 5faf8a3a29c6d845d44715c8d8d1723cd32686a2 Mon Sep 17 00:00:00 2001 From: "Schanzenbach, Martin" Date: Thu, 14 Nov 2019 00:03:00 +0100 Subject: add gns page --- static/images/gns-logo.png | Bin 0 -> 36087 bytes template/gns.html.j2 | 63 +++++++++++++++++++++++++++++++++++++++++++++ www.yml | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 static/images/gns-logo.png create mode 100644 template/gns.html.j2 diff --git a/static/images/gns-logo.png b/static/images/gns-logo.png new file mode 100644 index 00000000..fc5dc133 Binary files /dev/null and b/static/images/gns-logo.png differ diff --git a/template/gns.html.j2 b/template/gns.html.j2 new file mode 100644 index 00000000..9ac34ad2 --- /dev/null +++ b/template/gns.html.j2 @@ -0,0 +1,63 @@ +{% extends "common/base.j2" %} +{% block body_content %} +
    + +
    +
    GNS
    +

    {{ _("The GNU Name System") }}

    +
    + +
    +
    +
    +

    {{ _("Motivation") }}

    +

    + {% trans %} + The Domain Name System today enables traffic amplification attacks, + censorship (i.e. China), mass surveillance (MORECOWBELL) and offensive + cyber war (QUANTUMDNS).
    + Unfortunately, band aid solutions such as DoT, DoH, DNSSEC, DPRIVE + and the like will not fix this. This is why we built the GNU Name + System (GNS), a secure, decentralized name system built on top of + GNUnet. + {% endtrans %} +

    + +
    +
    +

    {{ _("Overview") }}

    +

    + The GNU Name System (GNS) is a decentralized database that enables users to securely resolve names to values. Names can be used to identify other users (for example, in social networking), or network services (for example, VPN services running at a peer in GNUnet, or purely IP-based services on the Internet). Users interact with GNS by typing in a hostname that ends in a top-level domain that is configured in the “GNS” section, matches an identity of the user or ends in a Base32-encoded public key. +

    +
    +
    + +
    +
    +

    {{ _("Features") }}

    +

    +{% trans %} +The GNU Name System (GNS) is secure and decentralized naming system. It allows its users to register names as top-level domains (TLDs) and resolve other namespaces within their TLDs. +
    +GNS is designed to provide: +

      +
    • Censorship resistance
    • +
    • Query privacy
    • +
    • Secure name resolution
    • +
    • Compatibility with DNS
    • +{% endtrans %} +

      +
    +
    +

    {{ _("Resources") }}

    +

    +Videos giving an overview of most of the GNS and the motivations behind it is available in our videos section.
    + Read more about GNS in the respective section of our handbook. +

    +
    +
    + +
    + +
    +{% endblock body_content %} diff --git a/www.yml b/www.yml index ce0fa3ec..e2a70238 100644 --- a/www.yml +++ b/www.yml @@ -36,7 +36,7 @@ staticfiles: - file: moved_about.html targets: - about.html - - file: moved_gns.html + - file: gns.html targets: - gns.html meetingnotes: -- cgit v1.2.3 From ad4e3f27ac49b6a253c5718faa13bea6d025fcbc Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Nov 2019 01:37:13 +0000 Subject: first version of rss generator in python. --- GNUmakefile | 12 ++-- common/news.j2 | 4 +- make_site.py | 6 +- rssg | 220 --------------------------------------------------------- www.yml | 61 +++++++++++----- 5 files changed, 56 insertions(+), 247 deletions(-) delete mode 100755 rssg diff --git a/GNUmakefile b/GNUmakefile index 4a1aa38a..a8ffdc3c 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -39,16 +39,14 @@ all: css locale template (cd rendered/node ; $(ln) -fs about.html 397) ($(cp) static/moved_about.html rendered/about.html) (cd rendered ; $(ln) -fs about.html philosophy) - (cd rendered; \ +# (cd rendered; \ for lang in en de es fr it; do \ $(sh) ../rssg $$lang/news/index.html 'GNUnet.org' > $$lang/news/rss.xml; \ done) - (cd rendered/en ; $(ln) -fs news/rss.xml rss.xml) - (cd rendered/de ; $(ln) -fs news/rss.xml rss.xml) - (cd rendered/es ; $(ln) -fs news/rss.xml rss.xml) - (cd rendered/fr ; $(ln) -fs news/rss.xml rss.xml) - (cd rendered/it ; $(ln) -fs news/rss.xml rss.xml) - + (cd rendered; \ + for lang in en de es fr it; do \ + $(cp) $$lang/rss.xml $$lang/news/rss.xml; \ + done) # Extract translateable strings from jinja2 templates. # Because of the local i18nfix extractor module we need diff --git a/common/news.j2 b/common/news.j2 index cdc124ba..9cdb06f2 100644 --- a/common/news.j2 +++ b/common/news.j2 @@ -16,11 +16,9 @@
    - -
    +
    {% block body_content %}{% endblock %}
    -
    {% include "common/footer.j2.inc" %} diff --git a/make_site.py b/make_site.py index 55b8510f..16a67b9a 100755 --- a/make_site.py +++ b/make_site.py @@ -12,7 +12,7 @@ # # This script runs the jinja2 templating engine on an input template-file # using the specified locale for gettext translations, and outputs -# the resulting (HTML) ouptut-file. +# the resulting (HTML) output-file. # # Note that the gettext files need to be prepared first. This script # is thus to be invoked via the Makefile. @@ -44,6 +44,10 @@ def main(): x = gen_site(DEBUG) conf = x.load_config("www.yml") x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) + # for lang in conf["langs_full"]: + # x.gen_newspost_content(conf, "newsposts", "content", "page", lang) + x.gen_newspost_content(conf, "newsposts", "content", "page", "en") + x.gen_rss("inc", conf, env) if DEBUG: print("generating html from jinja2 templates...") x.run("template", conf, env) diff --git a/rssg b/rssg deleted file mode 100755 index e21974f4..00000000 --- a/rssg +++ /dev/null @@ -1,220 +0,0 @@ -#!/bin/sh -# -# https://www.romanzolotarev.com/bin/rssg -# Copyright 2018 Roman Zolotarev -# Copyright 2019 ng0 -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -set -e - -# TODO: Fix date -j for GNU date. -# TODO: Fix base url (get_url) -# TODO: Fix link OR a in get_url -# TODO: get_title: be more dynamic about where the title can be. - -main () { - test -n "$1" || usage - test -n "$2" || usage - test -f "$1" || no_file "$1" - - - index_file=$(readlink -f "$1") - test -z "${index_file##*html}" && html=$(cat "$index_file") - test -z "${index_file##*md}" && html=$(md_to_html "$index_file") - test -n "$html" || usage - - base="${index_file%/*}" - base_url="$(echo "$html" | get_url | sed 's#\(.*\)/[^/]*#\1#')" - - url=$( echo "$html" | get_url) - - title="$2" - - description=$( echo "$html" | get_description | - remove_tags | - remove_nbsp ) - - items=$( echo "$html" | get_items) - - rss=$( echo "$items" | - render_items "$base" "$base_url" | - render_feed "$url" "$title" "$description") - - >&2 echo "[rssg] ${index_file##$(pwd)/} $(echo "$rss" | grep -c '') items" - echo "$rss" -} - - -usage() { - echo "usage: ${0##*/} index.{html,md} title > rss.xml" >&2 - exit 1 -} - - -no_file() { - echo "${0##*/}: $1: No such file" >&2 - exit 2 -} - - -md_to_html() { - test -x "$(which lowdown)" || exit 3 - lowdown \ - -D html-skiphtml \ - -D smarty \ - -d metadata \ - -d autolink "$1" -} - - -get_title() { - awk -F '[<>]' '/

    /, ""); gsub(/<\/h1>/, ""); sub(/ .*/, "", $3); print $0}' | - sed 's/^[ \t]*//;s/[ \t]*$//' | - awk 'FNR==1' -} - - -get_url() { - grep -i '\(.*\).*#\1 \2 \3#' -} - - -get_description() { - start='sub("^.*<"s"*"t"("s"[^>]*)?>","")' - stop='sub(".*","")&&x=1' - awk -v 's=[[:space:]]' -v 't=[Pp]' "$start,$stop;x{exit}" -} - -remove_tags() { - sed 's#<[^>]*>##g;s#]*>##g' -} - - -remove_nbsp() { - sed 's#\ # #g' -} - - -rel_to_abs_urls() { - site_url="$1" - base_url="$2" - - abs='s#(src|href)="/([^"]*)"#\1="'"$site_url"/'\2"#g' - rel='s#(src|href)="([^:/"]*)"#\1="'"$base_url"/'\2"#g' - sed -E "$abs;$rel" -} - - -date_rfc_822() { - if date --version >/dev/null 2>&1; then - in="$(echo "$1"| tr -cd '[:digit:]')0000" - year=$(echo $in | cut -c1-4) - month=$(echo $in | cut -c5-6) - day=$(echo $in | cut -c7-8) - hour=$(echo $in | cut -c9-10) - minute=$(echo $in | cut -c11-12) - date -d "$(echo "$year"-"$month"-"$day" "$hour":"$minute")" --rfc-822 - else - date -j '+%a, %d %b %Y %H:%M:%S %z' \ - "$(echo "$1"| tr -cd '[:digit:]')0000" - fi -} - - -feed_date_rfc_822() { - if date --version >/dev/null 2>&1; then - k="$($1)" - date -d "$(echo "$k")" --rfc-822 - else - date -j '+%a, %d %b %Y %H:%M:%S %z' \ - "$(echo "$1"| tr -cd '[:digit:]')0000" - fi -} - - -render_items() { - while read -r i - do render_item "$1" "$2" "$i" - done -} - - -render_item() { - base="$1" - base_url="$2" - item="$3" - - site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')" - - date=$(echo "$item"|awk '{print$2}') - - url=$(echo "$item"|awk '{print$1}') - - f="$base/$url" - test -f "$f" && html=$(cat "$f") - test -f "${f%\.html}.md" && html=$(md_to_html "${f%\.html}.md") - - description=$( - echo "$html" | - rel_to_abs_urls "$site_url" "$base_url" | - remove_nbsp | awk '//,//' - ) - title=$(echo "$description" | get_title) - guid="$base_url/$(echo "$url" | sed 's#^/##')" - - echo ' - -'"$guid"' -'"$guid"' -'"$(date_rfc_822 "$date")"' -'"$title"' - -' -} - - -render_feed() { - url="$1" - title=$(echo "$2" | remove_nbsp) - description="$3" - - base_url="$(echo "$url" | cut -d '/' -f1-3)" - - echo ' - - - -'"$title"' -en -'"$description"' -'"$base_url"'/ -'"$(feed_date_rfc_822 date)"' -'"$(cat)"' -' -} - - -main "$@" diff --git a/www.yml b/www.yml index ce0fa3ec..03f654ab 100644 --- a/www.yml +++ b/www.yml @@ -1,3 +1,12 @@ +siteconf: + - baseurl: gnunet.org + newsloc: /news/ + newsdir: news + rsstitle: GNUnet.org + rssdescr: "News posts published by GNUnet about changes related to GNUnet, releases, and events" + rssloc: + rsslink: + rsslang: langs_full: &langs en: English fr: Français @@ -50,83 +59,103 @@ newsposts: - page: 2019-11-ICANNUpdate.html date: 2019-11-10 title: GNS@ICANN66 - abstract: + abstract: + content: - page: 2019-0.11.8.html date: 2019-10-30 title: GNUnet 0.11.8 abstract: + content: - page: 2019-0.11.7.html date: 2019-10-27 title: GNUnet 0.11.7 - abstract: + abstract: + content: - page: 2019-10-ICANNPanel.html date: 2019-10-20 title: GNUnet invited to ICANN Panel - abstract: + abstract: + content: - page: 2019-10-GNSSpec1.html date: 2019-10-04 title: GNS Specification Milestone 1/4 - abstract: + abstract: + content: - page: 2019-0.11.6.html date: 2019-07-24 title: GNUnet 0.11.6 - abstract: + abstract: + content: - page: 2019-07-GHM_Aug_2019.html date: 2019-07-17 title: GNUnet Hacker Meeting 2019 - abstract: + abstract: + content: - page: 2019-06-DSTJ.html date: 2019-06-28 title: "Peer DSTJ is dead, long live peer Y924" - abstract: + abstract: + content: - page: 2019-0.11.5.html date: 2019-06-05 title: GNUnet 0.11.5 - abstract: + abstract: + content: - page: 2019-06.html date: 2019-06-01 title: 2019-06 - abstract: + abstract: + content: - page: 2019-0.11.4.html date: 2019-05-12 title: GNUnet 0.11.4 - abstract: + abstract: + content: - page: 2019-0.11.3.html date: 2019-04-07 title: GNUnet 0.11.3 - abstract: + abstract: + content: - page: 2019-0.11.2.html date: 2019-04-04 title: GNUnet 0.11.2 - abstract: + abstract: + content: - page: 2019-0.11.1.html date: 2019-04-03 title: GNUnet 0.11.1 - abstract: + abstract: + content: - page: 2019-0.11.0.html date: 2019-02-28 title: GNUnet 0.11.0 - abstract: + abstract: + content: - page: 2019-02.html date: 2019-02-01 title: Google Summer of Code 2019 - abstract: + abstract: + content: - page: 2018-08.html date: 2018-08-14 title: GSoC 2018 - GNUnet Web-based User Interface - abstract: + abstract: + content: - page: 2018-07.html date: 2018-07-01 title: Second GNUnet Hacker Meeting 2018 abstract: + content: - page: 2018-06.html date: 2018-06-06 title: GNUnet 0.11.0pre66 abstract: + content: - page: 2017-10.html date: 2017-10-01 title: Launching the new gnunet.org abstract: + content: # # # -- cgit v1.2.3 From 38a53f517b44debcadc5cd43c42a395da6a2a941 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Nov 2019 01:39:09 +0000 Subject: revert --- www.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www.yml b/www.yml index fab7a7dd..03f654ab 100644 --- a/www.yml +++ b/www.yml @@ -45,7 +45,7 @@ staticfiles: - file: moved_about.html targets: - about.html - - file: gns.html + - file: moved_gns.html targets: - gns.html meetingnotes: -- cgit v1.2.3 From 057372259378cebafe65b242d72817325f246da5 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Nov 2019 01:40:35 +0000 Subject: bump inc --- inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc b/inc index 20373c17..928b18e2 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 20373c170a50c50380a72a04ef1beb4e715efb70 +Subproject commit 928b18e2f2abd2f0717de30a768428b8ac5fc799 -- cgit v1.2.3 From abd6698f03d594dbf64b0cb75d26e5d247e343c9 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 14 Nov 2019 01:48:58 +0000 Subject: fix inc --- inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc b/inc index 928b18e2..1dc65315 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 928b18e2f2abd2f0717de30a768428b8ac5fc799 +Subproject commit 1dc65315af4dbe083b222995944245ab7272329d -- cgit v1.2.3 From 7b4bb87512d0296db97b6bee88ac03fcdd7a09e8 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 17 Nov 2019 14:06:17 +0000 Subject: add back css, we never used much of the sass. --- .gitignore | 2 - GNUmakefile | 8 -- Makefile | 11 +- static/styles.css | 310 +++++++++++++++++++++++++++++++++++++++++++++++++ static/styles.sass | 334 ----------------------------------------------------- 5 files changed, 311 insertions(+), 354 deletions(-) create mode 100644 static/styles.css delete mode 100644 static/styles.sass diff --git a/.gitignore b/.gitignore index c2b3ea1e..a5b4b5cd 100644 --- a/.gitignore +++ b/.gitignore @@ -21,8 +21,6 @@ ru/ __pycache__ *.pyc -static/styles.css - sitemap.html sitemap.xml diff --git a/GNUmakefile b/GNUmakefile index a8ffdc3c..7265c5e6 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -39,10 +39,6 @@ all: css locale template (cd rendered/node ; $(ln) -fs about.html 397) ($(cp) static/moved_about.html rendered/about.html) (cd rendered ; $(ln) -fs about.html philosophy) -# (cd rendered; \ - for lang in en de es fr it; do \ - $(sh) ../rssg $$lang/news/index.html 'GNUnet.org' > $$lang/news/rss.xml; \ - done) (cd rendered; \ for lang in en de es fr it; do \ $(cp) $$lang/rss.xml $$lang/news/rss.xml; \ @@ -61,10 +57,6 @@ locale-update: locale/messages.pot done) if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then echo -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi -# sass preprocessor -css: - $(sassc) static/styles.sass static/styles.css - # Compile translation files for use. locale-compile: (for lang in en de fr it es; do \ diff --git a/Makefile b/Makefile index 9c784651..4011559f 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ DESTDIR=$(prefix) _LOCALELIST= en de fr it es _DIRLIST= dist static -.PHONY: all run locale-compile locale install clean css +.PHONY: all run locale-compile locale install clean .OBJDIR=rendered @@ -21,9 +21,6 @@ _DIRLIST= dist static # All: build HTML pages in all languages and compile the # TypeScript logic in web-common. all: css locale template -#.for _dir in ${_DIRLIST} -# $(cp) -R ${_dir} rendered/ -#.endfor .for _lang in ${_LOCALELIST} ($(cp) rendered/static/robots.txt rendered/${_lang}) ($(cp) rendered/static/stage.robots.txt rendered/${_lang}) @@ -44,9 +41,6 @@ all: css locale template (cd rendered/node ; $(ln) -fs about.html 397) ($(cp) static/moved_about.html rendered/about.html) (cd rendered ; $(ln) -fs about.html philosophy) -.for _lang in ${_LOCALELIST} - (cd rendered; $(sh) ../rssg ${_lang}/news/index.html 'GNUnet News' > ${_lang}/news/rss.xml) -.endfor # Extract translateable strings from jinja2 templates. locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc @@ -76,9 +70,6 @@ locale: locale-update locale-compile template: locale-compile $(python) ./make_site.py -vvvv -css: - $(sassc) static/styles.sass static/styles.css - run: .if defined(browser) && !empty(DESTDIR) && !empty(python) $(browser) http://0.0.0.0:8000/rendered/en/ & diff --git a/static/styles.css b/static/styles.css new file mode 100644 index 00000000..d2d9c882 --- /dev/null +++ b/static/styles.css @@ -0,0 +1,310 @@ +.static-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 3; } + +.skip { + display: none !important; + position: absolute; + top: 0; + left: 0; + width: 100%; + font-size: .857143em; } + .skip li { + position: absolute; + z-index: 1; + margin: 0; } + .skip a { + position: absolute; + left: -9999px; } + .skip a:active, .skip a:focus { + display: block; + position: static; + left: 0; + padding: .25em 1em; } + +.near-white { + color: #f4f4f4 !important; } + +.near-black { + color: #111; } + +.dark-grey { + color: #333; } + +.blue { + color: #357edd; } + +.bg-near-white { + background-color: #f4f4f4; } + +.bg-near-black { + background-color: #111; } + +code { + margin-bottom: 1em; + word-wrap: break-word; } + +a.btn { + text-decoration: none !important; + color: white !important; } + a.btn:link, a.btn:visited { + text-decoration: none !important; + color: white !important; } + +h6.description { + font-weight: bold; + letter-spacing: 2px; + color: #999; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding-bottom: 5px; } + +.profile { + margin-top: 25px; } + .profile h1 { + font-weight: normal; + font-size: 20px; + margin: 10px 0 0 0; } + .profile h2 { + font-size: 14px; + font-weight: lighter; + margin-top: 5px; } + .profile .img-box { + opacity: 1; + display: block; + position: relative; + min-height: 160px; } + .profile .img-box:after { + content: ""; + opacity: 0; + background-color: rgba(0, 0, 0, 0.75); + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; } + .profile .img-none { + text-align: center; } + .profile .img-none i.fa { + color: #eee; + font-size: 8em; } + +.img-box ul { + position: absolute; + z-index: 2; + bottom: 50px; + text-align: center; + width: 100%; + padding-left: 0px; + height: 0px; + margin: 0px; + opacity: 0; } + +.profile .img-box:after { + -webkit-transition: all 0.5s ease-in-out 0s; + -moz-transition: all 0.5s ease-in-out 0s; + transition: all 0.5s ease-in-out 0s; } + +.img-box ul { + -webkit-transition: all 0.5s ease-in-out 0s; + -moz-transition: all 0.5s ease-in-out 0s; + transition: all 0.5s ease-in-out 0s; } + .img-box ul li { + -webkit-transition: all 0.5s ease-in-out 0s; + -moz-transition: all 0.5s ease-in-out 0s; + transition: all 0.5s ease-in-out 0s; } + .img-box ul i { + font-size: 20px; + letter-spacing: 10px; } + .img-box ul li { + width: 30px; + height: 30px; + text-align: center; + color: #88C425; + margin: 2px; + padding: 5px; + display: inline-block; } + +.img-box a { + color: #fff; } + +.img-box:hover:after, .img-box:hover ul { + opacity: 1; } + +.img-box ul a { + -webkit-transition: all 0.3s ease-in-out 0s; + -moz-transition: all 0.3s ease-in-out 0s; + transition: all 0.3s ease-in-out 0s; } + +.img-box a:hover li { + border-color: #fff; + color: #88C425; } + +i.red { + color: #BC0213; } + +.btn-primary { + color: #fff; + background-color: #678; + border-color: #68a; } + +img.distro-logo { + height: 150px; } + +a.btn:hover { + transition: background-color 0.7s; + background-color: #217fae; + border-color: #fff; + color: white !important; } + +body .banner { + color: white; + padding-top: 20px; + padding-bottom: 20px; } + +#body_content .banner a { + color: white; } + +.lang-slector { + float: right; + padding-top: 2mm; + padding-bottom: 4mm; + margin-left: 15px; + margin-right: 15px; } + +html { + overflow-y: scroll; } + +.dark { + background-color: #333; + color: white; } + +.c_acronym { + background-color: #419edb; + color: white; } + .c_acronym a { + color: #c1d9f5; } + +footer a { + text-decoration: underline; + color: white; } + footer a:link, footer a:visited { + text-decoration: underline; + color: white; } + footer a:hover { + transition: background-color 0.3s; + background-color: rgba(100, 100, 100, 0.5); } + +.c_intro { + min-height: 97vh; } + +.in .nav-lang { + display: none; } + +.mobile-lang { + margin-left: 5px; + margin-top: 8px; } + +#mybody { + color: black; } + +.btn-dark { + background-color: #999; } + +#mybody nav { + border-radius: 0px; + padding: 10px; } + +.index-logo { + text-align: center; } + +footer { + padding: 2em; } + +#body_content { + min-height: 80vh; } + #body_content .container-wide { + margin-bottom: 2em; + padding-top: 1em; + padding-bottom: 1em; + padding-left: 2em; + padding-right: 2em; } + #body_content .container { + padding-top: 1em; + padding-bottom: 1em; + padding-left: 2em; + padding-right: 2em; + max-width: 80em; } + #body_content .jumbotron { + margin-bottom: 0px; } + +.adorn_h3_bracket h3::before { + content: "#"; + color: #333; + margin-right: 0.5em; } + +.footer-list { + list-style: none; } + +.cushion-above { + padding-top: 2em; } + +.cushion-below { + padding-bottom: 2em; } + +.invert { + -webkit-filter: invert(100%); + filter: invert(100%); } + +.row { + min-width: 50%; } + +header { + text-align: center; + margin-top: 30px; + margin-bottom: 50px; } + +.alert { + display: flex; + overflow: hidden; + background-color: #c4453c; + width: 100%; + align-items: center; + justify-content: center; + padding: 0.1em; } + +.alert-content { + color: #f6f6f6; + font: bold 16px/40px sans-serif; + text-align: center; + text-decoration: none; } + +.subnav a.nav-link:link, .subnav a.nav-link:visited { + color: #419edb !important; } + +a.subnav-anchor { + position: relative; + top: -80px; } + +.item-preview:link .item-previewvisited { + text-decoration: none; + color: #212529; + display: block; + padding: 10px 15px; + text-align: left; } + +.item-preview:active .item-preview:focus .item-preview:hover { + background-color: #F4BB15; } + +.item-preview h3 { + font-size: 1em; + font-weight: bold; + margin: 0px; } + +.item-preview p { + word-wrap: break-word; } + +.item-date { + font-size: 0.9em; } diff --git a/static/styles.sass b/static/styles.sass deleted file mode 100644 index d554d723..00000000 --- a/static/styles.sass +++ /dev/null @@ -1,334 +0,0 @@ -.static-top - position: fixed - top: 0 - right: 0 - left: 0 - z-index: 3 - -.skip - display: none !important - position: absolute - top: 0 - left: 0 - width: 100% - font-size: .857143em - li - position: absolute - z-index: 1 - margin: 0 - a - position: absolute - left: -9999px - &:active, &:focus - display: block - position: static - left: 0 - padding: .25em 1em - -// text colors - -// blunt-force priority, works for now. -.near-white - color: #f4f4f4 !important - -.near-black - color: #111 - -.dark-grey - color: #333 - -.blue - color: #357edd - -// background colors - -.bg-near-white - background-color: #f4f4f4 - -.bg-near-black - background-color: #111 - -code - margin-bottom: 1em - word-wrap: break-word - -// hyperlinks and buttons - -//#body_content a -// text-decoration: underline -// color: #357edd -// &:link, &:visited -// text-decoration: underline -// color: #357edd - -a.btn - text-decoration: none !important - color: white !important - &:link, &:visited - text-decoration: none !important - color: white !important - -h6.description - font-weight: bold - letter-spacing: 2px - color: #999 - border-bottom: 1px solid rgba(0, 0, 0, 0.1) - padding-bottom: 5px - -.profile - margin-top: 25px - h1 - font-weight: normal - font-size: 20px - margin: 10px 0 0 0 - h2 - font-size: 14px - font-weight: lighter - margin-top: 5px - .img-box - opacity: 1 - display: block - position: relative - min-height: 160px - &:after - content: "" - opacity: 0 - background-color: rgba(0, 0, 0, 0.75) - position: absolute - right: 0 - left: 0 - top: 0 - bottom: 0 - .img-none - text-align: center - i.fa - color: #eee - font-size: 8em - -.img-box ul - position: absolute - z-index: 2 - bottom: 50px - text-align: center - width: 100% - padding-left: 0px - height: 0px - margin: 0px - opacity: 0 - -.profile .img-box:after - -webkit-transition: all 0.5s ease-in-out 0s - -moz-transition: all 0.5s ease-in-out 0s - transition: all 0.5s ease-in-out 0s - -.img-box - ul - -webkit-transition: all 0.5s ease-in-out 0s - -moz-transition: all 0.5s ease-in-out 0s - transition: all 0.5s ease-in-out 0s - li - -webkit-transition: all 0.5s ease-in-out 0s - -moz-transition: all 0.5s ease-in-out 0s - transition: all 0.5s ease-in-out 0s - i - font-size: 20px - letter-spacing: 10px - li - width: 30px - height: 30px - text-align: center - color: #88C425 - margin: 2px - padding: 5px - display: inline-block - a - color: #fff - &:hover - &:after, ul - opacity: 1 - ul a - -webkit-transition: all 0.3s ease-in-out 0s - -moz-transition: all 0.3s ease-in-out 0s - transition: all 0.3s ease-in-out 0s - a:hover li - border-color: #fff - color: #88C425 - -i.red - color: #BC0213 - -.btn-primary - color: #fff - background-color: #678 - border-color: #68a - -img.distro-logo - height: 150px - -a.btn:hover - transition: background-color 0.7s - background-color: #217fae - border-color: #fff - color: white !important - -body .banner - color: white - padding-top: 20px - padding-bottom: 20px - -#body_content .banner a - color: white - -.lang-slector - float: right - padding-top: 2mm - padding-bottom: 4mm - margin-left: 15px - margin-right: 15px - -html - overflow-y: scroll - -.dark - background-color: #333 - color: white - -.c_acronym - background-color: #419edb - color: white - a - &:link &:visited - color: #c1d9f5 - -footer a - text-decoration: underline - color: white - &:link, &:visited - text-decoration: underline - color: white - &:hover - transition: background-color 0.3s - background-color: rgba(100, 100, 100, 0.5) - -.c_intro - min-height: 97vh - -// don't show the language selector in the dropdown on mobile devices, -// since it's in the top bar already. - -.in .nav-lang - display: none - -.mobile-lang - margin-left: 5px - margin-top: 8px - -#mybody - // override ugly bootstrap defaults - color: black - -.btn-dark - background-color: #999 - -#mybody nav - border-radius: 0px - padding: 10px - -.index-logo - text-align: center - -footer - padding: 2em - -#body_content - .container-wide - margin-bottom: 2em - padding-top: 1em - padding-bottom: 1em - padding-left: 2em - padding-right: 2em - .container - padding-top: 1em - padding-bottom: 1em - padding-left: 2em - padding-right: 2em - max-width: 80em - .jumbotron - margin-bottom: 0px - // push footer down - min-height: 80vh - -.adorn_h3_bracket h3::before - content: "#" - color: #333 - margin-right: 0.5em - -.footer-list - list-style: none - -.cushion-above - padding-top: 2em - -.cushion-below - padding-bottom: 2em - -.invert - -webkit-filter: invert(100%) - filter: invert(100%) - -.row - min-width: 50% - -header - text-align: center - margin-top: 30px - margin-bottom: 50px - -// Notification bar at top of index page -.alert - display: flex; - overflow: hidden; - background-color: #c4453c; - width: 100%; - align-items: center; - justify-content: center; - padding: 0.1em - -.alert-content - //position: absolute; - color: #f6f6f6; - font: bold 16px/40px sans-serif; - text-align: center; - text-decoration: none; - - -// Some docs are too long, thus there is a need for a subnav. -// Use "subnav" class for the submenu. -// Use "subnav-anchor" class for the a-tags right before a section title. -.subnav - a.nav-link - &:link, &:visited - color: #419edb !important -a.subnav-anchor - position: relative - top: -80px - -.item-preview - &:link &visited - text-decoration: none - color: #212529 - display: block - padding: 10px 15px - text-align: left - &:active &:focus &:hover - background-color: #F4BB15 - h3 - font-size: 1em - font-weight: bold - margin: 0px - - p - word-wrap: break-word - -.item-date - font-size: 0.9em -- cgit v1.2.3 From f03141ac42d6c80084161cc5e595bc492e85b4f1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 17 Nov 2019 15:39:52 +0000 Subject: remove sticky attribute of navbar, add first rough "jump to top" button (needs improvement!) --- GNUmakefile | 2 +- Makefile | 2 +- common/base.j2 | 6 +++++- common/footer.j2.inc | 5 +++++ common/header.j2.inc | 5 +++++ common/navigation.j2.inc | 2 +- common/news.j2 | 3 +++ static/scroll.css | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ static/scroll.js | 12 ++++++++++++ 9 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 static/scroll.css create mode 100644 static/scroll.js diff --git a/GNUmakefile b/GNUmakefile index 7265c5e6..ffe9c281 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -19,7 +19,7 @@ include config.mk -all: css locale template +all: locale template ($(cp) rendered/static/robots.txt rendered/robots.txt) ($(cp) rendered/static/stage.robots.txt rendered/stage.robots.txt) ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) diff --git a/Makefile b/Makefile index 4011559f..cc73b41f 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ _DIRLIST= dist static # All: build HTML pages in all languages and compile the # TypeScript logic in web-common. -all: css locale template +all: locale template .for _lang in ${_LOCALELIST} ($(cp) rendered/static/robots.txt rendered/${_lang}) ($(cp) rendered/static/stage.robots.txt rendered/${_lang}) diff --git a/common/base.j2 b/common/base.j2 index 70034222..f82e4f27 100644 --- a/common/base.j2 +++ b/common/base.j2 @@ -10,7 +10,11 @@ {% include "common/navigation.j2.inc" %}
    - {% block body_content %}{% endblock %} + + + + + {% block body_content %}{% endblock %}
    {% include "common/footer.j2.inc" %} diff --git a/common/footer.j2.inc b/common/footer.j2.inc index 6d4614b3..68a3b6de 100644 --- a/common/footer.j2.inc +++ b/common/footer.j2.inc @@ -31,5 +31,10 @@ {{ _("Source code of this site.") }} {{ _("Report issues with this website.") }}

    + diff --git a/common/header.j2.inc b/common/header.j2.inc index 9301948c..2f809854 100644 --- a/common/header.j2.inc +++ b/common/header.j2.inc @@ -44,6 +44,11 @@ + + + + + + + + $ make
    + # make install +

    {{ _("Option 2: GNUnet experimental") }}

    - Perform the same steps as for Option 1, but add the configure switch - --enable-experimental. For even more verbosity you could - configure gnunet like this: + Perform the same steps as for Option 1, but add the configure switch + --enable-experimental. For even more verbosity you could + configure gnunet like this:

    - - $ LDFLAGS=-L/usr/pkg/lib CFLAGS="-g -O0" ./configure --prefix=$HOME/gnunet --enable-logging=verbose - + + $ LDFLAGS="-L/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib" CFLAGS="-g -O0" ./configure --prefix=$HOME/gnunet --enable-logging=verbose +

    - This allows you to get more verbose logs when you export GNUNET_FORCE_LOG=";;;;DEBUG" before you run tests. + This allows you to get more verbose logs when you export GNUNET_FORCE_LOG=";;;;DEBUG" before you run tests.

    {% endblock body_content %} -- cgit v1.2.3 From 5e15eb28cee24a385035767ae5c83b141a59b25c Mon Sep 17 00:00:00 2001 From: "Schanzenbach, Martin" Date: Sun, 1 Dec 2019 13:35:44 +0100 Subject: make notice a bit less annoying --- template/index.html.j2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/template/index.html.j2 b/template/index.html.j2 index 3386f62c..de6be0eb 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -46,6 +46,7 @@ +

    {{ _("About") }} @@ -55,6 +56,11 @@ {{ _("Engage") }}

    +
    +
    + Notice: GNUnet is still undergoing major development. It is largely not yet ready for usage beyond developers +
    +
    -- cgit v1.2.3 From d03f98d602a4b10991b705ceb74bfbd5c8572904 Mon Sep 17 00:00:00 2001 From: "Schanzenbach, Martin" Date: Sun, 1 Dec 2019 13:38:40 +0100 Subject: forgot to remove the banner on top --- inc | 2 +- template/index.html.j2 | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/inc b/inc index 1dc65315..20373c17 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 1dc65315af4dbe083b222995944245ab7272329d +Subproject commit 20373c170a50c50380a72a04ef1beb4e715efb70 diff --git a/template/index.html.j2 b/template/index.html.j2 index de6be0eb..f55bc410 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -1,12 +1,6 @@ {% extends "common/base.j2" %} {% block body_content %} {% import 'inc/news.macro.j2' as news %} - -
    -
    - Notice: GNUnet is still undergoing major development. It is largely not yet ready for usage beyond developers -
    -
    -- cgit v1.2.3 From 1f7e6f40f9ba31b2fbe929b99c62e30b83ead7c4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 13:27:23 +0000 Subject: revert the reverting of submodule commits + add more commands to bootstrap for this. --- bootstrap | 2 ++ build-system/taler-build-scripts | 2 +- configure | 1 - inc | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bootstrap b/bootstrap index 7fa915ff..7630c337 100755 --- a/bootstrap +++ b/bootstrap @@ -11,5 +11,7 @@ if ! git --version >/dev/null; then fi git submodule update --init +git submodule update --recursive --remote +git submodule sync cp build-system/taler-build-scripts/configure ./configure || true cp build-system/taler-build-scripts/conf/.style.yapf .style.yapf || true diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts index 323c6a94..1915a74b 160000 --- a/build-system/taler-build-scripts +++ b/build-system/taler-build-scripts @@ -1 +1 @@ -Subproject commit 323c6a9412a78dd6a3341a05746fca4b3a57492e +Subproject commit 1915a74bbb4cd2ae9bc541a382dfebc37064a2fd diff --git a/configure b/configure index e2be5fac..7749566c 100755 --- a/configure +++ b/configure @@ -32,7 +32,6 @@ # we invoke configure not as a symlink but as a copy, # so we have to use a fixed location for the repository! -# dir=$(dirname "$(readlink -f -- "$0")")/build-system/taler-build-scripts dir=$(dirname "$(readlink -- "$0")")/build-system/taler-build-scripts . $dir/sh/lib.sh/existence.sh . $dir/sh/lib.sh/existence_python.sh diff --git a/inc b/inc index 20373c17..1dc65315 160000 --- a/inc +++ b/inc @@ -1 +1 @@ -Subproject commit 20373c170a50c50380a72a04ef1beb4e715efb70 +Subproject commit 1dc65315af4dbe083b222995944245ab7272329d -- cgit v1.2.3 From 29106461678c98932e361453f5943c0a56cc7bc6 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 13:44:21 +0000 Subject: move usage notice to install, change 'distribution' to 'Operating System' as not everyone runs a distribution. --- template/index.html.j2 | 5 ----- template/install.html.j2 | 8 +++++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/template/index.html.j2 b/template/index.html.j2 index f55bc410..fa9277df 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -50,11 +50,6 @@ {{ _("Engage") }}

    -
    -
    - Notice: GNUnet is still undergoing major development. It is largely not yet ready for usage beyond developers -
    -
    diff --git a/template/install.html.j2 b/template/install.html.j2 index 8be70e27..03313f64 100644 --- a/template/install.html.j2 +++ b/template/install.html.j2 @@ -7,9 +7,15 @@
    +
    +
    + Notice: GNUnet is still undergoing major development. It is + largely not yet ready for usage beyond developers. +
    +
    {% trans %} -

    The following GNUnet installation instructions help you building from source for your distribution.

    +

    The following GNUnet installation instructions help you building from source for your Operating System.

    Please note that the installation process will get much easier once we have proper packages again (planned for winter 2019).

    You have already installed GNUnet and want to use it? Check this out!

    -- cgit v1.2.3 From 8fc995fcbdc65bc1a56afd10ad3c9b12eb1979d3 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 14:18:36 +0000 Subject: remove duplicate report from news, add diff to report --- news/2018-08.html.j2 | 40 ------------------ template/gsoc-2018-gnunet-webui.html.j2 | 74 ++++++++++++++++----------------- www.yml | 5 --- 3 files changed, 37 insertions(+), 82 deletions(-) delete mode 100644 news/2018-08.html.j2 diff --git a/news/2018-08.html.j2 b/news/2018-08.html.j2 deleted file mode 100644 index 3555c0fa..00000000 --- a/news/2018-08.html.j2 +++ /dev/null @@ -1,40 +0,0 @@ -{% extends "common/news.j2" %} -{% block body_content %} -

    GSoC 2018 - GNUnet Web-based User Interface

    -

    - Tue, 08/14/2018 - 07:55 - Phil Buschmann -

    -

    What was done?

    -

    - In the context of Google Summer of Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and extending the REST API of GNUnet. Currently, we mirrored the functionality of following commands: -

    -
      -
    • gnunet-identity -
    • gnunet-namestore -
    • gnunet-gns -
    • gnunet-peerinfo -
    -

    - Additionally, we developed a website with the Javascript framework Angular 6 and the design framework iotaCSS to use the new REST API. The REST API of GNUnet is now documented with Sphinx. -

    -

    Why did we create a REST API?

    -

    - ... when you can use the command line tools? We need to keep in mind, that everyone has the right to stay secure and private but not everyone feels comfortable using a terminal. The further developed REST access to GNUnet APIs in addition to the new web application allows new users to interact with GNUnet over a well known tool: their browsers. This addition to the C API and the command line tools may attract new users and developers. -

    -

    How can we use it?

    -
      -
    1. The REST API developed in GNUnet
      The REST API is already merged into the gnunet.git repository (GNUnet Main Git). To use the new features, clone the repository and follow the Installation on gnunet.org. Then, start the rest service with "gnunet-arm -i rest".
    2. -
    3. The Web Application
      The web application is available under the gnunet-webui.git repository (GNUnet WebUI Git). You need to install the newest version of 'node' and 'yarn'. Dependent on your system, you may need to download newer versions and install them manually and not over your packet manager. After the installation succeeded, you need to clone the repository. Then, you need to run "yarn install" and "yarn start" for testing purposes. To deploy the website (keep in mind, that this website communicates with another localhost instance) use "yarn build" for building the web application and use the output in the 'dist' directory.
    4. -
    5. The Documentation
      The documentation is available under the gnunet-rest-api.git repository (GNUnet REST API Docmentation Git). Clone the repository and "make html". Then open the 'index.html' under 'build/html/'.
    6. -
    -

    - Please, give it a try and contact me, if you find any bugs or unintentional features. ;) -

    -

    What can be improved?

    -

    - Right now, the build process of the web application may be a little too complex for a casual user. We may be able to solve this by using docker. Additionally, the web application does not prevent wrong inputs but responds with error messages. Adding GNUnet Records is currently only usable for people, who know how a GNS Record looks like. This can be adapted to each record type. Last but not least, additional features, design changes, etc... -

    -

    - Thanks for reading. -

    -{% endblock body_content %} diff --git a/template/gsoc-2018-gnunet-webui.html.j2 b/template/gsoc-2018-gnunet-webui.html.j2 index ada000f4..ec65ee5b 100644 --- a/template/gsoc-2018-gnunet-webui.html.j2 +++ b/template/gsoc-2018-gnunet-webui.html.j2 @@ -4,7 +4,7 @@
    -

    {{ _("GSoC 2018: GNUnet WebUI") }}

    +

    {{ _("GSoC 2018: GNUnet WebUI (GNUnet Web-based User Interface)") }}


    @@ -13,21 +13,21 @@ {% endtrans %}

    +

    What was done?

    {% trans %} - What was done?
    In the context of Google Summer of Code 2018, my mentor (Martin Schanzenbach) and I have worked on creating and extending the REST API of GNUnet. Currently, we mirrored the functionality of following commands: {% endtrans %}

    -

    - gnunet-identity
    - gnunet-namestore
    - gnunet-gns
    - gnunet-peerinfo -

    +
      +
    • gnunet-identity
    • +
    • gnunet-namestore
    • +
    • gnunet-gns
    • +
    • gnunet-peerinfo
    • +

    {% trans %} Additionally, we developed a website with the Javascript @@ -36,32 +36,33 @@ with Sphinx. {% endtrans %}

    +

    Why did we create a REST API?

    {% trans %} - Why did we create a REST API?
    - ... when you can use the command line tools?
    - We need to keep in mind, that everyone has the right to stay secure - and private but not everyone feels comfortable using a terminal. The - further developed REST access to GNUnet APIs in addition to the new - web application allows new users to interact with GNUnet over a well - known tool: their browsers. This addition to the C API and the command - line tools may attract new users and developers. + ... when you can use the command line tools? We need to + keep in mind, that everyone has the right to stay secure and + private but not everyone feels comfortable using a + terminal. The further developed REST access to GNUnet APIs + in addition to the new web application allows new users to + interact with GNUnet over a well known tool: their + browsers. This addition to the C API and the command line + tools may attract new users and developers. {% endtrans %}

    -

    - {% trans %} - How can we use it?
    - 1. The REST API developed in GNUnet
    The REST API is - already merged into the gnunet.git repository - (GNUnet Main Git).
    - To use the new features, clone the repository - and follow the Installation - on gnunet.org. Then, start the rest service with "gnunet-arm -i rest". - {% endtrans %} -

    -

    +

    How can we use it?

    +
      {% trans %} - 2. The Web Application
      +
    1. + The REST API developed in GNUnet
      The REST API is + already merged into the gnunet.git repository + (GNUnet Main Git).
      + To use the new features, clone the repository and follow + the Installation + on gnunet.org. Then, start the rest service with + "gnunet-arm -i rest". +
    2. +
    3. + The Web Application
      The web application is available under the gnunet-webui.git repository (GNUnet WebUI Git).
      @@ -74,28 +75,27 @@ in mind, that this website communicates with another localhost instance) use "yarn build" for building the web application and use the output in the 'dist' directory. - {% endtrans %} -

      -

      - {% trans %} - 3. The Documentation
      +

    4. +
    5. + The Documentation
      The documentation is available under the gnunet-rest-api.git repository (GNUnet REST API Docmentation Git).
      Clone the repository and "make html". Then open the 'index.html' under 'build/html/'. - {% endtrans %} -

      +
    6. + {% endtrans %} +

    {% trans %} Please, give it a try and contact me, if you find any bugs or unintentional features. ;) {% endtrans %}

    +

    What can be improved?

    {% trans %} - What can be improved?
    Right now, the build process of the web application may be a little too complex for a casual user. We may be able to solve this by using docker.
    Additionally, the web application diff --git a/www.yml b/www.yml index 03f654ab..2b61768a 100644 --- a/www.yml +++ b/www.yml @@ -136,11 +136,6 @@ newsposts: title: Google Summer of Code 2019 abstract: content: - - page: 2018-08.html - date: 2018-08-14 - title: GSoC 2018 - GNUnet Web-based User Interface - abstract: - content: - page: 2018-07.html date: 2018-07-01 title: Second GNUnet Hacker Meeting 2018 -- cgit v1.2.3 From ed52aea39ce6c3f250419063ff588c411319b236 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 14:22:54 +0000 Subject: remove (placeholder) news about new gnunet.org from 2017. --- news/2017-10.html.j2 | 7 ------- www.yml | 5 ----- 2 files changed, 12 deletions(-) delete mode 100644 news/2017-10.html.j2 diff --git a/news/2017-10.html.j2 b/news/2017-10.html.j2 deleted file mode 100644 index 043b3aaa..00000000 --- a/news/2017-10.html.j2 +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "common/news.j2" %} -{% block body_content %} -

    Launching the new gnunet.org

    -

    - Welcome to the redesign of gnunet.org, our website about GNUnet. -

    -{% endblock body_content %} diff --git a/www.yml b/www.yml index 2b61768a..8a019878 100644 --- a/www.yml +++ b/www.yml @@ -146,11 +146,6 @@ newsposts: title: GNUnet 0.11.0pre66 abstract: content: - - page: 2017-10.html - date: 2017-10-01 - title: Launching the new gnunet.org - abstract: - content: # # # -- cgit v1.2.3 From 8539c5d49a1ad2aeaac069b3e6a73061fdcfa5bf Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 15:06:16 +0000 Subject: move news to the bottom after review from outside + comparison with other projects (voidlinux). --- template/index.html.j2 | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/template/index.html.j2 b/template/index.html.j2 index fa9277df..0c6e142c 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -40,7 +40,6 @@
    -

    {{ _("About") }} @@ -52,31 +51,6 @@

    -
    -
    -
    -
    -

    {{ _("News") }}

    -
    -
    - {% for item in newsdata[:4] %} -
    -
    - {{ news.newspreview(item, prefix="news/") }} -
    -
    - {% endfor %} -
    -
    -

    - Read more of our recent news postings in the archive. -

    -
    -
    -
    -
    - - +
    +
    +
    +
    +

    {{ _("News") }}

    +
    +
    + {% for item in newsdata[:4] %} +
    +
    + {{ news.newspreview(item, prefix="news/") }} +
    +
    + {% endfor %} +
    +
    +

    + Read more of our recent news postings in the archive. +

    +
    +
    +
    +
    + {% endblock body_content %} -- cgit v1.2.3 From 3ef3e87d58baa0b9d9974fec2852a3af03c2c0cb Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 15:14:14 +0000 Subject: add button for news archive. --- template/index.html.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/index.html.j2 b/template/index.html.j2 index 0c6e142c..578e8d89 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -373,7 +373,7 @@

    - Read more of our recent news postings in the archive. + {{ _("News Archive") }}

    -- cgit v1.2.3 From 13b8ffcee6000607a625aa7af0a1f17ac09db42d Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 1 Dec 2019 15:50:44 +0000 Subject: make links in blueboxes less painfull to read and discover. --- static/styles.css | 13 ++++++++++--- template/index.html.j2 | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/static/styles.css b/static/styles.css index d2d9c882..5979d21a 100644 --- a/static/styles.css +++ b/static/styles.css @@ -49,10 +49,17 @@ code { a.btn { text-decoration: none !important; - color: white !important; } - a.btn:link, a.btn:visited { + color: white !important; +} +a.btn:link, a.btn:visited { text-decoration: none !important; - color: white !important; } + color: white !important; +} + +.bluebox a:link, .bluebox a:visited { + text-decoration: underline !important; + color: #f4f4f4 !important; +} h6.description { font-weight: bold; diff --git a/template/index.html.j2 b/template/index.html.j2 index 578e8d89..7e442e2e 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -51,7 +51,7 @@
    -