diff --git a/.gitignore b/.gitignore index 3b423a9..9cafb92 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ data/ .ropeproject/ *.mo *.pot +tags +debianmemberportfolio/model/keyringcache.db +.idea/ diff --git a/ChangeLog b/ChangeLog index 838d2f7..7cb22ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2020-02-22 Jan Dittberner + * Update translations + +2018-05-12 Jan Dittberner + * add patch by Paul Wise to provide Repology information links + * Update translations + +2018-02-09 Jan Dittberner + * add patch by Paul Wise to provide Salsa links + * Update translations + +2015-11-12 Jan Dittberner + * port to Python 3 and Flask + 2015-03-09 Jan Dittberner * apply patch for DMD link by Paul Wise diff --git a/MANIFEST.in b/MANIFEST.in index 8b85d82..5df1764 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,2 @@ -include debianmemberportfolio/config/deployment.ini_tmpl -recursive-include debianmemberportfolio/public * +recursive-include debianmemberportfolio/static * recursive-include debianmemberportfolio/templates * diff --git a/babel.cfg b/babel.cfg new file mode 100644 index 0000000..f0234b3 --- /dev/null +++ b/babel.cfg @@ -0,0 +1,3 @@ +[python: **.py] +[jinja2: **/templates/**.html] +extensions=jinja2.ext.autoescape,jinja2.ext.with_ diff --git a/debianmemberportfolio/tests/functional/__init__.py b/config.py similarity index 72% rename from debianmemberportfolio/tests/functional/__init__.py rename to config.py index 75697f6..a77f89b 100644 --- a/debianmemberportfolio/tests/functional/__init__.py +++ b/config.py @@ -1,9 +1,9 @@ # -*- python -*- # -*- coding: utf-8 -*- # -# Debian Member Portfolio Service functional tests package +# Debian Member Portfolio Service Flask configuration # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -20,3 +20,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # + +WTF_CSRF_ENABLED = False + +# available languages +LANGUAGES = { + 'en': 'English', + 'de': 'Deutsch', + 'fr': 'Français', + 'id': 'Bahasa Indonesia', + 'pt_BR': 'Portuguese (Brazil)' +} diff --git a/debianmemberportfolio/__init__.py b/debianmemberportfolio/__init__.py index d500ba2..1667908 100644 --- a/debianmemberportfolio/__init__.py +++ b/debianmemberportfolio/__init__.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service package # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -20,3 +20,12 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # + +from flask import Flask +from flask_babel import Babel + +app = Flask(__name__) +babel = Babel(app) +app.config.from_object('config') + +from debianmemberportfolio import views diff --git a/debianmemberportfolio/config/deployment.ini_tmpl b/debianmemberportfolio/config/deployment.ini_tmpl deleted file mode 100644 index 116ca29..0000000 --- a/debianmemberportfolio/config/deployment.ini_tmpl +++ /dev/null @@ -1,60 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 0.0.0.0 -port = 5000 - -[app:main] -use = egg:debianmemberportfolio -full_stack = true -static_files = true - -cache_dir = %(here)s/data -beaker.session.key = debianmemberportfolio -beaker.session.secret = ${app_instance_secret} -app_instance_uuid = ${app_instance_uuid} - -# If you'd like to fine-tune the individual locations of the cache data dirs -# for the Cache data, or the Session saves, un-comment the desired settings -# here: -#beaker.cache.data_dir = %(here)s/data/cache -#beaker.session.data_dir = %(here)s/data/sessions - -# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* -# Debug mode will enable the interactive debugging tool, allowing ANYONE to -# execute malicious code after an exception is raised. -set debug = false - - -# Logging configuration -[loggers] -keys = root - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s diff --git a/debianmemberportfolio/config/environment.py b/debianmemberportfolio/config/environment.py deleted file mode 100644 index feabd91..0000000 --- a/debianmemberportfolio/config/environment.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service environment configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons environment configuration - -""" - -import os - -from mako.lookup import TemplateLookup -from pylons.configuration import PylonsConfig -from pylons.error import handle_mako_error - -import debianmemberportfolio.lib.app_globals as app_globals -import debianmemberportfolio.lib.helpers -from debianmemberportfolio.config.routing import make_map - - -def load_environment(global_conf, app_conf): - """ - Configures the Pylons environment via the ``pylons.config`` object. - """ - config = PylonsConfig() - - # Pylons paths - root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - paths = dict(root=root, - controllers=os.path.join(root, 'controllers'), - static_files=os.path.join(root, 'public'), - templates=[os.path.join(root, 'templates')]) - - # Initialize config with the basic options - config.init_app( - global_conf, app_conf, package='debianmemberportfolio', paths=paths) - - config['routes.map'] = make_map(config) - config['pylons.app_globals'] = app_globals.Globals(config) - config['pylons.h'] = debianmemberportfolio.lib.helpers - - # Setup cache object as early as possible - import pylons - pylons.cache._push_object(config['pylons.app_globals'].cache) - - # Create the Mako TemplateLookup, with the default auto-escaping - config['pylons.app_globals'].mako_lookup = TemplateLookup( - directories=paths['templates'], - error_handler=handle_mako_error, - module_directory=os.path.join(app_conf['cache_dir'], 'templates'), - input_encoding='utf-8', default_filters=['escape'], - imports=['from webhelpers.html import escape']) - - # CONFIGURATION OPTIONS HERE (note: all config options will override - # any Pylons config options) - - return config diff --git a/debianmemberportfolio/config/middleware.py b/debianmemberportfolio/config/middleware.py deleted file mode 100644 index 9dd80ae..0000000 --- a/debianmemberportfolio/config/middleware.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service middleware configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons middleware initialization - -""" - -from beaker.middleware import SessionMiddleware -from paste.cascade import Cascade -from paste.registry import RegistryManager -from paste.urlparser import StaticURLParser -from paste.deploy.converters import asbool -from pylons.middleware import ErrorHandler, StatusCodeRedirect -from pylons.wsgiapp import PylonsApp -from routes.middleware import RoutesMiddleware - -from debianmemberportfolio.config.environment import load_environment - - -def make_app(global_conf, full_stack=True, static_files=True, **app_conf): - """ - Create a Pylons WSGI application and return it - - ``global_conf`` - The inherited configuration for this application. Normally from - the [DEFAULT] section of the Paste ini file. - - ``full_stack`` - Whether this application provides a full WSGI stack (by default, - meaning it handles its own exceptions and errors). Disable - full_stack when this application is "managed" by another WSGI - middleware. - - ``static_files`` - Whether this application serves its own static files; disable - when another web server is responsible for serving them. - - ``app_conf`` - The application's local configuration. Normally specified in - the [app:] section of the Paste ini file (where - defaults to main). - - """ - # Configure the Pylons environment - config = load_environment(global_conf, app_conf) - - # The Pylons WSGI app - app = PylonsApp(config=config) - - # Routing/Session/Cache Middleware - app = RoutesMiddleware(app, config['routes.map']) - app = SessionMiddleware(app, config) - - # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) - - if asbool(full_stack): - # Handle Python exceptions - app = ErrorHandler(app, global_conf, **config['pylons.errorware']) - - # Display error documents for 401, 403, 404 status codes (and - # 500 when debug is disabled) - if asbool(config['debug']): - app = StatusCodeRedirect(app) - else: - app = StatusCodeRedirect(app, [400, 401, 403, 404, 500]) - - # Establish the Registry for this application - app = RegistryManager(app) - - if asbool(static_files): - # Serve static files - static_app = StaticURLParser(config['pylons.paths']['static_files']) - app = Cascade([static_app, app]) - app.config = config - return app diff --git a/debianmemberportfolio/config/routing.py b/debianmemberportfolio/config/routing.py deleted file mode 100644 index 39a9d38..0000000 --- a/debianmemberportfolio/config/routing.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service routing configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Routes configuration - -The more specific and detailed routes should be defined first so they -may take precedent over the more generic routes. For more information -refer to the routes manual at https://routes.readthedocs.org/ - -""" - -from routes import Mapper - - -def make_map(config): - """ - Create, configure and return the routes Mapper - - """ - map = Mapper(directory=config['pylons.paths']['controllers'], - always_scan=config['debug'], explicit=True) - map.minimization = False - - # The ErrorController route (handles 404/500 error pages); it should - # likely stay at the top, ensuring it can always be resolved - map.connect('/error/{action}', controller='error') - map.connect('/error/{action}/{id}', controller='error') - - # CUSTOM ROUTES HERE - map.connect('/', controller='portfolio', action='index') - map.connect('/result', controller='portfolio', action='urllist') - map.connect('/htmlformhelper.js', controller='showformscripts', - action='index') - - map.connect('/{controller}/{action}') - map.connect('/{controller}/{action}/{id}') - - return map diff --git a/debianmemberportfolio/controllers/__init__.py b/debianmemberportfolio/controllers/__init__.py deleted file mode 100644 index eda4d33..0000000 --- a/debianmemberportfolio/controllers/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service controllers package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/controllers/error.py b/debianmemberportfolio/controllers/error.py deleted file mode 100644 index 4047bb5..0000000 --- a/debianmemberportfolio/controllers/error.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ErrorController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -import cgi - -from paste.urlparser import PkgResourcesParser -from pylons import request -from pylons.controllers.util import forward -from pylons.middleware import error_document_template -from webhelpers.html.builder import literal - -from debianmemberportfolio.lib.base import BaseController - - -class ErrorController(BaseController): - """Generates error documents as and when they are required. - - The ErrorDocuments middleware forwards to ErrorController when error - related status codes are returned from the application. - - This behaviour can be altered by changing the parameters to the - ErrorDocuments middleware in your config/middleware.py file. - """ - - def document(self): - """Render the error document""" - resp = request.environ.get('pylons.original_response') - content = literal(resp.body) or cgi.escape( - request.GET.get('message', '')) - page = error_document_template % \ - dict(prefix=request.environ.get('SCRIPT_NAME', ''), - code=cgi.escape( - request.GET.get('code', str(resp.status_int))), - message=content) - return page - - def img(self, id): - """Serve Pylons' stock images""" - return self._serve_file('/'.join(['media/img', id])) - - def style(self, id): - """Serve Pylons' stock stylesheets""" - return self._serve_file('/'.join(['media/style', id])) - - def _serve_file(self, path): - """ - Call Paste's FileApp (a WSGI application) to serve the file at - the specified path - """ - request.environ['PATH_INFO'] = '/%s' % path - return forward(PkgResourcesParser('pylons', 'pylons')) diff --git a/debianmemberportfolio/controllers/portfolio.py b/debianmemberportfolio/controllers/portfolio.py deleted file mode 100644 index 5539edc..0000000 --- a/debianmemberportfolio/controllers/portfolio.py +++ /dev/null @@ -1,212 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service PortfolioController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines the PortfolioController class used to render the portfolio -of a person. -""" - -import logging -import simplejson - -from pylons import request, response, tmpl_context as c -from pylons.i18n import N_, _ -import formencode.api -import formencode.validators - -from debianmemberportfolio.lib.base import BaseController, render -from debianmemberportfolio.model.form import DDDataRequest, DeveloperData -from debianmemberportfolio.model.urlbuilder import build_urls -from debianmemberportfolio.model import dddatabuilder - -log = logging.getLogger(__name__) - - -class PortfolioController(BaseController): - """ - Main controller for the Debian Member Portfolio Service. - """ - #: This dictionary defines groups of labeled portfolio items. - _LABELS = { - 'overview': { - 'label': N_('Overview'), - 'ddpo': N_("Debian Member's Package Overview"), - 'alladdresses': N_("""Debian Member's Package Overview -... showing all email addresses"""), - }, - 'bugs': { - 'label': N_('Bugs'), - 'received': N_('''bugs received -(note: co-maintainers not listed, see \ -#430986)'''), - 'reported': N_('bugs reported'), - 'usertags': N_('user tags'), - 'searchall': N_('all messages (i.e., full text search for \ -developer name on all bug logs)'), - 'wnpp': N_('WNPP'), - 'correspondent': N_('correspondent for bugs'), - 'graph': N_('one year open bug history graph'), - }, - 'build': { - 'label': N_('Build'), - 'buildd': N_('buildd.d.o'), - 'igloo': N_('igloo'), - }, - 'qa': { - 'label': N_('Quality Assurance'), - 'dmd': N_('maintainer dashboard'), - 'lintian': N_('lintian reports'), - 'lintianfull': N_('full lintian reports (i.e. including \ -"info"-level messages)'), - 'piuparts': N_('piuparts'), - 'patchtracker': N_('Debian patch tracking system'), - 'duck': N_('Debian Url ChecKer'), - }, - 'lists': { - 'label': N_('Mailing Lists'), - 'dolists': N_('lists.d.o'), - 'adolists': N_('lists.a.d.o'), - 'gmane': N_('gmane'), - }, - 'files': { - 'label': N_('Files'), - 'people': N_('people.d.o'), - 'oldpeople': N_('oldpeople'), - 'alioth': N_('Alioth'), - }, - 'membership': { - 'label': N_('Membership'), - 'nm': N_('NM'), - 'dbfinger': N_('DB information via finger'), - 'db': N_('DB information via HTTP'), - 'webid': N_('FOAF profile'), - 'alioth': N_('Alioth'), - 'wiki': N_('Wiki'), - 'forum': N_('Forum'), - }, - 'miscellaneous': { - 'label': N_('Miscellaneous'), - 'debtags': N_('debtags'), - 'planetname': N_('Planet Debian (name)'), - 'planetuser': N_('Planet Debian (username)'), - 'links': N_('links'), - 'website': N_('Debian website'), - 'search': N_('Debian search'), - 'gpgfinger': N_('GPG public key via finger'), - 'gpgweb': N_('GPG public key via HTTP'), - 'nm': N_('NM, AM participation'), - 'contrib': N_('Contribution information'), - }, - 'ssh': { - 'label': N_('Information reachable via ssh (for Debian Members)'), - 'owndndoms': N_('owned debian.net domains'), - 'miainfo': N_('MIA database information'), - 'groupinfo': N_('Group membership information'), - }, - 'ubuntu': { - 'label': N_('Ubuntu'), - 'ubuntudiff': N_('Available patches from Ubuntu'), - }, - } - - #: list of field name tuples for Debian Maintainers - DM_TUPLES = (('name', 'name'), - ('gpgfp', 'gpgfp'), - ('nonddemail', 'email')) - - #: list of field name tuples for Debian Developers - DD_TUPLES = (('username', 'username'), - ('aliothusername', 'username')) - - def _get_label(self, section, url=None): - if section in self._LABELS: - if url: - if url in self._LABELS[section]: - return self._LABELS[section][url] - elif 'label' in self._LABELS[section]: - return self._LABELS[section]['label'] - if url: - return "%s.%s" % (section, url) - return section - - def index(self): - """ - Render the input form. - """ - return render('/showform.mako') - - def _build_request_params(self): - schema = DDDataRequest() - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(request.params) - fields = dddatabuilder.build_data(form_result['email']) - rp = request.params.copy() - - if fields['type'] in (dddatabuilder.TYPE_DD, dddatabuilder.TYPE_DM): - for tuple in self.DM_TUPLES: - if not tuple[0] in rp or not rp[tuple[0]]: - rp[tuple[0]] = fields[tuple[1]] - if fields['type'] == dddatabuilder.TYPE_DD: - for tuple in self.DD_TUPLES: - if not tuple[0] in rp or not rp[tuple[0]]: - rp[tuple[0]] = fields[tuple[1]] - - return rp - - def urllist(self): - """Handle the actual data.""" - try: - rp = self._build_request_params() - except formencode.validators.Invalid as error: - c.messages = {'errors': error.unpack_errors()} - return render('/showform.mako') - - schema = DeveloperData() - try: - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(rp) - except formencode.validators.Invalid, error: - c.messages = {'errors': error.unpack_errors()} - return render('/showform.mako') - if form_result['wikihomepage'] is None: - log.debug('generate wikihomepage from name') - form_result['wikihomepage'] = "".join( - [part.capitalize() for part in form_result['name'].split()]) - data = build_urls(form_result) - if form_result['mode'] == 'json': - response.headers['Content-Type'] = 'text/javascript' - return simplejson.dumps( - dict([("%s.%s" % (entry[1], entry[2].name), entry[3]) - for entry in data if entry[0] == 'url'])) - for entry in data: - if entry[0] in ('url', 'error'): - entry.append(_(self._get_label(entry[1], entry[2].name))) - elif entry[0] == 'section': - entry.append(_(self._get_label(entry[1]))) - c.urldata = data - return render('/showurls.mako') diff --git a/debianmemberportfolio/controllers/showformscripts.py b/debianmemberportfolio/controllers/showformscripts.py deleted file mode 100644 index 1e906a2..0000000 --- a/debianmemberportfolio/controllers/showformscripts.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ShowformscriptsController. -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file defines the ShowformscriptsController used to generate the JavaScript -code in forms. -""" - -import logging -import simplejson - -from pylons import request, response -from pylons.controllers.util import abort - -import formencode.api -import formencode.validators - -from debianmemberportfolio.lib.base import BaseController, render -from debianmemberportfolio.model.form import DDDataRequest -from debianmemberportfolio.model import dddatabuilder - -log = logging.getLogger(__name__) - - -class ShowformscriptsController(BaseController): - """This controller is used to support data entry in showform. - - It provides code for generating JavaScript as well as JSON - responses for autocompletion of fields.""" - - def index(self): - """ - This action generates the helper script for the showform page. - """ - response.headers['Content-Type'] = 'text/javascript; charset=utf-8' - return render('/showformscript.mako') - - def fetchdddata(self): - """ - This action fetches the data for a given mail address and - returns them as JSON. - """ - schema = DDDataRequest() - try: - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(request.params) - except formencode.validators.Invalid, error: - errors = error.unpack_errors() - abort(400, "\n".join( - ["%s: %s" % (key, errors[key]) for key in errors])) - fields = dddatabuilder.build_data(form_result['email']) - log.debug(fields) - response.headers['Content-Type'] = 'text/plain' - return simplejson.dumps(fields) diff --git a/debianmemberportfolio/controllers/template.py b/debianmemberportfolio/controllers/template.py deleted file mode 100644 index b1f53e1..0000000 --- a/debianmemberportfolio/controllers/template.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service TemplateController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file contains the TemplateController used to render templates. -""" - -from debianmemberportfolio.lib.base import BaseController -from pylons.controllers.util import abort - - -class TemplateController(BaseController): - - def view(self, url): - """By default, the final controller tried to fulfill the request - when no other routes match. It may be used to display a template - when all else fails, e.g.:: - - def view(self, url): - return render('/%s' % url) - - Or if you're using Mako and want to explicitly send a 404 (Not - Found) response code when the requested template doesn't exist:: - - import mako.exceptions - - def view(self, url): - try: - return render('/%s' % url) - except mako.exceptions.TopLevelLookupException: - abort(404) - - By default this controller aborts the request with a 404 (Not - Found) - """ - abort(404) diff --git a/debianmemberportfolio/forms.py b/debianmemberportfolio/forms.py new file mode 100644 index 0000000..24872ee --- /dev/null +++ b/debianmemberportfolio/forms.py @@ -0,0 +1,73 @@ +# -*- python -*- +# -*- coding: utf-8 -*- +# +# Debian Member Portfolio Service views +# +# Copyright © 2015-2020 Jan Dittberner +# +# This file is part of the Debian Member Portfolio Service. +# +# Debian Member Portfolio Service is free software: you can redistribute it +# and/or modify it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# Debian Member Portfolio Service is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +# General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +from __future__ import unicode_literals + +from flask_babel import gettext as _ +from flask_wtf import FlaskForm +from wtforms import IntegerField, StringField, RadioField +from wtforms.validators import ( + AnyOf, DataRequired, Email, Length, Optional, Regexp +) +from string import hexdigits + + +class FingerPrint(Regexp): + def __init__(self, **kwargs): + super(FingerPrint, self).__init__(r'^[a-fA-F0-9]*$', **kwargs) + + +class PlainText(Regexp): + def __init__(self): + super(PlainText, self).__init__(r'^[a-zA-Z\-0-9]*$') + + +def gpg_fingerprint(data): + if data is not None: + return "".join([ + char for char in str(data) if char.lower() in hexdigits]) + return data + + +class DeveloperData(FlaskForm): + email = StringField('email', validators=[DataRequired(), Email()]) + name = StringField('name', validators=[Optional(), DataRequired()]) + gpgfp = StringField('gpgfp', filters=[gpg_fingerprint], validators=[ + Optional(), FingerPrint(), Length(min=32, max=40) + ]) + username = StringField('username', validators=[Optional(), PlainText()]) + nonddemail = StringField('nonddemail', validators=[Optional(), Email()]) + salsausername = StringField('salsausername', validators=[ + Optional(), PlainText() + ]) + mode = RadioField( + 'mode', default='html', choices=[ + ('json', _('JSON')), ('html', _('HTML')) + ], validators=[AnyOf(['json', 'html'])] + ) + forumsid = IntegerField('forumsid', default=None, validators=[Optional()]) + wikihomepage = StringField('wikihomepage', default=None, validators=[ + Optional()]) + + +class DeveloperDataRequest(FlaskForm): + email = StringField('email', validators=[DataRequired(), Email()]) diff --git a/debianmemberportfolio/i18n/de/LC_MESSAGES/debianmemberportfolio.po b/debianmemberportfolio/i18n/de/LC_MESSAGES/debianmemberportfolio.po deleted file mode 100644 index 71f4b27..0000000 --- a/debianmemberportfolio/i18n/de/LC_MESSAGES/debianmemberportfolio.po +++ /dev/null @@ -1,420 +0,0 @@ -# German translations for the Debian Member Portfolio Service. -# -# Copyright (C) 2009-2014 Jan Dittberner -# This file is distributed under the same license as the Debian Member -# Portfolio Service project. -# Translators: -# Jan Dittberner , 2009-2014 -msgid "" -msgstr "" -"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" -"Report-Msgid-Bugs-To: jan@dittberner.info\n" -"POT-Creation-Date: 2014-02-08 18:14+0100\n" -"PO-Revision-Date: 2014-02-08 18:03+0100\n" -"Last-Translator: Jan Dittberner \n" -"Language-Team: de \n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" - -#: debianmemberportfolio/controllers/portfolio.py:45 -msgid "Overview" -msgstr "Überblick" - -#: debianmemberportfolio/controllers/portfolio.py:46 -msgid "Debian Member's Package Overview" -msgstr "Paketübersicht des Debian-Mitglieds" - -#: debianmemberportfolio/controllers/portfolio.py:47 -msgid "" -"Debian Member's Package Overview\n" -"... showing all email addresses" -msgstr "" -"Paketübersicht des Debian-Mitglieds\n" -"... mit allen E-Mailadressen" - -#: debianmemberportfolio/controllers/portfolio.py:51 -msgid "Bugs" -msgstr "Fehler" - -#: debianmemberportfolio/controllers/portfolio.py:52 -msgid "" -"bugs received\n" -"(note: co-maintainers not listed, see #430986)" -msgstr "" -"Erhaltene Fehlerberichte\n" -"(Anmerkung: Co-Maintainer werden nicht aufgeführt, siehe #430986)" - -#: debianmemberportfolio/controllers/portfolio.py:56 -msgid "bugs reported" -msgstr "Berichtete Fehler" - -#: debianmemberportfolio/controllers/portfolio.py:57 -msgid "user tags" -msgstr "User Tags" - -#: debianmemberportfolio/controllers/portfolio.py:58 -msgid "all messages (i.e., full text search for developer name on all bug logs)" -msgstr "" -"Alle Nachrichten (d.h. Volltextsuche nach dem Entwicklernamen in allen " -"Fehlerlogs)" - -#: debianmemberportfolio/controllers/portfolio.py:60 -msgid "WNPP" -msgstr "WNPP" - -#: debianmemberportfolio/controllers/portfolio.py:61 -msgid "correspondent for bugs" -msgstr "Beitragender zu Fehlern" - -#: debianmemberportfolio/controllers/portfolio.py:62 -msgid "one year open bug history graph" -msgstr "Graph der Entwicklung offener Fehlerberichte über ein Jahr" - -#: debianmemberportfolio/controllers/portfolio.py:65 -msgid "Build" -msgstr "Build" - -#: debianmemberportfolio/controllers/portfolio.py:66 -msgid "buildd.d.o" -msgstr "buildd.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:67 -msgid "igloo" -msgstr "Igloo" - -#: debianmemberportfolio/controllers/portfolio.py:70 -msgid "Quality Assurance" -msgstr "Qualitätssicherung" - -#: debianmemberportfolio/controllers/portfolio.py:71 -msgid "maintainer dashboard" -msgstr "Maintainer Dashboard" - -#: debianmemberportfolio/controllers/portfolio.py:72 -msgid "lintian reports" -msgstr "Lintian-Berichte" - -#: debianmemberportfolio/controllers/portfolio.py:73 -msgid "full lintian reports (i.e. including \"info\"-level messages)" -msgstr "" -"vollständige Lintian-Berichte (d.h. inklusive Meldungen der Stufe " -"\"info\")" - -#: debianmemberportfolio/controllers/portfolio.py:75 -msgid "piuparts" -msgstr "piuparts" - -#: debianmemberportfolio/controllers/portfolio.py:76 -msgid "Debian patch tracking system" -msgstr "Debian Nachverfolgungssystem für Patches" - -#: debianmemberportfolio/controllers/portfolio.py:77 -msgid "Debian Url ChecKer" -msgstr "Debian URL-Prüfer" - -#: debianmemberportfolio/controllers/portfolio.py:80 -msgid "Mailing Lists" -msgstr "Mailinglisten" - -#: debianmemberportfolio/controllers/portfolio.py:81 -msgid "lists.d.o" -msgstr "lists.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:82 -msgid "lists.a.d.o" -msgstr "lists.a.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:83 -msgid "gmane" -msgstr "Gmane" - -#: debianmemberportfolio/controllers/portfolio.py:86 -msgid "Files" -msgstr "Dateien" - -#: debianmemberportfolio/controllers/portfolio.py:87 -msgid "people.d.o" -msgstr "people.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:88 -msgid "oldpeople" -msgstr "oldpeople" - -#: debianmemberportfolio/controllers/portfolio.py:89 -#: debianmemberportfolio/controllers/portfolio.py:97 -msgid "Alioth" -msgstr "Alioth" - -#: debianmemberportfolio/controllers/portfolio.py:92 -msgid "Membership" -msgstr "Mitgliedschaft" - -#: debianmemberportfolio/controllers/portfolio.py:93 -msgid "NM" -msgstr "NM" - -#: debianmemberportfolio/controllers/portfolio.py:94 -msgid "DB information via finger" -msgstr "DB-Informationen per finger" - -#: debianmemberportfolio/controllers/portfolio.py:95 -msgid "DB information via HTTP" -msgstr "DB-Informationen per HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:96 -msgid "FOAF profile" -msgstr "FOAF-Profil" - -#: debianmemberportfolio/controllers/portfolio.py:98 -msgid "Wiki" -msgstr "Wiki" - -#: debianmemberportfolio/controllers/portfolio.py:99 -msgid "Forum" -msgstr "Forum" - -#: debianmemberportfolio/controllers/portfolio.py:102 -msgid "Miscellaneous" -msgstr "Sonstiges" - -#: debianmemberportfolio/controllers/portfolio.py:103 -msgid "debtags" -msgstr "debtags" - -#: debianmemberportfolio/controllers/portfolio.py:104 -msgid "Planet Debian (name)" -msgstr "Planet Debian (Name)" - -#: debianmemberportfolio/controllers/portfolio.py:105 -msgid "Planet Debian (username)" -msgstr "Planet Debian (Benutzername)" - -#: debianmemberportfolio/controllers/portfolio.py:106 -msgid "links" -msgstr "Links" - -#: debianmemberportfolio/controllers/portfolio.py:107 -msgid "Debian website" -msgstr "Debian Webseite" - -#: debianmemberportfolio/controllers/portfolio.py:108 -msgid "Debian search" -msgstr "Debian-Suche" - -#: debianmemberportfolio/controllers/portfolio.py:109 -msgid "GPG public key via finger" -msgstr "öffentlicher GPG-Schlüssel per finger" - -#: debianmemberportfolio/controllers/portfolio.py:110 -msgid "GPG public key via HTTP" -msgstr "öffentlicher GPG-Schlüssel per HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:111 -msgid "NM, AM participation" -msgstr "NM-, AM-Mitwirkung" - -#: debianmemberportfolio/controllers/portfolio.py:112 -msgid "Contribution information" -msgstr "Debian Contributor-Informationen" - -#: debianmemberportfolio/controllers/portfolio.py:115 -msgid "Information reachable via ssh (for Debian Members)" -msgstr "Per ssh erreichbare Informationen (für Debian Mitglieder)" - -#: debianmemberportfolio/controllers/portfolio.py:116 -msgid "owned debian.net domains" -msgstr "Besitz von debian.net-Domains" - -#: debianmemberportfolio/controllers/portfolio.py:117 -msgid "" -"MIA database" -" information" -msgstr "" -"Informationen in der MIA-Datenbank" - -#: debianmemberportfolio/controllers/portfolio.py:119 -msgid "Group membership information" -msgstr "Information über Gruppenmitgliedschaften" - -#: debianmemberportfolio/controllers/portfolio.py:122 -msgid "Ubuntu" -msgstr "Ubuntu" - -#: debianmemberportfolio/controllers/portfolio.py:123 -msgid "Available patches from Ubuntu" -msgstr "Verfügbare Patches aus Ubuntu" - -#: debianmemberportfolio/model/urlbuilder.py:40 -msgid "Email address" -msgstr "E-Mailadresse" - -#: debianmemberportfolio/model/urlbuilder.py:41 -msgid "Name" -msgstr "Name" - -#: debianmemberportfolio/model/urlbuilder.py:42 -msgid "GPG fingerprint" -msgstr "GPG-Fingerabdruck" - -#: debianmemberportfolio/model/urlbuilder.py:43 -msgid "Debian user name" -msgstr "Debian-Benutzername" - -#: debianmemberportfolio/model/urlbuilder.py:44 -msgid "Non Debian email address" -msgstr "Nicht-Debian-E-Mailadresse" - -#: debianmemberportfolio/model/urlbuilder.py:45 -msgid "Alioth user name" -msgstr "Alioth-Benutzername" - -#: debianmemberportfolio/model/urlbuilder.py:97 -#: debianmemberportfolio/model/urlbuilder.py:101 -#, python-format -msgid "Missing input: %s" -msgstr "Fehlende Eingabe: %s" - -#: debianmemberportfolio/templates/base.mako:25 -#: debianmemberportfolio/templates/base.mako:33 -msgid "Debian Member Portfolio Service" -msgstr "Debian-Mitglieder-Portfolioservice" - -#: debianmemberportfolio/templates/base.mako:31 -msgid "Debian Logo" -msgstr "Debian-Logo" - -#: debianmemberportfolio/templates/base.mako:34 -msgid "" -"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the " -"Debian Wiki. You can create a set of customized links leading to a " -"Debian Member's or package maintainer's information regarding Debian." -msgstr "" -"Dieser Dienst wurde durch Stefano Zacchirolis DDPortfolio-Seite im Debian " -"Wiki inspiriert. Mit dem Dienst können personalisierte Links zu " -"Informationen im Bezug auf Debian für Debian-Mitglieder und Paketbetreuer" -" erzeugt werden." - -#: debianmemberportfolio/templates/base.mako:41 -msgid "AGPL - Free Software" -msgstr "AGPL - Freie Software" - -#: debianmemberportfolio/templates/base.mako:43 -#, python-format -msgid "" -"The service is available under the terms of the GNU Affero General Public " -"License as published by the Free Software Foundation, either version " -"3 of the License, or (at your option) any later version. You can browse the" -" source code or clone it from %(cloneurl)s using git. If you want to translate this service to your " -"language you can contribute at Transifex." -msgstr "" -"Dieser Dienst wird unter den Bedingungen der GNU Affero General Public " -"License, so wie sie von der Free Software Foundation veröffentlicht " -"ist, bereitgestellt. Sie können entweder Version 3 oder (auf Ihren Wunsch" -" hin) jede spätere Version der Lizenz verwenden. Sie können sich den " -"Quelltext ansehen oder mit git von" -" %(cloneurl)s " -"klonen. Wenn Sie diesen Service in Ihre Sprache übersetzen möchten, " -"können Sie auf Transifex dazu beitragen." - -#: debianmemberportfolio/templates/base.mako:44 -msgid "Copyright © 2009-2014 Jan Dittberner" -msgstr "Copyright © 2009-2014 Jan Dittberner" - -#: debianmemberportfolio/templates/showform.mako:24 -msgid "Enter your personal information" -msgstr "Eingabe der persönlichen Informationen" - -#: debianmemberportfolio/templates/showform.mako:30 -#: debianmemberportfolio/templates/showurls.mako:27 -msgid "Debian Member Portfolio" -msgstr "Debian-Mitgliederportfolio" - -#: debianmemberportfolio/templates/showform.mako:36 -msgid "Email address:" -msgstr "E-Mailadresse:" - -#: debianmemberportfolio/templates/showform.mako:47 -msgid "Show all form fields" -msgstr "Alle Formularfelder anzeigen" - -#: debianmemberportfolio/templates/showform.mako:54 -msgid "Name:" -msgstr "Name:" - -#: debianmemberportfolio/templates/showform.mako:64 -msgid "GPG fingerprint:" -msgstr "GPG-Fingerabdruck:" - -#: debianmemberportfolio/templates/showform.mako:79 -msgid "Debian user name:" -msgstr "Debian-Benutzername:" - -#: debianmemberportfolio/templates/showform.mako:94 -msgid "Non Debian email address:" -msgstr "Nicht-Debian-E-Mailadresse" - -#: debianmemberportfolio/templates/showform.mako:109 -msgid "Alioth user name:" -msgstr "Alioth-Benutzername:" - -#: debianmemberportfolio/templates/showform.mako:125 -msgid "Wiki user name:" -msgstr "Wiki-Benutzername:" - -#: debianmemberportfolio/templates/showform.mako:140 -msgid "Forum user id:" -msgstr "Forumsbenutzernummer:" - -#: debianmemberportfolio/templates/showform.mako:151 -msgid "Output format:" -msgstr "Ausgabeformat:" - -#: debianmemberportfolio/templates/showform.mako:157 -msgid "HTML" -msgstr "HTML" - -#: debianmemberportfolio/templates/showform.mako:159 -msgid "JSON" -msgstr "JSON" - -#: debianmemberportfolio/templates/showform.mako:161 -msgid "Build Debian Member Portfolio URLs" -msgstr "Debian-Mitgliedsportfolio-URLs bauen" - -#: debianmemberportfolio/templates/showurls.mako:23 -msgid "Your personal links" -msgstr "Ihre personalisierten Links" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "Usage" -msgstr "Verwendung" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "URL" -msgstr "URL" - -#: debianmemberportfolio/templates/showurls.mako:40 -msgid "Error during URL creation:" -msgstr "Fehler bei der URL-Erzeugung:" - -#: debianmemberportfolio/templates/showurls.mako:67 -msgid "Restart" -msgstr "Neu beginnen" - diff --git a/debianmemberportfolio/i18n/fr/LC_MESSAGES/debianmemberportfolio.po b/debianmemberportfolio/i18n/fr/LC_MESSAGES/debianmemberportfolio.po deleted file mode 100644 index df73f83..0000000 --- a/debianmemberportfolio/i18n/fr/LC_MESSAGES/debianmemberportfolio.po +++ /dev/null @@ -1,417 +0,0 @@ -# French translations for the Debian Member Portfolio Service -# -# Copyright (C) 2012 Stéphane Aulery -# This file is distributed under the same license as the Debian Member -# Portfolio Service project. -# Translators: -# Stéphane Aulery , 2012. -msgid "" -msgstr "" -"Project-Id-Version: Debian Member Portfolio Service\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-02-08 18:14+0100\n" -"PO-Revision-Date: 2014-01-11 01:29+0100\n" -"Last-Translator: Jan Dittberner \n" -"Language-Team: French " -"(https://www.transifex.com/projects/p/debportfolioservice/language/fr/)\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" - -#: debianmemberportfolio/controllers/portfolio.py:45 -msgid "Overview" -msgstr "Vue d'ensemble" - -#: debianmemberportfolio/controllers/portfolio.py:46 -msgid "Debian Member's Package Overview" -msgstr "Vue d'ensemble des paquets du membre Debian" - -#: debianmemberportfolio/controllers/portfolio.py:47 -msgid "" -"Debian Member's Package Overview\n" -"... showing all email addresses" -msgstr "" -"Vue d'ensemble des paquets du membre Debian\n" -"... affichage de tous les courriels" - -#: debianmemberportfolio/controllers/portfolio.py:51 -msgid "Bugs" -msgstr "Bogues" - -#: debianmemberportfolio/controllers/portfolio.py:52 -msgid "" -"bugs received\n" -"(note: co-maintainers not listed, see #430986)" -msgstr "" -"Bogues reçus\n" -"(note : co-responsables non listés, voir #430986)" - -#: debianmemberportfolio/controllers/portfolio.py:56 -msgid "bugs reported" -msgstr "Bogues rapportés" - -#: debianmemberportfolio/controllers/portfolio.py:57 -msgid "user tags" -msgstr "Tags utilisateur" - -#: debianmemberportfolio/controllers/portfolio.py:58 -msgid "all messages (i.e., full text search for developer name on all bug logs)" -msgstr "" -"Tous les messages (c-à-d, recherche plein texte sur le nom du développeur" -" dans tous les journaux de bogue)" - -#: debianmemberportfolio/controllers/portfolio.py:60 -msgid "WNPP" -msgstr "WNPP" - -#: debianmemberportfolio/controllers/portfolio.py:61 -msgid "correspondent for bugs" -msgstr "Correspondant pour les bogues" - -#: debianmemberportfolio/controllers/portfolio.py:62 -msgid "one year open bug history graph" -msgstr "Graphique de l'évolution des bogues ouverts sur l'année écoulée" - -#: debianmemberportfolio/controllers/portfolio.py:65 -msgid "Build" -msgstr "Build" - -#: debianmemberportfolio/controllers/portfolio.py:66 -msgid "buildd.d.o" -msgstr "buildd.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:67 -msgid "igloo" -msgstr "igloo" - -#: debianmemberportfolio/controllers/portfolio.py:70 -msgid "Quality Assurance" -msgstr "Assurance qualité" - -#: debianmemberportfolio/controllers/portfolio.py:71 -msgid "maintainer dashboard" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:72 -msgid "lintian reports" -msgstr "Rapports lintian" - -#: debianmemberportfolio/controllers/portfolio.py:73 -msgid "full lintian reports (i.e. including \"info\"-level messages)" -msgstr "Rapports lintian complets (c-à-d incluant les messages de niveau \"info\")" - -#: debianmemberportfolio/controllers/portfolio.py:75 -msgid "piuparts" -msgstr "Piuparts" - -#: debianmemberportfolio/controllers/portfolio.py:76 -msgid "Debian patch tracking system" -msgstr "Système de suivi des patchs de Debian" - -#: debianmemberportfolio/controllers/portfolio.py:77 -msgid "Debian Url ChecKer" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:80 -msgid "Mailing Lists" -msgstr "Listes de diffusion" - -#: debianmemberportfolio/controllers/portfolio.py:81 -msgid "lists.d.o" -msgstr "lists.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:82 -msgid "lists.a.d.o" -msgstr "lists.a.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:83 -msgid "gmane" -msgstr "Gmane" - -#: debianmemberportfolio/controllers/portfolio.py:86 -msgid "Files" -msgstr "Fichiers" - -#: debianmemberportfolio/controllers/portfolio.py:87 -msgid "people.d.o" -msgstr "people.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:88 -msgid "oldpeople" -msgstr "oldpeople" - -#: debianmemberportfolio/controllers/portfolio.py:89 -#: debianmemberportfolio/controllers/portfolio.py:97 -msgid "Alioth" -msgstr "Alioth" - -#: debianmemberportfolio/controllers/portfolio.py:92 -msgid "Membership" -msgstr "Adhésion" - -#: debianmemberportfolio/controllers/portfolio.py:93 -msgid "NM" -msgstr "NM" - -#: debianmemberportfolio/controllers/portfolio.py:94 -msgid "DB information via finger" -msgstr "BD d'informations via finger" - -#: debianmemberportfolio/controllers/portfolio.py:95 -msgid "DB information via HTTP" -msgstr "BD d'informations via HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:96 -msgid "FOAF profile" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:98 -msgid "Wiki" -msgstr "Wiki" - -#: debianmemberportfolio/controllers/portfolio.py:99 -msgid "Forum" -msgstr "Forum" - -#: debianmemberportfolio/controllers/portfolio.py:102 -msgid "Miscellaneous" -msgstr "Divers" - -#: debianmemberportfolio/controllers/portfolio.py:103 -msgid "debtags" -msgstr "Debtags" - -#: debianmemberportfolio/controllers/portfolio.py:104 -msgid "Planet Debian (name)" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:105 -#, fuzzy -msgid "Planet Debian (username)" -msgstr "Nom d'utilisateur Debian" - -#: debianmemberportfolio/controllers/portfolio.py:106 -msgid "links" -msgstr "Liens" - -#: debianmemberportfolio/controllers/portfolio.py:107 -msgid "Debian website" -msgstr "Site web de Debian" - -#: debianmemberportfolio/controllers/portfolio.py:108 -msgid "Debian search" -msgstr "Recherche Debian" - -#: debianmemberportfolio/controllers/portfolio.py:109 -msgid "GPG public key via finger" -msgstr "Clef GPG publique via finger" - -#: debianmemberportfolio/controllers/portfolio.py:110 -msgid "GPG public key via HTTP" -msgstr "Clef GPG publique via HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:111 -msgid "NM, AM participation" -msgstr "NM, AM participation" - -#: debianmemberportfolio/controllers/portfolio.py:112 -#, fuzzy -msgid "Contribution information" -msgstr "Saisissez vos informations personnelles" - -#: debianmemberportfolio/controllers/portfolio.py:115 -msgid "Information reachable via ssh (for Debian Members)" -msgstr "Informations accessibles via ssh (pour les membres de Debian)" - -#: debianmemberportfolio/controllers/portfolio.py:116 -msgid "owned debian.net domains" -msgstr "Propriété des domaines debian.net" - -#: debianmemberportfolio/controllers/portfolio.py:117 -msgid "" -"MIA database" -" information" -msgstr "" -"Informations de la base de données MIA" - -#: debianmemberportfolio/controllers/portfolio.py:119 -msgid "Group membership information" -msgstr "Information sur l'adhésion de groupe" - -#: debianmemberportfolio/controllers/portfolio.py:122 -msgid "Ubuntu" -msgstr "Ubuntu" - -#: debianmemberportfolio/controllers/portfolio.py:123 -msgid "Available patches from Ubuntu" -msgstr "Patchs disponibles pour Ubuntu" - -#: debianmemberportfolio/model/urlbuilder.py:40 -msgid "Email address" -msgstr "Courriel" - -#: debianmemberportfolio/model/urlbuilder.py:41 -msgid "Name" -msgstr "Nom" - -#: debianmemberportfolio/model/urlbuilder.py:42 -msgid "GPG fingerprint" -msgstr "Empreinte GPG" - -#: debianmemberportfolio/model/urlbuilder.py:43 -msgid "Debian user name" -msgstr "Nom d'utilisateur Debian" - -#: debianmemberportfolio/model/urlbuilder.py:44 -msgid "Non Debian email address" -msgstr "Courriel hors Debian" - -#: debianmemberportfolio/model/urlbuilder.py:45 -msgid "Alioth user name" -msgstr "Nom d'utilisateur Alioth" - -#: debianmemberportfolio/model/urlbuilder.py:97 -#: debianmemberportfolio/model/urlbuilder.py:101 -#, python-format -msgid "Missing input: %s" -msgstr "Entrée manquante : %s" - -#: debianmemberportfolio/templates/base.mako:25 -#: debianmemberportfolio/templates/base.mako:33 -msgid "Debian Member Portfolio Service" -msgstr "Service de portefeuille des membres de Debian" - -#: debianmemberportfolio/templates/base.mako:31 -msgid "Debian Logo" -msgstr "Logo Debian" - -#: debianmemberportfolio/templates/base.mako:34 -msgid "" -"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the " -"Debian Wiki. You can create a set of customized links leading to a " -"Debian Member's or package maintainer's information regarding Debian." -msgstr "" -"Ce service a été inspiré par la page DDPortfolio du Wiki " -"de Debian de Stefano Zacchiroli. Vous pouvez créer un ensemble " -"personnalisé de liens fournissant des informations sur un membre ou un " -"mainteneur de paquet de Debian." - -#: debianmemberportfolio/templates/base.mako:41 -msgid "AGPL - Free Software" -msgstr "AGPL - Logiciel libre" - -#: debianmemberportfolio/templates/base.mako:43 -#, fuzzy, python-format -msgid "" -"The service is available under the terms of the GNU Affero General Public " -"License as published by the Free Software Foundation, either version " -"3 of the License, or (at your option) any later version. You can browse the" -" source code or clone it from %(cloneurl)s using git. If you want to translate this service to your " -"language you can contribute at Transifex." -msgstr "" -"Ce service est disponible sous les termes de la licence GNU Affero General Public " -"License telle que publiée par la Free Software Foundation, soit la " -"version 3 de la licence, ou (à votre choix) toute version ultérieure. " -"Vous pouvez parcourir le code source ou le cloner depuis %(cloneurl)s en " -"utilisant git." - -#: debianmemberportfolio/templates/base.mako:44 -msgid "Copyright © 2009-2014 Jan Dittberner" -msgstr "Copyright © 2009-2014 Jan Dittberner" - -#: debianmemberportfolio/templates/showform.mako:24 -msgid "Enter your personal information" -msgstr "Saisissez vos informations personnelles" - -#: debianmemberportfolio/templates/showform.mako:30 -#: debianmemberportfolio/templates/showurls.mako:27 -msgid "Debian Member Portfolio" -msgstr "Portefeuille d'un Membre de Debian" - -#: debianmemberportfolio/templates/showform.mako:36 -msgid "Email address:" -msgstr "Courriel :" - -#: debianmemberportfolio/templates/showform.mako:47 -msgid "Show all form fields" -msgstr "Afficher tous les champs du formulaire" - -#: debianmemberportfolio/templates/showform.mako:54 -msgid "Name:" -msgstr "Nom :" - -#: debianmemberportfolio/templates/showform.mako:64 -msgid "GPG fingerprint:" -msgstr "Empreinte GPG :" - -#: debianmemberportfolio/templates/showform.mako:79 -msgid "Debian user name:" -msgstr "Nom d'utilisateur Debian :" - -#: debianmemberportfolio/templates/showform.mako:94 -msgid "Non Debian email address:" -msgstr "Courriel hors Debian :" - -#: debianmemberportfolio/templates/showform.mako:109 -msgid "Alioth user name:" -msgstr "Nom d'utilisateur Alioth :" - -#: debianmemberportfolio/templates/showform.mako:125 -msgid "Wiki user name:" -msgstr "Nom d'utilisateur Wiki :" - -#: debianmemberportfolio/templates/showform.mako:140 -msgid "Forum user id:" -msgstr "Numéro d'utilisateur Forum :" - -#: debianmemberportfolio/templates/showform.mako:151 -msgid "Output format:" -msgstr "Format de sortie :" - -#: debianmemberportfolio/templates/showform.mako:157 -msgid "HTML" -msgstr "HTML" - -#: debianmemberportfolio/templates/showform.mako:159 -msgid "JSON" -msgstr "JSON" - -#: debianmemberportfolio/templates/showform.mako:161 -msgid "Build Debian Member Portfolio URLs" -msgstr "Construire les URLs du portefeuille du membre de Debian" - -#: debianmemberportfolio/templates/showurls.mako:23 -msgid "Your personal links" -msgstr "Vos liens personnels" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "Usage" -msgstr "Utilisation" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "URL" -msgstr "URL" - -#: debianmemberportfolio/templates/showurls.mako:40 -msgid "Error during URL creation:" -msgstr "Erreur durant la création de l'URL :" - -#: debianmemberportfolio/templates/showurls.mako:67 -msgid "Restart" -msgstr "Recommencer" - diff --git a/debianmemberportfolio/i18n/id/LC_MESSAGES/debianmemberportfolio.po b/debianmemberportfolio/i18n/id/LC_MESSAGES/debianmemberportfolio.po deleted file mode 100644 index 7d6aaa9..0000000 --- a/debianmemberportfolio/i18n/id/LC_MESSAGES/debianmemberportfolio.po +++ /dev/null @@ -1,418 +0,0 @@ -# Indonesian translations for Debian Member Portfolio Service. -# -# Copyright (C) 2012 Izharul Haq -# This file is distributed under the same license as the Debian Member -# Portfolio Service project. -# Translators: -# Izharul Haq , 2012. -msgid "" -msgstr "" -"Project-Id-Version: Debian Member Portfolio Service\n" -"Report-Msgid-Bugs-To: atoz.chevara@yahoo.com\n" -"POT-Creation-Date: 2014-02-08 18:14+0100\n" -"PO-Revision-Date: 2014-01-11 01:28+0100\n" -"Last-Translator: Jan Dittberner \n" -"Language-Team: Indonesian " -"(https://www.transifex.com/projects/p/debportfolioservice/language/id/)\n" -"Plural-Forms: nplurals=1; plural=0\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" - -#: debianmemberportfolio/controllers/portfolio.py:45 -msgid "Overview" -msgstr "Gambaran Umum" - -#: debianmemberportfolio/controllers/portfolio.py:46 -msgid "Debian Member's Package Overview" -msgstr "Gambaran Umum Paket Anggota Debian" - -#: debianmemberportfolio/controllers/portfolio.py:47 -msgid "" -"Debian Member's Package Overview\n" -"... showing all email addresses" -msgstr "" -"Gambaran Umum Paket Anggota Debian\n" -"... tampilkan semua alamat email" - -#: debianmemberportfolio/controllers/portfolio.py:51 -msgid "Bugs" -msgstr "Bugs" - -#: debianmemberportfolio/controllers/portfolio.py:52 -msgid "" -"bugs received\n" -"(note: co-maintainers not listed, see #430986)" -msgstr "" -"bugs diterima\n" -"(catatan: co-maintainers tidak tercantum, lihat #430986)" - -#: debianmemberportfolio/controllers/portfolio.py:56 -msgid "bugs reported" -msgstr "melaporkan bug" - -#: debianmemberportfolio/controllers/portfolio.py:57 -msgid "user tags" -msgstr "label pengguna" - -#: debianmemberportfolio/controllers/portfolio.py:58 -msgid "all messages (i.e., full text search for developer name on all bug logs)" -msgstr "" -"semua pesan (yaitu, pencarian teks lengkap untuk nama pengembang pada " -"semua catatan bug)" - -#: debianmemberportfolio/controllers/portfolio.py:60 -msgid "WNPP" -msgstr "WNPP" - -#: debianmemberportfolio/controllers/portfolio.py:61 -msgid "correspondent for bugs" -msgstr "koresponden untuk bug" - -#: debianmemberportfolio/controllers/portfolio.py:62 -msgid "one year open bug history graph" -msgstr "grafik perkembangan laporan bug terbuka lebih dari setahun" - -#: debianmemberportfolio/controllers/portfolio.py:65 -msgid "Build" -msgstr "Bangun" - -#: debianmemberportfolio/controllers/portfolio.py:66 -msgid "buildd.d.o" -msgstr "buildd.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:67 -msgid "igloo" -msgstr "igloo" - -#: debianmemberportfolio/controllers/portfolio.py:70 -msgid "Quality Assurance" -msgstr "Jaminan Mutu" - -#: debianmemberportfolio/controllers/portfolio.py:71 -msgid "maintainer dashboard" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:72 -msgid "lintian reports" -msgstr "laporan lintian" - -#: debianmemberportfolio/controllers/portfolio.py:73 -msgid "full lintian reports (i.e. including \"info\"-level messages)" -msgstr "seluruh pesan lintian (i.e. termasuk pesan \"info\"-level)" - -#: debianmemberportfolio/controllers/portfolio.py:75 -msgid "piuparts" -msgstr "piuparts" - -#: debianmemberportfolio/controllers/portfolio.py:76 -msgid "Debian patch tracking system" -msgstr "sistem pelacakan patch Debian" - -#: debianmemberportfolio/controllers/portfolio.py:77 -msgid "Debian Url ChecKer" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:80 -msgid "Mailing Lists" -msgstr "Milis" - -#: debianmemberportfolio/controllers/portfolio.py:81 -msgid "lists.d.o" -msgstr "lists.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:82 -msgid "lists.a.d.o" -msgstr "lists.a.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:83 -msgid "gmane" -msgstr "gmane" - -#: debianmemberportfolio/controllers/portfolio.py:86 -msgid "Files" -msgstr "Berkas-berkas" - -#: debianmemberportfolio/controllers/portfolio.py:87 -msgid "people.d.o" -msgstr "people.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:88 -msgid "oldpeople" -msgstr "oldpeople" - -#: debianmemberportfolio/controllers/portfolio.py:89 -#: debianmemberportfolio/controllers/portfolio.py:97 -msgid "Alioth" -msgstr "Alioth" - -#: debianmemberportfolio/controllers/portfolio.py:92 -msgid "Membership" -msgstr "Keanggotaan" - -#: debianmemberportfolio/controllers/portfolio.py:93 -msgid "NM" -msgstr "NM" - -#: debianmemberportfolio/controllers/portfolio.py:94 -msgid "DB information via finger" -msgstr "informasi DB melalui finger" - -#: debianmemberportfolio/controllers/portfolio.py:95 -msgid "DB information via HTTP" -msgstr "informasi DB melalui HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:96 -msgid "FOAF profile" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:98 -msgid "Wiki" -msgstr "Wiki" - -#: debianmemberportfolio/controllers/portfolio.py:99 -msgid "Forum" -msgstr "Forum" - -#: debianmemberportfolio/controllers/portfolio.py:102 -msgid "Miscellaneous" -msgstr "Lain-Lain" - -#: debianmemberportfolio/controllers/portfolio.py:103 -msgid "debtags" -msgstr "debtags" - -#: debianmemberportfolio/controllers/portfolio.py:104 -msgid "Planet Debian (name)" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:105 -#, fuzzy -msgid "Planet Debian (username)" -msgstr "nama pengguna Debian" - -#: debianmemberportfolio/controllers/portfolio.py:106 -msgid "links" -msgstr "tautan" - -#: debianmemberportfolio/controllers/portfolio.py:107 -msgid "Debian website" -msgstr "website Debian" - -#: debianmemberportfolio/controllers/portfolio.py:108 -msgid "Debian search" -msgstr "pencarian Debian" - -#: debianmemberportfolio/controllers/portfolio.py:109 -msgid "GPG public key via finger" -msgstr "kunci publik GPG melalui finger" - -#: debianmemberportfolio/controllers/portfolio.py:110 -msgid "GPG public key via HTTP" -msgstr "kunci publik GPG melalui HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:111 -msgid "NM, AM participation" -msgstr "partisipasi NM, AM" - -#: debianmemberportfolio/controllers/portfolio.py:112 -#, fuzzy -msgid "Contribution information" -msgstr "Masukkan informasi data pribadi anda" - -#: debianmemberportfolio/controllers/portfolio.py:115 -msgid "Information reachable via ssh (for Debian Members)" -msgstr "Informasi dicapai melalui ssh (untuk Anggota Debian)" - -#: debianmemberportfolio/controllers/portfolio.py:116 -msgid "owned debian.net domains" -msgstr "domain debian.net sendiri" - -#: debianmemberportfolio/controllers/portfolio.py:117 -msgid "" -"MIA database" -" information" -msgstr "" -"informasi database MIA" - -#: debianmemberportfolio/controllers/portfolio.py:119 -msgid "Group membership information" -msgstr "Informasi keanggotaan kelompok" - -#: debianmemberportfolio/controllers/portfolio.py:122 -msgid "Ubuntu" -msgstr "Ubuntu" - -#: debianmemberportfolio/controllers/portfolio.py:123 -msgid "Available patches from Ubuntu" -msgstr "Tambalan dari Ubuntu yang tersedia" - -#: debianmemberportfolio/model/urlbuilder.py:40 -msgid "Email address" -msgstr "Alamat Email" - -#: debianmemberportfolio/model/urlbuilder.py:41 -msgid "Name" -msgstr "Nama" - -#: debianmemberportfolio/model/urlbuilder.py:42 -msgid "GPG fingerprint" -msgstr "sidik jari GPG" - -#: debianmemberportfolio/model/urlbuilder.py:43 -msgid "Debian user name" -msgstr "nama pengguna Debian" - -#: debianmemberportfolio/model/urlbuilder.py:44 -msgid "Non Debian email address" -msgstr "Selain alamat email Debian" - -#: debianmemberportfolio/model/urlbuilder.py:45 -msgid "Alioth user name" -msgstr "nama pengguna Alioth" - -#: debianmemberportfolio/model/urlbuilder.py:97 -#: debianmemberportfolio/model/urlbuilder.py:101 -#, python-format -msgid "Missing input: %s" -msgstr "Tidak ada masukan: %s" - -#: debianmemberportfolio/templates/base.mako:25 -#: debianmemberportfolio/templates/base.mako:33 -msgid "Debian Member Portfolio Service" -msgstr "Layanan Portfolio Anggota Debian" - -#: debianmemberportfolio/templates/base.mako:31 -msgid "Debian Logo" -msgstr "Logo Debian" - -#: debianmemberportfolio/templates/base.mako:34 -msgid "" -"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the " -"Debian Wiki. You can create a set of customized links leading to a " -"Debian Member's or package maintainer's information regarding Debian." -msgstr "" -"Layanan ini terinspirasi dari halaman DDPortfolio Stefano " -"Zacchiroli di Wiki Debian. Anda dapat membuat sebuah link kustom yang" -" mengarah ke Anggota Debian atau informasi mengenai pengelola paket " -"Debian." - -#: debianmemberportfolio/templates/base.mako:41 -msgid "AGPL - Free Software" -msgstr "AGPL - Free Software" - -#: debianmemberportfolio/templates/base.mako:43 -#, fuzzy, python-format -msgid "" -"The service is available under the terms of the GNU Affero General Public " -"License as published by the Free Software Foundation, either version " -"3 of the License, or (at your option) any later version. You can browse the" -" source code or clone it from %(cloneurl)s using git. If you want to translate this service to your " -"language you can contribute at Transifex." -msgstr "" -"Layanan ini tersedia di bawah persyaratan GNU Affero General Public " -"License seperti yang diterbitkan oleh Free Software Foundation, baik " -"versi 3 dari Lisensi, atau (dengan pilihan Anda) versi lainnya. Anda " -"dapat menelusuri kode sumber atau klon dari %(cloneurl)s menggunakan git." - -#: debianmemberportfolio/templates/base.mako:44 -msgid "Copyright © 2009-2014 Jan Dittberner" -msgstr "Hak Cipta © 2009-2014 Jan Dittberner" - -#: debianmemberportfolio/templates/showform.mako:24 -msgid "Enter your personal information" -msgstr "Masukkan informasi data pribadi anda" - -#: debianmemberportfolio/templates/showform.mako:30 -#: debianmemberportfolio/templates/showurls.mako:27 -msgid "Debian Member Portfolio" -msgstr "Portfolio Anggota Debian" - -#: debianmemberportfolio/templates/showform.mako:36 -msgid "Email address:" -msgstr "Alamat surel:" - -#: debianmemberportfolio/templates/showform.mako:47 -msgid "Show all form fields" -msgstr "Tampilkan semua bagian formulir" - -#: debianmemberportfolio/templates/showform.mako:54 -msgid "Name:" -msgstr "Nama:" - -#: debianmemberportfolio/templates/showform.mako:64 -msgid "GPG fingerprint:" -msgstr "sidik jari GPG" - -#: debianmemberportfolio/templates/showform.mako:79 -msgid "Debian user name:" -msgstr "Nama pengguna Debian:" - -#: debianmemberportfolio/templates/showform.mako:94 -msgid "Non Debian email address:" -msgstr "Selain alamat email Debian:" - -#: debianmemberportfolio/templates/showform.mako:109 -msgid "Alioth user name:" -msgstr "Nama pengguna Alioth:" - -#: debianmemberportfolio/templates/showform.mako:125 -msgid "Wiki user name:" -msgstr "Nama pengguna Wiki" - -#: debianmemberportfolio/templates/showform.mako:140 -msgid "Forum user id:" -msgstr "ID pengguna Forum:" - -#: debianmemberportfolio/templates/showform.mako:151 -msgid "Output format:" -msgstr "Format Keluaran:" - -#: debianmemberportfolio/templates/showform.mako:157 -msgid "HTML" -msgstr "HTML" - -#: debianmemberportfolio/templates/showform.mako:159 -msgid "JSON" -msgstr "JSON" - -#: debianmemberportfolio/templates/showform.mako:161 -msgid "Build Debian Member Portfolio URLs" -msgstr "Membangun URL Portfolio Anggota Debian" - -#: debianmemberportfolio/templates/showurls.mako:23 -msgid "Your personal links" -msgstr "Tautan pribadi anda" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "Usage" -msgstr "Penggunaan" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "URL" -msgstr "URL" - -#: debianmemberportfolio/templates/showurls.mako:40 -msgid "Error during URL creation:" -msgstr "Kesalahan selama pembuatan URL:" - -#: debianmemberportfolio/templates/showurls.mako:67 -msgid "Restart" -msgstr "Mulai ulang" - diff --git a/debianmemberportfolio/i18n/pt_BR/LC_MESSAGES/debianmemberportfolio.po b/debianmemberportfolio/i18n/pt_BR/LC_MESSAGES/debianmemberportfolio.po deleted file mode 100644 index cab23fa..0000000 --- a/debianmemberportfolio/i18n/pt_BR/LC_MESSAGES/debianmemberportfolio.po +++ /dev/null @@ -1,419 +0,0 @@ -# Portuguese (Brazil) translations for the Debian Member Portfolio Service. -# -# Copyright (C) 2012 Daniel Manzano -# This file is distributed under the same license as the Debian Member -# Portfolio Service project. -# Translators: -# Daniel Manzano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: Debian Member Portfolio Service\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-02-08 18:14+0100\n" -"PO-Revision-Date: 2014-01-11 01:27+0100\n" -"Last-Translator: Jan Dittberner \n" -"Language-Team: Portuguese (Brazil) " -"(https://www.transifex.com/projects/p/debportfolioservice/language/pt_BR/)" -"\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" - -#: debianmemberportfolio/controllers/portfolio.py:45 -msgid "Overview" -msgstr "Visão Geral" - -#: debianmemberportfolio/controllers/portfolio.py:46 -msgid "Debian Member's Package Overview" -msgstr "Visão geral de Pacote de membros Debian" - -#: debianmemberportfolio/controllers/portfolio.py:47 -msgid "" -"Debian Member's Package Overview\n" -"... showing all email addresses" -msgstr "" -"Visão geral de Pacote de membros Debian\n" -"... mostrando todos os endereços de email" - -#: debianmemberportfolio/controllers/portfolio.py:51 -msgid "Bugs" -msgstr "Bugs" - -#: debianmemberportfolio/controllers/portfolio.py:52 -msgid "" -"bugs received\n" -"(note: co-maintainers not listed, see #430986)" -msgstr "" -"Bugs recebidos\n" -"(nota: co-mantenedores não listados, veja #430986)" - -#: debianmemberportfolio/controllers/portfolio.py:56 -msgid "bugs reported" -msgstr "Bugs reportados" - -#: debianmemberportfolio/controllers/portfolio.py:57 -msgid "user tags" -msgstr "Tags de usuário" - -#: debianmemberportfolio/controllers/portfolio.py:58 -msgid "all messages (i.e., full text search for developer name on all bug logs)" -msgstr "" -"Todas as mensagens (Ex. pesquisa completa de texto para nome de " -"desenvovedor em todos os logs de bug)" - -#: debianmemberportfolio/controllers/portfolio.py:60 -msgid "WNPP" -msgstr "WNPP" - -#: debianmemberportfolio/controllers/portfolio.py:61 -msgid "correspondent for bugs" -msgstr "correspondente para bugs" - -#: debianmemberportfolio/controllers/portfolio.py:62 -msgid "one year open bug history graph" -msgstr "Gráfico histórico de bug aberto há um ano " - -#: debianmemberportfolio/controllers/portfolio.py:65 -msgid "Build" -msgstr "Construção" - -#: debianmemberportfolio/controllers/portfolio.py:66 -msgid "buildd.d.o" -msgstr "buildd.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:67 -msgid "igloo" -msgstr "Iglu" - -#: debianmemberportfolio/controllers/portfolio.py:70 -msgid "Quality Assurance" -msgstr "Garantia de qualidade" - -#: debianmemberportfolio/controllers/portfolio.py:71 -msgid "maintainer dashboard" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:72 -msgid "lintian reports" -msgstr "relatórios lintian" - -#: debianmemberportfolio/controllers/portfolio.py:73 -msgid "full lintian reports (i.e. including \"info\"-level messages)" -msgstr "relatórios lintian completos (Ex. incluíndo mensagens \"info\"-level)" - -#: debianmemberportfolio/controllers/portfolio.py:75 -msgid "piuparts" -msgstr "piuparts" - -#: debianmemberportfolio/controllers/portfolio.py:76 -msgid "Debian patch tracking system" -msgstr "Sistema de patch tracking Debian" - -#: debianmemberportfolio/controllers/portfolio.py:77 -msgid "Debian Url ChecKer" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:80 -msgid "Mailing Lists" -msgstr "Listas de discussão" - -#: debianmemberportfolio/controllers/portfolio.py:81 -msgid "lists.d.o" -msgstr "lists.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:82 -msgid "lists.a.d.o" -msgstr "lists.a.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:83 -msgid "gmane" -msgstr "gmane" - -#: debianmemberportfolio/controllers/portfolio.py:86 -msgid "Files" -msgstr "Arquivos" - -#: debianmemberportfolio/controllers/portfolio.py:87 -msgid "people.d.o" -msgstr "people.d.o" - -#: debianmemberportfolio/controllers/portfolio.py:88 -msgid "oldpeople" -msgstr "oldpeople" - -#: debianmemberportfolio/controllers/portfolio.py:89 -#: debianmemberportfolio/controllers/portfolio.py:97 -msgid "Alioth" -msgstr "Alioth" - -#: debianmemberportfolio/controllers/portfolio.py:92 -msgid "Membership" -msgstr "Associação" - -#: debianmemberportfolio/controllers/portfolio.py:93 -msgid "NM" -msgstr "NM" - -#: debianmemberportfolio/controllers/portfolio.py:94 -msgid "DB information via finger" -msgstr "Infomações DB via finger" - -#: debianmemberportfolio/controllers/portfolio.py:95 -msgid "DB information via HTTP" -msgstr "Informações DB via HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:96 -msgid "FOAF profile" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:98 -msgid "Wiki" -msgstr "Wiki" - -#: debianmemberportfolio/controllers/portfolio.py:99 -msgid "Forum" -msgstr "Fórum" - -#: debianmemberportfolio/controllers/portfolio.py:102 -msgid "Miscellaneous" -msgstr "Miscelânea" - -#: debianmemberportfolio/controllers/portfolio.py:103 -msgid "debtags" -msgstr "debtags" - -#: debianmemberportfolio/controllers/portfolio.py:104 -msgid "Planet Debian (name)" -msgstr "" - -#: debianmemberportfolio/controllers/portfolio.py:105 -#, fuzzy -msgid "Planet Debian (username)" -msgstr "Nome de usuário Debian" - -#: debianmemberportfolio/controllers/portfolio.py:106 -msgid "links" -msgstr "links" - -#: debianmemberportfolio/controllers/portfolio.py:107 -msgid "Debian website" -msgstr "Site do Debian" - -#: debianmemberportfolio/controllers/portfolio.py:108 -msgid "Debian search" -msgstr "Pesquisa Debian" - -#: debianmemberportfolio/controllers/portfolio.py:109 -msgid "GPG public key via finger" -msgstr "Chave pública GPG via finger" - -#: debianmemberportfolio/controllers/portfolio.py:110 -msgid "GPG public key via HTTP" -msgstr "Chave pública GPG via HTTP" - -#: debianmemberportfolio/controllers/portfolio.py:111 -msgid "NM, AM participation" -msgstr "Participação NM, AM" - -#: debianmemberportfolio/controllers/portfolio.py:112 -#, fuzzy -msgid "Contribution information" -msgstr "Insira suas informações pessoais" - -#: debianmemberportfolio/controllers/portfolio.py:115 -msgid "Information reachable via ssh (for Debian Members)" -msgstr "Informação alcançável via ssh (para membros Debian)" - -#: debianmemberportfolio/controllers/portfolio.py:116 -msgid "owned debian.net domains" -msgstr "domínios debian.net adquiridos" - -#: debianmemberportfolio/controllers/portfolio.py:117 -msgid "" -"MIA database" -" information" -msgstr "" -"MIA " -"informações de banco de dados" - -#: debianmemberportfolio/controllers/portfolio.py:119 -msgid "Group membership information" -msgstr "Informações de Grupos associados" - -#: debianmemberportfolio/controllers/portfolio.py:122 -msgid "Ubuntu" -msgstr "Ubuntu" - -#: debianmemberportfolio/controllers/portfolio.py:123 -msgid "Available patches from Ubuntu" -msgstr "Patches disponíveis para Ubuntu" - -#: debianmemberportfolio/model/urlbuilder.py:40 -msgid "Email address" -msgstr "Endereços de email" - -#: debianmemberportfolio/model/urlbuilder.py:41 -msgid "Name" -msgstr "Nome" - -#: debianmemberportfolio/model/urlbuilder.py:42 -msgid "GPG fingerprint" -msgstr "Fingerprint GPG" - -#: debianmemberportfolio/model/urlbuilder.py:43 -msgid "Debian user name" -msgstr "Nome de usuário Debian" - -#: debianmemberportfolio/model/urlbuilder.py:44 -msgid "Non Debian email address" -msgstr "Endereço de email não Debian" - -#: debianmemberportfolio/model/urlbuilder.py:45 -msgid "Alioth user name" -msgstr "Nome de usuário Alioth" - -#: debianmemberportfolio/model/urlbuilder.py:97 -#: debianmemberportfolio/model/urlbuilder.py:101 -#, python-format -msgid "Missing input: %s" -msgstr "Entrada restante: %s" - -#: debianmemberportfolio/templates/base.mako:25 -#: debianmemberportfolio/templates/base.mako:33 -msgid "Debian Member Portfolio Service" -msgstr "Membro do Serviço de Portfolio Debian" - -#: debianmemberportfolio/templates/base.mako:31 -msgid "Debian Logo" -msgstr "Logo Debian" - -#: debianmemberportfolio/templates/base.mako:34 -msgid "" -"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the " -"Debian Wiki. You can create a set of customized links leading to a " -"Debian Member's or package maintainer's information regarding Debian." -msgstr "" -"Este serviço tem sido inspirado por Stefano Zacchiroli's Página DDPortfolio na Debian " -"Wiki. Você pode criar um conjunto de links customizados apontando " -"para informações, ou de membro Debian, ou de mantenedor de pacotes a " -"respeito de Debian." - -#: debianmemberportfolio/templates/base.mako:41 -msgid "AGPL - Free Software" -msgstr "AGPL - Sofware Livre" - -#: debianmemberportfolio/templates/base.mako:43 -#, fuzzy, python-format -msgid "" -"The service is available under the terms of the GNU Affero General Public " -"License as published by the Free Software Foundation, either version " -"3 of the License, or (at your option) any later version. You can browse the" -" source code or clone it from %(cloneurl)s using git. If you want to translate this service to your " -"language you can contribute at Transifex." -msgstr "" -"O serviço está disponível sob os termos da Licença Pública Geral " -"Affero GNU conforme publicado pela the Free Software Foundation, " -"tanto na versão 3 da licença, como (a seu critério) qualquer versão mais " -"recente. Você podevisualizar o código fonte ou cloná-lo%(cloneurl)s usando git." - -#: debianmemberportfolio/templates/base.mako:44 -msgid "Copyright © 2009-2014 Jan Dittberner" -msgstr "Direitos Autorais © 2009-2014 Jan Dittberner" - -#: debianmemberportfolio/templates/showform.mako:24 -msgid "Enter your personal information" -msgstr "Insira suas informações pessoais" - -#: debianmemberportfolio/templates/showform.mako:30 -#: debianmemberportfolio/templates/showurls.mako:27 -msgid "Debian Member Portfolio" -msgstr "Portfolio de Membro Debian" - -#: debianmemberportfolio/templates/showform.mako:36 -msgid "Email address:" -msgstr "Endereço de email:" - -#: debianmemberportfolio/templates/showform.mako:47 -msgid "Show all form fields" -msgstr "Mostrar todos os campos" - -#: debianmemberportfolio/templates/showform.mako:54 -msgid "Name:" -msgstr "Nome:" - -#: debianmemberportfolio/templates/showform.mako:64 -msgid "GPG fingerprint:" -msgstr "Fingerprint GPG:" - -#: debianmemberportfolio/templates/showform.mako:79 -msgid "Debian user name:" -msgstr "Nome de usuário Debian:" - -#: debianmemberportfolio/templates/showform.mako:94 -msgid "Non Debian email address:" -msgstr "Endereço de email não Debian:" - -#: debianmemberportfolio/templates/showform.mako:109 -msgid "Alioth user name:" -msgstr "Nome de usuário Alioth:" - -#: debianmemberportfolio/templates/showform.mako:125 -msgid "Wiki user name:" -msgstr "Nome de usuário Wiki:" - -#: debianmemberportfolio/templates/showform.mako:140 -msgid "Forum user id:" -msgstr "Id de usuário do fórum:" - -#: debianmemberportfolio/templates/showform.mako:151 -msgid "Output format:" -msgstr "Formato de saída:" - -#: debianmemberportfolio/templates/showform.mako:157 -msgid "HTML" -msgstr "HTML" - -#: debianmemberportfolio/templates/showform.mako:159 -msgid "JSON" -msgstr "JSON" - -#: debianmemberportfolio/templates/showform.mako:161 -msgid "Build Debian Member Portfolio URLs" -msgstr "URLs de Portfolio de Membros Debian em Construção" - -#: debianmemberportfolio/templates/showurls.mako:23 -msgid "Your personal links" -msgstr "Seus links pessoais" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "Usage" -msgstr "MOdo de uso" - -#: debianmemberportfolio/templates/showurls.mako:30 -msgid "URL" -msgstr "URL" - -#: debianmemberportfolio/templates/showurls.mako:40 -msgid "Error during URL creation:" -msgstr "Erro durante criação de URL:" - -#: debianmemberportfolio/templates/showurls.mako:67 -msgid "Restart" -msgstr "Reiniciar" - diff --git a/debianmemberportfolio/lib/__init__.py b/debianmemberportfolio/lib/__init__.py deleted file mode 100644 index 4937320..0000000 --- a/debianmemberportfolio/lib/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service lib package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/lib/app_globals.py b/debianmemberportfolio/lib/app_globals.py deleted file mode 100644 index cb4ea2b..0000000 --- a/debianmemberportfolio/lib/app_globals.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service application Globals -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -The application's Globals object -""" - -from beaker.cache import CacheManager -from beaker.util import parse_cache_config_options - - -class Globals(object): - """ - Globals acts as a container for objects available throughout the - life of the application - """ - - def __init__(self, config): - """ - One instance of Globals is created during application - initialization and is available during requests via the - 'app_globals' variable - """ - self.cache = CacheManager(**parse_cache_config_options(config)) diff --git a/debianmemberportfolio/lib/base.py b/debianmemberportfolio/lib/base.py deleted file mode 100644 index 7746e92..0000000 --- a/debianmemberportfolio/lib/base.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service base controller -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -The base Controller API - -Provides the BaseController class for subclassing. -""" -from pylons import tmpl_context as c, request -from pylons.controllers import WSGIController -from pylons.i18n import add_fallback -from pylons.templating import render_mako as render - - -class BaseController(WSGIController): - - def __call__(self, environ, start_response): - """Invoke the Controller""" - # WSGIController.__call__ dispatches to the Controller method - # the request is routed to. This routing information is - # available in environ['pylons.routes_dict'] - # set language environment - try: - languages = request.languages - for lang in languages: - try: - add_fallback(lang.replace('-', '_')) - except: - pass - except: - pass - c.messages = {'errors': [], 'messages': []} - return WSGIController.__call__(self, environ, start_response) - - -__all__ = ['BaseController', 'render'] diff --git a/debianmemberportfolio/lib/helpers.py b/debianmemberportfolio/lib/helpers.py deleted file mode 100644 index 9bcb5e2..0000000 --- a/debianmemberportfolio/lib/helpers.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service webhelpers -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -# pymode:lint_ignore=W0611 -# -"""Helper functions - -Consists of functions to typically be used within templates, but also -available to Controllers. This module is available to templates as 'h'. -""" -from webhelpers.html.builder import escape, literal -from webhelpers.html.tags import stylesheet_link, javascript_link, image, \ - form, text, radio, submit, end_form, link_to, checkbox -from webhelpers.text import truncate -from webhelpers.textile import textile -from pylons import url diff --git a/debianmemberportfolio/model/dddatabuilder.py b/debianmemberportfolio/model/dddatabuilder.py index 9a52be2..c168489 100644 --- a/debianmemberportfolio/model/dddatabuilder.py +++ b/debianmemberportfolio/model/dddatabuilder.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service data builder # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # diff --git a/debianmemberportfolio/model/form.py b/debianmemberportfolio/model/form.py deleted file mode 100644 index b10ad95..0000000 --- a/debianmemberportfolio/model/form.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service form handling model -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file contains the form definitions used in the controllers. -""" - -import formencode - - -class DeveloperData(formencode.Schema): - """Validation schema for DeveloperData.""" - allow_extra_fields = True - filter_extra_fields = True - email = formencode.validators.Email(not_empty=True) - name = formencode.validators.String(not_empty=True) - gpgfp = formencode.All(formencode.validators.PlainText(), - formencode.validators.MinLength(32), - formencode.validators.MaxLength(40)) - username = formencode.validators.PlainText() - nonddemail = formencode.validators.Email() - aliothusername = formencode.validators.PlainText() - mode = formencode.validators.OneOf([u'json', u'html'], if_missing=u'html') - forumsid = formencode.validators.Int(if_missing=None) - wikihomepage = formencode.validators.String(if_missing=None) - - -class DDDataRequest(formencode.Schema): - """Validation schema for DDData request.""" - allow_extra_fields = True - filter_extra_fields = False - email = formencode.validators.Email(not_empty=True) diff --git a/debianmemberportfolio/model/keyfinder.py b/debianmemberportfolio/model/keyfinder.py index 452d261..5129e54 100644 --- a/debianmemberportfolio/model/keyfinder.py +++ b/debianmemberportfolio/model/keyfinder.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service key finder module # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -36,14 +36,17 @@ cachetimestamp = 0 def _get_keyring_cache(): global db, cachetimestamp if db is None or (time.time() - cachetimestamp) > 86300: - import anydbm + import dbm import pkg_resources import os.path filename = pkg_resources.resource_filename(__name__, 'keyringcache') logging.debug('reading cache data from %s', filename) - assert os.path.exists(filename) and os.path.isfile(filename) - db = anydbm.open(filename, 'r') + assert ( + os.path.exists(filename + '.db') and + os.path.isfile(filename + '.db') + ) + db = dbm.open(filename, 'r') cachetimestamp = time.time() return db @@ -53,7 +56,7 @@ def _get_cached(cachekey): logging.debug('cache lookup for %s', cachekey) if cachekey in cache: logging.debug('found entry %s', cache[cachekey]) - return cache[cachekey] + return cache[cachekey].decode('utf8') return None @@ -91,7 +94,7 @@ def getLoginByFingerprint(fpr): def _dump_cache(): cache = _get_keyring_cache() fprs = [] - for key in cache.keys(): + for key in [key.decode('utf8') for key in list(cache.keys())]: if key.startswith('email:fpr:'): fpr = key.replace('email:fpr:', '') if not fpr in fprs: @@ -102,8 +105,8 @@ def _dump_cache(): email = _get_cached('email:fpr:%s' % fpr) name = _get_cached('name:fpr:%s' % fpr) - print fpr, login, ':' - print ' ', name, email + print(fpr, login, ':') + print(' ', name, email) if __name__ == '__main__': diff --git a/debianmemberportfolio/model/keyringanalyzer.py b/debianmemberportfolio/model/keyringanalyzer.py index 09a5315..9ea3fab 100644 --- a/debianmemberportfolio/model/keyringanalyzer.py +++ b/debianmemberportfolio/model/keyringanalyzer.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service application key ring analyzer tool # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -26,10 +26,10 @@ retrieved data in a file database. The tool was inspired by Debian qa's carnivore. """ -import anydbm +import dbm import pkg_resources import glob -import ConfigParser +import configparser import os import os.path import logging @@ -38,7 +38,7 @@ import sys import email.utils -CONFIG = ConfigParser.SafeConfigParser() +CONFIG = configparser.ConfigParser() def _get_keyrings(): @@ -160,11 +160,15 @@ def process_keyrings(): stdout=subprocess.PIPE) fpr = None for line in proc.stdout.readlines(): + try: + line = line.decode('utf8') + except UnicodeDecodeError: + line = line.decode('iso8859-1') fpr = process_gpg_list_keys_line(line, fpr) retcode = proc.wait() if retcode != 0: logging.error("subprocess ended with return code %d", retcode) - db = anydbm.open(pkg_resources.resource_filename(__name__, + db = dbm.open(pkg_resources.resource_filename(__name__, 'keyringcache'), 'c') for key in resultdict: db[key] = ":".join(resultdict[key]) @@ -173,9 +177,9 @@ def process_keyrings(): if __name__ == '__main__': logging.basicConfig(stream=sys.stderr, level=logging.WARNING) - CONFIG.readfp(pkg_resources.resource_stream( - __name__, 'portfolio.ini')) + CONFIG.read_string(pkg_resources.resource_string( + __name__, 'portfolio.ini').decode('utf8')) gpghome = os.path.expanduser(CONFIG.get('DEFAULT', 'gnupghome')) if not os.path.isdir(gpghome): - os.makedirs(gpghome, 0700) + os.makedirs(gpghome, 0o700) process_keyrings() diff --git a/debianmemberportfolio/model/portfolio.ini b/debianmemberportfolio/model/portfolio.ini index c2bcb7a..7cf278a 100644 --- a/debianmemberportfolio/model/portfolio.ini +++ b/debianmemberportfolio/model/portfolio.ini @@ -1,7 +1,7 @@ # # Configuration for Debian Member Portfolio Service # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2020 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -44,19 +44,19 @@ urls=buildd buildd.pattern=https://buildd.debian.org/status/package.php?p=%(email)s&compact=compact&comaint=yes [qa] -urls=lintian,lintianfull,piuparts,patchtracker,dmd,duck +urls=lintian,lintianfull,piuparts,patchtracker,dmd,duck,janitor dmd.pattern=https://udd.debian.org/dmd.cgi?email1=%(email)s lintian.pattern=https://lintian.debian.org/maintainer/%(email)s.html lintianfull.pattern=https://lintian.debian.org/full/%(email)s.html piuparts.pattern=https://piuparts.debian.org/sid/maintainer/%(firstchar)s/%(email)s.html patchtracker.pattern=http://patch-tracker.debian.org/email/%(email)s -duck.pattern=http://duck.debian.net/static/maintainer/%(email)s.html +duck.pattern=http://duck.debian.net/persons/%(email)s.html +janitor.pattern=https://janitor.debian.net/m/%(email)s [lists] -urls=dolists,adolists,gmane -dolists.pattern=https://lists.debian.org/cgi-bin/search?author=%(name)s&sort=date +urls=dolists,adolists +dolists.pattern=https://lists.debian.org/cgi-bin/search?P="%%22%(name)s%%22&SORT=0 adolists.pattern=https://www.google.com/search?q=site%%3Alists.alioth.debian.org+%%22%(name)s%%22 -gmane.pattern=http://search.gmane.org/?email=%(name)s&group=gmane.linux.debian.* # debconf list search has a tricky URL format # http://lists.debconf.org/lurker/search \ # /20100510.202949.00000000@au:%(firstname)s,au:%(lastname)s.en.html @@ -64,14 +64,12 @@ gmane.pattern=http://search.gmane.org/?email=%(name)s&group=gmane.linux.debian.* # maybe this could be implemented using some custom formatter function [files] -urls=people,alioth +urls=people people.pattern=https://people.debian.org/~%(username)s/ people.optional=true -alioth.pattern=https://alioth.debian.org/~%(aliothusername)s/ -alioth.optional=true [membership] -urls=nm,dbfinger,db,webid,alioth,wiki,forum +urls=nm,dbfinger,db,webid,salsa,wiki,forum nm.pattern=https://nm.debian.org/public/nmstatus/%(username)s dbfinger.pattern=finger %(username)s@db.debian.org dbfinger.type=finger @@ -80,21 +78,21 @@ db.pattern=https://db.debian.org/search.cgi?uid=%(username)s&dosearch=Search db.optional=true webid.pattern=http://webid.debian.net/maintainers/%(username)s webid.optional=true -alioth.pattern=https://alioth.debian.org/users/%(aliothusername)s/ -alioth.optional=true +salsa.pattern=https://salsa.debian.org/%(salsausername)s +salsa.optional=true wiki.pattern=https://wiki.debian.org/%(wikihomepage)s -forum.pattern=http://forums.debian.net/memberlist.php?mode=viewprofile&u=%(forumsid)d +forum.pattern=http://forums.debian.net/memberlist.php?mode=viewprofile&u=%(forumsid)s forum.optional=true [miscellaneous] -urls=debtags,links,planetname,planetuser,website,search,gpgfinger,gpgweb,contrib -debtags.pattern=http://debtags.debian.net/reports/maint/%(email)s -planetname.pattern=http://planet-search.debian.org/cgi-bin/search.cgi?terms=%%22%(name)s%%22 -planetuser.pattern=http://planet-search.debian.org/cgi-bin/search.cgi?terms=%%22%(username)s%%22 +urls=debtags,links,planetname,planetuser,website,search,gpgfinger,gpgweb,contrib,repology +debtags.pattern=https://debtags.debian.org/reports/maint/%(email)s +planetname.pattern=https://planet-search.debian.org/cgi-bin/search.cgi?terms=%%22%(name)s%%22 +planetuser.pattern=https://planet-search.debian.org/cgi-bin/search.cgi?terms=%%22%(username)s%%22 planetuser.optional=true links.pattern=https://www.google.com/search?hl=en&lr=&q=site%%3Adebian.org+%%22%(name)s%%22+-site%%3Anm.debian.org+-site%%3Alintian.debian.org+-site%%3Abugs.debian.org+-site%%3Alists.debian.org+-site%%3Apackages.debian.org+-site%%3Alists.alioth.debian.org+-site%%3Aftp.debian.org++-site%%3Apackages.qa.debian.org++-site%%3Aftp*.*.debian.org+-inurl%%3Adebian.org%%2Fdevel%%2Fpeople.+-inurl%%3Aindices%%2FMaintainers+-inurl%%3Adebian.org%%2Fdebian%%2Fproject++-inurl%%3A%%2Fdists%%2F&btnG=Search website.pattern=https://www.google.com/search?q=site:www.debian.org+%(name)s -search.pattern=http://search.debian.org/cgi-bin/omega?P=%%22%(name)s%%22 +search.pattern=https://search.debian.org/cgi-bin/omega?P=%%22%(name)s%%22 gpgfinger.pattern=finger %(username)s/key@db.debian.org gpgfinger.type=finger gpgfinger.optional=true @@ -103,6 +101,8 @@ gpgweb.optional=true nm.pattern=https://nm.debian.org/public/person/%(username)s contrib.pattern=https://contributors.debian.org/contributor/%(email)s contrib.optional=true +repology.pattern=https://repology.org/maintainer/%(email)s +repology.optional=true [ssh] # SSH functions diff --git a/debianmemberportfolio/model/urlbuilder.py b/debianmemberportfolio/model/urlbuilder.py index 33178a5..cb2f33f 100644 --- a/debianmemberportfolio/model/urlbuilder.py +++ b/debianmemberportfolio/model/urlbuilder.py @@ -3,7 +3,7 @@ # # Debian Member Portfolio Service url builder # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2009-2020 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -26,15 +26,18 @@ URLs using the given information and the URL patterns defined in portfolio.ini. """ -from ConfigParser import ConfigParser, InterpolationMissingOptionError +from configparser import ConfigParser, InterpolationMissingOptionError +from encodings.utf_8 import StreamReader as UTF8StreamReader + import pkg_resources from debianmemberportfolio.model import keyfinder -from urllib import quote_plus -from pylons.i18n.translation import _, N_ +from urllib.parse import quote_plus +from flask_babel import gettext as _, lazy_gettext as N_ my_config = ConfigParser() -my_config.readfp(pkg_resources.resource_stream(__name__, 'portfolio.ini')) +my_config.read_file(UTF8StreamReader( + pkg_resources.resource_stream(__name__, 'portfolio.ini'))) _FIELDNAMES_MAP = { 'email': N_('Email address'), @@ -42,7 +45,7 @@ _FIELDNAMES_MAP = { 'gpgfp': N_('GPG fingerprint'), 'username': N_('Debian user name'), 'nonddemail': N_('Non Debian email address'), - 'aliothusername': N_('Alioth user name'), + 'salsausername': N_('Salsa user name'), } @@ -62,14 +65,15 @@ def _build_quoted_fields(fields): Take a dictionary of raw field values and quote the values if required. """ qfields = {} - for key, value in fields.iteritems(): + for key, value in fields.items(): if value is not None: - if isinstance(value, unicode): + if isinstance(value, str): qfields[key] = quote_plus(value.encode('utf8')) elif isinstance(value, str): qfields[key] = quote_plus(value) else: qfields[key] = value + qfields[key] = str(qfields[key]).replace('%', '%%') if 'gpgfp' not in qfields: fpr = keyfinder.getFingerprintByEmail(fields['email'].encode('utf8')) @@ -97,8 +101,8 @@ def build_urls(fields): data.append( ['url', section, entry, my_config.get(section, entry.name + '.pattern', - False, qfields)]) - except InterpolationMissingOptionError, e: + raw=False, vars=qfields)]) + except InterpolationMissingOptionError as e: if not entry.optional: if e.reference in _FIELDNAMES_MAP: data.append(['error', section, entry, diff --git a/debianmemberportfolio/public/images/openlogo-ribbon-100.png b/debianmemberportfolio/public/images/openlogo-ribbon-100.png deleted file mode 100644 index 1f0f8da..0000000 Binary files a/debianmemberportfolio/public/images/openlogo-ribbon-100.png and /dev/null differ diff --git a/debianmemberportfolio/public/.gitignore b/debianmemberportfolio/static/.gitignore similarity index 100% rename from debianmemberportfolio/public/.gitignore rename to debianmemberportfolio/static/.gitignore diff --git a/debianmemberportfolio/public/images/agplv3-88x31.png b/debianmemberportfolio/static/images/agplv3-88x31.png similarity index 100% rename from debianmemberportfolio/public/images/agplv3-88x31.png rename to debianmemberportfolio/static/images/agplv3-88x31.png diff --git a/debianmemberportfolio/public/images/openlogo-100.jpg b/debianmemberportfolio/static/images/openlogo-100.jpg similarity index 100% rename from debianmemberportfolio/public/images/openlogo-100.jpg rename to debianmemberportfolio/static/images/openlogo-100.jpg diff --git a/debianmemberportfolio/public/robots.txt b/debianmemberportfolio/static/robots.txt similarity index 100% rename from debianmemberportfolio/public/robots.txt rename to debianmemberportfolio/static/robots.txt diff --git a/debianmemberportfolio/public/stylesheets/style.css b/debianmemberportfolio/static/stylesheets/style.css similarity index 100% rename from debianmemberportfolio/public/stylesheets/style.css rename to debianmemberportfolio/static/stylesheets/style.css diff --git a/debianmemberportfolio/templates/base.html b/debianmemberportfolio/templates/base.html new file mode 100644 index 0000000..82986b7 --- /dev/null +++ b/debianmemberportfolio/templates/base.html @@ -0,0 +1,48 @@ + +{# vim: ft=jinja +Base template for XHTML templates. +Copyright © 2009-2020 Jan Dittberner + +This file is part of the Debian Member Portfolio service. + +Debian Member Portfolio service is free software: you can redistribute it +and/or modify it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Debian Member Portfolio service is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +General Public License for more details. + +You should have received a copy of the GNU Affero General Public License along +with this program. If not, see . +#} + + + {% block title %}{{ _('Debian Member Portfolio Service') }}{% endblock %} + + {% block extrahead %}{% endblock %} + + + +
+ {% block body %}{% endblock %} +
+ + + + + diff --git a/debianmemberportfolio/templates/base.mako b/debianmemberportfolio/templates/base.mako deleted file mode 100644 index 1554848..0000000 --- a/debianmemberportfolio/templates/base.mako +++ /dev/null @@ -1,52 +0,0 @@ -## -*- coding: utf-8 -*- \ - -<%doc> -Base template for XHTML templates. -Copyright © 2009-2014 Jan Dittberner - -This file is part of the Debian Member Portfolio service. - -Debian Member Portfolio service is free software: you can redistribute it -and/or modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Debian Member Portfolio service is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along -with this program. If not, see . - - - - ${_('Debian Member Portfolio Service')}${self.titleaddon()} - ${h.stylesheet_link(h.url('/stylesheets/style.css'))} - ${self.extrahead()} - - - -
- ${self.body()} -
- - - - - -<%def name="extrahead()"> diff --git a/debianmemberportfolio/templates/showform.html b/debianmemberportfolio/templates/showform.html new file mode 100644 index 0000000..a0d091a --- /dev/null +++ b/debianmemberportfolio/templates/showform.html @@ -0,0 +1,103 @@ +{% extends "base.html" %} +{# +Template for the data input form. + +Copyright © 2009-2020 Jan Dittberner + +This file is part of the Debian Member Portfolio service. + +Debian Member Portfolio service is free software: you can redistribute it +and/or modify it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Debian Member Portfolio service is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +General Public License for more details. + +You should have received a copy of the GNU Affero General Public License along +with this program. If not, see . +#} +{% block title %}{{ super()}} - {{ _('Enter your personal information') }}{% endblock %} +{% block extrahead %}{{ super() }} + +{% endblock %} +{% block body %}{{ super() }} +
+
+ {{ _('Debian Member Portfolio') }} +
+
+ {{ form.email }}
+
+ +
+
+ {{ form.name }} +
+
+
+ {{ form.gpgfp }} +
+
+
+ {{ form.username }} +
+
+
+ {{ form.nonddemail }} +
+
+
+ {{ form.salsausername }} +
+
+
+ {{ form.wikihomepage }} +
+
+
+ {{ form.forumsid }} +
+
+
+ {% for subfield in form.mode %} + {{ subfield.label }} {{ subfield }} + {% endfor %}
+ +
+
+
+{% endblock %} diff --git a/debianmemberportfolio/templates/showform.mako b/debianmemberportfolio/templates/showform.mako deleted file mode 100644 index 32a8233..0000000 --- a/debianmemberportfolio/templates/showform.mako +++ /dev/null @@ -1,164 +0,0 @@ -## -- coding: utf-8 -- \ -<%inherit file="base.mako" /> -<%doc> -Template for the data input form. - -Copyright © 2009-2014 Jan Dittberner - -This file is part of the Debian Member Portfolio service. - -Debian Member Portfolio service is free software: you can redistribute it -and/or modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Debian Member Portfolio service is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along -with this program. If not, see . - -<%def name="titleaddon()"> - - ${_('Enter your personal information')} - -<%def name="extrahead()">${h.javascript_link('/javascript/jquery/jquery.js', -h.url(controller='showformscripts', action='index'))} -${h.form(h.url(action='urllist', controller='portfolio'), method='get')} -
- ${_('Debian Member Portfolio')} -
-
- ${h.text('email', - h.escape(request.params.get('email', None)), id='email')}
-
- -
-
- ${h.text('name', - h.escape(request.params.get('name', None)), id='name')}
-
-
-
- ${h.text('gpgfp', - h.escape(request.params.get('gpgfp', None)), - id='gpgfp')}
-
-
-
- ${h.text('username', - h.escape(request.params.get('username', None)), - id='username')}
-
-
-
- ${h.text('nonddemail', - h.escape(request.params.get('nonddemail', None)), - id='nonddemail')}
-
-
-
- ${h.text('aliothusername', - h.escape(request.params.get('username', None)), - id='aliothusername')}
-
-
-
- ${h.text('wikihomepage', - h.escape(request.params.get('wikihomepage', None)), - id='wikihomepage')}
-
-
-
- ${h.text('forumsid', - h.escape(request.params.get('forumsid', None)), - id='forumsid')}
-
-
-
- ${_('HTML')} ${h.radio('mode', 'html', - checked=(request.params.get('mode', - 'html') == 'html'))} ${_('JSON')} ${h.radio('mode', - 'json', checked=(request.params.get('mode', 'html') == 'json'))}
- ${h.submit('submit', value=_('Build Debian Member Portfolio URLs'))} -
-
-${h.end_form()} diff --git a/debianmemberportfolio/templates/showformscript.mako b/debianmemberportfolio/templates/showformscript.js similarity index 52% rename from debianmemberportfolio/templates/showformscript.mako rename to debianmemberportfolio/templates/showformscript.js index 466fc9a..842c272 100644 --- a/debianmemberportfolio/templates/showformscript.mako +++ b/debianmemberportfolio/templates/showformscript.js @@ -1,81 +1,78 @@ -## -*- coding: utf-8 -*- \ -<%doc> +{# vim: ft=jinja Helper JavaScript for the data input form. -Copyright © 2009, 2010 Jan Dittberner +Copyright © 2009-2020, Jan Dittberner -This file is part of DDPortfolio service. +This file is part of the Debian Member Portfolio service. -DDPortfolio service is free software: you can redistribute it and/or -modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. +Debian Member Portfolio service is free software: you can redistribute it +and/or modify it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -DDPortfolio service is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public -License along with this program. If not, see -. -\ +Debian Member Portfolio service is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +General Public License for more details. +You should have received a copy of the GNU Affero General Public License along +with this program. If not, see . +#} var defaulthiddendivs = new Array( '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); + '#salsausernamefield', '#wikihomepagefield', '#forumsidfield'); var maskedfielddivs = new Array( '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); + '#salsausernamefield', '#wikihomepagefield', '#forumsidfield'); var allfielddivs = new Array( '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); + '#salsausernamefield', '#wikihomepagefield', '#forumsidfield'); function updateFields(data, textStatus) { if (data.type == 2) { // DD - $('#name').attr('value', data.name).attr('readonly', 'readonly'); - $('#gpgfp').attr('value', data.gpgfp); - $('#username').attr('value', data.username).attr( + $('#name').prop('value', data.name).prop('readonly', 'readonly'); + $('#gpgfp').prop('value', data.gpgfp); + $('#username').prop('value', data.username).prop( 'readonly', 'readonly'); - $('#nonddemail').attr('value', data.email).focus(); - $('#aliothusername').attr('value', data.username); - $('#wikihomepage').attr('value', data.wikihomepage); + $('#nonddemail').prop('value', data.email).focus(); + $('#salsausername').prop('value', data.username); + $('#wikihomepage').prop('value', data.wikihomepage); $('#namefield').show(); $('#gpgfpfield').show(); $('#usernamefield').show(); $('#nonddemailfield').show(); - $('#aliothusernamefield').show(); + $('#salsausernamefield').show(); $('#wikihomepagefield').show(); $('#forumsidfield').show(); $('#nonddemail').focus().select(); } else if (data.type == 1) { // DM - $('#name').attr('value', data.name).attr('readonly', 'readonly'); - $('#gpgfp').attr('value', data.gpgfp); - $('#username').attr('value', ''); - $('#nonddemail').attr('value', data.email).focus(); - $('#wikihomepage').attr('value', data.wikihomepage); + $('#name').prop('value', data.name).prop('readonly', 'readonly'); + $('#gpgfp').prop('value', data.gpgfp); + $('#username').prop('value', ''); + $('#nonddemail').prop('value', data.email).focus(); + $('#wikihomepage').prop('value', data.wikihomepage); $('#namefield').show(); $('#gpgfpfield').show(); $('#usernamefield').hide(); $('#nonddemailfield').hide(); - $('#aliothusernamefield').show(); + $('#salsausernamefield').show(); $('#wikihomepagefield').show(); $('#forumsidfield').show(); - $('#aliothusername').focus().select(); + $('#salsausername').focus().select(); } else { - $('#nonddemail').attr('value', data.email); + $('#nonddemail').prop('value', data.email); $('#name').removeAttr('readonly'); - $('#username').removeAttr('readonly').attr('value', ''); - $('#gpgfp').attr('value', ''); + $('#username').removeAttr('readonly').prop('value', ''); + $('#gpgfp').prop('value', ''); $('#usernamefield').hide(); $('#gpgfpfield').hide(); $('#nonddemailfield').hide(); $('#namefield').show(); - $('#aliothusernamefield').show(); + $('#salsausernamefield').show(); $('#wikihomepagefield').show(); $('#forumsidfield').show(); @@ -84,7 +81,7 @@ function updateFields(data, textStatus) { } function onChangeShowAll(event) { - if ($('#showall').attr('checked')) { + if ($('#showall').prop('checked')) { for (var fielddiv in allfielddivs) { $(allfielddivs[fielddiv]).show(); } @@ -96,10 +93,10 @@ function onChangeShowAll(event) { } function onBlurEmail() { - if ($.trim($('#email').attr('value')).length > 0) { + if ($.trim($('#email').prop('value')).length > 0) { $.ajax({ - 'url' : '${h.url(controller="showformscripts", action="fetchdddata")}', - 'data' : {'email' : $('#email').attr('value')}, + 'url' : '{{ url_for("fetchdddata") }}', + 'data' : {'email' : $('#email').prop('value')}, 'dataType' : 'json', 'success' : updateFields, 'error' : function(request, textStatus, errorThrown) { @@ -116,7 +113,7 @@ $(document).ready(function() { } } - $('#showall').attr('checked', false).change(onChangeShowAll); + $('#showall').prop('checked', false).change(onChangeShowAll); $('#showallfield').show(); $('#email').blur(onBlurEmail).focus(); }); diff --git a/debianmemberportfolio/templates/showurls.html b/debianmemberportfolio/templates/showurls.html new file mode 100644 index 0000000..4b5165b --- /dev/null +++ b/debianmemberportfolio/templates/showurls.html @@ -0,0 +1,61 @@ +{% extends "base.html" %} +{# +Template for the url output page. +Copyright © 2009-2015 Jan Dittberner + +This file is part of Debian Member Portfolio Service. + +Debian Member Portfolio Service is free software: you can redistribute it +and/or modify it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Debian Member Portfolio Service is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +General Public License for more details. + +You should have received a copy of the GNU Affero General Public License along +with this program. If not, see . +#} +{% block title %}{{ super() }} - {{ _('Your personal links') }}{% endblock %} +{% block body %}{{ super() }} +{% if urldata %} +
+ {{ _('Debian Member Porfolio') }} + + + + + + {% for row in urldata %} + {% if row[0] == 'section' %} + + {% set urlclass = 'odd' %} + {% elif row[0] == 'error' %} + + + + + {% else %} + + + + + {% if urlclass == "odd" %}{% set urlclass = "even" %}{% else %}{% set urlclass = "odd" %}{% endif %} + {% endif %} + {% endfor %} + +
{{ _('Usage') }}{{ _('URL') }}
{{ row[4] }}{{ _('Error during URL creation:') }} + {{ row[3]|replace("\n", "
") }}
{{ row[4]|safe }} + {% if row[2].type == 'url' %} + {{ row[3]|truncate(120) }} + {% else %} + {{ row[3] }} + {% endif %} +
+
+{% endif %} +

{{ _('Restart') }}

+{% endblock body %} + diff --git a/debianmemberportfolio/templates/showurls.mako b/debianmemberportfolio/templates/showurls.mako deleted file mode 100644 index 65358fd..0000000 --- a/debianmemberportfolio/templates/showurls.mako +++ /dev/null @@ -1,67 +0,0 @@ -## -*- coding: utf-8 -*- -<%inherit file="base.mako" />\ -<%doc> -Template for the url output page. -Copyright © 2009-2014 Jan Dittberner - -This file is part of Debian Member Portfolio Service. - -Debian Member Portfolio Service is free software: you can redistribute it -and/or modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Debian Member Portfolio Service is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along -with this program. If not, see . -\ -<%def name="titleaddon()"> - - ${_('Your personal links')} - -% if c.urldata: -
- ${_('Debian Member Portfolio')} - - - - - - % for row in c.urldata: - % if row[0] == 'section': - - <% urlclass = 'odd' %> - % elif row[0] == 'error': - - - - - % else: - - - - - <% - if urlclass == 'odd': - urlclass = 'even' - else: - urlclass = 'odd' - %> - % endif - % endfor - -
${_('Usage')}${_('URL')}
${h.literal(h.textile(row[4]))}${_('Error during URL creation:')} - ${row[3].replace("\n", - '
')}
${h.literal(h.textile(row[4]))} - % if row[2].type == 'url': - ${h.link_to(h.truncate(row[3], length=120), row[3])} - % else: - ${row[3]} - % endif -
-
-% endif -

${h.link_to(_('Restart'), h.url(controller='portfolio', action='index'))}

diff --git a/debianmemberportfolio/tests/__init__.py b/debianmemberportfolio/tests/__init__.py deleted file mode 100644 index 31fbc54..0000000 --- a/debianmemberportfolio/tests/__init__.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service tests package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons application test package - -When the test runner finds and executes tests within this directory, this file -will be loaded to setup the test environment. - -It registers the root directory of the project in sys.path and pkg_resources, -in case the project hasn't been installed with setuptools. It also initializes -the application via websetup (paster setup-app) with the project's test.ini -configuration file. -""" - -from unittest import TestCase - -from paste.script.appinstall import SetupCommand -from pylons import url -from routes.util import URLGenerator -from webtest import TestApp - -import pylons.test - -__all__ = ['environ', 'url', 'TestController'] - -# Invoke websetup with the current config file -SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) - -environ = {} - - -class TestController(TestCase): - - def __init__(self, *args, **kwargs): - wsgiapp = pylons.test.pylonsapp - config = wsgiapp.config - self.app = TestApp(wsgiapp) - url._push_object(URLGenerator(config['routes.map'], environ)) - TestCase.__init__(self, *args, **kwargs) diff --git a/debianmemberportfolio/tests/functional/test_portfolio.py b/debianmemberportfolio/tests/functional/test_portfolio.py deleted file mode 100644 index bebdbc8..0000000 --- a/debianmemberportfolio/tests/functional/test_portfolio.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service PortfolioController test -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines test cases for the PortfolioController. -""" - -from debianmemberportfolio.tests import TestController, url - - -class TestPortfolioController(TestController): - """ - Test cases for PortfolioController. - """ - - def test_index(self): - """ - Test for the controller's index action. - """ - response = self.app.get(url(controller='portfolio', action='index')) - # Test response... - assert response.status_int == 200 - assert response.content_type == "text/html" - assert "Debian Member Portfolio Service" in response diff --git a/debianmemberportfolio/tests/functional/test_showformscripts.py b/debianmemberportfolio/tests/functional/test_showformscripts.py deleted file mode 100644 index d3da82a..0000000 --- a/debianmemberportfolio/tests/functional/test_showformscripts.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ShowformscriptsController test -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines test cases for the ShowformscriptsController. -""" - -from debianmemberportfolio.tests import TestController, url - - -class TestShowformscriptsController(TestController): - """ - Test cases for ShowformscriptsController. - """ - - def test_index(self): - """ - Test for the controller's index action. - """ - response = self.app.get( - url(controller='showformscripts', action='index')) - # Test response... - assert response.status_int == 200 - assert response.content_type == "text/javascript" - assert "function updateField" in response diff --git a/debianmemberportfolio/tests/test_models.py b/debianmemberportfolio/tests/test_models.py deleted file mode 100644 index 6d9b913..0000000 --- a/debianmemberportfolio/tests/test_models.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service model tests -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/translations/de/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/de/LC_MESSAGES/messages.po new file mode 100644 index 0000000..ff035df --- /dev/null +++ b/debianmemberportfolio/translations/de/LC_MESSAGES/messages.po @@ -0,0 +1,425 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.6.4\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2020-10-27 08:36+0100\n" +"PO-Revision-Date: 2020-10-27 08:37+0100\n" +"Last-Translator: Jan Dittberner \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 2.4.1\n" + +#: debianmemberportfolio/forms.py:64 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:64 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Überblick" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Paketübersicht des Debian-Mitglieds" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Paketübersicht des Debian-Mitglieds\n" +"... mit allen E-Mailadressen" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Fehler" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"Erhaltene Fehlerberichte\n" +"(Anmerkung: Co-Maintainer werden nicht aufgeführt, siehe #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "Berichtete Fehler" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "User Tags" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"Alle Nachrichten (d.h. Volltextsuche nach dem Entwicklernamen in allen " +"Fehlerlogs)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "Beitragender zu Fehlern" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Graph der Entwicklung offener Fehlerberichte über ein Jahr" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Build" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "Igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Qualitätssicherung" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "Maintainer Dashboard" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "Lintian-Berichte" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" +"vollständige Lintian-Berichte (d.h. inklusive Meldungen der Stufe \"info\")" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debian Nachverfolgungssystem für Patches" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian URL-Prüfer" + +#: debianmemberportfolio/views.py:73 +msgid "Debian Janitor" +msgstr "Debian Janitor" + +#: debianmemberportfolio/views.py:76 +msgid "Mailing Lists" +msgstr "Mailinglisten" + +#: debianmemberportfolio/views.py:77 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Dateien" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:86 +msgid "Membership" +msgstr "Mitgliedschaft" + +#: debianmemberportfolio/views.py:87 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:88 +msgid "DB information via finger" +msgstr "DB-Informationen per finger" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via HTTP" +msgstr "DB-Informationen per HTTP" + +#: debianmemberportfolio/views.py:90 +msgid "FOAF profile" +msgstr "FOAF-Profil" + +#: debianmemberportfolio/views.py:91 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:92 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:93 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:96 +msgid "Miscellaneous" +msgstr "Sonstiges" + +#: debianmemberportfolio/views.py:97 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:98 +msgid "Planet Debian (name)" +msgstr "Planet Debian (Name)" + +#: debianmemberportfolio/views.py:99 +msgid "Planet Debian (username)" +msgstr "Planet Debian (Benutzername)" + +#: debianmemberportfolio/views.py:100 +msgid "links" +msgstr "Links" + +#: debianmemberportfolio/views.py:101 +msgid "Debian website" +msgstr "Debian Webseite" + +#: debianmemberportfolio/views.py:102 +msgid "Debian search" +msgstr "Debian-Suche" + +#: debianmemberportfolio/views.py:103 +msgid "GPG public key via finger" +msgstr "öffentlicher GPG-Schlüssel per finger" + +#: debianmemberportfolio/views.py:104 +msgid "GPG public key via HTTP" +msgstr "öffentlicher GPG-Schlüssel per HTTP" + +#: debianmemberportfolio/views.py:105 +msgid "NM, AM participation" +msgstr "NM-, AM-Mitwirkung" + +#: debianmemberportfolio/views.py:106 +msgid "Contribution information" +msgstr "Debian Contributor-Informationen" + +#: debianmemberportfolio/views.py:107 +msgid "Repology information" +msgstr "Repology-Informationen" + +#: debianmemberportfolio/views.py:110 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Per ssh erreichbare Informationen (für Debian Mitglieder)" + +#: debianmemberportfolio/views.py:111 +msgid "owned debian.net domains" +msgstr "Besitz von debian.net-Domains" + +#: debianmemberportfolio/views.py:112 +msgid "" +"MIA database " +"information" +msgstr "" +"Informationen in der MIA-Datenbank" + +#: debianmemberportfolio/views.py:114 +msgid "Group membership information" +msgstr "Information über Gruppenmitgliedschaften" + +#: debianmemberportfolio/views.py:117 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:118 +msgid "Available patches from Ubuntu" +msgstr "Verfügbare Patches aus Ubuntu" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "E-Mailadresse" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Name" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "GPG-Fingerabdruck" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian-Benutzername" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Nicht-Debian-E-Mailadresse" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsa-Benutzername" + +#: debianmemberportfolio/model/urlbuilder.py:109 +#: debianmemberportfolio/model/urlbuilder.py:113 +#, python-format +msgid "Missing input: %s" +msgstr "Fehlende Eingabe: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Debian-Mitglieder-Portfolioservice" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debian-Logo" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Dieser Dienst wurde durch Stefano Zacchirolis DDPortfolio-Seite im Debian Wiki inspiriert. Mit dem " +"Dienst können personalisierte Links zu Informationen im Bezug auf Debian für " +"Debian-Mitglieder und Paketbetreuer erzeugt werden." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Freie Software" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"Dieser Dienst wird unter den Bedingungen der GNU Affero General Public License, so wie sie von " +"der Free Software Foundation veröffentlicht ist, bereitgestellt. Sie können " +"entweder Version 3 oder (auf Ihren Wunsch hin) jede spätere Version der " +"Lizenz verwenden. Sie können sich den Quelltext ansehen oder mit git von " +"%(cloneurl)s klonen. Wenn Sie diesen Service in Ihre Sprache übersetzen " +"möchten, können Sie auf Weblate dazu beitragen." + +# | msgid "Copyright © 2009-2018 Jan Dittberner" +#: debianmemberportfolio/templates/base.html:41 +#| msgid "Copyright © 2009-2019 Jan Dittberner" +msgid "Copyright © 2009-2020 Jan Dittberner" +msgstr "Copyright © 2009-2020 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Eingabe der persönlichen Informationen" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Debian-Mitglieder-Portfolioservice" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "E-Mailadresse:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Alle Formularfelder anzeigen" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Name:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "GPG-Fingerabdruck:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debian-Benutzername:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Nicht-Debian-E-Mailadresse:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsa-Benutzername:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Wiki user name:" +msgstr "Wiki-Benutzername:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Forum user id:" +msgstr "Forumsbenutzernummer:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Output format:" +msgstr "Ausgabeformat:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Build Debian Member Portfolio URLs" +msgstr "Debian-Mitgliedsportfolio-URLs bauen" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Ihre personalisierten Links" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Debian-Mitgliederportfolio" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Verwendung" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Fehler bei der URL-Erzeugung:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Neu beginnen" diff --git a/debianmemberportfolio/translations/el/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/el/LC_MESSAGES/messages.po new file mode 100644 index 0000000..c6cffbf --- /dev/null +++ b/debianmemberportfolio/translations/el/LC_MESSAGES/messages.po @@ -0,0 +1,411 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2019-06-26 21:00+0000\n" +"Last-Translator: THANOS SIOURDAKIS \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.7.1-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Επισκόπηση" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "" diff --git a/debianmemberportfolio/translations/es/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/es/LC_MESSAGES/messages.po new file mode 100644 index 0000000..20de512 --- /dev/null +++ b/debianmemberportfolio/translations/es/LC_MESSAGES/messages.po @@ -0,0 +1,437 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2019-12-19 04:21+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Visión general" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Visión general de paquetes del miembro de Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Visión general de paquetes del miembro de Debian\n" +"… se muestran todas las direcciones de correo" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Fallos" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"fallos recibidos\n" +"(nota: no se muestran los corresponsables; véase el informe n.º 430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "fallos informados" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "etiquetas de usuario" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"todos los mensajes (esto es, búsqueda de texto completo del nombre de " +"desarrollador/a en todos los registros de informes)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "contacto para fallos" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "gráfico de histórico anual de informes de error abiertos" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Generación de paquetes" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Control de calidad" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "tablero de responsable" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "informes de lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" +"informes íntegros de lintian (es decir, incluyen mensajes de nivel «info»)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Sistema de control de parches de Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Comprobador de URL de Debian (DUCK)" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Listas de correo" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Archivos" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Membresía" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "Información de BD a través de Finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "Información de BD a través de HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "Perfil de FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Foro" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Varios" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nombre)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (nombre de usuario)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "enlaces" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Sitio web de Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Búsqueda en Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Clave pública de GPG a través de Finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Clave pública de GPG a través de HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "Participación en NM y AM" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Información de contribución" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "Información de Repology" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Información accesible a través de SSH (para miembros de Debian)" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "titularidad de dominios debian.net" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"Información de la base de datos MIA" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "Información de membresía a grupos" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "Parches de Ubuntu disponibles" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Dirección de correo" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nombre" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Huella GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Nombre de usuario de Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Direcciones de correo no de Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Nombre de usuario de Salsa" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Nombre de usuario de Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Falta la entrada: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Servicio de portafolios para miembros de Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logotipo de Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"La inspiración para este servicio provino de la página «DDPortfolio» del wiki de " +"Debian, ideada por Stefano Zacchiroli. Puede crear un juego de enlaces " +"personalizados que apunten a la información relacionada con Debian sobre un/" +"a miembro del proyecto o responsable de paquete." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL: «software» libre" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"El servicio se pone a su disposición en virtud de los términos de la Licencia Pública General Affero " +"de GNU, tal como la publica al Free Software Foundation, sea bien la " +"versión 3 de la Licencia o bien cualquier otra versión posterior de su " +"preferencia. Puede explorar el código fuente o clonarlo desde %(cloneurl)s" +" sirviéndose de git. Si quiere " +"contribuir traduciendo este servicio a su lengua, puede hacerlo a través de <" +"a href=\"%(weblateurl)s\" title=\"Servicio de portafolios de miembros de " +"Debian en Weblate\">Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Derechos de autor © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Proporcione su información personal" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portafolio de miembro de Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Dirección de correo:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Mostrar todos los campos del formulario" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nombre:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Huella GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nombre de usuario de Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Dirección de correo no de Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Nombre de usuario de Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nombre de usuario de Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nombre de usuario del wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Identificador de usuario del foro:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Formato de salida:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Crear los URL para portafolio de miembro de Debian" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Sus enlaces personales" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portafolio de miembro de Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Uso" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Se produjo un error al crear el URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Reiniciar" diff --git a/debianmemberportfolio/translations/fr/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/fr/LC_MESSAGES/messages.po new file mode 100644 index 0000000..df08b9c --- /dev/null +++ b/debianmemberportfolio/translations/fr/LC_MESSAGES/messages.po @@ -0,0 +1,430 @@ +# French translations for the Debian Member Portfolio Service +# +# Copyright (C) 2012 Stéphane Aulery +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Stéphane Aulery , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2019-09-17 14:24+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.9-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Vue d'ensemble" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Vue d'ensemble des paquets du membre Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Vue d'ensemble des paquets du membre Debian\n" +"... affichage de tous les courriels" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bogues" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"Bogues reçus\n" +"(note : co-responsables non listés, voir #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "Bogues rapportés" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "Tags utilisateur" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"Tous les messages (c-à-d, recherche plein texte sur le nom du développeur dans " +"tous les journaux de bogue)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "Correspondant pour les bogues" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Graphique de l'évolution des bogues ouverts sur l'année écoulée" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Construire" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Assurance qualité" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "tableau de bord du mainteneur" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "Rapports lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "Rapports lintian complets (c-à-d incluant les messages de niveau \"info\")" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "Piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Système de suivi des patchs de Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Vérificateur d'Url Debian" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Listes de diffusion" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "Gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Fichiers" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "anciens" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Adhésion" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "BD d’informations via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "BD d’informations via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "profil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Divers" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "Debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nom)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (nom d’utilisateur)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "Liens" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Site web de Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Recherche Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Clef GPG publique via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Clef GPG publique via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "participation NM, AM" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Informations de contribution" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informations accessibles via ssh (pour les membres de Debian)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "Propriété des domaines debian.net" + +#: debianmemberportfolio/views.py:113 +msgid "" +"MIA database " +"information" +msgstr "" +"Informations de la base de données MIA" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "Information sur l’adhésion de groupe" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "Rustines d’Ubuntu disponibles" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Courriel" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nom" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Empreinte GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Nom d’utilisateur Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Courriel hors Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Nom d’utilisateur Salsa" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Nom d’utilisateur Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Entrée manquante : %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Service de portefeuille des membres de Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logo Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can create " +"a set of customized links leading to a Debian Member's or package maintainer's " +"information regarding Debian." +msgstr "" +"Ce service a été inspiré par la " +"page DDPortfolio du Wiki de Debian de Stefano Zacchiroli. Vous pouvez créer " +"un ensemble personnalisé de liens fournissant des informations sur un membre ou " +"un mainteneur de paquet de Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Logiciel libre" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by the " +"Free Software Foundation, either version 3 of the License, or (at your option) " +"any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to your language you can " +"contribute at Weblate." +msgstr "" +"Ce service est disponible sous les termes de la licence GNU Affero General Public " +"License telle que publiée par la Free Software Foundation, soit la " +"version 3 de la licence, ou (à votre choix) toute version ultérieure. Vous " +"pouvez " +"parcourir le code source ou le cloner depuis %(cloneurl)s en utilisant git. Si vous voulez traduire ce service dans votre langage, " +"vous pouvez contribuer chez Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Copyright © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Saisissez vos informations personnelles" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portefeuille d’un Membre de Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Courriel :" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Afficher tous les champs du formulaire" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nom :" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Empreinte GPG :" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nom d’utilisateur Debian :" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Courriel hors Debian :" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Nom d’utilisateur Salsa :" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nom d’utilisateur Alioth :" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nom d’utilisateur Wiki :" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Numéro d’utilisateur Forum :" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Format de sortie :" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Construire les URLs du portefeuille du membre de Debian" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Vos liens personnels" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portefeuille d’un membre de Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Utilisation" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Erreur durant la création de l’URL :" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Recommencer" diff --git a/debianmemberportfolio/translations/id/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/id/LC_MESSAGES/messages.po new file mode 100644 index 0000000..587f9f9 --- /dev/null +++ b/debianmemberportfolio/translations/id/LC_MESSAGES/messages.po @@ -0,0 +1,435 @@ +# Indonesian translations for Debian Member Portfolio Service. +# +# Copyright (C) 2012 Izharul Haq +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Izharul Haq , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service\n" +"Report-Msgid-Bugs-To: atoz.chevara@yahoo.com\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2018-02-09 10:29+0100\n" +"Last-Translator: Jan Dittberner \n" +"Language: id\n" +"Language-Team: Indonesian \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.5.0\n" +"X-Generator: Poedit 1.8.11\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Gambaran Umum" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Gambaran Umum Paket Anggota Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Gambaran Umum Paket Anggota Debian\n" +"... tampilkan semua alamat email" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Kutu" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"bugs diterima\n" +"(catatan: co-maintainers tidak tercantum, lihat #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "melaporkan bug" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "label pengguna" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"semua pesan (yaitu, pencarian teks lengkap untuk nama pengembang pada semua " +"catatan bug)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "koresponden untuk bug" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "grafik perkembangan laporan bug terbuka lebih dari setahun" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Bangun" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Jaminan Mutu" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "dasbor maintainer" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "laporan lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "seluruh pesan lintian (i.e. termasuk pesan \"info\"-level)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "sistem pelacakan patch Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian Url ChecKer" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Milis" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Berkas-berkas" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Keanggotaan" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "informasi DB melalui finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "informasi DB melalui HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "profil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Lain-Lain" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nama)" + +#: debianmemberportfolio/views.py:101 +#, fuzzy +msgid "Planet Debian (username)" +msgstr "Planet Debian (nama pengguna)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "tautan" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "website Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "pencarian Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "kunci publik GPG melalui finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "kunci publik GPG melalui HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "partisipasi NM, AM" + +#: debianmemberportfolio/views.py:108 +#, fuzzy +msgid "Contribution information" +msgstr "Informasi kontribusi" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informasi dicapai melalui ssh (untuk Anggota Debian)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "domain debian.net sendiri" + +#: debianmemberportfolio/views.py:113 +msgid "" +"MIA database " +"information" +msgstr "" +"informasi database MIA" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "Informasi keanggotaan kelompok" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "Tambalan dari Ubuntu yang tersedia" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Alamat Email" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nama" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "sidik jari GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "nama pengguna Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Selain alamat email Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +#, fuzzy +msgid "Salsa user name" +msgstr "nama pengguna Salsa" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "nama pengguna Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Tidak ada masukan: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Layanan Portfolio Anggota Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logo Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Layanan ini terinspirasi dari halaman DDPortfolio Stefano Zacchiroli di Wiki Debian. Anda dapat " +"membuat sebuah link kustom yang mengarah ke Anggota Debian atau informasi " +"mengenai pengelola paket Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Free Software" + +#: debianmemberportfolio/templates/base.html:40 +#, fuzzy, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"Layanan ini tersedia di bawah persyaratan GNU Affero General Public License seperti yang " +"diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi, atau " +"(dengan pilihan Anda) versi lainnya. Anda dapat menelusuri kode sumber atau klon " +"dari %(cloneurl)s " +"menggunakan git.\n" +"Jika anda ingin menerjemahkan layanan ini ke dalam bahasa anda, anda dapat " +"berkontribusi di Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Hak Cipta © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Masukkan informasi data pribadi anda" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portfolio Anggota Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Alamat surel:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Tampilkan semua bagian formulir" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nama:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "sidik jari GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nama pengguna Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Selain alamat email Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +#, fuzzy +msgid "Salsa user name:" +msgstr "Nama pengguna Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nama pengguna Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nama pengguna Wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "ID pengguna Forum:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Format Keluaran:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Membangun URL Portfolio Anggota Debian" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Tautan pribadi anda" + +#: debianmemberportfolio/templates/showurls.html:25 +#, fuzzy +msgid "Debian Member Porfolio" +msgstr "Portfolio Anggota Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Penggunaan" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Kesalahan selama pembuatan URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Mulai ulang" diff --git a/debianmemberportfolio/translations/ja/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/ja/LC_MESSAGES/messages.po new file mode 100644 index 0000000..540d051 --- /dev/null +++ b/debianmemberportfolio/translations/ja/LC_MESSAGES/messages.po @@ -0,0 +1,420 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2020-09-27 13:40+0000\n" +"Last-Translator: Shuji Sado \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.3-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "概要" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Debianメンバーのパッケージ概要" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Debianメンバーのパッケージ概要\n" +"... 全メールアドレス表示" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "バグ" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"受領したバグ\n" +"(注: 共同メンテナーはリストされていません。#430986を参照)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "報告したバグ" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "ユーザータグ" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "すべてのメッセージ (i.e.、全てのバグのログの開発者名による全文検索)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "1年間にオープンしたバグの履歴グラフ" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "ビルド" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "品質保証" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "メンテナダッシュボード" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "Lintianレポート" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debianパッチ追跡システム" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian Urlチェッカー" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "メーリングリスト" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "ファイル" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "メンバーシップ" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "FOAF プロファイル" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "フォーラム" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "その他" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (名前)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (ユーザー名)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "リンク" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Debian webサイト" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Debian検索" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "finger経由のGPG公開鍵" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "HTTP経由のGPG公開鍵" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "貢献情報" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "Repology情報" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA データベース情報" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Emailアドレス" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "名前" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian ユーザー名" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Debian以外のメールアドレス" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsaユーザー名" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Aliothユーザー名" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Debianメンバー・ポートフォリオ・サービス" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debianロゴ" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"このサービスは、Debian Wiki の Stefano Zacchiroli さんによる DDPortfolio ページにヒントを得ています。 Debian メンバーやパッケージメンテナの " +"Debian に関する情報につながるカスタマイズされたリンクのセットを作成することができます。" + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - フリーソフトウェア" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Debianメンバーポートフォリオ" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Emailアドレス:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "名前:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debianユーザー名:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Debian以外のメールアドレス:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsaユーザー名:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Aliothユーザー名:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Wikiユーザー名:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "フォーラムのユーザーID:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "あなたの個人的なリンク" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Debianメンバーポートフォリオ" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "" diff --git a/debianmemberportfolio/translations/mr/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/mr/LC_MESSAGES/messages.po new file mode 100644 index 0000000..85a044d --- /dev/null +++ b/debianmemberportfolio/translations/mr/LC_MESSAGES/messages.po @@ -0,0 +1,413 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2019-12-14 20:21+0000\n" +"Last-Translator: Prachi Joshi \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.10-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "एचटीएमएल" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "आढावा" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "डेबियन सदस्याचे पॅकेज विहंगावलोकन" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"डेबियन सदस्याचे पॅकेज विहंगावलोकन\n" +"... सर्व ईमेल पत्ते दर्शवित आहे" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "बग" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "बग नोंदवले" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "वापरकर्ता टॅग" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "सर्व संदेश (उदा. सर्व बग लॉगवरील विकसकाच्या नावासाठी संपूर्ण मजकूर शोध)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "बग साठी संवाददाता" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "एक वर्षाचा ओपन बग हिस्ट्री ग्राफ" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "बांधा" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "इग्लू" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "गुणवत्ता हमी" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "देखभालकर्ता डॅशबोर्ड" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "" diff --git a/debianmemberportfolio/translations/nb/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/nb/LC_MESSAGES/messages.po new file mode 100644 index 0000000..1657c47 --- /dev/null +++ b/debianmemberportfolio/translations/nb/LC_MESSAGES/messages.po @@ -0,0 +1,429 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2020-08-14 22:32+0000\n" +"Last-Translator: Allan Nordhøy \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.2-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Oversikt" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Debian-medlemmers pakkeoversikt" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Debianmedlemmers pakkeoversikt\n" +"… viser alle e-postadresser" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Feil" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"feilrapporter mottatt\n" +"(merk: med-vedlikeholdere er ikke listet opp, se #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "feil rapportert" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "brukermerker" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"alle meldinger (med andre ord, fulltekstsøk etter utviklernavnet i alle " +"feilrapporter)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "korrespondent for feilrapporter" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Graf over feilrapporter som har vært åpen mer enn et år" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Bygg" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "iglo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Kvalitetssikring" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "Vedlikeholdersoversikt" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "lintian-rapporter" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "Komplette lintian-rapporter (dvs. også meldinger med nivå «info»)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debians sporingssystem for patcher" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian URL-sjekker" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "E-postlister" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Filer" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Medlemskap" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "DB-informasjon via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "DB-informasjon via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "FOAF-profil" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Diverse" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (navn)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (brukernavn)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "lenker" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Debian-nettsiden" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Debian-søk" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Offentlig GPG-nøkkel via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Offentlig GPG-nøkkel via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "NM-, AM-deltagelse" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Bidragsinformasjon" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informasjon tilgjengelig via ssh (for Debian-medlemmer)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "eide debian.net -domener" + +#: debianmemberportfolio/views.py:113 +msgid "" +"MIA database " +"information" +msgstr "" +"Informasjon i MIA-databasen" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "Gruppemedlemskapsinformasjon" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "Tilgjengelige programfikser fra Ubuntu" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "E-postadresse" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Navn" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "GPG-fingeravtrykk" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian-brukernavn" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "E-postadresser utenom Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsa-brukernavn" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Alioth-brukernavn" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Manglende inndata: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Debian-medlems portfoliotjeneste" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debian-logo" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Denne tjenesten er inspirert av Stefano Zacchiroli sin DDPortfolio-side i Debian-wikien. Du kan lage " +"et sett med tilpassede lenker som leder til et Debian-medlems eller -" +"pakkevedlikeholders informasjon om Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Fri programvare" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"Tjenesten er tilgjengelig i tråd med vilkårene i GNU Affero General Public License som publisert " +"av Free Software Foundation, enten versjon 3 av lisensen eller (etter ditt " +"valg) enhver senere versjon. Du kan se igjennom kildekoden eller klode det fra %(cloneurl)s ved å bruke git. Hvis du ønsker a oversette denne " +"tjenesten til ditt språk kan du bidra ved å bruke Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Kopirett © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Skriv inn informasjon om deg selv" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Debian-medlems portfolio" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "E-postadresse:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Vis alle felt i skjema" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Navn:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "GPG-fingeravtrykk:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debian-brukernavn:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "E-postadresse utenom Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsa-brukernavn:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Alioth-brukernavn:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Wiki-brukernavn:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Forum-brukerid:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Fremvisningsformat:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Bygg Debian-medlemsportfolio-URLer" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Dine personlige lenker" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Debian-medlems portfolio" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Bruk" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Feil under oppretting av URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Start om igjen" diff --git a/debianmemberportfolio/translations/nl/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/nl/LC_MESSAGES/messages.po new file mode 100644 index 0000000..dd420a6 --- /dev/null +++ b/debianmemberportfolio/translations/nl/LC_MESSAGES/messages.po @@ -0,0 +1,414 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2019-03-18 14:03+0000\n" +"Last-Translator: Frans Spiesschaert \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.6-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Overzicht" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Pakketoverzicht van Debian-leden" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Pakketoverzicht van Debian-leden\n" +"... alle e-mailadressen worden weergegeven" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bugs" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"ontvangen bugs\n" +"(let op: mede-beheerders staan niet op de lijst, zie\n" +"#430986" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "gerapporteerde bugs" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "gebruikerslabels" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"alle berichten (d.w.z. zoeken in volledige tekst op de naam van de " +"ontwikkelaar in alle buglogs)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "correspondent voor bugs" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "grafiek van de evolutie van bugs die één jaar openstaan" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Bouwen" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Kwaliteitsverzekering" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "beheerdersinstrumentenbord" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "lintian-rapporten" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" +"volledige lintian-rapporten (d.w.z. inclusief berichten van niveau \"info\")" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debian patchvolgsysteem" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian URL-controle" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Mailinglijsten" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Bestanden" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oud-medewerkers" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Lidmaatschap" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "DB-informatie via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "DB-informatie via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "FOAF-profiel" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Diversen" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (naam)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (gebruikersnaam)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "links" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Debian-website" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Debian-zoeken" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "GPG openbare sleutel via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "GPG openbare sleutel via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "NM, AM-deelname" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Bijdrage-informatie" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Via ssh toegankelijke informatie (voor Debian-leden)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "debian.net-domeinnamen in eigendom" + +#: debianmemberportfolio/views.py:113 +msgid "MIA database information" +msgstr "MIA-database-informatie" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "Informatie over groepslidmaatschap" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "Beschikbare patches van Ubuntu" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "E-mailadres" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Naam" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "GPG-vingerafdruk" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian-gebruikersnaam" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "E-mailadres buiten Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsa-gebruikersnaam" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Alioth-gebruikersnaam" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Ontbrekende invoer: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Portfoliodienst van Debian-leden" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debian-logo" + +#: debianmemberportfolio/templates/base.html:32 +msgid "This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can create a set of customized links leading to a Debian Member's or package maintainer's information regarding Debian." +msgstr "" +"Deze dienst is geïnspireerd op Stefano Zacchiroli's DDPortfolio-pagina op de Debian-" +"wiki. U kunt een set aangepaste links creëren die leiden naar Debian-" +"gerelateerde informatie over een lid of pakketbeheerder van Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Vrije software" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "The service is available under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to your language you can contribute at Weblate." +msgstr "" +"Deze dienst is beschikbaar onder de voorwaarden van de GNU Affero General Public " +"License, zoals gepubliceerd door de Free Software Foundation, zowel " +"versie 3, als (optioneel) een hogere versie. U kunt door de broncode bladeren of " +"deze klonen van %(cloneurl)s m.b.v. git. Als u deze " +"dienst wilt vertalen naar uw eigen taal, dan kunt u bijdragen op Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Copyright © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Voer uw persoonlijke informatie in" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portfolio van een lid van Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "E-mailadres:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Alle velden van het formulier weergeven" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Naam:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "GPG-vingerafdruk:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debian-gebruikersnaam:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "E-mailadres buiten Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsa-gebruikersnaam:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Alioth-gebruikersnaam:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Wiki-gebruikersnaam:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Forum-gebruikersid:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Uitvoerformaat:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "URL's bouwen voor het Debian-lid" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Uw persoonlijke links" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portfolio van een Debian-lid" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Gebruik" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Er is een fout opgetreden tijdens de URL-creatie:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Herbeginnen" diff --git a/debianmemberportfolio/translations/pl/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/pl/LC_MESSAGES/messages.po new file mode 100644 index 0000000..2ce312a --- /dev/null +++ b/debianmemberportfolio/translations/pl/LC_MESSAGES/messages.po @@ -0,0 +1,412 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2020-10-27 06:59+0000\n" +"Last-Translator: Jan Dittberner \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.3.2-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Przegląd" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bugi" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Pliki" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "profil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "" diff --git a/debianmemberportfolio/translations/pt/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/pt/LC_MESSAGES/messages.po new file mode 100644 index 0000000..ca0cc52 --- /dev/null +++ b/debianmemberportfolio/translations/pt/LC_MESSAGES/messages.po @@ -0,0 +1,434 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2020-09-22 18:40+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Visão Geral" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Visão geral dos Pacotes dos Membros do Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Visão geral dos Pacote dos Membros do Debian\n" +"... exibindo todos os endereços de email" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bugs" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"Bugs recebidos\n" +"(nota: co-mantenedores não listados, veja #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "Bugs reportados" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "Tags de utilizador" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"Todas as mensagens (Ex. pesquisa completa do texto para o nome do " +"programador em todos os logs de bug)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "correspondente para bugs" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Histórico gráfico de bugs abertos há um ano" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Construção" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "Iglu" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Garantia de Qualidade" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "painel do mantenedor" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "relatórios lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "todos os relatórios lintian (Ex. incluindo mensagens \"info\"-level)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Sistema de rastreamento de patches Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Validador de Url do Debian" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Listas de Discussão" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Ficheiros" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Associação" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "Infomações DB via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "Informações DB via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "perfil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Fórum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nome)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "ligações" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Site do Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Pesquisa Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Chave pública GPG via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Chave pública GPG via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "Participação NM, AM" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "Informação sobre Repology" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informação alcançável via ssh (para membros Debian)" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "domínios debian.net adquiridos" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA " +"informações de banco de dados" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "Informações de Grupos associados" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "Patches por Ubuntu disponíveis" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Endereços de email" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nome" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Fingerprint GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Endereço de email não Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Nome de utilizador Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Entrada ausente: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Serviço de Portfolio dos Membros do Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logo Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Este serviço tem sido inspirado por Stefano Zacchiroli's Página DDPortfolio na Debian Wiki. Pode " +"criar um conjunto de ligações customizados apontando para informações, ou de " +"membro Debian, ou de mantenedor de pacotes a respeito de Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Sofware Livre" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"O serviço está disponível sob os termos da Licença Pública Geral Affero GNU conforme publicado " +"pela the Free Software Foundation, tanto na versão 3 da licença, como (a seu " +"critério) qualquer versão mais recente. Pode visualizar o código fonte ou " +"cloná-lo%(cloneurl)s usando git. Se quiser " +"traduzir este serviço para o seu idioma pode contribuir em Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Direitos Autorais © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Endereço de email:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Mostrar todos os campos" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nome:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Fingerprint GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nome de utilizador Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Endereço de email não Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "nome de utilizador Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nome de utilizador Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nome de utilizador Wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Id de utilizador do fórum:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Formato de saída:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "URLs de Portfolio dos Membros Debian em Construção" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "As suas ligações pessoais" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Modo de uso" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Erro durante a criação da URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Reiniciar" diff --git a/debianmemberportfolio/translations/pt_BR/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/pt_BR/LC_MESSAGES/messages.po new file mode 100644 index 0000000..28ae0ca --- /dev/null +++ b/debianmemberportfolio/translations/pt_BR/LC_MESSAGES/messages.po @@ -0,0 +1,430 @@ +# Portuguese (Brazil) translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2012 Daniel Manzano +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Daniel Manzano , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2020-07-26 06:41+0000\n" +"Last-Translator: Wellington Terumi Uemura \n" +"Language-Team: Portuguese (Brazil) \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.2-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Visão Geral" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Visão geral dos Pacotes dos Membros do Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Visão geral dos Pacote dos Membros do Debian\n" +"... exibindo todos os endereços de email" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bugs" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"Bugs recebidos\n" +"(nota: co-mantenedores não listados, veja #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "Bugs reportados" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "Tags de usuário" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"Todas as mensagens (Ex. pesquisa completa do texto para o nome do " +"desenvolvedor em todos os logs de bug)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "correspondente para bugs" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Histórico gráfico de bugs abertos há um ano" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Construção" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "Iglu" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Garantia de Qualidade" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "painel do mantenedor" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "relatórios lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "todos os relatórios lintian (Ex. incluindo mensagens \"info\"-level)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Sistema de rastreamento de patches Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Validador de Url do Debian" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Listas de Discussão" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Arquivos" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Associação" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "Infomações DB via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "Informações DB via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "perfil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Fórum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nome)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Nome de usuário Debian" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "links" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Site do Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Pesquisa Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Chave pública GPG via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Chave pública GPG via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "Participação NM, AM" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informação alcançável via ssh (para membros Debian)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "domínios debian.net adquiridos" + +#: debianmemberportfolio/views.py:113 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA informações " +"de banco de dados" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "Informações de Grupos associados" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "Patches por Ubuntu disponíveis" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Endereços de email" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nome" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Fingerprint GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Nome de usuário Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Endereço de email não Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Nome de usuário Debian" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Nome de usuário Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Entrada ausente: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Serviço de Portfolio dos Membros do Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logo Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Este serviço tem sido inspirado por Stefano Zacchiroli's Página DDPortfolio na Debian Wiki. Você " +"pode criar um conjunto de links customizados apontando para informações, ou " +"de membro Debian, ou de mantenedor de pacotes a respeito de Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Sofware Livre" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"O serviço está disponível sob os termos da Licença Pública Geral Affero GNU conforme publicado " +"pela the Free Software Foundation, tanto na versão 3 da licença, como (a seu " +"critério) qualquer versão mais recente. Você pode visualizar o código fonte " +"ou cloná-lo%(cloneurl)s usando git. Se você " +"quiser traduzir este serviço para o seu idioma você pode contribuir em Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Direitos Autorais © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Endereço de email:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Mostrar todos os campos" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nome:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Fingerprint GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nome de usuário Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Endereço de email não Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "nome de utilizador Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nome de usuário Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nome de usuário Wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Id de usuário do fórum:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Formato de saída:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "URLs de Portfolio dos Membros Debian em Construção" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Os seus links pessoais" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Modo de uso" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Erro durante a criação da URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Reiniciar" diff --git a/debianmemberportfolio/translations/pt_PT/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/pt_PT/LC_MESSAGES/messages.po new file mode 100644 index 0000000..ec3c994 --- /dev/null +++ b/debianmemberportfolio/translations/pt_PT/LC_MESSAGES/messages.po @@ -0,0 +1,434 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2020-08-23 21:36+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese (Portugal) \n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.2.1-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Visão Geral" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Visão geral dos Pacotes dos Membros do Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Visão geral dos Pacote dos Membros do Debian\n" +"... exibindo todos os endereços de email" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Bugs" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"Bugs recebidos\n" +"(nota: co-mantenedores não listados, veja #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "Bugs reportados" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "Tags de utilizador" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"Todas as mensagens (Ex. pesquisa completa do texto para o nome do " +"programador em todos os logs de bug)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "correspondente para bugs" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "Histórico gráfico de bugs abertos há um ano" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Construção" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "Iglu" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Garantia de Qualidade" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "painel do mantenedor" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "relatórios lintian" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "todos os relatórios lintian (Ex. incluindo mensagens \"info\"-level)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Sistema de rastreamento de patches Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Validador de Url do Debian" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Listas de Discussão" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Ficheiros" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Associação" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "Infomações DB via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "Informações DB via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "perfil FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Fórum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (nome)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "ligações" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Site do Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Pesquisa Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Chave pública GPG via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Chave pública GPG via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "Participação NM, AM" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Informação alcançável via ssh (para membros Debian)" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "domínios debian.net adquiridos" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA " +"informações de banco de dados" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "Informações de Grupos associados" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "Patches por Ubuntu disponíveis" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Endereços de email" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Nome" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Fingerprint GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Endereço de email não Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Nome de utilizador Debian" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Nome de utilizador Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Entrada ausente: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Serviço de Portfolio dos Membros do Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Logo Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Este serviço tem sido inspirado por Stefano Zacchiroli's Página DDPortfolio na Debian Wiki. Pode " +"criar um conjunto de ligações customizados apontando para informações, ou de " +"membro Debian, ou de mantenedor de pacotes a respeito de Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Sofware Livre" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"O serviço está disponível sob os termos da Licença Pública Geral Affero GNU conforme publicado " +"pela the Free Software Foundation, tanto na versão 3 da licença, como (a seu " +"critério) qualquer versão mais recente. Pode visualizar o código fonte ou " +"cloná-lo%(cloneurl)s usando git. Se quiser " +"traduzir este serviço para o seu idioma pode contribuir em Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Direitos Autorais © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Insira as suas informações pessoais" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Endereço de email:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Mostrar todos os campos" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Nome:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Fingerprint GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Nome de utilizador Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Endereço de email não Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "nome de utilizador Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Nome de utilizador Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Nome de utilizador Wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Id de utilizador do fórum:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Formato de saída:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "URLs de Portfolio dos Membros Debian em Construção" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "As suas ligações pessoais" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Portfolio de Membro Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Modo de uso" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Erro durante a criação da URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Reiniciar" diff --git a/debianmemberportfolio/translations/ru/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/ru/LC_MESSAGES/messages.po new file mode 100644 index 0000000..974aa4f --- /dev/null +++ b/debianmemberportfolio/translations/ru/LC_MESSAGES/messages.po @@ -0,0 +1,435 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2020-09-09 18:36+0000\n" +"Last-Translator: Nikita Epifanov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.3-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Обзор" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Обзор пакетов участников Debian" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Обзор пакетов участников Debian\n" +"... отображение всех адресов электронной почты" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Ошибки" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"полученные ошибки\n" +"(примечание: со-сопровождающие не указаны, см. #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "сообщения об ошибках" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "теги пользователей" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"все сообщения (т.е. полнотекстовый поиск имени разработчика по всем журналам " +"ошибок)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "корреспондент по вопросам ошибок" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "график истории открытых ошибок за один год" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Сборка" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "иглу" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Гарантия качества" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "панель мониторинга" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "Lintian отчеты" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "полные отчеты Lintian (т. е. включая сообщения уровня \"информация\")" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Система отслеживания патчей Debian" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian Url проверщик" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Списки рассылки" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Файлы" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Членство" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "Информация о ДБ по отпечатку" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "Информация о ДБ по HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "Профиль FOAF" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Форум" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Разное" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Планета Debian (имя)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Планета Debian (имя пользователя)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "ссылки" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Сайт Debian" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Поиск Debian" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "Открытый ключ GPG через отпечаток" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "Открытый ключ GPG через HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "NM, AM участие" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Информация о вкладе" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "Информация о репологии" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Информация доступна по ssh (для членов Debian)" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "собственные домены debian.net" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"Информация из базы данных MIA" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "Информация о членстве в группе" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "Доступные патчи из Ubuntu" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "Адрес электронной почты" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Имя" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "Отпечаток GPG" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Имя пользователя Debian" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Электронный адрес, отличный от Debian" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Имя пользователя Salsa" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Имя пользователя Alioth" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Пропущенный ввод: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Служба портфолио участников Debian" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Логотип Debian" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Этот сервис был вдохновлен страницей Стефано Заккироли DDPortfolio в Debian Wiki. Вы можете создать " +"набор настраиваемых ссылок, ведущих к информации участника Debian или " +"сопровождающего пакета относительно Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - Свободное программное обеспечение" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"Служба доступна на условиях Стандартной общественной лицензии GNU опубликованной Фондом " +"свободного программного обеспечения, либо 3 версии Лицензии, либо (по вашему " +"выбору) любой более поздней версии. Вы можете просмотреть исходный код или " +"клонировать его из %(cloneurl)s используя git. Если " +"вы хотите перевести эту услугу на свой язык, вы можете внести свой вклад по " +"ссылке Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Copyright © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Введите вашу личную информацию" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Портфолио участников Debian" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "Адрес электронной почты:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Показать все поля формы" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Имя:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "Отпечаток GPG:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Имя пользователя Debian:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Электронный адрес, отличный от Debian:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Имя пользователя Salsa:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Имя пользователя Alioth:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Имя пользователя Wiki:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "ID пользователя форума:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Формат вывода:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Создание URL-адресов портфолио участников Debian" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Ваши личные ссылки" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Портфолио участников Debian" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Использование" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Ошибка при создании URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Перезапустить" diff --git a/debianmemberportfolio/translations/sv/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/sv/LC_MESSAGES/messages.po new file mode 100644 index 0000000..55783fd --- /dev/null +++ b/debianmemberportfolio/translations/sv/LC_MESSAGES/messages.po @@ -0,0 +1,433 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2019-10-17 17:52+0000\n" +"Last-Translator: Mattias Münster \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.9\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "Översikt" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Debian-medlemspaketets översikt" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Debian-medlemspaketets översikt\n" +"... visar alla e-postadresser" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "Buggar" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"buggar mottagna\n" +"(Obs: medansvariga som inte finns listade, se #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "buggar rapporterade" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "användartaggar" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" +"alla meddelanden (dvs. fulltextsökning efter utvecklarnamn i alla felloggar)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "korrespondent för buggar" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "ett års öppen bugghistorik diagram" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "Bygge" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "bygged.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "Kvalitetssäkring" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "instrumentpanel för underhållare" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "lintian rapporter" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" +"fullständiga lintianrapporter (dvs. inklusive \"info\" -nivåmeddelanden)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debian patch-spårningssystem" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian URL-kontroll" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "Sändlistor" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "Filer" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "oldpeople" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "Alioth" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "Medlemskap" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "DB-information via finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "DB-information via HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "FOAF-profil" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "Forum" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "Diverse" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "debtags" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (namn)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (användarnamn)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "länkar" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Debian webbplats" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Debian sökning" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "GPG offentlig nyckel via finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "GPG offentlig nyckel via HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "NM, AM deltagande" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "Information om bidrag" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "Information om repologi" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "Information som kan nås via SSH (för Debianmedlemmar)" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "ägda debian.net domäner" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA " +"databasinformation" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "Information om gruppmedlemskap" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "Tillgängliga patchar från Ubuntu" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "E-postadress" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "Namn" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "GPG-fingeravtryck" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian användarnamn" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "Icke Debian e-postadress" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsa användarnamn" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Alioth användarnamn" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "Saknad inmatning: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Debian medlemsportföljtjänst" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debian logotyp" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"Den här tjänsten har inspirerats av Stefano Zacchirolis DDPortfolio-sida i Debian Wiki. Du " +"kan skapa en uppsättning anpassade länkar som leder till information om en " +"Debian-medlem eller paketunderhållare om Debian." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - fri programvara" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"Tjänsten är tillgänglig under villkoren i GNU Affero General Public License som publiceras av " +"Free Software Foundation, antingen version 3 i licensen, eller (efter eget " +"val) någon senare version. Du kan bläddra i källkoden eller klona den från %(cloneurl)s med git. Om du vill översätta den här tjänsten till " +"ditt språk kan du bidra till Weblate." + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Copyright © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "Ange din personliga information" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Debian medlemsportfölj" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "E-postadress:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "Visa alla formulärfält" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "Namn:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "GPG-fingeravtryck:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debian användarnamn:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "Icke Debian e-postadress:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsa användarnamn:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Alioth användarnamn:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Wiki användarnamn:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "Forum användar-id:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "Utdataformat:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "Bygg webbadresser till Debian medlemsportfölj" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "Dina personliga länkar" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Debian medlemsportfölj" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "Användning" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "Fel under skapandet av URL:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "Starta om" diff --git a/debianmemberportfolio/translations/zh_CN/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/zh_CN/LC_MESSAGES/messages.po new file mode 100644 index 0000000..e330f24 --- /dev/null +++ b/debianmemberportfolio/translations/zh_CN/LC_MESSAGES/messages.po @@ -0,0 +1,422 @@ +# German translations for the Debian Member Portfolio Service. +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-02-09 10:14+0100\n" +"PO-Revision-Date: 2020-10-15 10:26+0000\n" +"Last-Translator: tao wang \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.3-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "概述" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Debian 成员的软件包概览" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Debian 成员的软件包概览\n" +"... 显示所有邮件地址" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "缺陷" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" +"bugs 接收\n" +"(注意: 合作维护者未列入, 详见 #430986)" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "bugs 报告" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "用户标签" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "所有信息 (即,开发者名下所有缺陷日志的全文搜索)" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "" +"需要支持的和未来应有的包(WNPP)" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "bug的通信者" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "一年处理Bug历史图表" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "构建" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "buildd.d.o" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "冰屋(igloo)" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "质量保证" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "维护者面板" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "Lintian报告" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "全部Lintian报告(即包括\"info\"级信息)" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "piuparts" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debian补丁追踪系统(Debian patch tracking system)" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian链接检查器(Debian Url Checker)" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "邮件列表" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "lists.d.o" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "lists.a.d.o" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "文件" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "people.d.o" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "老人" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "北斗五(Alioth)" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "成员关系" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "NM" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "DB信息,通过finger" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "DB信息,通过HTTP" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "FOAF档案" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "Salsa" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "Wiki" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "论坛" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "杂项" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "包标签" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "Planet Debian (名字)" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "Planet Debian (用户名)" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "链接" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "Debian网站" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "Debian搜索" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "GPG公钥,通过finger" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "GPG公钥,通过HTTP" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "NM, AM 参加" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "贡献信息" + +#: debianmemberportfolio/views.py:111 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "信息可获取,通过ssh(DM专用)" + +#: debianmemberportfolio/views.py:112 +msgid "owned debian.net domains" +msgstr "拥有 debian.net 领域" + +#: debianmemberportfolio/views.py:113 +msgid "" +"MIA database " +"information" +msgstr "" +"MIA 数据库信息" + +#: debianmemberportfolio/views.py:115 +msgid "Group membership information" +msgstr "群组会员信息" + +#: debianmemberportfolio/views.py:118 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: debianmemberportfolio/views.py:119 +msgid "Available patches from Ubuntu" +msgstr "来自Ubuntu的可用补丁" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "邮件地址" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "姓名" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "GPG指纹" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "Debian用户名" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "非Debian邮件地址" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "Salsa用户名" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "Alioth用户名" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "缺少输入: %s" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "Debian 成员职责目录(Member Portfolio)服务" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "Debian Logo" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" +"这个服务由 Stefano Zacchiroli的 DDPortfolio 的 Debian Wiki页面 得到灵感. 你可以创建一个指向 Debian " +"Member 的或包维护者的关于Debian的信息的定制链接集合." + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "AGPL - 自由软件" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" +"这个服务在由自由软件基金会(FSF)发布的 GNU " +"Affero General Public License 第三版或(可选)更高版本协议下可用,可以点击 查看源代码,或从 %(cloneurl)s 使用 git 来克隆。如果想将这个服务翻译为你的语言,可以在这里投稿 Weblate。" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "Copyright © 2009-2018 Jan Dittberner" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "输入你的个人信息" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "Debian Member Portfolio" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "邮件地址:" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "显示所有字段" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "姓名:" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "GPG指纹:" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "Debian用户名:" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "非Debian邮件地址:" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "Salsa用户名:" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "Alioth用户名:" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "Wiki用户名:" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "论坛用户id:" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "输出格式:" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "构建Debian Member Prortfolio链接" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "你的个人链接" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "Debian 成员职责目录" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "使用" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "URL" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "在 URL 创建过程中的错误:" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "重启" diff --git a/debianmemberportfolio/translations/zh_Hant/LC_MESSAGES/messages.po b/debianmemberportfolio/translations/zh_Hant/LC_MESSAGES/messages.po new file mode 100644 index 0000000..ba13785 --- /dev/null +++ b/debianmemberportfolio/translations/zh_Hant/LC_MESSAGES/messages.po @@ -0,0 +1,413 @@ +# German translations for the Debian Member Portfolio Service. +# +# Copyright (C) 2009-2014 Jan Dittberner +# This file is distributed under the same license as the Debian Member +# Portfolio Service project. +# Translators: +# Jan Dittberner , 2009-2014 +msgid "" +msgstr "" +"Project-Id-Version: Debian Member Portfolio Service 0.3.1\n" +"Report-Msgid-Bugs-To: jan@dittberner.info\n" +"POT-Creation-Date: 2018-05-12 10:32+0200\n" +"PO-Revision-Date: 2019-01-20 15:12+0000\n" +"Last-Translator: Louies \n" +"Language-Team: Chinese (Traditional) \n" +"Language: zh_Hant\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.4-dev\n" +"Generated-By: Babel 2.5.0\n" + +#: debianmemberportfolio/forms.py:67 +msgid "JSON" +msgstr "JSON" + +#: debianmemberportfolio/forms.py:67 +msgid "HTML" +msgstr "HTML" + +#: debianmemberportfolio/views.py:40 +msgid "Overview" +msgstr "總覽" + +#: debianmemberportfolio/views.py:41 +msgid "Debian Member's Package Overview" +msgstr "Debian 會員的套餐總覽" + +#: debianmemberportfolio/views.py:42 +msgid "" +"Debian Member's Package Overview\n" +"... showing all email addresses" +msgstr "" +"Debian 會員套件概述\n" +"...顯示所有電子郵件地址" + +#: debianmemberportfolio/views.py:46 +msgid "Bugs" +msgstr "錯誤" + +#: debianmemberportfolio/views.py:47 +msgid "" +"bugs received\n" +"(note: co-maintainers not listed, see #430986)" +msgstr "" + +#: debianmemberportfolio/views.py:51 +msgid "bugs reported" +msgstr "錯誤回報" + +#: debianmemberportfolio/views.py:52 +msgid "user tags" +msgstr "用戶標籤" + +#: debianmemberportfolio/views.py:53 +msgid "all messages (i.e., full text search for developer name on all bug logs)" +msgstr "" + +#: debianmemberportfolio/views.py:55 +msgid "WNPP" +msgstr "WNPP" + +#: debianmemberportfolio/views.py:56 +msgid "correspondent for bugs" +msgstr "" + +#: debianmemberportfolio/views.py:57 +msgid "one year open bug history graph" +msgstr "" + +#: debianmemberportfolio/views.py:60 +msgid "Build" +msgstr "建構" + +#: debianmemberportfolio/views.py:61 +msgid "buildd.d.o" +msgstr "建構公司" + +#: debianmemberportfolio/views.py:62 +msgid "igloo" +msgstr "igloo" + +#: debianmemberportfolio/views.py:65 +msgid "Quality Assurance" +msgstr "品質保證" + +#: debianmemberportfolio/views.py:66 +msgid "maintainer dashboard" +msgstr "維護人員儀錶板" + +#: debianmemberportfolio/views.py:67 +msgid "lintian reports" +msgstr "lintian 報導" + +#: debianmemberportfolio/views.py:68 +msgid "full lintian reports (i.e. including \"info\"-level messages)" +msgstr "" + +#: debianmemberportfolio/views.py:70 +msgid "piuparts" +msgstr "" + +#: debianmemberportfolio/views.py:71 +msgid "Debian patch tracking system" +msgstr "Debian 補丁追踪系統" + +#: debianmemberportfolio/views.py:72 +msgid "Debian Url ChecKer" +msgstr "Debian URL檢查器" + +#: debianmemberportfolio/views.py:75 +msgid "Mailing Lists" +msgstr "郵遞清單" + +#: debianmemberportfolio/views.py:76 +msgid "lists.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:77 +msgid "lists.a.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:78 +msgid "gmane" +msgstr "gmane" + +#: debianmemberportfolio/views.py:81 +msgid "Files" +msgstr "檔案" + +#: debianmemberportfolio/views.py:82 +msgid "people.d.o" +msgstr "" + +#: debianmemberportfolio/views.py:83 +msgid "oldpeople" +msgstr "" + +#: debianmemberportfolio/views.py:84 debianmemberportfolio/views.py:93 +msgid "Alioth" +msgstr "" + +#: debianmemberportfolio/views.py:87 +msgid "Membership" +msgstr "" + +#: debianmemberportfolio/views.py:88 +msgid "NM" +msgstr "" + +#: debianmemberportfolio/views.py:89 +msgid "DB information via finger" +msgstr "" + +#: debianmemberportfolio/views.py:90 +msgid "DB information via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:91 +msgid "FOAF profile" +msgstr "" + +#: debianmemberportfolio/views.py:92 +msgid "Salsa" +msgstr "" + +#: debianmemberportfolio/views.py:94 +msgid "Wiki" +msgstr "" + +#: debianmemberportfolio/views.py:95 +msgid "Forum" +msgstr "" + +#: debianmemberportfolio/views.py:98 +msgid "Miscellaneous" +msgstr "" + +#: debianmemberportfolio/views.py:99 +msgid "debtags" +msgstr "" + +#: debianmemberportfolio/views.py:100 +msgid "Planet Debian (name)" +msgstr "" + +#: debianmemberportfolio/views.py:101 +msgid "Planet Debian (username)" +msgstr "" + +#: debianmemberportfolio/views.py:102 +msgid "links" +msgstr "" + +#: debianmemberportfolio/views.py:103 +msgid "Debian website" +msgstr "" + +#: debianmemberportfolio/views.py:104 +msgid "Debian search" +msgstr "" + +#: debianmemberportfolio/views.py:105 +msgid "GPG public key via finger" +msgstr "" + +#: debianmemberportfolio/views.py:106 +msgid "GPG public key via HTTP" +msgstr "" + +#: debianmemberportfolio/views.py:107 +msgid "NM, AM participation" +msgstr "" + +#: debianmemberportfolio/views.py:108 +msgid "Contribution information" +msgstr "" + +#: debianmemberportfolio/views.py:109 +msgid "Repology information" +msgstr "" + +#: debianmemberportfolio/views.py:112 +msgid "Information reachable via ssh (for Debian Members)" +msgstr "" + +#: debianmemberportfolio/views.py:113 +msgid "owned debian.net domains" +msgstr "" + +#: debianmemberportfolio/views.py:114 +msgid "" +"MIA database " +"information" +msgstr "" + +#: debianmemberportfolio/views.py:116 +msgid "Group membership information" +msgstr "" + +#: debianmemberportfolio/views.py:119 +msgid "Ubuntu" +msgstr "" + +#: debianmemberportfolio/views.py:120 +msgid "Available patches from Ubuntu" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:43 +msgid "Email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:44 +msgid "Name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:45 +msgid "GPG fingerprint" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:46 +msgid "Debian user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:47 +msgid "Non Debian email address" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:48 +msgid "Salsa user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:49 +msgid "Alioth user name" +msgstr "" + +#: debianmemberportfolio/model/urlbuilder.py:110 +#: debianmemberportfolio/model/urlbuilder.py:114 +#, python-format +msgid "Missing input: %s" +msgstr "" + +#: debianmemberportfolio/templates/base.html:24 +#: debianmemberportfolio/templates/base.html:31 +msgid "Debian Member Portfolio Service" +msgstr "" + +#: debianmemberportfolio/templates/base.html:30 +msgid "Debian Logo" +msgstr "" + +#: debianmemberportfolio/templates/base.html:32 +msgid "" +"This service has been inspired by Stefano Zacchiroli's DDPortfolio page in the Debian Wiki. You can " +"create a set of customized links leading to a Debian Member's or package " +"maintainer's information regarding Debian." +msgstr "" + +#: debianmemberportfolio/templates/base.html:39 +msgid "AGPL - Free Software" +msgstr "" + +#: debianmemberportfolio/templates/base.html:40 +#, python-format +msgid "" +"The service is available under the terms of the GNU Affero General Public License as published by " +"the Free Software Foundation, either version 3 of the License, or (at your " +"option) any later version. You can browse the source code or clone it from %(cloneurl)s using git. If you want to translate this service to " +"your language you can contribute at Weblate." +msgstr "" + +#: debianmemberportfolio/templates/base.html:41 +msgid "Copyright © 2009-2018 Jan Dittberner" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:22 +msgid "Enter your personal information" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:29 +msgid "Debian Member Portfolio" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:31 +msgid "Email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:40 +msgid "Show all form fields" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:43 +msgid "Name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:50 +msgid "GPG fingerprint:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:57 +msgid "Debian user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:64 +msgid "Non Debian email address:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:71 +msgid "Salsa user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:78 +msgid "Alioth user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:85 +msgid "Wiki user name:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:92 +msgid "Forum user id:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:99 +msgid "Output format:" +msgstr "" + +#: debianmemberportfolio/templates/showform.html:106 +msgid "Build Debian Member Portfolio URLs" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:21 +msgid "Your personal links" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:25 +msgid "Debian Member Porfolio" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "Usage" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:28 +msgid "URL" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:38 +msgid "Error during URL creation:" +msgstr "" + +#: debianmemberportfolio/templates/showurls.html:59 +msgid "Restart" +msgstr "" diff --git a/debianmemberportfolio/views.py b/debianmemberportfolio/views.py new file mode 100644 index 0000000..15df188 --- /dev/null +++ b/debianmemberportfolio/views.py @@ -0,0 +1,220 @@ +# -*- python -*- +# -*- coding: utf-8 -*- +# +# Debian Member Portfolio Service views +# +# Copyright © 2015-2020 Jan Dittberner +# +# This file is part of the Debian Member Portfolio Service. +# +# Debian Member Portfolio Service is free software: you can redistribute it +# and/or modify it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# Debian Member Portfolio Service is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero +# General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +import json +import logging + +from debianmemberportfolio import app, babel +from flask import g, make_response, request, render_template, abort +# noinspection PyPep8Naming +from flask_babel import lazy_gettext as N_ +from config import LANGUAGES +from .forms import DeveloperData, DeveloperDataRequest +from .model import dddatabuilder +from .model.urlbuilder import build_urls + +log = logging.getLogger(__name__) + +#: This dictionary defines groups of labeled portfolio items. +_LABELS = { + 'overview': { + 'label': N_('Overview'), + 'ddpo': N_("Debian Member's Package Overview"), + 'alladdresses': N_("""Debian Member's Package Overview +... showing all email addresses"""), + }, + 'bugs': { + 'label': N_('Bugs'), + 'received': N_('''bugs received +(note: co-maintainers not listed, see \ +#430986)'''), + 'reported': N_('bugs reported'), + 'usertags': N_('user tags'), + 'searchall': N_('all messages (i.e., full text search for \ +developer name on all bug logs)'), + 'wnpp': N_('WNPP'), + 'correspondent': N_('correspondent for bugs'), + 'graph': N_('one year open bug history graph'), + }, + 'build': { + 'label': N_('Build'), + 'buildd': N_('buildd.d.o'), + 'igloo': N_('igloo'), + }, + 'qa': { + 'label': N_('Quality Assurance'), + 'dmd': N_('maintainer dashboard'), + 'lintian': N_('lintian reports'), + 'lintianfull': N_('full lintian reports (i.e. including \ +"info"-level messages)'), + 'piuparts': N_('piuparts'), + 'patchtracker': N_('Debian patch tracking system'), + 'duck': N_('Debian Url ChecKer'), + 'janitor': N_('Debian Janitor'), + }, + 'lists': { + 'label': N_('Mailing Lists'), + 'dolists': N_('lists.d.o'), + 'adolists': N_('lists.a.d.o'), + }, + 'files': { + 'label': N_('Files'), + 'people': N_('people.d.o'), + 'oldpeople': N_('oldpeople'), + }, + 'membership': { + 'label': N_('Membership'), + 'nm': N_('NM'), + 'dbfinger': N_('DB information via finger'), + 'db': N_('DB information via HTTP'), + 'webid': N_('FOAF profile'), + 'salsa': N_('Salsa'), + 'wiki': N_('Wiki'), + 'forum': N_('Forum'), + }, + 'miscellaneous': { + 'label': N_('Miscellaneous'), + 'debtags': N_('debtags'), + 'planetname': N_('Planet Debian (name)'), + 'planetuser': N_('Planet Debian (username)'), + 'links': N_('links'), + 'website': N_('Debian website'), + 'search': N_('Debian search'), + 'gpgfinger': N_('GPG public key via finger'), + 'gpgweb': N_('GPG public key via HTTP'), + 'nm': N_('NM, AM participation'), + 'contrib': N_('Contribution information'), + 'repology': N_('Repology information'), + }, + 'ssh': { + 'label': N_('Information reachable via ssh (for Debian Members)'), + 'owndndoms': N_('owned debian.net domains'), + 'miainfo': N_('MIA database information'), + 'groupinfo': N_('Group membership information'), + }, + 'ubuntu': { + 'label': N_('Ubuntu'), + 'ubuntudiff': N_('Available patches from Ubuntu'), + }, +} + +#: list of field name tuples for Debian Maintainers +DM_TUPLES = (('name', 'name'), + ('gpgfp', 'gpgfp'), + ('nonddemail', 'email')) + +#: list of field name tuples for Debian Developers +DD_TUPLES = (('username', 'username'), + ('salsausername', 'username')) + + +def _get_label(section, url=None): + if section in _LABELS: + if url: + if url in _LABELS[section]: + return _LABELS[section][url] + elif 'label' in _LABELS[section]: + return _LABELS[section]['label'] + if url: + return "%s.%s" % (section, url) + return section + + +@babel.localeselector +def get_locale(): + return request.accept_languages.best_match(LANGUAGES.keys()) + + +@app.before_request +def before_request(): + g.locale = get_locale() + + +@app.route('/') +def index(): + form = DeveloperData() + return render_template('showform.html', form=form) + + +@app.route('/result') +def urllist(): + form = DeveloperData(request.values) + if form.validate(): + fields = dddatabuilder.build_data(form.data['email']) + + form_data = form.data.copy() + + if fields['type'] in (dddatabuilder.TYPE_DD, dddatabuilder.TYPE_DM): + for dmtuple in DM_TUPLES: + if not form_data[dmtuple[0]]: + form_data[dmtuple[0]] = fields[dmtuple[1]] + if fields['type'] == dddatabuilder.TYPE_DD: + for ddtuple in DD_TUPLES: + if not form_data[ddtuple[0]]: + form_data[ddtuple[0]] = fields[ddtuple[1]] + if not form_data['wikihomepage']: + log.debug('generate wikihomepage from name') + form_data['wikihomepage'] = "".join([ + part.capitalize() for part in form_data['name'].split() + ]) + + data = build_urls(form_data) + + if form_data['mode'] == 'json': + response = make_response(json.dumps(dict( + [("{}.{}".format(entry[1], entry[2].name), entry[3]) + for entry in data if entry[0] == 'url']))) + response.headers['Content-Type'] = 'application/json' + return response + + for entry in data: + if entry[0] in ('url', 'error'): + entry.append(_get_label(entry[1], entry[2].name)) + elif entry[0] == 'section': + entry.append(_get_label(entry[1])) + + return render_template('showurls.html', urldata=data) + return render_template('showform.html', form=form) + + +@app.route('/htmlformhelper.js') +def formhelper_js(): + response = make_response(render_template('showformscript.js')) + response.headers['Content-Type'] = 'text/javascript; charset=utf-8' + return response + + +@app.route('/showformscripts/fetchdddata/') +def fetchdddata(): + form = DeveloperDataRequest(request.values) + if form.validate(): + fields = dddatabuilder.build_data(form.data['email']) + log.debug(fields) + response = make_response(json.dumps(fields)) + response.headers['Content-Type'] = 'application/json' + return response + abort( + 400, + "\n".join(["%s: %s" % (key, form.errors[key]) for key in form.errors]) + ) diff --git a/debianmemberportfolio/websetup.py b/debianmemberportfolio/websetup.py deleted file mode 100644 index e7b87af..0000000 --- a/debianmemberportfolio/websetup.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service websetup -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Setup the debianmemberportfolio application - -""" - -import logging - -from paste.deploy import appconfig -import pylons.test - -from debianmemberportfolio.config.environment import load_environment - -log = logging.getLogger(__name__) - - -def setup_config(command, filename, section, vars): - """ - Place any commands to setup debianmemberportfolio here - - """ - conf = appconfig('config:' + filename) - - if not pylons.test.pylonsapp: - load_environment(conf.global_conf, conf.local_conf) diff --git a/development.ini b/development.ini deleted file mode 100644 index db8dcc7..0000000 --- a/development.ini +++ /dev/null @@ -1,73 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons development environment -# configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -# Uncomment and replace with the address which should receive any error reports -#email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 127.0.0.1 -port = 5000 - -[app:main] -use = egg:debianmemberportfolio -full_stack = true -static_files = true - -cache_dir = %(here)s/data -beaker.session.key = debianmemberportfolio -beaker.session.secret = somesecret - -# If you'd like to fine-tune the individual locations of the cache data dirs -# for the Cache data, or the Session saves, un-comment the desired settings -# here: -#beaker.cache.data_dir = %(here)s/data/cache -#beaker.session.data_dir = %(here)s/data/sessions - -# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* -# Debug mode will enable the interactive debugging tool, allowing ANYONE to -# execute malicious code after an exception is raised. -#set debug = false - - -# Logging configuration -[loggers] -keys = root, routes, debianmemberportfolio - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[logger_routes] -level = INFO -handlers = -qualname = routes.middleware -# "level = DEBUG" logs the route matched and routing variables. - -[logger_debianmemberportfolio] -level = DEBUG -handlers = -qualname = debianmemberportfolio - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s -datefmt = %H:%M:%S diff --git a/docs/source/conf.py b/docs/source/conf.py index b545f06..d715c3e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -33,27 +33,21 @@ sys.path.append( extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] # Add any paths that contain templates here, relative to this directory. -templates_path = ['.templates'] - -# The suffix of source filenames. -source_suffix = '.rst' +templates_path = ['_templates'] # The encoding of source files. #source_encoding = 'utf-8' -# The master toctree document. -master_doc = 'index' - # General information about the project. -project = u'Debian Member Portfolio Service' -copyright = u'2009-2015, Jan Dittberner' +project = 'Debian Member Portfolio Service' +copyright = '2009-2020, Jan Dittberner' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '0.4.2' +version = '0.6.4' # The full version, including alpha/beta/rc tags. release = version @@ -61,106 +55,27 @@ release = version # for a list of supported languages. language = 'en' -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = [] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' -# Options for HTML output # ----------------------- -# The style sheet to use for HTML and HTML Help pages. A file of that name -# must exist either in Sphinx' static/ path, or in one of the custom paths -# given in html_static_path. -html_style = 'default.css' - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['.static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} +html_static_path = ['_static'] # If false, no module index is generated. html_use_modindex = False # If false, no index is generated. #html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, the reST sources are included in the HTML build as _sources/. -#html_copy_source = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' +html_theme = 'alabaster' # Output file base name for HTML help builder. htmlhelp_basename = 'DebianMemberPortfolioServicedoc' - # Options for LaTeX output # ------------------------ @@ -176,8 +91,8 @@ htmlhelp_basename = 'DebianMemberPortfolioServicedoc' latex_documents = [ ('index', 'DebianMemberPortfolioService.tex', - ur'Debian Member Portfolio Service Documentation', - ur'Jan Dittberner', + 'Debian Member Portfolio Service Documentation', + 'Jan Dittberner', 'manual'), ] diff --git a/docs/source/devdocs.rst b/docs/source/devdocs.rst index 73b0626..01b77ba 100644 --- a/docs/source/devdocs.rst +++ b/docs/source/devdocs.rst @@ -1,16 +1,15 @@ Development of Debian Member Portfolio Service ============================================== -The Debian Member Portfolio Service is implemented in `Python -`_ using the `Pylons -`_ web application -framework. +The Debian Member Portfolio Service is implemented in `Python 3 +`_ using the `Flask `_ web +application framework. The following sections describe how to setup a local development environment for the Debian Member Portfolio Service. All instructions assume that you work on a Debian system. You should use Python -2.7 for development. +3 for development. Setup of a local development ---------------------------- @@ -22,53 +21,48 @@ To start working on the source code you need to have `git`_ installed:: .. _git: http://www.git-scm.com/ The canonical git repository for the Debian Member Portfolio Service is -available at http://debianstuff.dittberner.info/git/debianmemberportfolio.git. +available at https://debianstuff.dittberner.info/git/debianmemberportfolio.git. To get a clone of the source code you change to a directory of your choice and invoke git clone:: cd ~/src - git clone http://debianstuff.dittberner.info/git/debianmemberportfolio.git + git clone https://debianstuff.dittberner.info/git/debianmemberportfolio.git -You should use `virtualenv`_ to separate the development environment from your +You should use `venv`_ to separate the development environment from your system wide Python installation. You can install virtualenv using:: - sudo aptitude install python-virtualenv + sudo aptitude install python3-venv -.. _virtualenv: https://pypi.python.org/pypi/virtualenv +.. _venv: https://docs.python.org/3/library/venv.html -When you have :command:`virtualenv` installed you should create a virtual +When you have :command:`pyvenv` installed you should create a virtual environment for Debian Member Portfolio Service development and install the requirements using `pip `_:: mkdir ~/.virtualenvs - virtualenv --distribute ~/.virtualenvs/dmportfolio + pyvenv ~/.virtualenvs/dmportfolio . ~/.virtualenvs/dmportfolio/bin/activate cd ~/src/debianmemberportfolio - pip install -r jessiereq.pip + pip install -r stretchreq.pip .. note:: The Debian Member Portfolio Service instance at http://portfolio.debian.net/ - is running on a Debian Jessie server, therefore :file:`jessiereq.pip` + is running on a Debian Stretch server, therefore :file:`stretchreq.pip` contains dependency versions matching that Debian release. The dependency download and installation into the virtual environment takes some time. -After you have your virtual environment ready you need to setup the project for -development:: - - python setup.py develop - Debian Member Portfolio Service needs the JQuery JavaScript library to function properly. The JQuery library is not included in the git clone and must be copied into the subdirectory -:file:`debianmemberportfolio/public/javascript/jquery`. On Debian systems you +:file:`debianmemberportfolio/static/javascript/jquery`. On Debian systems you can install the package libjs-jquery and place a symlink to the directory -:file:`/usr/share/javascript` into :file:`debianmemberportfolio/public`: :: +:file:`/usr/share/javascript` into :file:`debianmemberportfolio/static`: :: sudo aptitude install libjs-jquery - ln -s /usr/share/javascript debianmemberportfolio/public + ln -s /usr/share/javascript debianmemberportfolio/static Prepare for first startup ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -93,21 +87,19 @@ When you have both installed you can run:: The first synchronizes the keyrings in :file:`$HOME/debian/keyring.debian.org` with files on the `keyring.debian.org `_ host. And the second generates a key/value database in -:file:`debianmemberportfolio/model/keyringcache` that is used by the code. +:file:`debianmemberportfolio/model/keyringcache.db` that is used by the code. Run a development server ~~~~~~~~~~~~~~~~~~~~~~~~ -Pylons uses PasteScript to run a development server. You can run a development -server using:: +You can run a development server using:: - paster serve --reload development.ini + python3 run.py The output of this command should look like the following:: - Starting subprocess with file monitor - Starting server in PID 31377. - serving on http://127.0.0.1:5000 + * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) + * Restarting with stat You can now access your development server at the URL that is printed by the command. @@ -122,21 +114,17 @@ Add new URL Debian Member Portfolio Service uses a ini style configuration file :file:`debianmemberportfolio/model/portfolio.ini` to configure the generated URL patterns. The actual URL generation is done in -:py:class:`~debianmemberportfolio.controllers.portfolio.DdportfolioController` -in the -:py:meth:`~debianmemberportfolio.controllers.portfolio.DdportfolioController.urllist` -method. +:py:func:`~debianmemberportfolio.views.urllist`. If you want to add a new URL type you have to add a line in -:file:`portfolio.ini` and an entry in -:py:class:`~debianmemberportfolio.controllers.portfolio.DdportfolioController`'s -:py:attr:`~debianmemberportfolio.controllers.portfolio.DdportfolioController._LABELS` -dictionary. The top level dictionary keys correspond to sections in the ini -file. The dictionary values are dictionaries themselves that contain a special -key ``label`` that defines the label of the section in the output and keys for -each entry to be rendered in that section. The values in these sub-dictionaries -are strings marked for translation using the :py:func:`~pylons.i18n._` function from -:py:mod:`pylons.i18n`. +:file:`portfolio.ini` and an entry in :py:mod:`~debianmemberportfolio.views`'s +:py:attr:`~debianmemberportfolio.views._LABELS` dictionary. The top level +dictionary keys correspond to sections in the ini file. The dictionary values +are dictionaries themselves that contain a special key ``label`` that defines +the label of the section in the output and keys for each entry to be rendered +in that section. The values in these sub-dictionaries are strings marked for +translation using the :py:func:`~flask_babel.lazy_gettext` function from +:py:mod:`flask_babel`. The patterns in :file:`portfolio.ini` can contain the following placeholders that are filled at runtime: @@ -144,24 +132,23 @@ that are filled at runtime: ================== ======================================== Placeholder Replacement ================== ======================================== -%(aliothusername)s user name on `alioth.debian.org`_ +%(salsausername)s user name on `salsa.debian.org`_ %(email)s email address (URL encoded) %(emailnoq)s email address %(firstchar)s first character of the email address -%(forumsid)d forum user id +%(forumsid)s forum user id %(gpgfp)s GNUPG/PGP key fingerprint %(name)s full name (i.e. John Smith) %(username)s Debian user name %(wikihomepage)s full name in camel case (i.e. JohnSmith) ================== ======================================== -.. _alioth.debian.org: https://alioth.debian.org/ +.. _salsa.debian.org: https://salsa.debian.org/ The replacement of placeholders is performed in the -:py:meth:`~debianmemberportfolio.controllers.portfolio.DdportfolioController.urllist` -method. And uses data from the Debian keyring. Access to the pre-parsed keyring -data is performed using the -:py:func:`~debianmemberportfolio.model.dddatabuilder.build_data` function of -the module :py:mod:`debianmemberportfolio.model.dddatabuilder`, which uses +:py:func:`~debianmemberportfolio.views.urllist` function. And uses data from +the Debian keyring. Access to the pre-parsed keyring data is performed using +the :py:func:`~debianmemberportfolio.model.dddatabuilder.build_data` function +of the module :py:mod:`debianmemberportfolio.model.dddatabuilder`, which uses several helper functions from :py:mod:`debianmemberportfolio.model.keyfinder` to access the key information. diff --git a/docs/source/sourcecode.rst b/docs/source/sourcecode.rst index 0755a34..1c5dd88 100644 --- a/docs/source/sourcecode.rst +++ b/docs/source/sourcecode.rst @@ -4,58 +4,16 @@ Source documentation The sections below contain mostly autogenerated documentation of the source code of the Debian Member Portfolio Service. -Controllers ------------ +Forms +----- -.. automodule:: debianmemberportfolio.controllers +.. automodule:: debianmemberportfolio.forms :members: -portfolio controller -~~~~~~~~~~~~~~~~~~~~ +Views +----- -.. automodule:: debianmemberportfolio.controllers.portfolio - :members: - -error controller -~~~~~~~~~~~~~~~~ - -.. automodule:: debianmemberportfolio.controllers.error - :members: - -showformscripts controller -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. automodule:: debianmemberportfolio.controllers.showformscripts - :members: - -template controller -~~~~~~~~~~~~~~~~~~~ - -.. automodule:: debianmemberportfolio.controllers.template - :members: - -Library code ------------- - -.. automodule:: debianmemberportfolio.lib - :members: - -app_globals -~~~~~~~~~~~ - -.. automodule:: debianmemberportfolio.lib.app_globals - :members: - -base -~~~~ - -.. automodule:: debianmemberportfolio.lib.base - :members: - -helpers -~~~~~~~ - -.. automodule:: debianmemberportfolio.lib.helpers +.. automodule:: debianmemberportfolio.views :members: Model @@ -70,12 +28,6 @@ dddatabuilder .. automodule:: debianmemberportfolio.model.dddatabuilder :members: -form -~~~~ - -.. automodule:: debianmemberportfolio.model.form - :members: - keyfinder ~~~~~~~~~ diff --git a/jessiereq.pip b/jessiereq.pip deleted file mode 100644 index cb7127d..0000000 --- a/jessiereq.pip +++ /dev/null @@ -1,18 +0,0 @@ -Babel==1.3 -Beaker==1.6.4 -FormEncode==1.2.6 -Mako==1.0.0 -MarkupSafe==0.23 -Paste==1.7.5.1 -PasteDeploy==1.5.2 -PasteScript==1.7.5 -Pygments==2.0.1 -Pylons==1.0.1 -Routes==2.0 -Tempita==0.5.2 -WebError==0.10.3 -WebHelpers==1.3 -WebOb==1.4 -WebTest==2.0.16 -nose==1.3.4 -simplejson==3.6.5 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..db22cd6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +Flask==0.12.2 +Jinja2==2.9.6 +MarkupSafe==1.0 +Werkzeug==0.12.2 +itsdangerous==0.24 +Babel==2.5.0 +Flask-Babel==0.11.2 +pytz==2017.2 +speaklater==1.3 +Flask-WTF==0.14.2 +WTForms==2.1 diff --git a/debianmemberportfolio/config/__init__.py b/run.py old mode 100644 new mode 100755 similarity index 77% rename from debianmemberportfolio/config/__init__.py rename to run.py index 7900219..dca85bb --- a/debianmemberportfolio/config/__init__.py +++ b/run.py @@ -1,9 +1,10 @@ -# -*- python -*- +#!/usr/bin/env python3 # -*- coding: utf-8 -*- +# -*- python -*- # -# Debian Member Portfolio Service config package +# Debian Member Portfolio Service Flask runner # -# Copyright © 2009-2014 Jan Dittberner +# Copyright © 2015 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -20,3 +21,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # +from debianmemberportfolio import app + +if __name__ == '__main__': + app.debug = True + app.run() diff --git a/setup.cfg b/setup.cfg index da36c32..00c4a19 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,29 +12,28 @@ doc-dir=docs/html make-dirs=1 [nosetests] -with-pylons = test.ini cover-package = debianmemberportfolio # Babel configuration [compile_catalog] -domain = debianmemberportfolio -directory = debianmemberportfolio/i18n +domain = messages +directory = debianmemberportfolio/translations statistics = true [extract_messages] charset = UTF-8 add_comments = TRANSLATORS: -output_file = debianmemberportfolio/i18n/debianmemberportfolio.pot +output_file = messages.pot width = 80 msgid_bugs_address = jan@dittberner.info [init_catalog] -domain = debianmemberportfolio -input_file = debianmemberportfolio/i18n/debianmemberportfolio.pot -output_dir = debianmemberportfolio/i18n +domain = messages +input_file = messages.pot +output_dir = debianmemberportfolio/translations [update_catalog] -domain = debianmemberportfolio -input_file = debianmemberportfolio/i18n/debianmemberportfolio.pot -output_dir = debianmemberportfolio/i18n +domain = messages +input_file = messages.pot +output_dir = debianmemberportfolio/translations previous = true diff --git a/setup.py b/setup.py index 0f44648..314736c 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # Debian Member Portfolio Service setup -# Copyright © 2009-2015 Jan Dittberner +# Copyright © 2009-2020 Jan Dittberner # # This file is part of the Debian Member Portfolio Service. # @@ -22,13 +22,14 @@ try: from setuptools import setup, find_packages except ImportError: + # noinspection PyUnresolvedReferences from ez_setup import use_setuptools use_setuptools() from setuptools import setup, find_packages setup( name='debianmemberportfolio', - version='0.4.2', + version='0.6.4', description='service to create Debian Member Portfolio URLs', long_description="""This is a service implementation that returns a set of personalized URLs as outlined in https://wiki.debian.org/DDPortfolio. It @@ -46,22 +47,16 @@ setup( author_email='jan@dittberner.info', url='http://debian-stuff.dittberner.info/debianmemberportfolio', license='AGPL-3.0+', - install_requires=["Pylons>=1.0", 'babel>=0.9.6'], + install_requires=["Flask>=0.12.2", 'Babel>=2.5.0', 'Flask-Babel>=0.11.2', 'wtforms'], packages=find_packages(exclude=['ez_setup']), include_package_data=True, test_suite='nose.collector', package_data={'debianmemberportfolio': - ['*.ini', 'i18n/*/LC_MESSAGES/*.mo']}, + ['*.ini', 'translations/*/LC_MESSAGES/*.mo']}, message_extractors={'debianmemberportfolio': [ ('**.py', 'python', None), - ('templates/**.mako', 'mako', None), - ('public/**', 'ignore', None)]}, + ('templates/**.html', 'jinja2', None), + ('templates/**.js', 'jinja2', None), + ('static/**', 'ignore', None)]}, zip_safe=False, - entry_points=""" - [paste.app_factory] - main = debianmemberportfolio.config.middleware:make_app - - [paste.app_install] - main = pylons.util:PylonsInstaller - """, ) diff --git a/stretch.pip b/stretch.pip new file mode 100644 index 0000000..a4fa1d3 --- /dev/null +++ b/stretch.pip @@ -0,0 +1,10 @@ +Flask==0.12 +Jinja2==2.8 +MarkupSafe==0.23 +Werkzeug==0.11.15 +itsdangerous==0.24 +Babel==2.3.4 +Flask-Babel==0.11.1 +pytz==2016.7 +Flask-WTF==0.12 +WTForms==2.1 diff --git a/test.ini b/test.ini deleted file mode 100644 index bbef5d2..0000000 --- a/test.ini +++ /dev/null @@ -1,21 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons testing environment configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -# Uncomment and replace with the address which should receive any error reports -#email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 127.0.0.1 -port = 5000 - -[app:main] -use = config:development.ini - -# Add additional test specific configuration options as necessary. diff --git a/wheezyreq.pip b/wheezyreq.pip deleted file mode 100644 index f177096..0000000 --- a/wheezyreq.pip +++ /dev/null @@ -1,20 +0,0 @@ -Babel==0.9.6 -Beaker==1.6.3 -FormEncode==1.2.4 -Mako==0.7.0 -MarkupSafe==0.15 -Paste==1.7.5.1 -PasteDeploy==1.5.0 -PasteScript==1.7.5 -Pygments==1.5 -Pylons==1.0 -Routes==1.13 -Tempita==0.5.1 -WebError==0.10.3 -WebHelpers==1.3 -WebOb==1.1.1 -WebTest==1.3.4 -argparse==1.2.1 -nose==1.1.2 -simplejson==2.5.2 -wsgiref==0.1.2