You've already forked snikket-web-portal
Compare commits
97 Commits
feature/ht
...
fix/role-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fcfcdbeb23 | ||
|
|
fd566b7f30 | ||
|
|
2762304ae8 | ||
|
|
49bbc3ab09 | ||
|
|
8f1f80b7d7 | ||
|
|
13bc283a3e | ||
|
|
abc0af3918 | ||
|
|
0aff4fc99d | ||
|
|
40562d16f6 | ||
|
|
48a4a8f587 | ||
|
|
664112bf53 | ||
|
|
2dfc39e757 | ||
|
|
31b743a97f | ||
|
|
14a335bb06 | ||
|
|
6c8c213a88 | ||
|
|
2e224d96ce | ||
|
|
b70cb57497 | ||
|
|
124e0ce145 | ||
|
|
f2c79044e0 | ||
|
|
13bc4bb227 | ||
|
|
f1351eb5cc | ||
|
|
41573569af | ||
|
|
b1f3026b8a | ||
|
|
6794314a59 | ||
|
|
077e957a00 | ||
|
|
4902941145 | ||
|
|
5222c8eafe | ||
|
|
03ca7ac5bb | ||
|
|
56cee8bab6 | ||
|
|
b36fc0d5ac | ||
|
|
68f72743c5 | ||
|
|
8741efb2c4 | ||
|
|
a0e8933b64 | ||
|
|
edb3154127 | ||
|
|
eb22688302 | ||
|
|
c278d4ace9 | ||
|
|
bbfe8624ef | ||
|
|
8bcf619cef | ||
|
|
73fda3d623 | ||
|
|
846a5e49fd | ||
|
|
b3ff7f04b5 | ||
|
|
0ac4ab8142 | ||
|
|
d4a38f5049 | ||
|
|
344a4d3e93 | ||
|
|
57f1047526 | ||
|
|
b036caa85e | ||
|
|
08845cb9f0 | ||
|
|
6aa6e12680 | ||
|
|
4bd58c1104 | ||
|
|
a998348804 | ||
|
|
20abe4b903 | ||
|
|
a1ecb4ce80 | ||
|
|
b84b84b394 | ||
|
|
4f7a4fb5d4 | ||
|
|
6d50b1c2c7 | ||
|
|
34a23f8505 | ||
|
|
ebcb083b6a | ||
|
|
2f0b38b149 | ||
|
|
6244ad5c8a | ||
|
|
07fa1f0abd | ||
|
|
3d22458f9b | ||
|
|
3b768fe220 | ||
|
|
19cf82e894 | ||
|
|
fe0316708b | ||
|
|
81b0a58dc9 | ||
|
|
08aea153f9 | ||
|
|
958b3365f7 | ||
|
|
05caf38d37 | ||
|
|
390ecded42 | ||
|
|
f6395d4d9c | ||
|
|
32179c72cd | ||
|
|
3cb8185b1a | ||
|
|
481379d03f | ||
|
|
275b302531 | ||
|
|
e18f727db0 | ||
|
|
f7429413cd | ||
|
|
d5a46b69a6 | ||
|
|
51f2ebbd13 | ||
|
|
b4e6ee8943 | ||
|
|
52d8047546 | ||
|
|
aed9ad1cde | ||
|
|
b545c137b1 | ||
|
|
47642dc384 | ||
|
|
5d7183a0b8 | ||
|
|
c1cf6ab1e5 | ||
|
|
aee53a2e1a | ||
|
|
3a81a0140b | ||
|
|
5b4d4ddd36 | ||
|
|
28ff19c19c | ||
|
|
8e3837f704 | ||
|
|
4af78f635e | ||
|
|
98e7de3166 | ||
|
|
61c71b2145 | ||
|
|
6b35e9a259 | ||
|
|
58c2112fec | ||
|
|
c856afee82 | ||
|
|
c8356a8e9e |
25
.github/workflows/main.yaml
vendored
25
.github/workflows/main.yaml
vendored
@@ -45,11 +45,34 @@ jobs:
|
||||
- name: Install
|
||||
run: |
|
||||
set -euo pipefail
|
||||
pip install flake8
|
||||
pip install flake8 flake8-print
|
||||
- name: Linting
|
||||
run: |
|
||||
python -m flake8 snikket_web
|
||||
|
||||
translation-check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: 'lint: i18n'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- name: Install
|
||||
run: |
|
||||
set -euo pipefail
|
||||
pip install flask-babel
|
||||
- name: Linting
|
||||
run: |
|
||||
sed -ri '/^"POT-Creation-Date: /d' snikket_web/translations/messages.pot
|
||||
git add snikket_web/translations/messages.pot
|
||||
make extract_translations
|
||||
sed -ri '/^"POT-Creation-Date: /d' snikket_web/translations/messages.pot
|
||||
git diff --exit-code --color -- snikket_web/translations/messages.pot
|
||||
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
52
Dockerfile
52
Dockerfile
@@ -1,7 +1,12 @@
|
||||
FROM debian:buster-slim
|
||||
FROM debian:bullseye-slim AS build
|
||||
|
||||
ARG BUILD_SERIES=dev
|
||||
ARG BUILD_ID=0
|
||||
RUN set -eu; \
|
||||
export DEBIAN_FRONTEND=noninteractive ; \
|
||||
apt-get update ; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3 python3-pip python3-setuptools python3-wheel \
|
||||
libpython3-dev \
|
||||
make build-essential;
|
||||
|
||||
COPY requirements.txt /opt/snikket-web-portal/requirements.txt
|
||||
COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt
|
||||
@@ -12,31 +17,42 @@ COPY babel.cfg /opt/snikket-web-portal/babel.cfg
|
||||
WORKDIR /opt/snikket-web-portal
|
||||
|
||||
RUN set -eu; \
|
||||
export DEBIAN_FRONTEND=noninteractive ; \
|
||||
apt-get update ; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3 python3-pip python3-setuptools python3-wheel \
|
||||
libpython3-dev \
|
||||
make build-essential \
|
||||
netcat \
|
||||
; \
|
||||
pip3 install -r requirements.txt; \
|
||||
pip3 install -r build-requirements.txt; \
|
||||
make; \
|
||||
pip3 uninstall -yr build-requirements.txt; \
|
||||
apt-get remove -y build-essential make libpython3-dev; \
|
||||
apt-get autoremove -y; \
|
||||
pip3 install hypercorn; \
|
||||
rm -rf /root/.cache; \
|
||||
apt-get clean ; rm -rf /var/lib/apt/lists
|
||||
make;
|
||||
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
|
||||
ARG BUILD_SERIES=dev
|
||||
ARG BUILD_ID=0
|
||||
|
||||
COPY docker/env.py /etc/snikket-web-portal/env.py
|
||||
|
||||
ENV SNIKKET_WEB_PYENV=/etc/snikket-web-portal/env.py
|
||||
|
||||
ENV SNIKKET_WEB_PROSODY_ENDPOINT=http://127.0.0.1:5280/
|
||||
|
||||
COPY requirements.txt /opt/snikket-web-portal/requirements.txt
|
||||
|
||||
WORKDIR /opt/snikket-web-portal
|
||||
|
||||
RUN set -eu; \
|
||||
export DEBIAN_FRONTEND=noninteractive ; \
|
||||
apt-get update ; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3 python3-pip python3-setuptools python3-wheel build-essential libpython3-dev netcat; \
|
||||
pip3 install -r requirements.txt; \
|
||||
apt-get remove -y --autoremove build-essential libpython3-dev; \
|
||||
apt-get clean ; rm -rf /var/lib/apt/lists; \
|
||||
pip3 install hypercorn; \
|
||||
rm -rf /root/.cache;
|
||||
|
||||
HEALTHCHECK CMD nc -zv ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE:-127.0.0.1} ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT:-5765}
|
||||
|
||||
COPY --from=build /opt/snikket-web-portal/snikket_web/ /opt/snikket-web-portal/snikket_web
|
||||
COPY babel.cfg /opt/snikket-web-portal/babel.cfg
|
||||
|
||||
RUN echo "$BUILD_SERIES $BUILD_ID" > /opt/snikket-web-portal/.app_version
|
||||
|
||||
ADD docker/entrypoint.sh /entrypoint.sh
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
[python: snikket_web/**.py]
|
||||
[jinja2: snikket_web/templates/**.html]
|
||||
[jinja2: snikket_web/templates/**.j2]
|
||||
extensions=jinja2.ext.autoescape,jinja2.ext.with_
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
export SNIKKET_WEB_DOMAIN="$SNIKKET_DOMAIN"
|
||||
if [ -n "${SNIKKET_SITE_NAME:-}" ]; then
|
||||
export SNIKKET_WEB_SITE_NAME="$SNIKKET_SITE_NAME"
|
||||
fi
|
||||
|
||||
export SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE="${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE-127.0.0.1}"
|
||||
export SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT="${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT-5765}"
|
||||
|
||||
exec hypercorn -b "${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE}:${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT}" 'snikket_web:create_app()'
|
||||
exec hypercorn -b "${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE}:${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT}" --access-logfile=- --log-file=- 'snikket_web:create_app()'
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
aiohttp~=3.6
|
||||
quart~=0.11,<0.15
|
||||
flask-wtf~=0.14
|
||||
hsluv~=0.0.2
|
||||
quart~=0.17,<0.18
|
||||
flask-wtf~=1.0
|
||||
hsluv~=5.0
|
||||
flask-babel~=1.0
|
||||
email-validator~=1.1
|
||||
environ-config~=20.0
|
||||
wtforms~=3.0
|
||||
typing-extensions
|
||||
|
||||
@@ -18,6 +18,8 @@ from quart import (
|
||||
jsonify,
|
||||
)
|
||||
|
||||
import werkzeug.exceptions
|
||||
|
||||
import environ
|
||||
|
||||
from . import colour, infra
|
||||
@@ -40,7 +42,7 @@ async def proc() -> typing.Dict[str, typing.Any]:
|
||||
|
||||
try:
|
||||
user_info = await infra.client.get_user_info()
|
||||
except (aiohttp.ClientError, quart.exceptions.HTTPException):
|
||||
except (aiohttp.ClientError, werkzeug.exceptions.HTTPException):
|
||||
user_info = {}
|
||||
|
||||
return {
|
||||
@@ -105,16 +107,16 @@ async def backend_error_handler(exc: Exception) -> quart.Response:
|
||||
|
||||
|
||||
async def generic_http_error(
|
||||
exc: quart.exceptions.HTTPException,
|
||||
exc: werkzeug.exceptions.HTTPException,
|
||||
) -> quart.Response:
|
||||
return quart.Response(
|
||||
await render_template(
|
||||
"generic_http_error.html",
|
||||
status=exc.status_code,
|
||||
status=exc.code,
|
||||
description=exc.description,
|
||||
name=exc.name,
|
||||
),
|
||||
status=exc.status_code,
|
||||
status=exc.code,
|
||||
)
|
||||
|
||||
|
||||
@@ -145,14 +147,19 @@ class AppConfig:
|
||||
site_name = environ.var("")
|
||||
avatar_cache_ttl = environ.var(1800, converter=int)
|
||||
languages = environ.var([
|
||||
# Keep `en` as the first language, because it is used as a fallback
|
||||
# if the language negotiation cannot find another match. It is more
|
||||
# likely that users are able to read english (or find a suitable
|
||||
# online translator) than, for instance, danish.
|
||||
"en",
|
||||
"da",
|
||||
"de",
|
||||
"en",
|
||||
"fr",
|
||||
"id",
|
||||
"it",
|
||||
"pl",
|
||||
"sv",
|
||||
"zh_Hans_CN",
|
||||
], converter=autosplit)
|
||||
apple_store_url = environ.var(
|
||||
"https://apps.apple.com/us/app/snikket/id1545164189",
|
||||
@@ -199,19 +206,19 @@ def create_app() -> quart.Quart:
|
||||
app.context_processor(proc)
|
||||
app.register_error_handler(
|
||||
aiohttp.ClientConnectorError,
|
||||
backend_error_handler, # type:ignore
|
||||
backend_error_handler,
|
||||
)
|
||||
app.register_error_handler(
|
||||
quart.exceptions.HTTPException,
|
||||
werkzeug.exceptions.HTTPException,
|
||||
generic_http_error, # type:ignore
|
||||
)
|
||||
app.register_error_handler(
|
||||
Exception,
|
||||
generic_error_handler, # type:ignore
|
||||
generic_error_handler,
|
||||
)
|
||||
|
||||
@app.route("/")
|
||||
async def index() -> quart.Response:
|
||||
async def index() -> werkzeug.Response:
|
||||
if infra.client.has_session:
|
||||
return redirect(url_for('user.index'))
|
||||
|
||||
|
||||
@@ -7,10 +7,11 @@ from datetime import datetime
|
||||
|
||||
import aiohttp
|
||||
|
||||
import werkzeug.exceptions
|
||||
|
||||
import quart.flask_patch
|
||||
|
||||
import wtforms
|
||||
import wtforms.fields.html5
|
||||
|
||||
from quart import (
|
||||
Blueprint,
|
||||
@@ -63,9 +64,6 @@ async def users() -> str:
|
||||
)
|
||||
|
||||
|
||||
_LIMITED_ROLE_NAME = _("Limited")
|
||||
|
||||
|
||||
class EditUserForm(BaseForm):
|
||||
localpart = wtforms.StringField(
|
||||
_l("Login name"),
|
||||
@@ -78,10 +76,8 @@ class EditUserForm(BaseForm):
|
||||
role = wtforms.RadioField(
|
||||
_l("Access Level"),
|
||||
choices=[
|
||||
# NOTE: enable this only after something has been done which
|
||||
# actually enforces the described restrictions :).
|
||||
# ("prosody:restricted", _LIMITED_ROLE_NAME),
|
||||
("prosody:normal", _l("Normal user")),
|
||||
("prosody:restricted", _("Limited")),
|
||||
("prosody:user", _l("Normal user")),
|
||||
("prosody:admin", _l("Administrator")),
|
||||
],
|
||||
)
|
||||
@@ -97,7 +93,7 @@ class EditUserForm(BaseForm):
|
||||
|
||||
@bp.route("/user/<localpart>/", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def edit_user(localpart: str) -> typing.Union[quart.Response, str]:
|
||||
async def edit_user(localpart: str) -> typing.Union[werkzeug.Response, str]:
|
||||
target_user_info = await client.get_user_by_localpart(localpart)
|
||||
|
||||
form = EditUserForm()
|
||||
@@ -120,7 +116,7 @@ async def edit_user(localpart: str) -> typing.Union[quart.Response, str]:
|
||||
await client.update_user(
|
||||
localpart,
|
||||
display_name=form.display_name.data,
|
||||
roles=[form.role.data],
|
||||
role=form.role.data,
|
||||
)
|
||||
|
||||
await flash(
|
||||
@@ -135,7 +131,7 @@ async def edit_user(localpart: str) -> typing.Union[quart.Response, str]:
|
||||
if target_user_info.roles:
|
||||
form.role.data = target_user_info.roles[0]
|
||||
else:
|
||||
form.role.data = "prosody:normal"
|
||||
form.role.data = "prosody:user"
|
||||
|
||||
return await render_template(
|
||||
"admin_edit_user.html",
|
||||
@@ -152,7 +148,7 @@ class DeleteUserForm(BaseForm):
|
||||
|
||||
@bp.route("/user/<localpart>/delete", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def delete_user(localpart: str) -> typing.Union[str, quart.Response]:
|
||||
async def delete_user(localpart: str) -> typing.Union[str, werkzeug.Response]:
|
||||
target_user_info = await client.get_user_by_localpart(localpart)
|
||||
form = DeleteUserForm()
|
||||
if form.validate_on_submit():
|
||||
@@ -191,7 +187,7 @@ async def debug_user(localpart: str) -> typing.Union[str, quart.Response]:
|
||||
@client.require_admin_session()
|
||||
async def user_password_reset_link(
|
||||
id_: str,
|
||||
) -> typing.Union[str, quart.Response]:
|
||||
) -> typing.Union[str, werkzeug.Response]:
|
||||
invite_info = await client.get_invite_by_id(
|
||||
id_,
|
||||
)
|
||||
@@ -283,7 +279,7 @@ class InvitePost(BaseForm):
|
||||
|
||||
@bp.route("/invitations", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def invitations() -> typing.Union[str, quart.Response]:
|
||||
async def invitations() -> typing.Union[str, werkzeug.Response]:
|
||||
invites = sorted(
|
||||
(
|
||||
invite
|
||||
@@ -329,7 +325,7 @@ class InviteForm(BaseForm):
|
||||
|
||||
@bp.route("/invitation/-/new", methods=["POST"])
|
||||
@client.require_admin_session()
|
||||
async def create_invite() -> typing.Union[str, quart.Response]:
|
||||
async def create_invite() -> typing.Union[str, werkzeug.Response]:
|
||||
form = InvitePost()
|
||||
circles = await client.list_groups()
|
||||
form.circles.choices = [
|
||||
@@ -357,7 +353,7 @@ async def create_invite() -> typing.Union[str, quart.Response]:
|
||||
|
||||
@bp.route("/invitation/<id_>", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def edit_invite(id_: str) -> typing.Union[str, quart.Response]:
|
||||
async def edit_invite(id_: str) -> typing.Union[str, werkzeug.Response]:
|
||||
try:
|
||||
invite_info = await client.get_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
@@ -423,7 +419,7 @@ async def circles() -> str:
|
||||
|
||||
@bp.route("/circle/-/new", methods=["POST"])
|
||||
@client.require_admin_session()
|
||||
async def create_circle() -> typing.Union[str, quart.Response]:
|
||||
async def create_circle() -> typing.Union[str, werkzeug.Response]:
|
||||
create_form = CirclePost()
|
||||
if create_form.validate_on_submit():
|
||||
circle = await client.create_group(
|
||||
@@ -469,7 +465,7 @@ class EditCircleForm(BaseForm):
|
||||
|
||||
@bp.route("/circle/<id_>", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
|
||||
async def edit_circle(id_: str) -> typing.Union[str, werkzeug.Response]:
|
||||
async with client.authenticated_session() as session:
|
||||
try:
|
||||
circle = await client.get_group_by_id(
|
||||
@@ -547,8 +543,6 @@ async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
return redirect(url_for(".edit_circle", id_=id_))
|
||||
else:
|
||||
print(form.errors)
|
||||
|
||||
return await render_template(
|
||||
"admin_edit_circle.html",
|
||||
@@ -633,7 +627,7 @@ class AnnouncementForm(BaseForm):
|
||||
|
||||
@bp.route("/system/", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def system() -> typing.Union[str, quart.Response]:
|
||||
async def system() -> typing.Union[str, werkzeug.Response]:
|
||||
form = AnnouncementForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
@@ -664,7 +658,7 @@ async def system() -> typing.Union[str, quart.Response]:
|
||||
now = time.time()
|
||||
try:
|
||||
prosody_metrics = await client.get_system_metrics()
|
||||
except quart.exceptions.NotFound:
|
||||
except werkzeug.exceptions.NotFound:
|
||||
# server does not offer the endpoint for whatever reason -- ignore
|
||||
prosody_metrics = {}
|
||||
|
||||
@@ -687,6 +681,11 @@ async def system() -> typing.Union[str, quart.Response]:
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
try:
|
||||
metrics["prosody_uploads"] = prosody_metrics["uploads"]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
for k in list(metrics.keys()):
|
||||
if metrics[k] is None:
|
||||
# so that defaulting in jinja works
|
||||
|
||||
@@ -8,6 +8,7 @@ import quart.flask_patch # noqa:F401
|
||||
from quart import (
|
||||
current_app,
|
||||
request,
|
||||
g,
|
||||
)
|
||||
|
||||
import flask_babel
|
||||
@@ -34,6 +35,7 @@ BYTE_UNIT_SCALE_MAP = [
|
||||
|
||||
@babel.localeselector # type:ignore
|
||||
def selected_locale() -> str:
|
||||
g.language_header_accessed = True
|
||||
selected = request.accept_languages.best_match(
|
||||
current_app.config['LANGUAGES']
|
||||
) or current_app.config['LANGUAGES'][0]
|
||||
@@ -53,11 +55,14 @@ def circle_name(c: typing.Any) -> str:
|
||||
|
||||
|
||||
def format_bytes(n: float) -> str:
|
||||
scale = math.floor(math.log(n, 1024))
|
||||
try:
|
||||
scale = max(math.floor(math.log(n, 1024)), 0)
|
||||
except ValueError:
|
||||
scale = 0
|
||||
try:
|
||||
unit = BYTE_UNIT_SCALE_MAP[scale]
|
||||
factor = 1024**scale
|
||||
except ValueError:
|
||||
except IndexError:
|
||||
unit = "TiB"
|
||||
factor = 1024**4
|
||||
if factor > 1:
|
||||
@@ -65,6 +70,12 @@ def format_bytes(n: float) -> str:
|
||||
return "{} {}".format(n, unit)
|
||||
|
||||
|
||||
def add_vary_language_header(resp: quart.Response) -> quart.Response:
|
||||
if getattr(g, "language_header_accessed", False):
|
||||
resp.vary.add("Accept-Language")
|
||||
return resp
|
||||
|
||||
|
||||
def init_templating(app: quart.Quart) -> None:
|
||||
app.template_filter("repr")(repr)
|
||||
app.template_filter("format_datetime")(flask_babel.format_datetime)
|
||||
@@ -75,6 +86,7 @@ def init_templating(app: quart.Quart) -> None:
|
||||
app.template_filter("format_bytes")(format_bytes)
|
||||
app.template_filter("flatten")(flatten)
|
||||
app.template_filter("circle_name")(circle_name)
|
||||
app.after_request(add_vary_language_header)
|
||||
|
||||
|
||||
def generate_error_id() -> str:
|
||||
|
||||
@@ -10,13 +10,16 @@ from quart import (
|
||||
current_app,
|
||||
render_template,
|
||||
redirect,
|
||||
request,
|
||||
url_for,
|
||||
session as http_session,
|
||||
)
|
||||
|
||||
import werkzeug
|
||||
|
||||
import wtforms
|
||||
|
||||
from flask_babel import lazy_gettext as _l
|
||||
from flask_babel import lazy_gettext as _l, gettext
|
||||
|
||||
from .infra import client, selected_locale, BaseForm
|
||||
|
||||
@@ -26,6 +29,11 @@ bp = Blueprint("invite", __name__)
|
||||
|
||||
INVITE_SESSION_JID = "invite-session-jid"
|
||||
|
||||
MAX_IMPORT_DATA_SIZE = 5*1024*1024 # 5MB
|
||||
SUPPORTED_IMPORT_TYPES = ["application/xml", "text/xml"]
|
||||
|
||||
EIMPORTTOOBIG = _l("The account data you tried to import is too large to"
|
||||
" upload. Please contact your Snikket operator.")
|
||||
|
||||
# https://play.google.com/store/apps/details?id=org.snikket.android&referrer={uri|urlescape}&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
|
||||
|
||||
@@ -40,14 +48,14 @@ def apple_store_badge() -> str:
|
||||
|
||||
|
||||
@bp.context_processor
|
||||
def context() -> typing.Mapping[str, typing.Any]:
|
||||
def context() -> typing.Dict[str, typing.Any]:
|
||||
return {
|
||||
"apple_store_badge": apple_store_badge,
|
||||
}
|
||||
|
||||
|
||||
@bp.route("/<id_>")
|
||||
async def view_old(id_: str) -> quart.Response:
|
||||
async def view_old(id_: str) -> werkzeug.Response:
|
||||
return redirect(url_for(".view", id_=id_))
|
||||
|
||||
|
||||
@@ -96,7 +104,7 @@ async def view(id_: str) -> typing.Union[quart.Response,
|
||||
return quart.Response(
|
||||
body,
|
||||
headers={
|
||||
"Link": "<{}> rel=\"alternate\"".format(invite.xmpp_uri),
|
||||
"Link": "<{}>; rel=\"alternate\"".format(invite.xmpp_uri),
|
||||
}
|
||||
)
|
||||
|
||||
@@ -125,7 +133,7 @@ class RegisterForm(BaseForm):
|
||||
|
||||
|
||||
@bp.route("/<id_>/register", methods=["GET", "POST"])
|
||||
async def register(id_: str) -> typing.Union[str, quart.Response]:
|
||||
async def register(id_: str) -> typing.Union[str, werkzeug.Response]:
|
||||
try:
|
||||
invite = await client.get_public_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
@@ -163,6 +171,7 @@ async def register(id_: str) -> typing.Union[str, quart.Response]:
|
||||
raise
|
||||
else:
|
||||
http_session[INVITE_SESSION_JID] = jid
|
||||
await client.login(jid, form.password.data)
|
||||
return redirect(url_for(".success"))
|
||||
|
||||
return await render_template(
|
||||
@@ -192,7 +201,7 @@ class ResetForm(BaseForm):
|
||||
|
||||
|
||||
@bp.route("/<id_>/reset", methods=["GET", "POST"])
|
||||
async def reset(id_: str) -> typing.Union[str, quart.Response]:
|
||||
async def reset(id_: str) -> typing.Union[str, werkzeug.Response]:
|
||||
try:
|
||||
invite = await client.get_public_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
@@ -232,11 +241,55 @@ async def reset(id_: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
class DataImportForm(BaseForm):
|
||||
account_data_file = wtforms.FileField(
|
||||
_l("Account data file")
|
||||
)
|
||||
|
||||
action_import = wtforms.SubmitField(
|
||||
_l("Import data")
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/success", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def success() -> str:
|
||||
form = DataImportForm()
|
||||
if form.validate_on_submit():
|
||||
ok = True
|
||||
file_info = (await request.files).get(form.account_data_file.name)
|
||||
if file_info is not None:
|
||||
mimetype = file_info.mimetype
|
||||
data = file_info.stream.read()
|
||||
if len(data) > MAX_IMPORT_DATA_SIZE:
|
||||
form.account_data_file.errors.append(EIMPORTTOOBIG)
|
||||
ok = False
|
||||
elif mimetype not in SUPPORTED_IMPORT_TYPES:
|
||||
form.account_data_file.errors.append(
|
||||
# not breaking the line here to avoid extract
|
||||
# translations failing (defensive)
|
||||
gettext("The account data you tried to import is in an unknown format. Please upload an XML file in XEP-0227 format (provided format: %(mimetype)s).", mimetype=mimetype), # noqa:E501
|
||||
)
|
||||
ok = False
|
||||
elif len(data) > 0:
|
||||
await client.import_account_data(data)
|
||||
|
||||
if ok:
|
||||
# Re-render success page, this time with no import option
|
||||
return await render_template(
|
||||
"invite_success.html",
|
||||
jid=http_session.get(INVITE_SESSION_JID, ""),
|
||||
migration_success=True,
|
||||
)
|
||||
|
||||
return await render_template(
|
||||
"invite_success.html",
|
||||
jid=http_session.get(INVITE_SESSION_JID, ""),
|
||||
migration_success=False,
|
||||
form=form,
|
||||
max_import_size=MAX_IMPORT_DATA_SIZE,
|
||||
import_too_big_warning_header=_l("Error"),
|
||||
import_too_big_warning=EIMPORTTOOBIG,
|
||||
)
|
||||
|
||||
|
||||
@@ -249,5 +302,5 @@ async def reset_success() -> str:
|
||||
|
||||
|
||||
@bp.route("/-")
|
||||
async def index() -> quart.Response:
|
||||
async def index() -> werkzeug.Response:
|
||||
return redirect(url_for("index"))
|
||||
|
||||
@@ -18,6 +18,8 @@ from quart import (
|
||||
flash,
|
||||
)
|
||||
|
||||
import werkzeug.exceptions
|
||||
|
||||
import babel
|
||||
import wtforms
|
||||
|
||||
@@ -32,7 +34,7 @@ bp = quart.Blueprint("main", __name__)
|
||||
|
||||
|
||||
class LoginForm(BaseForm):
|
||||
address = wtforms.TextField(
|
||||
address = wtforms.StringField(
|
||||
_l("Address"),
|
||||
validators=[wtforms.validators.InputRequired()],
|
||||
)
|
||||
@@ -48,7 +50,7 @@ class LoginForm(BaseForm):
|
||||
|
||||
|
||||
@bp.route("/-")
|
||||
async def index() -> quart.Response:
|
||||
async def index() -> werkzeug.Response:
|
||||
return redirect(url_for("index"))
|
||||
|
||||
|
||||
@@ -56,7 +58,7 @@ ERR_CREDENTIALS_INVALID = _l("Invalid username or password.")
|
||||
|
||||
|
||||
@bp.route("/login", methods=["GET", "POST"])
|
||||
async def login() -> typing.Union[str, quart.Response]:
|
||||
async def login() -> typing.Union[str, werkzeug.Response]:
|
||||
if client.has_session and (await client.test_session()):
|
||||
return redirect(url_for('user.index'))
|
||||
|
||||
@@ -76,7 +78,7 @@ async def login() -> typing.Union[str, quart.Response]:
|
||||
password = form.password.data
|
||||
try:
|
||||
await client.login(jid, password)
|
||||
except quart.exceptions.Unauthorized:
|
||||
except werkzeug.exceptions.Unauthorized:
|
||||
form.password.errors.append(ERR_CREDENTIALS_INVALID)
|
||||
else:
|
||||
await flash(
|
||||
@@ -91,24 +93,30 @@ async def login() -> typing.Union[str, quart.Response]:
|
||||
@bp.route("/meta/about.html")
|
||||
async def about() -> str:
|
||||
version = None
|
||||
core_versions = {}
|
||||
extra_versions = {}
|
||||
|
||||
if current_app.debug or client.is_admin_session:
|
||||
version = _version.version
|
||||
extra_versions["Quart"] = quart.__version__
|
||||
try:
|
||||
core_versions["Prosody"] = await client.get_server_version()
|
||||
except werkzeug.exceptions.Unauthorized:
|
||||
core_versions["Prosody"] = "unknown"
|
||||
|
||||
if current_app.debug:
|
||||
extra_versions["aiohttp"] = aiohttp.__version__
|
||||
extra_versions["babel"] = babel.__version__
|
||||
extra_versions["wtforms"] = wtforms.__version__
|
||||
extra_versions["flask-wtf"] = flask_wtf.__version__
|
||||
try:
|
||||
extra_versions["Prosody"] = await client.get_server_version()
|
||||
except quart.exceptions.Unauthorized:
|
||||
except werkzeug.exceptions.Unauthorized:
|
||||
extra_versions["Prosody"] = "unknown"
|
||||
|
||||
return await render_template(
|
||||
"about.html",
|
||||
version=version,
|
||||
extra_versions=extra_versions,
|
||||
core_versions=core_versions,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -19,14 +19,16 @@ from quart import (
|
||||
current_app, _app_ctx_stack, session as http_session, abort, redirect,
|
||||
url_for,
|
||||
)
|
||||
import quart.exceptions
|
||||
import quart
|
||||
|
||||
import werkzeug.exceptions
|
||||
|
||||
from . import xmpputil
|
||||
from .xmpputil import split_jid
|
||||
|
||||
|
||||
SCOPE_DEFAULT = "prosody:scope:default"
|
||||
SCOPE_ADMIN = "prosody:scope:admin"
|
||||
SCOPE_DEFAULT = "prosody:user"
|
||||
SCOPE_ADMIN = "prosody:admin"
|
||||
|
||||
|
||||
T = typing.TypeVar("T")
|
||||
@@ -59,12 +61,18 @@ class AdminUserInfo:
|
||||
cls,
|
||||
data: typing.Mapping[str, typing.Any],
|
||||
) -> "AdminUserInfo":
|
||||
try:
|
||||
roles: typing.Optional[typing.List[str]] = [data["role"]]
|
||||
assert roles is not None # make mypy happy
|
||||
roles.extend(data.get("secondary_roles", []))
|
||||
except KeyError:
|
||||
roles = data.get("roles")
|
||||
return cls(
|
||||
localpart=data["username"],
|
||||
display_name=data.get("display_name") or None,
|
||||
email=data.get("email") or None,
|
||||
phone=data.get("phone") or None,
|
||||
roles=data.get("roles"),
|
||||
roles=roles,
|
||||
)
|
||||
|
||||
|
||||
@@ -296,6 +304,9 @@ class ProsodyClient:
|
||||
def _public_v1_endpoint(self, subpath: str) -> str:
|
||||
return "{}/register_api{}".format(self._endpoint_base, subpath)
|
||||
|
||||
def _xep227_endpoint(self, subpath: str) -> str:
|
||||
return "{}/xep227{}".format(self._endpoint_base, subpath)
|
||||
|
||||
async def _oauth2_bearer_token(self,
|
||||
session: aiohttp.ClientSession,
|
||||
jid: str,
|
||||
@@ -383,16 +394,16 @@ class ProsodyClient:
|
||||
) -> typing.Callable[
|
||||
[typing.Callable[..., typing.Awaitable[T]]],
|
||||
typing.Callable[..., typing.Awaitable[
|
||||
typing.Union[T, quart.Response]]]]:
|
||||
typing.Union[T, quart.Response, werkzeug.Response]]]]:
|
||||
def decorator(
|
||||
f: typing.Callable[..., typing.Awaitable[T]],
|
||||
) -> typing.Callable[..., typing.Awaitable[
|
||||
typing.Union[T, quart.Response]]]:
|
||||
typing.Union[T, quart.Response, werkzeug.Response]]]:
|
||||
@functools.wraps(f)
|
||||
async def wrapped(
|
||||
*args: typing.Any,
|
||||
**kwargs: typing.Any,
|
||||
) -> typing.Union[T, quart.Response]:
|
||||
) -> typing.Union[T, quart.Response, werkzeug.Response]:
|
||||
if not self.has_session or not (await self.test_session()):
|
||||
redirect_to_value = redirect_to
|
||||
if redirect_to_value is not False:
|
||||
@@ -412,17 +423,17 @@ class ProsodyClient:
|
||||
) -> typing.Callable[
|
||||
[typing.Callable[..., typing.Awaitable[T]]],
|
||||
typing.Callable[..., typing.Awaitable[
|
||||
typing.Union[T, quart.Response]]]]:
|
||||
typing.Union[T, quart.Response, werkzeug.Response]]]]:
|
||||
def decorator(
|
||||
f: typing.Callable[..., typing.Awaitable[T]],
|
||||
) -> typing.Callable[..., typing.Awaitable[
|
||||
typing.Union[T, quart.Response]]]:
|
||||
typing.Union[T, quart.Response, werkzeug.Response]]]:
|
||||
@functools.wraps(f)
|
||||
@self.require_session(redirect_to=redirect_to)
|
||||
async def wrapped(
|
||||
*args: typing.Any,
|
||||
**kwargs: typing.Any,
|
||||
) -> typing.Union[T, quart.Response]:
|
||||
) -> typing.Union[T, quart.Response, werkzeug.Response]:
|
||||
if not self.is_admin_session:
|
||||
raise abort(403, "This is not for you.")
|
||||
|
||||
@@ -489,7 +500,7 @@ class ProsodyClient:
|
||||
session=session,
|
||||
)
|
||||
avatar_hash = avatar_info["sha1"]
|
||||
except quart.exceptions.HTTPException:
|
||||
except werkzeug.exceptions.HTTPException:
|
||||
avatar_hash = None
|
||||
|
||||
return {
|
||||
@@ -641,7 +652,7 @@ class ProsodyClient:
|
||||
new_access_model,
|
||||
)
|
||||
))
|
||||
except quart.exceptions.NotFound:
|
||||
except werkzeug.exceptions.NotFound:
|
||||
if ignore_not_found:
|
||||
return
|
||||
raise
|
||||
@@ -771,7 +782,7 @@ class ProsodyClient:
|
||||
session: aiohttp.ClientSession,
|
||||
) -> str:
|
||||
access_models = filter(
|
||||
lambda x: not isinstance(x, quart.exceptions.NotFound),
|
||||
lambda x: not isinstance(x, werkzeug.exceptions.NotFound),
|
||||
await asyncio.gather(
|
||||
self.get_avatar_access_model(session=session),
|
||||
self.get_nickname_access_model(session=session),
|
||||
@@ -874,7 +885,7 @@ class ProsodyClient:
|
||||
localpart: str,
|
||||
*,
|
||||
display_name: typing.Optional[str],
|
||||
roles: typing.Optional[typing.Collection[str]],
|
||||
role: typing.Optional[str],
|
||||
session: aiohttp.ClientSession,
|
||||
) -> None:
|
||||
payload: typing.Dict[str, typing.Any] = {
|
||||
@@ -882,8 +893,8 @@ class ProsodyClient:
|
||||
}
|
||||
if display_name is not None:
|
||||
payload["display_name"] = display_name
|
||||
if roles is not None:
|
||||
payload["roles"] = list(roles)
|
||||
if role is not None:
|
||||
payload["role"] = role
|
||||
|
||||
async with session.put(
|
||||
self._admin_v1_endpoint("/users/{}".format(localpart)),
|
||||
@@ -1121,6 +1132,34 @@ class ProsodyClient:
|
||||
) as resp:
|
||||
self._raise_error_from_response(resp)
|
||||
|
||||
@autosession
|
||||
async def export_account_data(
|
||||
self,
|
||||
*,
|
||||
session: aiohttp.ClientSession,
|
||||
) -> typing.Optional[str]:
|
||||
async with session.get(
|
||||
self._xep227_endpoint("/export?stores=roster,vcard,pep,pep_data"), # noqa:E501
|
||||
) as resp:
|
||||
self._raise_error_from_response(resp)
|
||||
if resp.status == 204:
|
||||
return None
|
||||
return await resp.text()
|
||||
|
||||
@autosession
|
||||
async def import_account_data(
|
||||
self,
|
||||
user_xml: str,
|
||||
*,
|
||||
session: aiohttp.ClientSession,
|
||||
) -> bool:
|
||||
async with session.put(
|
||||
self._xep227_endpoint("/import?stores=roster,vcard,pep,pep_data"), # noqa:E501
|
||||
data=user_xml,
|
||||
) as resp:
|
||||
self._raise_error_from_response(resp)
|
||||
return True
|
||||
|
||||
@autosession
|
||||
async def revoke_token(
|
||||
self,
|
||||
|
||||
@@ -80,60 +80,6 @@ img.fdroid {
|
||||
height: $w-l3;
|
||||
}
|
||||
|
||||
.tabbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: $w-l1 0;
|
||||
|
||||
> nav.tabs {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
> a {
|
||||
display: inline-block;
|
||||
padding: $w-s2;
|
||||
border-top-left-radius: $w-s4;
|
||||
border-top-right-radius: $w-s4;
|
||||
|
||||
&, &:visited {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
text-decoration-color: $accent-500;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $accent-900;
|
||||
border-color: $accent-800;
|
||||
color: black;
|
||||
}
|
||||
|
||||
&.active {
|
||||
text-decoration: none;
|
||||
background: linear-gradient(0deg, $accent-600, $accent-700);
|
||||
color: $accent-200;
|
||||
|
||||
&:hover, &:focus {
|
||||
background: linear-gradient(0deg, $accent-700, $accent-800);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background: $accent-600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
> .tab-pane {
|
||||
display: none;
|
||||
padding: 0 $w-0;
|
||||
background: $accent-900;
|
||||
|
||||
&.active {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.qr {
|
||||
margin: $w-l1 0;
|
||||
display: flex;
|
||||
|
||||
@@ -42,6 +42,11 @@ licensed under the terms of the Apache 2.0 License -->
|
||||
<g fill="none"><path d="M0 0h24v24H0V0z" /><path d="M0 0h24v24H0V0z" opacity=".87" /></g>
|
||||
<path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM9 8V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9z" />
|
||||
</symbol>
|
||||
<!-- from: communication/import_export/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-import_export" viewBox="0 0 24 24">
|
||||
<path d="M0 0h24v24H0V0z" fill="none" />
|
||||
<path d="M8.65 3.35L5.86 6.14c-.32.31-.1.85.35.85H8V13c0 .55.45 1 1 1s1-.45 1-1V6.99h1.79c.45 0 .67-.54.35-.85L9.35 3.35c-.19-.19-.51-.19-.7 0zM16 17.01V11c0-.55-.45-1-1-1s-1 .45-1 1v6.01h-1.79c-.45 0-.67.54-.35.85l2.79 2.78c.2.19.51.19.71 0l2.79-2.78c.32-.31.09-.85-.35-.85H16z" />
|
||||
</symbol>
|
||||
<!-- from: communication/qr_code/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-qrcode" viewBox="0 0 24 24">
|
||||
<g><rect fill="none" height="24" width="24" /><rect fill="none" height="24" width="24" /></g>
|
||||
@@ -88,6 +93,21 @@ licensed under the terms of the Apache 2.0 License -->
|
||||
<path d="M0 0h24v24H0V0z" fill="none" />
|
||||
<path d="M3.4 20.4l17.45-7.48c.81-.35.81-1.49 0-1.84L3.4 3.6c-.66-.29-1.39.2-1.39.91L2 9.12c0 .5.37.93.87.99L17 12 2.87 13.88c-.5.07-.87.5-.87 1l.01 4.61c0 .71.73 1.2 1.39.91z" />
|
||||
</symbol>
|
||||
<!-- from: file/file_download/materialicons/24px.svg -->
|
||||
<symbol id="icon-download" viewBox="0 0 24 24">
|
||||
<path d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
|
||||
</symbol>
|
||||
<!-- from: file/file_upload/materialicons/24px.svg -->
|
||||
<symbol id="icon-upload" viewBox="0 0 24 24">
|
||||
<path d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z" />
|
||||
</symbol>
|
||||
<!-- from: file/folder/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-folder" viewBox="0 0 24 24">
|
||||
<path d="M0 0h24v24H0V0z" fill="none" />
|
||||
<path d="M10.59 4.59C10.21 4.21 9.7 4 9.17 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-1.41-1.41z" />
|
||||
</symbol>
|
||||
<!-- from: navigation/arrow_back/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-back" viewBox="0 0 24 24">
|
||||
<path d="M0 0h24v24H0V0z" fill="none" />
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
@@ -17,9 +17,12 @@
|
||||
<h3>{% trans %}Trademarks{% endtrans %}</h3>
|
||||
<p>{% trans trademarks_url="https://snikket.org/about/trademarks/" %}“Snikket” and the parrot logo are trademarks of Snikket Community Interest Company. For more information about the trademarks, visit the <a href="{{ trademarks_url }}">Snikket Trademarks information page</a>.{% endtrans %}
|
||||
<h3>{% trans %}Software Versions{% endtrans %}</h3>
|
||||
<pre>Snikket Server
|
||||
Domain: {{ config["SNIKKET_DOMAIN"] }}
|
||||
Snikket Web Portal{% if version %} ({{ version }}){% endif %}
|
||||
<pre>Domain: {{ config["SNIKKET_DOMAIN"] }}
|
||||
Web Portal{% if version %} ({{ version }}){% endif %}
|
||||
{%- if core_versions -%}
|
||||
{% for name, version in core_versions.items() %}
|
||||
{{ name }} ({{ version }}){% endfor %}
|
||||
{%- endif -%}
|
||||
{%- if extra_versions -%}
|
||||
{% for name, version in extra_versions.items() %}
|
||||
{{ name }} ({{ version }}){% endfor %}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{% macro access_level_description(role, caller=None) %}
|
||||
{%- if role == "prosody:restricted" -%}
|
||||
{% trans %}Limited users can interact with users on the same Snikket service and be members of circles.{% endtrans %}
|
||||
{%- elif role == "prosody:normal" -%}
|
||||
{%- elif role == "prosody:user" -%}
|
||||
{% trans %}Like limited users and can also interact with users on other Snikket services.{% endtrans %}
|
||||
{%- elif role == "prosody:admin" -%}
|
||||
{% trans %}Like normal users and can access the admin panel in the web portal.{% endtrans %}
|
||||
|
||||
@@ -68,6 +68,14 @@
|
||||
<em>{% trans %}unknown{% endtrans %}</em>
|
||||
{%- endif -%}
|
||||
</dd>
|
||||
<dt>{% trans %}Storage used by shared files{% endtrans %}</dt>
|
||||
<dd>
|
||||
{%- if metrics.prosody_uploads | default(None) is not none -%}
|
||||
{{ metrics.prosody_uploads | format_bytes }}
|
||||
{%- else -%}
|
||||
<em>{% trans %}unknown{% endtrans %}</em>
|
||||
{%- endif -%}
|
||||
</dd>
|
||||
<dt>{% trans %}Connected devices{% endtrans %}</dt>
|
||||
<dd>
|
||||
{%- if metrics.prosody_devices | default(None) is not none -%}
|
||||
|
||||
@@ -28,12 +28,12 @@
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.password.label }}
|
||||
{{ form.password }}
|
||||
{{ form.password(autocomplete="new-password") }}
|
||||
<p class="field-desc weak">{% trans %}Enter a secure password that you do not use anywhere else.{% endtrans %}</p>
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.password_confirm.label }}
|
||||
{{ form.password_confirm }}
|
||||
{{ form.password_confirm(autocomplete="new-password") }}
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call form_button("done", form.action_register, class="primary") -%}{%- endcall -%}
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
{%- call render_errors(form) %}{% endcall -%}
|
||||
<div class="f-ebox">
|
||||
{{ form.password.label }}
|
||||
{{ form.password }}
|
||||
{{ form.password(autocomplete="new-password") }}
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.password_confirm.label }}
|
||||
{{ form.password_confirm }}
|
||||
{{ form.password_confirm(autocomplete="new-password") }}
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call form_button("passwd", form.action_reset, class="primary") -%}{%- endcall -%}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "invite.html" %}
|
||||
{% set body_id = "invite" %}
|
||||
{% from "library.j2" import form_button, clipboard_button %}
|
||||
{% from "library.j2" import form_button, clipboard_button, render_errors %}
|
||||
{% block head_lead %}
|
||||
<title>{% trans site_name=config["SITE_NAME"] %}Successfully registered on {{ site_name }} | Snikket{% endtrans %}</title>
|
||||
{%- include "copy-snippet.html" -%}
|
||||
@@ -16,5 +16,46 @@
|
||||
{%- endcall -%}
|
||||
<p>{% trans %}You can now set up your legacy XMPP client with the above address and the password you chose during registration.{% endtrans %}</p>
|
||||
<p>{% trans login_url=url_for('main.login') %}You can now safely close this page, or log in to the web portal to <a href="{{ login_url }}">manage your account</a>.{% endtrans %}</p>
|
||||
|
||||
{% if migration_success %}
|
||||
<h2>{% trans %}Import successful{% endtrans %}</h2>
|
||||
<p>{% trans %}Congratulations! Your account data has been successfully imported.{% endtrans %}</p>
|
||||
{% endif %}
|
||||
|
||||
{% if form %}
|
||||
<h2>{% trans %}Moving to Snikket?{% endtrans %}</h2>
|
||||
<p>{% trans %}If you are moving from a different Snikket instance or another XMPP-compatible service, you may optionally import the data (contacts, profile information, etc.) from your previous account. When you have exported the data from your previous account, upload it using the form below.{% endtrans %}</p>
|
||||
|
||||
<div class="form layout-expanded"><form method="POST" enctype="multipart/form-data">
|
||||
<h3 class="form-title">{% trans %}Upload account data{% endtrans %}</h3>
|
||||
{{ form.csrf_token }}
|
||||
{% call render_errors(form) %}{% endcall %}
|
||||
<div class="f-ebox">
|
||||
{{ form.account_data_file.label }}
|
||||
{{ form.account_data_file(accept="application/xml",
|
||||
data_maxsize=max_import_size,
|
||||
data_warning_header=import_too_big_warning_header,
|
||||
data_maxsize_warning=import_too_big_warning) }}
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call form_button("upload", form.action_import, class="secondary") %}{% endcall -%}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
document.getElementById("{{ form.account_data_file.id }}").onchange = function() {
|
||||
var maxsize_s = this.dataset.maxsize;
|
||||
var maxsize = parseInt(maxsize_s);
|
||||
if (this.files[0].size > maxsize) {
|
||||
var warning_header = this.dataset.warningHeader;
|
||||
var warning_text = this.dataset.maxsizeWarning;
|
||||
this.setCustomValidity(warning_text);
|
||||
this.reportValidity();
|
||||
this.value = null;
|
||||
} else {
|
||||
this.setCustomValidity("");
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</form></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -56,29 +56,7 @@
|
||||
{%- endcall -%}
|
||||
</header>
|
||||
<p>{% trans %}You can transfer this invite to your mobile device by scanning a code with your camera. You can use either a QR scanner app or the Snikket app itself.{% endtrans %}</p>
|
||||
<div class="tabbox">
|
||||
{#- -#}
|
||||
<nav class="tabs" role="tablist">
|
||||
{#- -#}
|
||||
<a href="#qr-info-url" class="active" role="tab" aria-controls="qr-info-url" aria-selected="true" onclick="select_tab(this); return false;">{% trans %}Using a QR code scanner{% endtrans %}</a>
|
||||
{#- -#}
|
||||
<a href="#qr-info-uri" role="tab" aria-controls="qr-info-uri" aria-selected="false" onclick="select_tab(this); return false;">{% trans %}Using the Snikket app{% endtrans %}</a>
|
||||
{#- -#}
|
||||
</nav>
|
||||
{#- -#}
|
||||
<div id="qr-info-url" class="tab-pane active">
|
||||
<p>{% trans %}Use a <em>QR code</em> scanner on your mobile device to scan the code below:{% endtrans %}</p>
|
||||
<div id="qr-invite-page" data-qrdata="{{ url_for(".view", id_=invite_id, _external=True, _scheme="https") }}" class="qr"></div>
|
||||
</div>
|
||||
{#- -#}
|
||||
<div id="qr-info-uri" class="tab-pane">
|
||||
<img class="float-right" id="tutorial-scan" aria-hidden="true" alt="" src="{{ url_for("static", filename="img/tutorial-scan.png") }}">
|
||||
<p>{% trans %}Install the Snikket app on your mobile device, open it, and tap the 'Scan' button at the top.{% endtrans %}</p>
|
||||
<p>{% trans %}Your camera will turn on. Point it at the square code below until it is within the highlighted square on your screen, and wait until the app recognises it.{% endtrans %}</p>
|
||||
<div id="qr-uri" data-qrdata="{{ invite.xmpp_uri }}" class="qr"></div>
|
||||
</div>
|
||||
{#- -#}
|
||||
</div>
|
||||
<div id="qr-invite-page" data-qrdata="{{ url_for(".view", id_=invite_id, _external=True, _scheme="https") }}" class="qr"></div>
|
||||
{#- -#}
|
||||
{%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="primary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<div>
|
||||
<div>{% call standard_button("edit", url_for(".profile"), class="primary") %}{% trans %}Edit profile{% endtrans %}{% endcall %}</div>
|
||||
<div>{% call standard_button("passwd", url_for(".change_pw"), class="secondary") %}{% trans %}Change password{% endtrans %}{% endcall %}</div>
|
||||
<div>{% call standard_button("folder", url_for(".manage_data"), class="secondary") %}{% trans %}Manage your data{% endtrans %}{% endcall %}</div>
|
||||
</div>
|
||||
{#- -#}
|
||||
</li>
|
||||
|
||||
24
snikket_web/templates/user_manage_data.html
Normal file
24
snikket_web/templates/user_manage_data.html
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, form_button, render_errors, avatar with context %}
|
||||
{% block content %}
|
||||
<h1>{% trans %}Manage your data{% endtrans %}</h1>
|
||||
<nav class="welcome">
|
||||
<ul>
|
||||
<li>
|
||||
<h2>{% trans %}Export account{% endtrans %}</h2>
|
||||
<p>{% trans %}Download your account data as a file for backup purposes or to move your account to another service.{% endtrans %}</p>
|
||||
|
||||
{% call render_errors(form) %}{% endcall %}
|
||||
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for('.index'), class="tertiary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
|
||||
<form method="POST">
|
||||
{{ form.csrf_token }}
|
||||
{%- call form_button("download", form.action_export, class="primary") %}{% endcall -%}
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
@@ -9,15 +9,15 @@
|
||||
{%- endcall -%}
|
||||
<div class="f-ebox">
|
||||
{{ form.current_password.label(class="required") }}
|
||||
{{ form.current_password(class=("has-error" if form.current_password.name in form.errors else "")) }}
|
||||
{{ form.current_password(class=("has-error" if form.current_password.name in form.errors else ""), autocomplete="current-password") }}
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.new_password.label(class="required") }}
|
||||
{{ form.new_password }}
|
||||
{{ form.new_password(autocomplete="new-password") }}
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.new_password_confirm.label(class="required") }}
|
||||
{{ form.new_password_confirm(class=("has-error" if form.new_password_confirm.name in form.errors else "")) }}
|
||||
{{ form.new_password_confirm(class=("has-error" if form.new_password_confirm.name in form.errors else ""), autocomplete="new-password") }}
|
||||
</div>
|
||||
<div class="box warning">
|
||||
<header>{% trans %}Warning{% endtrans %}</header>
|
||||
|
||||
Binary file not shown.
@@ -7,321 +7,359 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-04-02 19:01+0000\n"
|
||||
"Last-Translator: Daniel Holmgaard <annoncer@protonmail.com>\n"
|
||||
"Language-Team: Danish <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/da/>\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-05-30 14:01+0000\n"
|
||||
"Last-Translator: Daniel Holmgaard <fovatis@tutanota.com>\n"
|
||||
"Language-Team: Danish <http://i18n.sotecware.net/projects/snikket/web-portal/"
|
||||
"da/>\n"
|
||||
"Language: da\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.5.1\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Begrænset"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login-navn"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Kaldenavn"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Adgangsniveau"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Begrænset"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Normal bruger"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Opdater bruger"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Opret link til nulstilling af adgangskode"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link til nulstilling af adgangskode oprettet"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Brugerinformation opdateret."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Slet bruger permanent"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Bruger slettet"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Link til nulstilling af adgangskode ikke fundet"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Link til nulstilling af adgangskode slettet"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Inviter til cirkel"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Mindst en cirkel skal vælges"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Gyldig for"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "En time"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Tolv timer"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "En dag"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "En uge"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Fire uger"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitationstype"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuel"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Ny invitationslink"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Tilbagekald"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation oprettet"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Denne invitation findes ikke"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation tilbagekaldt"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Opret cirkel"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Cirkel oprettet"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Vælg bruger"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Opdater cirkel"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Slet cirkel permanent"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Tilføj bruger"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Denne cirkel findes ikke"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Cirkel-data opdateret"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Cirkel slettet"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Bruger tilføjet til cirkel"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Bruger fjernet fra cirkel"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
msgstr "Meddelelsens indhold"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
msgstr "Send kun til online brugere"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
msgstr "Send til alle brugere"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
msgstr "Send forhåndsvisning til dig selv"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
msgstr "Bekendgørelse sendt!"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Hoved"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"De kontodata, du forsøgte at importere, er for store til at uploade. Kontakt "
|
||||
"din Snikket-operatør."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Brugernavn"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Adgangskode"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Bekræft adgangskode"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Adgangskoderne skal matche."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Opret konto"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Det brugernavn er allerede taget."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registrering blev afvist af ukendte årsager."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Brugernavnet er ikke gyldigt."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Ændr adgangskode"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "Kontodatafil"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Importer data"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"De kontodata, du forsøgte at importere, er i et ukendt format. Upload en XML-"
|
||||
"fil i XEP-0227-format (forudsat format: %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Fejl"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Log ind"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Ugyldigt brugernavn eller adgangskode."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Login lykkedes!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Nuværende adgangskode"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Ny adgangskode"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Bekræft ny adgangskode"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Den nye adgangskode skal matche."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Log ud"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Kun venner"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Alle"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profilsynlighed"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Opdater profil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Kontodata"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Upload"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Forkert adgangskode."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Adgangskode ændret"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +367,17 @@ msgstr ""
|
||||
"Den valgte avatar er for stor. For at kunne uploade større avatarer skal du "
|
||||
"bruge appen."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil opdateret"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Fejl"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Exporter"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Du har i øjeblikket ingen kontodata at eksportere."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -427,7 +469,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Software versioner"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Tilbage til hovedsiden"
|
||||
|
||||
@@ -573,6 +615,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -624,7 +667,7 @@ msgstr "Cirkel medlemmer"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:71
|
||||
msgid "The user has been deleted from the server."
|
||||
msgstr ""
|
||||
msgstr "Brugeren er blevet slettet fra serveren."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:71
|
||||
#: snikket_web/templates/library.j2:108
|
||||
@@ -838,22 +881,21 @@ msgstr "Håndter invitationer"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:35
|
||||
msgid "System health"
|
||||
msgstr ""
|
||||
msgstr "Systemets sundhed"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:38
|
||||
msgid "View the server status or send a broadcast message to all users."
|
||||
msgstr ""
|
||||
"Vis serverstatus, eller send en udsendelsesmeddelelse til alle brugere."
|
||||
|
||||
#: snikket_web/templates/admin_home.html:40
|
||||
msgid "Send a broadcast message to all users."
|
||||
msgstr ""
|
||||
msgstr "Send en udsendelsesmeddelelse til alle brugere."
|
||||
|
||||
#: snikket_web/templates/admin_home.html:43
|
||||
#: snikket_web/templates/admin_system.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage system"
|
||||
msgstr "Håndter brugere"
|
||||
msgstr "Håndter system"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:48
|
||||
msgid "Go back to your user's web portal page."
|
||||
@@ -914,11 +956,11 @@ msgstr "Ødelæg link"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:6
|
||||
msgid "Overall system status"
|
||||
msgstr ""
|
||||
msgstr "Samlet systemstatus"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:9
|
||||
msgid "System load (5 minute average)"
|
||||
msgstr ""
|
||||
msgstr "Systembelastning (5 minutters gennemsnit)"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:14
|
||||
#: snikket_web/templates/admin_system.html:22
|
||||
@@ -927,12 +969,13 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
msgstr "ukendt"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:17
|
||||
msgid "Memory use"
|
||||
msgstr ""
|
||||
msgstr "Forbrug af hukommelse"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:20
|
||||
#, python-format
|
||||
@@ -940,50 +983,56 @@ msgid ""
|
||||
"%(percentage_global)s of %(mem_available)s. Of that, Snikket uses "
|
||||
"%(percentage_snikket)s."
|
||||
msgstr ""
|
||||
"%(percentage_global)s af %(mem_available)s. Der af bruger Snikket "
|
||||
"%(percentage_snikket)s."
|
||||
|
||||
#: snikket_web/templates/admin_system.html:27
|
||||
msgid "Web portal status"
|
||||
msgstr ""
|
||||
msgstr "Webportalens status"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:30
|
||||
#: snikket_web/templates/admin_system.html:53
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
msgstr "Version"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:31
|
||||
#: snikket_web/templates/admin_system.html:54
|
||||
msgid "View all versions"
|
||||
msgstr ""
|
||||
msgstr "Vis alle versioner"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:32
|
||||
#: snikket_web/templates/admin_system.html:55
|
||||
msgid "Average CPU use"
|
||||
msgstr ""
|
||||
msgstr "Gennemsnitlig CPU-forbrug"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:40
|
||||
#: snikket_web/templates/admin_system.html:63
|
||||
msgid "Current memory use"
|
||||
msgstr ""
|
||||
msgstr "Nuværende hukommelsesbrug"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:50
|
||||
#, fuzzy
|
||||
#| msgid "Snikket Web Portal"
|
||||
msgid "Snikket server status"
|
||||
msgstr "Snikket Webportal"
|
||||
msgstr "Snikket server status"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Lagerplads, der bruges af delte filer"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
msgstr "Forbundet enheder"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
msgstr "Send besked"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
msgstr ""
|
||||
"Denne formular giver dig mulighed for at sende en besked til alle brugere, "
|
||||
"der i øjeblikket er online på din Snikket-server. Brug den med omtanke."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
@@ -1093,8 +1142,8 @@ msgstr "App allerede installeret?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Åben appen"
|
||||
|
||||
@@ -1160,7 +1209,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Du kan nu logge ind med din nye adgangskode."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Du kan sikkert lukke denne side."
|
||||
|
||||
@@ -1196,7 +1244,6 @@ msgstr ""
|
||||
"Skan-knappen øverst."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1252,6 +1299,43 @@ msgstr ""
|
||||
"Du kan nu konfigurere din ældre XMPP-klient med ovenstående adresse og den "
|
||||
"adgangskode, du valgte under registreringen."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Du kan nu trygt lukke denne side eller logge ind på webportalen for at <a "
|
||||
"href=\"%(login_url)s\">administrere din konto</a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Importering lykkes"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr "Tillykke! Dine kontodata er blevet importeret."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Flytte til Snikket?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Hvis du flytter fra en anden Snikket-platform eller en anden XMPP-kompatibel "
|
||||
"tjeneste, kan du eventuelt importere dataene (kontakter, profiloplysninger "
|
||||
"osv.) fra din tidligere konto. Når du har eksporteret dataene fra din "
|
||||
"tidligere konto, skal du uploade dem ved hjælp af nedenstående formular."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Upload kontodata"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1297,7 +1381,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Få den i Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Download i App Store"
|
||||
|
||||
@@ -1333,11 +1417,11 @@ msgid "Scan invite code"
|
||||
msgstr "Skan invitationskode"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
@@ -1350,34 +1434,11 @@ msgstr ""
|
||||
"med dit kamera. Du kan bruge enten en QR-skanner-app eller selve Snikket-"
|
||||
"appen."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Bruger en QR kode skanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Bruger Snikket appen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Brug en <em>QR code</em> skanner på din mobilenhed for at skanne "
|
||||
"nedenstående kode:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installer Snikket-appen på din mobilenhed, åbn den, og tryk på knappen "
|
||||
"'Skan' øverst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installer på iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1385,12 +1446,12 @@ msgstr ""
|
||||
"Efter download af Snikket fra App Store, skal du vende tilbage til dette "
|
||||
"invitationslink og trykke på \"Åbn appen\" for at fortsætte."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr "Download først Snikket fra App Store ved hjælp af nedenstående knap:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1398,12 +1459,12 @@ msgstr ""
|
||||
"Når installationen er afsluttet, kan du vende tilbage til denne side og "
|
||||
"trykke på knappen \"Åbn appen\" for at fortsætte med opsætningen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installer via F-droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1411,7 +1472,7 @@ msgstr ""
|
||||
"Efter installation af Snikket via F-Droid, skal du vende tilbage til dette "
|
||||
"invitationslink og trykke på \"Åbn appen\" for at fortsætte."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Installer først Snikket fra F-Droid ved hjælp af knappen nedenfor:"
|
||||
|
||||
@@ -1479,15 +1540,20 @@ msgstr "Din XMPP adresse"
|
||||
msgid "Edit profile"
|
||||
msgstr "Rediger profil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Håndter dine data"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Din Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Håndter brugere, invitationer og cirkler på din Snikket tjeneste."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Administrator panel"
|
||||
|
||||
@@ -1503,6 +1569,18 @@ msgstr ""
|
||||
"Klik herunder for at logge dig selv ud af webportalen. Dette på virkeringen "
|
||||
"af de forbundne enheder."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Eksporter konto"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
"Download dine kontodata som en fil til sikkerhedskopieringsformål eller for "
|
||||
"at flytte din konto til en anden tjeneste."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ændr din adgangskode"
|
||||
@@ -1545,6 +1623,26 @@ msgstr ""
|
||||
"Denne sektion tillader dig at kontrollere, hvem der kan se din profil "
|
||||
"informationer, så som avatar og kaldenavn."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Bruger en QR kode skanner"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Bruger Snikket appen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Brug en <em>QR code</em> skanner på din mobilenhed for at skanne "
|
||||
#~ "nedenstående kode:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Installer Snikket-appen på din mobilenhed, åbn den, og tryk på knappen "
|
||||
#~ "'Skan' øverst."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Opret link til nulstilling af adgangskode til %(user_name)s"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,321 +7,358 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SnikketWeb 0.1.0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-01-18 14:59+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/de/>\n"
|
||||
"Language-Team: German <http://i18n.sotecware.net/projects/snikket/web-portal/"
|
||||
"de/>\n"
|
||||
"Language: de\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.5.1\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Eingeschränkt"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Anmeldename"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Eingeschränkt"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Normaler Benutzer"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Benutzer ändern"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Passwort-Link erzeugen"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes erzeugt"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Benutzerinformationen gespeichert."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Benutzer endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Benutzer gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes nicht gefunden"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Link gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "In Gemeinschaft einladen"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Mindestens eine Gemeinschaft muss ausgewählt sein"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Gültig für"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Eine Stunde"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Zwölf Stunden"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Ein Tag"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Eine Woche"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Vier Wochen"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Art der Einladung"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Einzelperson"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Neuer Einladungslink"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Einladung angelegt"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Diese Einladung existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Einladung gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Gemeinschaft gründen"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Gemeinschaft gegründet"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Benutzer auswählen"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Gemeinschaft ändern"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Gemeinschaft endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Benutzer hinzufügen"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Diese Gemeinschaft existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Gemeinschaftsdaten aktualisiert"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Gemeinschaft gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Benutzer zur Gemeinschaft hinzugefügt"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Benutzer aus der Gemeinschaft entfernt"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr "Nachrichteninhalt"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr "Nur an verbundene Benutzer senden"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr "An alle Benutzer senden"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr "Vorschau an dich selbst senden"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr "Ankündigung verschickt!"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Kern"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"Der Kontoexport ist zu groß. Bitte kontaktiere deinen Snikket-Betreiber."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Passwort (Bestätigung)"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Die Passwörter müssen übereinstimmen."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Konto anlegen"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Dieser Benutzername ist bereits belegt."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Der Benutzername ist ungültig."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "Kontoexportdatei"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Daten importieren"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"Der Kontoexport ist in einem unbekannten Format. Es können nur XML-Dateien "
|
||||
"im XEP-0227-Format verarbeitet werden (erhaltenes Format: %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Benutzername oder Passwort falsch."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Anmeldung erfolgreich!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Aktuelles Passwort"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Neues Passwort (Bestätigung)"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Die neuen Passwörter müssen übereinstimmen."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Niemand"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Nur Freunde"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Jeder"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Bild"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profilsichtbarkeit"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Kontodaten"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Hochladen"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Ungültiges Passwort."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +366,17 @@ msgstr ""
|
||||
"Das gewählte Profilbild ist zu groß. Benutze die App um größere Bilder "
|
||||
"hochladen zu können."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil gespeichert"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Exportieren"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Du hast derzeit keine Kontodaten, die exportiert werden können."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -428,7 +469,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Softwareversionen"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Zurück zur Hauptseite"
|
||||
|
||||
@@ -575,6 +616,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -935,6 +977,7 @@ msgstr "Systemlast (5-Minuten-Durchschnitt)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr "unbekannt"
|
||||
|
||||
@@ -980,14 +1023,18 @@ msgid "Snikket server status"
|
||||
msgstr "Status des Snikket-Servers"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Durch geteilte Dateien belegter Speicherplatz"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr "Verbundene Geräte"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr "Nachricht an alle senden"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1107,8 +1154,8 @@ msgstr "App schon installiert?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "App öffnen"
|
||||
|
||||
@@ -1175,7 +1222,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Du kannst dich nun mit deinem neuen Passwort anmelden."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Du kannst diese Seite nun schließen."
|
||||
|
||||
@@ -1211,7 +1257,6 @@ msgstr ""
|
||||
"Das geht mit Hilfe des Scan-Knopfes in der oberen Leiste."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1270,6 +1315,44 @@ msgstr ""
|
||||
"Du kannst nun deinen normalen XMPP-Clienten mit der obenstehenden Adresse "
|
||||
"und deinem gewählten Passwort einrichten."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Du kannst diese Seite nun schließen oder dich im Webportal anmelden um dein "
|
||||
"<a href=\"%(login_url)s\">Konto zu bearbeiten</a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Import erfolgreich"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr "Gratulation! Deine Kontodaten wurden erfolgreich importiert."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Am Umziehen zu Snikket?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Wenn du dabei bist, dein Konto von einer anderen Snikket-Instanz oder XMPP-"
|
||||
"kompatiblen Dienst umzuziehen, kannst du optional deine Kontodaten "
|
||||
"(Kontakte, Profilinformationen etc.) von deinem vorherigen Konto "
|
||||
"importieren. Wenn du die Daten von deinem alten Konto exportiert hast, lade "
|
||||
"sie mit dem untenstehenden Formular hoch."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Kontodaten hochladen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1316,7 +1399,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Von Google Play installieren"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Laden im App Store"
|
||||
|
||||
@@ -1354,11 +1437,11 @@ msgid "Scan invite code"
|
||||
msgstr "Einladungscode scannen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
@@ -1371,34 +1454,11 @@ msgstr ""
|
||||
"untenstehenden Code mit deiner Kamera scannst. Dafür kannst du entweder "
|
||||
"einen normalen QR-Scanner nehmen oder die Snikket-App selbst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Mit einem QR-Code-Scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Mit der Snikket-App"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Benutze einen <em>QR-Code</em>-Scanner auf deinem mobilen Gerät um den "
|
||||
"untenstehenden Code zu scannen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installiere die Snikket-App auf deinem mobilen Gerät, öffne sie und tippe "
|
||||
"dann auf den 'Scan'-Knopf in der oberen Leiste."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installation auf iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1406,14 +1466,14 @@ msgstr ""
|
||||
"Nachdem du Snikket vom App Store heruntergeladen hast musst du zu diesem "
|
||||
"Einladungslink zurückkehren und \"App öffnen\" antippen um fortzufahren."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Lade zunächst Snikket aus dem App Store herunter indem du den folgenden "
|
||||
"Button benutzt:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1422,12 +1482,12 @@ msgstr ""
|
||||
"zurückkehren und unten auf \"App öffnen\" tippen um die Einrichtung "
|
||||
"abzuschließen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installation über F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1435,7 +1495,7 @@ msgstr ""
|
||||
"Nachdem du Snikket über F-Droid installiert hast, musst du auf diese Seite "
|
||||
"zurückkehren und \"App öffnen\" antippen um fortzufahren."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Installiere Snikket zunächst aus F-Droid mit dem folgenden Button:"
|
||||
|
||||
@@ -1506,16 +1566,21 @@ msgstr "Deine XMPP-Adresse"
|
||||
msgid "Edit profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Daten verwalten"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Dein Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
"Benutzer, Einladungen und Gemeinschaften dieses Snikket-Dienstes verwalten."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Adminbereich"
|
||||
|
||||
@@ -1531,6 +1596,16 @@ msgstr ""
|
||||
"Klicke unten um dich aus dem Webportal abzumelden. Dies betrifft keine "
|
||||
"anderen Geräte von dir."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Konto exportieren"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr "Lade deine Kontodaten als Backup oder zum Umziehen herunter."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ändere dein Passwort"
|
||||
@@ -1573,6 +1648,26 @@ msgstr ""
|
||||
"Hier kannst du einstellen, wer deine Profilinformationen, wie Bild oder "
|
||||
"Anzeigename einsehen kann."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Mit einem QR-Code-Scanner"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Mit der Snikket-App"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Benutze einen <em>QR-Code</em>-Scanner auf deinem mobilen Gerät um den "
|
||||
#~ "untenstehenden Code zu scannen:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Installiere die Snikket-App auf deinem mobilen Gerät, öffne sie und tippe "
|
||||
#~ "dann auf den 'Scan'-Knopf in der oberen Leiste."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Link zum Zurücksetzen des Passwortes von %(user_name)s erzeugen"
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/en/>\n"
|
||||
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/en/>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -20,369 +20,407 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "Admin area"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
#, fuzzy
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "Update circle"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Create password reset link"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individual"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Group"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Update circle"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Remove user %(username)s from circle"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm password"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Create account"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "That username is already taken"
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registration was declined for unknown reasons"
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "The username is not valid"
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Change password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid username or password."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
@@ -471,7 +509,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Software Versions"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Back to the main page"
|
||||
|
||||
@@ -618,6 +656,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -977,6 +1016,7 @@ msgstr "System load (5-minute average)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1022,14 +1062,18 @@ msgid "Snikket server status"
|
||||
msgstr "Snikket Web Portal"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1147,8 +1191,8 @@ msgstr "App already installed?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Open the app"
|
||||
|
||||
@@ -1213,7 +1257,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "You can now log in using your new password."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "You can now safely close this page."
|
||||
|
||||
@@ -1247,7 +1290,6 @@ msgstr ""
|
||||
"Scan button at the top."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1304,6 +1346,41 @@ msgstr ""
|
||||
"You can now set up your legacy XMPP client with the above address and the "
|
||||
"password you chose during registration."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
#, fuzzy
|
||||
#| msgid "Password reset successful"
|
||||
msgid "Import successful"
|
||||
msgstr "Password reset successful"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "Using the Snikket app"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Using the Snikket app"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1349,7 +1426,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Get it on Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Download on the App Store"
|
||||
|
||||
@@ -1385,11 +1462,11 @@ msgid "Scan invite code"
|
||||
msgstr "Scan invite code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
@@ -1401,61 +1478,39 @@ msgstr ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Using a QR code scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Using the Snikket app"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1521,15 +1576,22 @@ msgstr "Your XMPP address"
|
||||
msgid "Edit profile"
|
||||
msgstr "Edit profile"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "Manage users"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Your Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Manage users, invitations and circles of your Snikket service."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Admin panel"
|
||||
|
||||
@@ -1545,6 +1607,18 @@ msgstr ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Your account"
|
||||
msgid "Export account"
|
||||
msgstr "Your account"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Change your password"
|
||||
@@ -1587,6 +1661,26 @@ msgstr ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Using a QR code scanner"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Using the Snikket app"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Create password reset link for %(user_name)s"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/"
|
||||
@@ -20,371 +20,409 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
#, fuzzy
|
||||
#| msgid "Admin dashboard"
|
||||
msgid "Administrator"
|
||||
msgstr "Admin dashboard"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Update user"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Create password reset link"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Update circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Remove user %(username)s from circle"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
#, fuzzy
|
||||
#| msgid "Confirm new password"
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Create account"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Change password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
#, fuzzy
|
||||
#| msgid "Invalid user name or password."
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid user name or password."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
@@ -473,7 +511,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Software Versions"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Back to the main page"
|
||||
|
||||
@@ -615,6 +653,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -986,6 +1025,7 @@ msgstr "System load (5-minute average)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1031,14 +1071,18 @@ msgid "Snikket server status"
|
||||
msgstr "Snikket Web Portal"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1152,8 +1196,8 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
@@ -1219,7 +1263,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr ""
|
||||
|
||||
@@ -1251,7 +1294,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1302,6 +1344,41 @@ msgid ""
|
||||
"password you chose during registration."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Import successful"
|
||||
msgstr "Password reset"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "About Snikket"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "About Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1341,7 +1418,7 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
@@ -1374,11 +1451,11 @@ msgid "Scan invite code"
|
||||
msgstr "Show invite details"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -1388,58 +1465,39 @@ msgid ""
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1515,19 +1573,26 @@ msgstr "Email address"
|
||||
msgid "Edit profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "Manage users"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
#, fuzzy
|
||||
#| msgid "About Snikket"
|
||||
msgid "Your Snikket"
|
||||
msgstr "About Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
#, fuzzy
|
||||
#| msgid "Manage users and invitations of this Snikket service."
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Manage users and invitations of this Snikket service."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
#, fuzzy
|
||||
#| msgid "Admin dashboard"
|
||||
msgid "Admin panel"
|
||||
@@ -1545,6 +1610,18 @@ msgstr ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Export account"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Change your password"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-03-31 13:00+0000\n"
|
||||
"Last-Translator: Tilman Jiménez <tilman.jimenez@tu-dortmund.de>\n"
|
||||
"Language-Team: Spanish (Mexico) <https://i18n.sotecware.net/projects/snikket/"
|
||||
@@ -20,355 +20,393 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Limitado"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Nombre de ingreso del usuario"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Nivel de acceso"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Limitado"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Usuario normal"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "Administración"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Actualizar usuario"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
#, fuzzy
|
||||
#| msgid "Current password"
|
||||
msgid "Create password reset link"
|
||||
msgstr "Contraseña actual"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Un enlace para restablecer la contraseña ha sido creado"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
#, fuzzy
|
||||
#| msgid "Circle information"
|
||||
msgid "User information updated."
|
||||
msgstr "Información del círculo"
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Eliminar usuario permanentemente"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Usuario eliminado"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "No hemos encontrado un enlace para restablecer la contraseña"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Enlace para restablecer la contraseña eliminado"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invitar al círculo"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Seleccione al menos un círculo"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Válido por"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Una hora"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Doce horas"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Un día"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Una semana"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Cuatro semanas"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Tipo de invitación"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individual"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grupo"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Nuevo enlace de invitación"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Revocar/Eliminar"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Tipo de invitación"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nuevo enlace de invitación"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Tipo de invitación"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Crear círculo"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Nombre del círculo"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Seleccionar usuario"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Actualizar círculo"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Eliminar círculo permanentemente"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Añadir usuario"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No hay círculos"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nombre del círculo"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
#, fuzzy
|
||||
#| msgid "Circle members"
|
||||
msgid "Circle deleted"
|
||||
msgstr "Miembros del círculo"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invitar al círculo"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Principal"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Usuario"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmar contraseña"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "Las contraseñas deben ser las mismas"
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Crear cuenta"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "Ese nombre de usuario ya está siendo utilizado"
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "El registro ha sido declinado por razones no identificadas"
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "El nombre de usuario no es válido"
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Cambiar contraseña"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Dirección"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Ingresar"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nombre de usuario o contraseña no válidos."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Contraseña actual"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Nueva contraseña"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirmar nueva contraseña"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Las nuevas contraseñas deben ser iguales"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Nadie"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Únicamente amigos"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Todos"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Imagen de perfil"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilidad de perfil"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Actualizar perfil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Contraseña incorrecta"
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
#, fuzzy
|
||||
#| msgid "Password"
|
||||
msgid "Password changed"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
@@ -450,7 +488,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Regresar a la página principal"
|
||||
|
||||
@@ -597,6 +635,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -951,6 +990,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -996,14 +1036,18 @@ msgid "Snikket server status"
|
||||
msgstr "Portal web de Snikket"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1119,8 +1163,8 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
@@ -1180,7 +1224,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr ""
|
||||
|
||||
@@ -1210,7 +1253,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1259,6 +1301,39 @@ msgid ""
|
||||
"password you chose during registration."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "About Snikket"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Acerca de Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1298,7 +1373,7 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
@@ -1329,11 +1404,11 @@ msgid "Scan invite code"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -1343,58 +1418,39 @@ msgid ""
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1460,15 +1516,22 @@ msgstr ""
|
||||
msgid "Edit profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "Administrar usuarios"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr ""
|
||||
|
||||
@@ -1482,6 +1545,18 @@ msgid ""
|
||||
"other connected devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Create account"
|
||||
msgid "Export account"
|
||||
msgstr "Crear cuenta"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,321 +7,360 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-06-19 15:01+0000\n"
|
||||
"Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n"
|
||||
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/fr/>\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-04-11 13:00+0000\n"
|
||||
"Last-Translator: David Baraniak <admin@chipmnk.dev>\n"
|
||||
"Language-Team: French <http://i18n.sotecware.net/projects/snikket/web-portal/"
|
||||
"fr/>\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 4.5.1\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Limité"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Nom à afficher"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Niveau d’accès"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Limité"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Utilisateur normal"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administrateur"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Modifier l’utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Créer le lien de réinitialisation de mot de passe"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Lien de réinitialisation du mot de passe créé"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Informations de l’utilisateur mises à jour."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Désinscrire définitivement l’utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Utilisateur supprimé"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Lien de réinitialisation du mot de passe introuvable"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Liens de réinitialisation de mot de passe supprimé"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Inviter dans le cercle"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Au moins un cercle doit être sélectionné"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Valide pour"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Une heure"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Douze heures"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Une journée"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Une semaine"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Quatre semaines"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Type d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuelle"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Révoquer"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation créée"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Cette invitation n’existe pas"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation révoquée"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Créer un cercle"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Cercle créé"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Sélectionner un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Mettre à jour le cercle"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Supprimer le cercle définitivement"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Ajouter un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Ce cercle n’existe pas"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Données du cercle mises à jour"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Cercle supprimé"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Utilisateur ajouté à ce cercle"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Utilisateur retiré du cercle"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr "Contenu du message"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr "Envoyer uniquement aux utilisateurs connectés"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr "Envoyer aux utilisateurs"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr "Envoyer une prévisualisation à vous-mêmes"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr "Annonce envoyée !"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Principal"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"Les données du compte que vous avez essayé d'importer sont trop volumineuses "
|
||||
"pour être téléchargées. Veuillez contacter votre opérateur Snikket."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Nom d’utilisateur"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmer le mot de passe"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Les mots de passe doivent être identiques."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Créer un compte"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Ce nom d’utilisateur est déjà utilisé."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "L’enregistrement a été refusé pour des raisons inconnues."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Le nom d’utilisateur n’est pas valide."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Changer de mot de passe"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "Fichier de données du compte"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Importer les données"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"Les données du compte que vous avez essayé d'importer sont dans un format "
|
||||
"inconnu. Veuillez télécharger un fichier XML au format XEP-0227 (format "
|
||||
"fourni : %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "S’identifier"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nom d’utilisateur ou mot de passe incorrect."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Connexion réussie !"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Mot de passe actuel"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirmer le nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Les nouveaux mots de passe doivent être identiques."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Se déconnecter"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Personne"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Amis seulement"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Tout le monde"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilité du profil"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Mettre à jour le profil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Données du compte"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Télécharger"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Mot de passe incorrect."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Mot de passe changé"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +368,17 @@ msgstr ""
|
||||
"L’avatar choisi est trop gros. Pour utiliser un avatar aussi large, veuillez "
|
||||
"utiliser l’application."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil mis à jour"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Exporter"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Vous n'avez actuellement aucune donnée de compte à exporter."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -427,7 +470,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Version des logiciels"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Retour à la page principale"
|
||||
|
||||
@@ -574,6 +617,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -929,6 +973,7 @@ msgstr "Charge système (moyenne sur 5 minutes)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr "inconnu(e)"
|
||||
|
||||
@@ -974,14 +1019,18 @@ msgid "Snikket server status"
|
||||
msgstr "Statut du serveur Snikket"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Stockage utilisé par les fichiers partagés"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr "Clients connectés"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr "Diffusion de message"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1100,8 +1149,8 @@ msgstr "L’application est déjà installée ?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Ouvrir l’application"
|
||||
|
||||
@@ -1169,7 +1218,6 @@ msgstr ""
|
||||
"Vous pouvez désormais vous connecter en utilisant votre nouveau mot de passe."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Vous pouvez maintenant fermer cette page en toute sécurité."
|
||||
|
||||
@@ -1205,7 +1253,6 @@ msgstr ""
|
||||
"utilisant le bouton Scan tout en haut."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1266,6 +1313,46 @@ msgstr ""
|
||||
"Vous pouvez maintenant configurer votre client XMPP avec l’adresse ci-dessus "
|
||||
"et le mot de passe que vous avez choisi lors de l’enregistrement."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Vous pouvez maintenant fermer cette page en toute sécurité, ou vous "
|
||||
"connecter au portail web pour <a href=\"%(login_url)s\">gérer votre compte</"
|
||||
"a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Importation réussie"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
"Félicitations ! Les données de votre compte ont été importées avec succès."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Nouveau utilisateur Snikket ?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Si vous passez d'une autre instance de Snikket ou d'un autre service "
|
||||
"compatible XMPP, vous pouvez éventuellement importer les données (contacts, "
|
||||
"informations de profil, etc.) de votre ancien compte. Lorsque vous avez "
|
||||
"exporté les données de votre ancien compte, téléchargez-les en utilisant le "
|
||||
"formulaire ci-dessous."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Télécharger les données du compte"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1313,16 +1400,15 @@ msgid "Get it on Google Play"
|
||||
msgstr "Obtenez-la sur Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Télécharger sur l’App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
msgstr "Obtenez-le sur F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
#, fuzzy
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Envoyer vers l'appareil"
|
||||
|
||||
@@ -1352,11 +1438,11 @@ msgid "Scan invite code"
|
||||
msgstr "Scanner le code d’invitation"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
@@ -1369,64 +1455,51 @@ msgstr ""
|
||||
"scannant un code avec votre appareil photo. Vous pouvez utiliser soit une "
|
||||
"application de scanner de QR code, soit l’application Snikket elle-même."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "En utilisant un scanner de QR code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "En utilisant l’application Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Utilisez un scanner de <em>QR code</em> sur votre appareil mobile pour "
|
||||
"scanner le code ci-dessous :"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installez l’application Snikket sur votre appareil mobile, ouvrez-la et "
|
||||
"appuyez sur le bouton « Scan » en haut."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installer sur iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Après avoir téléchargé Snikket depuis l'App Store, vous devez revenir à ce "
|
||||
"lien d'invitation et cliquer sur \"Ouvrir l'application\" pour continuer."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Téléchargez d'abord Snikket depuis l'App Store en utilisant le bouton ci-"
|
||||
"dessous :"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
"Une fois l'installation terminée, vous pouvez revenir à cette page et "
|
||||
"appuyer sur le bouton \"Ouvrir l'application\" pour poursuivre la "
|
||||
"configuration :"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installer via F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Après avoir installé Snikket via F-Droid, vous devez revenir à ce lien "
|
||||
"d'invitation et appuyer sur \"Ouvrir l'application\" pour continuer."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
"Installez d'abord Snikket depuis F-Droid en utilisant le bouton ci-dessous :"
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
@@ -1491,16 +1564,21 @@ msgstr "Votre adresse XMPP"
|
||||
msgid "Edit profile"
|
||||
msgstr "Éditer votre profil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Gérer vos données"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Votre Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
"Gérer les utilisateurs, invitations et cercles de votre service Snikket."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Panneau d’administration"
|
||||
|
||||
@@ -1516,6 +1594,18 @@ msgstr ""
|
||||
"Cliquez ci-dessous pour vous déconnecter du portail. Ceci n’affecte pas vos "
|
||||
"autres appareils connectés."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Exportation du compte"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
"Téléchargez les données de votre compte sous forme d'un fichier à des fins "
|
||||
"de sauvegarde ou pour transférer votre compte vers un autre service."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Changer votre mot de passe"
|
||||
@@ -1558,6 +1648,26 @@ msgstr ""
|
||||
"Cette section permet de configurer qui peut voir votre profil, comme par "
|
||||
"exemple votre avatar et votre pseudonyme."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "En utilisant un scanner de QR code"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "En utilisant l’application Snikket"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Utilisez un scanner de <em>QR code</em> sur votre appareil mobile pour "
|
||||
#~ "scanner le code ci-dessous :"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Installez l’application Snikket sur votre appareil mobile, ouvrez-la et "
|
||||
#~ "appuyez sur le bouton « Scan » en haut."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Crée un lien de réinitialisation de mot de passe pour %(user_name)s"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,321 +7,359 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-06-21 23:01+0000\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-01-18 14:59+0000\n"
|
||||
"Last-Translator: uira <inboxriau@andriana.id>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/id/>\n"
|
||||
"Language-Team: Indonesian <http://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/id/>\n"
|
||||
"Language: id\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.5.1\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Terbatas"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Nama login"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Nama tampilan"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Level akses"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Terbatas"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Pengguna normal"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Memperbarui pengguna"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Buat tautan setel ulang kata sandi"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Tautan setel ulang kata sandi dibuat"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Informasi pengguna diperbarui."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Hapus permanen pengguna"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Pengguna dihapus"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Tautan setel ulang kata sandi tidak ditemukan"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Tautan setel ulang kata sandi dihapus"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Undang masuk kelompok"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Minimal satu kelompok harus dipilih"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Valid selama"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Satu jam"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dua belas jam"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Satu hari"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Satu minggu"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Empat minggu"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Jenis undangan"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individu"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grup"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Tautan undangan baru"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Batalkan"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Undangan dibuat"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Undangan tidak tersedia"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Undangan dibatalkan"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Buat kelompok"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Kelompok dibuat"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Pilih pengguna"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Memperbarui kelompok"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Hapus kelompok secara permanen"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Tambah pengguna"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Kelompok tersebut tidak ada"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Data kelompok diperbarui"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Kelompok dihapus"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Pengguna ditambahkan ke kelompok"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Pengguna dihapus dari kelompok"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr "Isi pesan"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr "Hanya kirim ke pengguna online"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr "Kirim ke semua pengguna"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr "Kirim pratinjau ke diri sendiri"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr "Pengumuman terkirim!"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Utama"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"Data akun yang coba diimpor terlalu besar untuk diunggah. Silakan hubungi "
|
||||
"operator Snikket Anda."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Nama pengguna"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Kata sandi harus cocok."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Buat akun"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Nama pengguna itu sudah dipakai."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Nama pengguna tidak valid."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Ganti kata sandi"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "File data akun"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Impor data"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"Data akun yang coba diimpor dalam format yang tidak dikenal. Harap unggah "
|
||||
"file XML dalam format XEP-0227 (format yang disediakan: %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Kesalahan"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Alamat"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Masuk"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nama pengguna atau kata sandi salah."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Login berhasil!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Kata sandi sekarang"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Kata sandi baru"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Kata sandi baru harus cocok."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Keluar"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Tak seorangpun"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Hanya teman"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Semua orang"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Gambar profil"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilitas profil"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Perbarui profil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Data akun"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Unggah"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Kata sandi salah."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Kata sandi diganti"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +367,17 @@ msgstr ""
|
||||
"Avatar yang dipilih terlalu besar. Untuk dapat mengunggah avatar yang lebih "
|
||||
"besar, sila gunakan aplikasi."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil diperbarui"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Kesalahan"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Ekspor"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Anda tidak memiliki data akun untuk diekspor."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -429,7 +471,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Versi perangkat lunak"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Kembali ke halaman depan"
|
||||
|
||||
@@ -576,6 +618,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -930,6 +973,7 @@ msgstr "Beban sistem (rata-rata 5 menit)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr "Tidak diketahui"
|
||||
|
||||
@@ -975,14 +1019,18 @@ msgid "Snikket server status"
|
||||
msgstr "Status server Snikket"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Penyimpanan yang digunakan oleh file bersama"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr "Perangkat terhubung"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr "Siarkan pesan"
|
||||
msgstr "Sebarkan pesan"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1100,8 +1148,8 @@ msgstr "Aplikasi sudah dipasang?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Buka aplikasi"
|
||||
|
||||
@@ -1168,7 +1216,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Anda dapat masuk menggunakan kata sandi baru Anda."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Sekarang Anda dapat menutup halaman ini."
|
||||
|
||||
@@ -1204,7 +1251,6 @@ msgstr ""
|
||||
"tombol Pindai di bagian atas."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1260,6 +1306,44 @@ msgstr ""
|
||||
"Sekarang anda dapat mempersiapkan aplikasi XMPP lawas Anda dengan alamat di "
|
||||
"atas dan kata sandi yang dipilih saat pendaftaran."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Anda dapat menutup halaman ini dengan aman, atau masuk ke portal web untuk "
|
||||
"<a href=\"%(login_url)s\">mengelola akun anda</a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Impor berhasil"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr "Selamat! Data akun Anda telah berhasil diimpor."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Pindahkan ke Snikket?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Jika Anda berpindah dari instans Snikket yang berbeda atau layanan lain yang "
|
||||
"kompatibel dengan XMPP, Anda memiliki pilihan mengimpor data (kontak, "
|
||||
"informasi profil, dll.) dari akun Anda sebelumnya. Ketika Anda telah "
|
||||
"mengekspor data dari akun Anda sebelumnya, unggah menggunakan form di bawah "
|
||||
"ini."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Unggah data akun"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1305,7 +1389,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Dapatkan di Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Unduh di App Store"
|
||||
|
||||
@@ -1341,11 +1425,11 @@ msgid "Scan invite code"
|
||||
msgstr "Pindai kode undangan"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
@@ -1358,34 +1442,11 @@ msgstr ""
|
||||
"kode dengan kamera. Anda dapat menggunakan aplikasi pemindai QR atau "
|
||||
"aplikasi Snikket."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Menggunakan pemindai kode QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Menggunakan Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Gunakan pemindai <em>kode QR</em> di perangkat seluler Anda untuk memindai "
|
||||
"kode di bawah:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Instal aplikasi Snikket di perangkat seluler Anda, buka, dan ketuk tombol "
|
||||
"'Pindai'."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Pasang di iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1393,12 +1454,12 @@ msgstr ""
|
||||
"Setelah mengunduh Snikket dari App Store, Anda harus kembali ke tautan "
|
||||
"undangan ini dan klik \"Buka aplikasi\" untuk melanjutkan."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr "Pertama, unduh Snikket dari App Store menggunakan tombol di bawah ini:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1406,12 +1467,12 @@ msgstr ""
|
||||
"Setelah instalasi selesai, Anda dapat kembali ke halaman ini dan mengetuk "
|
||||
"tombol \"Buka aplikasi\" untuk melanjutkan pemasangan:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Install melalui F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1419,7 +1480,7 @@ msgstr ""
|
||||
"Setelah menginstal Snikket melalui F-Droid, Anda harus kembali ke tautan "
|
||||
"undangan ini dan ketuk \"Buka aplikasi\" untuk melanjutkan."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Pertama install Snikket dari F-Droid menggunakan tombol di bawah ini:"
|
||||
|
||||
@@ -1486,15 +1547,20 @@ msgstr "Alamat XMPP anda"
|
||||
msgid "Edit profile"
|
||||
msgstr "Edit profil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Kelola data anda"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Snikket anda"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Kelola pengguna, undangan dan kelompok pengguna layanan Snikket."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Panel Administrator"
|
||||
|
||||
@@ -1510,6 +1576,18 @@ msgstr ""
|
||||
"Klik tombol untuk keluar dari portal web. Ini tidak mempengaruhi perangkat "
|
||||
"lain yang terhubung."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Ekspor akun"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
"Unduh data akun sebagai file untuk backup atau untuk memindahkan akun Anda "
|
||||
"ke layanan lain."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ganti kata sandi anda"
|
||||
@@ -1552,6 +1630,26 @@ msgstr ""
|
||||
"Bagian ini memungkinkan Anda untuk mengontrol siapa yang bisa melihat profil "
|
||||
"Anda, seperti avatar dan nama panggilan."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Menggunakan pemindai kode QR"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Menggunakan Snikket"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Gunakan pemindai <em>kode QR</em> di perangkat seluler Anda untuk "
|
||||
#~ "memindai kode di bawah:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Instal aplikasi Snikket di perangkat seluler Anda, buka, dan ketuk tombol "
|
||||
#~ "'Pindai'."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Buat tautan setel ulang kata sandi untuk %(user_name)s"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-05-19 15:12+0000\n"
|
||||
"Last-Translator: Roberto Resoli <roberto@resolutions.it>\n"
|
||||
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
@@ -20,308 +20,342 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Limitato"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Livello di accesso"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Limitato"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Utente normale"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Amministratore"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Aggiorna utente"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Crea collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Creato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Informazioni utente aggiornate."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Elimina definitivamente l'utente"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Utente rimosso"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Collegamento per reimpostare la password non trovato"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Eliminato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invita nella cerchia"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Devi selezionare almeno una cerchia"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Valido per"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Un'ora"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dodici ore"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Un giorno"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Una settimana"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Quattro settimane"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Tipo di invito"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuale"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppo"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Nuovo collegamento di invito"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Revoca"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Invito creato"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Questo invito non esiste"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invito revocato"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Crea cerchia"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Cerchia creata"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Seleziona utente"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Modifica cerchia"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Elimina cerchia definitivamente"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Aggiungi utente"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Questa cerchia non esiste"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Dati della cerchia aggiornati"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Cerchia eliminata"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Utente aggiunto alla cerchia"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Utente rimosso dalla cerchia"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Principale"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Conferma password"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Le password devono essere identiche."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Crea utenza"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Nome utente già in uso."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registrazione rifiutata per motivi sconosciuti."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Nome utente non valido."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Cambia password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Indirizzo"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nome utente o password non validi."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Accesso riuscito!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Password attuale"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Nuova password"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Conferma nuova password"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Le nuove password devono essere identiche."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Esci"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Nessuno"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Solo amici"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Chiunque"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilità del profilo"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Modifica profilo"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Password errata."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Password cambiata"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +363,17 @@ msgstr ""
|
||||
"L'avatar scelto è troppo grande. Per utilizzare un avatar così grande, "
|
||||
"utilizzate l'app."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilo aggiornato"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -428,7 +466,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Versioni dei programmi"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Torna alla pagina principale"
|
||||
|
||||
@@ -575,6 +613,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -931,6 +970,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -976,14 +1016,18 @@ msgid "Snikket server status"
|
||||
msgstr "Portale Web di Snikket"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1099,8 +1143,8 @@ msgstr "Applicazione già installata?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Apri l'applicazione"
|
||||
|
||||
@@ -1167,7 +1211,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Ora puoi collegarti utilizzando la nuova password."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Puoi chiudere questa pagina in tutta sicurezza."
|
||||
|
||||
@@ -1203,7 +1246,6 @@ msgstr ""
|
||||
"Snikket utilizzando il pulsante di scansione in alto."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1261,6 +1303,41 @@ msgstr ""
|
||||
"Ora puoi impostare il tuo client XMPP con l'indirizzo mostrato sopra e la "
|
||||
"password che hai impostato durante la registrazione."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
#, fuzzy
|
||||
#| msgid "Operation successful"
|
||||
msgid "Import successful"
|
||||
msgstr "Operazione completata"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "Using the Snikket app"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Usa l'applicazione Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1308,7 +1385,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Scarica da Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Scarica dall'App Store"
|
||||
|
||||
@@ -1345,11 +1422,11 @@ msgid "Scan invite code"
|
||||
msgstr "Scansiona il codice di invito"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
@@ -1362,34 +1439,11 @@ msgstr ""
|
||||
"con la fotocamera. Puoi usare un lettore di codici QR o l'applicazione "
|
||||
"Snikket stessa."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Usa un lettore di codici QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Usa l'applicazione Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Usa un lettore di <em>codici QR</em> sul tuo dispositivo mobile per "
|
||||
"scansionare il seguente codice:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installa l'applicazione Snikket sul tuo dispositivo mobile, aprila e poi "
|
||||
"premi il pulsante di scansione in alto."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installa su iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1397,14 +1451,14 @@ msgstr ""
|
||||
"Dopo aver scaricato Snikket dall'App Store, devi tornare a questo link di "
|
||||
"invito e toccare \"Apri nell'app\" per procedere."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Per prima cosa, scarica Snikket dall'App Store utilizzando il pulsante qui "
|
||||
"sotto:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1412,12 +1466,12 @@ msgstr ""
|
||||
"Dopo che l'installazione è completa, puoi tornare a questa pagina e toccare "
|
||||
"il pulsante \"Apri nell'app\" per continuare con la configurazione:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installa da F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1425,7 +1479,7 @@ msgstr ""
|
||||
"Dopo aver installato Snikket da F-Droid, devi tornare a questo link di "
|
||||
"invito e toccare su \"Apri nell'app\" per procedere."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
"Per prima cosa installa Snikket da F-Droid utilizzando il pulsante qui sotto:"
|
||||
@@ -1496,15 +1550,22 @@ msgstr "Il tuo indirizzo XMPP"
|
||||
msgid "Edit profile"
|
||||
msgstr "Modifica profilo"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "Gestisci utenti"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Il tuo Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Gestisci utenti, inviti e cerchie del tuo servizio Snikket."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Pannello amministrativo"
|
||||
|
||||
@@ -1520,6 +1581,18 @@ msgstr ""
|
||||
"Premi il pulsante sottostante per uscire dal portale web. Non ha effetto "
|
||||
"sugli altri dispositivi collegati."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Your account"
|
||||
msgid "Export account"
|
||||
msgstr "La tua utenza"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Modifica la tua password"
|
||||
@@ -1562,6 +1635,26 @@ msgstr ""
|
||||
"Questa sezione ti permette di controllare chi può visualizzare i dettagli "
|
||||
"del tuo profilo, come ad esempio l'avatar o il soprannome."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Usa un lettore di codici QR"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Usa l'applicazione Snikket"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Usa un lettore di <em>codici QR</em> sul tuo dispositivo mobile per "
|
||||
#~ "scansionare il seguente codice:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Installa l'applicazione Snikket sul tuo dispositivo mobile, aprila e poi "
|
||||
#~ "premi il pulsante di scansione in alto."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Crea collegamento per reimpostare la password di %(user_name)s"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-01-28 17:55+0000\n"
|
||||
"Last-Translator: pep <pep@bouah.net>\n"
|
||||
"Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
@@ -20,367 +20,405 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "ロゲイン名"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "表示名"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "管理"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
#, fuzzy
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "サークルを更新"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Create password reset link"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "ユーザー詳細"
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "ユーザーを削除する"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "サークルを選択してください"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "有効期限"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "一時間"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "12時間"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "一日"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "一週間"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "4週間"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "一回"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "複数回"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "取り消す"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "名"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "サークルを作成"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "ユーザー選択"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "サークルを更新"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "サークルを削除"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "ユーザーを追加する"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "なし"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
#, fuzzy
|
||||
#| msgid "Circle members"
|
||||
msgid "Circle deleted"
|
||||
msgstr "サークル会員"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "%(username)s をサークルから外す"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "第一サークル"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "ユーザー名"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "確認用パスワード"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "確認用パスワードが一致しません"
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "アカウント作成"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "このユーザー名は存在しています"
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "理由不明の登録エラー"
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "ユーザー名が不正"
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "パスワード変更"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "アドレス"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "サインイン"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "ユーザー名またはパスワードが不正。"
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "現在のパスワード"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "新しいパスワード"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "新しいパスワードの確認"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "新しいパスワードが不一致"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "サインアウト"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "コンタクト限定"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "全員"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "アバター"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "プロファイル管理"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "パスワード不正"
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "パスワード再設定"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "プロファイル"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
@@ -460,7 +498,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "ソフトウェアバーション"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "戻る"
|
||||
|
||||
@@ -597,6 +635,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -956,6 +995,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1001,14 +1041,18 @@ msgid "Snikket server status"
|
||||
msgstr "Snikket ホームページ"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1124,8 +1168,8 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
@@ -1191,7 +1235,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr ""
|
||||
|
||||
@@ -1223,7 +1266,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1275,6 +1317,41 @@ msgid ""
|
||||
"password you chose during registration."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Import successful"
|
||||
msgstr "パスワード再設定"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "About Snikket"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Snikketについて"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1314,7 +1391,7 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
@@ -1345,11 +1422,11 @@ msgid "Scan invite code"
|
||||
msgstr "紹介状をスキャン"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "閉める"
|
||||
|
||||
@@ -1359,58 +1436,39 @@ msgid ""
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1482,17 +1540,24 @@ msgstr "談話室アドレス"
|
||||
msgid "Edit profile"
|
||||
msgstr "プロファイル管理"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "ユーザー管理"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
#, fuzzy
|
||||
#| msgid "About Snikket"
|
||||
msgid "Your Snikket"
|
||||
msgstr "Snikketについて"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Admin panel"
|
||||
@@ -1508,6 +1573,18 @@ msgid ""
|
||||
"other connected devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Create account"
|
||||
msgid "Export account"
|
||||
msgstr "アカウント作成"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "パスワード変更"
|
||||
|
||||
@@ -1,335 +1,373 @@
|
||||
# Translations template for PROJECT.
|
||||
# Copyright (C) 2021 ORGANIZATION
|
||||
# Copyright (C) 2023 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2023-03-28 19:16+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
"Generated-By: Babel 2.12.1\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please "
|
||||
"contact your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please "
|
||||
"upload an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please"
|
||||
" use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
@@ -407,7 +445,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr ""
|
||||
|
||||
@@ -542,6 +580,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -875,6 +914,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -918,14 +958,18 @@ msgid "Snikket server status"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on "
|
||||
"your Snikket server. Use it wisely."
|
||||
@@ -1035,8 +1079,8 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
@@ -1097,7 +1141,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr ""
|
||||
|
||||
@@ -1127,7 +1170,6 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1175,6 +1217,37 @@ msgid ""
|
||||
" password you chose during registration."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a "
|
||||
"href=\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile"
|
||||
" information, etc.) from your previous account. When you have exported "
|
||||
"the data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1215,7 +1288,7 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
@@ -1246,11 +1319,11 @@ msgid "Scan invite code"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -1261,59 +1334,39 @@ msgid ""
|
||||
"itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
"below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the "
|
||||
"'Scan' button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap "
|
||||
"the \"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite "
|
||||
"link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1377,15 +1430,20 @@ msgstr ""
|
||||
msgid "Edit profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr ""
|
||||
|
||||
@@ -1399,6 +1457,16 @@ msgid ""
|
||||
"any other connected devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-09-03 15:00+0000\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-01-21 15:00+0000\n"
|
||||
"Last-Translator: misiek <migelazur@mailbox.org>\n"
|
||||
"Language-Team: Polish <http://i18n.sotecware.net/projects/snikket/web-portal/"
|
||||
"pl/>\n"
|
||||
@@ -18,311 +18,349 @@ msgstr ""
|
||||
"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.7.2\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Ograniczony"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Poziom dostępu"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Ograniczony"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Zwykły użytkownik"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Zapisz ustawienia użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Stwórz link do zresetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Utworzono link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Zaktualizowano informacje o użytkowniku."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Usuń użytkownika bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Użytkownik został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Nie znaleziono linku do zresetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Usunięto link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Zaproś do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Należy wybrać przynajmniej jeden krąg"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Ważne przez"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Godzinę"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dwanaście godzin"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Dzień"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Tydzień"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Cztery tygodnie"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Typ zaproszenia"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Indywidualne"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grupowe"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Nowy link z zaproszeniem"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Unieważnij"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Utworzono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Takie zaproszenie nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Unieważniono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Utwórz krąg"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Utworzono krąg"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Wybierz użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Zaktualizuj ustawienia kręgu"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Usuń krąg bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Dodaj użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Taki krąg nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Zaktualizowano dane kręgu"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Krąg został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Dodano użytkownika do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Usunięto użytkownika z kręgu"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr "Treść wiadomości"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr "Wyślij jedynie do użytkowników online"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr "Wyślij do wszystkich użytkowników"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr "Prześlij do siebie podgląd wiadomości"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr "Komunikat wysłany!"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Główny"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"Plik z danymi konta, które próbujesz zaimportować, jest zbyt duży. "
|
||||
"Skontaktuj się z administratorem twojego serwera Snikket."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Hasła muszą się zgadzać."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Utwórz konto"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Ta nazwa użytkownika jest już zajęta."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Z nieznanych przyczyn rejestracja została odrzucona."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Ta nazwa użytkownika jest nieprawidłowa."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Zmień hasło"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "Plik z danymi konta"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Importuj dane"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"Dane konta, które próbujesz zaimportować, mają nieznany format. Proszę "
|
||||
"wybrać plik w formacie XML zgodnym z XEP-0227 (podany format: %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Adres"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Zalogowano się pomyślnie!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Obecne hasło"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Potwierdź nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Nowe hasła muszą się zgadzać."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Wyloguj się"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Nikt"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Tylko znajomi"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Wszyscy"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Awatar"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Widoczność profilu"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Zaktualizuj profil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Dane konta"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Prześlij"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Nieprawidłowe hasło."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Hasło zostało zmienione"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -330,13 +368,17 @@ msgstr ""
|
||||
"Wybrany awatar jest zbyt duży. Awatary o większych rozmiarach możesz ustawić "
|
||||
"korzystając z aplikacji."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Zaktualizowano profil"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Eksportuj"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Obecnie nie masz danych konta, które można wyeksportować."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -429,7 +471,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Wersje oprogramowania"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Wróć do strony głównej"
|
||||
|
||||
@@ -576,6 +618,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -932,6 +975,7 @@ msgstr "Obciążenie systemu (dla ostatnich 5 minut)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr "nieznane"
|
||||
|
||||
@@ -977,14 +1021,18 @@ msgid "Snikket server status"
|
||||
msgstr "Status serwera Snikket"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Miejsce wykorzystane przez przesłane pliki"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr "Podłączone urządzenia"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr "Wiadomość globalna"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1104,8 +1152,8 @@ msgstr "Aplikacja jest już zainstalowana?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Otwórz aplikację"
|
||||
|
||||
@@ -1172,7 +1220,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Możesz się zalogować z wykorzystaniem twojego nowego hasła."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Możesz teraz bezpiecznie zamknąć tę stronę."
|
||||
|
||||
@@ -1208,7 +1255,6 @@ msgstr ""
|
||||
"przycisku Skanowania, który znajduje się u góry."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1266,6 +1312,44 @@ msgstr ""
|
||||
"Możesz teraz skonfigurować swojego starszego klienta XMPP za pomocą "
|
||||
"powyższego adresu i hasła, które podałeś podczas rejestracji."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Możesz bezpiecznie zamknąć tę stronę lub zalogować się do Portalu "
|
||||
"Użytkownika Snikket, aby <a href=\"%(login_url)s\">zarządzać swoim kontem</"
|
||||
"a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Import zakończony sukcesem"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr "Gratulacje! Dane twojego konta zostały prawidłowo zaimportowane."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Przenosisz się na Snikket?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Jeśli przenosisz się z innego serwera Snikket lub kompatybilnej usługi XMPP, "
|
||||
"możesz opcjonalnie zaimportować dane (kontakty, informacje o profilu, itp.) "
|
||||
"ze swojego poprzedniego konta. Gdy wyeksportujesz dane z poprzedniej usługi, "
|
||||
"możesz je przesłać za pomocą poniższego formularza."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Prześlij dane konta"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1314,7 +1398,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Pobierz w Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Pobierz w App Store"
|
||||
|
||||
@@ -1351,11 +1435,11 @@ msgid "Scan invite code"
|
||||
msgstr "Zeskanuj kod zaproszenia"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
@@ -1368,34 +1452,11 @@ msgstr ""
|
||||
"poniższy kod aparatem. Możesz również skorzystać ze skanera kodów QR lub "
|
||||
"samej aplikacji Snikket."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Używając skanera kodów QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Używając aplikacji Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Użyj skanera <em>kodów QR</em> na swoim urządzeniu mobilnym, by zeskanować "
|
||||
"poniższy kod:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Zainstaluj aplikację Snikket na swoim urządzeniu mobilnym, otwórz ją, "
|
||||
"następnie wciśnij przycisk \"Skanuj\" u góry."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Zainstaluj na iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1403,14 +1464,14 @@ msgstr ""
|
||||
"Po pobraniu aplikacji Snikket z App Store musisz wrócić do tego linku z "
|
||||
"zaproszeniem, następnie kliknąć \"Otwórz aplikację\", aby kontynuować."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Najpierw pobierz aplikację Snikket z App Store za pomocą poniższego "
|
||||
"przycisku:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1418,12 +1479,12 @@ msgstr ""
|
||||
"Po zakończeniu instalacji możesz wrócić do tej strony i kliknąć przycisk "
|
||||
"\"Otwórz aplikację\", aby kontynuować:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Zainstaluj przez F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1432,7 +1493,7 @@ msgstr ""
|
||||
"linku z zaproszeniem, następnie kliknąć \"Otwórz aplikację\", aby "
|
||||
"kontynuować."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
"Najpierw zainstaluj aplikację Snikket z F-Droid, korzystając z poniższego "
|
||||
@@ -1503,16 +1564,21 @@ msgstr "Twój adres XMPP"
|
||||
msgid "Edit profile"
|
||||
msgstr "Edytuj profil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Zarządzaj danymi konta"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Twój Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
"Zarządzaj użytkownikami, zaproszeniami oraz kręgami na tym serwerze Snikket."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Panel administracyjny"
|
||||
|
||||
@@ -1528,6 +1594,18 @@ msgstr ""
|
||||
"Kliknij poniżej, aby wylogować się z portalu. Nie wpłynie to na pozostałe "
|
||||
"podłączone urządzenia."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Wyeksportuj swoje dane"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
"Pobierz dane swojego konta jako plik w celu backupu lub przeniesienia konta "
|
||||
"na inną usługę."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Zmień swoje hasło"
|
||||
@@ -1568,6 +1646,26 @@ msgstr ""
|
||||
"Ta sekcja pozwoli ci na zarządzenie widocznością informacji o twoim profilu "
|
||||
"przez innych, jak awatar lub pseudonim."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Używając skanera kodów QR"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Używając aplikacji Snikket"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Użyj skanera <em>kodów QR</em> na swoim urządzeniu mobilnym, by "
|
||||
#~ "zeskanować poniższy kod:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Zainstaluj aplikację Snikket na swoim urządzeniu mobilnym, otwórz ją, "
|
||||
#~ "następnie wciśnij przycisk \"Skanuj\" u góry."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Utwórz link resetowania hasła dla %(user_name)s"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2021-03-12 23:04+0000\n"
|
||||
"Last-Translator: GodGoldfish <godgoldfish@pm.me>\n"
|
||||
"Language-Team: Russian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
@@ -21,342 +21,380 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Логин"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Отображаемое имя"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "Административная зона"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
#, fuzzy
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "Обновить крук"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Create password reset link"
|
||||
msgstr "Создайте ссылки для сброса пароля или удалите пользователей."
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Ссылка на сброс пароля для %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
#, fuzzy
|
||||
#| msgid "Circle information"
|
||||
msgid "User information updated."
|
||||
msgstr "Информация о круге"
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Удалить пользователя навсегда"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "удалённый"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link created"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Ссылка на сброс пароля для %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Создайте ссылки для сброса пароля или удалите пользователей"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Пригласить в круг"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Необходимо выбрать хотя бы один круг"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Действителен в течении"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "Один час"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Двенадцать часов"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "Один день"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "Одна неделя"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Четыре недели"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Вид приглашения"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Индивидуальный"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Группа"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Новая ссылка на приглашение"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Aннулировать"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Вид приглашения"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Новая ссылка на приглашение"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Вид приглашения"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Имя"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Создать крук"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Имя круга"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Выврать пользователя"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Обновить крук"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Удалить круг навсегда"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Добавить пользователя"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Нет кругов"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Имя круга"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "удалённый"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Пригласить в круг"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Удалить пользователя %(username)s из круга"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Основное"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Повторите пароль"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "Паролт должны совпадать"
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Создать аккунт"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "Это имя пользователя уже используется"
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Регистрация была отклонена по неизвестным причинам"
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "Имя пользователя недействительно"
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Изменить пароль"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Адрес"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Войти"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Неверное имя пользователя или пароль."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Войти успешно!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Текущий пароль"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Новый пароль"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Подтвердить новый пароль"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Новые пароли должны совпадать"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Никто"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Только друзья"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Все"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Аватар"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Видимость профиля"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Обновить профиль"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Неправильный пароль"
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Смена пароля"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Профиль"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -450,7 +488,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Версии программного обеспечения"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Назад на главную страницу"
|
||||
|
||||
@@ -597,6 +635,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -954,6 +993,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -999,14 +1039,18 @@ msgid "Snikket server status"
|
||||
msgstr "Сниккет веб-портал"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1128,8 +1172,8 @@ msgstr "Приложение уже установлено?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Откройте приложение"
|
||||
|
||||
@@ -1198,7 +1242,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Теперь вы можете войти в систему, используя новый пароль."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Теперь вы можете безопасно закрыть эту страницу."
|
||||
|
||||
@@ -1233,7 +1276,6 @@ msgstr ""
|
||||
"помощью приложения Snikket App, используя кнопку Сканировать в верхней части."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1291,6 +1333,41 @@ msgstr ""
|
||||
"Теперь вы можете настроить ваш старый XMPP клиент с указанным выше адресом и "
|
||||
"паролем, который вы выбрали при регистрации."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
#, fuzzy
|
||||
#| msgid "Operation successful"
|
||||
msgid "Import successful"
|
||||
msgstr "Операция прошла успешно"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
#, fuzzy
|
||||
#| msgid "Using the Snikket app"
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Использование приложения Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1337,7 +1414,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Получить его в Гугл Игры"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Скачать в Магазин Приложений"
|
||||
|
||||
@@ -1374,11 +1451,11 @@ msgid "Scan invite code"
|
||||
msgstr "Сканировать код приглашения"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "близко"
|
||||
|
||||
@@ -1391,62 +1468,39 @@ msgstr ""
|
||||
"отсканировав код с помощью камеры. Вы можете использовать как приложение QR-"
|
||||
"сканера, так и само приложение Сниккет."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Используя сканер QR-кода"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Использование приложения Сниккет"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Используйте сканер <em>QR-кода</em> на вашем мобильном устройстве для "
|
||||
"сканирования кода, приведенного ниже:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Установите приложение Сниккет на мобильное устройство, откройте его и "
|
||||
"нажмите кнопку 'Сканировать' сверху."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
@@ -1516,16 +1570,23 @@ msgstr "Ваш адрес XMPP"
|
||||
msgid "Edit profile"
|
||||
msgstr "реадктировать профиль"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Manage users"
|
||||
msgid "Manage your data"
|
||||
msgstr "Управлять пользователями"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Ваш Сниккет"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr ""
|
||||
"Управляйте пользователями, приглашениями и кругами вашего сервиса Сниккет."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Административная панель"
|
||||
|
||||
@@ -1541,6 +1602,18 @@ msgstr ""
|
||||
"Нажмите ниже, чтобы выйти из веб-портала. Это не влияет на другие "
|
||||
"подключенные устройства."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
#, fuzzy
|
||||
#| msgid "Your account"
|
||||
msgid "Export account"
|
||||
msgstr "Ваш аккаунт"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Изменить пароль"
|
||||
@@ -1583,6 +1656,26 @@ msgstr ""
|
||||
"Этот раздел позволяет вам контролировать, кто может видеть информацию вашего "
|
||||
"профиля, например, аватар и ник."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Используя сканер QR-кода"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Использование приложения Сниккет"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Используйте сканер <em>QR-кода</em> на вашем мобильном устройстве для "
|
||||
#~ "сканирования кода, приведенного ниже:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Установите приложение Сниккет на мобильное устройство, откройте его и "
|
||||
#~ "нажмите кнопку 'Сканировать' сверху."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Создать ссылку сброса пароля для %(user_name)s"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,321 +7,359 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-06-18 16:05+0200\n"
|
||||
"PO-Revision-Date: 2021-08-01 14:00+0000\n"
|
||||
"POT-Creation-Date: 2022-06-07 22:31+0200\n"
|
||||
"PO-Revision-Date: 2022-01-18 09:21+0000\n"
|
||||
"Last-Translator: Kim Alvefur <zash@zash.se>\n"
|
||||
"Language-Team: Swedish <http://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/sv/>\n"
|
||||
"Language-Team: Swedish <http://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/sv/>\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 4.7.2\n"
|
||||
"X-Generator: Weblate 4.8.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:66
|
||||
msgid "Limited"
|
||||
msgstr "Begränsad"
|
||||
|
||||
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/admin.py:69 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_edit_circle.html:59
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Inloggningsnamn"
|
||||
|
||||
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/admin.py:73 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_edit_circle.html:60
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr "Visningsnamn"
|
||||
|
||||
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32
|
||||
#: snikket_web/admin.py:77 snikket_web/templates/admin_edit_user.html:32
|
||||
msgid "Access Level"
|
||||
msgstr "Användarnivåer"
|
||||
|
||||
#: snikket_web/admin.py:84
|
||||
#: snikket_web/admin.py:79
|
||||
msgid "Limited"
|
||||
msgstr "Begränsad"
|
||||
|
||||
#: snikket_web/admin.py:80
|
||||
msgid "Normal user"
|
||||
msgstr "Vanlig användare"
|
||||
|
||||
#: snikket_web/admin.py:85
|
||||
#: snikket_web/admin.py:81
|
||||
msgid "Administrator"
|
||||
msgstr "Administratör"
|
||||
|
||||
#: snikket_web/admin.py:90
|
||||
#: snikket_web/admin.py:86
|
||||
msgid "Update user"
|
||||
msgstr "Uppdatera användare"
|
||||
|
||||
#: snikket_web/admin.py:94
|
||||
#: snikket_web/admin.py:90
|
||||
msgid "Create password reset link"
|
||||
msgstr "Skapa länk för återställning av lösenord"
|
||||
|
||||
#: snikket_web/admin.py:112
|
||||
#: snikket_web/admin.py:108
|
||||
msgid "Password reset link created"
|
||||
msgstr "Skapade länk för att återställa lösenord"
|
||||
|
||||
#: snikket_web/admin.py:127
|
||||
#: snikket_web/admin.py:123
|
||||
msgid "User information updated."
|
||||
msgstr "Användarinformation uppdaterad."
|
||||
|
||||
#: snikket_web/admin.py:149
|
||||
#: snikket_web/admin.py:145
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Radera användare permanent"
|
||||
|
||||
#: snikket_web/admin.py:162
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "User deleted"
|
||||
msgstr "Användare raderad"
|
||||
|
||||
#: snikket_web/admin.py:200
|
||||
#: snikket_web/admin.py:196
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Länk för återställning av lösenord hittades inte"
|
||||
|
||||
#: snikket_web/admin.py:212
|
||||
#: snikket_web/admin.py:208
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Länk för återställning av lösenord raderad"
|
||||
|
||||
#: snikket_web/admin.py:232
|
||||
#: snikket_web/admin.py:228
|
||||
msgid "Invite to circle"
|
||||
msgstr "Bjud in till krets"
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
#: snikket_web/admin.py:234
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Minst en krets behöver väljas"
|
||||
|
||||
#: snikket_web/admin.py:243
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Valid for"
|
||||
msgstr "Giltig i"
|
||||
|
||||
#: snikket_web/admin.py:245
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One hour"
|
||||
msgstr "En timme"
|
||||
|
||||
#: snikket_web/admin.py:246
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Twelve hours"
|
||||
msgstr "Tolv timmar"
|
||||
|
||||
#: snikket_web/admin.py:247
|
||||
#: snikket_web/admin.py:243
|
||||
msgid "One day"
|
||||
msgstr "En dag"
|
||||
|
||||
#: snikket_web/admin.py:248
|
||||
#: snikket_web/admin.py:244
|
||||
msgid "One week"
|
||||
msgstr "En vecka"
|
||||
|
||||
#: snikket_web/admin.py:249
|
||||
#: snikket_web/admin.py:245
|
||||
msgid "Four weeks"
|
||||
msgstr "Fyra veckor"
|
||||
|
||||
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Typ av inbjudan"
|
||||
|
||||
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:253 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuell"
|
||||
|
||||
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:254 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grupp"
|
||||
|
||||
#: snikket_web/admin.py:264
|
||||
#: snikket_web/admin.py:260
|
||||
msgid "New invitation link"
|
||||
msgstr "Ny inbjudanslänk"
|
||||
|
||||
#: snikket_web/admin.py:326
|
||||
#: snikket_web/admin.py:322
|
||||
msgid "Revoke"
|
||||
msgstr "Återkalla"
|
||||
|
||||
#: snikket_web/admin.py:350
|
||||
#: snikket_web/admin.py:346
|
||||
msgid "Invitation created"
|
||||
msgstr "Inbjudan skapad"
|
||||
|
||||
#: snikket_web/admin.py:366
|
||||
#: snikket_web/admin.py:362
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Inbjudanslänken finns inte"
|
||||
|
||||
#: snikket_web/admin.py:381
|
||||
#: snikket_web/admin.py:377
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Inbjudan återkallad"
|
||||
|
||||
#: snikket_web/admin.py:398 snikket_web/admin.py:446
|
||||
#: snikket_web/admin.py:394 snikket_web/admin.py:442
|
||||
msgid "Name"
|
||||
msgstr "Namn"
|
||||
|
||||
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:399 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Skapa krets"
|
||||
|
||||
#: snikket_web/admin.py:433
|
||||
#: snikket_web/admin.py:429
|
||||
msgid "Circle created"
|
||||
msgstr "Krets skapad"
|
||||
|
||||
#: snikket_web/admin.py:451
|
||||
#: snikket_web/admin.py:447
|
||||
msgid "Select user"
|
||||
msgstr "Välj användare"
|
||||
|
||||
#: snikket_web/admin.py:456
|
||||
#: snikket_web/admin.py:452
|
||||
msgid "Update circle"
|
||||
msgstr "Uppdatera krets"
|
||||
|
||||
#: snikket_web/admin.py:460
|
||||
#: snikket_web/admin.py:456
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Radera krets permanent"
|
||||
|
||||
#: snikket_web/admin.py:466
|
||||
#: snikket_web/admin.py:462
|
||||
msgid "Add user"
|
||||
msgstr "Lägg till användare"
|
||||
|
||||
#: snikket_web/admin.py:482
|
||||
#: snikket_web/admin.py:478
|
||||
msgid "No such circle exists"
|
||||
msgstr "Kretsen finns inte"
|
||||
|
||||
#: snikket_web/admin.py:519
|
||||
#: snikket_web/admin.py:515
|
||||
msgid "Circle data updated"
|
||||
msgstr "Kretsen uppdaterades"
|
||||
|
||||
#: snikket_web/admin.py:525
|
||||
#: snikket_web/admin.py:521
|
||||
msgid "Circle deleted"
|
||||
msgstr "Krets raderad"
|
||||
|
||||
#: snikket_web/admin.py:536
|
||||
#: snikket_web/admin.py:532
|
||||
msgid "User added to circle"
|
||||
msgstr "Användare tillagd i krets"
|
||||
|
||||
#: snikket_web/admin.py:545
|
||||
#: snikket_web/admin.py:541
|
||||
msgid "User removed from circle"
|
||||
msgstr "Användaren %(username)s borttagen från krets"
|
||||
|
||||
#: snikket_web/admin.py:616
|
||||
#: snikket_web/admin.py:610
|
||||
msgid "Message contents"
|
||||
msgstr "Meddelandeinnehåll"
|
||||
|
||||
#: snikket_web/admin.py:622
|
||||
#: snikket_web/admin.py:616
|
||||
msgid "Only send to online users"
|
||||
msgstr "Skicka bara till användare som är online"
|
||||
|
||||
#: snikket_web/admin.py:626
|
||||
#: snikket_web/admin.py:620
|
||||
msgid "Post to all users"
|
||||
msgstr "Skicka till alla användare"
|
||||
|
||||
#: snikket_web/admin.py:630
|
||||
#: snikket_web/admin.py:624
|
||||
msgid "Send preview to yourself"
|
||||
msgstr "Skicka förhandsvisning till dig själv"
|
||||
|
||||
#: snikket_web/admin.py:652
|
||||
#: snikket_web/admin.py:646
|
||||
msgid "Announcement sent!"
|
||||
msgstr "Tillkännagivande skickat!"
|
||||
|
||||
#: snikket_web/infra.py:51
|
||||
#: snikket_web/infra.py:53
|
||||
msgid "Main"
|
||||
msgstr "Allmän"
|
||||
|
||||
#: snikket_web/invite.py:106
|
||||
#: snikket_web/invite.py:35
|
||||
msgid ""
|
||||
"The account data you tried to import is too large to upload. Please contact "
|
||||
"your Snikket operator."
|
||||
msgstr ""
|
||||
"Kontot du försökte importera är för stort för att ladda upp. Vänligen "
|
||||
"kontakta din Snikket-operatör."
|
||||
|
||||
#: snikket_web/invite.py:114
|
||||
msgid "Username"
|
||||
msgstr "Användarnamn"
|
||||
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:186 snikket_web/main.py:43
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#: snikket_web/invite.py:122 snikket_web/invite.py:190
|
||||
msgid "Confirm password"
|
||||
msgstr "Bekräfta lösenord"
|
||||
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#: snikket_web/invite.py:126 snikket_web/invite.py:194
|
||||
msgid "The passwords must match."
|
||||
msgstr "Lösenorden måste vara identiska."
|
||||
|
||||
#: snikket_web/invite.py:123
|
||||
#: snikket_web/invite.py:131
|
||||
msgid "Create account"
|
||||
msgstr "Skapa konto"
|
||||
|
||||
#: snikket_web/invite.py:150
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "That username is already taken."
|
||||
msgstr "Det användarnamnet är redan taget."
|
||||
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#: snikket_web/invite.py:162 snikket_web/invite.py:227
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registreringen nekades av okänd anledning."
|
||||
|
||||
#: snikket_web/invite.py:158
|
||||
#: snikket_web/invite.py:166
|
||||
msgid "The username is not valid."
|
||||
msgstr "Användarnamnet är ogiltigt."
|
||||
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/invite.py:199 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Ändra lösenord"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/invite.py:246
|
||||
msgid "Account data file"
|
||||
msgstr "Kontodatafil"
|
||||
|
||||
#: snikket_web/invite.py:250
|
||||
msgid "Import data"
|
||||
msgstr "Importera data"
|
||||
|
||||
#: snikket_web/invite.py:271
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The account data you tried to import is in an unknown format. Please upload "
|
||||
"an XML file in XEP-0227 format (provided format: %(mimetype)s)."
|
||||
msgstr ""
|
||||
"Kontot du försökte importera är i ett okänt format. Vänligen ladda upp en "
|
||||
"XML-fil i XEP-0227-format (angivet format: %(mimetype)s)."
|
||||
|
||||
#: snikket_web/invite.py:291 snikket_web/templates/unauth.html:18
|
||||
#: snikket_web/user.py:178
|
||||
msgid "Error"
|
||||
msgstr "Fel"
|
||||
|
||||
#: snikket_web/main.py:38
|
||||
msgid "Address"
|
||||
msgstr "Adress"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:48
|
||||
msgid "Sign in"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: snikket_web/main.py:55
|
||||
#: snikket_web/main.py:57
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Ogiltigt användarnamn eller lösenord."
|
||||
|
||||
#: snikket_web/main.py:83
|
||||
#: snikket_web/main.py:85
|
||||
msgid "Login successful!"
|
||||
msgstr "Inloggning lyckades!"
|
||||
|
||||
#: snikket_web/user.py:27
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr "Nuvarande lösenord"
|
||||
|
||||
#: snikket_web/user.py:32
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr "Nytt lösenord"
|
||||
|
||||
#: snikket_web/user.py:37
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr "Bekräfta nytt lösenord"
|
||||
|
||||
#: snikket_web/user.py:41
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match."
|
||||
msgstr "De nya lösenorden måste vara identiska."
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr "Logga ut"
|
||||
|
||||
#: snikket_web/user.py:53
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr "Endast vänner"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr "Alla"
|
||||
|
||||
#: snikket_web/user.py:65
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr "Profilbild"
|
||||
|
||||
#: snikket_web/user.py:69
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr "Synlighet av profil"
|
||||
|
||||
#: snikket_web/user.py:74
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr "Uppdatera profil"
|
||||
|
||||
#: snikket_web/user.py:99
|
||||
#: snikket_web/user.py:82
|
||||
msgid "Account data"
|
||||
msgstr "Kontodata"
|
||||
|
||||
#: snikket_web/user.py:86
|
||||
msgid "Upload"
|
||||
msgstr "Ladda upp"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
msgid "Incorrect password."
|
||||
msgstr "Fel lösenord."
|
||||
|
||||
#: snikket_web/user.py:103
|
||||
#: snikket_web/user.py:115
|
||||
msgid "Password changed"
|
||||
msgstr "Lösenord ändrat"
|
||||
|
||||
#: snikket_web/user.py:111
|
||||
#: snikket_web/user.py:123
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
@@ -329,13 +367,17 @@ msgstr ""
|
||||
"Den valda profilbilden är för stor. Vänligen använd appen för att kunna "
|
||||
"välja större bilder."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#: snikket_web/user.py:170
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilen uppdaterad"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Fel"
|
||||
#: snikket_web/user.py:184
|
||||
msgid "Export"
|
||||
msgstr "Exportera"
|
||||
|
||||
#: snikket_web/user.py:202
|
||||
msgid "You currently have no account data to export."
|
||||
msgstr "Du har för närvarande inget data att exportera."
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -427,7 +469,7 @@ msgstr ""
|
||||
msgid "Software Versions"
|
||||
msgstr "Mjukvaruversioner"
|
||||
|
||||
#: snikket_web/templates/about.html:29
|
||||
#: snikket_web/templates/about.html:32
|
||||
msgid "Back to the main page"
|
||||
msgstr "Tillbaka till huvudsidan"
|
||||
|
||||
@@ -573,6 +615,7 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_manage_data.html:14
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
@@ -922,6 +965,7 @@ msgstr "Systemlast (5 minuters medelvärde)"
|
||||
#: snikket_web/templates/admin_system.html:60
|
||||
#: snikket_web/templates/admin_system.html:68
|
||||
#: snikket_web/templates/admin_system.html:76
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
msgid "unknown"
|
||||
msgstr "okänd"
|
||||
|
||||
@@ -967,14 +1011,18 @@ msgid "Snikket server status"
|
||||
msgstr "Snikket-serverstatus"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:71
|
||||
msgid "Storage used by shared files"
|
||||
msgstr "Utrymme används av delade filer"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:79
|
||||
msgid "Connected devices"
|
||||
msgstr "Anslutna enheter"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:82
|
||||
#: snikket_web/templates/admin_system.html:90
|
||||
msgid "Broadcast message"
|
||||
msgstr "Tillkännagivande"
|
||||
|
||||
#: snikket_web/templates/admin_system.html:84
|
||||
#: snikket_web/templates/admin_system.html:92
|
||||
msgid ""
|
||||
"This form allows you to send a message to all users currently online on your "
|
||||
"Snikket server. Use it wisely."
|
||||
@@ -1093,8 +1141,8 @@ msgstr "Appen redan installerad?"
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
msgid "Open the app"
|
||||
msgstr "Öppna appen"
|
||||
|
||||
@@ -1159,7 +1207,6 @@ msgid "You can now log in using your new password."
|
||||
msgstr "Nu kan du logga in med ditt nya lösenord."
|
||||
|
||||
#: snikket_web/templates/invite_reset_success.html:12
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
msgid "You can now safely close this page."
|
||||
msgstr "Du kan nu stänga den här sidan utan risk."
|
||||
|
||||
@@ -1194,7 +1241,6 @@ msgstr ""
|
||||
"Scanna-knappen överst."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -1249,6 +1295,43 @@ msgstr ""
|
||||
"Nu kan du sätta upp din generiska XMPP-klient med ovanstående adress och "
|
||||
"lösenordet du angav vid registrering."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can now safely close this page, or log in to the web portal to <a href="
|
||||
"\"%(login_url)s\">manage your account</a>."
|
||||
msgstr ""
|
||||
"Du kan nu stänga den här sidan utan risk, eller logga in till webbportalen "
|
||||
"för att <a href=\"%(login_url)s\">hantera ditt konto</a>."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:21
|
||||
msgid "Import successful"
|
||||
msgstr "Importen lyckades"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:22
|
||||
msgid "Congratulations! Your account data has been successfully imported."
|
||||
msgstr "Grattulerar! Importen av ditt kontodata lyckades."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:26
|
||||
msgid "Moving to Snikket?"
|
||||
msgstr "Flyttar till Snikket?"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:27
|
||||
msgid ""
|
||||
"If you are moving from a different Snikket instance or another XMPP-"
|
||||
"compatible service, you may optionally import the data (contacts, profile "
|
||||
"information, etc.) from your previous account. When you have exported the "
|
||||
"data from your previous account, upload it using the form below."
|
||||
msgstr ""
|
||||
"Om du flyttar från en annan Snikket-instans eller annan XMPP-kompatibel "
|
||||
"tjänst så kan du om du vill importera data (kontakter, profilinformation, "
|
||||
"etc.) från ditt förra konto. När du exporterat data från förra kontot, ladda "
|
||||
"upp det med formuläret nedan."
|
||||
|
||||
#: snikket_web/templates/invite_success.html:30
|
||||
msgid "Upload account data"
|
||||
msgstr "Ladda upp kontodata"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
@@ -1294,7 +1377,7 @@ msgid "Get it on Google Play"
|
||||
msgstr "Hämta den på Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:80
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Hämta på App Store"
|
||||
|
||||
@@ -1330,11 +1413,11 @@ msgid "Scan invite code"
|
||||
msgstr "Scanna inbjudningskoden"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:90
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
#: snikket_web/templates/invite_view.html:118
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
@@ -1347,33 +1430,11 @@ msgstr ""
|
||||
"koden med din kamera. Du kan antingen använda en app för att scanna QR-koder "
|
||||
"eller Snikket-appen själv."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Med en QR-kodsläsare"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Med Snikket-appen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Scanna koden nedan med en <em>QR-kods</em> scanner på din mobila enhet:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installera Snikket-appen på din mobila enhet, öppna den, och tryck på "
|
||||
"'Scanna'-knappen överst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
#: snikket_web/templates/invite_view.html:71
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installera på iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
@@ -1381,12 +1442,12 @@ msgstr ""
|
||||
"Efter att ha laddat ner Snikket från App Store behöver du komma tillbaka "
|
||||
"till den här inbjudan och klicka på \"Öppna appen\" för att fortsätta."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
#: snikket_web/templates/invite_view.html:79
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr "Ladda först ner Snikket från App Store med knappen nedan:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
#: snikket_web/templates/invite_view.html:81
|
||||
#: snikket_web/templates/invite_view.html:109
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
@@ -1394,12 +1455,12 @@ msgstr ""
|
||||
"Efter att installationen är färdig behöver du komma tillbaka till den här "
|
||||
"inbjudan och klicka på \"Öppna appen\" för att fortsätta:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
#: snikket_web/templates/invite_view.html:108
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installera via F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
#: snikket_web/templates/invite_view.html:105
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
@@ -1407,7 +1468,7 @@ msgstr ""
|
||||
"Efter att ha installerat Snikket via F-Droid behöver du komma tillbaka till "
|
||||
"den här inbjudan och klicka på \"Öppna appen\" för att fortsätta."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
#: snikket_web/templates/invite_view.html:107
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Installera först Snikket från F-Droid med knappen nedan:"
|
||||
|
||||
@@ -1475,15 +1536,20 @@ msgstr "Din XMPP-adress"
|
||||
msgid "Edit profile"
|
||||
msgstr "Redigera profil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:38
|
||||
#: snikket_web/templates/user_home.html:33
|
||||
#: snikket_web/templates/user_manage_data.html:4
|
||||
msgid "Manage your data"
|
||||
msgstr "Hantera ditt data"
|
||||
|
||||
#: snikket_web/templates/user_home.html:39
|
||||
msgid "Your Snikket"
|
||||
msgstr "Ditt Snikket"
|
||||
|
||||
#: snikket_web/templates/user_home.html:40
|
||||
#: snikket_web/templates/user_home.html:41
|
||||
msgid "Manage users, invitations and circles of your Snikket service."
|
||||
msgstr "Hantera användare, inbjudningar och kretsar i din Snikket-tjänst."
|
||||
|
||||
#: snikket_web/templates/user_home.html:42
|
||||
#: snikket_web/templates/user_home.html:43
|
||||
msgid "Admin panel"
|
||||
msgstr "Administrationspanel"
|
||||
|
||||
@@ -1499,6 +1565,18 @@ msgstr ""
|
||||
"Klicka nedanför för att logga ut dig ur webbportalen. Detta påverkar inte "
|
||||
"några av dina anslutna enheter."
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:8
|
||||
msgid "Export account"
|
||||
msgstr "Exportera konto"
|
||||
|
||||
#: snikket_web/templates/user_manage_data.html:9
|
||||
msgid ""
|
||||
"Download your account data as a file for backup purposes or to move your "
|
||||
"account to another service."
|
||||
msgstr ""
|
||||
"Ladda ner ditt kontodata som en fil att ha som säkerhetskopia eller om du "
|
||||
"vill flytta ditt konto till en annan tjänst."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ändra ditt lösenord"
|
||||
@@ -1541,6 +1619,25 @@ msgstr ""
|
||||
"Den här avdelningen låter dig hantera vilka som kan se din profil, såsom din "
|
||||
"profilbild och visningsnamn."
|
||||
|
||||
#~ msgid "Using a QR code scanner"
|
||||
#~ msgstr "Med en QR-kodsläsare"
|
||||
|
||||
#~ msgid "Using the Snikket app"
|
||||
#~ msgstr "Med Snikket-appen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
#~ "below:"
|
||||
#~ msgstr ""
|
||||
#~ "Scanna koden nedan med en <em>QR-kods</em> scanner på din mobila enhet:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Install the Snikket app on your mobile device, open it, and tap the "
|
||||
#~ "'Scan' button at the top."
|
||||
#~ msgstr ""
|
||||
#~ "Installera Snikket-appen på din mobila enhet, öppna den, och tryck på "
|
||||
#~ "'Scanna'-knappen överst."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Skapa länk för att återställa lösenord för %(user_name)s"
|
||||
|
||||
|
||||
BIN
snikket_web/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
1562
snikket_web/translations/zh_Hans_CN/LC_MESSAGES/messages.po
Normal file
1562
snikket_web/translations/zh_Hans_CN/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,11 @@
|
||||
import asyncio
|
||||
import typing
|
||||
import urllib
|
||||
|
||||
import quart.flask_patch
|
||||
from quart import (
|
||||
Blueprint,
|
||||
Response,
|
||||
render_template,
|
||||
request,
|
||||
redirect,
|
||||
@@ -11,7 +13,7 @@ from quart import (
|
||||
flash,
|
||||
current_app,
|
||||
)
|
||||
import quart.exceptions
|
||||
import werkzeug.exceptions
|
||||
|
||||
import wtforms
|
||||
|
||||
@@ -57,7 +59,7 @@ _ACCESS_MODEL_CHOICES = [
|
||||
|
||||
|
||||
class ProfileForm(BaseForm):
|
||||
nickname = wtforms.TextField(
|
||||
nickname = wtforms.StringField(
|
||||
_l("Display name"),
|
||||
)
|
||||
|
||||
@@ -75,6 +77,16 @@ class ProfileForm(BaseForm):
|
||||
)
|
||||
|
||||
|
||||
class ImportAccountDataForm(BaseForm):
|
||||
account_data_file = wtforms.FileField(
|
||||
_l("Account data")
|
||||
)
|
||||
|
||||
action_upload = wtforms.SubmitField(
|
||||
_l("Upload"),
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/")
|
||||
@client.require_session()
|
||||
async def index() -> str:
|
||||
@@ -84,7 +96,7 @@ async def index() -> str:
|
||||
|
||||
@bp.route('/passwd', methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
async def change_pw() -> typing.Union[str, werkzeug.Response]:
|
||||
form = ChangePasswordForm()
|
||||
if form.validate_on_submit():
|
||||
try:
|
||||
@@ -92,8 +104,8 @@ async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
form.current_password.data,
|
||||
form.new_password.data,
|
||||
)
|
||||
except (quart.exceptions.Unauthorized,
|
||||
quart.exceptions.Forbidden):
|
||||
except (werkzeug.exceptions.Unauthorized,
|
||||
werkzeug.exceptions.Forbidden):
|
||||
# server refused current password, set an appropriate error
|
||||
form.current_password.errors.append(
|
||||
_("Incorrect password."),
|
||||
@@ -116,7 +128,7 @@ EAVATARTOOBIG = _l(
|
||||
|
||||
@bp.route("/profile", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def profile() -> typing.Union[str, quart.Response]:
|
||||
async def profile() -> typing.Union[str, werkzeug.Response]:
|
||||
max_avatar_size = current_app.config["MAX_AVATAR_SIZE"]
|
||||
|
||||
form = ProfileForm()
|
||||
@@ -138,7 +150,6 @@ async def profile() -> typing.Union[str, quart.Response]:
|
||||
mimetype = file_info.mimetype
|
||||
data = file_info.stream.read()
|
||||
if len(data) > max_avatar_size:
|
||||
print(len(data), max_avatar_size)
|
||||
form.avatar.errors.append(EAVATARTOOBIG)
|
||||
ok = False
|
||||
elif len(data) > 0:
|
||||
@@ -168,9 +179,49 @@ async def profile() -> typing.Union[str, quart.Response]:
|
||||
avatar_too_big_warning=EAVATARTOOBIG)
|
||||
|
||||
|
||||
class DataExportForm(BaseForm):
|
||||
action_export = wtforms.SubmitField(
|
||||
_l("Export")
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/manage_data", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def manage_data() -> typing.Union[str, quart.Response]:
|
||||
form = DataExportForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
user_info = await client.get_user_info()
|
||||
# The UTF-8 version of the filename needs to be percent-encoded
|
||||
encoded_address = urllib.parse.quote(
|
||||
user_info["address"].encode(encoding='utf-8', errors='strict')
|
||||
)
|
||||
account_data = await client.export_account_data()
|
||||
if account_data is None:
|
||||
await flash(
|
||||
_("You currently have no account data to export."),
|
||||
"alert"
|
||||
)
|
||||
else:
|
||||
return Response(account_data,
|
||||
mimetype="application/xml",
|
||||
headers={
|
||||
# We provide the UTF-8 filename, but the ASCII
|
||||
# one will be used as a fallback for legacy
|
||||
# browsers (RFC 5987)
|
||||
"Content-Disposition": (
|
||||
'attachment; filename="account-data.xml"; '
|
||||
'filename*="UTF-8\'\'account-data-{}.xml"'
|
||||
).format(encoded_address)
|
||||
})
|
||||
return await render_template("user_manage_data.html",
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/logout", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def logout() -> typing.Union[quart.Response, str]:
|
||||
async def logout() -> typing.Union[werkzeug.Response, str]:
|
||||
form = LogoutForm()
|
||||
if form.validate_on_submit():
|
||||
await client.logout()
|
||||
|
||||
@@ -4,7 +4,7 @@ import typing
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from quart import abort
|
||||
import quart.exceptions
|
||||
import werkzeug.exceptions
|
||||
|
||||
|
||||
TAG_XMPP_ERROR = "error"
|
||||
@@ -207,7 +207,7 @@ def make_avatar_metadata_set_request(
|
||||
item,
|
||||
"metadata", xmlns=NS_USER_AVATAR_METADATA)
|
||||
|
||||
attr: typing.MutableMapping[str, str] = {
|
||||
attr: typing.Dict[str, str] = {
|
||||
"id": id_,
|
||||
"bytes": str(size),
|
||||
"type": mimetype,
|
||||
@@ -217,7 +217,12 @@ def make_avatar_metadata_set_request(
|
||||
if height is not None:
|
||||
attr["height"] = str(height)
|
||||
|
||||
ET.SubElement(metadata_wrap, "info", xmlns=NS_USER_AVATAR_METADATA, **attr)
|
||||
ET.SubElement(
|
||||
metadata_wrap,
|
||||
"info",
|
||||
xmlns=NS_USER_AVATAR_METADATA,
|
||||
**attr, # type: ignore
|
||||
)
|
||||
return req
|
||||
|
||||
|
||||
@@ -234,7 +239,7 @@ def extract_pubsub_item_get_reply(
|
||||
) -> typing.Optional[ET.Element]:
|
||||
try:
|
||||
pubsub = extract_iq_reply(iq_tree, TAG_PUBSUB)
|
||||
except quart.exceptions.NotFound:
|
||||
except werkzeug.exceptions.NotFound:
|
||||
return None
|
||||
|
||||
if pubsub is None:
|
||||
|
||||
@@ -6,6 +6,7 @@ action/logout:logout
|
||||
action/login:login
|
||||
action/exit_to_app:exit_to_app
|
||||
action/lock:lock
|
||||
communication/import_export:import_export
|
||||
communication/qr_code:qrcode
|
||||
communication/vpn_key:passwd
|
||||
communication/rss_feed:broadcast
|
||||
@@ -15,6 +16,9 @@ content/remove_circle_outline:remove
|
||||
content/content_copy:copy
|
||||
content/link_off:remove_link
|
||||
content/send:send
|
||||
file/file_download:download
|
||||
file/file_upload:upload
|
||||
file/folder:folder
|
||||
navigation/arrow_back:back
|
||||
navigation/arrow_forward:forward
|
||||
navigation/cancel:cancel
|
||||
|
||||
Reference in New Issue
Block a user