Compare commits

..

44 Commits

Author SHA1 Message Date
Jonas Schäfer
4bd58c1104 Add autocomplete hints to password forms
This allows user agents to do smart things like filling in the current
password only where it makes sense or integrate nicely with a password
manager.

Fixes #94.
2022-01-22 15:34:27 +01:00
misiek
4f7a4fb5d4 Translated using Weblate (Polish)
Currently translated at 100.0% (321 of 321 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/pl/
2022-01-21 15:00:36 +00:00
uira
34a23f8505 Translated using Weblate (Indonesian)
Currently translated at 100.0% (321 of 321 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/id/
2022-01-18 14:59:01 +00:00
Jonas Schäfer
ebcb083b6a Translated using Weblate (German)
Currently translated at 100.0% (321 of 321 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/de/
2022-01-18 14:59:01 +00:00
Kim Alvefur
2f0b38b149 Translated using Weblate (Swedish)
Currently translated at 100.0% (321 of 321 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/sv/
2022-01-18 09:21:29 +00:00
Weblate
6244ad5c8a Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2022-01-17 16:27:36 +00:00
Jonas Schäfer
07fa1f0abd Fix missing space in string 2022-01-17 17:27:26 +01:00
Weblate
3d22458f9b Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/
2022-01-17 16:26:16 +00:00
Jonas Schäfer
3b768fe220 Extract translations 2022-01-17 17:26:02 +01:00
Matthew Wild
19cf82e894 Merge pull request #111 from snikket-im/fix/byte-scaling
Fix corner cases of byte number formatting
2022-01-17 15:47:57 +00:00
Matthew Wild
fe0316708b Merge pull request #113 from snikket-im/feature/flake8-print
Include flake8-print plugin
2022-01-17 15:47:21 +00:00
Jonas Schäfer
81b0a58dc9 Merge pull request #107 from Zash/storagestats
Show how much storage space is used by shared files
2022-01-17 16:40:16 +01:00
Jonas Schäfer
08aea153f9 Merge pull request #110 from snikket-im/feature/account-export
Feature: account import/export
2022-01-17 16:38:04 +01:00
Jonas Schäfer
958b3365f7 Remove strange greeting copied over from user_home 2022-01-17 16:34:30 +01:00
Matthew Wild
05caf38d37 Use PUT method instead of POST, as expected by API 2022-01-17 16:33:46 +01:00
Matthew Wild
390ecded42 Include PEP data in export/import 2022-01-17 16:33:29 +01:00
Matthew Wild
f6395d4d9c Complete the implementation of data import 2022-01-17 16:33:00 +01:00
Matthew Wild
32179c72cd Add account data import UI on registration success page 2022-01-17 16:24:00 +01:00
Matthew Wild
3cb8185b1a prosodyclient: Add API to import XEP-0227 account data 2022-01-17 16:23:58 +01:00
Matthew Wild
481379d03f Switch to HTTP 204 to indicate no data to export
This is more robust, as it indicates the request was successfully
authenticated and processed, but that there is no data to export. This is
different from the URL not existing (which would also happen if the module was
unavailable, which should be a notable error instead).
2022-01-17 16:23:57 +01:00
Matthew Wild
275b302531 Add UI for exporting user account data 2022-01-17 16:23:56 +01:00
Matthew Wild
e18f727db0 prosodyclient: Add support for exporting a user's account data 2022-01-17 16:23:55 +01:00
Matthew Wild
f7429413cd Add more icons to the repertoire 2022-01-17 16:23:35 +01:00
Jonas Schäfer
d5a46b69a6 Include flake8-print plugin
This alerts us of stray print statements, which should never occur
because this is a non-TUI application.
2022-01-15 17:07:16 +01:00
Jonas Schäfer
51f2ebbd13 Handle the correct exception when formatting extremely high amounts of bytes
Found in production. Yes really. Due to some borked LXC integration, my
snikket host reports

```
MemTotal:       9007199254740991 kB
MemFree:        9007199254690591 kB
MemAvailable:   9007199254690591 kB
```

That is more than 1024 TiB, so it tries to go further up in the scale,
which then causes a Guru Meditation because of the uncaught IndexError.
2022-01-10 17:32:11 +01:00
Jonas Schäfer
b4e6ee8943 Fix formatting of zero bytes
Previously, that would raise a ValueError (math domain error), because
log(0) is undefined.
2022-01-10 17:31:50 +01:00
Jonas Schäfer
52d8047546 Correctly detect presence of storage metric
If there have been no uploads yet, the metric will be zero, so the if
condition would fail the test, so it would render as "unknown".
2022-01-10 16:56:31 +01:00
Jonas Schäfer
aed9ad1cde Merge pull request #93 from Zash/debianbullseye
Dockerfile: Switch base image to Debian 11
2022-01-10 16:40:28 +01:00
Kim Alvefur
b545c137b1 Dockerfile: Switch base image to Debian 11 2022-01-10 16:27:38 +01:00
Matthew Wild
47642dc384 Merge pull request #108 from snikket-im/feature/multi-stage-dockerfile
Dockerfile: Split build into multiple stages
2022-01-10 14:21:57 +00:00
Jonas Schäfer
5d7183a0b8 Reinstate cache deletion in multi-stage build
Previously, the multi-stage build increased the image size by about 30
MiB (163MiB -> 191MiB). Dropping the caches reduces the image size down
to 159MiB, leading to a net improvement of 4 MiB.
2022-01-08 13:29:28 +01:00
Matthew Wild
c1cf6ab1e5 Dockerfile: Split build into multiple stages
Currently the Dockerfile has a single RUN directive with all the needed
commands in it. This optimizes for image size by not creating too many
"layers" (which are only additive). However it means the result that gets
cached can basically never be reused, because any change to the source code
will need to execute the whole RUN block again.

This commit switches to a docker "multi-stage" build, where we have a build
image that is separate from the final one that gets published. The build
image can be cached locally, and size is no longer a significant concern.

This approach allows the single RUN command to be split up into multiple RUN
commands that only execute when strictly needed (i.e. when their result
is not cached locally).

This drastically improves the build time when rebuilding the image after
a simple code change, because the build image doesn't have to install all
the apt packages, for example. This leads to a nicer developer experience
when using docker locally for development and testing.
2022-01-08 13:17:52 +01:00
Jonas Schäfer
aee53a2e1a Merge pull request #109 from snikket-im/feature/fix-mypy
Fix mypy false positives
2022-01-08 13:14:28 +01:00
Jonas Schäfer
3a81a0140b Revert "Fix spurious mypy error"
This reverts commit 28ff19c19c.
2022-01-08 13:12:30 +01:00
Jonas Schäfer
5b4d4ddd36 Fix some mypy regression 2022-01-08 13:12:30 +01:00
Jonas Schäfer
28ff19c19c Fix spurious mypy error
For whatever reason, it thinks that babel has no __version__ field, but
it in fact does.
2022-01-08 12:52:31 +01:00
uira
8e3837f704 Translated using Weblate (Indonesian)
Currently translated at 100.0% (303 of 303 strings)

Translation: Snikket/Web Portal
Translate-URL: http://i18n.sotecware.net/projects/snikket/web-portal/id/
2021-12-12 07:00:42 +00:00
Kim Alvefur
4af78f635e Show how much storage space is used by shared files
Requires at least https://hg.prosody.im/prosody-modules/rev/883ad8b0a7c0
2021-11-18 19:50:47 +01:00
Matthew Wild
98e7de3166 Merge pull request #104 from snikket-im/feature/enable-restricted-users
admin: Show restricted user role in the UI
2021-11-09 17:03:08 +00:00
Matthew Wild
61c71b2145 admin: Inline restricted user role name
It was a variable only for the benefit of translators while disabled.
2021-11-09 17:00:59 +00:00
Matthew Wild
6b35e9a259 admin: Show restricted user role in the UI 2021-11-09 16:40:50 +00:00
Matthew Wild
58c2112fec Merge pull request #102 from snikket-im/feature/pin-wtforms
Pin wtforms to 2.x
2021-11-09 10:48:18 +00:00
Jonas Schäfer
c856afee82 Pin wtforms to 2.x
wtforms 3.0 is incompatible with our code. A separate issue will be
filed to address the incompatibilities, but this should be enough to get
working images out of it.

With 3.x, we're seeing:

```
  File "/home/horazont/Projects/python/snikket-web-portal/snikket_web/main.py", line 35, in LoginForm
    address = wtforms.TextField(
AttributeError: module 'wtforms' has no attribute 'TextField'
```

and the portal fails to start.
2021-11-08 18:07:34 +01:00
Matthew Wild
c8356a8e9e Merge pull request #101 from snikket-im/feature/https-qr
Force invite QR code to HTTPS
2021-10-15 14:32:57 +01:00
35 changed files with 2671 additions and 1166 deletions

View File

@@ -45,7 +45,7 @@ jobs:
- name: Install - name: Install
run: | run: |
set -euo pipefail set -euo pipefail
pip install flake8 pip install flake8 flake8-print
- name: Linting - name: Linting
run: | run: |
python -m flake8 snikket_web python -m flake8 snikket_web

View File

@@ -1,7 +1,13 @@
FROM debian:buster-slim FROM debian:bullseye-slim AS build
ARG BUILD_SERIES=dev RUN set -eu; \
ARG BUILD_ID=0 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;
COPY requirements.txt /opt/snikket-web-portal/requirements.txt COPY requirements.txt /opt/snikket-web-portal/requirements.txt
COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt
@@ -11,32 +17,41 @@ COPY babel.cfg /opt/snikket-web-portal/babel.cfg
WORKDIR /opt/snikket-web-portal WORKDIR /opt/snikket-web-portal
RUN set -eu; \ RUN pip3 install -r requirements.txt; \
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; \ pip3 install -r build-requirements.txt; \
make; \ make;
pip3 uninstall -yr build-requirements.txt; \
apt-get remove -y build-essential make libpython3-dev; \
apt-get autoremove -y; \ FROM debian:bullseye-slim
pip3 install hypercorn; \
rm -rf /root/.cache; \ ARG BUILD_SERIES=dev
apt-get clean ; rm -rf /var/lib/apt/lists ARG BUILD_ID=0
COPY docker/env.py /etc/snikket-web-portal/env.py COPY docker/env.py /etc/snikket-web-portal/env.py
ENV SNIKKET_WEB_PYENV=/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/ ENV SNIKKET_WEB_PROSODY_ENDPOINT=http://127.0.0.1:5280/
HEALTHCHECK CMD nc -zv ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE:-127.0.0.1} ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT:-5765} HEALTHCHECK CMD nc -zv ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE:-127.0.0.1} ${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT:-5765}
RUN set -eu; \
export DEBIAN_FRONTEND=noninteractive ; \
apt-get update ; \
apt-get install -y --no-install-recommends \
python3 python3-pip python3-setuptools python3-wheel; \
apt-get clean ; rm -rf /var/lib/apt/lists; \
pip3 install hypercorn; \
rm -rf /root/.cache;
WORKDIR /opt/snikket-web-portal
COPY requirements.txt /opt/snikket-web-portal/requirements.txt
RUN pip3 install -r requirements.txt; rm -rf /root/.cache;
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 RUN echo "$BUILD_SERIES $BUILD_ID" > /opt/snikket-web-portal/.app_version
ADD docker/entrypoint.sh /entrypoint.sh ADD docker/entrypoint.sh /entrypoint.sh

View File

@@ -5,4 +5,5 @@ hsluv~=0.0.2
flask-babel~=1.0 flask-babel~=1.0
email-validator~=1.1 email-validator~=1.1
environ-config~=20.0 environ-config~=20.0
wtforms~=2.3
typing-extensions typing-extensions

View File

@@ -63,9 +63,6 @@ async def users() -> str:
) )
_LIMITED_ROLE_NAME = _("Limited")
class EditUserForm(BaseForm): class EditUserForm(BaseForm):
localpart = wtforms.StringField( localpart = wtforms.StringField(
_l("Login name"), _l("Login name"),
@@ -78,9 +75,7 @@ class EditUserForm(BaseForm):
role = wtforms.RadioField( role = wtforms.RadioField(
_l("Access Level"), _l("Access Level"),
choices=[ choices=[
# NOTE: enable this only after something has been done which ("prosody:restricted", _("Limited")),
# actually enforces the described restrictions :).
# ("prosody:restricted", _LIMITED_ROLE_NAME),
("prosody:normal", _l("Normal user")), ("prosody:normal", _l("Normal user")),
("prosody:admin", _l("Administrator")), ("prosody:admin", _l("Administrator")),
], ],
@@ -547,8 +542,6 @@ async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
) )
return redirect(url_for(".edit_circle", id_=id_)) return redirect(url_for(".edit_circle", id_=id_))
else:
print(form.errors)
return await render_template( return await render_template(
"admin_edit_circle.html", "admin_edit_circle.html",
@@ -687,6 +680,11 @@ async def system() -> typing.Union[str, quart.Response]:
except KeyError: except KeyError:
pass pass
try:
metrics["prosody_uploads"] = prosody_metrics["uploads"]
except KeyError:
pass
for k in list(metrics.keys()): for k in list(metrics.keys()):
if metrics[k] is None: if metrics[k] is None:
# so that defaulting in jinja works # so that defaulting in jinja works

View File

@@ -53,11 +53,14 @@ def circle_name(c: typing.Any) -> str:
def format_bytes(n: float) -> 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: try:
unit = BYTE_UNIT_SCALE_MAP[scale] unit = BYTE_UNIT_SCALE_MAP[scale]
factor = 1024**scale factor = 1024**scale
except ValueError: except IndexError:
unit = "TiB" unit = "TiB"
factor = 1024**4 factor = 1024**4
if factor > 1: if factor > 1:

View File

@@ -10,13 +10,14 @@ from quart import (
current_app, current_app,
render_template, render_template,
redirect, redirect,
request,
url_for, url_for,
session as http_session, session as http_session,
) )
import wtforms 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 from .infra import client, selected_locale, BaseForm
@@ -26,6 +27,11 @@ bp = Blueprint("invite", __name__)
INVITE_SESSION_JID = "invite-session-jid" 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 # 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
@@ -163,6 +169,7 @@ async def register(id_: str) -> typing.Union[str, quart.Response]:
raise raise
else: else:
http_session[INVITE_SESSION_JID] = jid http_session[INVITE_SESSION_JID] = jid
await client.login(jid, form.password.data)
return redirect(url_for(".success")) return redirect(url_for(".success"))
return await render_template( return await render_template(
@@ -232,11 +239,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"]) @bp.route("/success", methods=["GET", "POST"])
@client.require_session()
async def success() -> str: 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( return await render_template(
"invite_success.html", "invite_success.html",
jid=http_session.get(INVITE_SESSION_JID, ""), 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,
) )

View File

@@ -296,6 +296,9 @@ class ProsodyClient:
def _public_v1_endpoint(self, subpath: str) -> str: def _public_v1_endpoint(self, subpath: str) -> str:
return "{}/register_api{}".format(self._endpoint_base, subpath) 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, async def _oauth2_bearer_token(self,
session: aiohttp.ClientSession, session: aiohttp.ClientSession,
jid: str, jid: str,
@@ -1121,6 +1124,34 @@ class ProsodyClient:
) as resp: ) as resp:
self._raise_error_from_response(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 @autosession
async def revoke_token( async def revoke_token(
self, self,

View File

@@ -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> <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" /> <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> </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 --> <!-- from: communication/qr_code/materialiconsround/24px.svg -->
<symbol id="icon-qrcode" viewBox="0 0 24 24"> <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> <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="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" /> <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> </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 --> <!-- from: navigation/arrow_back/materialiconsround/24px.svg -->
<symbol id="icon-back" viewBox="0 0 24 24"> <symbol id="icon-back" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" /> <path d="M0 0h24v24H0V0z" fill="none" />

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -68,6 +68,14 @@
<em>{% trans %}unknown{% endtrans %}</em> <em>{% trans %}unknown{% endtrans %}</em>
{%- endif -%} {%- endif -%}
</dd> </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> <dt>{% trans %}Connected devices{% endtrans %}</dt>
<dd> <dd>
{%- if metrics.prosody_devices | default(None) is not none -%} {%- if metrics.prosody_devices | default(None) is not none -%}

View File

@@ -28,12 +28,12 @@
</div> </div>
<div class="f-ebox"> <div class="f-ebox">
{{ form.password.label }} {{ 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> <p class="field-desc weak">{% trans %}Enter a secure password that you do not use anywhere else.{% endtrans %}</p>
</div> </div>
<div class="f-ebox"> <div class="f-ebox">
{{ form.password_confirm.label }} {{ form.password_confirm.label }}
{{ form.password_confirm }} {{ form.password_confirm(autocomplete="new-password") }}
</div> </div>
<div class="f-bbox"> <div class="f-bbox">
{%- call form_button("done", form.action_register, class="primary") -%}{%- endcall -%} {%- call form_button("done", form.action_register, class="primary") -%}{%- endcall -%}

View File

@@ -17,11 +17,11 @@
{%- call render_errors(form) %}{% endcall -%} {%- call render_errors(form) %}{% endcall -%}
<div class="f-ebox"> <div class="f-ebox">
{{ form.password.label }} {{ form.password.label }}
{{ form.password }} {{ form.password(autocomplete="new-password") }}
</div> </div>
<div class="f-ebox"> <div class="f-ebox">
{{ form.password_confirm.label }} {{ form.password_confirm.label }}
{{ form.password_confirm }} {{ form.password_confirm(autocomplete="new-password") }}
</div> </div>
<div class="f-bbox"> <div class="f-bbox">
{%- call form_button("passwd", form.action_reset, class="primary") -%}{%- endcall -%} {%- call form_button("passwd", form.action_reset, class="primary") -%}{%- endcall -%}

View File

@@ -1,6 +1,6 @@
{% extends "invite.html" %} {% extends "invite.html" %}
{% set body_id = "invite" %} {% 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 %} {% block head_lead %}
<title>{% trans site_name=config["SITE_NAME"] %}Successfully registered on {{ site_name }} | Snikket{% endtrans %}</title> <title>{% trans site_name=config["SITE_NAME"] %}Successfully registered on {{ site_name }} | Snikket{% endtrans %}</title>
{%- include "copy-snippet.html" -%} {%- include "copy-snippet.html" -%}
@@ -16,5 +16,46 @@
{%- endcall -%} {%- 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 %}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> <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> </div>
{% endblock %} {% endblock %}

View File

@@ -30,6 +30,7 @@
<div> <div>
<div>{% call standard_button("edit", url_for(".profile"), class="primary") %}{% trans %}Edit profile{% endtrans %}{% endcall %}</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("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> </div>
{#- -#} {#- -#}
</li> </li>

View File

@@ -0,0 +1,22 @@
{% 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">
<form method="POST">
{{ form.csrf_token }}
{%- call form_button("download", form.action_export, class="primary") %}{% endcall -%}
</form>
</div>
</li>
</ul>
</nav>
{% endblock %}

View File

@@ -9,15 +9,15 @@
{%- endcall -%} {%- endcall -%}
<div class="f-ebox"> <div class="f-ebox">
{{ form.current_password.label(class="required") }} {{ 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>
<div class="f-ebox"> <div class="f-ebox">
{{ form.new_password.label(class="required") }} {{ form.new_password.label(class="required") }}
{{ form.new_password }} {{ form.new_password(autocomplete="new-password") }}
</div> </div>
<div class="f-ebox"> <div class="f-ebox">
{{ form.new_password_confirm.label(class="required") }} {{ 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>
<div class="box warning"> <div class="box warning">
<header>{% trans %}Warning{% endtrans %}</header> <header>{% trans %}Warning{% endtrans %}</header>

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-04-02 19:01+0000\n" "PO-Revision-Date: 2021-04-02 19:01+0000\n"
"Last-Translator: Daniel Holmgaard <annoncer@protonmail.com>\n" "Last-Translator: Daniel Holmgaard <annoncer@protonmail.com>\n"
"Language-Team: Danish <https://i18n.sotecware.net/projects/snikket/web-" "Language-Team: Danish <https://i18n.sotecware.net/projects/snikket/web-"
@@ -20,195 +20,195 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Begrænset"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Login-navn" msgstr "Login-navn"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Kaldenavn" msgstr "Kaldenavn"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Adgangsniveau" msgstr "Adgangsniveau"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Begrænset"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Normal bruger" msgstr "Normal bruger"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administrator" msgstr "Administrator"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Opdater bruger" msgstr "Opdater bruger"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Opret link til nulstilling af adgangskode" msgstr "Opret link til nulstilling af adgangskode"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Link til nulstilling af adgangskode oprettet" msgstr "Link til nulstilling af adgangskode oprettet"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Brugerinformation opdateret." msgstr "Brugerinformation opdateret."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Slet bruger permanent" msgstr "Slet bruger permanent"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Bruger slettet" msgstr "Bruger slettet"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Link til nulstilling af adgangskode ikke fundet" msgstr "Link til nulstilling af adgangskode ikke fundet"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Link til nulstilling af adgangskode slettet" msgstr "Link til nulstilling af adgangskode slettet"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Inviter til cirkel" msgstr "Inviter til cirkel"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Mindst en cirkel skal vælges" msgstr "Mindst en cirkel skal vælges"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Gyldig for" msgstr "Gyldig for"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "En time" msgstr "En time"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Tolv timer" msgstr "Tolv timer"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "En dag" msgstr "En dag"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "En uge" msgstr "En uge"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Fire uger" msgstr "Fire uger"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Invitationstype" msgstr "Invitationstype"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individuel" msgstr "Individuel"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Gruppe" msgstr "Gruppe"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Ny invitationslink" msgstr "Ny invitationslink"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Tilbagekald" msgstr "Tilbagekald"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Invitation oprettet" msgstr "Invitation oprettet"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Denne invitation findes ikke" msgstr "Denne invitation findes ikke"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Invitation tilbagekaldt" msgstr "Invitation tilbagekaldt"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Navn" msgstr "Navn"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Opret cirkel" msgstr "Opret cirkel"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Cirkel oprettet" msgstr "Cirkel oprettet"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Vælg bruger" msgstr "Vælg bruger"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Opdater cirkel" msgstr "Opdater cirkel"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Slet cirkel permanent" msgstr "Slet cirkel permanent"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Tilføj bruger" msgstr "Tilføj bruger"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Denne cirkel findes ikke" msgstr "Denne cirkel findes ikke"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Cirkel-data opdateret" msgstr "Cirkel-data opdateret"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Cirkel slettet" msgstr "Cirkel slettet"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Bruger tilføjet til cirkel" msgstr "Bruger tilføjet til cirkel"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Bruger fjernet fra cirkel" msgstr "Bruger fjernet fra cirkel"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -216,43 +216,69 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Hoved" msgstr "Hoved"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Brugernavn" msgstr "Brugernavn"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Adgangskode" msgstr "Adgangskode"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Bekræft adgangskode" msgstr "Bekræft adgangskode"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Adgangskoderne skal matche." msgstr "Adgangskoderne skal matche."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Opret konto" msgstr "Opret konto"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Det brugernavn er allerede taget." msgstr "Det brugernavn er allerede taget."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Registrering blev afvist af ukendte årsager." msgstr "Registrering blev afvist af ukendte årsager."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Brugernavnet er ikke gyldigt." msgstr "Brugernavnet er ikke gyldigt."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Ændr adgangskode" msgstr "Ændr adgangskode"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Fejl"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
@@ -269,59 +295,67 @@ msgstr "Ugyldigt brugernavn eller adgangskode."
msgid "Login successful!" msgid "Login successful!"
msgstr "Login lykkedes!" msgstr "Login lykkedes!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Nuværende adgangskode" msgstr "Nuværende adgangskode"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Ny adgangskode" msgstr "Ny adgangskode"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Bekræft ny adgangskode" msgstr "Bekræft ny adgangskode"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Den nye adgangskode skal matche." msgstr "Den nye adgangskode skal matche."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Log ud" msgstr "Log ud"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Ingen" msgstr "Ingen"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Kun venner" msgstr "Kun venner"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Alle" msgstr "Alle"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Profilsynlighed" msgstr "Profilsynlighed"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Opdater profil" msgstr "Opdater profil"
#: 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." msgid "Incorrect password."
msgstr "Forkert adgangskode." msgstr "Forkert adgangskode."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Adgangskode ændret" msgstr "Adgangskode ændret"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +363,17 @@ msgstr ""
"Den valgte avatar er for stor. For at kunne uploade større avatarer skal du " "Den valgte avatar er for stor. For at kunne uploade større avatarer skal du "
"bruge appen." "bruge appen."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profil opdateret" msgstr "Profil opdateret"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Fejl" msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -927,6 +965,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -972,14 +1011,18 @@ msgid "Snikket server status"
msgstr "Snikket Webportal" msgstr "Snikket Webportal"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1160,7 +1203,6 @@ msgid "You can now log in using your new password."
msgstr "Du kan nu logge ind med din nye adgangskode." msgstr "Du kan nu logge ind med din nye adgangskode."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Du kan sikkert lukke denne side." msgstr "Du kan sikkert lukke denne side."
@@ -1252,6 +1294,41 @@ msgstr ""
"Du kan nu konfigurere din ældre XMPP-klient med ovenstående adresse og den " "Du kan nu konfigurere din ældre XMPP-klient med ovenstående adresse og den "
"adgangskode, du valgte under registreringen." "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 ""
#: snikket_web/templates/invite_success.html:21
#, fuzzy
#| msgid "Operation successful"
msgid "Import successful"
msgstr "Operation lykkes"
#: 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 "Bruger Snikket appen"
#: 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1479,15 +1556,22 @@ msgstr "Din XMPP adresse"
msgid "Edit profile" msgid "Edit profile"
msgstr "Rediger profil" 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
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "Håndter brugere"
#: snikket_web/templates/user_home.html:39
msgid "Your Snikket" msgid "Your Snikket"
msgstr "Din 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Håndter brugere, invitationer og cirkler på din Snikket tjeneste." 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" msgid "Admin panel"
msgstr "Administrator panel" msgstr "Administrator panel"
@@ -1503,6 +1587,18 @@ msgstr ""
"Klik herunder for at logge dig selv ud af webportalen. Dette på virkeringen " "Klik herunder for at logge dig selv ud af webportalen. Dette på virkeringen "
"af de forbundne enheder." "af de forbundne enheder."
#: snikket_web/templates/user_manage_data.html:8
#, fuzzy
#| msgid "Your account"
msgid "Export account"
msgstr "Din 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 ""
#: snikket_web/templates/user_passwd.html:5 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Ændr din adgangskode" msgstr "Ændr din adgangskode"

View File

@@ -6,209 +6,209 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: SnikketWeb 0.1.0\n" "Project-Id-Version: SnikketWeb 0.1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: translations@snikket.org\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n" "PO-Revision-Date: 2022-01-18 14:59+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n" "Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/" "Language-Team: German <http://i18n.sotecware.net/projects/snikket/web-portal/"
"web-portal/de/>\n" "de/>\n"
"Language: de\n" "Language: de\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Eingeschränkt"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Anmeldename" msgstr "Anmeldename"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Anzeigename" msgstr "Anzeigename"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Berechtigungen" msgstr "Berechtigungen"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Eingeschränkt"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Normaler Benutzer" msgstr "Normaler Benutzer"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administrator" msgstr "Administrator"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Benutzer ändern" msgstr "Benutzer ändern"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Passwort-Link erzeugen" msgstr "Passwort-Link erzeugen"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Link zum Zurücksetzen des Passwortes erzeugt" msgstr "Link zum Zurücksetzen des Passwortes erzeugt"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Benutzerinformationen gespeichert." msgstr "Benutzerinformationen gespeichert."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Benutzer endgültig löschen" msgstr "Benutzer endgültig löschen"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Benutzer gelöscht" msgstr "Benutzer gelöscht"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Link zum Zurücksetzen des Passwortes nicht gefunden" msgstr "Link zum Zurücksetzen des Passwortes nicht gefunden"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Link gelöscht" msgstr "Link gelöscht"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "In Gemeinschaft einladen" msgstr "In Gemeinschaft einladen"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Mindestens eine Gemeinschaft muss ausgewählt sein" msgstr "Mindestens eine Gemeinschaft muss ausgewählt sein"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Gültig für" msgstr "Gültig für"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Eine Stunde" msgstr "Eine Stunde"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Zwölf Stunden" msgstr "Zwölf Stunden"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Ein Tag" msgstr "Ein Tag"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Eine Woche" msgstr "Eine Woche"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Vier Wochen" msgstr "Vier Wochen"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Art der Einladung" msgstr "Art der Einladung"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Einzelperson" msgstr "Einzelperson"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Gruppe" msgstr "Gruppe"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Neuer Einladungslink" msgstr "Neuer Einladungslink"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Löschen" msgstr "Löschen"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Einladung angelegt" msgstr "Einladung angelegt"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Diese Einladung existiert nicht" msgstr "Diese Einladung existiert nicht"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Einladung gelöscht" msgstr "Einladung gelöscht"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Gemeinschaft gründen" msgstr "Gemeinschaft gründen"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Gemeinschaft gegründet" msgstr "Gemeinschaft gegründet"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Benutzer auswählen" msgstr "Benutzer auswählen"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Gemeinschaft ändern" msgstr "Gemeinschaft ändern"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Gemeinschaft endgültig löschen" msgstr "Gemeinschaft endgültig löschen"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Benutzer hinzufügen" msgstr "Benutzer hinzufügen"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Diese Gemeinschaft existiert nicht" msgstr "Diese Gemeinschaft existiert nicht"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Gemeinschaftsdaten aktualisiert" msgstr "Gemeinschaftsdaten aktualisiert"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Gemeinschaft gelöscht" msgstr "Gemeinschaft gelöscht"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Benutzer zur Gemeinschaft hinzugefügt" msgstr "Benutzer zur Gemeinschaft hinzugefügt"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Benutzer aus der Gemeinschaft entfernt" msgstr "Benutzer aus der Gemeinschaft entfernt"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "Nachrichteninhalt" msgstr "Nachrichteninhalt"
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "Nur an verbundene Benutzer senden" msgstr "Nur an verbundene Benutzer senden"
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "An alle Benutzer senden" msgstr "An alle Benutzer senden"
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "Vorschau an dich selbst senden" msgstr "Vorschau an dich selbst senden"
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "Ankündigung verschickt!" msgstr "Ankündigung verschickt!"
@@ -216,43 +216,72 @@ msgstr "Ankündigung verschickt!"
msgid "Main" msgid "Main"
msgstr "Kern" msgstr "Kern"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
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:112
msgid "Username" msgid "Username"
msgstr "Benutzername" msgstr "Benutzername"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Passwort (Bestätigung)" msgstr "Passwort (Bestätigung)"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Die Passwörter müssen übereinstimmen." msgstr "Die Passwörter müssen übereinstimmen."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Konto anlegen" msgstr "Konto anlegen"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Dieser Benutzername ist bereits belegt." msgstr "Dieser Benutzername ist bereits belegt."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt." msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Der Benutzername ist ungültig." msgstr "Der Benutzername ist ungültig."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Passwort ändern" msgstr "Passwort ändern"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr "Kontoexportdatei"
#: snikket_web/invite.py:248
msgid "Import data"
msgstr "Daten importieren"
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Fehler"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
@@ -269,59 +298,67 @@ msgstr "Benutzername oder Passwort falsch."
msgid "Login successful!" msgid "Login successful!"
msgstr "Anmeldung erfolgreich!" msgstr "Anmeldung erfolgreich!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Aktuelles Passwort" msgstr "Aktuelles Passwort"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Neues Passwort" msgstr "Neues Passwort"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Neues Passwort (Bestätigung)" msgstr "Neues Passwort (Bestätigung)"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Die neuen Passwörter müssen übereinstimmen." msgstr "Die neuen Passwörter müssen übereinstimmen."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Abmelden" msgstr "Abmelden"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Niemand" msgstr "Niemand"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Nur Freunde" msgstr "Nur Freunde"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Jeder" msgstr "Jeder"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Bild" msgstr "Bild"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Profilsichtbarkeit" msgstr "Profilsichtbarkeit"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Profil bearbeiten" 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." msgid "Incorrect password."
msgstr "Ungültiges Passwort." msgstr "Ungültiges Passwort."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Passwort geändert" msgstr "Passwort geändert"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +366,17 @@ msgstr ""
"Das gewählte Profilbild ist zu groß. Benutze die App um größere Bilder " "Das gewählte Profilbild ist zu groß. Benutze die App um größere Bilder "
"hochladen zu können." "hochladen zu können."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profil gespeichert" msgstr "Profil gespeichert"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Fehler" 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 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -935,6 +976,7 @@ msgstr "Systemlast (5-Minuten-Durchschnitt)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "unbekannt" msgstr "unbekannt"
@@ -980,14 +1022,18 @@ msgid "Snikket server status"
msgstr "Status des Snikket-Servers" msgstr "Status des Snikket-Servers"
#: snikket_web/templates/admin_system.html:71 #: 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" msgid "Connected devices"
msgstr "Verbundene Geräte" msgstr "Verbundene Geräte"
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "Nachricht an alle senden" msgstr "Nachricht an alle senden"
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1175,7 +1221,6 @@ msgid "You can now log in using your new password."
msgstr "Du kannst dich nun mit deinem neuen Passwort anmelden." msgstr "Du kannst dich nun mit deinem neuen Passwort anmelden."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Du kannst diese Seite nun schließen." msgstr "Du kannst diese Seite nun schließen."
@@ -1270,6 +1315,44 @@ msgstr ""
"Du kannst nun deinen normalen XMPP-Clienten mit der obenstehenden Adresse " "Du kannst nun deinen normalen XMPP-Clienten mit der obenstehenden Adresse "
"und deinem gewählten Passwort einrichten." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1506,16 +1589,21 @@ msgstr "Deine XMPP-Adresse"
msgid "Edit profile" msgid "Edit profile"
msgstr "Profil bearbeiten" 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" msgid "Your Snikket"
msgstr "Dein 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
"Benutzer, Einladungen und Gemeinschaften dieses Snikket-Dienstes verwalten." "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" msgid "Admin panel"
msgstr "Adminbereich" msgstr "Adminbereich"
@@ -1531,6 +1619,16 @@ msgstr ""
"Klicke unten um dich aus dem Webportal abzumelden. Dies betrifft keine " "Klicke unten um dich aus dem Webportal abzumelden. Dies betrifft keine "
"anderen Geräte von dir." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Ändere dein Passwort" msgstr "Ändere dein Passwort"

View File

@@ -7,11 +7,11 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n" "PO-Revision-Date: 2021-06-19 15:01+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n" "Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/" "Language-Team: English <https://i18n.sotecware.net/projects/snikket/web-"
"web-portal/en/>\n" "portal/en/>\n"
"Language: en\n" "Language: en\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -20,229 +20,229 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Login name" msgstr "Login name"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Display name" msgstr "Display name"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "" msgstr ""
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "" msgstr ""
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
#, fuzzy #, fuzzy
#| msgid "Admin area" #| msgid "Admin area"
msgid "Administrator" msgid "Administrator"
msgstr "Admin area" msgstr "Admin area"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
#, fuzzy #, fuzzy
#| msgid "Update circle" #| msgid "Update circle"
msgid "Update user" msgid "Update user"
msgstr "Update circle" msgstr "Update circle"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
#, fuzzy #, fuzzy
#| msgid "Create password reset links or delete users." #| msgid "Create password reset links or delete users."
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Create password reset links or delete users." msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Password reset link for %(user_name)s" msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
#, fuzzy #, fuzzy
#| msgid "User information" #| msgid "User information"
msgid "User information updated." msgid "User information updated."
msgstr "User information" msgstr "User information"
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Delete user permanently" msgstr "Delete user permanently"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
#, fuzzy #, fuzzy
#| msgid "deleted" #| msgid "deleted"
msgid "User deleted" msgid "User deleted"
msgstr "deleted" msgstr "deleted"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Password reset link for %(user_name)s" msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
#, fuzzy #, fuzzy
#| msgid "Create password reset links or delete users." #| msgid "Create password reset links or delete users."
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Create password reset links or delete users." msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Invite to circle" msgstr "Invite to circle"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "At least one circle must be selected" msgstr "At least one circle must be selected"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Valid for" msgstr "Valid for"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "One hour" msgstr "One hour"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Twelve hours" msgstr "Twelve hours"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "One day" msgstr "One day"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "One week" msgstr "One week"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Four weeks" msgstr "Four weeks"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individual" msgstr "Individual"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Group" msgstr "Group"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "New invitation link" msgstr "New invitation link"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Revoke" msgstr "Revoke"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation created" msgid "Invitation created"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
#, fuzzy #, fuzzy
#| msgid "New invitation link" #| msgid "New invitation link"
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "New invitation link" msgstr "New invitation link"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Create circle" msgstr "Create circle"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle created" msgid "Circle created"
msgstr "Circle name" msgstr "Circle name"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Select user" msgstr "Select user"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Update circle" msgstr "Update circle"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Delete circle permanently" msgstr "Delete circle permanently"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Add user" msgstr "Add user"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
#, fuzzy #, fuzzy
#| msgid "No circles" #| msgid "No circles"
msgid "No such circle exists" msgid "No such circle exists"
msgstr "No circles" msgstr "No circles"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Circle name" msgstr "Circle name"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
#, fuzzy #, fuzzy
#| msgid "deleted" #| msgid "deleted"
msgid "Circle deleted" msgid "Circle deleted"
msgstr "deleted" msgstr "deleted"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
#, fuzzy #, fuzzy
#| msgid "Invite to circle" #| msgid "Invite to circle"
msgid "User added to circle" msgid "User added to circle"
msgstr "Invite to circle" msgstr "Invite to circle"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
#, fuzzy #, fuzzy
#| msgid "Remove user %(username)s from circle" #| msgid "Remove user %(username)s from circle"
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Remove user %(username)s from circle" msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -250,51 +250,77 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Main" msgstr "Main"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Username" msgstr "Username"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Confirm password" msgstr "Confirm password"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
#, fuzzy #, fuzzy
#| msgid "The passwords must match" #| msgid "The passwords must match"
msgid "The passwords must match." msgid "The passwords must match."
msgstr "The passwords must match" msgstr "The passwords must match"
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Create account" msgstr "Create account"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
#, fuzzy #, fuzzy
#| msgid "That username is already taken" #| msgid "That username is already taken"
msgid "That username is already taken." msgid "That username is already taken."
msgstr "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:160 snikket_web/invite.py:225
#, fuzzy #, fuzzy
#| msgid "Registration was declined for unknown reasons" #| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Registration was declined for unknown reasons" msgstr "Registration was declined for unknown reasons"
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
#, fuzzy #, fuzzy
#| msgid "The username is not valid" #| msgid "The username is not valid"
msgid "The username is not valid." msgid "The username is not valid."
msgstr "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:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Change password" msgstr "Change password"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr ""
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Address" msgstr "Address"
@@ -311,78 +337,90 @@ msgstr "Invalid username or password."
msgid "Login successful!" msgid "Login successful!"
msgstr "" msgstr ""
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Current password" msgstr "Current password"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "New password" msgstr "New password"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirm new password" msgstr "Confirm new password"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
#, fuzzy #, fuzzy
#| msgid "The new passwords must match" #| msgid "The new passwords must match"
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "The new passwords must match" msgstr "The new passwords must match"
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Sign out" msgstr "Sign out"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Nobody" msgstr "Nobody"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Friends only" msgstr "Friends only"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Everyone" msgstr "Everyone"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Profile visibility" msgstr "Profile visibility"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "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 #, fuzzy
#| msgid "Incorrect password" #| msgid "Incorrect password"
msgid "Incorrect password." msgid "Incorrect password."
msgstr "Incorrect password" msgstr "Incorrect password"
#: snikket_web/user.py:103 #: snikket_web/user.py:115
#, fuzzy #, fuzzy
#| msgid "Password change failed" #| msgid "Password change failed"
msgid "Password changed" msgid "Password changed"
msgstr "Password change failed" msgstr "Password change failed"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
#, fuzzy #, fuzzy
#| msgid "Profile" #| msgid "Profile"
msgid "Profile updated" msgid "Profile updated"
msgstr "Profile" msgstr "Profile"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr "" msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
@@ -977,6 +1015,7 @@ msgstr "System load (5-minute average)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -1022,14 +1061,18 @@ msgid "Snikket server status"
msgstr "Snikket Web Portal" msgstr "Snikket Web Portal"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1213,7 +1256,6 @@ msgid "You can now log in using your new password."
msgstr "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_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "You can now safely close this page." msgstr "You can now safely close this page."
@@ -1304,6 +1346,41 @@ msgstr ""
"You can now set up your legacy XMPP client with the above address and the " "You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1521,15 +1598,22 @@ msgstr "Your XMPP address"
msgid "Edit profile" msgid "Edit profile"
msgstr "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" msgid "Your Snikket"
msgstr "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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "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" msgid "Admin panel"
msgstr "Admin panel" msgstr "Admin panel"
@@ -1545,6 +1629,18 @@ msgstr ""
"Click below to log yourself out of the web portal. This does not affect any " "Click below to log yourself out of the web portal. This does not affect any "
"other connected devices." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Change your password" msgstr "Change your password"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n" "PO-Revision-Date: 2021-06-19 15:01+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n" "Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/" "Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/"
@@ -20,231 +20,231 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Login name" msgstr "Login name"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Display name" msgstr "Display name"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "" msgstr ""
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "" msgstr ""
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
#, fuzzy #, fuzzy
#| msgid "Admin dashboard" #| msgid "Admin dashboard"
msgid "Administrator" msgid "Administrator"
msgstr "Admin dashboard" msgstr "Admin dashboard"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
#, fuzzy #, fuzzy
#| msgid "Create circle" #| msgid "Create circle"
msgid "Update user" msgid "Update user"
msgstr "Create circle" msgstr "Create circle"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
#, fuzzy #, fuzzy
#| msgid "Create password reset links or delete users." #| msgid "Create password reset links or delete users."
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Create password reset links or delete users." msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Password reset link for %(user_name)s" msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
#, fuzzy #, fuzzy
#| msgid "User information" #| msgid "User information"
msgid "User information updated." msgid "User information updated."
msgstr "User information" msgstr "User information"
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Delete user permanently" msgstr "Delete user permanently"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
#, fuzzy #, fuzzy
#| msgid "deleted" #| msgid "deleted"
msgid "User deleted" msgid "User deleted"
msgstr "deleted" msgstr "deleted"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Password reset link for %(user_name)s" msgstr "Password reset link for %(user_name)s"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
#, fuzzy #, fuzzy
#| msgid "Create password reset links or delete users." #| msgid "Create password reset links or delete users."
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Create password reset links or delete users." msgstr "Create password reset links or delete users."
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Invite to circle" msgstr "Invite to circle"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "At least one circle must be selected" msgstr "At least one circle must be selected"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Valid for" msgstr "Valid for"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "One hour" msgstr "One hour"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Twelve hours" msgstr "Twelve hours"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "One day" msgstr "One day"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "One week" msgstr "One week"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Four weeks" msgstr "Four weeks"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "" msgstr ""
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "New invitation link" msgstr "New invitation link"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Revoke" msgstr "Revoke"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation created" msgid "Invitation created"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
#, fuzzy #, fuzzy
#| msgid "New invitation link" #| msgid "New invitation link"
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "New invitation link" msgstr "New invitation link"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Invitation type" msgstr "Invitation type"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Create circle" msgstr "Create circle"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle created" msgid "Circle created"
msgstr "Circle name" msgstr "Circle name"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Select user" msgstr "Select user"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
#, fuzzy #, fuzzy
#| msgid "Create circle" #| msgid "Create circle"
msgid "Update circle" msgid "Update circle"
msgstr "Create circle" msgstr "Create circle"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Delete circle permanently" msgstr "Delete circle permanently"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Add user" msgstr "Add user"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
#, fuzzy #, fuzzy
#| msgid "No circles" #| msgid "No circles"
msgid "No such circle exists" msgid "No such circle exists"
msgstr "No circles" msgstr "No circles"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Circle name" msgstr "Circle name"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
#, fuzzy #, fuzzy
#| msgid "deleted" #| msgid "deleted"
msgid "Circle deleted" msgid "Circle deleted"
msgstr "deleted" msgstr "deleted"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
#, fuzzy #, fuzzy
#| msgid "Invite to circle" #| msgid "Invite to circle"
msgid "User added to circle" msgid "User added to circle"
msgstr "Invite to circle" msgstr "Invite to circle"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
#, fuzzy #, fuzzy
#| msgid "Remove user %(username)s from circle" #| msgid "Remove user %(username)s from circle"
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Remove user %(username)s from circle" msgstr "Remove user %(username)s from circle"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -252,49 +252,75 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Main" msgstr "Main"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
#, fuzzy #, fuzzy
#| msgid "Confirm new password" #| msgid "Confirm new password"
msgid "Confirm password" msgid "Confirm password"
msgstr "Confirm new password" msgstr "Confirm new password"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
#, fuzzy #, fuzzy
#| msgid "The passwords must match" #| msgid "The passwords must match"
msgid "The passwords must match." msgid "The passwords must match."
msgstr "The passwords must match" msgstr "The passwords must match"
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
#, fuzzy #, fuzzy
#| msgid "Create circle" #| msgid "Create circle"
msgid "Create account" msgid "Create account"
msgstr "Create circle" msgstr "Create circle"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "" msgstr ""
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "" msgstr ""
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "" msgstr ""
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Change password" msgstr "Change password"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr ""
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Address" msgstr "Address"
@@ -313,78 +339,90 @@ msgstr "Invalid user name or password."
msgid "Login successful!" msgid "Login successful!"
msgstr "" msgstr ""
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Current password" msgstr "Current password"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "New password" msgstr "New password"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirm new password" msgstr "Confirm new password"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
#, fuzzy #, fuzzy
#| msgid "The new passwords must match" #| msgid "The new passwords must match"
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "The new passwords must match" msgstr "The new passwords must match"
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Sign out" msgstr "Sign out"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Nobody" msgstr "Nobody"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Friends only" msgstr "Friends only"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Everyone" msgstr "Everyone"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Profile visibility" msgstr "Profile visibility"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "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 #, fuzzy
#| msgid "Incorrect password" #| msgid "Incorrect password"
msgid "Incorrect password." msgid "Incorrect password."
msgstr "Incorrect password" msgstr "Incorrect password"
#: snikket_web/user.py:103 #: snikket_web/user.py:115
#, fuzzy #, fuzzy
#| msgid "Password change failed" #| msgid "Password change failed"
msgid "Password changed" msgid "Password changed"
msgstr "Password change failed" msgstr "Password change failed"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
#, fuzzy #, fuzzy
#| msgid "Profile" #| msgid "Profile"
msgid "Profile updated" msgid "Profile updated"
msgstr "Profile" msgstr "Profile"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr "" msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
@@ -986,6 +1024,7 @@ msgstr "System load (5-minute average)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -1031,14 +1070,18 @@ msgid "Snikket server status"
msgstr "Snikket Web Portal" msgstr "Snikket Web Portal"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1219,7 +1262,6 @@ msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "" msgstr ""
@@ -1302,6 +1344,41 @@ msgid ""
"password you chose during registration." "password you chose during registration."
msgstr "" 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1515,19 +1592,26 @@ msgstr "Email address"
msgid "Edit profile" msgid "Edit profile"
msgstr "Update 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 #, fuzzy
#| msgid "About Snikket" #| msgid "About Snikket"
msgid "Your Snikket" msgid "Your Snikket"
msgstr "About Snikket" msgstr "About Snikket"
#: snikket_web/templates/user_home.html:40 #: snikket_web/templates/user_home.html:41
#, fuzzy #, fuzzy
#| msgid "Manage users and invitations of this Snikket service." #| msgid "Manage users and invitations of this Snikket service."
msgid "Manage users, invitations and circles of your Snikket service." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Manage users and invitations of this 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 #, fuzzy
#| msgid "Admin dashboard" #| msgid "Admin dashboard"
msgid "Admin panel" msgid "Admin panel"
@@ -1545,6 +1629,18 @@ msgstr ""
"Click below to log yourself out of the web portal. This does not affect any " "Click below to log yourself out of the web portal. This does not affect any "
"other connected devices." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Change your password" msgstr "Change your password"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-03-31 13:00+0000\n" "PO-Revision-Date: 2021-03-31 13:00+0000\n"
"Last-Translator: Tilman Jiménez <tilman.jimenez@tu-dortmund.de>\n" "Last-Translator: Tilman Jiménez <tilman.jimenez@tu-dortmund.de>\n"
"Language-Team: Spanish (Mexico) <https://i18n.sotecware.net/projects/snikket/" "Language-Team: Spanish (Mexico) <https://i18n.sotecware.net/projects/snikket/"
@@ -20,217 +20,217 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Limitado"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Nombre de ingreso del usuario" msgstr "Nombre de ingreso del usuario"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Nombre mostrado" msgstr "Nombre mostrado"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Nivel de acceso" msgstr "Nivel de acceso"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Limitado"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Usuario normal" msgstr "Usuario normal"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
#, fuzzy #, fuzzy
#| msgid "Admin area" #| msgid "Admin area"
msgid "Administrator" msgid "Administrator"
msgstr "Administración" msgstr "Administración"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Actualizar usuario" msgstr "Actualizar usuario"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
#, fuzzy #, fuzzy
#| msgid "Current password" #| msgid "Current password"
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Contraseña actual" msgstr "Contraseña actual"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Un enlace para restablecer la contraseña ha sido creado" msgstr "Un enlace para restablecer la contraseña ha sido creado"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
#, fuzzy #, fuzzy
#| msgid "Circle information" #| msgid "Circle information"
msgid "User information updated." msgid "User information updated."
msgstr "Información del círculo" msgstr "Información del círculo"
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Eliminar usuario permanentemente" msgstr "Eliminar usuario permanentemente"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Usuario eliminado" msgstr "Usuario eliminado"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "No hemos encontrado un enlace para restablecer la contraseña" msgstr "No hemos encontrado un enlace para restablecer la contraseña"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Enlace para restablecer la contraseña eliminado" msgstr "Enlace para restablecer la contraseña eliminado"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Invitar al círculo" msgstr "Invitar al círculo"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Seleccione al menos un círculo" msgstr "Seleccione al menos un círculo"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Válido por" msgstr "Válido por"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Una hora" msgstr "Una hora"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Doce horas" msgstr "Doce horas"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Un día" msgstr "Un día"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Una semana" msgstr "Una semana"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Cuatro semanas" msgstr "Cuatro semanas"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Tipo de invitación" msgstr "Tipo de invitación"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individual" msgstr "Individual"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Grupo" msgstr "Grupo"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Nuevo enlace de invitación" msgstr "Nuevo enlace de invitación"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Revocar/Eliminar" msgstr "Revocar/Eliminar"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation created" msgid "Invitation created"
msgstr "Tipo de invitación" msgstr "Tipo de invitación"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
#, fuzzy #, fuzzy
#| msgid "New invitation link" #| msgid "New invitation link"
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Nuevo enlace de invitación" msgstr "Nuevo enlace de invitación"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Tipo de invitación" msgstr "Tipo de invitación"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Crear círculo" msgstr "Crear círculo"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle created" msgid "Circle created"
msgstr "Nombre del círculo" msgstr "Nombre del círculo"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Seleccionar usuario" msgstr "Seleccionar usuario"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Actualizar círculo" msgstr "Actualizar círculo"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Eliminar círculo permanentemente" msgstr "Eliminar círculo permanentemente"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Añadir usuario" msgstr "Añadir usuario"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
#, fuzzy #, fuzzy
#| msgid "No circles" #| msgid "No circles"
msgid "No such circle exists" msgid "No such circle exists"
msgstr "No hay círculos" msgstr "No hay círculos"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Nombre del círculo" msgstr "Nombre del círculo"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
#, fuzzy #, fuzzy
#| msgid "Circle members" #| msgid "Circle members"
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Miembros del círculo" msgstr "Miembros del círculo"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
#, fuzzy #, fuzzy
#| msgid "Invite to circle" #| msgid "Invite to circle"
msgid "User added to circle" msgid "User added to circle"
msgstr "Invitar al círculo" msgstr "Invitar al círculo"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -238,51 +238,77 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Principal" msgstr "Principal"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Usuario" msgstr "Usuario"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Confirmar contraseña" msgstr "Confirmar contraseña"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
#, fuzzy #, fuzzy
#| msgid "The passwords must match" #| msgid "The passwords must match"
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Las contraseñas deben ser las mismas" msgstr "Las contraseñas deben ser las mismas"
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Crear cuenta" msgstr "Crear cuenta"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
#, fuzzy #, fuzzy
#| msgid "That username is already taken" #| msgid "That username is already taken"
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Ese nombre de usuario ya está siendo utilizado" msgstr "Ese nombre de usuario ya está siendo utilizado"
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
#, fuzzy #, fuzzy
#| msgid "Registration was declined for unknown reasons" #| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "El registro ha sido declinado por razones no identificadas" msgstr "El registro ha sido declinado por razones no identificadas"
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
#, fuzzy #, fuzzy
#| msgid "The username is not valid" #| msgid "The username is not valid"
msgid "The username is not valid." msgid "The username is not valid."
msgstr "El nombre de usuario no es válido" 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:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Cambiar contraseña" msgstr "Cambiar contraseña"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr ""
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Dirección" msgstr "Dirección"
@@ -299,76 +325,88 @@ msgstr "Nombre de usuario o contraseña no válidos."
msgid "Login successful!" msgid "Login successful!"
msgstr "" msgstr ""
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Contraseña actual" msgstr "Contraseña actual"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Nueva contraseña" msgstr "Nueva contraseña"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirmar nueva contraseña" msgstr "Confirmar nueva contraseña"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
#, fuzzy #, fuzzy
#| msgid "The new passwords must match" #| msgid "The new passwords must match"
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Las nuevas contraseñas deben ser iguales" msgstr "Las nuevas contraseñas deben ser iguales"
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "" msgstr ""
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Nadie" msgstr "Nadie"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Únicamente amigos" msgstr "Únicamente amigos"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Todos" msgstr "Todos"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Imagen de perfil" msgstr "Imagen de perfil"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Visibilidad de perfil" msgstr "Visibilidad de perfil"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Actualizar perfil" 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 #, fuzzy
#| msgid "Incorrect password" #| msgid "Incorrect password"
msgid "Incorrect password." msgid "Incorrect password."
msgstr "Contraseña incorrecta" msgstr "Contraseña incorrecta"
#: snikket_web/user.py:103 #: snikket_web/user.py:115
#, fuzzy #, fuzzy
#| msgid "Password" #| msgid "Password"
msgid "Password changed" msgid "Password changed"
msgstr "Contraseña" msgstr "Contraseña"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "" msgstr ""
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr "" msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
@@ -951,6 +989,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -996,14 +1035,18 @@ msgid "Snikket server status"
msgstr "Portal web de Snikket" msgstr "Portal web de Snikket"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1180,7 +1223,6 @@ msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "" msgstr ""
@@ -1259,6 +1301,39 @@ msgid ""
"password you chose during registration." "password you chose during registration."
msgstr "" 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1460,15 +1535,22 @@ msgstr ""
msgid "Edit profile" msgid "Edit profile"
msgstr "" 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" msgid "Your Snikket"
msgstr "" 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
#: snikket_web/templates/user_home.html:42 #: snikket_web/templates/user_home.html:43
msgid "Admin panel" msgid "Admin panel"
msgstr "" msgstr ""
@@ -1482,6 +1564,18 @@ msgid ""
"other connected devices." "other connected devices."
msgstr "" 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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "" msgstr ""

View File

@@ -7,11 +7,11 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-06-19 15:01+0000\n" "PO-Revision-Date: 2021-06-19 15:01+0000\n"
"Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n" "Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n"
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/" "Language-Team: French <https://i18n.sotecware.net/projects/snikket/web-"
"web-portal/fr/>\n" "portal/fr/>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -20,195 +20,195 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Limité"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Identifiant" msgstr "Identifiant"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Nom à afficher" msgstr "Nom à afficher"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Niveau daccès" msgstr "Niveau daccès"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Limité"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Utilisateur normal" msgstr "Utilisateur normal"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administrateur" msgstr "Administrateur"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Modifier lutilisateur" msgstr "Modifier lutilisateur"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Créer le lien de réinitialisation de mot de passe" msgstr "Créer le lien de réinitialisation de mot de passe"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Lien de réinitialisation du mot de passe créé" msgstr "Lien de réinitialisation du mot de passe créé"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Informations de lutilisateur mises à jour." msgstr "Informations de lutilisateur mises à jour."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Désinscrire définitivement lutilisateur" msgstr "Désinscrire définitivement lutilisateur"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Utilisateur supprimé" msgstr "Utilisateur supprimé"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Lien de réinitialisation du mot de passe introuvable" msgstr "Lien de réinitialisation du mot de passe introuvable"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Liens de réinitialisation de mot de passe supprimé" msgstr "Liens de réinitialisation de mot de passe supprimé"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Inviter dans le cercle" msgstr "Inviter dans le cercle"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Au moins un cercle doit être sélectionné" msgstr "Au moins un cercle doit être sélectionné"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Valide pour" msgstr "Valide pour"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Une heure" msgstr "Une heure"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Douze heures" msgstr "Douze heures"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Une journée" msgstr "Une journée"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Une semaine" msgstr "Une semaine"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Quatre semaines" msgstr "Quatre semaines"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Type dinvitation" msgstr "Type dinvitation"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individuelle" msgstr "Individuelle"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Groupe" msgstr "Groupe"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Nouveau lien dinvitation" msgstr "Nouveau lien dinvitation"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Révoquer" msgstr "Révoquer"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Invitation créée" msgstr "Invitation créée"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Cette invitation nexiste pas" msgstr "Cette invitation nexiste pas"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Invitation révoquée" msgstr "Invitation révoquée"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Créer un cercle" msgstr "Créer un cercle"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Cercle créé" msgstr "Cercle créé"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Sélectionner un utilisateur" msgstr "Sélectionner un utilisateur"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Mettre à jour le cercle" msgstr "Mettre à jour le cercle"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Supprimer le cercle définitivement" msgstr "Supprimer le cercle définitivement"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Ajouter un utilisateur" msgstr "Ajouter un utilisateur"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Ce cercle nexiste pas" msgstr "Ce cercle nexiste pas"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Données du cercle mises à jour" msgstr "Données du cercle mises à jour"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Cercle supprimé" msgstr "Cercle supprimé"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Utilisateur ajouté à ce cercle" msgstr "Utilisateur ajouté à ce cercle"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Utilisateur retiré du cercle" msgstr "Utilisateur retiré du cercle"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "Contenu du message" msgstr "Contenu du message"
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "Envoyer uniquement aux utilisateurs connectés" msgstr "Envoyer uniquement aux utilisateurs connectés"
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "Envoyer aux utilisateurs" msgstr "Envoyer aux utilisateurs"
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "Envoyer une prévisualisation à vous-mêmes" msgstr "Envoyer une prévisualisation à vous-mêmes"
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "Annonce envoyée!" msgstr "Annonce envoyée!"
@@ -216,43 +216,69 @@ msgstr "Annonce envoyée!"
msgid "Main" msgid "Main"
msgstr "Principal" msgstr "Principal"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Nom dutilisateur" msgstr "Nom dutilisateur"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Confirmer le mot de passe" msgstr "Confirmer le mot de passe"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Les mots de passe doivent être identiques." msgstr "Les mots de passe doivent être identiques."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Créer un compte" msgstr "Créer un compte"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Ce nom dutilisateur est déjà utilisé." msgstr "Ce nom dutilisateur est déjà utilisé."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Lenregistrement a été refusé pour des raisons inconnues." msgstr "Lenregistrement a été refusé pour des raisons inconnues."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Le nom dutilisateur nest pas valide." msgstr "Le nom dutilisateur nest pas valide."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Changer de mot de passe" msgstr "Changer de mot de passe"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Erreur"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
@@ -269,59 +295,67 @@ msgstr "Nom dutilisateur ou mot de passe incorrect."
msgid "Login successful!" msgid "Login successful!"
msgstr "Connexion réussie!" msgstr "Connexion réussie!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Mot de passe actuel" msgstr "Mot de passe actuel"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Nouveau mot de passe" msgstr "Nouveau mot de passe"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe" msgstr "Confirmer le nouveau mot de passe"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Les nouveaux mots de passe doivent être identiques." msgstr "Les nouveaux mots de passe doivent être identiques."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Se déconnecter" msgstr "Se déconnecter"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Personne" msgstr "Personne"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Amis seulement" msgstr "Amis seulement"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Tout le monde" msgstr "Tout le monde"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Visibilité du profil" msgstr "Visibilité du profil"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Mettre à jour le profil" msgstr "Mettre à jour le profil"
#: 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." msgid "Incorrect password."
msgstr "Mot de passe incorrect." msgstr "Mot de passe incorrect."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Mot de passe changé" msgstr "Mot de passe changé"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +363,17 @@ msgstr ""
"Lavatar choisi est trop gros. Pour utiliser un avatar aussi large, veuillez " "Lavatar choisi est trop gros. Pour utiliser un avatar aussi large, veuillez "
"utiliser lapplication." "utiliser lapplication."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profil mis à jour" msgstr "Profil mis à jour"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Erreur" msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -929,6 +967,7 @@ msgstr "Charge système (moyenne sur 5 minutes)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "inconnu(e)" msgstr "inconnu(e)"
@@ -974,14 +1013,18 @@ msgid "Snikket server status"
msgstr "Statut du serveur Snikket" msgstr "Statut du serveur Snikket"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "Clients connectés" msgstr "Clients connectés"
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "Diffusion de message" msgstr "Diffusion de message"
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1169,7 +1212,6 @@ msgstr ""
"Vous pouvez désormais vous connecter en utilisant votre nouveau mot de passe." "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_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Vous pouvez maintenant fermer cette page en toute sécurité." msgstr "Vous pouvez maintenant fermer cette page en toute sécurité."
@@ -1266,6 +1308,41 @@ msgstr ""
"Vous pouvez maintenant configurer votre client XMPP avec ladresse ci-dessus " "Vous pouvez maintenant configurer votre client XMPP avec ladresse ci-dessus "
"et le mot de passe que vous avez choisi lors de lenregistrement." "et le mot de passe que vous avez choisi lors de lenregistrement."
#: 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 "Opération réussie"
#: 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 "En utilisant lapplication 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1491,16 +1568,23 @@ msgstr "Votre adresse XMPP"
msgid "Edit profile" msgid "Edit profile"
msgstr "Éditer votre profil" 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
#, fuzzy
#| msgid "Manage users"
msgid "Manage your data"
msgstr "Gérer les utilisateurs"
#: snikket_web/templates/user_home.html:39
msgid "Your Snikket" msgid "Your Snikket"
msgstr "Votre 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
"Gérer les utilisateurs, invitations et cercles de votre service Snikket." "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" msgid "Admin panel"
msgstr "Panneau dadministration" msgstr "Panneau dadministration"
@@ -1516,6 +1600,18 @@ msgstr ""
"Cliquez ci-dessous pour vous déconnecter du portail. Ceci naffecte pas vos " "Cliquez ci-dessous pour vous déconnecter du portail. Ceci naffecte pas vos "
"autres appareils connectés." "autres appareils connectés."
#: snikket_web/templates/user_manage_data.html:8
#, fuzzy
#| msgid "Your account"
msgid "Export account"
msgstr "Votre 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 ""
#: snikket_web/templates/user_passwd.html:5 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Changer votre mot de passe" msgstr "Changer votre mot de passe"

View File

@@ -6,209 +6,209 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: translations@snikket.org\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-06-21 23:01+0000\n" "PO-Revision-Date: 2022-01-18 14:59+0000\n"
"Last-Translator: uira <inboxriau@andriana.id>\n" "Last-Translator: uira <inboxriau@andriana.id>\n"
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/" "Language-Team: Indonesian <http://i18n.sotecware.net/projects/snikket/"
"web-portal/id/>\n" "web-portal/id/>\n"
"Language: id\n" "Language: id\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\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" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Terbatas"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Nama login" msgstr "Nama login"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Nama tampilan" msgstr "Nama tampilan"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Level akses" msgstr "Level akses"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Terbatas"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Pengguna normal" msgstr "Pengguna normal"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administrator" msgstr "Administrator"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Memperbarui pengguna" msgstr "Memperbarui pengguna"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Buat tautan setel ulang kata sandi" msgstr "Buat tautan setel ulang kata sandi"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Tautan setel ulang kata sandi dibuat" msgstr "Tautan setel ulang kata sandi dibuat"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Informasi pengguna diperbarui." msgstr "Informasi pengguna diperbarui."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Hapus permanen pengguna" msgstr "Hapus permanen pengguna"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Pengguna dihapus" msgstr "Pengguna dihapus"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Tautan setel ulang kata sandi tidak ditemukan" msgstr "Tautan setel ulang kata sandi tidak ditemukan"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Tautan setel ulang kata sandi dihapus" msgstr "Tautan setel ulang kata sandi dihapus"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Undang masuk kelompok" msgstr "Undang masuk kelompok"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Minimal satu kelompok harus dipilih" msgstr "Minimal satu kelompok harus dipilih"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Valid selama" msgstr "Valid selama"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Satu jam" msgstr "Satu jam"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Dua belas jam" msgstr "Dua belas jam"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Satu hari" msgstr "Satu hari"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Satu minggu" msgstr "Satu minggu"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Empat minggu" msgstr "Empat minggu"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Jenis undangan" msgstr "Jenis undangan"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individu" msgstr "Individu"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Grup" msgstr "Grup"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Tautan undangan baru" msgstr "Tautan undangan baru"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Batalkan" msgstr "Batalkan"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Undangan dibuat" msgstr "Undangan dibuat"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Undangan tidak tersedia" msgstr "Undangan tidak tersedia"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Undangan dibatalkan" msgstr "Undangan dibatalkan"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Nama" msgstr "Nama"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Buat kelompok" msgstr "Buat kelompok"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Kelompok dibuat" msgstr "Kelompok dibuat"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Pilih pengguna" msgstr "Pilih pengguna"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Memperbarui kelompok" msgstr "Memperbarui kelompok"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Hapus kelompok secara permanen" msgstr "Hapus kelompok secara permanen"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Tambah pengguna" msgstr "Tambah pengguna"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Kelompok tersebut tidak ada" msgstr "Kelompok tersebut tidak ada"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Data kelompok diperbarui" msgstr "Data kelompok diperbarui"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Kelompok dihapus" msgstr "Kelompok dihapus"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Pengguna ditambahkan ke kelompok" msgstr "Pengguna ditambahkan ke kelompok"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Pengguna dihapus dari kelompok" msgstr "Pengguna dihapus dari kelompok"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "Isi pesan" msgstr "Isi pesan"
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "Hanya kirim ke pengguna online" msgstr "Hanya kirim ke pengguna online"
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "Kirim ke semua pengguna" msgstr "Kirim ke semua pengguna"
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "Kirim pratinjau ke diri sendiri" msgstr "Kirim pratinjau ke diri sendiri"
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "Pengumuman terkirim!" msgstr "Pengumuman terkirim!"
@@ -216,43 +216,73 @@ msgstr "Pengumuman terkirim!"
msgid "Main" msgid "Main"
msgstr "Utama" msgstr "Utama"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
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:112
msgid "Username" msgid "Username"
msgstr "Nama pengguna" msgstr "Nama pengguna"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Kata sandi" msgstr "Kata sandi"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Konfirmasi kata sandi" msgstr "Konfirmasi kata sandi"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Kata sandi harus cocok." msgstr "Kata sandi harus cocok."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Buat akun" msgstr "Buat akun"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Nama pengguna itu sudah dipakai." msgstr "Nama pengguna itu sudah dipakai."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui." msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Nama pengguna tidak valid." msgstr "Nama pengguna tidak valid."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Ganti kata sandi" msgstr "Ganti kata sandi"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr "File data akun"
#: snikket_web/invite.py:248
msgid "Import data"
msgstr "Impor data"
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Kesalahan"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Alamat" msgstr "Alamat"
@@ -269,59 +299,67 @@ msgstr "Nama pengguna atau kata sandi salah."
msgid "Login successful!" msgid "Login successful!"
msgstr "Login berhasil!" msgstr "Login berhasil!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Kata sandi sekarang" msgstr "Kata sandi sekarang"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Kata sandi baru" msgstr "Kata sandi baru"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Konfirmasi kata sandi" msgstr "Konfirmasi kata sandi"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Kata sandi baru harus cocok." msgstr "Kata sandi baru harus cocok."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Keluar" msgstr "Keluar"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Tak seorangpun" msgstr "Tak seorangpun"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Hanya teman" msgstr "Hanya teman"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Semua orang" msgstr "Semua orang"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Gambar profil" msgstr "Gambar profil"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Visibilitas profil" msgstr "Visibilitas profil"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Perbarui profil" 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." msgid "Incorrect password."
msgstr "Kata sandi salah." msgstr "Kata sandi salah."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Kata sandi diganti" msgstr "Kata sandi diganti"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +367,17 @@ msgstr ""
"Avatar yang dipilih terlalu besar. Untuk dapat mengunggah avatar yang lebih " "Avatar yang dipilih terlalu besar. Untuk dapat mengunggah avatar yang lebih "
"besar, sila gunakan aplikasi." "besar, sila gunakan aplikasi."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profil diperbarui" msgstr "Profil diperbarui"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Kesalahan" 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 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -930,6 +972,7 @@ msgstr "Beban sistem (rata-rata 5 menit)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "Tidak diketahui" msgstr "Tidak diketahui"
@@ -975,14 +1018,18 @@ msgid "Snikket server status"
msgstr "Status server Snikket" msgstr "Status server Snikket"
#: snikket_web/templates/admin_system.html:71 #: 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" msgid "Connected devices"
msgstr "Perangkat terhubung" msgstr "Perangkat terhubung"
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "Siarkan pesan" msgstr "Sebarkan pesan"
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1168,7 +1215,6 @@ msgid "You can now log in using your new password."
msgstr "Anda dapat masuk menggunakan kata sandi baru Anda." msgstr "Anda dapat masuk menggunakan kata sandi baru Anda."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Sekarang Anda dapat menutup halaman ini." msgstr "Sekarang Anda dapat menutup halaman ini."
@@ -1260,6 +1306,44 @@ msgstr ""
"Sekarang anda dapat mempersiapkan aplikasi XMPP lawas Anda dengan alamat di " "Sekarang anda dapat mempersiapkan aplikasi XMPP lawas Anda dengan alamat di "
"atas dan kata sandi yang dipilih saat pendaftaran." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1486,15 +1570,20 @@ msgstr "Alamat XMPP anda"
msgid "Edit profile" msgid "Edit profile"
msgstr "Edit profil" 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" msgid "Your Snikket"
msgstr "Snikket anda" 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Kelola pengguna, undangan dan kelompok pengguna layanan Snikket." 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" msgid "Admin panel"
msgstr "Panel Administrator" msgstr "Panel Administrator"
@@ -1510,6 +1599,18 @@ msgstr ""
"Klik tombol untuk keluar dari portal web. Ini tidak mempengaruhi perangkat " "Klik tombol untuk keluar dari portal web. Ini tidak mempengaruhi perangkat "
"lain yang terhubung." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Ganti kata sandi anda" msgstr "Ganti kata sandi anda"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-05-19 15:12+0000\n" "PO-Revision-Date: 2021-05-19 15:12+0000\n"
"Last-Translator: Roberto Resoli <roberto@resolutions.it>\n" "Last-Translator: Roberto Resoli <roberto@resolutions.it>\n"
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/web-" "Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/web-"
@@ -20,195 +20,195 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Limitato"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Nome utente" msgstr "Nome utente"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Nome visualizzato" msgstr "Nome visualizzato"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Livello di accesso" msgstr "Livello di accesso"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Limitato"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Utente normale" msgstr "Utente normale"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Amministratore" msgstr "Amministratore"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Aggiorna utente" msgstr "Aggiorna utente"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Crea collegamento per reimpostare la password" msgstr "Crea collegamento per reimpostare la password"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Creato collegamento per reimpostare la password" msgstr "Creato collegamento per reimpostare la password"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Informazioni utente aggiornate." msgstr "Informazioni utente aggiornate."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Elimina definitivamente l'utente" msgstr "Elimina definitivamente l'utente"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Utente rimosso" msgstr "Utente rimosso"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Collegamento per reimpostare la password non trovato" msgstr "Collegamento per reimpostare la password non trovato"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Eliminato collegamento per reimpostare la password" msgstr "Eliminato collegamento per reimpostare la password"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Invita nella cerchia" msgstr "Invita nella cerchia"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Devi selezionare almeno una cerchia" msgstr "Devi selezionare almeno una cerchia"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Valido per" msgstr "Valido per"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Un'ora" msgstr "Un'ora"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Dodici ore" msgstr "Dodici ore"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Un giorno" msgstr "Un giorno"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Una settimana" msgstr "Una settimana"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Quattro settimane" msgstr "Quattro settimane"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Tipo di invito" msgstr "Tipo di invito"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individuale" msgstr "Individuale"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Gruppo" msgstr "Gruppo"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Nuovo collegamento di invito" msgstr "Nuovo collegamento di invito"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Revoca" msgstr "Revoca"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Invito creato" msgstr "Invito creato"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Questo invito non esiste" msgstr "Questo invito non esiste"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Invito revocato" msgstr "Invito revocato"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Crea cerchia" msgstr "Crea cerchia"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Cerchia creata" msgstr "Cerchia creata"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Seleziona utente" msgstr "Seleziona utente"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Modifica cerchia" msgstr "Modifica cerchia"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Elimina cerchia definitivamente" msgstr "Elimina cerchia definitivamente"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Aggiungi utente" msgstr "Aggiungi utente"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Questa cerchia non esiste" msgstr "Questa cerchia non esiste"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Dati della cerchia aggiornati" msgstr "Dati della cerchia aggiornati"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Cerchia eliminata" msgstr "Cerchia eliminata"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Utente aggiunto alla cerchia" msgstr "Utente aggiunto alla cerchia"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Utente rimosso dalla cerchia" msgstr "Utente rimosso dalla cerchia"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -216,43 +216,69 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Principale" msgstr "Principale"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Nome utente" msgstr "Nome utente"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Conferma password" msgstr "Conferma password"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Le password devono essere identiche." msgstr "Le password devono essere identiche."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Crea utenza" msgstr "Crea utenza"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Nome utente già in uso." msgstr "Nome utente già in uso."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Registrazione rifiutata per motivi sconosciuti." msgstr "Registrazione rifiutata per motivi sconosciuti."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Nome utente non valido." msgstr "Nome utente non valido."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Cambia password" msgstr "Cambia password"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Errore"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Indirizzo" msgstr "Indirizzo"
@@ -269,59 +295,67 @@ msgstr "Nome utente o password non validi."
msgid "Login successful!" msgid "Login successful!"
msgstr "Accesso riuscito!" msgstr "Accesso riuscito!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Password attuale" msgstr "Password attuale"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Nuova password" msgstr "Nuova password"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Conferma nuova password" msgstr "Conferma nuova password"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Le nuove password devono essere identiche." msgstr "Le nuove password devono essere identiche."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Esci" msgstr "Esci"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Nessuno" msgstr "Nessuno"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Solo amici" msgstr "Solo amici"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Chiunque" msgstr "Chiunque"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Visibilità del profilo" msgstr "Visibilità del profilo"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Modifica profilo" 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." msgid "Incorrect password."
msgstr "Password errata." msgstr "Password errata."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Password cambiata" msgstr "Password cambiata"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +363,17 @@ msgstr ""
"L'avatar scelto è troppo grande. Per utilizzare un avatar così grande, " "L'avatar scelto è troppo grande. Per utilizzare un avatar così grande, "
"utilizzate l'app." "utilizzate l'app."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profilo aggiornato" msgstr "Profilo aggiornato"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Errore" msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -931,6 +969,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -976,14 +1015,18 @@ msgid "Snikket server status"
msgstr "Portale Web di Snikket" msgstr "Portale Web di Snikket"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1167,7 +1210,6 @@ msgid "You can now log in using your new password."
msgstr "Ora puoi collegarti utilizzando la nuova password." msgstr "Ora puoi collegarti utilizzando la nuova password."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Puoi chiudere questa pagina in tutta sicurezza." msgstr "Puoi chiudere questa pagina in tutta sicurezza."
@@ -1261,6 +1303,41 @@ msgstr ""
"Ora puoi impostare il tuo client XMPP con l'indirizzo mostrato sopra e la " "Ora puoi impostare il tuo client XMPP con l'indirizzo mostrato sopra e la "
"password che hai impostato durante la registrazione." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1496,15 +1573,22 @@ msgstr "Il tuo indirizzo XMPP"
msgid "Edit profile" msgid "Edit profile"
msgstr "Modifica profilo" 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" msgid "Your Snikket"
msgstr "Il tuo 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Gestisci utenti, inviti e cerchie del tuo servizio Snikket." 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" msgid "Admin panel"
msgstr "Pannello amministrativo" msgstr "Pannello amministrativo"
@@ -1520,6 +1604,18 @@ msgstr ""
"Premi il pulsante sottostante per uscire dal portale web. Non ha effetto " "Premi il pulsante sottostante per uscire dal portale web. Non ha effetto "
"sugli altri dispositivi collegati." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Modifica la tua password" msgstr "Modifica la tua password"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-01-28 17:55+0000\n" "PO-Revision-Date: 2021-01-28 17:55+0000\n"
"Last-Translator: pep <pep@bouah.net>\n" "Last-Translator: pep <pep@bouah.net>\n"
"Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-" "Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-"
@@ -20,227 +20,227 @@ msgstr ""
"X-Generator: Weblate 4.4.2\n" "X-Generator: Weblate 4.4.2\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "ロゲイン名" msgstr "ロゲイン名"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "表示名" msgstr "表示名"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "" msgstr ""
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "" msgstr ""
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
#, fuzzy #, fuzzy
#| msgid "Admin area" #| msgid "Admin area"
msgid "Administrator" msgid "Administrator"
msgstr "管理" msgstr "管理"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
#, fuzzy #, fuzzy
#| msgid "Update circle" #| msgid "Update circle"
msgid "Update user" msgid "Update user"
msgstr "サークルを更新" msgstr "サークルを更新"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Create password reset link" msgid "Create password reset link"
msgstr "%(user_name)s のパスワード再設定リンク" msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link created" msgid "Password reset link created"
msgstr "%(user_name)s のパスワード再設定リンク" msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
#, fuzzy #, fuzzy
#| msgid "User information" #| msgid "User information"
msgid "User information updated." msgid "User information updated."
msgstr "ユーザー詳細" msgstr "ユーザー詳細"
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "ユーザーを削除する" msgstr "ユーザーを削除する"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "" msgstr ""
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "%(user_name)s のパスワード再設定リンク" msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
#, fuzzy #, fuzzy
#| msgid "Password reset link for %(user_name)s" #| msgid "Password reset link for %(user_name)s"
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "%(user_name)s のパスワード再設定リンク" msgstr "%(user_name)s のパスワード再設定リンク"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "サークルに紹介する" msgstr "サークルに紹介する"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "サークルを選択してください" msgstr "サークルを選択してください"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "有効期限" msgstr "有効期限"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "一時間" msgstr "一時間"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "12時間" msgstr "12時間"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "一日" msgstr "一日"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "一週間" msgstr "一週間"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "4週間" msgstr "4週間"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "紹介の種類" msgstr "紹介の種類"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "一回" msgstr "一回"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "複数回" msgstr "複数回"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "新しい紹介状" msgstr "新しい紹介状"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "取り消す" msgstr "取り消す"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation created" msgid "Invitation created"
msgstr "紹介の種類" msgstr "紹介の種類"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
#, fuzzy #, fuzzy
#| msgid "New invitation link" #| msgid "New invitation link"
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "新しい紹介状" msgstr "新しい紹介状"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
#, fuzzy #, fuzzy
#| msgid "Invitation type" #| msgid "Invitation type"
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "紹介の種類" msgstr "紹介の種類"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "名" msgstr "名"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "サークルを作成" msgstr "サークルを作成"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle created" msgid "Circle created"
msgstr "サークル名" msgstr "サークル名"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "ユーザー選択" msgstr "ユーザー選択"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "サークルを更新" msgstr "サークルを更新"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "サークルを削除" msgstr "サークルを削除"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "ユーザーを追加する" msgstr "ユーザーを追加する"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
#, fuzzy #, fuzzy
#| msgid "No circles" #| msgid "No circles"
msgid "No such circle exists" msgid "No such circle exists"
msgstr "なし" msgstr "なし"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
#, fuzzy #, fuzzy
#| msgid "Circle name" #| msgid "Circle name"
msgid "Circle data updated" msgid "Circle data updated"
msgstr "サークル名" msgstr "サークル名"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
#, fuzzy #, fuzzy
#| msgid "Circle members" #| msgid "Circle members"
msgid "Circle deleted" msgid "Circle deleted"
msgstr "サークル会員" msgstr "サークル会員"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
#, fuzzy #, fuzzy
#| msgid "Invite to circle" #| msgid "Invite to circle"
msgid "User added to circle" msgid "User added to circle"
msgstr "サークルに紹介する" msgstr "サークルに紹介する"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
#, fuzzy #, fuzzy
#| msgid "Remove user %(username)s from circle" #| msgid "Remove user %(username)s from circle"
msgid "User removed from circle" msgid "User removed from circle"
msgstr "%(username)s をサークルから外す" msgstr "%(username)s をサークルから外す"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -248,51 +248,77 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "第一サークル" msgstr "第一サークル"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "ユーザー名" msgstr "ユーザー名"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "パスワード" msgstr "パスワード"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "確認用パスワード" msgstr "確認用パスワード"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
#, fuzzy #, fuzzy
#| msgid "The passwords must match" #| msgid "The passwords must match"
msgid "The passwords must match." msgid "The passwords must match."
msgstr "確認用パスワードが一致しません" msgstr "確認用パスワードが一致しません"
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "アカウント作成" msgstr "アカウント作成"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
#, fuzzy #, fuzzy
#| msgid "That username is already taken" #| msgid "That username is already taken"
msgid "That username is already taken." msgid "That username is already taken."
msgstr "このユーザー名は存在しています" msgstr "このユーザー名は存在しています"
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
#, fuzzy #, fuzzy
#| msgid "Registration was declined for unknown reasons" #| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "理由不明の登録エラー" msgstr "理由不明の登録エラー"
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
#, fuzzy #, fuzzy
#| msgid "The username is not valid" #| msgid "The username is not valid"
msgid "The username is not valid." msgid "The username is not valid."
msgstr "ユーザー名が不正" msgstr "ユーザー名が不正"
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "パスワード変更" msgstr "パスワード変更"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr ""
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "アドレス" msgstr "アドレス"
@@ -309,78 +335,90 @@ msgstr "ユーザー名またはパスワードが不正。"
msgid "Login successful!" msgid "Login successful!"
msgstr "" msgstr ""
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "現在のパスワード" msgstr "現在のパスワード"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "新しいパスワード" msgstr "新しいパスワード"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "新しいパスワードの確認" msgstr "新しいパスワードの確認"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
#, fuzzy #, fuzzy
#| msgid "The new passwords must match" #| msgid "The new passwords must match"
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "新しいパスワードが不一致" msgstr "新しいパスワードが不一致"
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "サインアウト" msgstr "サインアウト"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "" msgstr ""
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "コンタクト限定" msgstr "コンタクト限定"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "全員" msgstr "全員"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "アバター" msgstr "アバター"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "" msgstr ""
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "プロファイル管理" 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 #, fuzzy
#| msgid "Incorrect password" #| msgid "Incorrect password"
msgid "Incorrect password." msgid "Incorrect password."
msgstr "パスワード不正" msgstr "パスワード不正"
#: snikket_web/user.py:103 #: snikket_web/user.py:115
#, fuzzy #, fuzzy
#| msgid "Password reset" #| msgid "Password reset"
msgid "Password changed" msgid "Password changed"
msgstr "パスワード再設定" msgstr "パスワード再設定"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
#, fuzzy #, fuzzy
#| msgid "Profile" #| msgid "Profile"
msgid "Profile updated" msgid "Profile updated"
msgstr "プロファイル" msgstr "プロファイル"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr "" msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
@@ -956,6 +994,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -1001,14 +1040,18 @@ msgid "Snikket server status"
msgstr "Snikket ホームページ" msgstr "Snikket ホームページ"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1191,7 +1234,6 @@ msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "" msgstr ""
@@ -1275,6 +1317,41 @@ msgid ""
"password you chose during registration." "password you chose during registration."
msgstr "" 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1482,17 +1559,24 @@ msgstr "談話室アドレス"
msgid "Edit profile" msgid "Edit profile"
msgstr "プロファイル管理" 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 #, fuzzy
#| msgid "About Snikket" #| msgid "About Snikket"
msgid "Your Snikket" msgid "Your Snikket"
msgstr "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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
#: snikket_web/templates/user_home.html:42 #: snikket_web/templates/user_home.html:43
#, fuzzy #, fuzzy
#| msgid "Admin area" #| msgid "Admin area"
msgid "Admin panel" msgid "Admin panel"
@@ -1508,6 +1592,18 @@ msgid ""
"other connected devices." "other connected devices."
msgstr "" 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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "パスワード変更" msgstr "パスワード変更"

View File

@@ -1,14 +1,14 @@
# Translations template for PROJECT. # Translations template for PROJECT.
# Copyright (C) 2021 ORGANIZATION # Copyright (C) 2022 ORGANIZATION
# This file is distributed under the same license as the PROJECT project. # This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021. # FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,195 +17,195 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n" "Generated-By: Babel 2.9.1\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "" msgstr ""
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "" msgstr ""
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "" msgstr ""
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "" msgstr ""
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "" msgstr ""
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "" msgstr ""
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "" msgstr ""
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "" msgstr ""
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "" msgstr ""
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "" msgstr ""
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "" msgstr ""
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "" msgstr ""
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "" msgstr ""
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "" msgstr ""
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "" msgstr ""
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "" msgstr ""
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "" msgstr ""
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "" msgstr ""
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "" msgstr ""
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "" msgstr ""
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "" msgstr ""
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "" msgstr ""
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "" msgstr ""
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "" msgstr ""
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "" msgstr ""
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "" msgstr ""
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "" msgstr ""
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "" msgstr ""
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "" msgstr ""
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "" msgstr ""
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "" msgstr ""
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "" msgstr ""
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "" msgstr ""
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "" msgstr ""
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "" msgstr ""
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -213,43 +213,69 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "" msgstr ""
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please "
"contact your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "" msgstr ""
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "" msgstr ""
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "" msgstr ""
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "" msgstr ""
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "" msgstr ""
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "" msgstr ""
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "" msgstr ""
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr ""
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "" msgstr ""
@@ -266,70 +292,82 @@ msgstr ""
msgid "Login successful!" msgid "Login successful!"
msgstr "" msgstr ""
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "" msgstr ""
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "" msgstr ""
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "" msgstr ""
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "" msgstr ""
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "" msgstr ""
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "" msgstr ""
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "" msgstr ""
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "" msgstr ""
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "" msgstr ""
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "" msgstr ""
#: snikket_web/user.py:99 #: snikket_web/user.py:82
msgid "Incorrect password." msgid "Account data"
msgstr "" msgstr ""
#: snikket_web/user.py:103 #: snikket_web/user.py:86
msgid "Password changed" msgid "Upload"
msgstr "" msgstr ""
#: snikket_web/user.py:111 #: snikket_web/user.py:111
msgid "Incorrect password."
msgstr ""
#: snikket_web/user.py:115
msgid "Password changed"
msgstr ""
#: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please" "The chosen avatar is too big. To be able to upload larger avatars, please"
" use the app." " use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "" msgstr ""
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr "" msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
@@ -875,6 +913,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -918,14 +957,18 @@ msgid "Snikket server status"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on " "This form allows you to send a message to all users currently online on "
"your Snikket server. Use it wisely." "your Snikket server. Use it wisely."
@@ -1097,7 +1140,6 @@ msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "" msgstr ""
@@ -1175,6 +1217,37 @@ msgid ""
" password you chose during registration." " password you chose during registration."
msgstr "" 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1377,15 +1450,20 @@ msgstr ""
msgid "Edit profile" msgid "Edit profile"
msgstr "" 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" msgid "Your Snikket"
msgstr "" 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
#: snikket_web/templates/user_home.html:42 #: snikket_web/templates/user_home.html:43
msgid "Admin panel" msgid "Admin panel"
msgstr "" msgstr ""
@@ -1399,6 +1477,16 @@ msgid ""
"any other connected devices." "any other connected devices."
msgstr "" 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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "" msgstr ""

View File

@@ -6,9 +6,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: translations@snikket.org\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-09-03 15:00+0000\n" "PO-Revision-Date: 2022-01-21 15:00+0000\n"
"Last-Translator: misiek <migelazur@mailbox.org>\n" "Last-Translator: misiek <migelazur@mailbox.org>\n"
"Language-Team: Polish <http://i18n.sotecware.net/projects/snikket/web-portal/" "Language-Team: Polish <http://i18n.sotecware.net/projects/snikket/web-portal/"
"pl/>\n" "pl/>\n"
@@ -18,198 +18,198 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n" "|| 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" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Ograniczony"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Login" msgstr "Login"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Nazwa wyświetlana" msgstr "Nazwa wyświetlana"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Poziom dostępu" msgstr "Poziom dostępu"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Ograniczony"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Zwykły użytkownik" msgstr "Zwykły użytkownik"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administrator" msgstr "Administrator"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Zapisz ustawienia użytkownika" msgstr "Zapisz ustawienia użytkownika"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Stwórz link do zresetowania hasła" msgstr "Stwórz link do zresetowania hasła"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Utworzono link resetowania hasła" msgstr "Utworzono link resetowania hasła"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Zaktualizowano informacje o użytkowniku." msgstr "Zaktualizowano informacje o użytkowniku."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Usuń użytkownika bezpowrotnie" msgstr "Usuń użytkownika bezpowrotnie"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Użytkownik został usunięty" msgstr "Użytkownik został usunięty"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Nie znaleziono linku do zresetowania hasła" msgstr "Nie znaleziono linku do zresetowania hasła"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Usunięto link resetowania hasła" msgstr "Usunięto link resetowania hasła"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Zaproś do kręgu" msgstr "Zaproś do kręgu"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Należy wybrać przynajmniej jeden krąg" msgstr "Należy wybrać przynajmniej jeden krąg"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Ważne przez" msgstr "Ważne przez"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Godzinę" msgstr "Godzinę"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Dwanaście godzin" msgstr "Dwanaście godzin"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Dzień" msgstr "Dzień"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Tydzień" msgstr "Tydzień"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Cztery tygodnie" msgstr "Cztery tygodnie"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Typ zaproszenia" msgstr "Typ zaproszenia"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Indywidualne" msgstr "Indywidualne"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Grupowe" msgstr "Grupowe"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Nowy link z zaproszeniem" msgstr "Nowy link z zaproszeniem"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Unieważnij" msgstr "Unieważnij"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Utworzono zaproszenie" msgstr "Utworzono zaproszenie"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Takie zaproszenie nie istnieje" msgstr "Takie zaproszenie nie istnieje"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Unieważniono zaproszenie" msgstr "Unieważniono zaproszenie"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Nazwa" msgstr "Nazwa"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Utwórz krąg" msgstr "Utwórz krąg"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Utworzono krąg" msgstr "Utworzono krąg"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Wybierz użytkownika" msgstr "Wybierz użytkownika"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Zaktualizuj ustawienia kręgu" msgstr "Zaktualizuj ustawienia kręgu"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Usuń krąg bezpowrotnie" msgstr "Usuń krąg bezpowrotnie"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Dodaj użytkownika" msgstr "Dodaj użytkownika"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Taki krąg nie istnieje" msgstr "Taki krąg nie istnieje"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Zaktualizowano dane kręgu" msgstr "Zaktualizowano dane kręgu"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Krąg został usunięty" msgstr "Krąg został usunięty"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Dodano użytkownika do kręgu" msgstr "Dodano użytkownika do kręgu"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Usunięto użytkownika z kręgu" msgstr "Usunięto użytkownika z kręgu"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "Treść wiadomości" msgstr "Treść wiadomości"
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "Wyślij jedynie do użytkowników online" msgstr "Wyślij jedynie do użytkowników online"
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "Wyślij do wszystkich użytkowników" msgstr "Wyślij do wszystkich użytkowników"
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "Prześlij do siebie podgląd wiadomości" msgstr "Prześlij do siebie podgląd wiadomości"
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "Komunikat wysłany!" msgstr "Komunikat wysłany!"
@@ -217,43 +217,73 @@ msgstr "Komunikat wysłany!"
msgid "Main" msgid "Main"
msgstr "Główny" msgstr "Główny"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
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:112
msgid "Username" msgid "Username"
msgstr "Nazwa użytkownika" msgstr "Nazwa użytkownika"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Hasło" msgstr "Hasło"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Potwierdź hasło" msgstr "Potwierdź hasło"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Hasła muszą się zgadzać." msgstr "Hasła muszą się zgadzać."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Utwórz konto" msgstr "Utwórz konto"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Ta nazwa użytkownika jest już zajęta." msgstr "Ta nazwa użytkownika jest już zajęta."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Z nieznanych przyczyn rejestracja została odrzucona." msgstr "Z nieznanych przyczyn rejestracja została odrzucona."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Ta nazwa użytkownika jest nieprawidłowa." msgstr "Ta nazwa użytkownika jest nieprawidłowa."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Zmień hasło" msgstr "Zmień hasło"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr "Plik z danymi konta"
#: snikket_web/invite.py:248
msgid "Import data"
msgstr "Importuj dane"
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Błąd"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Adres" msgstr "Adres"
@@ -270,59 +300,67 @@ msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
msgid "Login successful!" msgid "Login successful!"
msgstr "Zalogowano się pomyślnie!" msgstr "Zalogowano się pomyślnie!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Obecne hasło" msgstr "Obecne hasło"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Nowe hasło" msgstr "Nowe hasło"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Potwierdź nowe hasło" msgstr "Potwierdź nowe hasło"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Nowe hasła muszą się zgadzać." msgstr "Nowe hasła muszą się zgadzać."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Wyloguj się" msgstr "Wyloguj się"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Nikt" msgstr "Nikt"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Tylko znajomi" msgstr "Tylko znajomi"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Wszyscy" msgstr "Wszyscy"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Awatar" msgstr "Awatar"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Widoczność profilu" msgstr "Widoczność profilu"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Zaktualizuj profil" 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." msgid "Incorrect password."
msgstr "Nieprawidłowe hasło." msgstr "Nieprawidłowe hasło."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Hasło zostało zmienione" msgstr "Hasło zostało zmienione"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -330,13 +368,17 @@ msgstr ""
"Wybrany awatar jest zbyt duży. Awatary o większych rozmiarach możesz ustawić " "Wybrany awatar jest zbyt duży. Awatary o większych rozmiarach możesz ustawić "
"korzystając z aplikacji." "korzystając z aplikacji."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Zaktualizowano profil" msgstr "Zaktualizowano profil"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Błąd" 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 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -932,6 +974,7 @@ msgstr "Obciążenie systemu (dla ostatnich 5 minut)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "nieznane" msgstr "nieznane"
@@ -977,14 +1020,18 @@ msgid "Snikket server status"
msgstr "Status serwera Snikket" msgstr "Status serwera Snikket"
#: snikket_web/templates/admin_system.html:71 #: 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" msgid "Connected devices"
msgstr "Podłączone urządzenia" msgstr "Podłączone urządzenia"
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "Wiadomość globalna" msgstr "Wiadomość globalna"
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1172,7 +1219,6 @@ msgid "You can now log in using your new password."
msgstr "Możesz się zalogować z wykorzystaniem twojego nowego hasła." msgstr "Możesz się zalogować z wykorzystaniem twojego nowego hasła."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Możesz teraz bezpiecznie zamknąć tę stronę." msgstr "Możesz teraz bezpiecznie zamknąć tę stronę."
@@ -1266,6 +1312,44 @@ msgstr ""
"Możesz teraz skonfigurować swojego starszego klienta XMPP za pomocą " "Możesz teraz skonfigurować swojego starszego klienta XMPP za pomocą "
"powyższego adresu i hasła, które podałeś podczas rejestracji." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1503,16 +1587,21 @@ msgstr "Twój adres XMPP"
msgid "Edit profile" msgid "Edit profile"
msgstr "Edytuj profil" 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" msgid "Your Snikket"
msgstr "Twój 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
"Zarządzaj użytkownikami, zaproszeniami oraz kręgami na tym serwerze Snikket." "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" msgid "Admin panel"
msgstr "Panel administracyjny" msgstr "Panel administracyjny"
@@ -1528,6 +1617,18 @@ msgstr ""
"Kliknij poniżej, aby wylogować się z portalu. Nie wpłynie to na pozostałe " "Kliknij poniżej, aby wylogować się z portalu. Nie wpłynie to na pozostałe "
"podłączone urządzenia." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Zmień swoje hasło" msgstr "Zmień swoje hasło"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-03-12 23:04+0000\n" "PO-Revision-Date: 2021-03-12 23:04+0000\n"
"Last-Translator: GodGoldfish <godgoldfish@pm.me>\n" "Last-Translator: GodGoldfish <godgoldfish@pm.me>\n"
"Language-Team: Russian <https://i18n.sotecware.net/projects/snikket/web-" "Language-Team: Russian <https://i18n.sotecware.net/projects/snikket/web-"
@@ -21,205 +21,205 @@ msgstr ""
"X-Generator: Weblate 4.5.1\n" "X-Generator: Weblate 4.5.1\n"
"Generated-By: Babel 2.9.0\n" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Логин" msgstr "Логин"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Отображаемое имя" msgstr "Отображаемое имя"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "" msgstr ""
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr ""
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "" msgstr ""
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
#, fuzzy #, fuzzy
#| msgid "Admin area" #| msgid "Admin area"
msgid "Administrator" msgid "Administrator"
msgstr "Административная зона" msgstr "Административная зона"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
#, fuzzy #, fuzzy
#| msgid "Update circle" #| msgid "Update circle"
msgid "Update user" msgid "Update user"
msgstr "Обновить крук" msgstr "Обновить крук"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
#, fuzzy #, fuzzy
#| msgid "Create password reset links or delete users." #| msgid "Create password reset links or delete users."
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Создайте ссылки для сброса пароля или удалите пользователей." msgstr "Создайте ссылки для сброса пароля или удалите пользователей."
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Ссылка на сброс пароля для %(user_name)s" msgstr "Ссылка на сброс пароля для %(user_name)s"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
#, fuzzy #, fuzzy
#| msgid "Circle information" #| msgid "Circle information"
msgid "User information updated." msgid "User information updated."
msgstr "Информация о круге" msgstr "Информация о круге"
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Удалить пользователя навсегда" msgstr "Удалить пользователя навсегда"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "удалённый" msgstr "удалённый"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
#, fuzzy #, fuzzy
#| msgid "Password reset link created" #| msgid "Password reset link created"
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Ссылка на сброс пароля для %(user_name)s" msgstr "Ссылка на сброс пароля для %(user_name)s"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Создайте ссылки для сброса пароля или удалите пользователей" msgstr "Создайте ссылки для сброса пароля или удалите пользователей"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Пригласить в круг" msgstr "Пригласить в круг"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Необходимо выбрать хотя бы один круг" msgstr "Необходимо выбрать хотя бы один круг"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Действителен в течении" msgstr "Действителен в течении"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "Один час" msgstr "Один час"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Двенадцать часов" msgstr "Двенадцать часов"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "Один день" msgstr "Один день"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "Одна неделя" msgstr "Одна неделя"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Четыре недели" msgstr "Четыре недели"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Вид приглашения" msgstr "Вид приглашения"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Индивидуальный" msgstr "Индивидуальный"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Группа" msgstr "Группа"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Новая ссылка на приглашение" msgstr "Новая ссылка на приглашение"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Aннулировать" msgstr "Aннулировать"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Вид приглашения" msgstr "Вид приглашения"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Новая ссылка на приглашение" msgstr "Новая ссылка на приглашение"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Вид приглашения" msgstr "Вид приглашения"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Имя" msgstr "Имя"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Создать крук" msgstr "Создать крук"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Имя круга" msgstr "Имя круга"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Выврать пользователя" msgstr "Выврать пользователя"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Обновить крук" msgstr "Обновить крук"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Удалить круг навсегда" msgstr "Удалить круг навсегда"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Добавить пользователя" msgstr "Добавить пользователя"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Нет кругов" msgstr "Нет кругов"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Имя круга" msgstr "Имя круга"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "удалённый" msgstr "удалённый"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Пригласить в круг" msgstr "Пригласить в круг"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Удалить пользователя %(username)s из круга" msgstr "Удалить пользователя %(username)s из круга"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "" msgstr ""
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "" msgstr ""
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "" msgstr ""
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "" msgstr ""
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "" msgstr ""
@@ -227,51 +227,77 @@ msgstr ""
msgid "Main" msgid "Main"
msgstr "Основное" msgstr "Основное"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
msgid ""
"The account data you tried to import is too large to upload. Please contact "
"your Snikket operator."
msgstr ""
#: snikket_web/invite.py:112
msgid "Username" msgid "Username"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Пароль" msgstr "Пароль"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Повторите пароль" msgstr "Повторите пароль"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
#, fuzzy #, fuzzy
#| msgid "The passwords must match" #| msgid "The passwords must match"
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Паролт должны совпадать" msgstr "Паролт должны совпадать"
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Создать аккунт" msgstr "Создать аккунт"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
#, fuzzy #, fuzzy
#| msgid "That username is already taken" #| msgid "That username is already taken"
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Это имя пользователя уже используется" msgstr "Это имя пользователя уже используется"
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
#, fuzzy #, fuzzy
#| msgid "Registration was declined for unknown reasons" #| msgid "Registration was declined for unknown reasons"
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Регистрация была отклонена по неизвестным причинам" msgstr "Регистрация была отклонена по неизвестным причинам"
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
#, fuzzy #, fuzzy
#| msgid "The username is not valid" #| msgid "The username is not valid"
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Имя пользователя недействительно" msgstr "Имя пользователя недействительно"
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Изменить пароль" msgstr "Изменить пароль"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr ""
#: snikket_web/invite.py:248
msgid "Import data"
msgstr ""
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Ошибка"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Адрес" msgstr "Адрес"
@@ -288,75 +314,87 @@ msgstr "Неверное имя пользователя или пароль."
msgid "Login successful!" msgid "Login successful!"
msgstr "Войти успешно!" msgstr "Войти успешно!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Текущий пароль" msgstr "Текущий пароль"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Новый пароль" msgstr "Новый пароль"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Подтвердить новый пароль" msgstr "Подтвердить новый пароль"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
#, fuzzy #, fuzzy
#| msgid "The new passwords must match" #| msgid "The new passwords must match"
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "Новые пароли должны совпадать" msgstr "Новые пароли должны совпадать"
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Выйти" msgstr "Выйти"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Никто" msgstr "Никто"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Только друзья" msgstr "Только друзья"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Все" msgstr "Все"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Аватар" msgstr "Аватар"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Видимость профиля" msgstr "Видимость профиля"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Обновить профиль" 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 #, fuzzy
#| msgid "Incorrect password" #| msgid "Incorrect password"
msgid "Incorrect password." msgid "Incorrect password."
msgstr "Неправильный пароль" msgstr "Неправильный пароль"
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Смена пароля" msgstr "Смена пароля"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
msgstr "" msgstr ""
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Профиль" msgstr "Профиль"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Ошибка" msgstr ""
#: snikket_web/user.py:202
msgid "You currently have no account data to export."
msgstr ""
#: snikket_web/templates/_footer.html:4 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -954,6 +992,7 @@ msgstr ""
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@@ -999,14 +1038,18 @@ msgid "Snikket server status"
msgstr "Сниккет веб-портал" msgstr "Сниккет веб-портал"
#: snikket_web/templates/admin_system.html:71 #: snikket_web/templates/admin_system.html:71
msgid "Storage used by shared files"
msgstr ""
#: snikket_web/templates/admin_system.html:79
msgid "Connected devices" msgid "Connected devices"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "" msgstr ""
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1198,7 +1241,6 @@ msgid "You can now log in using your new password."
msgstr "Теперь вы можете войти в систему, используя новый пароль." msgstr "Теперь вы можете войти в систему, используя новый пароль."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Теперь вы можете безопасно закрыть эту страницу." msgstr "Теперь вы можете безопасно закрыть эту страницу."
@@ -1291,6 +1333,41 @@ msgstr ""
"Теперь вы можете настроить ваш старый XMPP клиент с указанным выше адресом и " "Теперь вы можете настроить ваш старый 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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1516,16 +1593,23 @@ msgstr "Ваш адрес XMPP"
msgid "Edit profile" msgid "Edit profile"
msgstr "реадктировать профиль" 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" msgid "Your Snikket"
msgstr "Ваш Сниккет" 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "" msgstr ""
"Управляйте пользователями, приглашениями и кругами вашего сервиса Сниккет." "Управляйте пользователями, приглашениями и кругами вашего сервиса Сниккет."
#: snikket_web/templates/user_home.html:42 #: snikket_web/templates/user_home.html:43
msgid "Admin panel" msgid "Admin panel"
msgstr "Административная панель" msgstr "Административная панель"
@@ -1541,6 +1625,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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Изменить пароль" msgstr "Изменить пароль"

View File

@@ -6,9 +6,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: translations@snikket.org\n"
"POT-Creation-Date: 2021-06-18 16:05+0200\n" "POT-Creation-Date: 2022-01-17 17:27+0100\n"
"PO-Revision-Date: 2021-08-01 14:00+0000\n" "PO-Revision-Date: 2022-01-18 09:21+0000\n"
"Last-Translator: Kim Alvefur <zash@zash.se>\n" "Last-Translator: Kim Alvefur <zash@zash.se>\n"
"Language-Team: Swedish <http://i18n.sotecware.net/projects/snikket/" "Language-Team: Swedish <http://i18n.sotecware.net/projects/snikket/"
"web-portal/sv/>\n" "web-portal/sv/>\n"
@@ -17,198 +17,198 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\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" "Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:66 #: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:10
msgid "Limited"
msgstr "Begränsad"
#: snikket_web/admin.py:71 snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_edit_circle.html:59 #: snikket_web/templates/admin_edit_circle.html:59
#: snikket_web/templates/admin_users.html:8 #: snikket_web/templates/admin_users.html:8
msgid "Login name" msgid "Login name"
msgstr "Inloggningsnamn" msgstr "Inloggningsnamn"
#: snikket_web/admin.py:75 snikket_web/templates/admin_delete_user.html:12 #: snikket_web/admin.py:72 snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_edit_circle.html:60 #: 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" msgid "Display name"
msgstr "Visningsnamn" msgstr "Visningsnamn"
#: snikket_web/admin.py:79 snikket_web/templates/admin_edit_user.html:32 #: snikket_web/admin.py:76 snikket_web/templates/admin_edit_user.html:32
msgid "Access Level" msgid "Access Level"
msgstr "Användarnivåer" msgstr "Användarnivåer"
#: snikket_web/admin.py:84 #: snikket_web/admin.py:78
msgid "Limited"
msgstr "Begränsad"
#: snikket_web/admin.py:79
msgid "Normal user" msgid "Normal user"
msgstr "Vanlig användare" msgstr "Vanlig användare"
#: snikket_web/admin.py:85 #: snikket_web/admin.py:80
msgid "Administrator" msgid "Administrator"
msgstr "Administratör" msgstr "Administratör"
#: snikket_web/admin.py:90 #: snikket_web/admin.py:85
msgid "Update user" msgid "Update user"
msgstr "Uppdatera användare" msgstr "Uppdatera användare"
#: snikket_web/admin.py:94 #: snikket_web/admin.py:89
msgid "Create password reset link" msgid "Create password reset link"
msgstr "Skapa länk för återställning av lösenord" msgstr "Skapa länk för återställning av lösenord"
#: snikket_web/admin.py:112 #: snikket_web/admin.py:107
msgid "Password reset link created" msgid "Password reset link created"
msgstr "Skapade länk för att återställa lösenord" msgstr "Skapade länk för att återställa lösenord"
#: snikket_web/admin.py:127 #: snikket_web/admin.py:122
msgid "User information updated." msgid "User information updated."
msgstr "Användarinformation uppdaterad." msgstr "Användarinformation uppdaterad."
#: snikket_web/admin.py:149 #: snikket_web/admin.py:144
msgid "Delete user permanently" msgid "Delete user permanently"
msgstr "Radera användare permanent" msgstr "Radera användare permanent"
#: snikket_web/admin.py:162 #: snikket_web/admin.py:157
msgid "User deleted" msgid "User deleted"
msgstr "Användare raderad" msgstr "Användare raderad"
#: snikket_web/admin.py:200 #: snikket_web/admin.py:195
msgid "Password reset link not found" msgid "Password reset link not found"
msgstr "Länk för återställning av lösenord hittades inte" msgstr "Länk för återställning av lösenord hittades inte"
#: snikket_web/admin.py:212 #: snikket_web/admin.py:207
msgid "Password reset link deleted" msgid "Password reset link deleted"
msgstr "Länk för återställning av lösenord raderad" msgstr "Länk för återställning av lösenord raderad"
#: snikket_web/admin.py:232 #: snikket_web/admin.py:227
msgid "Invite to circle" msgid "Invite to circle"
msgstr "Bjud in till krets" msgstr "Bjud in till krets"
#: snikket_web/admin.py:238 #: snikket_web/admin.py:233
msgid "At least one circle must be selected" msgid "At least one circle must be selected"
msgstr "Minst en krets behöver väljas" msgstr "Minst en krets behöver väljas"
#: snikket_web/admin.py:243 #: snikket_web/admin.py:238
msgid "Valid for" msgid "Valid for"
msgstr "Giltig i" msgstr "Giltig i"
#: snikket_web/admin.py:245 #: snikket_web/admin.py:240
msgid "One hour" msgid "One hour"
msgstr "En timme" msgstr "En timme"
#: snikket_web/admin.py:246 #: snikket_web/admin.py:241
msgid "Twelve hours" msgid "Twelve hours"
msgstr "Tolv timmar" msgstr "Tolv timmar"
#: snikket_web/admin.py:247 #: snikket_web/admin.py:242
msgid "One day" msgid "One day"
msgstr "En dag" msgstr "En dag"
#: snikket_web/admin.py:248 #: snikket_web/admin.py:243
msgid "One week" msgid "One week"
msgstr "En vecka" msgstr "En vecka"
#: snikket_web/admin.py:249 #: snikket_web/admin.py:244
msgid "Four weeks" msgid "Four weeks"
msgstr "Fyra veckor" msgstr "Fyra veckor"
#: snikket_web/admin.py:255 snikket_web/templates/admin_edit_invite.html:17 #: snikket_web/admin.py:250 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type" msgid "Invitation type"
msgstr "Typ av inbjudan" msgstr "Typ av inbjudan"
#: snikket_web/admin.py:257 snikket_web/templates/library.j2:116 #: snikket_web/admin.py:252 snikket_web/templates/library.j2:116
msgid "Individual" msgid "Individual"
msgstr "Individuell" msgstr "Individuell"
#: snikket_web/admin.py:258 snikket_web/templates/library.j2:114 #: snikket_web/admin.py:253 snikket_web/templates/library.j2:114
msgid "Group" msgid "Group"
msgstr "Grupp" msgstr "Grupp"
#: snikket_web/admin.py:264 #: snikket_web/admin.py:259
msgid "New invitation link" msgid "New invitation link"
msgstr "Ny inbjudanslänk" msgstr "Ny inbjudanslänk"
#: snikket_web/admin.py:326 #: snikket_web/admin.py:321
msgid "Revoke" msgid "Revoke"
msgstr "Återkalla" msgstr "Återkalla"
#: snikket_web/admin.py:350 #: snikket_web/admin.py:345
msgid "Invitation created" msgid "Invitation created"
msgstr "Inbjudan skapad" msgstr "Inbjudan skapad"
#: snikket_web/admin.py:366 #: snikket_web/admin.py:361
msgid "No such invitation exists" msgid "No such invitation exists"
msgstr "Inbjudanslänken finns inte" msgstr "Inbjudanslänken finns inte"
#: snikket_web/admin.py:381 #: snikket_web/admin.py:376
msgid "Invitation revoked" msgid "Invitation revoked"
msgstr "Inbjudan återkallad" msgstr "Inbjudan återkallad"
#: snikket_web/admin.py:398 snikket_web/admin.py:446 #: snikket_web/admin.py:393 snikket_web/admin.py:441
msgid "Name" msgid "Name"
msgstr "Namn" msgstr "Namn"
#: snikket_web/admin.py:403 snikket_web/templates/admin_circles.html:47 #: snikket_web/admin.py:398 snikket_web/templates/admin_circles.html:47
msgid "Create circle" msgid "Create circle"
msgstr "Skapa krets" msgstr "Skapa krets"
#: snikket_web/admin.py:433 #: snikket_web/admin.py:428
msgid "Circle created" msgid "Circle created"
msgstr "Krets skapad" msgstr "Krets skapad"
#: snikket_web/admin.py:451 #: snikket_web/admin.py:446
msgid "Select user" msgid "Select user"
msgstr "Välj användare" msgstr "Välj användare"
#: snikket_web/admin.py:456 #: snikket_web/admin.py:451
msgid "Update circle" msgid "Update circle"
msgstr "Uppdatera krets" msgstr "Uppdatera krets"
#: snikket_web/admin.py:460 #: snikket_web/admin.py:455
msgid "Delete circle permanently" msgid "Delete circle permanently"
msgstr "Radera krets permanent" msgstr "Radera krets permanent"
#: snikket_web/admin.py:466 #: snikket_web/admin.py:461
msgid "Add user" msgid "Add user"
msgstr "Lägg till användare" msgstr "Lägg till användare"
#: snikket_web/admin.py:482 #: snikket_web/admin.py:477
msgid "No such circle exists" msgid "No such circle exists"
msgstr "Kretsen finns inte" msgstr "Kretsen finns inte"
#: snikket_web/admin.py:519 #: snikket_web/admin.py:514
msgid "Circle data updated" msgid "Circle data updated"
msgstr "Kretsen uppdaterades" msgstr "Kretsen uppdaterades"
#: snikket_web/admin.py:525 #: snikket_web/admin.py:520
msgid "Circle deleted" msgid "Circle deleted"
msgstr "Krets raderad" msgstr "Krets raderad"
#: snikket_web/admin.py:536 #: snikket_web/admin.py:531
msgid "User added to circle" msgid "User added to circle"
msgstr "Användare tillagd i krets" msgstr "Användare tillagd i krets"
#: snikket_web/admin.py:545 #: snikket_web/admin.py:540
msgid "User removed from circle" msgid "User removed from circle"
msgstr "Användaren %(username)s borttagen från krets" msgstr "Användaren %(username)s borttagen från krets"
#: snikket_web/admin.py:616 #: snikket_web/admin.py:609
msgid "Message contents" msgid "Message contents"
msgstr "Meddelandeinnehåll" msgstr "Meddelandeinnehåll"
#: snikket_web/admin.py:622 #: snikket_web/admin.py:615
msgid "Only send to online users" msgid "Only send to online users"
msgstr "Skicka bara till användare som är online" msgstr "Skicka bara till användare som är online"
#: snikket_web/admin.py:626 #: snikket_web/admin.py:619
msgid "Post to all users" msgid "Post to all users"
msgstr "Skicka till alla användare" msgstr "Skicka till alla användare"
#: snikket_web/admin.py:630 #: snikket_web/admin.py:623
msgid "Send preview to yourself" msgid "Send preview to yourself"
msgstr "Skicka förhandsvisning till dig själv" msgstr "Skicka förhandsvisning till dig själv"
#: snikket_web/admin.py:652 #: snikket_web/admin.py:645
msgid "Announcement sent!" msgid "Announcement sent!"
msgstr "Tillkännagivande skickat!" msgstr "Tillkännagivande skickat!"
@@ -216,43 +216,73 @@ msgstr "Tillkännagivande skickat!"
msgid "Main" msgid "Main"
msgstr "Allmän" msgstr "Allmän"
#: snikket_web/invite.py:106 #: snikket_web/invite.py:33
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:112
msgid "Username" msgid "Username"
msgstr "Användarnamn" msgstr "Användarnamn"
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41 #: snikket_web/invite.py:116 snikket_web/invite.py:184 snikket_web/main.py:41
msgid "Password" msgid "Password"
msgstr "Lösenord" msgstr "Lösenord"
#: snikket_web/invite.py:114 snikket_web/invite.py:181 #: snikket_web/invite.py:120 snikket_web/invite.py:188
msgid "Confirm password" msgid "Confirm password"
msgstr "Bekräfta lösenord" msgstr "Bekräfta lösenord"
#: snikket_web/invite.py:118 snikket_web/invite.py:185 #: snikket_web/invite.py:124 snikket_web/invite.py:192
msgid "The passwords must match." msgid "The passwords must match."
msgstr "Lösenorden måste vara identiska." msgstr "Lösenorden måste vara identiska."
#: snikket_web/invite.py:123 #: snikket_web/invite.py:129
msgid "Create account" msgid "Create account"
msgstr "Skapa konto" msgstr "Skapa konto"
#: snikket_web/invite.py:150 #: snikket_web/invite.py:156
msgid "That username is already taken." msgid "That username is already taken."
msgstr "Det användarnamnet är redan taget." msgstr "Det användarnamnet är redan taget."
#: snikket_web/invite.py:154 snikket_web/invite.py:218 #: snikket_web/invite.py:160 snikket_web/invite.py:225
msgid "Registration was declined for unknown reasons." msgid "Registration was declined for unknown reasons."
msgstr "Registreringen nekades av okänd anledning." msgstr "Registreringen nekades av okänd anledning."
#: snikket_web/invite.py:158 #: snikket_web/invite.py:164
msgid "The username is not valid." msgid "The username is not valid."
msgstr "Användarnamnet är ogiltigt." msgstr "Användarnamnet är ogiltigt."
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32 #: snikket_web/invite.py:197 snikket_web/templates/user_home.html:32
#: snikket_web/templates/user_passwd.html:29 #: snikket_web/templates/user_passwd.html:29
msgid "Change password" msgid "Change password"
msgstr "Ändra lösenord" msgstr "Ändra lösenord"
#: snikket_web/invite.py:244
msgid "Account data file"
msgstr "Kontodatafil"
#: snikket_web/invite.py:248
msgid "Import data"
msgstr "Importera data"
#: snikket_web/invite.py:269
#, 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:289 snikket_web/templates/unauth.html:18
#: snikket_web/user.py:178
msgid "Error"
msgstr "Fel"
#: snikket_web/main.py:36 #: snikket_web/main.py:36
msgid "Address" msgid "Address"
msgstr "Adress" msgstr "Adress"
@@ -269,59 +299,67 @@ msgstr "Ogiltigt användarnamn eller lösenord."
msgid "Login successful!" msgid "Login successful!"
msgstr "Inloggning lyckades!" msgstr "Inloggning lyckades!"
#: snikket_web/user.py:27 #: snikket_web/user.py:29
msgid "Current password" msgid "Current password"
msgstr "Nuvarande lösenord" msgstr "Nuvarande lösenord"
#: snikket_web/user.py:32 #: snikket_web/user.py:34
msgid "New password" msgid "New password"
msgstr "Nytt lösenord" msgstr "Nytt lösenord"
#: snikket_web/user.py:37 #: snikket_web/user.py:39
msgid "Confirm new password" msgid "Confirm new password"
msgstr "Bekräfta nytt lösenord" msgstr "Bekräfta nytt lösenord"
#: snikket_web/user.py:41 #: snikket_web/user.py:43
msgid "The new passwords must match." msgid "The new passwords must match."
msgstr "De nya lösenorden måste vara identiska." msgstr "De nya lösenorden måste vara identiska."
#: snikket_web/user.py:48 #: snikket_web/user.py:50
msgid "Sign out" msgid "Sign out"
msgstr "Logga ut" msgstr "Logga ut"
#: snikket_web/user.py:53 #: snikket_web/user.py:55
msgid "Nobody" msgid "Nobody"
msgstr "Ingen" msgstr "Ingen"
#: snikket_web/user.py:54 #: snikket_web/user.py:56
msgid "Friends only" msgid "Friends only"
msgstr "Endast vänner" msgstr "Endast vänner"
#: snikket_web/user.py:55 #: snikket_web/user.py:57
msgid "Everyone" msgid "Everyone"
msgstr "Alla" msgstr "Alla"
#: snikket_web/user.py:65 #: snikket_web/user.py:67
msgid "Avatar" msgid "Avatar"
msgstr "Profilbild" msgstr "Profilbild"
#: snikket_web/user.py:69 #: snikket_web/user.py:71
msgid "Profile visibility" msgid "Profile visibility"
msgstr "Synlighet av profil" msgstr "Synlighet av profil"
#: snikket_web/user.py:74 #: snikket_web/user.py:76
msgid "Update profile" msgid "Update profile"
msgstr "Uppdatera profil" 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." msgid "Incorrect password."
msgstr "Fel lösenord." msgstr "Fel lösenord."
#: snikket_web/user.py:103 #: snikket_web/user.py:115
msgid "Password changed" msgid "Password changed"
msgstr "Lösenord ändrat" msgstr "Lösenord ändrat"
#: snikket_web/user.py:111 #: snikket_web/user.py:123
msgid "" msgid ""
"The chosen avatar is too big. To be able to upload larger avatars, please " "The chosen avatar is too big. To be able to upload larger avatars, please "
"use the app." "use the app."
@@ -329,13 +367,17 @@ msgstr ""
"Den valda profilbilden är för stor. Vänligen använd appen för att kunna " "Den valda profilbilden är för stor. Vänligen använd appen för att kunna "
"välja större bilder." "välja större bilder."
#: snikket_web/user.py:159 #: snikket_web/user.py:170
msgid "Profile updated" msgid "Profile updated"
msgstr "Profilen uppdaterad" msgstr "Profilen uppdaterad"
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167 #: snikket_web/user.py:184
msgid "Error" msgid "Export"
msgstr "Fel" 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 #: snikket_web/templates/_footer.html:4
#, python-format #, python-format
@@ -922,6 +964,7 @@ msgstr "Systemlast (5 minuters medelvärde)"
#: snikket_web/templates/admin_system.html:60 #: snikket_web/templates/admin_system.html:60
#: snikket_web/templates/admin_system.html:68 #: snikket_web/templates/admin_system.html:68
#: snikket_web/templates/admin_system.html:76 #: snikket_web/templates/admin_system.html:76
#: snikket_web/templates/admin_system.html:84
msgid "unknown" msgid "unknown"
msgstr "okänd" msgstr "okänd"
@@ -967,14 +1010,18 @@ msgid "Snikket server status"
msgstr "Snikket-serverstatus" msgstr "Snikket-serverstatus"
#: snikket_web/templates/admin_system.html:71 #: 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" msgid "Connected devices"
msgstr "Anslutna enheter" msgstr "Anslutna enheter"
#: snikket_web/templates/admin_system.html:82 #: snikket_web/templates/admin_system.html:90
msgid "Broadcast message" msgid "Broadcast message"
msgstr "Tillkännagivande" msgstr "Tillkännagivande"
#: snikket_web/templates/admin_system.html:84 #: snikket_web/templates/admin_system.html:92
msgid "" msgid ""
"This form allows you to send a message to all users currently online on your " "This form allows you to send a message to all users currently online on your "
"Snikket server. Use it wisely." "Snikket server. Use it wisely."
@@ -1159,7 +1206,6 @@ msgid "You can now log in using your new password."
msgstr "Nu kan du logga in med ditt nya lösenord." msgstr "Nu kan du logga in med ditt nya lösenord."
#: snikket_web/templates/invite_reset_success.html:12 #: snikket_web/templates/invite_reset_success.html:12
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page." msgid "You can now safely close this page."
msgstr "Du kan nu stänga den här sidan utan risk." msgstr "Du kan nu stänga den här sidan utan risk."
@@ -1249,6 +1295,43 @@ msgstr ""
"Nu kan du sätta upp din generiska XMPP-klient med ovanstående adress och " "Nu kan du sätta upp din generiska XMPP-klient med ovanstående adress och "
"lösenordet du angav vid registrering." "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 #: snikket_web/templates/invite_view.html:6
#, python-format #, python-format
msgid "Invite to %(site_name)s | Snikket" msgid "Invite to %(site_name)s | Snikket"
@@ -1475,15 +1558,20 @@ msgstr "Din XMPP-adress"
msgid "Edit profile" msgid "Edit profile"
msgstr "Redigera profil" 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" msgid "Your Snikket"
msgstr "Ditt 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." msgid "Manage users, invitations and circles of your Snikket service."
msgstr "Hantera användare, inbjudningar och kretsar i din Snikket-tjänst." 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" msgid "Admin panel"
msgstr "Administrationspanel" msgstr "Administrationspanel"
@@ -1499,6 +1587,18 @@ msgstr ""
"Klicka nedanför för att logga ut dig ur webbportalen. Detta påverkar inte " "Klicka nedanför för att logga ut dig ur webbportalen. Detta påverkar inte "
"några av dina anslutna enheter." "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 #: snikket_web/templates/user_passwd.html:5
msgid "Change your password" msgid "Change your password"
msgstr "Ändra ditt lösenord" msgstr "Ändra ditt lösenord"

View File

@@ -1,9 +1,11 @@
import asyncio import asyncio
import typing import typing
import urllib
import quart.flask_patch import quart.flask_patch
from quart import ( from quart import (
Blueprint, Blueprint,
Response,
render_template, render_template,
request, request,
redirect, redirect,
@@ -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("/") @bp.route("/")
@client.require_session() @client.require_session()
async def index() -> str: async def index() -> str:
@@ -138,7 +150,6 @@ async def profile() -> typing.Union[str, quart.Response]:
mimetype = file_info.mimetype mimetype = file_info.mimetype
data = file_info.stream.read() data = file_info.stream.read()
if len(data) > max_avatar_size: if len(data) > max_avatar_size:
print(len(data), max_avatar_size)
form.avatar.errors.append(EAVATARTOOBIG) form.avatar.errors.append(EAVATARTOOBIG)
ok = False ok = False
elif len(data) > 0: elif len(data) > 0:
@@ -168,6 +179,46 @@ async def profile() -> typing.Union[str, quart.Response]:
avatar_too_big_warning=EAVATARTOOBIG) 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"]) @bp.route("/logout", methods=["GET", "POST"])
@client.require_session() @client.require_session()
async def logout() -> typing.Union[quart.Response, str]: async def logout() -> typing.Union[quart.Response, str]:

View File

@@ -207,7 +207,7 @@ def make_avatar_metadata_set_request(
item, item,
"metadata", xmlns=NS_USER_AVATAR_METADATA) "metadata", xmlns=NS_USER_AVATAR_METADATA)
attr: typing.MutableMapping[str, str] = { attr: typing.Dict[str, str] = {
"id": id_, "id": id_,
"bytes": str(size), "bytes": str(size),
"type": mimetype, "type": mimetype,
@@ -217,7 +217,12 @@ def make_avatar_metadata_set_request(
if height is not None: if height is not None:
attr["height"] = str(height) 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 return req

View File

@@ -6,6 +6,7 @@ action/logout:logout
action/login:login action/login:login
action/exit_to_app:exit_to_app action/exit_to_app:exit_to_app
action/lock:lock action/lock:lock
communication/import_export:import_export
communication/qr_code:qrcode communication/qr_code:qrcode
communication/vpn_key:passwd communication/vpn_key:passwd
communication/rss_feed:broadcast communication/rss_feed:broadcast
@@ -15,6 +16,9 @@ content/remove_circle_outline:remove
content/content_copy:copy content/content_copy:copy
content/link_off:remove_link content/link_off:remove_link
content/send:send content/send:send
file/file_download:download
file/file_upload:upload
file/folder:folder
navigation/arrow_back:back navigation/arrow_back:back
navigation/arrow_forward:forward navigation/arrow_forward:forward
navigation/cancel:cancel navigation/cancel:cancel