You've already forked snikket-web-portal
Compare commits
72 Commits
feature/za
...
hotfix/f-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa04320d70 | ||
|
|
13b2a76c3d | ||
|
|
28e01c336d | ||
|
|
5fb0b91178 | ||
|
|
b007afc901 | ||
|
|
7f02746f63 | ||
|
|
f2788aeb36 | ||
|
|
536a05b0eb | ||
|
|
e0226d47e3 | ||
|
|
0fe10a44ce | ||
|
|
e892d81815 | ||
|
|
c58ce8450f | ||
|
|
03573d1f05 | ||
|
|
486596f89f | ||
|
|
425b4d4295 | ||
|
|
87de808046 | ||
|
|
05455ac743 | ||
|
|
1e926714cb | ||
|
|
e1602f3140 | ||
|
|
2e89973263 | ||
|
|
a6f1361ddd | ||
|
|
552a3bbd41 | ||
|
|
3f2de1e5bf | ||
|
|
059a10f475 | ||
|
|
a48abacf1d | ||
|
|
ea7ed7c030 | ||
|
|
cca899bd8c | ||
|
|
359e6b4ce2 | ||
|
|
6650dd2046 | ||
|
|
97b4a7be0f | ||
|
|
329916e200 | ||
|
|
3571b8909b | ||
|
|
c6c01b82f5 | ||
|
|
c4b575f091 | ||
|
|
fdb55568ec | ||
|
|
a9a651be09 | ||
|
|
d2069289b0 | ||
|
|
552b5d2940 | ||
|
|
b0f9ae5d57 | ||
|
|
dd4a012612 | ||
|
|
e7aa0a2c45 | ||
|
|
ad229d6700 | ||
|
|
b822000f2e | ||
|
|
a6b67b3fdd | ||
|
|
885db355ab | ||
|
|
c3d5b06313 | ||
|
|
2dd8838852 | ||
|
|
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 |
@@ -1,5 +1,5 @@
|
||||
aiohttp~=3.6
|
||||
quart~=0.11
|
||||
quart~=0.11,<0.15
|
||||
flask-wtf~=0.14
|
||||
hsluv~=0.0.2
|
||||
flask-babel~=1.0
|
||||
|
||||
@@ -145,14 +145,21 @@ class AppConfig:
|
||||
site_name = environ.var("")
|
||||
avatar_cache_ttl = environ.var(1800, converter=int)
|
||||
languages = environ.var([
|
||||
"da",
|
||||
"de",
|
||||
"en",
|
||||
"fr",
|
||||
"id",
|
||||
"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)))
|
||||
@@ -183,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, 2, "a0")
|
||||
version_info = (0, 2, 1, None)
|
||||
version = (
|
||||
".".join(map(str, version_info[:3])) +
|
||||
(f"-{version_info[3]}" if version_info[3] else "")
|
||||
|
||||
@@ -19,12 +19,11 @@ from quart import (
|
||||
abort,
|
||||
flash,
|
||||
)
|
||||
import flask_wtf
|
||||
|
||||
from flask_babel import lazy_gettext as _l, _
|
||||
|
||||
from . import prosodyclient
|
||||
from .infra import client, circle_name
|
||||
from .infra import client, circle_name, BaseForm
|
||||
|
||||
bp = Blueprint("admin", __name__, url_prefix="/admin")
|
||||
|
||||
@@ -35,8 +34,7 @@ async def index() -> str:
|
||||
return await render_template("admin_home.html")
|
||||
|
||||
|
||||
class PasswordResetLinkPost(flask_wtf.FlaskForm): # type: ignore
|
||||
action_create = wtforms.StringField()
|
||||
class PasswordResetLinkPost(BaseForm):
|
||||
action_revoke = wtforms.StringField()
|
||||
|
||||
|
||||
@@ -47,15 +45,99 @@ async def users() -> str:
|
||||
await client.list_users(),
|
||||
key=lambda x: x.localpart
|
||||
)
|
||||
invite_form = InvitePost()
|
||||
await invite_form.init_choices()
|
||||
reset_form = PasswordResetLinkPost()
|
||||
return await render_template(
|
||||
"admin_users.html",
|
||||
users=users,
|
||||
reset_form=reset_form,
|
||||
invite_form=invite_form,
|
||||
)
|
||||
|
||||
|
||||
class DeleteUserForm(flask_wtf.FlaskForm): # type:ignore
|
||||
_LIMITED_ROLE_NAME = _("Limited")
|
||||
|
||||
|
||||
class EditUserForm(BaseForm):
|
||||
localpart = wtforms.StringField(
|
||||
_l("Login name"),
|
||||
)
|
||||
|
||||
display_name = wtforms.StringField(
|
||||
_l("Display name"),
|
||||
)
|
||||
|
||||
role = wtforms.RadioField(
|
||||
_l("Access Level"),
|
||||
choices=[
|
||||
# NOTE: enable this only after something has been done which
|
||||
# actually enforces the described restrictions :).
|
||||
# ("prosody:restricted", _LIMITED_ROLE_NAME),
|
||||
("prosody:normal", _l("Normal user")),
|
||||
("prosody:admin", _l("Administrator")),
|
||||
],
|
||||
)
|
||||
|
||||
action_save = wtforms.SubmitField(
|
||||
_l("Update user"),
|
||||
)
|
||||
|
||||
action_create_reset = wtforms.SubmitField(
|
||||
_l("Create password reset link"),
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/user/<localpart>/", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def edit_user(localpart: str) -> typing.Union[quart.Response, str]:
|
||||
target_user_info = await client.get_user_by_localpart(localpart)
|
||||
|
||||
form = EditUserForm()
|
||||
if form.validate_on_submit():
|
||||
if form.action_create_reset.data:
|
||||
target_user_info = await client.get_user_by_localpart(localpart)
|
||||
reset_link = await client.create_password_reset_invite(
|
||||
localpart=localpart,
|
||||
ttl=86400,
|
||||
)
|
||||
await flash(
|
||||
_("Password reset link created"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(
|
||||
".user_password_reset_link",
|
||||
id_=reset_link.id_,
|
||||
))
|
||||
|
||||
await client.update_user(
|
||||
localpart,
|
||||
display_name=form.display_name.data,
|
||||
roles=[form.role.data],
|
||||
)
|
||||
|
||||
await flash(
|
||||
_("User information updated."),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".edit_user", localpart=localpart))
|
||||
|
||||
elif request.method == "GET":
|
||||
form.localpart.data = target_user_info.localpart
|
||||
form.display_name.data = target_user_info.display_name
|
||||
if target_user_info.roles:
|
||||
form.role.data = target_user_info.roles[0]
|
||||
else:
|
||||
form.role.data = "prosody:normal"
|
||||
|
||||
return await render_template(
|
||||
"admin_edit_user.html",
|
||||
target_user=target_user_info,
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
class DeleteUserForm(BaseForm):
|
||||
action_delete = wtforms.SubmitField(
|
||||
_l("Delete user permanently")
|
||||
)
|
||||
@@ -98,45 +180,47 @@ async def debug_user(localpart: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/users/password-reset/-", methods=["POST"])
|
||||
@bp.route("/users/password-reset/<id_>", methods=["GET", "POST"])
|
||||
@client.require_admin_session()
|
||||
async def create_password_reset_link() -> typing.Union[str, quart.Response]:
|
||||
form = PasswordResetLinkPost()
|
||||
if not form.validate_on_submit():
|
||||
abort(400)
|
||||
|
||||
if form.action_create.data:
|
||||
localpart = form.action_create.data
|
||||
target_user_info = await client.get_user_by_localpart(localpart)
|
||||
reset_link = await client.create_password_reset_invite(
|
||||
localpart=localpart,
|
||||
ttl=86400,
|
||||
)
|
||||
async def user_password_reset_link(
|
||||
id_: str,
|
||||
) -> typing.Union[str, quart.Response]:
|
||||
invite_info = await client.get_invite_by_id(
|
||||
id_,
|
||||
)
|
||||
if invite_info.jid is None:
|
||||
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",
|
||||
_("Password reset link not found"),
|
||||
"alert",
|
||||
)
|
||||
return redirect(url_for(".users"))
|
||||
|
||||
localpart = prosodyclient.split_jid(invite_info.jid)[0]
|
||||
|
||||
form = PasswordResetLinkPost()
|
||||
if form.validate_on_submit():
|
||||
if form.action_revoke.data:
|
||||
await client.delete_invite(id_)
|
||||
await flash(
|
||||
_("Password reset link deleted"),
|
||||
"success",
|
||||
)
|
||||
return redirect(url_for(".edit_user", localpart=localpart))
|
||||
abort(400)
|
||||
|
||||
return await render_template(
|
||||
"admin_reset_user_password.html",
|
||||
target_user=target_user_info,
|
||||
reset_link=reset_link,
|
||||
localpart=localpart,
|
||||
reset_link=invite_info,
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
class InvitesListForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class InvitesListForm(BaseForm):
|
||||
action_revoke = wtforms.StringField()
|
||||
|
||||
|
||||
class InvitePost(flask_wtf.FlaskForm): # type:ignore
|
||||
class InvitePost(BaseForm):
|
||||
circles = wtforms.SelectMultipleField(
|
||||
_l("Invite to circle"),
|
||||
# NOTE: This is for when/if we ever support multi-group invites.
|
||||
@@ -230,7 +314,7 @@ async def invitations() -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
class InviteForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class InviteForm(BaseForm):
|
||||
action_revoke = wtforms.SubmitField(
|
||||
_l("Revoke")
|
||||
)
|
||||
@@ -302,7 +386,7 @@ async def edit_invite(id_: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
class CirclePost(flask_wtf.FlaskForm): # type:ignore
|
||||
class CirclePost(BaseForm):
|
||||
name = wtforms.StringField(
|
||||
_l("Name"),
|
||||
validators=[wtforms.validators.InputRequired()],
|
||||
@@ -350,7 +434,7 @@ async def create_circle() -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
class EditCircleForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class EditCircleForm(BaseForm):
|
||||
name = wtforms.StringField(
|
||||
_l("Name"),
|
||||
validators=[wtforms.validators.InputRequired()],
|
||||
|
||||
@@ -10,6 +10,7 @@ from quart import (
|
||||
)
|
||||
|
||||
import flask_babel
|
||||
import flask_wtf
|
||||
from flask_babel import _
|
||||
|
||||
from . import prosodyclient
|
||||
@@ -25,7 +26,7 @@ babel = flask_babel.Babel()
|
||||
def selected_locale() -> str:
|
||||
selected = request.accept_languages.best_match(
|
||||
current_app.config['LANGUAGES']
|
||||
)
|
||||
) or current_app.config['LANGUAGES'][0]
|
||||
return selected
|
||||
|
||||
|
||||
@@ -55,3 +56,14 @@ def generate_error_id() -> str:
|
||||
return base64.b32encode(secrets.token_bytes(8)).decode(
|
||||
"ascii"
|
||||
).rstrip("=")
|
||||
|
||||
|
||||
class BaseForm(flask_wtf.FlaskForm): # type:ignore
|
||||
def __init__(self, *args: typing.Any, **kwargs: typing.Any):
|
||||
meta = kwargs["meta"] = dict(kwargs.get("meta", {}))
|
||||
if "locales" not in meta:
|
||||
locale = flask_babel.get_locale()
|
||||
if locale:
|
||||
meta["locales"] = [str(locale)]
|
||||
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@@ -16,10 +16,9 @@ from quart import (
|
||||
|
||||
import wtforms
|
||||
|
||||
import flask_wtf
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
from .infra import client, selected_locale
|
||||
from .infra import client, selected_locale, BaseForm
|
||||
|
||||
|
||||
bp = Blueprint("invite", __name__)
|
||||
@@ -53,13 +52,15 @@ async def view_old(id_: str) -> quart.Response:
|
||||
|
||||
|
||||
@bp.route("/<id_>/")
|
||||
async def view(id_: str) -> typing.Union[quart.Response, str]:
|
||||
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:
|
||||
@@ -89,6 +90,7 @@ async def view(id_: str) -> typing.Union[quart.Response, str]:
|
||||
invite=invite,
|
||||
play_store_url=play_store_url,
|
||||
apple_store_url=apple_store_url,
|
||||
f_droid_url="market://details?id=org.snikket.android",
|
||||
invite_id=id_,
|
||||
)
|
||||
return quart.Response(
|
||||
@@ -99,7 +101,7 @@ async def view(id_: str) -> typing.Union[quart.Response, str]:
|
||||
)
|
||||
|
||||
|
||||
class RegisterForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class RegisterForm(BaseForm):
|
||||
localpart = wtforms.StringField(
|
||||
_l("Username"),
|
||||
)
|
||||
@@ -113,7 +115,7 @@ class RegisterForm(flask_wtf.FlaskForm): # type:ignore
|
||||
validators=[wtforms.validators.InputRequired(),
|
||||
wtforms.validators.EqualTo(
|
||||
"password",
|
||||
_l("The passwords must match")
|
||||
_l("The passwords must match.")
|
||||
)]
|
||||
)
|
||||
|
||||
@@ -145,15 +147,15 @@ async def register(id_: str) -> typing.Union[str, quart.Response]:
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 409:
|
||||
form.localpart.errors.append(
|
||||
_l("That username is already taken")
|
||||
_l("That username is already taken.")
|
||||
)
|
||||
elif exc.status == 403:
|
||||
form.localpart.errors.append(
|
||||
_l("Registration was declined for unknown reasons")
|
||||
_l("Registration was declined for unknown reasons.")
|
||||
)
|
||||
elif exc.status == 400:
|
||||
form.localpart.errors.append(
|
||||
_l("The username is not valid")
|
||||
_l("The username is not valid.")
|
||||
)
|
||||
elif exc.status == 404:
|
||||
return redirect(url_for(".view", id_=id_))
|
||||
@@ -170,7 +172,7 @@ async def register(id_: str) -> typing.Union[str, quart.Response]:
|
||||
)
|
||||
|
||||
|
||||
class ResetForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class ResetForm(BaseForm):
|
||||
password = wtforms.PasswordField(
|
||||
_l("Password"),
|
||||
)
|
||||
@@ -180,7 +182,7 @@ class ResetForm(flask_wtf.FlaskForm): # type:ignore
|
||||
validators=[wtforms.validators.InputRequired(),
|
||||
wtforms.validators.EqualTo(
|
||||
"password",
|
||||
_l("The passwords must match")
|
||||
_l("The passwords must match.")
|
||||
)]
|
||||
)
|
||||
|
||||
@@ -213,7 +215,7 @@ async def reset(id_: str) -> typing.Union[str, quart.Response]:
|
||||
except aiohttp.ClientResponseError as exc:
|
||||
if exc.status == 403:
|
||||
form.localpart.errors.append(
|
||||
_l("Registration was declined for unknown reasons")
|
||||
_l("Registration was declined for unknown reasons.")
|
||||
)
|
||||
elif exc.status == 404:
|
||||
return redirect(url_for(".view", id_=id_))
|
||||
|
||||
@@ -22,17 +22,16 @@ import babel
|
||||
import wtforms
|
||||
|
||||
import flask_wtf
|
||||
|
||||
from flask_babel import lazy_gettext as _l, _
|
||||
|
||||
from . import xmpputil, _version
|
||||
from .infra import client
|
||||
from .infra import client, BaseForm
|
||||
|
||||
|
||||
bp = quart.Blueprint("main", __name__)
|
||||
|
||||
|
||||
class LoginForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class LoginForm(BaseForm):
|
||||
address = wtforms.TextField(
|
||||
_l("Address"),
|
||||
validators=[wtforms.validators.InputRequired()],
|
||||
@@ -101,6 +100,10 @@ async def about() -> str:
|
||||
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",
|
||||
@@ -120,6 +123,7 @@ def repad(s: str) -> str:
|
||||
|
||||
@bp.route("/avatar/<from_>/<code>")
|
||||
async def avatar(from_: str, code: str) -> quart.Response:
|
||||
etag: typing.Optional[str]
|
||||
try:
|
||||
etag = request.headers["if-none-match"]
|
||||
except KeyError:
|
||||
@@ -159,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")
|
||||
|
||||
@@ -44,6 +44,15 @@ class AdminUserInfo:
|
||||
display_name: typing.Optional[str]
|
||||
email: typing.Optional[str]
|
||||
phone: typing.Optional[str]
|
||||
roles: typing.Optional[typing.List[str]]
|
||||
|
||||
@property
|
||||
def has_admin_role(self) -> bool:
|
||||
return bool(self.roles and "prosody:admin" in self.roles)
|
||||
|
||||
@property
|
||||
def has_restricted_role(self) -> bool:
|
||||
return bool(self.roles and "prosody:restricted" in self.roles)
|
||||
|
||||
@classmethod
|
||||
def from_api_response(
|
||||
@@ -55,6 +64,7 @@ class AdminUserInfo:
|
||||
display_name=data.get("display_name") or None,
|
||||
email=data.get("email") or None,
|
||||
phone=data.get("phone") or None,
|
||||
roles=data.get("roles"),
|
||||
)
|
||||
|
||||
|
||||
@@ -332,15 +342,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 +458,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(
|
||||
@@ -490,9 +510,32 @@ class ProsodyClient:
|
||||
"to": self.session_address,
|
||||
}
|
||||
|
||||
async with session.post(self._rest_endpoint, data=req) as resp:
|
||||
async with session.post(self._rest_endpoint, json=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": {},
|
||||
"to": domain,
|
||||
}
|
||||
|
||||
async with session.post(self._rest_endpoint, json=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 +810,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 +822,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,
|
||||
@@ -825,6 +868,29 @@ class ProsodyClient:
|
||||
self._raise_error_from_response(resp)
|
||||
return AdminUserInfo.from_api_response(await resp.json())
|
||||
|
||||
@autosession
|
||||
async def update_user(
|
||||
self,
|
||||
localpart: str,
|
||||
*,
|
||||
display_name: typing.Optional[str],
|
||||
roles: typing.Optional[typing.Collection[str]],
|
||||
session: aiohttp.ClientSession,
|
||||
) -> None:
|
||||
payload: typing.Dict[str, typing.Any] = {
|
||||
"username": localpart,
|
||||
}
|
||||
if display_name is not None:
|
||||
payload["display_name"] = display_name
|
||||
if roles is not None:
|
||||
payload["roles"] = list(roles)
|
||||
|
||||
async with session.put(
|
||||
self._admin_v1_endpoint("/users/{}".format(localpart)),
|
||||
json=payload,
|
||||
) as resp:
|
||||
self._raise_error_from_response(resp)
|
||||
|
||||
@autosession
|
||||
async def get_user_debug_info(
|
||||
self,
|
||||
|
||||
@@ -354,6 +354,15 @@ div.form.layout-expanded {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.radio-button-ext > label > p {
|
||||
margin-left: 1.75rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.radio-button-ext > label .icon {
|
||||
margin-left: 0.25em;
|
||||
}
|
||||
|
||||
div.select-wrap {
|
||||
display: block;
|
||||
border-bottom: $w-s4 solid $primary-500;
|
||||
|
||||
@@ -54,6 +54,8 @@ div.install-buttons {
|
||||
ul {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
list-style-type: none;
|
||||
margin: $w-l1 0;
|
||||
padding: 0;
|
||||
@@ -74,6 +76,10 @@ img.play {
|
||||
height: $w-l3;
|
||||
}
|
||||
|
||||
img.fdroid {
|
||||
height: $w-l3;
|
||||
}
|
||||
|
||||
.tabbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
BIN
snikket_web/static/img/f-droid-badge.png
Normal file
BIN
snikket_web/static/img/f-droid-badge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -37,6 +37,11 @@ licensed under the terms of the Apache 2.0 License -->
|
||||
<path d="M0 0h24v24H0V0z" fill="none" />
|
||||
<path d="M10.79 16.29c.39.39 1.02.39 1.41 0l3.59-3.59c.39-.39.39-1.02 0-1.41L12.2 7.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L12.67 11H4c-.55 0-1 .45-1 1s.45 1 1 1h8.67l-1.88 1.88c-.39.39-.38 1.03 0 1.41zM19 3H5c-1.11 0-2 .9-2 2v3c0 .55.45 1 1 1s1-.45 1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1v3c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" />
|
||||
</symbol>
|
||||
<!-- from: action/lock/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-lock" viewBox="0 0 24 24">
|
||||
<g fill="none"><path d="M0 0h24v24H0V0z" /><path d="M0 0h24v24H0V0z" opacity=".87" /></g>
|
||||
<path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM9 8V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9z" />
|
||||
</symbol>
|
||||
<!-- from: communication/qr_code/materialiconsround/24px.svg -->
|
||||
<symbol id="icon-qrcode" viewBox="0 0 24 24">
|
||||
<g><rect fill="none" height="24" width="24" /><rect fill="none" height="24" width="24" /></g>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
@@ -16,7 +16,7 @@
|
||||
<p>{% trans %}The user and their data will be deleted irrevocably, permanently and immediately upon pushing the below button. <strong>There is no way back!</strong>{% endtrans %}</p>
|
||||
{% endcall %}
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for(".index"), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call standard_button("back", url_for(".edit_user", localpart=target_user.localpart), class="tertiary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call form_button("delete", form.action_delete, class="primary danger") %}{% endcall -%}
|
||||
</div>
|
||||
</form></div>
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
{%- endif -%}
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for(".circles"), class="secondary") -%}
|
||||
{% trans %}Back{% endtrans %}
|
||||
{%- call standard_button("back", url_for(".circles"), class="tertiary") -%}
|
||||
{% trans %}Return to circle list{% endtrans %}
|
||||
{%- endcall -%}
|
||||
{%- call form_button("done", form.action_save, class="primary") %}{% endcall -%}
|
||||
</div>
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
<dd>{{ invite.created_at | format_date }}</dd>
|
||||
</dl>
|
||||
<div class="f-bbox">
|
||||
{%- call form_button("remove_link", form.action_revoke, class="secondary danger") %}{% endcall -%}
|
||||
{%- call standard_button("back", url_for(".invitations"), class="primary") %}
|
||||
{% trans %}Back{% endtrans %}
|
||||
{%- call standard_button("back", url_for(".invitations"), class="tertiary") %}
|
||||
{% trans %}Return to invitation list{% endtrans %}
|
||||
{%- endcall %}
|
||||
{%- call form_button("remove_link", form.action_revoke, class="primary danger") %}{% endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
78
snikket_web/templates/admin_edit_user.html
Normal file
78
snikket_web/templates/admin_edit_user.html
Normal file
@@ -0,0 +1,78 @@
|
||||
{% extends "admin_app.html" %}
|
||||
{% from "library.j2" import box, form_button, standard_button, icon %}
|
||||
{% macro access_level_description(role, caller=None) %}
|
||||
{%- if role == "prosody:restricted" -%}
|
||||
{% trans %}Limited users can interact with users on the same Snikket service and be members of circles.{% endtrans %}
|
||||
{%- elif role == "prosody:normal" -%}
|
||||
{% trans %}Like limited users and can also interact with users on other Snikket services.{% endtrans %}
|
||||
{%- elif role == "prosody:admin" -%}
|
||||
{% trans %}Like normal users and can access the admin panel in the web portal.{% endtrans %}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{% macro access_level_icon(role, caller=None) %}
|
||||
{%- if role == "prosody:restricted" -%}
|
||||
{% call icon("lock") %}{% endcall %}
|
||||
{%- elif role == "prosody:admin" -%}
|
||||
{% call icon("admin") %}{% endcall %}
|
||||
{%- endif -%}
|
||||
{% endmacro %}
|
||||
{% block content %}
|
||||
<h1>{% trans user_name=target_user.localpart %}Edit user {{ user_name }}{% endtrans %}</h1>
|
||||
<form method="POST">{{ form.csrf_token }}<div class="form layout-expanded">
|
||||
<h2 class="form-title">{% trans %}Edit user{% endtrans %}</h2>
|
||||
<div class="f-ebox">
|
||||
{{ form.localpart.label }}
|
||||
{{ form.localpart(readonly="readonly") }}
|
||||
<p class="form-desc weak">{% trans %}The login name cannot be changed.{% endtrans %}</p>
|
||||
</div>
|
||||
<div class="f-ebox">
|
||||
{{ form.display_name.label }}
|
||||
{{ form.display_name }}
|
||||
</div>
|
||||
<h3 class="form-title">{% trans %}Access Level{% endtrans %}</h3>
|
||||
<p class="form-descr weak">{% trans %}The access level of a user determines what interactions are allowed for them on your Snikket service.{% endtrans %}</p>
|
||||
<div class="f-ebox">
|
||||
<fieldset>{#- -#}
|
||||
<legend class="a11y-only">{{ form.role.label.text }}</legend>
|
||||
{%- for level in form.role -%}
|
||||
<div class="radio-button-ext">
|
||||
{{ level }}<label for="{{ level.id }}">
|
||||
{%- trans title=level.label.text, icon=access_level_icon(level.data), description=access_level_description(level.data) -%}
|
||||
<strong>{{ title }}{{ icon }}</strong><p>{{ description }}</p>
|
||||
{%- endtrans -%}
|
||||
</label>
|
||||
</div>
|
||||
{%- endfor -%}
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for(".users"), class="tertiary") -%}
|
||||
{%- trans -%}Return to user list{%- endtrans -%}
|
||||
{%- endcall -%}
|
||||
{%- call standard_button("delete", url_for(".delete_user", localpart=target_user.localpart), class="secondary") -%}
|
||||
{%- trans -%}Delete user{%- endtrans -%}
|
||||
{%- endcall -%}
|
||||
{%- call form_button("done", form.action_save, class="primary") %}{% endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
<h2>{% trans %}Further actions{% endtrans %}</h2>
|
||||
<div class="form layout-expanded">
|
||||
<h2 class="form-title">{% trans %}Reset password{% endtrans %}</h2>
|
||||
{{ form.csrf_token }}
|
||||
<p class="form-desc">
|
||||
{% trans %}If the user has lost their password, you can use the button below to create a special link which allows to change the password of the account, once.{% endtrans %}
|
||||
</p>
|
||||
<div class="f-bbox">
|
||||
{%- call form_button("passwd", form.action_create_reset, class="primary") -%}{%- endcall -%}
|
||||
</div>
|
||||
<h2 class="form-title">{% trans %}Debug information{% endtrans %}</h2>
|
||||
<p class="form-desc">
|
||||
{% trans %}In some cases, extended information about the user account and the connected devices is necessary to troubleshoot issues. The button below reveals this (sensitive) information.{% endtrans %}
|
||||
</p>
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("bug_report", url_for(".debug_user", localpart=target_user.localpart), class="primary") -%}
|
||||
{%- trans -%}Show debug information{%- endtrans -%}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div></form>
|
||||
{% endblock %}
|
||||
@@ -9,7 +9,7 @@
|
||||
<form method="POST">
|
||||
{{- form.csrf_token -}}
|
||||
<div class="form layout-expanded">
|
||||
<h2 class="form-title">{% trans user_name=target_user.localpart %}Password reset link for {{ user_name }}{% endtrans %}</h2>
|
||||
<h2 class="form-title">{% trans user_name=localpart %}Password reset link for {{ user_name }}{% endtrans %}</h2>
|
||||
<p class="form-desc">{% trans %}The following link will allow the user to reset their password on their device, once.{% endtrans %}</p>
|
||||
<dd>
|
||||
<dt>{% trans %}Valid until{% endtrans %}</dt>
|
||||
@@ -21,7 +21,7 @@
|
||||
{%- call custom_form_button("remove_link", form.action_revoke.name, reset_link.id_, class="secondary danger") -%}
|
||||
{% trans %}Destroy link{% endtrans %}
|
||||
{%- endcall -%}
|
||||
{%- call standard_button("back", url_for(".users"), class="primary") -%}
|
||||
{%- call standard_button("back", url_for(".edit_user", localpart=localpart), class="primary") -%}
|
||||
{% trans %}Back{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{% extends "admin_app.html" %}
|
||||
{% from "library.j2" import action_button, value_or_hint, custom_form_button %}
|
||||
{% from "library.j2" import action_button, icon, value_or_hint, custom_form_button %}
|
||||
{% block content %}
|
||||
<h1>{% trans %}Manage users{% endtrans %}</h1>
|
||||
<form method="POST" action="{{ url_for(".create_password_reset_link") }}">
|
||||
{{- reset_form.csrf_token -}}
|
||||
<div class="elevated el-2"><table>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -15,17 +13,19 @@
|
||||
<tbody>
|
||||
{% for user in users %}
|
||||
<tr>
|
||||
<td>{{ user.localpart }}</td>
|
||||
<td>
|
||||
{{- user.localpart -}}
|
||||
{%- if user.has_admin_role -%}
|
||||
<span class="with-tooltip above" data-tooltip="{% trans %}The user is an administrator.{% endtrans %}">{% call icon("admin") %}{% trans %} (Administrator){% endtrans %}{% endcall %}</span>
|
||||
{%- endif -%}
|
||||
{%- if user.has_restricted_role -%}
|
||||
<span class="with-tooltip above" data-tooltip="{% trans %}The user is restricted.{% endtrans %}">{% call icon("lock") %}{% trans %} (Restricted){% endtrans %}{% endcall %}</span>
|
||||
{%- endif -%}
|
||||
</td>
|
||||
<td>{% call value_or_hint(user.display_name) %}{% endcall %}</td>
|
||||
<td class="nowrap">
|
||||
{%- call action_button("delete", url_for(".delete_user", localpart=user.localpart), class="secondary") -%}
|
||||
{% trans user_name=user.localpart %}Delete user {{ user_name }}{% endtrans %}
|
||||
{%- endcall -%}
|
||||
{%- call action_button("bug_report", url_for(".debug_user", localpart=user.localpart), class="secondary") -%}
|
||||
{% trans user_name=user.localpart %}Show debug information for {{ user_name }}{% endtrans %}
|
||||
{%- endcall -%}
|
||||
{%- call custom_form_button("passwd", reset_form.action_create.name, user.localpart, class="secondary", slim=True) -%}
|
||||
{% trans user_name=user.localpart %}Create password reset link for {{ user_name }}{% endtrans %}
|
||||
{%- call action_button("edit", url_for(".edit_user", localpart=user.localpart), class="primary") -%}
|
||||
{% trans user_name=user.localpart %}Edit user {{ user_name }}{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</form>
|
||||
</td>
|
||||
@@ -33,5 +33,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table></div>
|
||||
</form>
|
||||
{%- include "admin_create_invite_form.html" -%}
|
||||
{% endblock %}
|
||||
|
||||
@@ -27,8 +27,9 @@
|
||||
<ul>
|
||||
<li><a href="{{ play_store_url }}"><img alt='{% trans %}Get it on Google Play{% endtrans %}' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' class="play"/></a></li>
|
||||
{%- if apple_store_url -%}
|
||||
<li><a href="{{ apple_store_url }}"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></li>
|
||||
<li><a href="{{ apple_store_url }}" class="popover" data-popover-id="apple-popover"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></li>
|
||||
{%- endif -%}
|
||||
<li><a href="{{ f_droid_url }}" class="popover" data-popover-id="fdroid-popover"><img alt='{% trans %}Get it on F-Droid{% endtrans %}' src='{{ url_for('static', filename='img/f-droid-badge.png') }}' class="fdroid"/></a></li>
|
||||
</ul>
|
||||
{%- call standard_button("qrcode", "#qr-modal", class="primary", onclick="open_modal(this); return false;") -%}
|
||||
{% trans %}Send to mobile device{% endtrans %}
|
||||
@@ -84,10 +85,77 @@
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
{%- if apple_store_url -%}
|
||||
<div id="apple-popover" class="modal" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;" onclick="close_modal(this); return false;">
|
||||
<div role="document" class="elevated box el-2" onclick="event.stopPropagation();">
|
||||
<header class="modal-title">
|
||||
{#- -#}
|
||||
<span>{% trans %}Install on iOS{% endtrans %}</span>
|
||||
{#- -#}
|
||||
{%- call action_button("close", "#", onclick="close_modal(this.parentNode.parentNode.parentNode); return false;", class="tertiary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</header>
|
||||
<p>{% trans %}After downloading Snikket from the App Store, you have to return to this invite link and tap on "Open the app" to proceed.{% endtrans %}</p>
|
||||
<ol>
|
||||
<li><p>{% trans %}First download Snikket from the App Store using the button below:{% endtrans %}</p>
|
||||
<p><a href="{{ apple_store_url }}"><img alt='{% trans %}Download on the App Store{% endtrans %}' src="{{ apple_store_badge() }}" class="apple"></a></p>
|
||||
<li><p>{% trans %}After the installation is complete, you can return to this page and tap the "Open the app" button to continue with the setup:{% endtrans %}</p>
|
||||
<p>
|
||||
{%- call standard_button("exit_to_app", invite.xmpp_uri, class="primary") -%}
|
||||
{% trans %}Open the app{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</p></li>
|
||||
</ol>
|
||||
{#- -#}
|
||||
{%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="secondary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
<div id="fdroid-popover" class="modal" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;" onclick="close_modal(this); return false;">
|
||||
<div role="document" class="elevated box el-2" onclick="event.stopPropagation();">
|
||||
<header class="modal-title">
|
||||
{#- -#}
|
||||
<span>{% trans %}Install via F-Droid{% endtrans %}</span>
|
||||
{#- -#}
|
||||
{%- call action_button("close", "#", onclick="close_modal(this.parentNode.parentNode.parentNode); return false;", class="tertiary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</header>
|
||||
<p>{% trans %}After installing Snikket via F-Droid, you have to return to this invite link and tap on "Open the app" to proceed.{% endtrans %}</p>
|
||||
<ol>
|
||||
<li><p>{% trans %}First install Snikket from F-Droid using the button below:{% endtrans %}</p>
|
||||
<p><a href="{{ f_droid_url }}"><img alt='{% trans %}Install via F-Droid{% endtrans %}' src='{{ url_for('static', filename='img/f-droid-badge.png') }}' class="fdroid"/></a></p></li>
|
||||
<li><p>{% trans %}After the installation is complete, you can return to this page and tap the "Open the app" button to continue with the setup:{% endtrans %}</p>
|
||||
<p>
|
||||
{%- call standard_button("exit_to_app", invite.xmpp_uri, class="primary") -%}
|
||||
{% trans %}Open the app{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</p></li>
|
||||
</ol>
|
||||
{#- -#}
|
||||
{%- call standard_button("close", "#", onclick="close_modal(this.parentNode.parentNode); return false;", class="secondary") -%}
|
||||
{% trans %}Close{% endtrans %}
|
||||
{%- endcall -%}
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var catch_popover = function() {
|
||||
open_modal(this);
|
||||
return false;
|
||||
}
|
||||
|
||||
var onload = function() {
|
||||
apply_qr_code(document.getElementById("qr-invite-page"));
|
||||
apply_qr_code(document.getElementById("qr-uri"));
|
||||
var popover_as = document.getElementsByClassName("popover");
|
||||
for (var i = 0; i < popover_as.length; ++i) {
|
||||
var a = popover_as[i];
|
||||
a.onclick = catch_popover;
|
||||
a.href = "#" + a.dataset.popoverId;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<div class="box warning">{#- -#}
|
||||
<header>{% trans %}Invalid input{% endtrans %}</header>
|
||||
{%- if error_list | length == 1 -%}
|
||||
<p>{{ error_list[0] }}.</p>
|
||||
<p>{{ error_list[0] }}</p>
|
||||
{%- else -%}
|
||||
<ul>
|
||||
{%- for error in error_list -%}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% extends "base.html" %}
|
||||
{% from "library.j2" import box, form_button %}
|
||||
{% from "library.j2" import box, form_button, render_errors %}
|
||||
{% set body_id = "login" %}
|
||||
{% block head_lead %}
|
||||
<title>{{ _("Snikket Login") }}</title>
|
||||
@@ -14,11 +14,7 @@
|
||||
<p class="form-desc">{{ _("Enter your Snikket address and password to manage your account.") }}</p>
|
||||
<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 %}
|
||||
{% call render_errors(form) %}{% endcall %}
|
||||
<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>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<div id="mwrap">
|
||||
{#- -#}
|
||||
<div class="flashbox">
|
||||
<div class="flashbox" id="flashbox">
|
||||
{%- for category, message in get_flashed_messages(True) -%}
|
||||
<div class="box {{ category }} el-5" role="alert">
|
||||
{% if category == "success" %}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<p class="form-desc">{% trans %}Click below to log yourself out of the web portal. This does not affect any other connected devices.{% endtrans %}</p>
|
||||
{{ form.csrf_token }}
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for("user.index"), class="secondary") -%}
|
||||
{%- call standard_button("back", url_for("user.index"), class="tertiary") -%}
|
||||
{% trans %}Back{% endtrans %}
|
||||
{%- endcall -%}
|
||||
{%- call form_button("logout", form.action_signout, class="primary") %}{% endcall -%}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<p>{% trans %}After changing your password, you will have to enter the new password on all of your devices.{% endtrans %}</p>
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for('.index'), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call standard_button("back", url_for('.index'), class="tertiary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call custom_form_button("passwd", "", "", class="primary") -%}
|
||||
{% trans %}Change password{% endtrans %}
|
||||
{%- endcall -%}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{% extends "app.html" %}
|
||||
{% from "library.j2" import standard_button, form_button, avatar with context %}
|
||||
{% 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) }}
|
||||
@@ -13,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>
|
||||
@@ -25,8 +29,27 @@
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="f-bbox">
|
||||
{%- call standard_button("back", url_for('.index'), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
|
||||
{%- call standard_button("back", url_for('.index'), class="tertiary") %}{% 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.reportValidity();
|
||||
this.value = null;
|
||||
} else {
|
||||
this.setCustomValidity("");
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</form></div>
|
||||
{% endblock %}
|
||||
|
||||
BIN
snikket_web/translations/da/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/da/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
1432
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
1432
snikket_web/translations/da/LC_MESSAGES/messages.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
snikket_web/translations/de/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/de/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
@@ -7,293 +7,313 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SnikketWeb 0.1.0\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-10 17:01+0000\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+0100\n"
|
||||
"PO-Revision-Date: 2021-05-18 13:28+0000\n"
|
||||
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/de/>\n"
|
||||
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/de/>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr "Eingeschränkt"
|
||||
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Anmeldename"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr "Normaler Benutzer"
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
msgid "Update user"
|
||||
msgstr "Benutzer ändern"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
msgid "Create password reset link"
|
||||
msgstr "Passwort-Link erzeugen"
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes erzeugt"
|
||||
|
||||
#: snikket_web/admin.py:120
|
||||
msgid "User information updated."
|
||||
msgstr "Benutzerinformationen gespeichert."
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Benutzer endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr "gelöscht"
|
||||
msgstr "Benutzer gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes für %(user_name)s"
|
||||
#: snikket_web/admin.py:193
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes nicht gefunden"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
"Löschen von Benutzern und Anlegen von Links zum Zurücksetzen des Passwortes."
|
||||
msgstr "Link gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "In Gemeinschaft einladen"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Mindestens eine Gemeinschaft muss ausgewählt sein"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Gültig für"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "Eine Stunde"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Zwölf Stunden"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "Ein Tag"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "Eine Woche"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Vier Wochen"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Art der Einladung"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Einzelperson"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "Neuer Einladungslink"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr "Art der Einladung"
|
||||
msgstr "Einladung angelegt"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Neuer Einladungslink"
|
||||
msgstr "Diese Einladung existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Art der Einladung"
|
||||
msgstr "Einladung gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Gemeinschaft gründen"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr "Name"
|
||||
msgstr "Gemeinschaft gegründet"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Benutzer auswählen"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Gemeinschaft ändern"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Gemeinschaft endgültig löschen"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Benutzer hinzufügen"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr "Keine Gemeinschaften"
|
||||
msgstr "Diese Gemeinschaft existiert nicht"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr "Name"
|
||||
msgstr "Gemeinschaftsdaten aktualisiert"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr "gelöscht"
|
||||
msgstr "Gemeinschaft gelöscht"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr "In Gemeinschaft einladen"
|
||||
msgstr "Benutzer zur Gemeinschaft hinzugefügt"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr "Benutzer %(username)s aus der Gemeinschaft entfernen"
|
||||
msgstr "Benutzer aus der Gemeinschaft entfernt"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Kern"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Passwort (Bestätigung)"
|
||||
|
||||
#: 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:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr "Die Passwörter müssen übereinstimmen."
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Konto anlegen"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Dieser Benutzername ist bereits belegt"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr "Dieser Benutzername ist bereits belegt."
|
||||
|
||||
#: 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:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Die Registrierung wurde aus unbekannten Gründen abgelehnt."
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Der Benutzername ist ungültig"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr "Der Benutzername ist ungültig."
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Passwort ändern"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Benutzername oder Passwort falsch."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Anmeldung erfolgreich!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Aktuelles Passwort"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Neues Passwort (Bestätigung)"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Die neuen Passwörter müssen übereinstimmen"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Die neuen Passwörter müssen übereinstimmen."
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Niemand"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Nur Freunde"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Jeder"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Anzeigename"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Bild"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profilsichtbarkeit"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Profil bearbeiten"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Ungültiges Passwort"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr "Ungültiges Passwort."
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr "Passwortänderung fehlgeschlagen"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
"Das gewählte Profilbild ist zu groß. Benutze die App um größere Bilder "
|
||||
"hochladen zu können."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profil gespeichert"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -305,6 +325,8 @@ 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"
|
||||
@@ -367,7 +389,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Markenzeichen"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -376,6 +398,9 @@ msgid ""
|
||||
"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"
|
||||
@@ -422,7 +447,7 @@ msgstr "Mitglieder"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
@@ -497,12 +522,12 @@ msgid "Copy complete output"
|
||||
msgstr "Komplette Ausgabe kopieren"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Benutzer %(user_name)s löschen"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Benutzer löschen"
|
||||
|
||||
@@ -510,11 +535,6 @@ msgstr "Benutzer löschen"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Bist du sicher dass du den folgenden Benutzer löschen willst?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Anmeldename"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Gefahr"
|
||||
@@ -530,12 +550,10 @@ msgstr ""
|
||||
"keinen Weg zurück!</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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
@@ -569,6 +587,10 @@ msgstr "Gemeinschaftsinformationen"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Diese Gemeinschaft hat keinen zugehörigen Gruppenchat."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr "Zurück zur Gemeinschaftsliste"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Gemeinschaft löschen"
|
||||
@@ -658,6 +680,99 @@ msgstr "Der Benutzer wird als Kontakt von %(peer_jid)s hinzugefügt."
|
||||
msgid "Created"
|
||||
msgstr "Erzeugt"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
msgid "Return to invitation list"
|
||||
msgstr "Zurück zur Einladungsliste"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
"Eingeschränkte Benutzer können mit anderen Benutzern auf dem selben Snikket-"
|
||||
"Server interagieren und Mitglieder in Gemeinschaften sein."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
"Wie eingeschränkte Benutzer, zusätzlich können normale Benutzer auch mit "
|
||||
"Benutzern auf anderen Snikket-Servern interagieren."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
"Wie normale Benutzer, zusätzlich können Administratoren auf den Adminbereich "
|
||||
"zugreifen."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Benutzer %(user_name)s bearbeiten"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
msgid "Edit user"
|
||||
msgstr "Benutzer bearbeiten"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr "Der Anmeldename kann nicht geändert werden."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
"Die Berechtigungen von Benutzern bestimmen, welche Interaktionen ihnen auf "
|
||||
"deinem Snikket-Server erlaubt sind."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
msgid "Return to user list"
|
||||
msgstr "Zurück zur Benutzerliste"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr "Weitere Aktionen"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
msgid "Reset password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"Wenn ein Benutzer das Passwort verloren oder vergessen hat, kannst du den "
|
||||
"folgenden Button verwenden um einen Link zu erzeugen. Dieser Link erlaubt es "
|
||||
"einmalig, das Passwort des Kontos zu ändern."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
msgid "Debug information"
|
||||
msgstr "Informationen zur Fehlerbehebung"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
"In seltenen Fällen kann es vorkommen, dass weiterführende Informationen über "
|
||||
"das Benutzerkonto sowie die verbundenen Geräte erforderlich sind um ein "
|
||||
"Problem zu beheben. Der folgende Button zeigt diese (teilweise vertraulichen)"
|
||||
" Informationen an."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
msgid "Show debug information"
|
||||
msgstr "Debugging-Informationen anzeigen"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Willkommen im Adminbereich!"
|
||||
@@ -712,7 +827,7 @@ msgstr "Ausstehende Einladungen"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Läuft ab"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -755,15 +870,21 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Link zerstören"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Debugging-Informationen für %(user_name)s anzeigen"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr "Der Benutzer ist ein Administrator."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Link zum Zurücksetzen des Passwortes von %(user_name)s erzeugen"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr " (Administrator)"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr "Dieser Benutzer ist eingeschränkt."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr " (Eingeschränkt)"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -854,18 +975,20 @@ 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:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "App öffnen"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Dieser Knopf funktioniert nur, wenn du die App schon installiert hast!"
|
||||
|
||||
@@ -963,7 +1086,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:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -979,7 +1102,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternativen"
|
||||
|
||||
@@ -1068,14 +1191,19 @@ msgid "Get it on Google Play"
|
||||
msgstr "Von Google Play installieren"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Laden im App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr "Hole die App von F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr "An mobiles Gerät übertragen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1084,7 +1212,7 @@ msgstr ""
|
||||
"ein Benutzerkonto anzulegen. Falls nicht, tippe einfach auf die folgende "
|
||||
"Schaltfläche."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1096,16 +1224,20 @@ msgstr ""
|
||||
"dass du <a href=\"%(register_url)s\">manuell ein Benutzerkonto anlegen</a> "
|
||||
"musst."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Einladungscode scannen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1114,22 +1246,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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Mit einem QR-Code-Scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Mit der Snikket-App"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Benutze einen <em>QR-Code</em>-Scanner auf deinem mobilen Gerät um den "
|
||||
"untenstehenden Code zu scannen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1137,6 +1269,51 @@ msgstr ""
|
||||
"Installiere die Snikket-App auf deinem mobilen Gerät, öffne sie und tippe "
|
||||
"dann auf den 'Scan'-Knopf in der oberen Leiste."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installation auf iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Nachdem du Snikket vom App Store heruntergeladen hast musst du zu diesem "
|
||||
"Einladungslink zurückkehren und \"App öffnen\" antippen um fortzufahren."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Lade zunächst Snikket aus dem App Store herunter indem du den folgenden "
|
||||
"Button benutzt:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
"Nachdem die Installation abgeschlossen ist kannst du zu dieser Seite "
|
||||
"zurückkehren und unten auf \"App öffnen\" tippen um die Einrichtung "
|
||||
"abzuschließen:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installation über F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Nachdem du Snikket über F-Droid installiert hast, musst du auf diese Seite "
|
||||
"zurückkehren und \"App öffnen\" antippen um fortzufahren."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Installiere Snikket zunächst aus F-Droid mit dem folgenden Button:"
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Link kopieren"
|
||||
@@ -1170,30 +1347,22 @@ msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr ""
|
||||
"Gib deine Snikket-Adresse und -Passwort ein um dein Konto zu verwalten."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Anmeldung fehlgeschlagen"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr "Ungültiges Passwort"
|
||||
msgstr "Ungültige Adresse"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, 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 ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Aktion erfolgreich"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1271,11 +1440,11 @@ msgstr "Dein Profil bearbeiten"
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Sichtbarkeit"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1283,27 +1452,15 @@ msgstr ""
|
||||
"Hier kannst du einstellen, wer deine Profilinformationen, wie Bild oder "
|
||||
"Anzeigename einsehen kann."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Link zum Zurücksetzen des Passwortes von %(user_name)s erzeugen"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Anmeldung fehlgeschlagen"
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Nicht am Smartphone?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Benutzer %(user_name)s bearbeiten"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "Benutzerinformationen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "Wenn ein Benutzer das Passwort vergessen hat, kannst du den folgenden "
|
||||
#~ "Button benutzen um einen Link zum Zurücksetzen des Passworts zu erzeugen. "
|
||||
#~ "Dieser Link kann dann ein einziges Mal verwendet werden um das Passwort "
|
||||
#~ "des Kontos zu ändern. Lasse den Link dem Benutzer auf einem sicheren "
|
||||
#~ "Übertragungsweg zukommen."
|
||||
|
||||
#~ msgid "No users left"
|
||||
#~ msgstr "Keine Benutzer übrig"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+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-"
|
||||
@@ -20,280 +20,349 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "Admin area"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#: snikket_web/admin.py:83
|
||||
#, fuzzy
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "Update circle"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Create password reset link"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
#, 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
|
||||
#: snikket_web/admin.py:120
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:193
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:205
|
||||
#, 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
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individual"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Group"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#: snikket_web/admin.py:343
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#: snikket_web/admin.py:359
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#: snikket_web/admin.py:374
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#: snikket_web/admin.py:426
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Update circle"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#: snikket_web/admin.py:475
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#: snikket_web/admin.py:512
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#: snikket_web/admin.py:518
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#: snikket_web/admin.py:529
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#: snikket_web/admin.py:538
|
||||
#, 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
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm password"
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Create account"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
#: snikket_web/invite.py:150
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "That username is already taken"
|
||||
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registration was declined for unknown reasons"
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "The username is not valid"
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Change password"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid username or password."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
#: snikket_web/user.py:41
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
#: snikket_web/user.py:99
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#: snikket_web/user.py:103
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
@@ -421,7 +490,7 @@ msgstr "Members"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
@@ -496,12 +565,12 @@ msgid "Copy complete output"
|
||||
msgstr "Copy complete output"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Delete user %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Delete user"
|
||||
|
||||
@@ -509,11 +578,6 @@ msgstr "Delete user"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Are you sure you want to delete the following user?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Danger"
|
||||
@@ -529,12 +593,10 @@ msgstr ""
|
||||
"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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
|
||||
@@ -566,6 +628,10 @@ msgstr "Circle information"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "This circle has no group chat associated."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Delete circle"
|
||||
@@ -650,6 +716,105 @@ msgstr "The user will get added as contact of %(peer_jid)s."
|
||||
msgid "Created"
|
||||
msgstr "Created"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to invitation list"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Edit user %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Add user"
|
||||
msgid "Edit user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to user list"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
#, fuzzy
|
||||
#| msgid "Reset your password"
|
||||
msgid "Reset password"
|
||||
msgstr "Reset your password"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "If the user has forgotten their password, use the below button to create "
|
||||
#| "a password reset link. The password reset link can be used once to change "
|
||||
#| "the password of the account. Transmit the link to the user via a secure "
|
||||
#| "channel."
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"If the user has forgotten their password, use the below button to create a "
|
||||
"password reset link. The password reset link can be used once to change the "
|
||||
"password of the account. Transmit the link to the user via a secure channel."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "Debug information"
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
#, fuzzy
|
||||
#| msgid "Show debug information for %(user_name)s"
|
||||
msgid "Show debug information"
|
||||
msgstr "Show debug information for %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Welcome to the admin panel!"
|
||||
@@ -746,15 +911,25 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Destroy link"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Show debug information for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The user is an administrator."
|
||||
msgstr "The username is not valid"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Create password reset link for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The user is restricted."
|
||||
msgstr "The username is not valid"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -841,18 +1016,20 @@ msgstr ""
|
||||
"inside the app by clicking on the button below:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "Open the app"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "This button works only if you have the app installed already!"
|
||||
|
||||
@@ -946,7 +1123,7 @@ msgstr ""
|
||||
"Scan button at the top."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -961,7 +1138,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatives"
|
||||
|
||||
@@ -1048,14 +1225,19 @@ msgid "Get it on Google Play"
|
||||
msgstr "Get it on Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Download on the App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1063,7 +1245,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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1074,16 +1256,20 @@ msgstr ""
|
||||
"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:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scan invite code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1091,21 +1277,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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Using a QR code scanner"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Using the Snikket app"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1113,6 +1299,42 @@ msgstr ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Copy link"
|
||||
@@ -1141,17 +1363,13 @@ msgstr "Snikket Login"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Enter your Snikket address and password to manage your account."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Login failed"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#: snikket_web/templates/login.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
@@ -1162,10 +1380,6 @@ msgstr ""
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Welcome!"
|
||||
@@ -1241,11 +1455,11 @@ msgstr "Update your profile"
|
||||
msgid "Profile"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1253,26 +1467,15 @@ msgstr ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Create password reset link for %(user_name)s"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Login failed"
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Not on mobile?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edit user %(user_name)s"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "User information"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
|
||||
#~ msgid "No users left"
|
||||
#~ msgstr "No users left"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+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/"
|
||||
@@ -20,288 +20,351 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
#| msgid "Admin dashboard"
|
||||
msgid "Administrator"
|
||||
msgstr "Admin dashboard"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#: snikket_web/admin.py:83
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Update user"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Create password reset link"
|
||||
msgstr "Create password reset links or delete users."
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
#, 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
|
||||
#: snikket_web/admin.py:120
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Delete user permanently"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:193
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Password reset link for %(user_name)s"
|
||||
|
||||
#: snikket_web/admin.py:205
|
||||
#, 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
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "At least one circle must be selected"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Valid for"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "One hour"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Twelve hours"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "One day"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "One week"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Four weeks"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Revoke"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#: snikket_web/admin.py:343
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#: snikket_web/admin.py:359
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#: snikket_web/admin.py:374
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Invitation type"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#: snikket_web/admin.py:426
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Select user"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Update circle"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Delete circle permanently"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#: snikket_web/admin.py:475
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "No circles"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#: snikket_web/admin.py:512
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "Circle name"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#: snikket_web/admin.py:518
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "Circle deleted"
|
||||
msgstr "deleted"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#: snikket_web/admin.py:529
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "Invite to circle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#: snikket_web/admin.py:538
|
||||
#, 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
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Main"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
#, fuzzy
|
||||
#| msgid "Confirm new password"
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "The passwords must match"
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
#, fuzzy
|
||||
#| msgid "Create circle"
|
||||
msgid "Create account"
|
||||
msgstr "Create circle"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Change password"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
#, fuzzy
|
||||
#| msgid "Invalid user name or password."
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Invalid user name or password."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Current password"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirm new password"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
#: snikket_web/user.py:41
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "The new passwords must match"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Sign out"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Nobody"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Friends only"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Everyone"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Display name"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Profile visibility"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Update profile"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
#: snikket_web/user.py:99
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#: snikket_web/user.py:103
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
msgid "Password changed"
|
||||
msgstr "Password change failed"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
@@ -426,7 +489,7 @@ msgstr "Members"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
@@ -502,12 +565,12 @@ msgid "Copy complete output"
|
||||
msgstr "Copy complete output"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Delete user %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Delete user"
|
||||
|
||||
@@ -515,11 +578,6 @@ msgstr "Delete user"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Are you sure you want to delete the following user?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Login name"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Danger"
|
||||
@@ -532,12 +590,10 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: 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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
|
||||
@@ -573,6 +629,10 @@ msgstr "Circle information"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Delete circle"
|
||||
@@ -657,6 +717,105 @@ msgstr ""
|
||||
msgid "Created"
|
||||
msgstr "Created"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to invitation list"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Edit user %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Add user"
|
||||
msgid "Edit user"
|
||||
msgstr "Add user"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to user list"
|
||||
msgstr "New invitation link"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
#, fuzzy
|
||||
#| msgid "Change your password"
|
||||
msgid "Reset password"
|
||||
msgstr "Change your password"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "If the user has forgotten their password, use the below button to create "
|
||||
#| "a password reset link. The password reset link can be used once to change "
|
||||
#| "the password of the account. Transmit the link to the user via a secure "
|
||||
#| "channel."
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"If the user has forgotten their password, use the below button to create a "
|
||||
"password reset link. The password reset link can be used once to change the "
|
||||
"password of the account. Transmit the link to the user via a secure channel."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "Debug information"
|
||||
msgstr "User information"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
#, fuzzy
|
||||
#| msgid "Show debug information for %(user_name)s"
|
||||
msgid "Show debug information"
|
||||
msgstr "Show debug information for %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Welcome to the administration dashboard!"
|
||||
@@ -761,15 +920,21 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Destroy link"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Show debug information for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Create password reset link for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -856,18 +1021,20 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -960,7 +1127,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -972,7 +1139,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -1050,20 +1217,25 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1071,42 +1243,82 @@ msgid ""
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
#, fuzzy
|
||||
#| msgid "Show invite details"
|
||||
msgid "Scan invite code"
|
||||
msgstr "Show invite details"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Copy link"
|
||||
@@ -1139,17 +1351,13 @@ msgstr "Snikket Login"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Enter your Snikket address and password to manage your account."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Login failed"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#: snikket_web/templates/login.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "Incorrect password"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
@@ -1160,10 +1368,6 @@ msgstr ""
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "Welcome!"
|
||||
@@ -1253,11 +1457,11 @@ msgstr "Update profile"
|
||||
msgid "Profile"
|
||||
msgstr "Profile"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1265,22 +1469,11 @@ msgstr ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edit user %(user_name)s"
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Create password reset link for %(user_name)s"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "User information"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Login failed"
|
||||
|
||||
#~ msgid "No users left"
|
||||
#~ msgstr "No users left"
|
||||
|
||||
BIN
snikket_web/translations/es_MX/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/es_MX/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
snikket_web/translations/fr/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/fr/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-16 12:02+0000\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+0100\n"
|
||||
"PO-Revision-Date: 2021-03-21 16:31+0000\n"
|
||||
"Last-Translator: Link Mauve <linkmauve@linkmauve.fr>\n"
|
||||
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/fr/>\n"
|
||||
@@ -17,284 +17,315 @@ 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:59
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Nom à afficher"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
msgid "User deleted"
|
||||
msgstr "supprimé"
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "Zone d’administration"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#: snikket_web/admin.py:83
|
||||
#, 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"
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "Mettre à jour le cercle"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#: snikket_web/admin.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
msgid "Password reset link deleted"
|
||||
msgid "Create password reset link"
|
||||
msgstr ""
|
||||
"Créer des liens de réinitialisation de mot de passe ou supprimer des "
|
||||
"utilisateurs."
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr "Lien de réinitialisation du mot de passe créé"
|
||||
|
||||
#: snikket_web/admin.py:120
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "Informations de l’utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Désinscrire définitivement l’utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr "Utilisateur supprimé"
|
||||
|
||||
#: snikket_web/admin.py:193
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link created"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Lien de réinitialisation du mot de passe créé"
|
||||
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Liens de réinitialisation de mot de passe supprimé"
|
||||
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Inviter dans le cercle"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Au moins un cercle doit être sélectionné"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Valide pour"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "Une heure"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Douze heures"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "Une journée"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "Une semaine"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Quatre semaines"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Type d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuelle"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Révoquer"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr "Type d’invitation"
|
||||
msgstr "Invitation créée"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
msgstr "Cette invitation n’existe pas"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Type d’invitation"
|
||||
msgstr "Invitation révoquée"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Créer un cercle"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr "Nom du cercle"
|
||||
msgstr "Cercle créé"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Sélectionner un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Mettre à jour le cercle"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Supprimer le cercle définitivement"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Ajouter un utilisateur"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr "Aucun cercle"
|
||||
msgstr "Ce cercle n’existe pas"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nom du cercle"
|
||||
msgstr "Données du cercle mises à jour"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr "supprimé"
|
||||
msgstr "Cercle supprimé"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr "Inviter dans le cercle"
|
||||
msgstr "Utilisateur ajouté à ce cercle"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr "Retirer l’utilisateur %(username)s du cercle"
|
||||
msgstr "Utilisateur retiré du cercle"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Principal"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Nom d’utilisateur"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmer le mot de passe"
|
||||
|
||||
#: 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:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr "Les mots de passe doivent être identiques."
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Créer un compte"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Ce nom d’utilisateur est déjà utilisé"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr "Ce nom d’utilisateur est déjà utilisé."
|
||||
|
||||
#: 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:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "L’enregistrement a été refusé pour des raisons inconnues."
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Le nom d’utilisateur n’est pas valide"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr "Le nom d’utilisateur n’est pas valide."
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Changer de mot de passe"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "S’identifier"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nom d’utilisateur ou mot de passe incorrect."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Connexion réussie !"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Mot de passe actuel"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Confirmer le nouveau mot de passe"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Les nouveaux mots de passe doivent être identiques"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Les nouveaux mots de passe doivent être identiques."
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Se déconnecter"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Personne"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Amis seulement"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
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:62
|
||||
msgid "Display name"
|
||||
msgstr "Nom à afficher"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilité du profil"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Mettre à jour le profil"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Mot de passe incorrect"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr "Mot de passe incorrect."
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr "Réinitialisation de mot de passe"
|
||||
msgstr "Mot de passe changé"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
"L’avatar choisi est trop gros. Pour utiliser un avatar aussi large, veuillez "
|
||||
"utiliser l’application."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profil mis à jour"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -306,6 +337,8 @@ msgid ""
|
||||
"“Snikket” and the parrot logo are trademarks of Snikket Community Interest "
|
||||
"Company."
|
||||
msgstr ""
|
||||
"« Snikket » et le logo 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"
|
||||
@@ -367,7 +400,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Marques"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -376,6 +409,9 @@ msgid ""
|
||||
"Company. For more information about the trademarks, visit the <a href="
|
||||
"\"%(trademarks_url)s\">Snikket Trademarks information page</a>."
|
||||
msgstr ""
|
||||
"« Snikket » et le logo perroquet sont des marques de la Snikket Community "
|
||||
"Interest Company. Pour plus d’informations sur la marque, visitez la <a href="
|
||||
"\"%(trademarks_url)s\"> page d’information sur les marques Snikket</a>."
|
||||
|
||||
#: snikket_web/templates/about.html:19
|
||||
msgid "Software Versions"
|
||||
@@ -422,7 +458,7 @@ msgstr "Membres"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
@@ -497,12 +533,12 @@ msgid "Copy complete output"
|
||||
msgstr "Copier le journal entier"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Désinscrire l’utilisateur %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Désinscrire un utilisateur"
|
||||
|
||||
@@ -510,11 +546,6 @@ msgstr "Désinscrire un utilisateur"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Êtes-vous certain(e) de vouloir désinscrire l’utilisateur suivant ?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Danger"
|
||||
@@ -530,12 +561,10 @@ msgstr ""
|
||||
"impossible de revenir en arrière !</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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
@@ -568,6 +597,10 @@ msgstr "Information sur le cercle"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Ce cercle n’a pas de conversation de groupe associée."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Supprimer le cercle"
|
||||
@@ -653,6 +686,106 @@ msgstr "L’utilisateur sera ajouté en tant que contact de %(peer_jid)s."
|
||||
msgid "Created"
|
||||
msgstr "Créé le"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to invitation list"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Modifier l’utilisateur %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Add user"
|
||||
msgid "Edit user"
|
||||
msgstr "Ajouter un utilisateur"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to user list"
|
||||
msgstr "Nouveau lien d’invitation"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
#, fuzzy
|
||||
#| msgid "Reset your password"
|
||||
msgid "Reset password"
|
||||
msgstr "Réinitialiser votre mot de passe"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "If the user has forgotten their password, use the below button to create "
|
||||
#| "a password reset link. The password reset link can be used once to change "
|
||||
#| "the password of the account. Transmit the link to the user via a secure "
|
||||
#| "channel."
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"Si l’utilisateur a oublié son mot de passe, utilisez le bouton ci-dessous "
|
||||
"pour créer un lien de réinitialisation du mot de passe. Ce lien peut-être "
|
||||
"utilisé une fois pour changer le mot de passe du compte. Assurez-vous de "
|
||||
"communiquer le lien de façon sécurisée."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "Debug information"
|
||||
msgstr "Informations de l’utilisateur"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
#, fuzzy
|
||||
#| msgid "Show debug information for %(user_name)s"
|
||||
msgid "Show debug information"
|
||||
msgstr "Afficher les informations de débogage pour %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Bienvenue sur votre panneau d’administration !"
|
||||
@@ -707,8 +840,9 @@ msgid "Pending invitations"
|
||||
msgstr "Invitations en attente"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
#, fuzzy
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Expires"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -751,15 +885,25 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Supprimer le lien"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Afficher les informations de débogage pour %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid."
|
||||
msgid "The user is an administrator."
|
||||
msgstr "Le nom d’utilisateur n’est pas valide."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Crée un lien de réinitialisation de mot de passe pour %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid."
|
||||
msgid "The user is restricted."
|
||||
msgstr "Le nom d’utilisateur n’est pas valide."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -849,18 +993,20 @@ 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:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "Ouvrir l’application"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
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 !"
|
||||
|
||||
@@ -959,7 +1105,7 @@ msgstr ""
|
||||
"utilisant le bouton Scan tout en haut."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -976,7 +1122,7 @@ msgstr ""
|
||||
"compte."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:29
|
||||
#: snikket_web/templates/invite_view.html:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatives"
|
||||
|
||||
@@ -1067,14 +1213,20 @@ msgid "Get it on Google Play"
|
||||
msgstr "Obtenez-la sur Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Télécharger sur l’App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
#, fuzzy
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Envoyer vers l'appareil"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1083,7 +1235,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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1095,16 +1247,20 @@ msgstr ""
|
||||
"application, vous devrez peut-être <a href=\"%(register_url)s\">enregistrer "
|
||||
"un compte manuellement</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scanner le code d’invitation"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1113,22 +1269,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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "En utilisant un scanner de QR code"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "En utilisant l’application Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Utilisez un scanner de <em>QR code</em> sur votre appareil mobile pour "
|
||||
"scanner le code ci-dessous :"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1136,6 +1292,42 @@ msgstr ""
|
||||
"Installez l’application Snikket sur votre appareil mobile, ouvrez-la et "
|
||||
"appuyez sur le bouton « Scan » en haut."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installer sur iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installer via F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Copier le lien"
|
||||
@@ -1165,30 +1357,22 @@ msgstr "Connexion à Snikket"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Entrez votre adresse et mot de passe Snikket pour gérer votre compte."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Échec d’identification"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr "Mot de passe incorrect"
|
||||
msgstr "Adresse incorrecte"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
"em>. Your password was not sent."
|
||||
msgstr ""
|
||||
"Ce 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
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Opération réussie"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1266,11 +1450,11 @@ msgstr "Mettre à jour votre profil"
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilité"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1278,26 +1462,15 @@ msgstr ""
|
||||
"Cette section permet de configurer qui peut voir votre profil, comme par "
|
||||
"exemple votre avatar et votre pseudonyme."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Crée un lien de réinitialisation de mot de passe pour %(user_name)s"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Échec d’identification"
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Pas sur mobile ?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Modifier l’utilisateur %(user_name)s"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "Informations de l’utilisateur"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "Si l’utilisateur a oublié son mot de passe, utilisez le bouton ci-dessous "
|
||||
#~ "pour créer un lien de réinitialisation du mot de passe. Ce lien peut-être "
|
||||
#~ "utilisé une fois pour changer le mot de passe du compte. Assurez-vous de "
|
||||
#~ "communiquer le lien de façon sécurisée."
|
||||
|
||||
#~ msgid "<label for=\"link-field\">Link</label>"
|
||||
#~ msgstr "<label for=\"link-field\">Lien</label>"
|
||||
|
||||
|
||||
BIN
snikket_web/translations/id/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/id/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
@@ -7,292 +7,313 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-02 21:01+0000\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+0100\n"
|
||||
"PO-Revision-Date: 2021-05-19 15:12+0000\n"
|
||||
"Last-Translator: uira <inboxriau@andriana.id>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/id/>\n"
|
||||
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/id/>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr "Terbatas"
|
||||
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Nama login"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Nama tampilan"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr "Level akses"
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr "Pengguna normal"
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
msgid "Update user"
|
||||
msgstr "Memperbarui pengguna"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
msgid "Create password reset link"
|
||||
msgstr "Buat tautan setel ulang kata sandi"
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr "Tautan setel ulang kata sandi dibuat"
|
||||
|
||||
#: snikket_web/admin.py:120
|
||||
msgid "User information updated."
|
||||
msgstr "Informasi pengguna diperbarui."
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Hapus permanen pengguna"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr "Dihapus"
|
||||
msgstr "Pengguna dihapus"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Tautan setel ulang kata sandi %(user_name)s"
|
||||
#: snikket_web/admin.py:193
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Tautan setel ulang kata sandi tidak ditemukan"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Buat tautan setel ulang kata sandi atau hapus pengguna."
|
||||
msgstr "Tautan setel ulang kata sandi dihapus"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Undang masuk kelompok"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Minimal satu kelompok harus dipilih"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Valid selama"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "Satu jam"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dua belas jam"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "Satu hari"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "Satu minggu"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Empat minggu"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Jenis undangan"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individu"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grup"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "Tautan undangan baru"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Batalkan"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr "Jenis undangan"
|
||||
msgstr "Undangan dibuat"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Tautan undangan baru"
|
||||
msgstr "Undangan tidak tersedia"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Jenis undangan"
|
||||
msgstr "Undangan dibatalkan"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Buat kelompok"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr "Nama kelompok"
|
||||
msgstr "Kelompok dibuat"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Pilih pengguna"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Memperbarui kelompok"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Hapus kelompok secara permanen"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Tambah pengguna"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr "Tidak ada kelompok"
|
||||
msgstr "Kelompok tersebut tidak ada"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nama kelompok"
|
||||
msgstr "Data kelompok diperbarui"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr "Dihapus"
|
||||
msgstr "Kelompok dihapus"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr "Undang masuk kelompok"
|
||||
msgstr "Pengguna ditambahkan ke kelompok"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr "Hapus pengguna %(username)s dari kelompok"
|
||||
msgstr "Pengguna dihapus dari kelompok"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Utama"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Nama pengguna"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
msgstr "Kata sandi harus cocok"
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr "Kata sandi harus cocok."
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Buat akun"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Nama pengguna itu sudah dipakai"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr "Nama pengguna itu sudah dipakai."
|
||||
|
||||
#: 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:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui."
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Nama pengguna tidak valid"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr "Nama pengguna tidak valid."
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Ganti kata sandi"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Alamat"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Masuk"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nama pengguna atau kata sandi salah."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Login berhasil!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Kata sandi sekarang"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "Kata sandi baru"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Konfirmasi kata sandi"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Kata sandi baru harus cocok"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Kata sandi baru harus cocok."
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Keluar"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Tak seorangpun"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Hanya teman"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Semua orang"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nama tampilan"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Gambar profil"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilitas profil"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Perbaharui profil"
|
||||
msgstr "Perbarui profil"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Kata sandi salah"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr "Kata sandi salah."
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr "Gagal mengganti kata kunci"
|
||||
msgstr "Kata sandi diganti"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
"Avatar yang dipilih terlalu besar. Untuk dapat mengunggah avatar yang lebih "
|
||||
"besar, sila gunakan aplikasi."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Profil diperbarui"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Kesalahan"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -304,6 +325,8 @@ 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"
|
||||
@@ -366,7 +389,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Merek dagang"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -375,6 +398,10 @@ msgid ""
|
||||
"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"
|
||||
@@ -421,7 +448,7 @@ msgstr "Anggota"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Tindakan"
|
||||
|
||||
@@ -496,12 +523,12 @@ msgid "Copy complete output"
|
||||
msgstr "Salin keluaran lengkap"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Hapus pengguna %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Hapus pengguna"
|
||||
|
||||
@@ -509,11 +536,6 @@ msgstr "Hapus pengguna"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Apakah anda yakin mau menghapus pengguna tersebut?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Nama login"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Berbahaya"
|
||||
@@ -529,12 +551,10 @@ msgstr ""
|
||||
"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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Kembali"
|
||||
|
||||
@@ -567,6 +587,10 @@ msgstr "Informasi kelompok"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Kelompok ini tidak memiliki percakapan grup."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr "Kembali ke daftar circle"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Hapus kelompok"
|
||||
@@ -656,6 +680,96 @@ msgstr "Pengguna akan ditambahkan ke kontak %(peer_jid)s."
|
||||
msgid "Created"
|
||||
msgstr "Dibuat"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
msgid "Return to invitation list"
|
||||
msgstr "Kembali ke daftar undangan"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
"Pengguna terbatas dapat berinteraksi dengan pengguna di layanan Snikket yang "
|
||||
"sama dan menjadi anggota kelompok."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
"Seperti pengguna terbatas dan juga dapat berinteraksi dengan pengguna di "
|
||||
"layanan Snikket lain."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr "Seperti pengguna biasa dan dapat mengakses panel admin di portal web."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Edit pengguna %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
msgid "Edit user"
|
||||
msgstr "Edit pengguna"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr "Nama login tidak dapat diganti."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
"Level akses pengguna menentukan interaksi apa yang diizinkan untuk mereka di "
|
||||
"layanan Snikket Anda."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
msgid "Return to user list"
|
||||
msgstr "Kembali ke daftar pengguna"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr "Tindakan lanjutan"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
msgid "Reset password"
|
||||
msgstr "Setel kata sandi"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"Jika pengguna lupa kata sandi, Anda dapat menggunakan tombol di bawah ini "
|
||||
"untuk membuat tautan khusus yang memungkinkan untuk mengubah kata sandi "
|
||||
"akun, sekali."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
msgid "Debug information"
|
||||
msgstr "Informasi debug"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
"Dalam beberapa kasus, informasi tambahan tentang akun pengguna dan perangkat "
|
||||
"yang terhubung diperlukan untuk memecahkan masalah. Tombol di bawah "
|
||||
"mengungkapkan informasi (sensitif) ini."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
msgid "Show debug information"
|
||||
msgstr "Tampilkan informasi debug"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Selamat datang di panel administrator!"
|
||||
@@ -709,7 +823,7 @@ msgstr "Undangan menunggu jawaban"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Kadaluarsa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -752,15 +866,21 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Hancurkan tautan"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Lihat informasi debug untuk %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr "Pengguna adalah administrator."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Buat tautan setel ulang kata sandi untuk %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr " (Admin)"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr "Pengguna terbatas."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr " (Terbatas)"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -849,18 +969,20 @@ msgstr ""
|
||||
"menggunakan aplikasi dengan mengklik tombol di bawah ini:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "Buka aplikasi"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr "Tombol ini hanya berfungsi jika Anda sudah memasang aplikasinya!"
|
||||
|
||||
@@ -958,7 +1080,7 @@ msgstr ""
|
||||
"tombol Pindai di bagian atas."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -973,7 +1095,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternatif"
|
||||
|
||||
@@ -1059,14 +1181,19 @@ msgid "Get it on Google Play"
|
||||
msgstr "Dapatkan di Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Unduh di App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr "Dapatkan di F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Dikirim ke telepon seluler"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1074,7 +1201,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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1085,16 +1212,20 @@ 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:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Pindai kode undangan"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1103,22 +1234,22 @@ msgstr ""
|
||||
"kode dengan kamera. Anda dapat menggunakan aplikasi pemindai QR atau "
|
||||
"aplikasi Snikket."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Menggunakan pemindai kode QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Menggunakan Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Gunakan pemindai <em>kode QR</em> di perangkat seluler Anda untuk memindai "
|
||||
"kode di bawah:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1126,6 +1257,48 @@ msgstr ""
|
||||
"Instal aplikasi Snikket di perangkat seluler Anda, buka, dan ketuk tombol "
|
||||
"'Pindai'."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr "Pasang di iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Setelah mengunduh Snikket dari App Store, Anda harus kembali ke tautan "
|
||||
"undangan ini dan klik \"Buka aplikasi\" untuk melanjutkan."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr "Pertama, unduh Snikket dari App Store menggunakan tombol di bawah ini:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
"Setelah instalasi selesai, Anda dapat kembali ke halaman ini dan mengetuk "
|
||||
"tombol \"Buka aplikasi\" untuk melanjutkan pemasangan:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Install melalui F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Setelah menginstal Snikket melalui F-Droid, Anda harus kembali ke tautan "
|
||||
"undangan ini dan ketuk \"Buka aplikasi\" untuk melanjutkan."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr "Pertama install Snikket dari F-Droid menggunakan tombol di bawah ini:"
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Salin tautan"
|
||||
@@ -1155,30 +1328,22 @@ msgstr "Login Snikket"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Ketik alamat Snikket dan kata sandinya untuk mengelola akun anda."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Percobaan masuk gagal"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr "Kata sandi salah"
|
||||
msgstr "Alamat salah"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, 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 ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Operasi berhasil"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1249,17 +1414,17 @@ msgstr ""
|
||||
|
||||
#: 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:6
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilitas"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1267,26 +1432,15 @@ msgstr ""
|
||||
"Bagian ini memungkinkan Anda untuk mengontrol siapa yang bisa melihat profil "
|
||||
"Anda, seperti avatar dan nama panggilan."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Buat tautan setel ulang kata sandi untuk %(user_name)s"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Percobaan masuk gagal"
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Bukan di ponsel?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edit pengguna %(user_name)s"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "Informasi pengguna"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "Jika pengguna lupa kata sandi, gunakan tombol di bawah untuk membuat "
|
||||
#~ "tautan setel ulang kata sandi. Tautan pengaturan ulang kata sandi dapat "
|
||||
#~ "digunakan satu kali untuk mengubah kata sandi akun. Kirimkan link ke "
|
||||
#~ "pengguna melalui saluran aman."
|
||||
|
||||
#~ msgid "<label for=\"link-field\">Link</label>"
|
||||
#~ msgstr "<label for=\"link-field\">Tautan</label>"
|
||||
|
||||
|
||||
BIN
snikket_web/translations/it/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/it/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
@@ -7,292 +7,313 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\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: Italian <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/it/>\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+0100\n"
|
||||
"PO-Revision-Date: 2021-05-19 15:12+0000\n"
|
||||
"Last-Translator: Roberto Resoli <roberto@resolutions.it>\n"
|
||||
"Language-Team: Italian <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr "Limitato"
|
||||
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr "Livello di accesso"
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr "Utente normale"
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
msgid "Administrator"
|
||||
msgstr "Amministratore"
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
msgid "Update user"
|
||||
msgstr "Aggiorna utente"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
msgid "Create password reset link"
|
||||
msgstr "Crea collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr "Creato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:120
|
||||
msgid "User information updated."
|
||||
msgstr "Informazioni utente aggiornate."
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Elimina definitivamente l'utente"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr "rimosso"
|
||||
msgstr "Utente rimosso"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Collegamento per reimpostare la password di %(user_name)s"
|
||||
#: snikket_web/admin.py:193
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Collegamento per reimpostare la password non trovato"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Crea collegamenti per reimpostare le password oppure elimina utenti."
|
||||
msgstr "Eliminato collegamento per reimpostare la password"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Invita nella cerchia"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Devi selezionare almeno una cerchia"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Valido per"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "Un'ora"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dodici ore"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "Un giorno"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "Una settimana"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Quattro settimane"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Tipo di invito"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Individuale"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Gruppo"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "Nuovo collegamento di invito"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Revoca"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr "Tipo di invito"
|
||||
msgstr "Invito creato"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nuovo collegamento di invito"
|
||||
msgstr "Questo invito non esiste"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Tipo di invito"
|
||||
msgstr "Invito revocato"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Crea cerchia"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr "Nome cerchia"
|
||||
msgstr "Cerchia creata"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Seleziona utente"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Modifica cerchia"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Elimina cerchia definitivamente"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Aggiungi utente"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr "Nessuna cerchia"
|
||||
msgstr "Questa cerchia non esiste"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nome cerchia"
|
||||
msgstr "Dati della cerchia aggiornati"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr "rimosso"
|
||||
msgstr "Cerchia eliminata"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr "Invita nella cerchia"
|
||||
msgstr "Utente aggiunto alla cerchia"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr "Rimuovi l'utente %(username)s dalla cerchia"
|
||||
msgstr "Utente rimosso dalla cerchia"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Principale"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Conferma password"
|
||||
|
||||
#: 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:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr "Le password devono essere identiche."
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Crea utenza"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Nome utente già in uso"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr "Nome utente già in uso."
|
||||
|
||||
#: 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:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Registrazione rifiutata per motivi sconosciuti."
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Nome utente non valido"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr "Nome utente non valido."
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Cambia password"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Indirizzo"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nome utente o password non validi."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Accesso riuscito!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Password attuale"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "Nuova password"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Conferma nuova password"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Le nuove password devono essere identiche"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Le nuove password devono essere identiche."
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Esci"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Nessuno"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Solo amici"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Chiunque"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Visibilità del profilo"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Modifica profilo"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Password errata"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr "Password errata."
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr "Reimposta password"
|
||||
msgstr "Password cambiata"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
"L'avatar scelto è troppo grande. Per utilizzare un avatar così grande, "
|
||||
"utilizzate l'app."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr "Profilo"
|
||||
msgstr "Profilo aggiornato"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -304,6 +325,8 @@ 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"
|
||||
@@ -366,7 +389,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Marchi registrati"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -375,6 +398,9 @@ msgid ""
|
||||
"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"
|
||||
@@ -421,7 +447,7 @@ msgstr "Membri"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Azioni"
|
||||
|
||||
@@ -496,12 +522,12 @@ msgid "Copy complete output"
|
||||
msgstr "Copia l'intero output"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Elimina utente %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Elimina utente"
|
||||
|
||||
@@ -509,11 +535,6 @@ msgstr "Elimina utente"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Sei sicura/o di volere eliminare il seguente utente?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Pericolo"
|
||||
@@ -529,12 +550,10 @@ msgstr ""
|
||||
"sarà possibile tornare sui propri passi!</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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
@@ -568,6 +587,10 @@ msgstr "Informazioni cerchia"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Questa cerchia non è collegata ad una chat di gruppo."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr "Ritorna alle lista delle cerchie"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Elimina cerchia"
|
||||
@@ -654,6 +677,98 @@ msgstr "L'utente verrà aggiunto come contatto di %(peer_jid)s."
|
||||
msgid "Created"
|
||||
msgstr "Creato"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
msgid "Return to invitation list"
|
||||
msgstr "Ritorna alla lista degli inviti"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
"Gli utenti limitati possono interagire con utenti sullo stesso servizio "
|
||||
"Snikket ed essere membri di cerchie."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
"Come gli utenti limitati, e possono anche interagire con utenti di altri "
|
||||
"servizi Snikket."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
"Come gli utenti normali e possono accedere al pannello amministrativo del "
|
||||
"portale web."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Modifica utente %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
msgid "Edit user"
|
||||
msgstr "Modifica utente"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr "Il nome di login non può essere cambiato."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
"Il livello di accesso di un utente determina quali interazioni gli sono "
|
||||
"consentite sul tuo servizio Snikket."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
msgid "Return to user list"
|
||||
msgstr "Ritorna alla lista utenti"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr "Azioni ulteriori"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
msgid "Reset password"
|
||||
msgstr "Reimposta la password"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"Se l'utente ha perso la sua password, è possibile utilizzare il pulsante qui "
|
||||
"sotto per creare un link speciale che permette di cambiare la password "
|
||||
"dell'account, una sola volta."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
msgid "Debug information"
|
||||
msgstr "Informazioni diagnostiche"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
"In alcuni casi, informazioni estese sull'account utente e sui dispositivi "
|
||||
"collegati sono necessarie per risolvere i problemi. Il pulsante qui sotto "
|
||||
"rivela queste informazioni (sensibili)."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
msgid "Show debug information"
|
||||
msgstr "Mostra informazioni diagnostiche"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Benvenuta/o nel pannello amministrativo!"
|
||||
@@ -707,7 +822,7 @@ msgstr "Inviti in attesa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Scade"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -750,15 +865,21 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Elimina collegamento"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Mostra informazioni diagnostiche per %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr "L'utente è un amministratore."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Crea collegamento per reimpostare la password di %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr " (Amministratore)"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr "L'utente è limitato."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr " (Limitato)"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -847,18 +968,20 @@ msgstr ""
|
||||
"sottostante:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "Apri l'applicazione"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
"Questo pulsante funziona soltanto se hai già installato l'applicazione!"
|
||||
@@ -956,7 +1079,7 @@ msgstr ""
|
||||
"Snikket utilizzando il pulsante di scansione in alto."
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -971,7 +1094,7 @@ 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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Alternative"
|
||||
|
||||
@@ -1061,14 +1184,19 @@ msgid "Get it on Google Play"
|
||||
msgstr "Scarica da Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Scarica dall'App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr "Scaricalo da F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Invia a dispositivo mobile"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1077,7 +1205,7 @@ msgstr ""
|
||||
"automaticamente chiedendo di creare un'utenza. Se non succede premi il "
|
||||
"pulsante sottostante."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1088,16 +1216,20 @@ msgstr ""
|
||||
"il pulsante sopra non funziona potresti dover <a href=\"%(register_url)s"
|
||||
"\">registrare l'utenza manualmente</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Scansiona il codice di invito"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1106,22 +1238,22 @@ msgstr ""
|
||||
"con la fotocamera. Puoi usare un lettore di codici QR o l'applicazione "
|
||||
"Snikket stessa."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Usa un lettore di codici QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Usa l'applicazione Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Usa un lettore di <em>codici QR</em> sul tuo dispositivo mobile per "
|
||||
"scansionare il seguente codice:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1129,6 +1261,51 @@ msgstr ""
|
||||
"Installa l'applicazione Snikket sul tuo dispositivo mobile, aprila e poi "
|
||||
"premi il pulsante di scansione in alto."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr "Installa su iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Dopo aver scaricato Snikket dall'App Store, devi tornare a questo link di "
|
||||
"invito e toccare \"Apri nell'app\" per procedere."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Per prima cosa, scarica Snikket dall'App Store utilizzando il pulsante qui "
|
||||
"sotto:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
"Dopo che l'installazione è completa, puoi tornare a questa pagina e toccare "
|
||||
"il pulsante \"Apri nell'app\" per continuare con la configurazione:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Installa da F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Dopo aver installato Snikket da F-Droid, devi tornare a questo link di "
|
||||
"invito e toccare su \"Apri nell'app\" per procedere."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
"Per prima cosa installa Snikket da F-Droid utilizzando il pulsante qui sotto:"
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Copia collegamento"
|
||||
@@ -1161,30 +1338,22 @@ msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr ""
|
||||
"Inserisci il tuo indirizzo Snikket e la password per gestire la tua utenza."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Accesso non riuscito"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr "Password errata"
|
||||
msgstr "Indirizzo errato"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, 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 ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Operazione completata"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1261,11 +1430,11 @@ msgstr "Modifica il tuo profilo"
|
||||
msgid "Profile"
|
||||
msgstr "Profilo"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Visibilità"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1273,5 +1442,11 @@ msgstr ""
|
||||
"Questa sezione ti permette di controllare chi può visualizzare i dettagli "
|
||||
"del tuo profilo, come ad esempio l'avatar o il soprannome."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Crea collegamento per reimpostare la password di %(user_name)s"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Accesso non riuscito"
|
||||
|
||||
#~ 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-02-23 07:55+0100\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+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-"
|
||||
@@ -20,278 +20,347 @@ msgstr ""
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
msgid "Delete user permanently"
|
||||
msgstr "ユーザーを削除する"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "ロゲイン名"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "表示名"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
#, fuzzy
|
||||
#| msgid "Admin area"
|
||||
msgid "Administrator"
|
||||
msgstr "管理"
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
#, fuzzy
|
||||
#| msgid "Update circle"
|
||||
msgid "Update user"
|
||||
msgstr "サークルを更新"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Create password reset link"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#: snikket_web/admin.py:120
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "User information updated."
|
||||
msgstr "ユーザー詳細"
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "ユーザーを削除する"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:193
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link not found"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:205
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "%(user_name)s のパスワード再設定リンク"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "サークルを選択してください"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "有効期限"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "一時間"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "12時間"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "一日"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "一週間"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "4週間"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "一回"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "複数回"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "取り消す"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#: snikket_web/admin.py:343
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation created"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#: snikket_web/admin.py:359
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "No such invitation exists"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#: snikket_web/admin.py:374
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
msgid "Invitation revoked"
|
||||
msgstr "紹介の種類"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "名"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "サークルを作成"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#: snikket_web/admin.py:426
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle created"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "ユーザー選択"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "サークルを更新"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "サークルを削除"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "ユーザーを追加する"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#: snikket_web/admin.py:475
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
msgid "No such circle exists"
|
||||
msgstr "なし"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#: snikket_web/admin.py:512
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
msgid "Circle data updated"
|
||||
msgstr "サークル名"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#: snikket_web/admin.py:518
|
||||
#, fuzzy
|
||||
#| msgid "Circle members"
|
||||
msgid "Circle deleted"
|
||||
msgstr "サークル会員"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#: snikket_web/admin.py:529
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
msgid "User added to circle"
|
||||
msgstr "サークルに紹介する"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#: snikket_web/admin.py:538
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
msgid "User removed from circle"
|
||||
msgstr "%(username)s をサークルから外す"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "第一サークル"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "ユーザー名"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "確認用パスワード"
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
#, fuzzy
|
||||
#| msgid "The passwords must match"
|
||||
msgid "The passwords must match."
|
||||
msgstr "確認用パスワードが一致しません"
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "アカウント作成"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
#: snikket_web/invite.py:150
|
||||
#, fuzzy
|
||||
#| msgid "That username is already taken"
|
||||
msgid "That username is already taken."
|
||||
msgstr "このユーザー名は存在しています"
|
||||
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
#, fuzzy
|
||||
#| msgid "Registration was declined for unknown reasons"
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "理由不明の登録エラー"
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
#: snikket_web/invite.py:158
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The username is not valid."
|
||||
msgstr "ユーザー名が不正"
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "アドレス"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "サインイン"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "ユーザー名またはパスワードが不正。"
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "現在のパスワード"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "新しいパスワード"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "新しいパスワードの確認"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
#: snikket_web/user.py:41
|
||||
#, fuzzy
|
||||
#| msgid "The new passwords must match"
|
||||
msgid "The new passwords must match."
|
||||
msgstr "新しいパスワードが不一致"
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "サインアウト"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "コンタクト限定"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "全員"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "表示名"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "アバター"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "プロファイル管理"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
#: snikket_web/user.py:99
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect password."
|
||||
msgstr "パスワード不正"
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#: snikket_web/user.py:103
|
||||
#, fuzzy
|
||||
#| msgid "Password reset"
|
||||
msgid "Password changed"
|
||||
msgstr "パスワード再設定"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
msgid "Profile updated"
|
||||
msgstr "プロファイル"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
@@ -405,7 +474,7 @@ msgstr "サークル員"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "操作"
|
||||
|
||||
@@ -476,12 +545,12 @@ msgid "Copy complete output"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "%(user_name)s を削除"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "ユーザー削除"
|
||||
|
||||
@@ -489,11 +558,6 @@ msgstr "ユーザー削除"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "本当にこのユーザーを削除していいですか?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "ロゲイン名"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "警告"
|
||||
@@ -508,12 +572,10 @@ msgstr ""
|
||||
"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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "戻る"
|
||||
|
||||
@@ -545,6 +607,10 @@ msgstr "詳細"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "サークル削除"
|
||||
@@ -628,6 +694,96 @@ msgstr ""
|
||||
msgid "Created"
|
||||
msgstr "作成時"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to invitation list"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "%(user_name)s を更新"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Add user"
|
||||
msgid "Edit user"
|
||||
msgstr "ユーザーを追加する"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
msgid "Return to user list"
|
||||
msgstr "新しい紹介状"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
#, fuzzy
|
||||
#| msgid "Change your password"
|
||||
msgid "Reset password"
|
||||
msgstr "パスワード変更"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "Debug information"
|
||||
msgstr "ユーザー詳細"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
#, fuzzy
|
||||
#| msgid "User information"
|
||||
msgid "Show debug information"
|
||||
msgstr "ユーザー詳細"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
#, fuzzy
|
||||
#| msgid "Back to the main page"
|
||||
@@ -734,14 +890,24 @@ msgstr "このリンクはパスワードを一回きり再設定可能にする
|
||||
msgid "Destroy link"
|
||||
msgstr "リンク取り消す"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The user is an administrator."
|
||||
msgstr "ユーザー名が不正"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, fuzzy
|
||||
#| msgid "The username is not valid"
|
||||
msgid "The user is restricted."
|
||||
msgstr "ユーザー名が不正"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
@@ -827,18 +993,20 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -931,7 +1099,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -943,7 +1111,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -1022,20 +1190,25 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1043,40 +1216,80 @@ msgid ""
|
||||
"\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "紹介状をスキャン"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "閉める"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "リンクをコピーする"
|
||||
@@ -1105,17 +1318,13 @@ msgstr "Snikket ログイン"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#: snikket_web/templates/login.html:19
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
msgid "Incorrect address"
|
||||
msgstr "パスワード不正"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in <em>@%(snikket_domain)s</"
|
||||
@@ -1126,10 +1335,6 @@ msgstr ""
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr "ようこそ!"
|
||||
@@ -1210,22 +1415,16 @@ msgstr "プロファイル管理"
|
||||
msgid "Profile"
|
||||
msgstr "プロファイル"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "%(user_name)s を更新"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "ユーザー詳細"
|
||||
|
||||
#~ msgid "This circle cannot be modified"
|
||||
#~ msgstr "このサークルの更新ができません"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+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"
|
||||
@@ -17,252 +17,299 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
msgid "Delete user permanently"
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
msgid "User deleted"
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
msgid "Administrator"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
msgid "Update user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
msgid "Create password reset link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
msgid "Password reset link deleted"
|
||||
#: snikket_web/admin.py:120
|
||||
msgid "User information updated."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
msgid "Invite to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
msgid "Valid for"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
msgid "One hour"
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:193
|
||||
msgid "Password reset link not found"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:116 snikket_web/invite.py:183
|
||||
msgid "The passwords must match"
|
||||
#: snikket_web/invite.py:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:152 snikket_web/invite.py:216
|
||||
msgid "Registration was declined for unknown reasons"
|
||||
#: snikket_web/invite.py:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please"
|
||||
" use the app."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
|
||||
@@ -374,7 +421,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
@@ -445,12 +492,12 @@ msgid "Copy complete output"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr ""
|
||||
|
||||
@@ -458,11 +505,6 @@ msgstr ""
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr ""
|
||||
@@ -475,12 +517,10 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: 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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
@@ -512,6 +552,10 @@ msgstr ""
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr ""
|
||||
@@ -594,6 +638,85 @@ msgstr ""
|
||||
msgid "Created"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
msgid "Return to invitation list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
msgid "Edit user"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for "
|
||||
"them on your Snikket service."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
msgid "Return to user list"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to "
|
||||
"create a special link which allows to change the password of the account,"
|
||||
" once."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
msgid "Debug information"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the "
|
||||
"connected devices is necessary to troubleshoot issues. The button below "
|
||||
"reveals this (sensitive) information."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
msgid "Show debug information"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr ""
|
||||
@@ -688,14 +811,20 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
@@ -779,18 +908,20 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
msgid "This button works only if you have the app installed already!"
|
||||
msgstr ""
|
||||
|
||||
@@ -876,7 +1007,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_reset_view.html:26
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -888,7 +1019,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr ""
|
||||
|
||||
@@ -964,20 +1095,25 @@ msgid "Get it on Google Play"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the "
|
||||
@@ -985,42 +1121,82 @@ msgid ""
|
||||
"href=\"%(register_url)s\">register an account manually</a>."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code "
|
||||
"below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the "
|
||||
"'Scan' button at the top."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap "
|
||||
"the \"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite "
|
||||
"link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
@@ -1049,15 +1225,11 @@ msgstr ""
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This Snikket service only hosts addresses ending in "
|
||||
@@ -1068,10 +1240,6 @@ msgstr ""
|
||||
msgid "Operation successful"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
msgstr ""
|
||||
@@ -1140,11 +1308,11 @@ msgstr ""
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
|
||||
BIN
snikket_web/translations/pl/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/pl/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
@@ -7,293 +7,314 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2021-02-23 07:55+0100\n"
|
||||
"PO-Revision-Date: 2021-02-22 11:02+0000\n"
|
||||
"POT-Creation-Date: 2021-03-25 17:32+0100\n"
|
||||
"PO-Revision-Date: 2021-05-19 15:12+0000\n"
|
||||
"Last-Translator: misiek <migelazur@mailbox.org>\n"
|
||||
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/web-"
|
||||
"portal/pl/>\n"
|
||||
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/"
|
||||
"web-portal/pl/>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.4.2\n"
|
||||
"X-Generator: Weblate 4.5.1\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
|
||||
#: snikket_web/admin.py:60
|
||||
#: snikket_web/admin.py:59
|
||||
msgid "Limited"
|
||||
msgstr "Ograniczony"
|
||||
|
||||
#: snikket_web/admin.py:64 snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:8
|
||||
msgid "Login name"
|
||||
msgstr "Login"
|
||||
|
||||
#: snikket_web/admin.py:68 snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:9 snikket_web/user.py:61
|
||||
msgid "Display name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#: snikket_web/admin.py:72 snikket_web/templates/admin_edit_user.html:33
|
||||
msgid "Access Level"
|
||||
msgstr "Poziom dostępu"
|
||||
|
||||
#: snikket_web/admin.py:77
|
||||
msgid "Normal user"
|
||||
msgstr "Zwykły użytkownik"
|
||||
|
||||
#: snikket_web/admin.py:78
|
||||
msgid "Administrator"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: snikket_web/admin.py:83
|
||||
msgid "Update user"
|
||||
msgstr "Zapisz ustawienia użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:87
|
||||
msgid "Create password reset link"
|
||||
msgstr "Stwórz link do zresetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:105
|
||||
msgid "Password reset link created"
|
||||
msgstr "Utworzono link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:120
|
||||
msgid "User information updated."
|
||||
msgstr "Zaktualizowano informacje o użytkowniku."
|
||||
|
||||
#: snikket_web/admin.py:142
|
||||
msgid "Delete user permanently"
|
||||
msgstr "Usuń użytkownika bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:73
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:155
|
||||
msgid "User deleted"
|
||||
msgstr "usunięty"
|
||||
msgstr "Użytkownik został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:116
|
||||
#, fuzzy
|
||||
#| msgid "Password reset link for %(user_name)s"
|
||||
msgid "Password reset link created"
|
||||
msgstr "Link resetowania hasła dla %(user_name)s"
|
||||
#: snikket_web/admin.py:193
|
||||
msgid "Password reset link not found"
|
||||
msgstr "Nie znaleziono linku do zresetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:122
|
||||
#, fuzzy
|
||||
#| msgid "Create password reset links or delete users."
|
||||
#: snikket_web/admin.py:205
|
||||
msgid "Password reset link deleted"
|
||||
msgstr "Twórz linki do resetowania haseł lub usuwaj użytkowników."
|
||||
msgstr "Usunięto link resetowania hasła"
|
||||
|
||||
#: snikket_web/admin.py:141
|
||||
#: snikket_web/admin.py:225
|
||||
msgid "Invite to circle"
|
||||
msgstr "Zaproś do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:147
|
||||
#: snikket_web/admin.py:231
|
||||
msgid "At least one circle must be selected"
|
||||
msgstr "Należy wybrać przynajmniej jeden krąg"
|
||||
|
||||
#: snikket_web/admin.py:152
|
||||
#: snikket_web/admin.py:236
|
||||
msgid "Valid for"
|
||||
msgstr "Ważne przez"
|
||||
|
||||
#: snikket_web/admin.py:154
|
||||
#: snikket_web/admin.py:238
|
||||
msgid "One hour"
|
||||
msgstr "Godzinę"
|
||||
|
||||
#: snikket_web/admin.py:155
|
||||
#: snikket_web/admin.py:239
|
||||
msgid "Twelve hours"
|
||||
msgstr "Dwanaście godzin"
|
||||
|
||||
#: snikket_web/admin.py:156
|
||||
#: snikket_web/admin.py:240
|
||||
msgid "One day"
|
||||
msgstr "Dzień"
|
||||
|
||||
#: snikket_web/admin.py:157
|
||||
#: snikket_web/admin.py:241
|
||||
msgid "One week"
|
||||
msgstr "Tydzień"
|
||||
|
||||
#: snikket_web/admin.py:158
|
||||
#: snikket_web/admin.py:242
|
||||
msgid "Four weeks"
|
||||
msgstr "Cztery tygodnie"
|
||||
|
||||
#: snikket_web/admin.py:164 snikket_web/templates/admin_edit_invite.html:17
|
||||
#: snikket_web/admin.py:248 snikket_web/templates/admin_edit_invite.html:17
|
||||
msgid "Invitation type"
|
||||
msgstr "Typ zaproszenia"
|
||||
|
||||
#: snikket_web/admin.py:166 snikket_web/templates/library.j2:116
|
||||
#: snikket_web/admin.py:250 snikket_web/templates/library.j2:116
|
||||
msgid "Individual"
|
||||
msgstr "Indywidualne"
|
||||
|
||||
#: snikket_web/admin.py:167 snikket_web/templates/library.j2:114
|
||||
#: snikket_web/admin.py:251 snikket_web/templates/library.j2:114
|
||||
msgid "Group"
|
||||
msgstr "Grupowe"
|
||||
|
||||
#: snikket_web/admin.py:173
|
||||
#: snikket_web/admin.py:257
|
||||
msgid "New invitation link"
|
||||
msgstr "Nowy link z zaproszeniem"
|
||||
|
||||
#: snikket_web/admin.py:235
|
||||
#: snikket_web/admin.py:319
|
||||
msgid "Revoke"
|
||||
msgstr "Unieważnij"
|
||||
|
||||
#: snikket_web/admin.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:343
|
||||
msgid "Invitation created"
|
||||
msgstr "Typ zaproszenia"
|
||||
msgstr "Utworzono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:275
|
||||
#, fuzzy
|
||||
#| msgid "New invitation link"
|
||||
#: snikket_web/admin.py:359
|
||||
msgid "No such invitation exists"
|
||||
msgstr "Nowy link z zaproszeniem"
|
||||
msgstr "Takie zaproszenie nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:290
|
||||
#, fuzzy
|
||||
#| msgid "Invitation type"
|
||||
#: snikket_web/admin.py:374
|
||||
msgid "Invitation revoked"
|
||||
msgstr "Typ zaproszenia"
|
||||
msgstr "Unieważniono zaproszenie"
|
||||
|
||||
#: snikket_web/admin.py:307 snikket_web/admin.py:355
|
||||
#: snikket_web/admin.py:391 snikket_web/admin.py:439
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: snikket_web/admin.py:312 snikket_web/templates/admin_circles.html:47
|
||||
#: snikket_web/admin.py:396 snikket_web/templates/admin_circles.html:47
|
||||
msgid "Create circle"
|
||||
msgstr "Utwórz krąg"
|
||||
|
||||
#: snikket_web/admin.py:342
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:426
|
||||
msgid "Circle created"
|
||||
msgstr "Nazwa kręgu"
|
||||
msgstr "Utworzono krąg"
|
||||
|
||||
#: snikket_web/admin.py:360
|
||||
#: snikket_web/admin.py:444
|
||||
msgid "Select user"
|
||||
msgstr "Wybierz użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:365
|
||||
#: snikket_web/admin.py:449
|
||||
msgid "Update circle"
|
||||
msgstr "Zaktualizuj ustawienia kręgu"
|
||||
|
||||
#: snikket_web/admin.py:369
|
||||
#: snikket_web/admin.py:453
|
||||
msgid "Delete circle permanently"
|
||||
msgstr "Usuń krąg bezpowrotnie"
|
||||
|
||||
#: snikket_web/admin.py:375
|
||||
#: snikket_web/admin.py:459
|
||||
msgid "Add user"
|
||||
msgstr "Dodaj użytkownika"
|
||||
|
||||
#: snikket_web/admin.py:391
|
||||
#, fuzzy
|
||||
#| msgid "No circles"
|
||||
#: snikket_web/admin.py:475
|
||||
msgid "No such circle exists"
|
||||
msgstr "Brak kręgów"
|
||||
msgstr "Taki krąg nie istnieje"
|
||||
|
||||
#: snikket_web/admin.py:428
|
||||
#, fuzzy
|
||||
#| msgid "Circle name"
|
||||
#: snikket_web/admin.py:512
|
||||
msgid "Circle data updated"
|
||||
msgstr "Nazwa kręgu"
|
||||
msgstr "Zaktualizowano dane kręgu"
|
||||
|
||||
#: snikket_web/admin.py:434
|
||||
#, fuzzy
|
||||
#| msgid "deleted"
|
||||
#: snikket_web/admin.py:518
|
||||
msgid "Circle deleted"
|
||||
msgstr "usunięty"
|
||||
msgstr "Krąg został usunięty"
|
||||
|
||||
#: snikket_web/admin.py:445
|
||||
#, fuzzy
|
||||
#| msgid "Invite to circle"
|
||||
#: snikket_web/admin.py:529
|
||||
msgid "User added to circle"
|
||||
msgstr "Zaproś do kręgu"
|
||||
msgstr "Dodano użytkownika do kręgu"
|
||||
|
||||
#: snikket_web/admin.py:454
|
||||
#, fuzzy
|
||||
#| msgid "Remove user %(username)s from circle"
|
||||
#: snikket_web/admin.py:538
|
||||
msgid "User removed from circle"
|
||||
msgstr "Usuń z kręgu użytkownika %(username)s"
|
||||
msgstr "Usunięto użytkownika z kręgu"
|
||||
|
||||
#: snikket_web/infra.py:40
|
||||
#: snikket_web/infra.py:41
|
||||
msgid "Main"
|
||||
msgstr "Główny"
|
||||
|
||||
#: snikket_web/invite.py:104
|
||||
#: snikket_web/invite.py:106
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
#: snikket_web/invite.py:108 snikket_web/invite.py:175 snikket_web/main.py:42
|
||||
#: snikket_web/invite.py:110 snikket_web/invite.py:177 snikket_web/main.py:41
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: snikket_web/invite.py:112 snikket_web/invite.py:179
|
||||
#: snikket_web/invite.py:114 snikket_web/invite.py:181
|
||||
msgid "Confirm password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: 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:118 snikket_web/invite.py:185
|
||||
msgid "The passwords must match."
|
||||
msgstr "Hasła muszą się zgadzać."
|
||||
|
||||
#: snikket_web/invite.py:121
|
||||
#: snikket_web/invite.py:123
|
||||
msgid "Create account"
|
||||
msgstr "Utwórz konto"
|
||||
|
||||
#: snikket_web/invite.py:148
|
||||
msgid "That username is already taken"
|
||||
msgstr "Ta nazwa użytkownika jest już zajęta"
|
||||
#: snikket_web/invite.py:150
|
||||
msgid "That username is already taken."
|
||||
msgstr "Ta nazwa użytkownika jest już zajęta."
|
||||
|
||||
#: 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:154 snikket_web/invite.py:218
|
||||
msgid "Registration was declined for unknown reasons."
|
||||
msgstr "Z nieznanych przyczyn rejestracja została odrzucona."
|
||||
|
||||
#: snikket_web/invite.py:156
|
||||
msgid "The username is not valid"
|
||||
msgstr "Ta nazwa użytkownika jest nieprawidłowa"
|
||||
#: snikket_web/invite.py:158
|
||||
msgid "The username is not valid."
|
||||
msgstr "Ta nazwa użytkownika jest nieprawidłowa."
|
||||
|
||||
#: snikket_web/invite.py:188 snikket_web/templates/user_home.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 "Zmień hasło"
|
||||
|
||||
#: snikket_web/main.py:37
|
||||
#: snikket_web/main.py:36
|
||||
msgid "Address"
|
||||
msgstr "Adres"
|
||||
|
||||
#: snikket_web/main.py:47
|
||||
#: snikket_web/main.py:46
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: snikket_web/main.py:56
|
||||
#: snikket_web/main.py:55
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
|
||||
|
||||
#: snikket_web/main.py:84
|
||||
#: snikket_web/main.py:83
|
||||
msgid "Login successful!"
|
||||
msgstr ""
|
||||
msgstr "Zalogowano się pomyślnie!"
|
||||
|
||||
#: snikket_web/user.py:28
|
||||
#: snikket_web/user.py:27
|
||||
msgid "Current password"
|
||||
msgstr "Obecne hasło"
|
||||
|
||||
#: snikket_web/user.py:33
|
||||
#: snikket_web/user.py:32
|
||||
msgid "New password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:38
|
||||
#: snikket_web/user.py:37
|
||||
msgid "Confirm new password"
|
||||
msgstr "Potwierdź nowe hasło"
|
||||
|
||||
#: snikket_web/user.py:42
|
||||
msgid "The new passwords must match"
|
||||
msgstr "Nowe hasła muszą się zgadzać"
|
||||
#: snikket_web/user.py:41
|
||||
msgid "The new passwords must match."
|
||||
msgstr "Nowe hasła muszą się zgadzać."
|
||||
|
||||
#: snikket_web/user.py:49
|
||||
#: snikket_web/user.py:48
|
||||
msgid "Sign out"
|
||||
msgstr "Wyloguj się"
|
||||
|
||||
#: snikket_web/user.py:54
|
||||
#: snikket_web/user.py:53
|
||||
msgid "Nobody"
|
||||
msgstr "Nikt"
|
||||
|
||||
#: snikket_web/user.py:55
|
||||
#: snikket_web/user.py:54
|
||||
msgid "Friends only"
|
||||
msgstr "Tylko znajomi"
|
||||
|
||||
#: snikket_web/user.py:56
|
||||
#: snikket_web/user.py:55
|
||||
msgid "Everyone"
|
||||
msgstr "Wszyscy"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:12
|
||||
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:62
|
||||
msgid "Display name"
|
||||
msgstr "Nazwa wyświetlana"
|
||||
|
||||
#: snikket_web/user.py:66
|
||||
#: snikket_web/user.py:65
|
||||
msgid "Avatar"
|
||||
msgstr "Awatar"
|
||||
|
||||
#: snikket_web/user.py:70
|
||||
#: snikket_web/user.py:69
|
||||
msgid "Profile visibility"
|
||||
msgstr "Widoczność profilu"
|
||||
|
||||
#: snikket_web/user.py:75
|
||||
#: snikket_web/user.py:74
|
||||
msgid "Update profile"
|
||||
msgstr "Zaktualizuj profil"
|
||||
|
||||
#: snikket_web/user.py:100
|
||||
msgid "Incorrect password"
|
||||
msgstr "Nieprawidłowe hasło"
|
||||
#: snikket_web/user.py:99
|
||||
msgid "Incorrect password."
|
||||
msgstr "Nieprawidłowe hasło."
|
||||
|
||||
#: snikket_web/user.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Password change failed"
|
||||
#: snikket_web/user.py:103
|
||||
msgid "Password changed"
|
||||
msgstr "Zmiana hasła zakończona niepowodzeniem"
|
||||
msgstr "Hasło zostało zmienione"
|
||||
|
||||
#: snikket_web/user.py:146
|
||||
#, fuzzy
|
||||
#| msgid "Profile"
|
||||
#: snikket_web/user.py:111
|
||||
msgid ""
|
||||
"The chosen avatar is too big. To be able to upload larger avatars, please "
|
||||
"use the app."
|
||||
msgstr ""
|
||||
"Wybrany awatar jest zbyt duży. Awatary o większych rozmiarach możesz ustawić "
|
||||
"korzystając z aplikacji."
|
||||
|
||||
#: snikket_web/user.py:159
|
||||
msgid "Profile updated"
|
||||
msgstr "Profil"
|
||||
msgstr "Zaktualizowano profil"
|
||||
|
||||
#: snikket_web/templates/unauth.html:18 snikket_web/user.py:167
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: snikket_web/templates/_footer.html:4
|
||||
#, python-format
|
||||
@@ -305,6 +326,8 @@ 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"
|
||||
@@ -326,7 +349,7 @@ msgstr "O tej usłudze"
|
||||
#: snikket_web/templates/about.html:12
|
||||
#, python-format
|
||||
msgid "This is the Snikket service <em>%(site_name)s</em>."
|
||||
msgstr "To serwer Snikket: <em>%(site_name)s</em>."
|
||||
msgstr "Ten serwer Snikket to: <em>%(site_name)s</em>."
|
||||
|
||||
#: snikket_web/templates/about.html:13
|
||||
msgid "Licenses"
|
||||
@@ -367,7 +390,7 @@ msgstr ""
|
||||
|
||||
#: snikket_web/templates/about.html:17
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
msgstr "Znaki firmowe"
|
||||
|
||||
#: snikket_web/templates/about.html:18
|
||||
#, python-format
|
||||
@@ -376,6 +399,9 @@ msgid ""
|
||||
"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"
|
||||
@@ -422,7 +448,7 @@ msgstr "Członkowie"
|
||||
|
||||
#: snikket_web/templates/admin_circles.html:15
|
||||
#: snikket_web/templates/admin_invites.html:24
|
||||
#: snikket_web/templates/admin_users.html:12
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Actions"
|
||||
msgstr "Akcje"
|
||||
|
||||
@@ -497,12 +523,12 @@ msgid "Copy complete output"
|
||||
msgstr "Skopiuj całą zawartość"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:4
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
#, python-format
|
||||
msgid "Delete user %(user_name)s"
|
||||
msgstr "Usuń użytkownika %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:6
|
||||
#: snikket_web/templates/admin_edit_user.html:54
|
||||
msgid "Delete user"
|
||||
msgstr "Usuń użytkownika"
|
||||
|
||||
@@ -510,11 +536,6 @@ msgstr "Usuń użytkownika"
|
||||
msgid "Are you sure you want to delete the following user?"
|
||||
msgstr "Czy na pewno chcesz usunąć tego użytkownika?"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:10
|
||||
#: snikket_web/templates/admin_users.html:10
|
||||
msgid "Login name"
|
||||
msgstr "Login"
|
||||
|
||||
#: snikket_web/templates/admin_delete_user.html:15
|
||||
msgid "Danger"
|
||||
msgstr "Uwaga"
|
||||
@@ -530,12 +551,10 @@ msgstr ""
|
||||
"cofnąć!</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:10
|
||||
#: snikket_web/templates/user_passwd.html:27
|
||||
#: snikket_web/templates/user_profile.html:28
|
||||
#: snikket_web/templates/user_profile.html:32
|
||||
msgid "Back"
|
||||
msgstr "Wstecz"
|
||||
|
||||
@@ -569,6 +588,10 @@ msgstr "Informacje o kręgu"
|
||||
msgid "This circle has no group chat associated."
|
||||
msgstr "Ten krąg nie jest powiązany z żadnym czatem grupowym."
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:44
|
||||
msgid "Return to circle list"
|
||||
msgstr "Wróć do listy kręgów"
|
||||
|
||||
#: snikket_web/templates/admin_edit_circle.html:48
|
||||
msgid "Delete circle"
|
||||
msgstr "Usuń krąg"
|
||||
@@ -656,6 +679,98 @@ msgstr "Użytkownik zostanie dodany jako kontakt %(peer_jid)s."
|
||||
msgid "Created"
|
||||
msgstr "Utworzono"
|
||||
|
||||
#: snikket_web/templates/admin_edit_invite.html:48
|
||||
msgid "Return to invitation list"
|
||||
msgstr "Wróć do listy zaproszeń"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:5
|
||||
msgid ""
|
||||
"Limited users can interact with users on the same Snikket service and be "
|
||||
"members of circles."
|
||||
msgstr ""
|
||||
"Użytkownicy z ograniczonym dostępem mogą wchodzić w interakcje z innymi "
|
||||
"użytkownikami na tym samym serwerze Snikket oraz być członkami kręgów."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:7
|
||||
msgid ""
|
||||
"Like limited users and can also interact with users on other Snikket "
|
||||
"services."
|
||||
msgstr ""
|
||||
"Jak użytkownicy z ograniczonym dostępem, ale dodatkowo mogą wchodzić w "
|
||||
"interakcje z użytkownikami innych serwerów Snikket."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:9
|
||||
msgid "Like normal users and can access the admin panel in the web portal."
|
||||
msgstr ""
|
||||
"Jak zwykli użytkownicy, ale dodatkowo mają dostęp do panelu "
|
||||
"administracyjnego w portalu użytkownika Snikket."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:20
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Edit user %(user_name)s"
|
||||
msgstr "Edytuj użytkownika %(user_name)s"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:23
|
||||
msgid "Edit user"
|
||||
msgstr "Edytuj użytkownika"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:27
|
||||
msgid "The login name cannot be changed."
|
||||
msgstr "Login nie może zostać zmieniony."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:34
|
||||
msgid ""
|
||||
"The access level of a user determines what interactions are allowed for them "
|
||||
"on your Snikket service."
|
||||
msgstr ""
|
||||
"Poziom dostępu użytkownika określa, jakie interakcje są dla niego dozwolone "
|
||||
"na Twoim serwerze Snikket."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:41
|
||||
#, python-format
|
||||
msgid "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
msgstr "<strong>%(title)s%(icon)s</strong><p>%(description)s</p>"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:51
|
||||
msgid "Return to user list"
|
||||
msgstr "Wróć do listy użytkowników"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:59
|
||||
msgid "Further actions"
|
||||
msgstr "Dodatkowe funkcje"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:61
|
||||
msgid "Reset password"
|
||||
msgstr "Resetowanie hasła"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:64
|
||||
msgid ""
|
||||
"If the user has lost their password, you can use the button below to create "
|
||||
"a special link which allows to change the password of the account, once."
|
||||
msgstr ""
|
||||
"Jeśli użytkownik utraci swoje hasło, za pomocą poniższego przycisku "
|
||||
"wygenerujesz dla niego link do jego zresetowania. Odnośnik pozwoli na "
|
||||
"jednorazową zmianę hasła na nowe."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:69
|
||||
msgid "Debug information"
|
||||
msgstr "Informacje debugowania"
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:71
|
||||
msgid ""
|
||||
"In some cases, extended information about the user account and the connected "
|
||||
"devices is necessary to troubleshoot issues. The button below reveals this "
|
||||
"(sensitive) information."
|
||||
msgstr ""
|
||||
"W niektórych przypadkach do rozwiązania problemu wymagane są dodatkowe "
|
||||
"informacje o użytkowniku oraz podłączonych urządzeniach. Poniższy przycisk "
|
||||
"ujawni te (wrażliwe) informacje."
|
||||
|
||||
#: snikket_web/templates/admin_edit_user.html:75
|
||||
msgid "Show debug information"
|
||||
msgstr "Pokaż informacje debugowania"
|
||||
|
||||
#: snikket_web/templates/admin_home.html:4
|
||||
msgid "Welcome to the admin panel!"
|
||||
msgstr "Witaj w panelu administracyjnym!"
|
||||
@@ -709,7 +824,7 @@ msgstr "Oczekujące zaproszenia"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:21
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
msgstr "Wygasa"
|
||||
|
||||
#: snikket_web/templates/admin_invites.html:22
|
||||
msgid "Type"
|
||||
@@ -752,15 +867,21 @@ msgstr ""
|
||||
msgid "Destroy link"
|
||||
msgstr "Zniszcz link"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:25
|
||||
#, python-format
|
||||
msgid "Show debug information for %(user_name)s"
|
||||
msgstr "Pokaż informacje debugowania dla %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid "The user is an administrator."
|
||||
msgstr "Użytkownik jest administratorem."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:28
|
||||
#, python-format
|
||||
msgid "Create password reset link for %(user_name)s"
|
||||
msgstr "Utwórz link resetowania hasła dla %(user_name)s"
|
||||
#: snikket_web/templates/admin_users.html:19
|
||||
msgid " (Administrator)"
|
||||
msgstr " (Administrator)"
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid "The user is restricted."
|
||||
msgstr "Użytkownik ma konto z ograniczonym dostępem."
|
||||
|
||||
#: snikket_web/templates/admin_users.html:22
|
||||
msgid " (Restricted)"
|
||||
msgstr " (Ograniczony)"
|
||||
|
||||
#: snikket_web/templates/app.html:4
|
||||
msgid "Snikket Web Portal"
|
||||
@@ -851,18 +972,20 @@ msgstr ""
|
||||
"zaprowadzi cię tam poniższy przycisk:"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:14
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
#: snikket_web/templates/invite_view.html:39
|
||||
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:40
|
||||
#: snikket_web/templates/invite_view.html:41
|
||||
#: snikket_web/templates/invite_view.html:106
|
||||
#: snikket_web/templates/invite_view.html:134
|
||||
msgid "Open the app"
|
||||
msgstr "Otwórz aplikację"
|
||||
|
||||
#: snikket_web/templates/invite_register.html:18
|
||||
#: snikket_web/templates/invite_view.html:42
|
||||
#: snikket_web/templates/invite_view.html:43
|
||||
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ę!"
|
||||
@@ -960,7 +1083,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:76
|
||||
#: snikket_web/templates/invite_view.html:77
|
||||
msgid ""
|
||||
"Your camera will turn on. Point it at the square code below until it is "
|
||||
"within the highlighted square on your screen, and wait until the app "
|
||||
@@ -976,7 +1099,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:44
|
||||
#: snikket_web/templates/invite_view.html:45
|
||||
msgid "Alternatives"
|
||||
msgstr "Inne możliwości"
|
||||
|
||||
@@ -1066,14 +1189,19 @@ msgid "Get it on Google Play"
|
||||
msgstr "Pobierz w Google Play"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:30
|
||||
#: snikket_web/templates/invite_view.html:102
|
||||
msgid "Download on the App Store"
|
||||
msgstr "Pobierz w App Store"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:34
|
||||
msgid "Send to mobile device"
|
||||
msgstr ""
|
||||
#: snikket_web/templates/invite_view.html:32
|
||||
msgid "Get it on F-Droid"
|
||||
msgstr "Pobierz z F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:37
|
||||
#: snikket_web/templates/invite_view.html:35
|
||||
msgid "Send to mobile device"
|
||||
msgstr "Wyślij na urządzenie mobilne"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:38
|
||||
msgid ""
|
||||
"After installation the app should automatically open and prompt you to "
|
||||
"create an account. If not, simply click the button below."
|
||||
@@ -1081,7 +1209,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:45
|
||||
#: snikket_web/templates/invite_view.html:46
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can connect to Snikket using any XMPP-compatible software. If the button "
|
||||
@@ -1093,16 +1221,20 @@ msgstr ""
|
||||
"twoją aplikacją, konieczne może być <a href=\"%(register_url)s\">ręczne "
|
||||
"zarejestrowanie konta</a>."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:51
|
||||
#: snikket_web/templates/invite_view.html:52
|
||||
msgid "Scan invite code"
|
||||
msgstr "Zeskanuj kod zaproszenia"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:54
|
||||
#: snikket_web/templates/invite_view.html:83
|
||||
#: snikket_web/templates/invite_view.html:55
|
||||
#: snikket_web/templates/invite_view.html:84
|
||||
#: snikket_web/templates/invite_view.html:96
|
||||
#: snikket_web/templates/invite_view.html:112
|
||||
#: snikket_web/templates/invite_view.html:124
|
||||
#: snikket_web/templates/invite_view.html:140
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:57
|
||||
#: snikket_web/templates/invite_view.html:58
|
||||
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."
|
||||
@@ -1111,22 +1243,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:62
|
||||
#: snikket_web/templates/invite_view.html:63
|
||||
msgid "Using a QR code scanner"
|
||||
msgstr "Używając skanera kodów QR"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:64
|
||||
#: snikket_web/templates/invite_view.html:65
|
||||
msgid "Using the Snikket app"
|
||||
msgstr "Używając aplikacji Snikket"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:69
|
||||
#: snikket_web/templates/invite_view.html:70
|
||||
msgid ""
|
||||
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
|
||||
msgstr ""
|
||||
"Użyj skanera <em>kodów QR</em> na swoim urządzeniu mobilnym, by zeskanować "
|
||||
"poniższy kod:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:75
|
||||
#: snikket_web/templates/invite_view.html:76
|
||||
msgid ""
|
||||
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
|
||||
"button at the top."
|
||||
@@ -1134,6 +1266,53 @@ msgstr ""
|
||||
"Zainstaluj aplikację Snikket na swoim urządzeniu mobilnym, otwórz ją, "
|
||||
"następnie wciśnij przycisk \"Skanuj\" u góry."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:93
|
||||
msgid "Install on iOS"
|
||||
msgstr "Zainstaluj na iOS"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:99
|
||||
msgid ""
|
||||
"After downloading Snikket from the App Store, you have to return to this "
|
||||
"invite link and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Po pobraniu aplikacji Snikket z App Store musisz wrócić do tego linku z "
|
||||
"zaproszeniem, następnie kliknąć \"Otwórz aplikację\", aby kontynuować."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:101
|
||||
msgid "First download Snikket from the App Store using the button below:"
|
||||
msgstr ""
|
||||
"Najpierw pobierz aplikację Snikket z App Store za pomocą poniższego "
|
||||
"przycisku:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:103
|
||||
#: snikket_web/templates/invite_view.html:131
|
||||
msgid ""
|
||||
"After the installation is complete, you can return to this page and tap the "
|
||||
"\"Open the app\" button to continue with the setup:"
|
||||
msgstr ""
|
||||
"Po zakończeniu instalacji możesz wrócić do tej strony i kliknąć przycisk "
|
||||
"\"Otwórz aplikację\", aby kontynuować:"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:121
|
||||
#: snikket_web/templates/invite_view.html:130
|
||||
msgid "Install via F-Droid"
|
||||
msgstr "Zainstaluj przez F-Droid"
|
||||
|
||||
#: snikket_web/templates/invite_view.html:127
|
||||
msgid ""
|
||||
"After installing Snikket via F-Droid, you have to return to this invite link "
|
||||
"and tap on \"Open the app\" to proceed."
|
||||
msgstr ""
|
||||
"Po zainstalowaniu aplikacji Snikket przez F-Droid, możesz wrócić do tego "
|
||||
"linku z zaproszeniem, następnie kliknąć \"Otwórz aplikację\", aby "
|
||||
"kontynuować."
|
||||
|
||||
#: snikket_web/templates/invite_view.html:129
|
||||
msgid "First install Snikket from F-Droid using the button below:"
|
||||
msgstr ""
|
||||
"Najpierw zainstaluj aplikację Snikket z F-Droid, korzystając z poniższego "
|
||||
"przycisku:"
|
||||
|
||||
#: snikket_web/templates/library.j2:18
|
||||
msgid "Copy link"
|
||||
msgstr "Skopiuj link"
|
||||
@@ -1165,30 +1344,22 @@ msgstr "Snikket - Logowanie"
|
||||
msgid "Enter your Snikket address and password to manage your account."
|
||||
msgstr "Wprowadź swój adres Snikket oraz hasło, aby zarządzać kontem."
|
||||
|
||||
#: snikket_web/templates/login.html:18
|
||||
msgid "Login failed"
|
||||
msgstr "Logowanie nie powiodło się"
|
||||
|
||||
#: snikket_web/templates/login.html:23
|
||||
#, fuzzy
|
||||
#| msgid "Incorrect password"
|
||||
#: snikket_web/templates/login.html:19
|
||||
msgid "Incorrect address"
|
||||
msgstr "Nieprawidłowe hasło"
|
||||
msgstr "Adres nieprawidłowy"
|
||||
|
||||
#: snikket_web/templates/login.html:24
|
||||
#: snikket_web/templates/login.html:20
|
||||
#, 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 ""
|
||||
|
||||
#: snikket_web/templates/unauth.html:18
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
msgstr "Operacja zakończona sukcesem"
|
||||
|
||||
#: snikket_web/templates/user_home.html:9
|
||||
msgid "Welcome!"
|
||||
@@ -1264,11 +1435,11 @@ msgstr "Zaktualizuj swój profil"
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:19
|
||||
#: snikket_web/templates/user_profile.html:23
|
||||
msgid "Visibility"
|
||||
msgstr "Widoczność"
|
||||
|
||||
#: snikket_web/templates/user_profile.html:20
|
||||
#: snikket_web/templates/user_profile.html:24
|
||||
msgid ""
|
||||
"This section allows you to control who can see your profile information, "
|
||||
"like avatar and nickname."
|
||||
@@ -1276,26 +1447,15 @@ msgstr ""
|
||||
"Ta sekcja pozwoli ci na zarządzenie widocznością informacji o twoim profilu "
|
||||
"przez innych, jak awatar lub pseudonim."
|
||||
|
||||
#~ msgid "Create password reset link for %(user_name)s"
|
||||
#~ msgstr "Utwórz link resetowania hasła dla %(user_name)s"
|
||||
|
||||
#~ msgid "Login failed"
|
||||
#~ msgstr "Logowanie nie powiodło się"
|
||||
|
||||
#~ msgid "Not on mobile?"
|
||||
#~ msgstr "Nie korzystasz obecnie ze smartfona?"
|
||||
|
||||
#~ msgid "Edit user %(user_name)s"
|
||||
#~ msgstr "Edytuj użytkownika %(user_name)s"
|
||||
|
||||
#~ msgid "User information"
|
||||
#~ msgstr "Informacje o użytkowniku"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If the user has forgotten their password, use the below button to create "
|
||||
#~ "a password reset link. The password reset link can be used once to change "
|
||||
#~ "the password of the account. Transmit the link to the user via a secure "
|
||||
#~ "channel."
|
||||
#~ msgstr ""
|
||||
#~ "Jeśli użytkownik zapomni swojego hasła, za pomocą poniższego przycisku "
|
||||
#~ "wygenerujesz dla niego link do zresetowania hasła. Link może być "
|
||||
#~ "wykorzystany jednorazowo do jego zmiany. Prześlij go do użytkownika za "
|
||||
#~ "pomocą bezpiecznej formy kontaktu."
|
||||
|
||||
#~ msgid "<label for=\"link-field\">Link</label>"
|
||||
#~ msgstr "<label for=\"link-field\">Link</label>"
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
BIN
snikket_web/translations/sv/LC_MESSAGES/messages.mo
Normal file
BIN
snikket_web/translations/sv/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -9,21 +9,20 @@ from quart import (
|
||||
redirect,
|
||||
url_for,
|
||||
flash,
|
||||
current_app,
|
||||
)
|
||||
import quart.exceptions
|
||||
|
||||
import wtforms
|
||||
|
||||
import flask_wtf
|
||||
|
||||
from flask_babel import lazy_gettext as _l, _
|
||||
|
||||
from .infra import client
|
||||
from .infra import client, BaseForm
|
||||
|
||||
bp = Blueprint('user', __name__)
|
||||
|
||||
|
||||
class ChangePasswordForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class ChangePasswordForm(BaseForm):
|
||||
current_password = wtforms.PasswordField(
|
||||
_l("Current password"),
|
||||
validators=[wtforms.validators.InputRequired()]
|
||||
@@ -39,12 +38,12 @@ class ChangePasswordForm(flask_wtf.FlaskForm): # type:ignore
|
||||
validators=[wtforms.validators.InputRequired(),
|
||||
wtforms.validators.EqualTo(
|
||||
"new_password",
|
||||
_l("The new passwords must match")
|
||||
_l("The new passwords must match.")
|
||||
)]
|
||||
)
|
||||
|
||||
|
||||
class LogoutForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class LogoutForm(BaseForm):
|
||||
action_signout = wtforms.SubmitField(
|
||||
_l("Sign out"),
|
||||
)
|
||||
@@ -57,7 +56,7 @@ _ACCESS_MODEL_CHOICES = [
|
||||
]
|
||||
|
||||
|
||||
class ProfileForm(flask_wtf.FlaskForm): # type:ignore
|
||||
class ProfileForm(BaseForm):
|
||||
nickname = wtforms.TextField(
|
||||
_l("Display name"),
|
||||
)
|
||||
@@ -97,7 +96,7 @@ async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
quart.exceptions.Forbidden):
|
||||
# server refused current password, set an appropriate error
|
||||
form.current_password.errors.append(
|
||||
_("Incorrect password"),
|
||||
_("Incorrect password."),
|
||||
)
|
||||
else:
|
||||
await flash(
|
||||
@@ -109,9 +108,17 @@ async def change_pw() -> typing.Union[str, quart.Response]:
|
||||
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()
|
||||
@@ -125,30 +132,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),
|
||||
)
|
||||
|
||||
await flash(
|
||||
_("Profile updated"),
|
||||
"success",
|
||||
)
|
||||
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"])
|
||||
|
||||
@@ -5,6 +5,7 @@ action/delete:delete
|
||||
action/logout:logout
|
||||
action/login:login
|
||||
action/exit_to_app:exit_to_app
|
||||
action/lock:lock
|
||||
communication/qr_code:qrcode
|
||||
communication/vpn_key:passwd
|
||||
content/add_circle_outline:add
|
||||
|
||||
Reference in New Issue
Block a user