You've already forked snikket-web-portal
Compare commits
70 Commits
feature/fi
...
feature/av
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5df2c3945a | ||
|
|
3eb8036ebd | ||
|
|
02ed390cd2 | ||
|
|
2506810b90 | ||
|
|
05d1b42dc4 | ||
|
|
5ef5b93eb9 | ||
|
|
0ff6e00e9d | ||
|
|
c04ac4bee0 | ||
|
|
3e19d42c2a | ||
|
|
03732ac06b | ||
|
|
c70228fed7 | ||
|
|
025172592f | ||
|
|
6de1e5313f | ||
|
|
3083c118a3 | ||
|
|
fa1b13fbdb | ||
|
|
ba30d728f4 | ||
|
|
af87301fa4 | ||
|
|
8ee0b0dd30 | ||
|
|
4a27ef9d72 | ||
|
|
9e9fdaf8d4 | ||
|
|
bdb186ca81 | ||
|
|
4ca9b82bce | ||
|
|
6dbe2c2d5e | ||
|
|
e410aedfef | ||
|
|
1713da61e7 | ||
|
|
53aac690df | ||
|
|
5e4009ca11 | ||
|
|
80860a3ac6 | ||
|
|
e9d479a78b | ||
|
|
aac56f49e9 | ||
|
|
52f0bee006 | ||
|
|
97c91b432d | ||
|
|
60647159f3 | ||
|
|
a21730f136 | ||
|
|
e35ab1b723 | ||
|
|
4de4509fc9 | ||
|
|
93e3b325b1 | ||
|
|
ceecfc861c | ||
|
|
2467e73781 | ||
|
|
2f34d39a09 | ||
|
|
de8589923b | ||
|
|
db3a1ac22f | ||
|
|
b48d130659 | ||
|
|
1aed573eb2 | ||
|
|
d4707196ec | ||
|
|
8a8d4c54bd | ||
|
|
ab534e3a59 | ||
|
|
4c128f1af2 | ||
|
|
8b551a8946 | ||
|
|
182d2301be | ||
|
|
6dba5e3a65 | ||
|
|
713da89445 | ||
|
|
9876e42fb7 | ||
|
|
8b66c5a063 | ||
|
|
ddf9f89d77 | ||
|
|
53e023f9ae | ||
|
|
e4d339627e | ||
|
|
cd3026911b | ||
|
|
d7da16f780 | ||
|
|
8ed0fbec25 | ||
|
|
5b812c773d | ||
|
|
fa61ee4e11 | ||
|
|
7402480c62 | ||
|
|
a68a469319 | ||
|
|
961f285fa5 | ||
|
|
7456295cb6 | ||
|
|
96f4b0d4f8 | ||
|
|
245434126e | ||
|
|
725dffc458 | ||
|
|
22783b837e |
41
Dockerfile
41
Dockerfile
@@ -1,46 +1,31 @@
|
||||
FROM debian:buster
|
||||
FROM debian:buster-slim
|
||||
|
||||
ARG BUILD_SERIES=dev
|
||||
ARG BUILD_ID=0
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
COPY requirements.txt /opt/snikket-web-portal/requirements.txt
|
||||
COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt
|
||||
COPY Makefile /opt/snikket-web-portal/Makefile
|
||||
COPY snikket_web/ /opt/snikket-web-portal/snikket_web
|
||||
COPY babel.cfg /opt/snikket-web-portal/babel.cfg
|
||||
|
||||
# This Dockerfile attempts to strike a balance between image size and time it
|
||||
# takes to do an incremental build on changes.
|
||||
# Improvements welcome.
|
||||
WORKDIR /opt/snikket-web-portal
|
||||
|
||||
RUN set -eu; \
|
||||
export DEBIAN_FRONTEND=noninteractive ; \
|
||||
apt-get update ; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
python3 python3-pip python3-setuptools python3-wheel \
|
||||
libpython3-dev \
|
||||
make build-essential \
|
||||
netcat \
|
||||
; \
|
||||
apt-get clean ; rm -rf /var/lib/apt/lists
|
||||
|
||||
COPY requirements.txt /opt/snikket-web-portal/requirements.txt
|
||||
COPY build-requirements.txt /opt/snikket-web-portal/build-requirements.txt
|
||||
|
||||
WORKDIR /opt/snikket-web-portal
|
||||
|
||||
RUN set -eu; \
|
||||
pip3 install -r requirements.txt; \
|
||||
pip3 install -r build-requirements.txt; \
|
||||
rm -rf /root/.cache;
|
||||
|
||||
COPY Makefile /opt/snikket-web-portal/Makefile
|
||||
COPY snikket_web/ /opt/snikket-web-portal/snikket_web
|
||||
COPY babel.cfg /opt/snikket-web-portal/babel.cfg
|
||||
|
||||
# NOTE: abusing true(1) as a terrible way to disable a specific command. If
|
||||
# one merged all the RUN commands into one, one would want to run the
|
||||
# uninstall/remove commands there, but with the split up RUN commands it is
|
||||
# rather pointless.
|
||||
RUN set -eu; \
|
||||
make; \
|
||||
true pip3 uninstall -yr build-requirements.txt; \
|
||||
true apt-get remove -y build-essential make libpython3-dev; \
|
||||
true apt-get autoremove -y; \
|
||||
pip3 uninstall -yr build-requirements.txt; \
|
||||
apt-get remove -y build-essential make libpython3-dev; \
|
||||
apt-get autoremove -y; \
|
||||
pip3 install hypercorn; \
|
||||
rm -rf /root/.cache; \
|
||||
apt-get clean ; rm -rf /var/lib/apt/lists
|
||||
@@ -50,5 +35,7 @@ ENV SNIKKET_WEB_PYENV=/etc/snikket-web-portal/env.py
|
||||
|
||||
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}
|
||||
|
||||
ADD docker/entrypoint.sh /entrypoint.sh
|
||||
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
|
||||
|
||||
@@ -2,4 +2,7 @@
|
||||
|
||||
export SNIKKET_WEB_DOMAIN="$SNIKKET_DOMAIN"
|
||||
|
||||
exec hypercorn -b "127.0.0.1:5765" 'snikket_web:create_app()'
|
||||
export SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE="${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE-127.0.0.1}"
|
||||
export SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT="${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT-5765}"
|
||||
|
||||
exec hypercorn -b "${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_INTERFACE}:${SNIKKET_TWEAK_PORTAL_INTERNAL_HTTP_PORT}" 'snikket_web:create_app()'
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 421 KiB |
@@ -48,6 +48,7 @@ async def proc() -> typing.Dict[str, typing.Any]:
|
||||
"text_to_css": colour.text_to_css,
|
||||
"lang": infra.selected_locale(),
|
||||
"user_info": user_info,
|
||||
"is_in_debug_mode": current_app.debug,
|
||||
}
|
||||
|
||||
|
||||
@@ -144,13 +145,21 @@ class AppConfig:
|
||||
site_name = environ.var("")
|
||||
avatar_cache_ttl = environ.var(1800, converter=int)
|
||||
languages = environ.var([
|
||||
"da",
|
||||
"de",
|
||||
"en",
|
||||
"fr",
|
||||
"id",
|
||||
"po",
|
||||
"it",
|
||||
"pl",
|
||||
"sv",
|
||||
], converter=autosplit)
|
||||
apple_store_url = environ.var("")
|
||||
# Default limit of 1 MiB is what was discovered to be the effective limit
|
||||
# in #67, hence we set that here for now.
|
||||
# Future versions may change this default, and the standard deployment
|
||||
# tools may also very well override it.
|
||||
max_avatar_size = environ.var(1024*1024, converter=int)
|
||||
|
||||
|
||||
_UPPER_CASE = "".join(map(chr, range(ord("A"), ord("Z")+1)))
|
||||
@@ -181,6 +190,7 @@ def create_app() -> quart.Quart:
|
||||
app.config["SITE_NAME"] = config.site_name or config.domain
|
||||
app.config["AVATAR_CACHE_TTL"] = config.avatar_cache_ttl
|
||||
app.config["APPLE_STORE_URL"] = config.apple_store_url
|
||||
app.config["MAX_AVATAR_SIZE"] = config.max_avatar_size
|
||||
|
||||
app.context_processor(proc)
|
||||
app.register_error_handler(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version_info = (0, 1, 0, "a0")
|
||||
version_info = (0, 1, 2, "a0")
|
||||
version = (
|
||||
".".join(map(str, version_info[:3])) +
|
||||
(f"-{version_info[3]}" if version_info[3] else "")
|
||||
|
||||
@@ -17,10 +17,11 @@ from quart import (
|
||||
url_for,
|
||||
request,
|
||||
abort,
|
||||
flash,
|
||||
)
|
||||
import flask_wtf
|
||||
|
||||
from flask_babel import lazy_gettext as _l
|
||||
from flask_babel import lazy_gettext as _l, _
|
||||
|
||||
from . import prosodyclient
|
||||
from .infra import client, circle_name
|
||||
@@ -68,6 +69,10 @@ async def delete_user(localpart: str) -> typing.Union[str, quart.Response]:
|
||||
if form.validate_on_submit():
|
||||
if form.action_delete.data:
|
||||
await client.delete_user_by_localpart(localpart)
|
||||
await flash(
|
||||
_("User deleted"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".users"))
|
||||
|
||||
return await render_template(
|
||||
@@ -107,8 +112,16 @@ async def create_password_reset_link() -> typing.Union[str, quart.Response]:
|
||||
localpart=localpart,
|
||||
ttl=86400,
|
||||
)
|
||||
await flash(
|
||||
_("Password reset link created"),
|
||||
"success",
|
||||
)
|
||||
elif form.action_revoke.data:
|
||||
await client.delete_invite(form.action_revoke.data)
|
||||
await flash(
|
||||
_("Password reset link deleted"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".users"))
|
||||
|
||||
return await render_template(
|
||||
@@ -242,6 +255,10 @@ async def create_invite() -> typing.Union[str, quart.Response]:
|
||||
group_ids=form.circles.data,
|
||||
ttl=form.lifetime.data,
|
||||
)
|
||||
await flash(
|
||||
_("Invitation created"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".edit_invite", id_=invite.id_))
|
||||
return await render_template("admin_create_invite.html",
|
||||
invite_form=form)
|
||||
@@ -254,7 +271,11 @@ async def edit_invite(id_: str) -> typing.Union[str, quart.Response]:
|
||||
invite_info = await client.get_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 404:
|
||||
abort(404)
|
||||
await flash(
|
||||
_("No such invitation exists"),
|
||||
"alert",
|
||||
)
|
||||
return redirect(url_for(".invitations"))
|
||||
circles = await client.list_groups()
|
||||
circle_map = {
|
||||
circle.id_: circle
|
||||
@@ -265,6 +286,10 @@ async def edit_invite(id_: str) -> typing.Union[str, quart.Response]:
|
||||
if form.validate_on_submit():
|
||||
if form.action_revoke.data:
|
||||
await client.delete_invite(id_)
|
||||
await flash(
|
||||
_("Invitation revoked"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".invitations"))
|
||||
return redirect(url_for(".edit_invite", id_=id_))
|
||||
|
||||
@@ -313,6 +338,10 @@ async def create_circle() -> typing.Union[str, quart.Response]:
|
||||
circle = await client.create_group(
|
||||
name=create_form.name.data,
|
||||
)
|
||||
await flash(
|
||||
_("Circle created"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".edit_circle", id_=circle.id_))
|
||||
|
||||
return await render_template(
|
||||
@@ -358,6 +387,10 @@ async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 404:
|
||||
await flash(
|
||||
_("No such circle exists"),
|
||||
"alert",
|
||||
)
|
||||
return redirect(url_for(".circles"))
|
||||
raise
|
||||
|
||||
@@ -391,21 +424,36 @@ async def edit_circle(id_: str) -> typing.Union[str, quart.Response]:
|
||||
id_,
|
||||
new_name=form.name.data,
|
||||
)
|
||||
await flash(
|
||||
_("Circle data updated"),
|
||||
"success",
|
||||
)
|
||||
elif form.action_delete.data:
|
||||
await client.delete_group(id_)
|
||||
await flash(
|
||||
_("Circle deleted"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".circles"))
|
||||
elif form.action_add_user.data:
|
||||
if form.user_to_add.data in valid_users:
|
||||
print("is valid")
|
||||
await client.add_group_member(
|
||||
id_,
|
||||
form.user_to_add.data,
|
||||
)
|
||||
await flash(
|
||||
_("User added to circle"),
|
||||
"success",
|
||||
)
|
||||
elif form.action_remove_user.data:
|
||||
await client.remove_group_member(
|
||||
id_,
|
||||
form.action_remove_user.data,
|
||||
)
|
||||
await flash(
|
||||
_("User removed from circle"),
|
||||
"success",
|
||||
)
|
||||
|
||||
return redirect(url_for(".edit_circle", id_=id_))
|
||||
else:
|
||||
|
||||
@@ -48,13 +48,20 @@ def context() -> typing.Mapping[str, typing.Any]:
|
||||
|
||||
|
||||
@bp.route("/<id_>")
|
||||
async def view(id_: str) -> str:
|
||||
async def view_old(id_: str) -> quart.Response:
|
||||
return redirect(url_for(".view", id_=id_))
|
||||
|
||||
|
||||
@bp.route("/<id_>/")
|
||||
async def view(id_: str) -> typing.Union[quart.Response,
|
||||
typing.Tuple[str, int],
|
||||
str]:
|
||||
try:
|
||||
invite = await client.get_public_invite_by_id(id_)
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 404:
|
||||
# invite expired
|
||||
return await render_template("invite_invalid.html")
|
||||
return await render_template("invite_invalid.html"), 404
|
||||
raise
|
||||
|
||||
if invite.reset_localpart is not None:
|
||||
@@ -79,13 +86,19 @@ async def view(id_: str) -> str:
|
||||
)
|
||||
apple_store_url = current_app.config["APPLE_STORE_URL"]
|
||||
|
||||
return await render_template(
|
||||
body = await render_template(
|
||||
"invite_view.html",
|
||||
invite=invite,
|
||||
play_store_url=play_store_url,
|
||||
apple_store_url=apple_store_url,
|
||||
invite_id=id_,
|
||||
)
|
||||
return quart.Response(
|
||||
body,
|
||||
headers={
|
||||
"Link": "<{}> rel=\"alternate\"".format(invite.xmpp_uri),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class RegisterForm(flask_wtf.FlaskForm): # type:ignore
|
||||
|
||||
@@ -15,6 +15,7 @@ from quart import (
|
||||
render_template,
|
||||
request,
|
||||
Response,
|
||||
flash,
|
||||
)
|
||||
|
||||
import babel
|
||||
@@ -52,6 +53,9 @@ async def index() -> quart.Response:
|
||||
return redirect(url_for("index"))
|
||||
|
||||
|
||||
ERR_CREDENTIALS_INVALID = _l("Invalid username or password.")
|
||||
|
||||
|
||||
@bp.route("/login", methods=["GET", "POST"])
|
||||
async def login() -> typing.Union[str, quart.Response]:
|
||||
if client.has_session and (await client.test_session()):
|
||||
@@ -63,33 +67,48 @@ async def login() -> typing.Union[str, quart.Response]:
|
||||
localpart, domain, resource = xmpputil.split_jid(jid)
|
||||
if not localpart:
|
||||
localpart, domain = domain, current_app.config["SNIKKET_DOMAIN"]
|
||||
jid = "{}@{}".format(localpart, domain)
|
||||
password = form.password.data
|
||||
try:
|
||||
await client.login(jid, password)
|
||||
except quart.exceptions.Unauthorized:
|
||||
form.password.errors.append(
|
||||
_("Invalid username or password.")
|
||||
)
|
||||
if domain != current_app.config["SNIKKET_DOMAIN"]:
|
||||
# (a) prosody throws a 400 at us and I prefer to catch that here
|
||||
# and (b) I don’t want to pass on this obviously not-for-here
|
||||
# password further than necessary.
|
||||
form.password.errors.append(ERR_CREDENTIALS_INVALID)
|
||||
else:
|
||||
return redirect(url_for('user.index'))
|
||||
jid = "{}@{}".format(localpart, domain)
|
||||
password = form.password.data
|
||||
try:
|
||||
await client.login(jid, password)
|
||||
except quart.exceptions.Unauthorized:
|
||||
form.password.errors.append(ERR_CREDENTIALS_INVALID)
|
||||
else:
|
||||
await flash(
|
||||
_("Login successful!"),
|
||||
"success"
|
||||
)
|
||||
return redirect(url_for('user.index'))
|
||||
|
||||
return await render_template("login.html", form=form)
|
||||
|
||||
|
||||
@bp.route("/meta/about.html")
|
||||
async def about() -> str:
|
||||
version = None
|
||||
extra_versions = {}
|
||||
if current_app.debug:
|
||||
|
||||
if current_app.debug or client.is_admin_session:
|
||||
version = _version.version
|
||||
extra_versions["Quart"] = quart.__version__
|
||||
extra_versions["aiohttp"] = aiohttp.__version__
|
||||
extra_versions["babel"] = babel.__version__
|
||||
extra_versions["wtforms"] = wtforms.__version__
|
||||
extra_versions["flask-wtf"] = flask_wtf.__version__
|
||||
try:
|
||||
extra_versions["Prosody"] = await client.get_server_version()
|
||||
except quart.exceptions.Unauthorized:
|
||||
extra_versions["Prosody"] = "unknown"
|
||||
|
||||
return await render_template(
|
||||
"about.html",
|
||||
version=_version.version,
|
||||
version=version,
|
||||
extra_versions=extra_versions,
|
||||
)
|
||||
|
||||
@@ -144,3 +163,8 @@ async def avatar(from_: str, code: str) -> quart.Response:
|
||||
|
||||
response.set_data(data)
|
||||
return response
|
||||
|
||||
|
||||
@bp.route("/_health")
|
||||
async def health() -> Response:
|
||||
return Response("STATUS OK", content_type="text/plain")
|
||||
|
||||
@@ -332,15 +332,18 @@ class ProsodyClient:
|
||||
)
|
||||
)
|
||||
|
||||
def _store_token_in_session(self, token_info: TokenInfo) -> None:
|
||||
http_session[self.SESSION_TOKEN] = token_info.token
|
||||
http_session[self.SESSION_CACHED_SCOPE] = " ".join(token_info.scopes)
|
||||
|
||||
async def login(self, jid: str, password: str) -> bool:
|
||||
async with self._plain_session as session:
|
||||
token_info = await self._oauth2_bearer_token(
|
||||
session, jid, password,
|
||||
)
|
||||
|
||||
http_session[self.SESSION_TOKEN] = token_info.token
|
||||
self._store_token_in_session(token_info)
|
||||
http_session[self.SESSION_ADDRESS] = jid
|
||||
http_session[self.SESSION_CACHED_SCOPE] = " ".join(token_info.scopes)
|
||||
return True
|
||||
|
||||
@property
|
||||
@@ -445,6 +448,13 @@ class ProsodyClient:
|
||||
headers=final_headers,
|
||||
data=serialised) as resp:
|
||||
if resp.status != 200:
|
||||
self.logger.debug(
|
||||
"IQ HTTP response (in-reply-to id=%s) with non-OK status "
|
||||
"%s: %s",
|
||||
id_,
|
||||
resp.status,
|
||||
resp.reason,
|
||||
)
|
||||
abort(resp.status)
|
||||
reply_payload = await resp.read()
|
||||
self.logger.debug(
|
||||
@@ -493,6 +503,29 @@ class ProsodyClient:
|
||||
async with session.post(self._rest_endpoint, data=req) as resp:
|
||||
return resp.status == 200
|
||||
|
||||
@autosession
|
||||
async def get_server_version(self, session: aiohttp.ClientSession) -> str:
|
||||
_, domain, _ = split_jid(self.session_address)
|
||||
req = {
|
||||
"kind": "iq",
|
||||
"type": "get",
|
||||
"version": True,
|
||||
"to": domain,
|
||||
}
|
||||
|
||||
async with session.post(self._rest_endpoint, data=req) as resp:
|
||||
if resp.status != 200:
|
||||
return "unknwn"
|
||||
try:
|
||||
return (await resp.json())["version"]["version"]
|
||||
except Exception as exc:
|
||||
self.logger.debug(
|
||||
"failed to parse prosody version from response"
|
||||
" (%s: %s)",
|
||||
type(exc), exc,
|
||||
)
|
||||
return "unknown"
|
||||
|
||||
@autosession
|
||||
async def get_user_nickname(
|
||||
self,
|
||||
@@ -767,7 +800,7 @@ class ProsodyClient:
|
||||
# got there, replacing the current session token on the way.
|
||||
|
||||
async with self._plain_session as session:
|
||||
token = await self._oauth2_bearer_token(
|
||||
token_info = await self._oauth2_bearer_token(
|
||||
session,
|
||||
self.session_address,
|
||||
current_password,
|
||||
@@ -779,14 +812,14 @@ class ProsodyClient:
|
||||
new_password
|
||||
),
|
||||
headers={
|
||||
"Authorization": "Bearer {}".format(token),
|
||||
"Authorization": "Bearer {}".format(token_info.token),
|
||||
},
|
||||
sensitive=True,
|
||||
)
|
||||
# TODO: error handling
|
||||
# TODO: obtain a new token using the new password to allow the
|
||||
# server to expire/revoke all tokens on password change.
|
||||
http_session[self.SESSION_TOKEN] = token
|
||||
self._store_token_in_session(token_info)
|
||||
|
||||
def _raise_error_from_response(
|
||||
self,
|
||||
|
||||
@@ -252,3 +252,4 @@ $h-sizes: [200.0%, 174.11011266%, 151.57165665%, 131.95079108%, 114.8698355%, 10
|
||||
$h-small-sizes: [150.0%, 138.31618672%, 127.54245006%, 117.60790225%, 108.44717712%, 100.0%];
|
||||
$small-screen-threshold: 40rem;
|
||||
$medium-screen-threshold: 60rem;
|
||||
$large-screen-threshold: 80rem;
|
||||
|
||||
@@ -33,13 +33,35 @@ body {
|
||||
|
||||
main {
|
||||
padding: $w-l1;
|
||||
margin-left: auto;
|
||||
max-width: 60rem;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#mwrap {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
|
||||
> .filler, > .flashbox {
|
||||
flex: 1 1 1rem;
|
||||
}
|
||||
|
||||
> main {
|
||||
flex: 0 1 60rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $large-screen-threshold) {
|
||||
#mwrap {
|
||||
display: block;
|
||||
|
||||
> main {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.flashbox > div.box > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* top bar */
|
||||
@@ -67,6 +89,10 @@ div#topbar {
|
||||
font-size: $_top-h-size;
|
||||
line-height: 1.5;
|
||||
|
||||
body.debug & {
|
||||
color: red;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $small-screen-threshold) {
|
||||
font-size: $_top-h-small-size;
|
||||
}
|
||||
@@ -134,22 +160,20 @@ body > footer {
|
||||
background-color: $gray-100;
|
||||
color: $gray-800;
|
||||
padding: 0 $w-l1;
|
||||
font-size: 92.21079115%;
|
||||
|
||||
ul {
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style-type: none;
|
||||
text-align: center;
|
||||
line-height: 1.6267076567643135;
|
||||
}
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
margin: $w-l1 0;
|
||||
}
|
||||
|
||||
li:before {
|
||||
content: '•';
|
||||
padding-right: $w-s2;
|
||||
display: block;
|
||||
margin: $w-s1 0;
|
||||
}
|
||||
|
||||
a, a:visited, a:hover, a:active, a:focus {
|
||||
@@ -993,6 +1017,23 @@ div.profile-card {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
input[type="submit"], button, .button {
|
||||
&.slimmify {
|
||||
> svg.icon {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
> span {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
top: -100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* clipboard button */
|
||||
|
||||
@@ -3,5 +3,7 @@
|
||||
{#- -#}
|
||||
<li>{% trans about_url=url_for('main.about') %}A <a href="{{ about_url }}">Snikket</a> service{% endtrans %}</li>
|
||||
{#- -#}
|
||||
<li>{% trans %}“Snikket” and the parrot logo are trademarks of Snikket Community Interest Company.{% endtrans %}</li>
|
||||
{#- -#}
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends "base.html" %}
|
||||
{% from "library.j2" import standard_button %}
|
||||
{% block head_lead %}
|
||||
<title>About Snikket</title>
|
||||
<title>{% trans %}About Snikket{% endtrans %}</title>
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<main>
|
||||
@@ -14,10 +14,12 @@
|
||||
<p>{% trans agpl_url="https://www.gnu.org/licenses/agpl.html" %}The web portal software is licensed under the terms of the <a href="{{ agpl_url }}">Affero GNU General Public License, version 3.0 or later</a>. The full terms of the license can be reviewed using the aforementioned link.{% endtrans %}</p>
|
||||
<p>{% trans source_url="https://github.com/snikket-im/snikket-web-portal/" %}The source code of the web portal can be downloaded and viewed in <a href="{{ source_url }}">its GitHub repository</a>.{% endtrans %}</p>
|
||||
<p>{% trans source_url="https://material.io/resources/icons/", apache20_url="https://www.apache.org/licenses/LICENSE-2.0.txt" %}The icons used in the web portal are <a href="{{ source_url }}">Google’s Material Icons</a>, made available by Google under the terms of the <a href="{{ apache20_url }}">Apache 2.0 License</a>.{% endtrans %}</p>
|
||||
<h3>{% trans %}Trademarks{% endtrans %}</h3>
|
||||
<p>{% trans trademarks_url="https://snikket.org/about/trademarks/" %}“Snikket” and the parrot logo are trademarks of Snikket Community Interest Company. For more information about the trademarks, visit the <a href="{{ trademarks_url }}">Snikket Trademarks information page</a>.{% endtrans %}
|
||||
<h3>{% trans %}Software Versions{% endtrans %}</h3>
|
||||
<pre>Snikket Server
|
||||
Domain: {{ config["SNIKKET_DOMAIN"] }}
|
||||
Snikket Web Portal ({{ version }})
|
||||
Snikket Web Portal{% if version %} ({{ version }}){% endif %}
|
||||
{%- if extra_versions -%}
|
||||
{% for name, version in extra_versions.items() %}
|
||||
{{ name }} ({{ version }}){% endfor %}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<col/>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans %}Valid until{% endtrans %}</th>
|
||||
<th>{% trans %}Expires{% endtrans %}</th>
|
||||
<th class="collapsible">{% trans %}Type{% endtrans %}</th>
|
||||
<th class="collapsible">{% trans %}Circle{% endtrans %}</th>
|
||||
<th>{% trans %}Actions{% endtrans %}</th>
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
{% endblock %}
|
||||
{% block topbar_right %}
|
||||
{{- super() -}}
|
||||
{% call standard_button("logout", url_for("user.logout"), class="tertiary") %}{% trans %}Log out{% endtrans %}{% endcall %}
|
||||
{% call standard_button("logout", url_for("user.logout"), class="tertiary slimmify") %}{% trans %}Log out{% endtrans %}{% endcall %}
|
||||
{%- endblock %}
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
<meta name="msapplication-TileColor" content="#fbd308">
|
||||
<meta name="theme-color" content="#fbd308">
|
||||
</head>
|
||||
<body{% if body_id | default(False) %} id="{{ body_id }}"{% endif %}{% if body_class | default(False) %} class="{{ body_class }}"{% endif %}{% if onload | default(False) %} onload="{{ onload }}"{% endif %}>{% block body %}{% endblock %}</body>
|
||||
<body{% if body_id | default(False) %} id="{{ body_id }}"{% endif %} class="{% if is_in_debug_mode %}debug{% endif %}{% if body_class | default(False) %} {{ body_class }}{% endif %}"{% if onload | default(False) %} onload="{{ onload }}"{% endif %}>{% block body %}{% endblock %}</body>
|
||||
</html>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="{{ url_for("static", filename="css/invite.css") }}">
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div id="mwrap"><main>{% block content %}{% endblock %}</main></div>
|
||||
<div id="mwrap"><div class="filler"></div><main>{% block content %}{% endblock %}</main><div class="filler"></div></div>
|
||||
{%- include "_footer.html" -%}
|
||||
{% endblock %}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<title>{% trans site_name=config["SITE_NAME"] %}Invite to {{ site_name }} | Snikket{% endtrans %}</title>
|
||||
<script async type="text/javascript" src="{{ url_for("static", filename="js/invite-magic.js") }}"></script>
|
||||
<script async type="text/javascript" src="{{ url_for("static", filename="js/qrcode.min.js") }}"></script>
|
||||
<link rel="alternate" href="{{ invite.xmpp_uri }}">
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="elevated box el-3">
|
||||
@@ -30,7 +31,7 @@
|
||||
{%- endif -%}
|
||||
</ul>
|
||||
{%- call standard_button("qrcode", "#qr-modal", class="primary", onclick="open_modal(this); return false;") -%}
|
||||
{% trans %}Not on mobile?{% endtrans %}
|
||||
{% trans %}Send to mobile device{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
<p>{% trans %}After installation the app should automatically open and prompt you to create an account. If not, simply click the button below.{% endtrans %}</p>
|
||||
|
||||
@@ -9,16 +9,20 @@
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div id="mwrap"><main><div class="form layout-expanded">
|
||||
<div id="mwrap"><div class="filler"></div><main><div class="form layout-expanded">
|
||||
<h1 class="form-title">{{ config["SITE_NAME"] }}</h1>
|
||||
<p class="form-desc">{{ _("Enter your Snikket address and password to manage your account.") }}</p>
|
||||
<form method="POST" action="{{ url_for('.login') }}" name="login">
|
||||
<form method="POST" action="{{ url_for('.login') }}" name="login" id="login-form" onsubmit="return domainCheck();" data-addressid="{{ form.address.id }}" data-domain="{{ config["SNIKKET_DOMAIN"] }}">
|
||||
{{ form.csrf_token }}
|
||||
{% if form.errors %}
|
||||
{% call box("alert", _("Login failed")) %}
|
||||
<p>{{ form.errors.values() | flatten | join(", ")}}</p>
|
||||
{% endcall %}
|
||||
{% endif %}
|
||||
<div class="box alert" role="alert" style="display: none;" id="id-warning">
|
||||
<header>{% trans %}Incorrect address{% endtrans %}</header>
|
||||
<p>{% trans snikket_domain=config["SNIKKET_DOMAIN"] %}This Snikket service only hosts addresses ending in <em>@{{ snikket_domain }}</em>. Your password was not sent.{% endtrans %}</p>
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.address.label(class="a11y-only") }}
|
||||
{{ form.address(placeholder=form.address.label.text) }}
|
||||
@@ -31,8 +35,22 @@
|
||||
{%- call form_button("login", form.action_signin, class="primary") -%}{% endcall -%}
|
||||
</div>
|
||||
</from>
|
||||
</div></main></div>
|
||||
<footer>
|
||||
<ul><li>{% trans about_url=url_for('.about') %}A <a href="{{ about_url }}">Snikket</a> service{% endtrans %}</li></ul>
|
||||
</footer>
|
||||
<script type="text/javascript">
|
||||
var domainCheck = function() {
|
||||
var form = document.getElementById("login-form");
|
||||
var addressId = form.dataset.addressid;
|
||||
var addressField = document.getElementById(addressId);
|
||||
var domain = form.dataset.domain;
|
||||
var address = addressField.value;
|
||||
var errorBox = document.getElementById("id-warning");
|
||||
if (address.includes("@") && !address.endsWith(domain)) {
|
||||
errorBox.style.display = "block";
|
||||
return false;
|
||||
}
|
||||
errorBox.style.display = "none";
|
||||
return true;
|
||||
};
|
||||
</script>
|
||||
</div></main><div class="filler"></div></div>
|
||||
{%- include "_footer.html" -%}
|
||||
{% endblock %}
|
||||
|
||||
@@ -7,6 +7,25 @@
|
||||
<div class="filler"></div>
|
||||
{% block topbar_right %}{% endblock %}
|
||||
</div>
|
||||
<div id="mwrap"><main>{% block content %}{% endblock %}</main></div>
|
||||
<div id="mwrap">
|
||||
{#- -#}
|
||||
<div class="flashbox" id="flashbox">
|
||||
{%- for category, message in get_flashed_messages(True) -%}
|
||||
<div class="box {{ category }} el-5" role="alert">
|
||||
{% if category == "success" %}
|
||||
<header>{% trans %}Operation successful{% endtrans %}</header>
|
||||
{% elif category == "alert" %}
|
||||
<header>{% trans %}Error{% endtrans %}</header>
|
||||
{% endif %}
|
||||
<p>{{ message }}</p>
|
||||
</div>
|
||||
{%- endfor -%}
|
||||
</div>
|
||||
{#- -#}
|
||||
<main>{% block content %}{% endblock %}</main>
|
||||
{#- -#}
|
||||
<div class="filler"></div>
|
||||
{#- -#}
|
||||
</div>
|
||||
{%- include "_footer.html" -%}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, form_button %}
|
||||
{% block head_lead %}
|
||||
<title>Snikket Web Portal</title>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="form layout-expanded"><form method="POST">
|
||||
<h2 class="form-title">{% trans %}Sign out of the Snikket Web Portal{% endtrans %}</h2>
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, custom_form_button, render_errors %}
|
||||
{% block head_lead %}
|
||||
<title>Snikket Web Portal</title>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="form layout-expanded"><form method="POST">
|
||||
<h1 class="form-title">{% trans %}Change your password{% endtrans %}</h1>
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, form_button, avatar with context %}
|
||||
{% block head_lead %}
|
||||
<title>Snikket Web Portal</title>
|
||||
{% endblock %}
|
||||
{% from "library.j2" import standard_button, form_button, render_errors, avatar with context %}
|
||||
{% block content %}
|
||||
<h1>{% trans %}Update your profile{% endtrans %}</h1>
|
||||
<div class="form layout-expanded"><form method="POST" enctype="multipart/form-data">
|
||||
<h2 class="form-title">{% trans %}Profile{% endtrans %}</h2>
|
||||
{{ form.csrf_token }}
|
||||
{% call render_errors(form) %}{% endcall %}
|
||||
<div class="f-ebox">
|
||||
{{ form.nickname.label }}
|
||||
{{ form.nickname(placeholder=user_info.username) }}
|
||||
@@ -16,7 +14,10 @@
|
||||
{{ form.avatar.label }}
|
||||
<div class="avatar-wrap">
|
||||
{%- call avatar(user_info.address, user_info.avatar_hash ) %}{% endcall -%}
|
||||
{{ form.avatar }}
|
||||
{{ form.avatar(accept="image/png",
|
||||
data_maxsize=max_avatar_size,
|
||||
data_warning_header=avatar_too_big_warning_header,
|
||||
data_maxsize_warning=avatar_too_big_warning) }}
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="form-title">{% trans %}Visibility{% endtrans %}</h3>
|
||||
@@ -31,5 +32,23 @@
|
||||
{%- call standard_button("back", url_for('.index'), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call form_button("done", form.action_save, class="primary") %}{% endcall -%}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
document.getElementById("{{ form.avatar.id }}").onchange = function() {
|
||||
var maxsize_s = this.dataset.maxsize;
|
||||
var maxsize = parseInt(maxsize_s);
|
||||
var existing_alert = document.getElementById("avatar-alert");
|
||||
if (existing_alert) {
|
||||
existing_alert.parentNode.removeChild(existing_alert);
|
||||
}
|
||||
if (this.files[0].size > maxsize) {
|
||||
var warning_header = this.dataset.warningHeader;
|
||||
var warning_text = this.dataset.maxsizeWarning;
|
||||
this.setCustomValidity(warning_text);
|
||||
this.value = null;
|
||||
} else {
|
||||
this.setCustomValidity("");
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</form></div>
|
||||
{% endblock %}
|
||||
|
||||
1238
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
1238
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SnikketWeb 0.1.0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"PO-Revision-Date: 2021-01-31 12:54+0000\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/de/>\n"
|
||||
@@ -24,194 +24,262 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Benutzer endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr "Benutzer gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes erzeugt"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Link gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "In Gemeinschaft einladen"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Mindestens eine Gemeinschaft muss ausgewählt sein"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Gültig für"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "Eine Stunde"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Zwölf Stunden"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "Ein Tag"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "Eine Woche"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Vier Wochen"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Art der Einladung"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Einzelperson"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "Neuer Einladungslink"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
msgid "Invitation created"
|
||||
msgstr "Einladung angelegt"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Diese Einladung existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Einladung gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Gemeinschaft gründen"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
msgid "Circle created"
|
||||
msgstr "Gemeinschaft gegründet"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Benutzer auswählen"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Gemeinschaft ändern"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Gemeinschaft endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Benutzer hinzufügen"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
msgid "No such circle exists"
|
||||
msgstr "Diese Gemeinschaft existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
msgid "Circle data updated"
|
||||
msgstr "Gemeinschaftsdaten aktualisiert"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
msgid "Circle deleted"
|
||||
msgstr "Gemeinschaft gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
msgid "User added to circle"
|
||||
msgstr "Benutzer zur Gemeinschaft hinzugefügt"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
msgid "User removed from circle"
|
||||
msgstr "Benutzer aus der Gemeinschaft entfernt"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Kern"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Passwort (Bestätigung)"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Die Passwörter müssen übereinstimmen"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Konto anlegen"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Dieser Benutzername ist bereits belegt"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Der Benutzername ist ungültig"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Benutzername oder Passwort falsch."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr "Anmeldung erfolgreich!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Aktuelles Passwort"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Neues Passwort (Bestätigung)"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Die neuen Passwörter müssen übereinstimmen"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Niemand"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Nur Freunde"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Jeder"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Bild"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profilsichtbarkeit"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Ungültiges Passwort"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
msgid "Password changed"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil gespeichert"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "Ein <a href=\"%(about_url)s\">Snikket</a>-Dienst"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"„Snikket“ und das Papageienlogo sind Markenzeichen der Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "Über Snikket"
|
||||
|
||||
@@ -271,10 +339,25 @@ msgstr ""
|
||||
"\"%(apache20_url)s\">Apache 2.0 Lizenz</a> bereitgestellt werden."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr "Markenzeichen"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"„Snikket“ und das Papageienlogo sind Markenzeichen der Snikket Community "
|
||||
"Interest Company. Mehr Informationen über die Markenzeichen gibt es auf der "
|
||||
"<a href=\"%(trademarks_url)s\">„Snikket Trademarks“ Informationsseite</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Softwareversionen"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Zurück zur Hauptseite"
|
||||
|
||||
@@ -353,7 +436,7 @@ msgstr "Neue Gemeinschaft"
|
||||
|
||||
#: snikket_web/templates/admin_create_invite.html:3
|
||||
msgid "Create invitation"
|
||||
msgstr "Gemeinschaft gründen"
|
||||
msgstr "Einladung erzeugen"
|
||||
|
||||
#: snikket_web/templates/admin_create_invite_form.html:5
|
||||
msgid "Create new invitation"
|
||||
@@ -373,7 +456,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Debugging-Informationen für %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
@@ -426,9 +509,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
@@ -506,7 +589,6 @@ msgid "View invitation"
|
||||
msgstr "Einladung anzeigen"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Gültig bis"
|
||||
@@ -604,6 +686,10 @@ msgstr "Adminbereich verlassen"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Ausstehende Einladungen"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr "Läuft ab"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Art"
|
||||
@@ -653,7 +739,7 @@ msgstr "Debugging-Informationen für %(user_name)s anzeigen"
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Benutzer %(user_name)s löschen"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes von %(user_name)s erzeugen"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -689,7 +775,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "Das Webportal hatte einen internen Fehler."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Einladung zu %(site_name)s"
|
||||
@@ -697,7 +783,7 @@ msgstr "Einladung zu %(site_name)s"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Betrieben mit <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -744,18 +830,18 @@ msgstr ""
|
||||
"innerhalb der App zu machen. Das geht, indem du den folgenden Knopf drückst:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "App schon installiert?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "App öffnen"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Dieser Knopf funktioniert nur, wenn du die App schon installiert hast!"
|
||||
|
||||
@@ -831,8 +917,8 @@ msgid ""
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
msgstr ""
|
||||
"Diese Seite erlaubt es dir einmalig, das Passwort deines Kontos "
|
||||
"<strong>%(account_jid)s</strong> zurückzusetzen."
|
||||
"Diese Seite erlaubt es dir einmalig, das Passwort deines Kontos <strong>"
|
||||
"%(account_jid)s</strong> zurückzusetzen."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:17
|
||||
msgid "Using the app"
|
||||
@@ -853,7 +939,7 @@ msgstr ""
|
||||
"Das geht mit Hilfe des Scan-Knopfes in der oberen Leiste."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -869,7 +955,7 @@ msgstr ""
|
||||
"Du wirst dann aufgefordert, ein neues Passwort für deinen Account einzugeben."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternativen"
|
||||
|
||||
@@ -917,7 +1003,7 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Einladung zu %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
@@ -926,7 +1012,7 @@ msgstr ""
|
||||
"%(inviter_name)s hat dich zum Chatten mit Snikket auf %(site_name)s "
|
||||
"eingeladen, einer sicheren, privatsphärefreundlichen Chat-App."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
@@ -935,37 +1021,37 @@ msgstr ""
|
||||
"Dies ist eine Einladung zum Chatten auf %(site_name)s mit Snikket, einer "
|
||||
"sicheren, privatsphärefreundlichen Chat-App."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Leg los!"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Installiere die Snikket-App auf deinem Android- oder iOS-Gerät."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
"Installiere die Snikket-App auf deinem Android-Gerät (<a href=\""
|
||||
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS folgt "
|
||||
"Installiere die Snikket-App auf deinem Android-Gerät (<a href="
|
||||
"\"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS folgt "
|
||||
"bald!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Von Google Play installieren"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Laden im App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Nicht am Smartphone?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr "An mobiles Gerät übertragen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -974,7 +1060,7 @@ msgstr ""
|
||||
"ein Benutzerkonto anzulegen. Falls nicht, tippe einfach auf die folgende "
|
||||
"Schaltfläche."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -986,16 +1072,16 @@ msgstr ""
|
||||
"dass du <a href=\"%(register_url)s\">manuell ein Benutzerkonto anlegen</a> "
|
||||
"musst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Einladungscode scannen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -1004,22 +1090,22 @@ msgstr ""
|
||||
"untenstehenden Code mit deiner Kamera scannst. Dafür kannst du entweder "
|
||||
"einen normalen QR-Scanner nehmen oder die Snikket-App selbst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Mit einem QR-Code-Scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Mit der Snikket-App"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Benutze einen <em>QR-Code</em>-Scanner auf deinem mobilen Gerät um den "
|
||||
"untenstehenden Code zu scannen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1064,6 +1150,27 @@ msgstr ""
|
||||
msgid "Login failed"
|
||||
msgstr "Anmeldung fehlgeschlagen"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
msgid "Incorrect address"
|
||||
msgstr "Ungültige Adresse"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Dieser Snikket-Server ist nur für Adressen, die auf <em>@%(snikket_domain)s</"
|
||||
"em> enden zuständig. Dein Passwort wurde nicht abgesendet."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr "Aktion erfolgreich"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Willkommen!"
|
||||
@@ -1098,11 +1205,11 @@ msgstr ""
|
||||
msgid "Admin panel"
|
||||
msgstr "Adminbereich"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Aus dem Webportal abmelden"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1110,11 +1217,11 @@ msgstr ""
|
||||
"Klicke unten um dich aus dem Webportal abzumelden. Dies betrifft keine "
|
||||
"anderen Geräte von dir."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ändere dein Passwort"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1124,7 +1231,7 @@ msgstr ""
|
||||
"dein neues Passwort angeben. Damit Tippfehler dich nicht aussperren bitten "
|
||||
"wir dich, dein neues Passwort zweimal einzutippen."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1132,19 +1239,19 @@ msgstr ""
|
||||
"Nachdem du das Passwort geändert hast, musst du das neue Passwort auf allen "
|
||||
"Geräten manuell eintragen."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Dein Profil bearbeiten"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Sichtbarkeit"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1152,6 +1259,9 @@ msgstr ""
|
||||
"Hier kannst du einstellen, wer deine Profilinformationen, wie Bild oder "
|
||||
"Anzeigename einsehen kann."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Nicht am Smartphone?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Benutzer %(user_name)s bearbeiten"
|
||||
|
||||
@@ -1235,8 +1345,5 @@ msgstr ""
|
||||
#~ msgid "Copy operation failed"
|
||||
#~ msgstr "Kopieren fehlgeschlagen"
|
||||
|
||||
#~ msgid "Password change failed"
|
||||
#~ msgstr "Passwortänderung fehlgeschlagen"
|
||||
|
||||
#~ msgid "Allow multiple uses"
|
||||
#~ msgstr "Mehrfach verwendbar"
|
||||
|
||||
@@ -7,11 +7,11 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/en/>\n"
|
||||
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/en/>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -24,194 +24,288 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individual"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Group"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Update circle"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Remove user %(username)s from circle"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm password"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Create account"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "That username is already taken"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "Registration was declined for unknown reasons"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "The username is not valid"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Change password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid username or password."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "About Snikket"
|
||||
|
||||
@@ -271,10 +365,22 @@ msgstr ""
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Software Versions"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Back to the main page"
|
||||
|
||||
@@ -373,7 +479,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Debug information for %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Warning"
|
||||
|
||||
@@ -419,16 +525,16 @@ msgid ""
|
||||
"strong>"
|
||||
msgstr ""
|
||||
"The user and their data will be deleted irrevocably, permanently and "
|
||||
"immediately upon pushing the below button. <strong>There is no way "
|
||||
"back!</strong>"
|
||||
"immediately upon pushing the below button. <strong>There is no way back!</"
|
||||
"strong>"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:19
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
|
||||
@@ -502,7 +608,6 @@ msgid "View invitation"
|
||||
msgstr "View invitation"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Valid until"
|
||||
@@ -596,6 +701,10 @@ msgstr "Exit admin panel"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Pending invitations"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
@@ -679,7 +788,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "The web portal encountered an internal error."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Invite to %(site_name)s"
|
||||
@@ -687,7 +796,7 @@ msgstr "Invite to %(site_name)s"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Powered by <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -732,18 +841,18 @@ msgstr ""
|
||||
"inside the app by clicking on the button below:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "App already installed?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "Open the app"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "This button works only if you have the app installed already!"
|
||||
|
||||
@@ -817,8 +926,8 @@ msgid ""
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
msgstr ""
|
||||
"This page allows you to reset the password of your account, "
|
||||
"<strong>%(account_jid)s</strong>, once."
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:17
|
||||
msgid "Using the app"
|
||||
@@ -837,7 +946,7 @@ msgstr ""
|
||||
"Scan button at the top."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -852,7 +961,7 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr "You will then be prompted to enter a new password for your account."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatives"
|
||||
|
||||
@@ -899,7 +1008,7 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Invite to %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
@@ -908,7 +1017,7 @@ msgstr ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
@@ -917,15 +1026,15 @@ msgstr ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Get started"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Install the Snikket App on your Android or iOS device."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
@@ -934,19 +1043,19 @@ msgstr ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Get it on Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Download on the App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Not on mobile?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -954,7 +1063,7 @@ msgstr ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -962,19 +1071,19 @@ msgid ""
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
"above does not work with your app, you may need to <a href=\"%(register_url)"
|
||||
"s\">register an account manually</a>."
|
||||
"above does not work with your app, you may need to <a href=\"%(register_url)s"
|
||||
"\">register an account manually</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scan invite code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -982,21 +1091,21 @@ msgstr ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Using a QR code scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Using the Snikket app"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1036,6 +1145,27 @@ msgstr "Enter your Snikket address and password to manage your account."
|
||||
msgid "Login failed"
|
||||
msgstr "Login failed"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Welcome!"
|
||||
@@ -1069,11 +1199,11 @@ msgstr "Manage users, invitations and circles of your Snikket service."
|
||||
msgid "Admin panel"
|
||||
msgstr "Admin panel"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Sign out of the Snikket Web Portal"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1081,11 +1211,11 @@ msgstr ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Change your password"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1095,7 +1225,7 @@ msgstr ""
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
"twice."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1103,19 +1233,19 @@ msgstr ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Update your profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1123,6 +1253,9 @@ msgstr ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Not on mobile?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edit user %(user_name)s"
|
||||
|
||||
@@ -1202,6 +1335,3 @@ msgstr ""
|
||||
|
||||
#~ msgid "Copy operation failed"
|
||||
#~ msgstr "Copy operation failed"
|
||||
|
||||
#~ msgid "Password change failed"
|
||||
#~ msgstr "Password change failed"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"Last-Translator: riccio <unriccio@email.it>\n"
|
||||
"Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/"
|
||||
@@ -24,202 +24,296 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Update circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Remove user %(username)s from circle"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#, fuzzy
|
||||
#| msgid "Confirm new password"
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Create account"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Change password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
#, fuzzy
|
||||
#| msgid "Invalid user name or password."
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid user name or password."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "About Snikket"
|
||||
|
||||
@@ -279,10 +373,22 @@ msgstr ""
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Software Versions"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Back to the main page"
|
||||
|
||||
@@ -379,7 +485,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Debug information for %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Warning"
|
||||
|
||||
@@ -429,9 +535,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
|
||||
@@ -509,7 +615,6 @@ msgid "View invitation"
|
||||
msgstr "View invitation"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Valid until"
|
||||
@@ -611,6 +716,10 @@ msgstr ""
|
||||
msgid "Pending invitations"
|
||||
msgstr "Pending invitations"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
@@ -694,7 +803,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "The web portal encountered an internal error."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Invite to %(site_name)s"
|
||||
@@ -702,7 +811,7 @@ msgstr "Invite to %(site_name)s"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr ""
|
||||
@@ -747,18 +856,18 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -851,7 +960,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -863,7 +972,7 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -907,54 +1016,54 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -962,37 +1071,37 @@ msgid ""
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#, fuzzy
|
||||
#| msgid "Show invite details"
|
||||
msgid "Scan invite code"
|
||||
msgstr "Show invite details"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1034,6 +1143,27 @@ msgstr "Enter your Snikket address and password to manage your account."
|
||||
msgid "Login failed"
|
||||
msgstr "Login failed"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Welcome!"
|
||||
@@ -1079,11 +1209,11 @@ msgstr "Manage users and invitations of this Snikket service."
|
||||
msgid "Admin panel"
|
||||
msgstr "Admin dashboard"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Sign out of the Snikket Web Portal"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1091,11 +1221,11 @@ msgstr ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Change your password"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1105,7 +1235,7 @@ msgstr ""
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
"twice."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1113,21 +1243,21 @@ msgstr ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Update profile"
|
||||
msgid "Update your profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1214,6 +1344,3 @@ msgstr ""
|
||||
|
||||
#~ msgid "Copy operation failed"
|
||||
#~ msgstr "Copy operation failed"
|
||||
|
||||
#~ msgid "Password change failed"
|
||||
#~ msgstr "Password change failed"
|
||||
|
||||
1190
snikket_web/translations/es_MX/LC_MESSAGES/messages.po
Normal file
1190
snikket_web/translations/es_MX/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,9 +7,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-03-12 23:04+0000\n"
|
||||
"Last-Translator: GodGoldfish <godgoldfish@pm.me>\n"
|
||||
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -17,201 +17,301 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Désinscrire définitivement l’utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "supprimé"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Lien de réinitialisation du mot de passe de %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
"Créer des liens de réinitialisation de mot de passe ou supprimer des "
|
||||
"utilisateurs"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Inviter dans le cercle"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Au moins un cercle doit être sélectionné"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Valide pour"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "Une heure"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Douze heures"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "Un jour"
|
||||
msgstr "Une journée"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "Une semaine"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Quatre semaines"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Type d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuelle"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Révoquer"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Type d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Type d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Créer un cercle"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Nom du cercle"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Sélectionner un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Mettre à jour le cercle"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Supprimer le cercle définitivement"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Ajouter un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "Aucun cercle"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nom du cercle"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "supprimé"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Inviter dans le cercle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "Retirer l’utilisateur %(username)s du cercle"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Principal"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Nom d’utilisateur"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmer le mot de passe"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Les mots de passe doivent être identiques"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Créer un compte"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Ce nom d’utilisateur est déjà utilisé"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "L’enregistrement a été refusé pour des raisons inconnues"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Le nom d’utilisateur n’est pas valide"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Changer de mot de passe"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "S’identifier"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nom d’utilisateur ou mot de passe incorrect."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
#, fuzzy
|
||||
msgid "Login successful!"
|
||||
msgstr "Connexion réussite !"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Mot de passe actuel"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirmer le nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Les nouveaux mots de passe doivent être identiques"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Se déconnecter"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Personne"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Amis seulement"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Tout le monde"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nom à afficher"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilité du profil"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Mettre à jour le profil"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Mot de passe incorrect"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "Réinitialisation de mot de passe"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "Un service <a href=\"%(about_url)s\">Snikket</a>"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"\"Snikket\" et le logo de perroquet sont des marques de la Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "À propos de Snikket"
|
||||
|
||||
@@ -265,15 +365,31 @@ msgid ""
|
||||
"Material Icons</a>, made available by Google under the terms of the <a href="
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
msgstr ""
|
||||
"Les icônes utilisées dans le portail web sont <a href=\"%(source_url)s\""
|
||||
">Google’s Material Icons</a>, mises à dispositions par Google sous les "
|
||||
"Les icônes utilisées dans le portail web sont <a href=\"%(source_url)s"
|
||||
"\">Google’s Material Icons</a>, mises à dispositions par Google sous les "
|
||||
"termes de la <a href=\"%(apache20_url)s\">licence Apache 2.0 </a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
#, fuzzy
|
||||
msgid "Trademarks"
|
||||
msgstr "Marques"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, fuzzy, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" et le logo de perroquet sont des marques de la Snikket Community "
|
||||
"Interest Company. Pour plus d'informations sur la marque, visitez le site <a "
|
||||
"href=\"%(trademarks_url)s\"> page d'information Snikket Trademarks</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Version des logiciels"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Retour à la page principale"
|
||||
|
||||
@@ -372,7 +488,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Informations de débogage pour %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Avertissement"
|
||||
|
||||
@@ -382,11 +498,11 @@ msgstr "Le contenu ci-dessous peut contenir des informations sensibles."
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:15
|
||||
msgid "Raw debug dump"
|
||||
msgstr "Journal de débogage brute"
|
||||
msgstr "Journal de débogage brut"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:17
|
||||
msgid "Copy complete output"
|
||||
msgstr "Copier le journal complet"
|
||||
msgstr "Copier le journal entier"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
@@ -425,9 +541,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
@@ -502,7 +618,6 @@ msgid "View invitation"
|
||||
msgstr "Détails de l’invitation"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Valide jusqu’au"
|
||||
@@ -599,6 +714,11 @@ msgstr "Quitter le panneau d’administration"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Invitations en attente"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#, fuzzy
|
||||
msgid "Expires"
|
||||
msgstr "Expires"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
@@ -683,15 +803,15 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "Le portail web a rencontré une erreur interne."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Inviter à %(site_name)s"
|
||||
msgstr "Invitation à %(site_name)s"
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Propulsé par <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -738,18 +858,18 @@ msgstr ""
|
||||
"création de compte dans l’application en cliquant sur le bouton ci-dessous :"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "L’application est déjà installée ?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "Ouvrir l’application"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Ce bouton ne fonctionne que si vous avez déjà installé l’application !"
|
||||
|
||||
@@ -762,9 +882,8 @@ msgid ""
|
||||
"If you plan to use a legacy XMPP client, you can register an account online "
|
||||
"and enter your credentials into any XMPP-compatible software."
|
||||
msgstr ""
|
||||
"Si vous prévoyez d’utiliser un ancien client XMPP, vous pouvez ouvrir un "
|
||||
"compte en ligne et saisir vos indentifiants dans tout logiciel compatible "
|
||||
"XMPP."
|
||||
"Si vous prévoyez d’utiliser un client XMPP, vous pouvez ouvrir un compte en "
|
||||
"ligne et saisir vos indentifiants dans tout logiciel compatible XMPP."
|
||||
|
||||
#: snikket_web/templates/invite_register.html:27
|
||||
msgid ""
|
||||
@@ -849,7 +968,7 @@ msgstr ""
|
||||
"utilisant le bouton Scan tout en haut."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -866,7 +985,7 @@ msgstr ""
|
||||
"compte."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatives"
|
||||
|
||||
@@ -907,25 +1026,25 @@ msgid ""
|
||||
"You can now set up your legacy XMPP client with the above address and the "
|
||||
"password you chose during registration."
|
||||
msgstr ""
|
||||
"Vous pouvez maintenant configurer votre ancien client XMPP avec l’adresse ci-"
|
||||
"dessus et le mot de passe que vous avez choisi lors de l’enregistrement."
|
||||
"Vous pouvez maintenant configurer votre client XMPP avec l’adresse ci-dessus "
|
||||
"et le mot de passe que vous avez choisi lors de l’enregistrement."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:6
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Inviter à %(site_name)s | Snikket"
|
||||
msgstr "Invitation à %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
msgstr ""
|
||||
"Vous avez été invité à converser avec %(inviter_name)s en utilisant Snikket, "
|
||||
"une application de messagerie sécurisée et respectueuse de la vie privée sur "
|
||||
"%(site_name)s."
|
||||
"Vous avez été invité(e) à converser avec %(inviter_name)s en utilisant "
|
||||
"Snikket, une application de messagerie sécurisée et respectueuse de la vie "
|
||||
"privée sur %(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
@@ -934,37 +1053,38 @@ msgstr ""
|
||||
"Vous avez été invité à converser sur %(site_name)s en utilisant Snikket, une "
|
||||
"application de messagerie sécurisée et respectueuse de la vie privée."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Démarrer"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Installez l’application Snikket sur votre appareil Android ou iOS."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
"Installez l’Application Snikket sur votre appareil Android (<a href=\""
|
||||
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS "
|
||||
"Installez l’Application Snikket sur votre appareil Android (<a href="
|
||||
"\"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS "
|
||||
"disponible bientôt !</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Obtenez-la sur Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Télécharger sur l’App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Pas sur mobile ?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#, fuzzy
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Envoyer vers l'appareil"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -973,7 +1093,7 @@ msgstr ""
|
||||
"inviter à créer un compte. Si ce n’est pas le cas, il suffit de cliquer sur "
|
||||
"le bouton ci-dessous."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -985,16 +1105,16 @@ msgstr ""
|
||||
"application, vous devrez peut-être <a href=\"%(register_url)s\">enregistrer "
|
||||
"un compte manuellement</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scanner le code d’invitation"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -1003,22 +1123,22 @@ msgstr ""
|
||||
"scannant un code avec votre appareil photo. Vous pouvez utiliser soit une "
|
||||
"application de scanner de QR code, soit l’application Snikket elle-même."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "En utilisant un scanner de QR code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "En utilisant l’application Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Utilisez un scanner de <em>QR code</em> sur votre appareil mobile pour "
|
||||
"scanner le code ci-dessous :"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1040,7 +1160,8 @@ msgstr "supprimé"
|
||||
|
||||
#: snikket_web/templates/library.j2:122
|
||||
msgid "Can be used multiple times to create accounts on this Snikket service."
|
||||
msgstr "Peut être utilisée pour créer plusieurs comptes sur ce service Snikket."
|
||||
msgstr ""
|
||||
"Peut être utilisée pour créer plusieurs comptes sur ce service Snikket."
|
||||
|
||||
#: snikket_web/templates/library.j2:124
|
||||
msgid "Can be used once to create an account on this Snikket service."
|
||||
@@ -1048,7 +1169,7 @@ msgstr "Peut être utilisée pour créer un seul compte sur ce service Snikket."
|
||||
|
||||
#: snikket_web/templates/login.html:5
|
||||
msgid "Snikket Login"
|
||||
msgstr "Identifiant Snikket"
|
||||
msgstr "Connexion à Snikket"
|
||||
|
||||
#: snikket_web/templates/login.html:14
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
@@ -1058,6 +1179,31 @@ msgstr "Entrez votre adresse et mot de passe Snikket pour gérer votre compte."
|
||||
msgid "Login failed"
|
||||
msgstr "Échec d’identification"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Mot de passe incorrect"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, fuzzy, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Le service Snikket n'héberge que les adresses se terminant par "
|
||||
"<em>@%(snikket_domain)s</em>. Votre mot de passe n'a pas été envoyé."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
#, fuzzy
|
||||
msgid "Operation successful"
|
||||
msgstr "Opération réussite"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
#, fuzzy
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Bienvenue !"
|
||||
@@ -1065,7 +1211,7 @@ msgstr "Bienvenue !"
|
||||
#: snikket_web/templates/user_home.html:10
|
||||
#, python-format
|
||||
msgid "Welcome home, %(user_name)s."
|
||||
msgstr "Bienvenue à la maison, %(user_name)s."
|
||||
msgstr "Bienvenue chez vous, %(user_name)s."
|
||||
|
||||
#: snikket_web/templates/user_home.html:14
|
||||
msgid "Your account"
|
||||
@@ -1092,11 +1238,11 @@ msgstr ""
|
||||
msgid "Admin panel"
|
||||
msgstr "Panneau d’administration"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Se déconnecter du portail web Snikket"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1104,11 +1250,11 @@ msgstr ""
|
||||
"Cliquez ci-dessous pour vous déconnecter du portail. Ceci n’affecte pas vos "
|
||||
"autres appareils connectés."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Changer votre mot de passe"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1118,7 +1264,7 @@ msgstr ""
|
||||
"et votre nouveau mot de passe. Pour réduire les chances d’erreur, vous devez "
|
||||
"confirmer le nouveau mot de passe."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1126,19 +1272,19 @@ msgstr ""
|
||||
"Après avoir changé votre mot de passe, vous devez entrer le nouveau mot de "
|
||||
"passe sur chacun de vos appareils."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Mettre à jour votre profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilité"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1146,6 +1292,9 @@ msgstr ""
|
||||
"Cette section permet de configurer qui peut voir votre profil, comme par "
|
||||
"exemple votre avatar et votre pseudonyme."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Pas sur mobile ?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Modifier l’utilisateur %(user_name)s"
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: uira <inboxriau@andriana.id>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/id/>\n"
|
||||
@@ -24,194 +24,262 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Hapus permanen pengguna"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr "Pengguna dihapus"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
msgid "Password reset link created"
|
||||
msgstr "Tautan setel ulang kata sandi dibuat"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Tautan setel ulang kata sandi dihapus"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Undang masuk kelompok"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Minimal satu kelompok harus dipilih"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Valid selama"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "Satu jam"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dua belas jam"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "Satu hari"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "Satu minggu"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Empat minggu"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Jenis undangan"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individu"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grup"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "Tautan undangan baru"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Batalkan"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
msgid "Invitation created"
|
||||
msgstr "Undangan dibuat"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Undangan tidak tersedia"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Undangan dibatalkan"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Buat kelompok"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
msgid "Circle created"
|
||||
msgstr "Kelompok dibuat"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Pilih pengguna"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Memperbarui kelompok"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Hapus kelompok secara permanen"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Tambah pengguna"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
msgid "No such circle exists"
|
||||
msgstr "Kelompok tersebut tidak ada"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
msgid "Circle data updated"
|
||||
msgstr "Data kelompok diperbarui"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
msgid "Circle deleted"
|
||||
msgstr "Kelompok dihapus"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
msgid "User added to circle"
|
||||
msgstr "Pengguna ditambahkan ke kelompok"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
msgid "User removed from circle"
|
||||
msgstr "Pengguna dihapus dari kelompok"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Utama"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Nama pengguna"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Kata sandi harus cocok"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Buat akun"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Nama pengguna itu sudah dipakai"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Nama pengguna tidak valid"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Ganti kata sandi"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Alamat"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Masuk"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nama pengguna atau kata sandi salah."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr "Login berhasil!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Kata sandi sekarang"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "Kata sandi baru"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Kata sandi baru harus cocok"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Keluar"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Tak seorangpun"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Hanya teman"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Semua orang"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nama tampilan"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Gambar profil"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilitas profil"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Perbaharui profil"
|
||||
msgstr "Perbarui profil"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Kata sandi salah"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
msgid "Password changed"
|
||||
msgstr "Kata sandi diganti"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil diperbarui"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "<a href=\"%(about_url)s\">Layanan</a> Snikket"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"“Snikket” dan logo burung beo adalah merek dagang dari Snikket Community "
|
||||
"Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "Tentang Snikket"
|
||||
|
||||
@@ -271,10 +339,26 @@ msgstr ""
|
||||
"href=\"%(apache20_url)s\">Lisensi Apache 2.0</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr "Merek dagang"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"“Snikket” dan logo burung beo adalah merek dagang dari Snikket Community "
|
||||
"Interest Company. Untuk informasi lebih lanjut tentang merek dagang, "
|
||||
"kunjungi <a href=\"%(trademarks_url)s\">halaman informasi merek dagang "
|
||||
"Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Versi perangkat lunak"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Kembali ke halaman depan"
|
||||
|
||||
@@ -373,7 +457,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Informasi debug untuk %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Peringatan"
|
||||
|
||||
@@ -426,9 +510,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Kembali"
|
||||
|
||||
@@ -505,7 +589,6 @@ msgid "View invitation"
|
||||
msgstr "Lihat undangan"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Valid hingga"
|
||||
@@ -602,6 +685,10 @@ msgstr "Keluar panel administrator"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Undangan menunggu jawaban"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr "Kadaluarsa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Jenis"
|
||||
@@ -685,7 +772,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "Portal web mengalami kesalahan internal."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Undang ke %(site_name)s"
|
||||
@@ -693,7 +780,7 @@ msgstr "Undang ke %(site_name)s"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Didukung oleh <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -740,18 +827,18 @@ msgstr ""
|
||||
"menggunakan aplikasi dengan mengklik tombol di bawah ini:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "Aplikasi sudah dipasang?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "Buka aplikasi"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Tombol ini hanya berfungsi jika Anda sudah memasang aplikasinya!"
|
||||
|
||||
@@ -827,8 +914,8 @@ msgid ""
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
msgstr ""
|
||||
"Halaman ini memungkinkan Anda untuk mengatur ulang kata sandi akun, "
|
||||
"<strong>%(account_jid)s</strong>, sekali."
|
||||
"Halaman ini memungkinkan Anda untuk mengatur ulang kata sandi akun, <strong>"
|
||||
"%(account_jid)s</strong>, sekali."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:17
|
||||
msgid "Using the app"
|
||||
@@ -849,7 +936,7 @@ msgstr ""
|
||||
"tombol Pindai di bagian atas."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -864,7 +951,7 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr "Anda akan diminta untuk memasukkan kata sandi baru untuk akun Anda."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatif"
|
||||
|
||||
@@ -910,7 +997,7 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Mengundang ke %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
@@ -919,7 +1006,7 @@ msgstr ""
|
||||
"Anda diundang untuk bercakap-cakap dengan %(inviter_name)s menggunakan "
|
||||
"Snikket, aplikasi percakapan yang aman dan ramah privasi di %(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
@@ -928,15 +1015,15 @@ msgstr ""
|
||||
"Anda telah diundang untuk bercakap-cakap di %(site_name)s menggunakan "
|
||||
"Snikket, aplikasi percakapan yang aman dan ramah privasi."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Mulailah"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Instal Snikket di perangkat Android atau iOS Anda."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
@@ -945,19 +1032,19 @@ msgstr ""
|
||||
"Instal aplikasi Snikket di perangkat Android anda (<a href=\"%(ios_info_url)s"
|
||||
"\" rel=\"noopener noreferrer\" target=\"_blank\">iOS segera tersedia!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Dapatkan di Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Unduh di App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Bukan di ponsel?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Dikirim ke telepon seluler"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -965,7 +1052,7 @@ msgstr ""
|
||||
"Setelah instalasi, aplikasi akan terbuka otomatis dan meminta Anda untuk "
|
||||
"membuat akun. Jika tidak, cukup klik tombol di bawah."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -976,16 +1063,16 @@ msgstr ""
|
||||
"XMPP. Jika tombol di atas tidak berfungsi dengan aplikasi, Anda mungkin "
|
||||
"perlu <a href=\"%(register_url)s\">mendaftarkan akun secara manual</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Pindai kode undangan"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -994,22 +1081,22 @@ msgstr ""
|
||||
"kode dengan kamera. Anda dapat menggunakan aplikasi pemindai QR atau "
|
||||
"aplikasi Snikket."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Menggunakan pemindai kode QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Menggunakan Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Gunakan pemindai <em>kode QR</em> di perangkat seluler Anda untuk memindai "
|
||||
"kode di bawah:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1050,6 +1137,27 @@ msgstr "Ketik alamat Snikket dan kata sandinya untuk mengelola akun anda."
|
||||
msgid "Login failed"
|
||||
msgstr "Percobaan masuk gagal"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
msgid "Incorrect address"
|
||||
msgstr "Alamat salah"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Layanan Snikket ini hanya menghosting alamat yang diakhiri dengan "
|
||||
"<em>@%(snikket_domain)s</em>. Kata sandi Anda tidak terkirim."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr "Operasi berhasil"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr "Kesalahan"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Selamat datang!"
|
||||
@@ -1083,11 +1191,11 @@ msgstr "Kelola pengguna, undangan dan kelompok pengguna layanan Snikket."
|
||||
msgid "Admin panel"
|
||||
msgstr "Panel Administrator"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Keluar dari Portal Web Snikket"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1095,11 +1203,11 @@ msgstr ""
|
||||
"Klik tombol untuk keluar dari portal web. Ini tidak mempengaruhi perangkat "
|
||||
"lain yang terhubung."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Ganti kata sandi anda"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1109,7 +1217,7 @@ msgstr ""
|
||||
"baru. Untuk mengurangi kemungkinan salah ketik, kami meminta anda mengetik "
|
||||
"sandi baru dua kali."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
@@ -1117,19 +1225,19 @@ msgstr ""
|
||||
"Sesudah penggantian kata sandi, anda perlu memasukkan kata sandi baru ke "
|
||||
"semua perangkat anda."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Perbaharui profil anda"
|
||||
msgstr "Perbarui profil anda"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilitas"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1137,6 +1245,9 @@ msgstr ""
|
||||
"Bagian ini memungkinkan Anda untuk mengontrol siapa yang bisa melihat profil "
|
||||
"Anda, seperti avatar dan nama panggilan."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Bukan di ponsel?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edit pengguna %(user_name)s"
|
||||
|
||||
@@ -1223,6 +1334,3 @@ msgstr ""
|
||||
|
||||
#~ msgid "Copy operation failed"
|
||||
#~ msgstr "Proses penyalinan gagal"
|
||||
|
||||
#~ msgid "Password change failed"
|
||||
#~ msgstr "Gagal mengganti kata kunci"
|
||||
|
||||
@@ -7,14 +7,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"Last-Translator: riccio <unriccio@email.it>\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: Roberto Resoli <roberto@resolutions.it>\n"
|
||||
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/it/>\n"
|
||||
"Language: it\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"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
@@ -24,202 +24,270 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Elimina definitivamente l'utente"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr "Utente rimosso"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
msgid "Password reset link created"
|
||||
msgstr "Creato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Eliminato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invita nella cerchia"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Devi selezionare almeno una cerchia"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Valido per"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "Un'ora"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dodici ore"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "Un giorno"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "Una settimana"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Quattro settimane"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Tipo di invito"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuale"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppo"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "Nuovo collegamento di invito"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Revoca"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
msgid "Invitation created"
|
||||
msgstr "Invito creato"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Questo invito non esiste"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invito revocato"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Crea cerchia"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
msgid "Circle created"
|
||||
msgstr "Cerchia creata"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Seleziona utente"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Modifica cerchia"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Elimina cerchia definitivamente"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Aggiungi utente"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
msgid "No such circle exists"
|
||||
msgstr "Questa cerchia non esiste"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
msgid "Circle data updated"
|
||||
msgstr "Dati della cerchia aggiornati"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
msgid "Circle deleted"
|
||||
msgstr "Cerchia eliminata"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
msgid "User added to circle"
|
||||
msgstr "Utente aggiunto alla cerchia"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
msgid "User removed from circle"
|
||||
msgstr "Utente rimosso dalla cerchia"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Principale"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Conferma password"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Le password devono essere identiche"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Crea utenza"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Nome utente già in uso"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "Registrazione rifiutata per motivi sconosciuti"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Nome utente non valido"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Cambia password"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Indirizzo"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nome utente o password non validi."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr "Accesso riuscito!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Password attuale"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "Nuova password"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Conferma nuova password"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Le nuove password devono essere identiche"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Esci"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Nessuno"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Solo amici"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Chiunque"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilità del profilo"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Modifica profilo"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Password errata"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
msgid "Password changed"
|
||||
msgstr "Password cambiata"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilo aggiornato"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "Un servizio <a href=\"%(about_url)s\">Snikket</a>"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"“Snikket” e il logo del pappagallo sono marchi registrati della Snikket "
|
||||
"Community Interest Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "A proposito di Snikket"
|
||||
|
||||
#: snikket_web/templates/about.html:10
|
||||
#, python-format
|
||||
msgid ""
|
||||
"To learn more about Snikket, visit the <a "
|
||||
"href=\"%(snikket_url)s\">Snikket website</a>."
|
||||
"To learn more about Snikket, visit the <a href=\"%(snikket_url)s\">Snikket "
|
||||
"website</a>."
|
||||
msgstr ""
|
||||
"Per saperne di più su Snikket, visita il <a href=\"%(snikket_url)s\">sito "
|
||||
"web di Snikket</a>."
|
||||
@@ -240,21 +308,21 @@ msgstr "Licenze"
|
||||
#: snikket_web/templates/about.html:14
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The web portal software is licensed under the terms of the <a "
|
||||
"href=\"%(agpl_url)s\">Affero GNU General Public License, version 3.0 or "
|
||||
"later</a>. The full terms of the license can be reviewed using the "
|
||||
"aforementioned link."
|
||||
"The web portal software is licensed under the terms of the <a href="
|
||||
"\"%(agpl_url)s\">Affero GNU General Public License, version 3.0 or later</"
|
||||
"a>. The full terms of the license can be reviewed using the aforementioned "
|
||||
"link."
|
||||
msgstr ""
|
||||
"Il portale web è fornito secondo i termini della licenza <a href=\""
|
||||
"%(agpl_url)s\">Affero GNU General Public License, versione 3.0 o successive</"
|
||||
"a>. I termini completi di licenza possono essere visionati seguendo il "
|
||||
"collegamento."
|
||||
"Il portale web è fornito secondo i termini della licenza <a href="
|
||||
"\"%(agpl_url)s\">Affero GNU General Public License, versione 3.0 o "
|
||||
"successive</a>. I termini completi di licenza possono essere visionati "
|
||||
"seguendo il collegamento."
|
||||
|
||||
#: snikket_web/templates/about.html:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The source code of the web portal can be downloaded and viewed in <a "
|
||||
"href=\"%(source_url)s\">its GitHub repository</a>."
|
||||
"The source code of the web portal can be downloaded and viewed in <a href="
|
||||
"\"%(source_url)s\">its GitHub repository</a>."
|
||||
msgstr ""
|
||||
"Il codice sorgente del portale web può essere scaricato e visionato nell'<a "
|
||||
"href=\"%(source_url)s\">archivio GitHub</a>."
|
||||
@@ -263,18 +331,33 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The icons used in the web portal are <a href=\"%(source_url)s\">Google’s "
|
||||
"Material Icons</a>, made available by Google under the terms of the <a "
|
||||
"href=\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
"Material Icons</a>, made available by Google under the terms of the <a href="
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
msgstr ""
|
||||
"Le icone usate dal portale web sono le <a href=\"%(source_url)s\">Google’s "
|
||||
"Material Icons</a>, rilasciate da Google secondo i termini della <a href=\""
|
||||
"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
"Material Icons</a>, rilasciate da Google secondo i termini della <a href="
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr "Marchi registrati"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" e il logo del pappagallo sono marchi di Snikket Community "
|
||||
"Interest Company. Per maggiori informazioni sui marchi, visita la <a href=\""
|
||||
"%(trademarks_url)s\">pagina informativa sui marchi Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Versioni dei programmi"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Torna alla pagina principale"
|
||||
|
||||
@@ -289,17 +372,17 @@ msgstr "Gestisci cerchie"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:5
|
||||
msgid ""
|
||||
"<em>Circles</em> aim to help people who are in the same social circle "
|
||||
"find each other on your service."
|
||||
"<em>Circles</em> aim to help people who are in the same social circle find "
|
||||
"each other on your service."
|
||||
msgstr ""
|
||||
"Lo scopo delle <em>cerchie</em> è di aiutare le persone appartenenti agli "
|
||||
"stessi gruppi a trovarsi all'interno del vostro servizio."
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:6
|
||||
msgid ""
|
||||
"Users who are in the same circle will see each other in their contact "
|
||||
"list. In addition, each circle has a group chat where the circle members "
|
||||
"are included."
|
||||
"Users who are in the same circle will see each other in their contact list. "
|
||||
"In addition, each circle has a group chat where the circle members are "
|
||||
"included."
|
||||
msgstr ""
|
||||
"Gli utenti che appartengono alla stessa cerchia possono vedersi nelle "
|
||||
"rispettive liste contatti. Inoltre, ogni cerchia ha una chat di gruppo che "
|
||||
@@ -361,8 +444,8 @@ msgstr "Crea nuovo invito"
|
||||
|
||||
#: snikket_web/templates/admin_create_invite_form.html:6
|
||||
msgid ""
|
||||
"Create a new invitation link to invite more users to your Snikket service"
|
||||
" by clicking the button below."
|
||||
"Create a new invitation link to invite more users to your Snikket service by "
|
||||
"clicking the button below."
|
||||
msgstr ""
|
||||
"Crea un nuovo collegamento di invito per invitare altri utenti al vostro "
|
||||
"servizio Snikket cliccando il pulsante sottostante."
|
||||
@@ -373,7 +456,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Informazioni diagnostiche per %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Attenzione"
|
||||
|
||||
@@ -415,8 +498,8 @@ msgstr "Pericolo"
|
||||
#: snikket_web/templates/admin_delete_user.html:16
|
||||
msgid ""
|
||||
"The user and their data will be deleted irrevocably, permanently and "
|
||||
"immediately upon pushing the below button. <strong>There is no way "
|
||||
"back!</strong>"
|
||||
"immediately upon pushing the below button. <strong>There is no way back!</"
|
||||
"strong>"
|
||||
msgstr ""
|
||||
"L'utenza e i relativi dati verranno eliminati in modo permanente ed "
|
||||
"irreversibile non appena verrà premuto il pulsante sottostante. <strong>Non "
|
||||
@@ -426,9 +509,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
@@ -504,7 +587,6 @@ msgid "View invitation"
|
||||
msgstr "Visualizza invito"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Valido fino"
|
||||
@@ -520,7 +602,8 @@ msgid "Circles"
|
||||
msgstr "Cerchie"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:23
|
||||
msgid "Users joining via this invitation will be added to the following circles:"
|
||||
msgid ""
|
||||
"Users joining via this invitation will be added to the following circles:"
|
||||
msgstr ""
|
||||
"Gli utenti che si iscrivono attraverso questo invito saranno aggiunti alle "
|
||||
"seguenti cerchie:"
|
||||
@@ -599,6 +682,10 @@ msgstr "Esci dal pannello amministrativo"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Inviti in attesa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr "Scade"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
@@ -682,7 +769,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "Il portale web ha ricevuto un errore interno."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Invito a %(site_name)s"
|
||||
@@ -690,7 +777,7 @@ msgstr "Invito a %(site_name)s"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Gestito con <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -726,10 +813,10 @@ msgstr "Crea un'utenza"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:13
|
||||
msgid ""
|
||||
"Creating an account will allow to communicate with other people using the"
|
||||
" Snikket app or compatible software. If you already have the app "
|
||||
"installed, we recommend that you continue the account creation process "
|
||||
"inside the app by clicking on the button below:"
|
||||
"Creating an account will allow to communicate with other people using the "
|
||||
"Snikket app or compatible software. If you already have the app installed, "
|
||||
"we recommend that you continue the account creation process inside the app "
|
||||
"by clicking on the button below:"
|
||||
msgstr ""
|
||||
"La creazione di un'utenza permette di comunicare con persone che usano "
|
||||
"Snikket o altri programmi compatibili. Se hai già installato l'applicazione "
|
||||
@@ -737,20 +824,21 @@ msgstr ""
|
||||
"sottostante:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "Applicazione già installata?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "Apri l'applicazione"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Questo pulsante funziona soltanto se hai già installato l'applicazione!"
|
||||
msgstr ""
|
||||
"Questo pulsante funziona soltanto se hai già installato l'applicazione!"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:19
|
||||
msgid "Create an account online"
|
||||
@@ -758,8 +846,8 @@ msgstr "Crea un'utenza online"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:20
|
||||
msgid ""
|
||||
"If you plan to use a legacy XMPP client, you can register an account "
|
||||
"online and enter your credentials into any XMPP-compatible software."
|
||||
"If you plan to use a legacy XMPP client, you can register an account online "
|
||||
"and enter your credentials into any XMPP-compatible software."
|
||||
msgstr ""
|
||||
"Se prevedi di usare un altro client XMPP, puoi creare un'utenza online e "
|
||||
"successivamente inserire le credenziali in qualunque programma compatibile "
|
||||
@@ -767,8 +855,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:27
|
||||
msgid ""
|
||||
"Choose a username, this will become the first part of your new chat "
|
||||
"address."
|
||||
"Choose a username, this will become the first part of your new chat address."
|
||||
msgstr ""
|
||||
"Scegli un nome utente, che diventerà la prima parte del tuo nuovo indirizzo."
|
||||
|
||||
@@ -787,8 +874,8 @@ msgstr "Reimposta la tua password online"
|
||||
|
||||
#: snikket_web/templates/invite_reset.html:16
|
||||
msgid ""
|
||||
"To reset your password online, fill out the fields below and confirm "
|
||||
"using the button."
|
||||
"To reset your password online, fill out the fields below and confirm using "
|
||||
"the button."
|
||||
msgstr ""
|
||||
"Compila i campi sottostanti e premi il pulsante di conferma per reimpostare "
|
||||
"la tua password online."
|
||||
@@ -821,8 +908,8 @@ msgstr "Reimposta la tua password"
|
||||
#: snikket_web/templates/invite_reset_view.html:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This page allows you to reset the password of your account, "
|
||||
"<strong>%(account_jid)s</strong>, once."
|
||||
"This page allows you to reset the password of your account, <strong>"
|
||||
"%(account_jid)s</strong>, once."
|
||||
msgstr ""
|
||||
"Questa pagina ti permette di reimpostare la password della tua utenza, "
|
||||
"<strong>%(account_jid)s</strong>, una volta soltanto."
|
||||
@@ -839,14 +926,14 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:25
|
||||
msgid ""
|
||||
"Alternatively, you can scan the below code with the Snikket App using the"
|
||||
" Scan button at the top."
|
||||
"Alternatively, you can scan the below code with the Snikket App using the "
|
||||
"Scan button at the top."
|
||||
msgstr ""
|
||||
"In alternativa, puoi scansionare il codice sottostante con l'applicazione "
|
||||
"Snikket utilizzando il pulsante di scansione in alto."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -861,15 +948,15 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr "Ti verrà richiesto di inserire una nuova password per la tua utenza."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternative"
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:30
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can also <a href=\"%(reset_url)s\">reset your password online</a> if "
|
||||
"the above button or scanning the QR code does not work for you."
|
||||
"You can also <a href=\"%(reset_url)s\">reset your password online</a> if the "
|
||||
"above button or scanning the QR code does not work for you."
|
||||
msgstr ""
|
||||
"Puoi anche <a href=\"%(reset_url)s\">reimpostare la password online</a> se "
|
||||
"hai difficoltà con il pulsante o con il QR code."
|
||||
@@ -886,7 +973,8 @@ msgstr "Registrata/o con successo su %(site_name)s"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:12
|
||||
#, python-format
|
||||
msgid "Congratulations! You successfully registered on %(site_name)s as %(jid)s."
|
||||
msgid ""
|
||||
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
|
||||
msgstr ""
|
||||
"Congratulazioni! Ti sei registrata/o con successo su %(site_name)s come "
|
||||
"%(jid)s."
|
||||
@@ -897,8 +985,8 @@ msgstr "Il tuo indirizzo"
|
||||
|
||||
#: snikket_web/templates/invite_success.html:17
|
||||
msgid ""
|
||||
"You can now set up your legacy XMPP client with the above address and the"
|
||||
" password you chose during registration."
|
||||
"You can now set up your legacy XMPP client with the above address and the "
|
||||
"password you chose during registration."
|
||||
msgstr ""
|
||||
"Ora puoi impostare il tuo client XMPP con l'indirizzo mostrato sopra e la "
|
||||
"password che hai impostato durante la registrazione."
|
||||
@@ -908,17 +996,17 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Invito a %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a "
|
||||
"secure, privacy-friendly chat app on %(site_name)s."
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
msgstr ""
|
||||
"Sei stata/o invitato a comunicare con %(inviter_name)s attraverso Snikket, "
|
||||
"un programma di chat sicuro e rispettoso della vostra privacy su "
|
||||
"%(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
@@ -927,38 +1015,37 @@ msgstr ""
|
||||
"Sei stata/o invitato a comunicare su %(site_name)s attraverso Snikket, un "
|
||||
"programma di chat sicuro e rispettoso della vostra privacy."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Inizia"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr "Installa l'applicazione Snikket sul tuo dispositivo Android o iOS."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a "
|
||||
"href=\"%(ios_info_url)s\" rel=\"noopener noreferrer\" "
|
||||
"target=\"_blank\">iOS coming soon!</a>)."
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
"Installa l'applicazione Snikket sul tuo dispositivo Android (<a href=\""
|
||||
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">a breve "
|
||||
"Installa l'applicazione Snikket sul tuo dispositivo Android (<a href="
|
||||
"\"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">a breve "
|
||||
"anche su iOS!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Scarica da Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Scarica dall'App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Nessun dispositivo mobile?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Invia a dispositivo mobile"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -967,56 +1054,54 @@ msgstr ""
|
||||
"automaticamente chiedendo di creare un'utenza. Se non succede premi il "
|
||||
"pulsante sottostante."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the "
|
||||
"button above does not work with your app, you may need to <a "
|
||||
"href=\"%(register_url)s\">register an account manually</a>."
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
"above does not work with your app, you may need to <a href=\"%(register_url)s"
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
"Puoi collegarti a Snikket con qualunque programma compatibile con XMPP. Se "
|
||||
"il pulsante sopra non funziona potresti dover <a href=\"%(register_url)s\""
|
||||
">registrare l'utenza manualmente</a>."
|
||||
"il pulsante sopra non funziona potresti dover <a href=\"%(register_url)s"
|
||||
"\">registrare l'utenza manualmente</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scansiona il codice di invito"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code "
|
||||
"with your camera. You can use either a QR scanner app or the Snikket app "
|
||||
"itself."
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
"Puoi aprire questo invito sul tuo dispositivo mobile scansionando il codice "
|
||||
"con la fotocamera. Puoi usare un lettore di codici QR o l'applicazione "
|
||||
"Snikket stessa."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Usa un lettore di codici QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Usa l'applicazione Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
"below:"
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Usa un lettore di <em>codici QR</em> sul tuo dispositivo mobile per "
|
||||
"scansionare il seguente codice:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the "
|
||||
"'Scan' button at the top."
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
"Installa l'applicazione Snikket sul tuo dispositivo mobile, aprila e poi "
|
||||
"premi il pulsante di scansione in alto."
|
||||
@@ -1057,6 +1142,27 @@ msgstr ""
|
||||
msgid "Login failed"
|
||||
msgstr "Accesso non riuscito"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
msgid "Incorrect address"
|
||||
msgstr "Indirizzo errato"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Questo servizio Snikket ospita solo indirizzi che terminano in "
|
||||
"<em>@%(snikket_domain)s</em>. La tua password non è stata inviata."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr "Operazione completata"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Benvenuta/o!"
|
||||
@@ -1090,56 +1196,59 @@ msgstr "Gestisci utenti, inviti e cerchie del tuo servizio Snikket."
|
||||
msgid "Admin panel"
|
||||
msgstr "Pannello amministrativo"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Esci dal Portale Web Snikket"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect "
|
||||
"any other connected devices."
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
msgstr ""
|
||||
"Premi il pulsante sottostante per uscire dal portale web. Non ha effetto "
|
||||
"sugli altri dispositivi collegati."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Modifica la tua password"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well"
|
||||
" as the new one. To reduce the chance of typos, we ask for your new "
|
||||
"password twice."
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
"twice."
|
||||
msgstr ""
|
||||
"Per cambiare la password devi inserire la password attuale e quella nuova. "
|
||||
"Per diminuire il rischio di errori ti chiediamo di inserire la nuova "
|
||||
"password due volte."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on "
|
||||
"all of your devices."
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
msgstr ""
|
||||
"Dopo aver cambiato la password dovrai reinserirla in tutti i tuoi "
|
||||
"dispositivi."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Modifica il tuo profilo"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profilo"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilità"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
msgstr ""
|
||||
"Questa sezione ti permette di controllare chi può visualizzare i dettagli "
|
||||
"del tuo profilo, come ad esempio l'avatar o il soprannome."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Nessun dispositivo mobile?"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-01-28 17:55+0000\n"
|
||||
"Last-Translator: pep <pep@bouah.net>\n"
|
||||
"Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
@@ -24,194 +24,286 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "ユーザーを削除する"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "サークルを選択してください"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "有効期限"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "一時間"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "12時間"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "一日"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "一週間"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "4週間"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "一回"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "複数回"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "取り消す"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "名"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "サークルを作成"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "ユーザー選択"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "サークルを更新"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "サークルを削除"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "ユーザーを追加する"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "なし"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "Circle members"
|
||||
msgid "Circle deleted"
|
||||
msgstr "サークル会員"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "%(username)s をサークルから外す"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "第一サークル"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "ユーザー名"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "確認用パスワード"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "確認用パスワードが一致しません"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "アカウント作成"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "このユーザー名は存在しています"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "理由不明の登録エラー"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "ユーザー名が不正"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "パスワード変更"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "アドレス"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "サインイン"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "ユーザー名またはパスワードが不正。"
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "現在のパスワード"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "新しいパスワード"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "新しいパスワードの確認"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "新しいパスワードが不一致"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "サインアウト"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "コンタクト限定"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "全員"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "表示名"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "アバター"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "プロファイル管理"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "パスワード不正"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "パスワード再設定"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "プロファイル"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "Snikketについて"
|
||||
|
||||
@@ -262,10 +354,22 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "ソフトウェアバーション"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "戻る"
|
||||
|
||||
@@ -355,7 +459,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
@@ -407,9 +511,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "戻る"
|
||||
|
||||
@@ -483,7 +587,6 @@ msgid "View invitation"
|
||||
msgstr "紹介状表示"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "有効期限"
|
||||
@@ -588,6 +691,10 @@ msgstr ""
|
||||
msgid "Pending invitations"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "種類"
|
||||
@@ -669,7 +776,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "%(site_name)s に紹介する"
|
||||
@@ -677,7 +784,7 @@ msgstr "%(site_name)s に紹介する"
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Powered by <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -720,18 +827,18 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -824,7 +931,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -836,7 +943,7 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -881,54 +988,54 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "%(site_name)s に紹介 | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app on %(site_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -936,35 +1043,35 @@ msgid ""
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "紹介状をスキャン"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "閉める"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1002,6 +1109,27 @@ msgstr ""
|
||||
msgid "Login failed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "パスワード不正"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "ようこそ!"
|
||||
@@ -1045,48 +1173,48 @@ msgstr ""
|
||||
msgid "Admin panel"
|
||||
msgstr "管理"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Snikket ホームページからログアウト"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "パスワード変更"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
"twice."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Update profile"
|
||||
msgid "Update your profile"
|
||||
msgstr "プロファイル管理"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "プロファイル"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"POT-Creation-Date: 2021-03-20 12:56+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -21,194 +21,270 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
msgid "Password reset link created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
msgid "Invitation created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
msgid "No such invitation exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
msgid "Invitation revoked"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
msgid "Circle created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
msgid "No such circle exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
msgid "Circle data updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
msgid "Circle deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
msgid "User added to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
msgid "User removed from circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:190 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:29
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:34
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:39
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:43
|
||||
msgid "The new passwords must match"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:50
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Friends only"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:57
|
||||
msgid "Everyone"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:63
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:67
|
||||
msgid "Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:71
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:76
|
||||
msgid "Update profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:101
|
||||
msgid "Incorrect password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:105
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:113
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please"
|
||||
" use the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:161
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:169
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community "
|
||||
"Interest Company."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr ""
|
||||
|
||||
@@ -257,10 +333,22 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community "
|
||||
"Interest Company. For more information about the trademarks, visit the <a"
|
||||
" href=\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr ""
|
||||
|
||||
@@ -350,7 +438,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
@@ -400,9 +488,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
@@ -476,7 +564,6 @@ msgid "View invitation"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr ""
|
||||
@@ -568,6 +655,10 @@ msgstr ""
|
||||
msgid "Pending invitations"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
@@ -649,7 +740,7 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr ""
|
||||
@@ -657,7 +748,7 @@ msgstr ""
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr ""
|
||||
@@ -698,18 +789,18 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -795,7 +886,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -807,7 +898,7 @@ msgid "You will then be prompted to enter a new password for your account."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -848,29 +939,29 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a "
|
||||
"secure, privacy-friendly chat app on %(site_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a "
|
||||
@@ -878,25 +969,25 @@ msgid ""
|
||||
"target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the "
|
||||
@@ -904,37 +995,37 @@ msgid ""
|
||||
"href=\"%(register_url)s\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code "
|
||||
"with your camera. You can use either a QR scanner app or the Snikket app "
|
||||
"itself."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
"below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the "
|
||||
"'Scan' button at the top."
|
||||
@@ -972,6 +1063,21 @@ msgstr ""
|
||||
msgid "Login failed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
msgid "Incorrect address"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in "
|
||||
"<em>@%(snikket_domain)s</em>. Your password was not sent."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr ""
|
||||
@@ -1005,46 +1111,46 @@ msgstr ""
|
||||
msgid "Admin panel"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect "
|
||||
"any other connected devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well"
|
||||
" as the new one. To reduce the chance of typos, we ask for your new "
|
||||
"password twice."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on "
|
||||
"all of your devices."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-01-30 12:45+0100\n"
|
||||
"PO-Revision-Date: 2021-01-31 12:54+0000\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-25 16:02+0000\n"
|
||||
"Last-Translator: misiek <migelazur@mailbox.org>\n"
|
||||
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/pl/>\n"
|
||||
@@ -25,194 +25,262 @@ msgstr ""
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Usuń użytkownika bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:129
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
msgstr "Użytkownik został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
msgid "Password reset link created"
|
||||
msgstr "Utworzono link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Usunięto link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr "Zaproś do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:135
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Należy wybrać przynajmniej jeden krąg"
|
||||
|
||||
#: snikket_web/admin.py:140
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr "Ważne przez"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
msgstr "Godzinę"
|
||||
|
||||
#: snikket_web/admin.py:143
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dwanaście godzin"
|
||||
|
||||
#: snikket_web/admin.py:144
|
||||
#: snikket_web/admin.py:156
|
||||
msgid "One day"
|
||||
msgstr "Dzień"
|
||||
|
||||
#: snikket_web/admin.py:145
|
||||
#: snikket_web/admin.py:157
|
||||
msgid "One week"
|
||||
msgstr "Tydzień"
|
||||
|
||||
#: snikket_web/admin.py:146
|
||||
#: snikket_web/admin.py:158
|
||||
msgid "Four weeks"
|
||||
msgstr "Cztery tygodnie"
|
||||
|
||||
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Typ zaproszenia"
|
||||
|
||||
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Indywidualne"
|
||||
|
||||
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grupowe"
|
||||
|
||||
#: snikket_web/admin.py:161
|
||||
#: snikket_web/admin.py:173
|
||||
msgid "New invitation link"
|
||||
msgstr "Nowy link z zaproszeniem"
|
||||
|
||||
#: snikket_web/admin.py:223
|
||||
#: snikket_web/admin.py:235
|
||||
msgid "Revoke"
|
||||
msgstr "Unieważnij"
|
||||
|
||||
#: snikket_web/admin.py:283 snikket_web/admin.py:327
|
||||
#: snikket_web/admin.py:259
|
||||
msgid "Invitation created"
|
||||
msgstr "Utworzono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Takie zaproszenie nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Unieważniono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: snikket_web/admin.py:288 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Utwórz krąg"
|
||||
|
||||
#: snikket_web/admin.py:332
|
||||
#: snikket_web/admin.py:342
|
||||
msgid "Circle created"
|
||||
msgstr "Utworzono krąg"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
msgid "Select user"
|
||||
msgstr "Wybierz użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:337
|
||||
#: snikket_web/admin.py:365
|
||||
msgid "Update circle"
|
||||
msgstr "Zaktualizuj ustawienia kręgu"
|
||||
|
||||
#: snikket_web/admin.py:341
|
||||
#: snikket_web/admin.py:369
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Usuń krąg bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:347
|
||||
#: snikket_web/admin.py:375
|
||||
msgid "Add user"
|
||||
msgstr "Dodaj użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
msgid "No such circle exists"
|
||||
msgstr "Taki krąg nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
msgid "Circle data updated"
|
||||
msgstr "Zaktualizowano dane kręgu"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
msgid "Circle deleted"
|
||||
msgstr "Krąg został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
msgid "User added to circle"
|
||||
msgstr "Dodano użytkownika do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
msgid "User removed from circle"
|
||||
msgstr "Usunięto użytkownika z kręgu"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
msgid "Main"
|
||||
msgstr "Główny"
|
||||
|
||||
#: snikket_web/invite.py:93
|
||||
#: snikket_web/invite.py:104
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
#: snikket_web/invite.py:97 snikket_web/invite.py:164 snikket_web/main.py:41
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: snikket_web/invite.py:101 snikket_web/invite.py:168
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
msgid "Confirm password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: snikket_web/invite.py:105 snikket_web/invite.py:172
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Hasła muszą się zgadzać"
|
||||
|
||||
#: snikket_web/invite.py:110
|
||||
#: snikket_web/invite.py:121
|
||||
msgid "Create account"
|
||||
msgstr "Utwórz konto"
|
||||
|
||||
#: snikket_web/invite.py:137
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Ta nazwa użytkownika jest już zajęta"
|
||||
|
||||
#: snikket_web/invite.py:141 snikket_web/invite.py:205
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
msgstr "Z nieznanych przyczyn rejestracja została odrzucona"
|
||||
|
||||
#: snikket_web/invite.py:145
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Ta nazwa użytkownika jest nieprawidłowa"
|
||||
|
||||
#: snikket_web/invite.py:177 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:32
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.html:32
|
||||
#: snikket_web/templates/user_passwd.html:29
|
||||
msgid "Change password"
|
||||
msgstr "Zmień hasło"
|
||||
|
||||
#: snikket_web/main.py:36
|
||||
#: snikket_web/main.py:37
|
||||
msgid "Address"
|
||||
msgstr "Adres"
|
||||
|
||||
#: snikket_web/main.py:46
|
||||
#: snikket_web/main.py:47
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: snikket_web/main.py:72
|
||||
#: snikket_web/main.py:56
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
|
||||
|
||||
#: snikket_web/user.py:21
|
||||
#: snikket_web/main.py:84
|
||||
msgid "Login successful!"
|
||||
msgstr "Zalogowano się pomyślnie!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
msgid "Current password"
|
||||
msgstr "Obecne hasło"
|
||||
|
||||
#: snikket_web/user.py:26
|
||||
#: snikket_web/user.py:33
|
||||
msgid "New password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:31
|
||||
#: snikket_web/user.py:38
|
||||
msgid "Confirm new password"
|
||||
msgstr "Potwierdź nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:35
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Nowe hasła muszą się zgadzać"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
#: snikket_web/user.py:49
|
||||
msgid "Sign out"
|
||||
msgstr "Wyloguj się"
|
||||
|
||||
#: snikket_web/user.py:47
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Nobody"
|
||||
msgstr "Nikt"
|
||||
|
||||
#: snikket_web/user.py:48
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Friends only"
|
||||
msgstr "Tylko znajomi"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:56
|
||||
msgid "Everyone"
|
||||
msgstr "Wszyscy"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#: snikket_web/user.py:59
|
||||
#: snikket_web/user.py:66
|
||||
msgid "Avatar"
|
||||
msgstr "Awatar"
|
||||
|
||||
#: snikket_web/user.py:63
|
||||
#: snikket_web/user.py:70
|
||||
msgid "Profile visibility"
|
||||
msgstr "Widoczność profilu"
|
||||
|
||||
#: snikket_web/user.py:68
|
||||
#: snikket_web/user.py:75
|
||||
msgid "Update profile"
|
||||
msgstr "Zaktualizuj profil"
|
||||
|
||||
#: snikket_web/user.py:93
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Nieprawidłowe hasło"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
|
||||
#: snikket_web/user.py:104
|
||||
msgid "Password changed"
|
||||
msgstr "Hasło zostało zmienione"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
msgid "Profile updated"
|
||||
msgstr "Zaktualizowano profil"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
msgstr "Serwer <a href=\"%(about_url)s\">Snikket</a>"
|
||||
|
||||
#: snikket_web/templates/about.html:9
|
||||
#: snikket_web/templates/_footer.html:6
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"\"Snikket\" oraz logo papugi są znakami firmowymi Snikket Community Interest "
|
||||
"Company."
|
||||
|
||||
#: snikket_web/templates/about.html:4 snikket_web/templates/about.html:9
|
||||
msgid "About Snikket"
|
||||
msgstr "O Snikket"
|
||||
|
||||
@@ -268,14 +336,29 @@ msgid ""
|
||||
"\"%(apache20_url)s\">Apache 2.0 License</a>."
|
||||
msgstr ""
|
||||
"Ikony wykorzystane w portalu to <a href=\"%(source_url)s\">Google’s Material "
|
||||
"Icons</a>, udostępnione przez Google na warunkach licencji<a href="
|
||||
"Icons</a>, udostępnione przez Google na warunkach licencji <a href="
|
||||
"\"%(apache20_url)s\">Apache 2.0</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr "Znaki firmowe"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"\"Snikket\" oraz logo papugi są znakami firmowymi Snikket Community Interest "
|
||||
"Company. Więcej informacji o oznaczeniach znajdziesz na <a href=\""
|
||||
"%(trademarks_url)s\">stronie o znakach firmowych Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
msgstr "Wersje oprogramowania"
|
||||
|
||||
#: snikket_web/templates/about.html:27
|
||||
#: snikket_web/templates/about.html:29
|
||||
msgid "Back to the main page"
|
||||
msgstr "Wróć do strony głównej"
|
||||
|
||||
@@ -374,7 +457,7 @@ msgid "Debug information for %(user_name)s"
|
||||
msgstr "Informacje debugowania dla %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_debug_user.html:11
|
||||
#: snikket_web/templates/user_passwd.html:26
|
||||
#: snikket_web/templates/user_passwd.html:23
|
||||
msgid "Warning"
|
||||
msgstr "Ostrzeżenie"
|
||||
|
||||
@@ -427,9 +510,9 @@ msgstr ""
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
#: snikket_web/templates/admin_edit_invite.html:49
|
||||
#: snikket_web/templates/admin_reset_user_password.html:25
|
||||
#: snikket_web/templates/user_logout.html:13
|
||||
#: snikket_web/templates/user_passwd.html:30
|
||||
#: snikket_web/templates/user_profile.html:31
|
||||
#: snikket_web/templates/user_logout.html:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
msgid "Back"
|
||||
msgstr "Wstecz"
|
||||
|
||||
@@ -505,10 +588,9 @@ msgid "View invitation"
|
||||
msgstr "Szczegóły zaproszenia"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:13
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#: snikket_web/templates/admin_reset_user_password.html:15
|
||||
msgid "Valid until"
|
||||
msgstr "Ważne do"
|
||||
msgstr "Wygasa"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:15
|
||||
#: snikket_web/templates/admin_reset_user_password.html:17
|
||||
@@ -602,6 +684,10 @@ msgstr "Wyjdź z panelu administracyjnego"
|
||||
msgid "Pending invitations"
|
||||
msgstr "Oczekujące zaproszenia"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr "Wygasa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
@@ -687,15 +773,15 @@ msgid "The web portal encountered an internal error."
|
||||
msgstr "Portal internetowy napotkał błąd wewnętrzny."
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:5
|
||||
#: snikket_web/templates/invite_view.html:12
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#, python-format
|
||||
msgid "Invite to %(site_name)s"
|
||||
msgstr "Zaproś na %(site_name)s"
|
||||
msgstr "Zaproszenie na %(site_name)s"
|
||||
|
||||
#: snikket_web/templates/invite_invalid.html:6
|
||||
#: snikket_web/templates/invite_register.html:10
|
||||
#: snikket_web/templates/invite_success.html:11
|
||||
#: snikket_web/templates/invite_view.html:13
|
||||
#: snikket_web/templates/invite_view.html:14
|
||||
#, python-format
|
||||
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
|
||||
msgstr "Obsługiwane przez <img alt=\"Snikket\" src=\"%(logo_url)s\">"
|
||||
@@ -742,18 +828,18 @@ msgstr ""
|
||||
"zaprowadzi cię tam poniższy przycisk:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid "App already installed?"
|
||||
msgstr "Aplikacja jest już zainstalowana?"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:16
|
||||
#: snikket_web/templates/invite_reset_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
#: snikket_web/templates/invite_view.html:40
|
||||
msgid "Open the app"
|
||||
msgstr "Otwórz aplikację"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
"Ten przycisk zadziała wyłącznie, jeśli masz już zainstalowaną aplikację!"
|
||||
@@ -851,7 +937,7 @@ msgstr ""
|
||||
"przycisku Skanowania, który znajduje się u góry."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -867,7 +953,7 @@ msgstr ""
|
||||
"Zostaniesz wtedy poproszony o wprowadzenie nowego hasła dla twojego konta."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
msgid "Alternatives"
|
||||
msgstr "Inne możliwości"
|
||||
|
||||
@@ -914,7 +1000,7 @@ msgstr ""
|
||||
msgid "Invite to %(site_name)s | Snikket"
|
||||
msgstr "Zaproszenie na %(site_name)s | Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:15
|
||||
#: snikket_web/templates/invite_view.html:16
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
|
||||
@@ -924,47 +1010,47 @@ msgstr ""
|
||||
"bezpiecznej i przyjaznej dla prywatności aplikacji do rozmów na "
|
||||
"%(site_name)s."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:17
|
||||
#: snikket_web/templates/invite_view.html:18
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
|
||||
"privacy-friendly chat app."
|
||||
msgstr ""
|
||||
"Zostałeś zaproszony do czatu na %(site_name)s za pomocą Snikket - "
|
||||
"Zostałeś zaproszony do czatowania na %(site_name)s za pomocą Snikket - "
|
||||
"bezpiecznej i przyjaznej dla prywatności aplikacji do rozmów."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:19
|
||||
#: snikket_web/templates/invite_view.html:20
|
||||
msgid "Get started"
|
||||
msgstr "Rozpocznij"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:21
|
||||
#: snikket_web/templates/invite_view.html:22
|
||||
msgid "Install the Snikket App on your Android or iOS device."
|
||||
msgstr ""
|
||||
"Zainstaluj aplikację Snikket na swoim urządzeniu z systemem Android lub iOS."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:23
|
||||
#: snikket_web/templates/invite_view.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Install the Snikket App on your Android device (<a href=\"%(ios_info_url)s\" "
|
||||
"rel=\"noopener noreferrer\" target=\"_blank\">iOS coming soon!</a>)."
|
||||
msgstr ""
|
||||
"Zainstaluj aplikację Snikket na swoim urządzeniu z Androidem (<a href=\""
|
||||
"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS już "
|
||||
"Zainstaluj aplikację Snikket na swoim urządzeniu z Androidem (<a href="
|
||||
"\"%(ios_info_url)s\" rel=\"noopener noreferrer\" target=\"_blank\">iOS już "
|
||||
"niedługo!</a>)."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:27
|
||||
#: snikket_web/templates/invite_view.html:28
|
||||
msgid "Get it on Google Play"
|
||||
msgstr "Pobierz w Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Pobierz w App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:33
|
||||
msgid "Not on mobile?"
|
||||
msgstr "Nie korzystasz obecnie ze smartfona?"
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Wyślij na urządzenie mobilne"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:36
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -972,7 +1058,7 @@ msgstr ""
|
||||
"Po instalacji aplikacja powinna uruchomić się automatycznie i poprosić o "
|
||||
"utworzenie konta. Jeśli nie, wciśnij poniższy przycisk."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -984,16 +1070,16 @@ msgstr ""
|
||||
"twoją aplikacją, konieczne może być <a href=\"%(register_url)s\">ręczne "
|
||||
"zarejestrowanie konta</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:50
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
msgid "Scan invite code"
|
||||
msgstr "Zeskanuj kod zaproszenia"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:53
|
||||
#: snikket_web/templates/invite_view.html:82
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:56
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
msgid ""
|
||||
"You can transfer this invite to your mobile device by scanning a code with "
|
||||
"your camera. You can use either a QR scanner app or the Snikket app itself."
|
||||
@@ -1002,22 +1088,22 @@ msgstr ""
|
||||
"poniższy kod aparatem. Możesz również skorzystać ze skanera kodów QR lub "
|
||||
"samej aplikacji Snikket."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:61
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Używając skanera kodów QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Używając aplikacji Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:68
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Użyj skanera <em>kodów QR</em> na swoim urządzeniu mobilnym, by zeskanować "
|
||||
"poniższy kod:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:74
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1040,13 +1126,13 @@ msgstr "usunięty"
|
||||
#: snikket_web/templates/library.j2:122
|
||||
msgid "Can be used multiple times to create accounts on this Snikket service."
|
||||
msgstr ""
|
||||
"Może być wykorzystywany wielokrotnie, by utworzyć konto na tym serwerze "
|
||||
"Może być wykorzystywane wielokrotnie, by utworzyć konto na tym serwerze "
|
||||
"Snikket."
|
||||
|
||||
#: snikket_web/templates/library.j2:124
|
||||
msgid "Can be used once to create an account on this Snikket service."
|
||||
msgstr ""
|
||||
"Może być wykorzystany jeden raz, by utworzyć konto na tym serwerze Snikket."
|
||||
"Może być wykorzystane jeden raz, by utworzyć konto na tym serwerze Snikket."
|
||||
|
||||
#: snikket_web/templates/login.html:5
|
||||
msgid "Snikket Login"
|
||||
@@ -1060,6 +1146,27 @@ msgstr "Wprowadź swój adres Snikket oraz hasło, aby zarządzać kontem."
|
||||
msgid "Login failed"
|
||||
msgstr "Logowanie nie powiodło się"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
msgid "Incorrect address"
|
||||
msgstr "Adres nieprawidłowy"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Ten serwer Snikket obsługuje jedynie adresy kończące się na "
|
||||
"<em>@%(snikket_domain)s</em>. Twoje hasło nie zostało wysłane."
|
||||
|
||||
#: snikket_web/templates/unauth.html:16
|
||||
msgid "Operation successful"
|
||||
msgstr "Operacja zakończona sukcesem"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Witaj!"
|
||||
@@ -1094,11 +1201,11 @@ msgstr ""
|
||||
msgid "Admin panel"
|
||||
msgstr "Panel administracyjny"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:8
|
||||
#: snikket_web/templates/user_logout.html:5
|
||||
msgid "Sign out of the Snikket Web Portal"
|
||||
msgstr "Wyloguj się z Portalu Użytkownika Snikket"
|
||||
|
||||
#: snikket_web/templates/user_logout.html:9
|
||||
#: snikket_web/templates/user_logout.html:6
|
||||
msgid ""
|
||||
"Click below to log yourself out of the web portal. This does not affect any "
|
||||
"other connected devices."
|
||||
@@ -1106,11 +1213,11 @@ msgstr ""
|
||||
"Kliknij poniżej, aby wylogować się z portalu. Nie wpłynie to na pozostałe "
|
||||
"podłączone urządzenia."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:8
|
||||
#: snikket_web/templates/user_passwd.html:5
|
||||
msgid "Change your password"
|
||||
msgstr "Zmień swoje hasło"
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:9
|
||||
#: snikket_web/templates/user_passwd.html:6
|
||||
msgid ""
|
||||
"To change your password, you need to provide the current password as well as "
|
||||
"the new one. To reduce the chance of typos, we ask for your new password "
|
||||
@@ -1119,26 +1226,26 @@ msgstr ""
|
||||
"Aby zmienić swoje hasło, musisz podać również dotychczasowe. O podanie "
|
||||
"nowego hasła prosimy podwójnie, by zminimalizować możliwość pomyłki."
|
||||
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_passwd.html:24
|
||||
msgid ""
|
||||
"After changing your password, you will have to enter the new password on all "
|
||||
"of your devices."
|
||||
msgstr ""
|
||||
"Po zmianie hasła na nowe, musisz je wprowadzić na każdym swoim urządzeniu."
|
||||
|
||||
#: snikket_web/templates/user_profile.html:7
|
||||
#: snikket_web/templates/user_profile.html:4
|
||||
msgid "Update your profile"
|
||||
msgstr "Zaktualizuj swój profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:9
|
||||
#: snikket_web/templates/user_profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:22
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
msgid "Visibility"
|
||||
msgstr "Widoczność"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1146,6 +1253,9 @@ msgstr ""
|
||||
"Ta sekcja pozwoli ci na zarządzenie widocznością informacji o twoim profilu "
|
||||
"przez innych, jak awatar lub pseudonim."
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Nie korzystasz obecnie ze smartfona?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edytuj użytkownika %(user_name)s"
|
||||
|
||||
@@ -1232,6 +1342,3 @@ msgstr ""
|
||||
|
||||
#~ msgid "Copy operation failed"
|
||||
#~ msgstr "Kopiowanie nie powiodło się"
|
||||
|
||||
#~ msgid "Password change failed"
|
||||
#~ msgstr "Zmiana hasła zakończona niepowodzeniem"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1238
snikket_web/translations/sv/LC_MESSAGES/messages.po
Normal file
1238
snikket_web/translations/sv/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,15 @@ import asyncio
|
||||
import typing
|
||||
|
||||
import quart.flask_patch
|
||||
from quart import Blueprint, render_template, request, redirect, url_for
|
||||
from quart import (
|
||||
Blueprint,
|
||||
render_template,
|
||||
request,
|
||||
redirect,
|
||||
url_for,
|
||||
flash,
|
||||
current_app,
|
||||
)
|
||||
import quart.exceptions
|
||||
|
||||
import wtforms
|
||||
@@ -93,14 +101,26 @@ async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
_("Incorrect password"),
|
||||
)
|
||||
else:
|
||||
await flash(
|
||||
_("Password changed"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for("user.change_pw"))
|
||||
|
||||
return await render_template("user_passwd.html", form=form)
|
||||
|
||||
|
||||
EAVATARTOOBIG = _l(
|
||||
"The chosen avatar is too big. To be able to upload larger "
|
||||
"avatars, please use the app"
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/profile", methods=["GET", "POST"])
|
||||
@client.require_session()
|
||||
async def profile() -> typing.Union[str, quart.Response]:
|
||||
max_avatar_size = current_app.config["MAX_AVATAR_SIZE"]
|
||||
|
||||
form = ProfileForm()
|
||||
if request.method != "POST":
|
||||
user_info = await client.get_user_info()
|
||||
@@ -114,26 +134,40 @@ async def profile() -> typing.Union[str, quart.Response]:
|
||||
if form.validate_on_submit():
|
||||
user_info = await client.get_user_info()
|
||||
|
||||
ok = True
|
||||
file_info = (await request.files).get(form.avatar.name)
|
||||
if file_info is not None:
|
||||
mimetype = file_info.mimetype
|
||||
data = file_info.stream.read()
|
||||
if len(data) > 0:
|
||||
if len(data) > max_avatar_size:
|
||||
print(len(data), max_avatar_size)
|
||||
form.avatar.errors.append(EAVATARTOOBIG)
|
||||
ok = False
|
||||
elif len(data) > 0:
|
||||
await client.set_user_avatar(data, mimetype)
|
||||
|
||||
if user_info.get("nickname") != form.nickname.data:
|
||||
await client.set_user_nickname(form.nickname.data)
|
||||
if ok:
|
||||
if user_info.get("nickname") != form.nickname.data:
|
||||
await client.set_user_nickname(form.nickname.data)
|
||||
|
||||
access_model = form.profile_access_model.data
|
||||
await asyncio.gather(
|
||||
client.set_avatar_access_model(access_model),
|
||||
client.set_vcard_access_model(access_model),
|
||||
client.set_nickname_access_model(access_model),
|
||||
)
|
||||
access_model = form.profile_access_model.data
|
||||
await asyncio.gather(
|
||||
client.set_avatar_access_model(access_model),
|
||||
client.set_vcard_access_model(access_model),
|
||||
client.set_nickname_access_model(access_model),
|
||||
)
|
||||
|
||||
return redirect(url_for(".profile"))
|
||||
await flash(
|
||||
_("Profile updated"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".profile"))
|
||||
|
||||
return await render_template("user_profile.html", form=form)
|
||||
return await render_template("user_profile.html",
|
||||
form=form,
|
||||
max_avatar_size=max_avatar_size,
|
||||
avatar_too_big_warning_header=_l("Error"),
|
||||
avatar_too_big_warning=EAVATARTOOBIG)
|
||||
|
||||
|
||||
@bp.route("/logout", methods=["GET", "POST"])
|
||||
@@ -142,6 +176,12 @@ async def logout() -> typing.Union[quart.Response, str]:
|
||||
form = LogoutForm()
|
||||
if form.validate_on_submit():
|
||||
await client.logout()
|
||||
# No flashing here because we don’t collect flashes in the login page
|
||||
# and it’d be weird.
|
||||
# await flash(
|
||||
# _("Logged out"),
|
||||
# "success",
|
||||
# )
|
||||
return redirect(url_for("main.index"))
|
||||
|
||||
return await render_template("user_logout.html", form=form)
|
||||
|
||||
Reference in New Issue
Block a user