Compare commits

...

55 Commits

Author SHA1 Message Date
Jonas Schäfer
e58a3176ac Also revamp the admin index 2021-01-28 18:55:22 +01:00
Jonas Schäfer
205b0173a7 Revamp the welcome screen for a hopefully final iteration 2021-01-28 18:53:03 +01:00
Jonas Schäfer
6235231db5 Add avatar to edit profile form 2021-01-28 18:53:03 +01:00
Jonas Schäfer
af61705482 Iterate further on the welcome page 2021-01-28 18:53:03 +01:00
Jonas Schäfer
46c7b3be11 Relayout the "welcome" screens again
Grouping the buttons together with the text for easier grasping
what they relate to and moving them to the bottom.
2021-01-28 18:53:03 +01:00
Jonas Schäfer
547286b2e3 Fix path to snikket logo 2021-01-28 18:53:03 +01:00
Jonas Schäfer
f68db94d91 Redo the welcome navigation
Tester feedback suggested that it looks really content-heavy,
more like blogpost previews or something like that. We now move
to a clear, recognizable "action button with description" style
using the already prominent primary colour.
2021-01-28 18:53:03 +01:00
Jonas Schäfer
16da296f79 Tweak colours slightly
- Make them warmer overall
- Fix tone in the upper yellows
2021-01-28 18:53:03 +01:00
Jonas Schäfer
d5ad562d2c Revamp rendering of invitation type to better accomodate roster invites 2021-01-28 16:15:46 +01:00
Jonas Schäfer
c2126419d4 Add support for tooltips in CSS 2021-01-28 16:15:38 +01:00
Jonas Schäfer
7028770f40 Add background to invalid invite page 2021-01-28 15:00:57 +01:00
Matthew Wild
350fd29622 templates: Render ?roster invites as type 'Contact' 2021-01-28 11:04:22 +00:00
Matthew Wild
a6aef681a7 Add support for 'roster' invite type 2021-01-28 11:00:05 +00:00
Weblate
5256872646 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-27 16:17:11 +00:00
misiek
ae47e5268b Translated using Weblate (Polish)
Currently translated at 95.5% (193 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/pl/
2021-01-27 16:17:10 +00:00
Jonas Schäfer
4b4844ecaa Clean up icon use throughout the thing 2021-01-27 17:16:45 +01:00
Jonas Schäfer
0ead8ce4b3 Improve navigation in circles section
Separate the people/edit buttons visually (although they lead to
the same page) to anticipate user intent.
2021-01-27 17:16:35 +01:00
Jonas Schäfer
d568a235eb Fix breaking the vertical rhythm in the theme demo 2021-01-27 17:16:30 +01:00
Jonas Schäfer
c3ce7d9f3a Left-align table headers
This lets the layout look less ragged.
2021-01-27 17:16:30 +01:00
Jonas Schäfer
4d0ba8ef9a Tweak form layout
- Use boldface for labels
- Use the equivalent of h4 for the heading
- Indent checkbox/radio choices
2021-01-27 17:16:30 +01:00
Jonas Schäfer
2f368e0a34 Change "reusability" to "type" for invites
- This makes the choice much clearer
- Allows for less generic terms in the table
- Future extensibility \o/
2021-01-27 17:16:30 +01:00
Weblate
ad0041ba84 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-27 14:35:46 +00:00
uira
561d576934 Translated using Weblate (Indonesian)
Currently translated at 100.0% (202 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/id/
2021-01-27 14:35:46 +00:00
arco
a642daf77a Translated using Weblate (French)
Currently translated at 100.0% (202 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-27 14:35:46 +00:00
misiek
7018f03c34 Translated using Weblate (Polish)
Currently translated at 86.1% (174 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/pl/
2021-01-27 14:35:46 +00:00
Jonas Schäfer
7da56c81fc Make default circle un-editable in the UI 2021-01-27 15:34:30 +01:00
Jonas Schäfer
2b7930a5b7 Update strings after removal of things 2021-01-27 15:34:09 +01:00
Jonas Schäfer
d556034349 Drop phone number from the UI
It cannot be set with any tools currently, so we don’t need to
waste space on it.
2021-01-27 15:03:36 +01:00
Matthew Wild
d8341455a2 docker: Don't fail build if translations fail (temporary?) 2021-01-27 13:25:21 +00:00
franck
f5c7b9f0e3 Translated using Weblate (French)
Currently translated at 75.7% (153 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 21:57:17 +00:00
arco
a86d033f20 Translated using Weblate (French)
Currently translated at 75.7% (153 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 21:57:16 +00:00
pep
1fd51b00ed Translated using Weblate (French)
Currently translated at 75.7% (153 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 21:57:16 +00:00
franck
95ec9adfcd Translated using Weblate (French)
Currently translated at 75.7% (153 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 21:55:09 +00:00
arco
3446f57478 Translated using Weblate (French)
Currently translated at 75.7% (153 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 21:55:08 +00:00
Weblate
dd607af1ae Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-26 19:51:34 +00:00
pep
ea4bb8d98e Translated using Weblate (French)
Currently translated at 74.2% (150 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 19:51:34 +00:00
arco
61687e3158 Translated using Weblate (French)
Currently translated at 74.2% (150 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 19:51:33 +00:00
franck
ca977ffec3 Translated using Weblate (French)
Currently translated at 74.2% (150 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 19:51:33 +00:00
misiek
f539493bf5 Translated using Weblate (Polish)
Currently translated at 86.1% (174 of 202 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/pl/
2021-01-26 19:51:33 +00:00
Jonas Schäfer
6ffce26b08 Straighten up terminology
code -> link, invite -> invitation
2021-01-26 20:51:21 +01:00
Jonas Schäfer
a9f9f9d74a s/user name/username/
Also fix tense of error message.
2021-01-26 20:51:21 +01:00
Weblate
b338b0a08f Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-26 15:28:31 +00:00
Jonas Schäfer
1a4f16eaef Fix typo 2021-01-26 16:28:23 +01:00
Weblate
2521aa98af Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-26 15:14:50 +00:00
Jonas Schäfer
a6d20a0a73 Change generic Apply labels to something more semantic
In context of #33.
2021-01-26 16:12:23 +01:00
Jonas Schäfer
df75fbaa1b Add support for circles with MUCs 2021-01-26 16:12:07 +01:00
Jonas Schäfer
5f1a45082e Add explanatory texts to circle related views 2021-01-26 16:11:56 +01:00
Weblate
9e2b6a4115 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/
2021-01-26 14:06:40 +00:00
pep
91febde2a3 Translated using Weblate (Japanese)
Currently translated at 31.5% (47 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/ja/
2021-01-26 14:06:38 +00:00
Jonas Schäfer
b548dc011d Translated using Weblate (German)
Currently translated at 100.0% (149 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/de/
2021-01-26 14:06:38 +00:00
pep
88b8f675c1 Translated using Weblate (French)
Currently translated at 100.0% (149 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 14:06:38 +00:00
franck
693b1ac23f Translated using Weblate (French)
Currently translated at 100.0% (149 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/fr/
2021-01-26 14:06:38 +00:00
uira
7ec12a5958 Translated using Weblate (Indonesian)
Currently translated at 100.0% (149 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/id/
2021-01-26 14:06:38 +00:00
misiek
3a15406771 Translated using Weblate (Polish)
Currently translated at 100.0% (149 of 149 strings)

Translation: Snikket/Web Portal
Translate-URL: https://i18n.sotecware.net/projects/snikket/web-portal/pl/
2021-01-26 14:06:38 +00:00
Jonas Schäfer
cc27256b14 Merge branch 'feature/onboarding' 2021-01-26 15:06:24 +01:00
35 changed files with 3973 additions and 1513 deletions

View File

@@ -31,7 +31,7 @@ force_update_translations: extract_translations
pybabel update -i $(pot_file) -d $(translation_basepath)
compile_translations:
pybabel compile -d $(translation_basepath)
-pybabel compile -d $(translation_basepath)
.PHONY: build_css clean update_translations compile_translations extract_translations force_update_translations

View File

@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@@ -9,426 +7,363 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="334mm"
height="154mm"
viewBox="0 0 334 154"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="colours.svg"
inkscape:export-filename="/home/horazont/tmp/colours.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="642.84838"
inkscape:cy="251.88403"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1401"
inkscape:window-x="0"
inkscape:window-y="39"
inkscape:window-maximized="0"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5" />
id="svg1424"
sodipodi:docname="out.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
<metadata
id="metadata5">
id="metadata1430">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(65,-148)">
<rect
style="opacity:1;fill:#418fc7;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4759"
width="24"
height="24"
x="120"
y="273" />
<rect
y="273"
x="-2.7815501e-08"
height="24"
width="24"
id="rect9362"
style="opacity:1;fill:#062943;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="273"
x="240"
height="24"
width="24"
id="rect9364"
style="opacity:1;fill:#e4f3fd;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="273"
x="60"
height="24"
width="24"
id="rect9366"
style="opacity:1;fill:#0e4c76;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#9dccf0;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9368"
width="24"
height="24"
x="180"
y="273" />
<rect
style="opacity:1;fill:#0f3d62;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9370"
width="24"
height="24"
x="30"
y="273" />
<rect
y="273"
x="90"
height="24"
width="24"
id="rect9372"
style="opacity:1;fill:#226494;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="273"
x="150"
height="24"
width="24"
id="rect9376"
style="opacity:1;fill:#72b2e3;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="273"
x="210"
height="24"
width="24"
id="rect9378"
style="opacity:1;fill:#b5d8f3;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="243"
x="120"
height="24"
width="24"
id="rect9380"
style="opacity:1;fill:#c95e40;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#340e03;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9382"
width="24"
height="24"
x="0"
y="243" />
<rect
style="opacity:1;fill:#fef1ed;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9384"
width="24"
height="24"
x="240"
y="243" />
<rect
style="opacity:1;fill:#e2b00c;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9436"
width="24"
height="24"
x="120"
y="213" />
<rect
style="opacity:1;fill:#f2ac99;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9454"
width="24"
height="24"
x="180"
y="243" />
<rect
y="243"
x="210"
height="24"
width="24"
id="rect9456"
style="opacity:1;fill:#fbc2b3;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="243"
x="150"
height="24"
width="24"
id="rect9458"
style="opacity:1;fill:#ed947c;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#883017;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9460"
width="24"
height="24"
x="60"
y="243" />
<rect
y="243"
x="30"
height="24"
width="24"
id="rect9462"
style="opacity:1;fill:#681f0b;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="243"
x="90"
height="24"
width="24"
id="rect9464"
style="opacity:1;fill:#a33d21;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="183"
x="120"
height="24"
width="24"
id="rect9466"
style="opacity:1;fill:#55c644;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="213"
x="240"
height="24"
width="24"
id="rect9484"
style="opacity:1;fill:#fffcf0;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="213"
x="0"
height="24"
width="24"
id="rect9486"
style="opacity:1;fill:#302100;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="213"
x="60"
height="24"
width="24"
id="rect9488"
style="opacity:1;fill:#886600;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#563600;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9490"
width="24"
height="24"
x="30"
y="213" />
<rect
y="213"
x="90"
height="24"
width="24"
id="rect9494"
style="opacity:1;fill:#b98601;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="213"
x="180"
height="24"
width="24"
id="rect9496"
style="opacity:1;fill:#feed93;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="213"
x="150"
height="24"
width="24"
id="rect9500"
style="opacity:1;fill:#fde58a;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#fff7c2;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9502"
width="24"
height="24"
x="210"
y="213" />
<rect
style="opacity:1;fill:#8f8983;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9504"
width="24"
height="24"
x="120"
y="153" />
<rect
y="153"
x="0"
height="24"
width="24"
id="rect9506"
style="opacity:1;fill:#1f1b17;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="153"
x="240"
height="24"
width="24"
id="rect9508"
style="opacity:1;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="153"
x="180"
height="24"
width="24"
id="rect9510"
style="opacity:1;fill:#cac3bd;fill-opacity:0.98872178;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#e3e1df;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9512"
width="24"
height="24"
x="210"
y="153" />
<rect
style="opacity:1;fill:#4e4a46;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9514"
width="24"
height="24"
x="60"
y="153" />
<rect
y="153"
x="30"
height="24"
width="24"
id="rect9516"
style="opacity:1;fill:#3d3833;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#706965;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9518"
width="24"
height="24"
x="90"
y="153" />
<rect
y="153"
x="150"
height="24"
width="24"
id="rect9520"
style="opacity:1;fill:#b1aca6;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#ecfbe6;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9522"
width="24"
height="24"
x="240"
y="183" />
<rect
style="opacity:1;fill:#052f03;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9524"
width="24"
height="24"
x="0"
y="183" />
<rect
style="opacity:1;fill:#197713;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9526"
width="24"
height="24"
x="60"
y="183" />
<rect
y="183"
x="30"
height="24"
width="24"
id="rect9528"
style="opacity:1;fill:#0c4608;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="183"
x="90"
height="24"
width="24"
id="rect9530"
style="opacity:1;fill:#218a1b;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#abed9c;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9532"
width="24"
height="24"
x="180"
y="183" />
<rect
style="opacity:1;fill:#81e06e;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect9536"
width="24"
height="24"
x="150"
y="183" />
<rect
y="183"
x="210"
height="24"
width="24"
id="rect9538"
style="opacity:1;fill:#cef6c5;fill-opacity:1;stroke:none;stroke-width:0.32483485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.69999981px;line-height:1em;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-3.4391122"
y="170.58151"
id="text9546"><tspan
sodipodi:role="line"
id="tspan9544"
x="-3.4391129"
y="170.58151"
style="stroke-width:0.26458332px">Grayscale</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.69999981px;line-height:1em;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-12.554834"
y="200.5157"
id="text9550"><tspan
sodipodi:role="line"
id="tspan9548"
x="-12.554835"
y="200.5157"
style="stroke-width:0.26458332px">Success</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.69999981px;line-height:1em;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-21.180664"
y="230.71715"
id="text9554"><tspan
sodipodi:role="line"
id="tspan9552"
x="-21.180664"
y="230.71715"
style="stroke-width:0.26458332px">Accent</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.69999981px;line-height:1em;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-33.880665"
y="261.45316"
id="text9558"><tspan
sodipodi:role="line"
id="tspan9556"
x="-33.880665"
y="261.45316"
style="stroke-width:0.26458332px">Alert</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.69999981px;line-height:1em;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-17.236719"
y="290.85278"
id="text9562"><tspan
sodipodi:role="line"
id="tspan9560"
x="-17.236719"
y="290.85278"
style="stroke-width:0.26458332px">Primary</tspan></text>
</g>
<defs
id="defs1428" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1401"
id="namedview1426"
showgrid="false"
inkscape:zoom="3.9666667"
inkscape:cx="123.61033"
inkscape:cy="67.707413"
inkscape:window-x="0"
inkscape:window-y="39"
inkscape:window-maximized="0"
inkscape:current-layer="svg1424" />
<rect
style="fill: #000000;"
width="310"
height="240"
x="-25"
y="-25"
id="rect1332" />
<rect
style="fill: #1f1b17;"
width="20"
height="20"
x="0"
y="0"
id="rect1334" />
<rect
style="fill: #3d3833;"
width="20"
height="20"
x="30"
y="0"
id="rect1336" />
<rect
style="fill: #4e4a46;"
width="20"
height="20"
x="60"
y="0"
id="rect1338" />
<rect
style="fill: #706965;"
width="20"
height="20"
x="90"
y="0"
id="rect1340" />
<rect
style="fill: #8f8983;"
width="20"
height="20"
x="120"
y="0"
id="rect1342" />
<rect
style="fill: #b1aca6;"
width="20"
height="20"
x="150"
y="0"
id="rect1344" />
<rect
style="fill: #cac3bd;"
width="20"
height="20"
x="180"
y="0"
id="rect1346" />
<rect
style="fill: #e3e1df;"
width="20"
height="20"
x="210"
y="0"
id="rect1348" />
<rect
style="fill: #f6f5f4;"
width="20"
height="20"
x="240"
y="0"
id="rect1350" />
<rect
style="fill:#062243;fill-opacity:1"
width="20"
height="20"
x="0"
y="40"
id="rect1352" />
<rect
style="fill:#0f3462;fill-opacity:1"
width="20"
height="20"
x="30"
y="40"
id="rect1354" />
<rect
style="fill:#0e4276;fill-opacity:1"
width="20"
height="20"
x="60"
y="40"
id="rect1356" />
<rect
style="fill:#225994;fill-opacity:1"
width="20"
height="20"
x="90"
y="40"
id="rect1358" />
<rect
style="fill:#4182c7;fill-opacity:1"
width="20"
height="20"
x="120"
y="40"
id="rect1360" />
<rect
style="fill:#72a7e3;fill-opacity:1"
width="20"
height="20"
x="150"
y="40"
id="rect1362" />
<rect
style="fill:#9dc4f0;fill-opacity:1"
width="20"
height="20"
x="180"
y="40"
id="rect1364" />
<rect
style="fill:#b5d2f3;fill-opacity:1"
width="20"
height="20"
x="210"
y="40"
id="rect1366" />
<rect
style="fill:#e4f0fd;fill-opacity:1"
width="20"
height="20"
x="240"
y="40"
id="rect1368" />
<rect
style="fill: #340e03;"
width="20"
height="20"
x="0"
y="80"
id="rect1370" />
<rect
style="fill: #681f0b;"
width="20"
height="20"
x="30"
y="80"
id="rect1372" />
<rect
style="fill: #883017;"
width="20"
height="20"
x="60"
y="80"
id="rect1374" />
<rect
style="fill: #a33d21;"
width="20"
height="20"
x="90"
y="80"
id="rect1376" />
<rect
style="fill: #c95e40;"
width="20"
height="20"
x="120"
y="80"
id="rect1378" />
<rect
style="fill: #ed947c;"
width="20"
height="20"
x="150"
y="80"
id="rect1380" />
<rect
style="fill: #f2ac99;"
width="20"
height="20"
x="180"
y="80"
id="rect1382" />
<rect
style="fill: #fbc2b3;"
width="20"
height="20"
x="210"
y="80"
id="rect1384" />
<rect
style="fill: #fef1ed;"
width="20"
height="20"
x="240"
y="80"
id="rect1386" />
<rect
style="fill: #302100;"
width="20"
height="20"
x="0"
y="120"
id="rect1388" />
<rect
style="fill: #563600;"
width="20"
height="20"
x="30"
y="120"
id="rect1390" />
<rect
style="fill: #795b00;"
width="20"
height="20"
x="60"
y="120"
id="rect1392" />
<rect
style="fill: #a07501;"
width="20"
height="20"
x="90"
y="120"
id="rect1394" />
<rect
style="fill: #c79b0e;"
width="20"
height="20"
x="120"
y="120"
id="rect1396" />
<rect
style="fill: #f4ce3f;"
width="20"
height="20"
x="150"
y="120"
id="rect1398" />
<rect
style="fill:#fee577;fill-opacity:1"
width="20"
height="20"
x="180"
y="120"
id="rect1400" />
<rect
style="fill:#fef1c1;fill-opacity:1"
width="20"
height="20"
x="210"
y="120"
id="rect1402" />
<rect
style="fill:#fff8e8;fill-opacity:1"
width="20"
height="20"
x="240"
y="120"
id="rect1404" />
<rect
style="fill:#172f03;fill-opacity:1"
width="20"
height="20"
x="0"
y="160"
id="rect1406" />
<rect
style="fill:#244608;fill-opacity:1"
width="20"
height="20"
x="30"
y="160"
id="rect1408" />
<rect
style="fill:#407713;fill-opacity:1"
width="20"
height="20"
x="60"
y="160"
id="rect1410" />
<rect
style="fill:#548f19;fill-opacity:1"
width="20"
height="20"
x="90"
y="160"
id="rect1412" />
<rect
style="fill:#7fc644;fill-opacity:1"
width="20"
height="20"
x="120"
y="160"
id="rect1414" />
<rect
style="fill:#a1e06e;fill-opacity:1"
width="20"
height="20"
x="150"
y="160"
id="rect1416" />
<rect
style="fill:#c0ed9c;fill-opacity:1"
width="20"
height="20"
x="180"
y="160"
id="rect1418" />
<rect
style="fill:#dbf6c5;fill-opacity:1"
width="20"
height="20"
x="210"
y="160"
id="rect1420" />
<rect
style="fill:#effbe6;fill-opacity:1"
width="20"
height="20"
x="240"
y="160"
id="rect1422" />
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -148,8 +148,13 @@ class InvitePost(flask_wtf.FlaskForm): # type:ignore
default=7*86400,
)
reusable = wtforms.BooleanField(
_l("Invite a group of people"),
type_ = wtforms.RadioField(
_l("Invitation type"),
choices=[
("account", _l("Individual")),
("group", _l("Group")),
],
default="account",
)
action_create_invite = wtforms.SubmitField(
@@ -228,7 +233,7 @@ async def create_invite() -> typing.Union[str, quart.Response]:
(c.id_, c.name) for c in circles
]
if form.validate_on_submit():
if form.reusable.data:
if form.type_.data == "group":
invite = await client.create_group_invite(
group_ids=form.circles.data,
ttl=form.lifetime.data,
@@ -325,7 +330,7 @@ class EditCircleForm(flask_wtf.FlaskForm): # type:ignore
)
action_save = wtforms.SubmitField(
_l("Apply")
_l("Update circle")
)
action_delete = wtforms.SubmitField(

View File

@@ -120,7 +120,7 @@ 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 user name is already taken")
_l("That username is already taken")
)
elif exc.status == 403:
form.localpart.errors.append(
@@ -128,7 +128,7 @@ async def register(id_: str) -> typing.Union[str, quart.Response]:
)
elif exc.status == 400:
form.localpart.errors.append(
_l("The user name was not valid")
_l("The username is not valid")
)
elif exc.status == 404:
return redirect(url_for(".view", id_=id_))

View File

@@ -69,7 +69,7 @@ async def login() -> typing.Union[str, quart.Response]:
await client.login(jid, password)
except quart.exceptions.Unauthorized:
form.password.errors.append(
_("Invalid user name or password.")
_("Invalid username or password.")
)
else:
return redirect(url_for('user.index'))

View File

@@ -60,6 +60,7 @@ class AdminUserInfo:
class InviteType(enum.Enum):
REGISTER = "register"
ROSTER = "roster"
@dataclasses.dataclass(frozen=True)
@@ -100,6 +101,7 @@ class AdminInviteInfo:
class AdminGroupInfo:
id_: str
name: str
muc_jid: typing.Optional[str]
members: typing.Collection[str]
@classmethod
@@ -110,6 +112,7 @@ class AdminGroupInfo:
return cls(
id_=data["id"],
name=data["name"],
muc_jid=data.get("muc_jid") or None,
members=data.get("members", []),
)
@@ -944,10 +947,12 @@ class ProsodyClient:
self,
name: str,
*,
create_muc: bool = True,
session: aiohttp.ClientSession,
) -> AdminGroupInfo:
payload = {
"name": name,
"create_muc": create_muc,
}
async with session.post(

View File

@@ -11,15 +11,15 @@ $colours: (
#f6f5f4
],
"blue": [
#062943,
#0f3d62,
#0e4c76,
#226494,
#418fc7,
#72b2e3,
#9dccf0,
#b5d8f3,
#e4f3fd
#062243,
#0f3462,
#0e4276,
#225994,
#4182c7,
#72a7e3,
#9dc4f0,
#b5d2f3,
#e4f0fd
],
"red": [
#340e03,
@@ -39,20 +39,20 @@ $colours: (
#a07501,
#c79b0e,
#f4ce3f,
#feed93,
#fef6c1,
#fffbe8
#fee577,
#fef1c1,
#fff8e8
],
"green": [
#052f03,
#0c4608,
#197713,
#218a1b,
#55c644,
#81e06e,
#abed9c,
#cef6c5,
#ecfbe6
#172f03,
#244608,
#407713,
#548f19,
#7fc644,
#a1e06e,
#c0ed9c,
#dbf6c5,
#effbe6
]
);
@@ -171,6 +171,7 @@ $w-l4: 4rem;
$w-l5: 6rem;
$w-l6: 8rem;
$w-l7: 12rem;
$w-l8: 16rem;
$font-sans: "Noto Sans", sans-serif;
$font-serif: serif;

View File

@@ -45,7 +45,7 @@ main {
/* top bar */
@mixin snikket-logo {
background-image: url('/static/img/snikket-logo.svg');
background-image: url('../img/snikket-logo.svg');
background-size: contain;
background-repeat: no-repeat;
background-position: $w-s2 0em;
@@ -171,10 +171,10 @@ body > footer {
@for $n from 1 through 6 {
div.form h#{$n}.form-title {
font-size: 100%;
font-weight: bold;
line-height: 1.5;
margin-bottom: 1.5em;
font-size: nth($h-sizes, 4);
/* font-weight: bold; */
line-height: 1.5 / (nth($h-sizes, 4) / 100%);
margin: 1.5em / (nth($h-sizes, 4) / 100%) 0;
}
}
@@ -224,11 +224,18 @@ div.form {
div.form.layout-expanded {
label {
display: block;
font-weight: bold;
color: $gray-200;
}
input[type="radio"] + label, input[type="checkbox"] + label {
font-weight: inherit;
color: inherit;
}
div.f-ebox {
margin-bottom: $w-l1;
margin: 1.5em 0;
line-height: 1.5;
}
div.f-bbox {
@@ -242,7 +249,6 @@ div.form.layout-expanded {
border: none;
border-bottom: $w-s4 solid $primary-500;
margin-bottom: -$w-s4;
padding: 0 $w-s3;
}
input[type=$type].has-error {
@@ -258,6 +264,11 @@ div.form.layout-expanded {
}
}
ul[id] {
padding: $w-s1 0;
padding-left: $w-l1;
}
input[type="checkbox"], input[type="radio"] {
position: absolute;
z-index: -1;
@@ -374,10 +385,18 @@ div.form.layout-expanded {
}
}
div.avatar-wrap {
> .avatar {
margin: 0;
margin-right: $w-0;
}
}
textarea {
width: 100%;
border: none;
border-bottom: $w-s4 solid $primary-500;
line-height: 1.5;
}
textarea:hover {
@@ -758,36 +777,6 @@ body#login {
}
/* welcome screen specials */
div.welcome-cards {
display: flex;
flex-wrap: wrap;
& > .card {
flex: 1 0 $w-l7;
margin: $w-s1;
@extend .el-2;
padding: $w-s1 $w-l1;
background: white;
}
& > a.card {
text-decoration: none;
color: inherit;
& > h2 {
color: $primary-200;
text-decoration: underline;
}
}
& > .card:hover, & > .card:active, & > .card:focus, & > .card:focus-within {
@extend .el-3;
}
}
/* admin area specials */
#topbar > div.admin-note {
@@ -799,10 +788,14 @@ div.welcome-cards {
table {
border-collapse: collapse;
width: 100%;
}
td, th {
padding: $w-s1;
}
td, th {
padding: $w-s1;
}
th {
text-align: left;
}
div.elevated {
@@ -860,6 +853,104 @@ ul.inline {
}
/* welcome screen specials */
#home main {
> h1, > p {
text-align: center;
}
}
nav.welcome {
> ul {
display: flex;
flex-wrap: wrap;
list-style-type: none;
padding: 0;
justify-content: center;
> li {
@extend .el-3;
background-color: white;
flex: 1 0 $w-l7;
margin: $w-s1;
padding: $w-s1 $w-l1;
text-align: center;
max-width: $w-l8;
display: flex;
flex-direction: column;
justify-content: space-between;
&.wide {
flex: 1 0 auto;
display: block;
}
.button {
display: block;
margin: $w-l1 0;
}
img {
display: block;
margin: $w-l1 $w-0;
--margin: $w-0 * 2;
width: calc(100% - var(--margin));
}
p {
margin-left: $w-0;
margin-right: $w-0;
}
}
}
}
div.profile-card {
display: flex;
flex-direction: row;
margin: $w-l1 0;
text-align: left;
> div.picture {
flex: 0 0 auto;
}
> div.details {
flex: 1 0 auto;
display: flex;
flex-direction: column;
> .display-name {
font-size: nth($h-small-sizes, 5);
line-height: 1.5 / (nth($h-small-sizes, 5) / 100%);
}
> .address {
display: flex;
flex-direction: row;
> input {
flex: 1 1 auto;
background-color: transparent;
border: none;
padding: 0;
margin: 0;
min-width: 0;
width: 0;
}
> .button {
flex: 0 0 auto;
margin: 0;
}
}
}
}
/* linearisation / responsive stuff */
@media screen and (max-width: $medium-screen-threshold) {
@@ -1120,3 +1211,52 @@ pre.guru-meditation {
color: $gray-700;
}
}
/* tooltip magic */
.with-tooltip {
position: relative;
text-decoration: underline;
text-decoration-style: dotted;
}
.with-tooltip:before {
content: attr(data-tooltip); /* here's the magic */
position: absolute;
font-size: 87.05505633%;
/* vertically center */
bottom: 100%;
transform: translateX(-50%);
left: 50%;
margin-bottom: $w-s2;
/* basic styles */
width:$w-l7;
padding: $w-s1;
background: black;
color: $gray-900;
text-align: center;
display: none;
}
.with-tooltip:after {
content: "";
position: absolute;
bottom: 100%;
transform: translateX(-50%);
left: 50%;
margin-bottom: -$w-s1;
/* the arrow */
border: 10px solid black;
border-color: black transparent transparent transparent;
display: none;
}
.with-tooltip:hover:before, .with-tooltip:hover:after {
display: block;
}

View File

@@ -17,6 +17,11 @@ licensed under the terms of the Apache 2.0 License -->
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M9 16.2l-3.5-3.5c-.39-.39-1.01-.39-1.4 0-.39.39-.39 1.01 0 1.4l4.19 4.19c.39.39 1.02.39 1.41 0L20.3 7.7c.39-.39.39-1.01 0-1.4-.39-.39-1.01-.39-1.4 0L9 16.2z" />
</symbol>
<!-- from: action/delete/materialiconsround/24px.svg -->
<symbol id="icon-delete" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v10zM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1z" />
</symbol>
<!-- from: action/logout/materialicons/24px.svg -->
<symbol id="icon-logout" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none" />
@@ -52,11 +57,6 @@ licensed under the terms of the Apache 2.0 License -->
<path d="M0 0h24v24H0" fill="none" />
<path d="M8 11h8v2H8zm12.1 1H22c0-2.76-2.24-5-5-5h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1zM3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM19 12h-2v3h-3v2h3v3h2v-3h3v-2h-3z" />
</symbol>
<!-- from: content/create/materialiconsround/24px.svg -->
<symbol id="icon-edit" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M3 17.46v3.04c0 .28.22.5.5.5h3.04c.13 0 .26-.05.35-.15L17.81 9.94l-3.75-3.75L3.15 17.1c-.1.1-.15.22-.15.36zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z" />
</symbol>
<!-- from: content/remove_circle_outline/materialiconsround/24px.svg -->
<symbol id="icon-remove" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
@@ -97,14 +97,44 @@ licensed under the terms of the Apache 2.0 License -->
<rect fill="none" height="24" width="24" />
<g><path d="M12,12.75c1.63,0,3.07,0.39,4.24,0.9c1.08,0.48,1.76,1.56,1.76,2.73L18,17c0,0.55-0.45,1-1,1H7c-0.55,0-1-0.45-1-1l0-0.61 c0-1.18,0.68-2.26,1.76-2.73C8.93,13.14,10.37,12.75,12,12.75z M4,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2 C2,12.1,2.9,13,4,13z M5.13,14.1C4.76,14.04,4.39,14,4,14c-0.99,0-1.93,0.21-2.78,0.58C0.48,14.9,0,15.62,0,16.43L0,17 c0,0.55,0.45,1,1,1l3.5,0v-1.61C4.5,15.56,4.73,14.78,5.13,14.1z M20,13c1.1,0,2-0.9,2-2c0-1.1-0.9-2-2-2s-2,0.9-2,2 C18,12.1,18.9,13,20,13z M24,16.43c0-0.81-0.48-1.53-1.22-1.85C21.93,14.21,20.99,14,20,14c-0.39,0-0.76,0.04-1.13,0.1 c0.4,0.68,0.63,1.46,0.63,2.29V18l3.5,0c0.55,0,1-0.45,1-1L24,16.43z M12,6c1.66,0,3,1.34,3,3c0,1.66-1.34,3-3,3s-3-1.34-3-3 C9,7.34,10.34,6,12,6z" /></g>
</symbol>
<!-- from: social/people/materialiconsround/24px.svg -->
<symbol id="icon-people" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V18c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05.02.01.03.03.04.04 1.14.83 1.93 1.94 1.93 3.41V18c0 .35-.07.69-.18 1H22c.55 0 1-.45 1-1v-1.5c0-2.33-4.67-3.5-7-3.5z" />
</symbol>
<!-- from: social/group_add/materialiconsround/24px.svg -->
<symbol id="icon-create_group" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M7 10H5V8c0-.55-.45-1-1-1s-1 .45-1 1v2H1c-.55 0-1 .45-1 1s.45 1 1 1h2v2c0 .55.45 1 1 1s1-.45 1-1v-2h2c.55 0 1-.45 1-1s-.45-1-1-1zm11 1c1.66 0 2.99-1.34 2.99-3S19.66 5 18 5c-.32 0-.63.05-.91.14.57.81.9 1.79.9 2.86s-.34 2.04-.9 2.86c.28.09.59.14.91.14zm-5 0c1.66 0 2.99-1.34 2.99-3S14.66 5 13 5s-3 1.34-3 3 1.34 3 3 3zm0 2c-2 0-6 1-6 3v1c0 .55.45 1 1 1h10c.55 0 1-.45 1-1v-1c0-2-4-3-6-3zm6.62.16c.83.73 1.38 1.66 1.38 2.84v1.5c0 .17-.02.34-.05.5h2.55c.28 0 .5-.22.5-.5V16c0-1.54-2.37-2.49-4.38-2.84z" />
</symbol>
<!-- from: social/person_add/materialiconsround/24px.svg -->
<symbol id="icon-add_user" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V8c0-.55-.45-1-1-1s-1 .45-1 1v2H2c-.55 0-1 .45-1 1s.45 1 1 1h2v2c0 .55.45 1 1 1s1-.45 1-1v-2h2c.55 0 1-.45 1-1s-.45-1-1-1H6zm9 4c-2.67 0-8 1.34-8 4v1c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-1c0-2.66-5.33-4-8-4z" />
</symbol>
<!-- from: social/person_remove/materialiconsround/24px.svg -->
<symbol id="icon-remove_user" viewBox="0 0 24 24">
<g><rect fill="none" height="24" width="24" /><rect fill="none" height="24" width="24" /></g>
<g><path d="M14,8c0-2.21-1.79-4-4-4S6,5.79,6,8s1.79,4,4,4S14,10.21,14,8z M2,18v1c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1v-1 c0-2.66-5.33-4-8-4S2,15.34,2,18z M18,10h4c0.55,0,1,0.45,1,1v0c0,0.55-0.45,1-1,1h-4c-0.55,0-1-0.45-1-1v0 C17,10.45,17.45,10,18,10z" /></g>
</symbol>
<!-- from: navigation/close/materialiconsround/24px.svg -->
<symbol id="icon-close" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M18.3 5.71c-.39-.39-1.02-.39-1.41 0L12 10.59 7.11 5.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z" />
</symbol>
<!-- from: image/edit/materialiconsround/24px.svg -->
<symbol id="icon-edit" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M3 17.46v3.04c0 .28.22.5.5.5h3.04c.13 0 .26-.05.35-.15L17.81 9.94l-3.75-3.75L3.15 17.1c-.1.1-.15.22-.15.36zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z" />
</symbol>
<!-- from: action/admin_panel_settings/materialiconsround/24px.svg -->
<symbol id="icon-admin" viewBox="0 0 24 24">
<g><rect fill="none" height="24" width="24" /><rect fill="none" height="24" width="24" /></g>
<g><g><path d="M17,11c0.34,0,0.67,0.04,1,0.09V7.58c0-0.8-0.47-1.52-1.2-1.83l-5.5-2.4c-0.51-0.22-1.09-0.22-1.6,0l-5.5,2.4 C3.47,6.07,3,6.79,3,7.58v3.6c0,4.54,3.2,8.79,7.5,9.82c0.55-0.13,1.08-0.32,1.6-0.55C11.41,19.47,11,18.28,11,17 C11,13.69,13.69,11,17,11z" /><path d="M17,13c-2.21,0-4,1.79-4,4c0,2.21,1.79,4,4,4s4-1.79,4-4C21,14.79,19.21,13,17,13z M17,14.38c0.62,0,1.12,0.51,1.12,1.12 s-0.51,1.12-1.12,1.12s-1.12-0.51-1.12-1.12S16.38,14.38,17,14.38z M17,19.75c-0.93,0-1.74-0.46-2.24-1.17 c0.05-0.72,1.51-1.08,2.24-1.08s2.19,0.36,2.24,1.08C18.74,19.29,17.93,19.75,17,19.75z" /></g></g>
</symbol>
<!-- from: content/link/materialiconsround/24px.svg -->
<symbol id="icon-link" viewBox="0 0 24 24">
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M17 7h-3c-.55 0-1 .45-1 1s.45 1 1 1h3c1.65 0 3 1.35 3 3s-1.35 3-3 3h-3c-.55 0-1 .45-1 1s.45 1 1 1h3c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-9 5c0 .55.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1H9c-.55 0-1 .45-1 1zm2 3H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h3c.55 0 1-.45 1-1s-.45-1-1-1H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h3c.55 0 1-.45 1-1s-.45-1-1-1z" />
</symbol>
</defs></svg>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -2,6 +2,8 @@
{% from "library.j2" import action_button, custom_form_button, form_button, circle_name %}
{% block content %}
<h1>{% trans %}Manage circles{% endtrans %}</h1>
<p>{% trans %}<em>Circles</em> aim to help people who are in the same social circle find each other on your service.{% endtrans %}</p>
<p>{% trans %}Users who are in the same circle will see each other in their contact list. In addition, each circle has a group chat where the circle members are included.{% endtrans %}</p>
{%- if circles -%}
<form method="POST" action="{{ url_for(".create_invite") }}">
{{- invite_form.csrf_token -}}
@@ -22,8 +24,11 @@
{%- call custom_form_button("create_link", invite_form.circles.name, circle.id_, slim=True, class="secondary accent") -%}
{% trans circle_name=circle.name %}Create invitation to circle {{ circle_name }}{% endtrans %}
{%- endcall -%}
{%- call action_button("more", url_for(".edit_circle", id_=circle.id_), class="primary") -%}
{% trans circle_name=circle.name %}Show details of circle {{ circle_name }}{% endtrans %}
{%- call action_button("people", url_for(".edit_circle", id_=circle.id_) + "#members", class="secondary") -%}
{% trans circle_name=circle.name %}Manage members of {{ circle_name }}{% endtrans %}
{%- endcall -%}
{%- call action_button("edit", url_for(".edit_circle", id_=circle.id_), class="primary") -%}
{% trans circle_name=circle.name %}Edit circle {{ circle_name }}{% endtrans %}
{%- endcall -%}
</td>
</tr>

View File

@@ -5,8 +5,8 @@
<h2 class="form-title">{% trans %}Create new invitation{% endtrans %}</h2>
<p class="form-descr weak">{% trans %}Create a new invitation link to invite more users to your Snikket service by clicking the button below.{% endtrans %}</p>
<div class="f-ebox">
{{ invite_form.reusable }}
{{ invite_form.reusable.label }}
{{ invite_form.type_.label }}
{{ invite_form.type_ }}
</div>
<div class="f-ebox">
{{ invite_form.lifetime.label }}

View File

@@ -11,17 +11,13 @@
<dd>{{ target_user.localpart }}</dd>
<dt>{% trans %}Display name{% endtrans %}</dt>
<dd>{{ target_user.display_name }}</dd>
<dt>{% trans %}Email address{% endtrans %}</dt>
<dd>{{ target_user.email }}</dd>
<dt>{% trans %}Display name{% endtrans %}</dt>
<dd>{{ target_user.phone }}</dd>
</dl>
{% call box("alert", _("Danger")) %}
<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 form_button("remove", form.action_delete, class="primary danger") %}{% endcall -%}
{%- call form_button("delete", form.action_delete, class="primary danger") %}{% endcall -%}
</div>
</form></div>
{% endblock %}

View File

@@ -1,15 +1,43 @@
{% extends "admin_app.html" %}
{% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button %}
{% from "library.j2" import form_button, standard_button, value_or_hint, custom_form_button, clipboard_button %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
{% endblock %}
{% block content %}
<h1>{% trans circle_name=(target_circle | circle_name) %}Edit circle {{ circle_name }}{% endtrans %}</h1>
<form method="POST">
{{- form.csrf_token -}}
{%- if target_circle.id_ == "default" -%}
<div class="box hint form layout-expanded">
<header>{% trans %}This circle cannot be modified{% endtrans %}</header>
<p>{% trans %}This circle is managed automatically and cannot be removed or renamed.{% endtrans %}</p>
{%- if target_circle.muc_jid -%}
<div><label for="circle-muc-jid">{% trans %}Group chat address{% endtrans %}</label></div>
<div><input type="text" readonly="readonly" id="circle-muc-jid" value="{{ target_circle.muc_jid }}"></div>
{%- call clipboard_button(target_circle.muc_jid, show_label=True) -%}
{%- trans -%}Copy address{%- endtrans -%}
{%- endcall -%}
{%- endif -%}
</div>
{%- else -%}
<div class="form layout-expanded">
<h2 class="form-title">{% trans %}Circle information{% endtrans %}</h2>
<div class="f-ebox">
{{ form.name.label }}
{{ form.name }}
</div>
<div class="f-ebox">
{%- if target_circle.muc_jid -%}
<label for="circle-muc-jid">{% trans %}Group chat address{% endtrans %}</label>
<input type="text" readonly="readonly" id="circle-muc-jid" value="{{ target_circle.muc_jid }}">
{%- call clipboard_button(target_circle.muc_jid, show_label=True) -%}
{%- trans -%}Copy address{%- endtrans -%}
{%- endcall -%}
{%- else -%}
<p>{% trans %}This circle has no group chat associated.{% endtrans %}<p>
{%- endif -%}
</div>
<div class="f-bbox">
{%- call standard_button("back", url_for(".circles"), class="secondary") -%}
{% trans %}Back{% endtrans %}
@@ -19,10 +47,11 @@
<h3 class="form-title">{% trans %}Delete circle{% endtrans %}</h3>
<p class="form-desc">{% trans %}Deleting a circle does not delete any users in the circle.{% endtrans %}</p>
<div class="f-bbox">
{%- call form_button("done", form.action_delete, class="secondary danger") %}{% endcall -%}
{%- call form_button("delete", form.action_delete, class="secondary danger") %}{% endcall -%}
</div>
</div>
<h2>{% trans %}Circle members{% endtrans %}</h2>
{%- endif -%}
<h2 id="members">{% trans %}Circle members{% endtrans %}</h2>
{%- if circle_members -%}
<div class="el-2 elevated"><table>
<thead>
@@ -36,7 +65,7 @@
<td>{{ member.localpart }}</td>
<td class="collapsible">{% call value_or_hint(member.display_name) %}{% endcall %}</td>
<td class="nowrap">
{%- call custom_form_button("remove", form.action_remove_user.name, member.localpart, class="primary danger", slim=True) -%}
{%- call custom_form_button("remove_user", form.action_remove_user.name, member.localpart, class="primary danger", slim=True) -%}
{% trans username=member.localpart %}Remove user {{ username }} from circle{% endtrans %}
{%- endcall -%}
</td>
@@ -56,7 +85,7 @@
<div class="select-wrap">{{ form.user_to_add }}</div>
</div>
<div class="f-bbox">
{%- call form_button("add", form.action_add_user, class="primary") %}{% endcall -%}
{%- call form_button("add_user", form.action_add_user, class="primary") %}{% endcall -%}
</div>
</div>
{%- else -%}

View File

@@ -1,5 +1,5 @@
{% extends "admin_app.html" %}
{% from "library.j2" import showuri, form_button, standard_button, extract_circle_name %}
{% from "library.j2" import showuri, form_button, standard_button, extract_circle_name, invite_type_description %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
@@ -14,8 +14,8 @@
<dd>{{ invite.expires | format_date }}</dd>
<dt>{% trans %}Link{% endtrans %}</dt>
<dd>{% call showuri(invite.landing_page) %}{% endcall %}</dd>
<dt>{% trans %}Reusability{% endtrans %}</dt>
<dd>{% if invite.reusable %}{% trans %}This invitation link can be used arbitrarily often, until it expires, is revoked or a service-wide user limit is reached.{% endtrans %}{% else %}{% trans %}This invitation link can only be used once and is then depleted.{% endtrans %}{% endif %}</dd>
<dt>{% trans %}Invitation type{% endtrans %}</dt>
<dd>{% call invite_type_description(invite) %}{% endcall %}</dd>
{%- set ngroups = invite.group_ids | length -%}
{%- if ngroups > 1 -%}
{#- not supported via the web UI, but we should still display it properly -#}
@@ -36,6 +36,10 @@
{%- endif -%}
</dd>
{%- endif -%}
{%- if invite.type_.value == "roster" -%}
<dt>{% trans %}Contact{% endtrans %}</dt>
<dd>{% trans peer_jid=invite.jid %}The user will get added as contact of {{ peer_jid }}.{% endtrans %}</dd>
{%- endif -%}
<dt>{% trans %}Created{% endtrans %}</dt>
<dd>{{ invite.created_at | format_date }}</dd>
</dl>

View File

@@ -1,22 +1,43 @@
{% extends "admin_app.html" %}
{% set body_id = "home" %}
{% block content %}
<h1>{% trans %}Welcome to the administration dashboard!{% endtrans %}</h1>
<h1>{% trans %}Welcome to the admin panel!{% endtrans %}</h1>
<p>{% trans user_name=user_info.display_name %}At your service, {{ user_name }}.{% endtrans %}</p>
<div class="welcome-cards">
<a class="card" href="{{ url_for('.users') }}">
<h2>{% trans %}Manage users{% endtrans %}</h2>
<p>{% trans %}Modify administrative user information or delete users.{% endtrans %}</p>
</a>
<a class="card" href="{{ url_for('.circles') }}">
<h2>{% trans %}Manage circles{% endtrans %}</h2>
</a>
<a class="card" href="{{ url_for('.invitations') }}">
<h2>{% trans %}Manage invitations{% endtrans %}</h2>
<p>{% trans %}Create, revoke or view invitations.{% endtrans %}</p>
</a>
<a class="card" href="{{ url_for('user.index') }}">
<h2>{% trans %}Back to the main view{% endtrans %}</h2>
<p>{% trans %}Go back to your users web portal page.{% endtrans %}</p>
</a>
</div>
<nav class="welcome">
<ul>
<li>
<h2>{% trans %}Users{% endtrans %}</h2>
{#- -#}
<p>{% trans %}Create password reset links or delete users.{% endtrans %}</p>
{#- -#}
{# <img aria-hidden="true" src="{{ url_for("static", filename="img/illus-profile.svg") }}"> #}
{#- -#}
<div>{% call standard_button("people", url_for(".users"), class="primary") %}{% trans %}Manage users{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
<li>
<h2>{% trans %}Circles{% endtrans %}</h2>
{#- -#}
<p>{% trans %}Create and manage social circles represented on your service.{% endtrans %}</p>
{#- -#}
<div>{% call standard_button("groups", url_for(".circles"), class="primary") %}{% trans %}Manage circles{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
<li>
<h2>{% trans %}Invitations{% endtrans %}</h2>
{#- -#}
<p>{% trans %}Create, revoke or copy invitations.{% endtrans %}</p>
{#- -#}
<div>{% call standard_button("link", url_for(".invitations"), class="primary") %}{% trans %}Manage invitations{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
<li>
{#- -#}
<p>{% trans %}Go back to your users web portal page.{% endtrans %}</p>
{#- -#}
<div>{% call standard_button("logout", url_for("user.index"), class="secondary") %}{% trans %}Exit admin panel{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
</ul>
</nav>
{% endblock %}

View File

@@ -1,5 +1,5 @@
{% extends "admin_app.html" %}
{% from "library.j2" import action_button, icon, clipboard_button, form_button, custom_form_button, extract_circle_name %}
{% from "library.j2" import action_button, icon, clipboard_button, form_button, custom_form_button, extract_circle_name, invite_type_name, invite_type_description %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
@@ -19,7 +19,7 @@
<thead>
<tr>
<th>{% trans %}Valid until{% endtrans %}</th>
<th class="collapsible">{% trans %}Reusable{% endtrans %}</th>
<th class="collapsible">{% trans %}Type{% endtrans %}</th>
<th class="collapsible">{% trans %}Circle{% endtrans %}</th>
<th>{% trans %}Actions{% endtrans %}</th>
</tr>
@@ -28,8 +28,7 @@
{% for invite in invites %}
<tr>
<td>{{ (invite.expires - now) | format_timedelta(add_direction=True) }}</td>
<td class="collapsible">{% if invite.reusable %}{% trans %}Yes{% endtrans %}{% else %}{% trans
%}No{% endtrans %}{% endif %}</td>
<td class="collapsible"><span class="with-tooltip above" data-tooltip="{% call invite_type_description(invite) %}{% endcall %}">{% call invite_type_name(invite) %}{% endcall %}</span></td>
<td class="collapsible">
{#- -#}
<ul class="inline">

View File

@@ -9,8 +9,6 @@
<tr>
<th>{% trans %}Login name{% endtrans %}</th>
<th>{% trans %}Display name{% endtrans %}</th>
<th class="collapsible">{% trans %}Email address{% endtrans %}</th>
<th class="collapsible">{% trans %}Phone number{% endtrans %}</th>
<th>{% trans %}Actions{% endtrans %}</th>
</tr>
</thead>
@@ -19,16 +17,14 @@
<tr>
<td>{{ user.localpart }}</td>
<td>{% call value_or_hint(user.display_name) %}{% endcall %}</td>
<td class="collapsible">{% call value_or_hint(user.email) %}{% endcall %}</td>
<td class="collapsible">{% call value_or_hint(user.phone) %}{% endcall %}</td>
<td class="nowrap">
{%- call action_button("remove", url_for(".delete_user", localpart=user.localpart), class="secondary") -%}
{%- 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("create_link", reset_form.action_create.name, user.localpart, class="secondary", slim=True) -%}
{%- 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 %}
{%- endcall -%}
</form>

View File

@@ -1,9 +1,9 @@
{% extends "unauth.html" %}
{% from "library.j2" import avatar with context %}
{% from "library.j2" import standard_button %}
{% block head_lead %}
<title>{% trans %}Snikket Web Portal{% endtrans %}</title>
{% endblock %}
{% block topbar_right %}
{{- super() -}}
<nav class="usermenu">{{ user_info.display_name }}{% call avatar(user_info.address, user_info.avatar_hash ) %}{% endcall %}</nav>
{% call standard_button("logout", url_for("user.logout"), class="tertiary") %}{% trans %}Log out{% endtrans %}{% endcall %}
{%- endblock %}

View File

@@ -10,7 +10,7 @@
{% block body %}
<h1 id="dummy">Theme Demo</h1>
<p>This page is to demonstrate the Snikket Web Portal theme and allow development. You should not see this during normal use.</p>
<p><a id="disable-lines" href="#no-lines" class="button secondary">Disable rhythm lines</a><a id="enable-lines" href="#dummy" class="button secondary">Enable rhythm lines</a></p>
<p style="height: 3rem"><a id="disable-lines" href="#no-lines" class="button secondary">Disable rhythm lines</a><a id="enable-lines" href="#dummy" class="button secondary">Enable rhythm lines</a></p>
<h2>Headings</h2>
<p>This subsection is responsible for demonstrating the heading sizes, with the relation between the different headings and also the relation between headings and text.</p>
<div class="demo-columns"><div class="demo-column">
@@ -145,14 +145,20 @@
<input type="text" id="fex-f1" name="fex-f1">
</div>
<div class="f-ebox">
<input type="checkbox" id="fex-f2" name="fex-f2"><label for="fex-f2">Enable fancy features</label>
<input type="checkbox" id="fex-f3" name="fex-f3"><label for="fex-f3">Enable more features</label>
<input type="checkbox" id="fex-f4" name="fex-f4"><label for="fex-f4">Also do that other thing</label>
<label>Optional features</label>
<ul id="check-features">
<li><input type="checkbox" id="fex-f2" name="fex-f2"><label for="fex-f2">Enable fancy features</label></li>
<li><input type="checkbox" id="fex-f3" name="fex-f3"><label for="fex-f3">Enable more features</label></li>
<li><input type="checkbox" id="fex-f4" name="fex-f4"><label for="fex-f4">Also do that other thing</label></li>
</ul>
</div>
<div class="f-ebox">
<input type="radio" id="fex-f5" name="fex-rg1"><label for="fex-f5">High difficulty</label>
<input type="radio" id="fex-f6" name="fex-rg1"><label for="fex-f6">Medium difficulty</label>
<input type="radio" id="fex-f7" name="fex-rg1"><label for="fex-f7">Low difficulty</label>
<label>Level</label>
<ul id="radio-difficulty">
<li><input type="radio" id="fex-f5" name="fex-rg1"><label for="fex-f5">High difficulty</label></li>
<li><input type="radio" id="fex-f6" name="fex-rg1"><label for="fex-f6">Medium difficulty</label></li>
<li><input type="radio" id="fex-f7" name="fex-rg1"><label for="fex-f7">Low difficulty</label></li>
</ul>
</div>
<div class="f-ebox">
<label for="fex-f8">Select dropdown:</label>

View File

@@ -1,11 +1,12 @@
{% extends "invite.html" %}
{% set body_id = "invite" %}
{% block content %}
<div class="elevated box el-3">
<h1>{% trans site_name=config["SITE_NAME"] %}Invite to {{ site_name }}{% endtrans %}</h1>
<div class="powered-by">{% trans logo_url=url_for("static", filename="img/snikket-logo.svg") %}Powered by <img src="{{ logo_url }}" alt="Snikket">{% endtrans %}</div>
<div class="box alert">
<header>{% trans %}Invite expired{% endtrans %}</header>
<p>{% trans %}Sorry, it looks like this invite code has expired!{% endtrans %}</p>
<p>{% trans %}Sorry, it looks like this invitation link has expired!{% endtrans %}</p>
</div>
<img alt="Sad person holding empty box" src="{{ url_for("static", filename="img/illus-empty.svg") }}" class="fullwidth">
</div>

View File

@@ -14,7 +14,7 @@
{%- call clipboard_button(jid, show_label=True) -%}
{% trans %}Copy address{% endtrans %}
{%- endcall -%}
<p>{% trans %}You can not set up your legacy XMPP client with the above address and the password you chose during registration.{% endtrans %}</p>
<p>{% trans %}You can now set up your legacy XMPP client with the above address and the password you chose during registration.{% endtrans %}</p>
<p>{% trans %}You can now safely close this page.{% endtrans %}</p>
</div>
{% endblock %}

View File

@@ -107,3 +107,19 @@
<em>{% trans %}deleted{% endtrans %}</em>
{%- endif -%}
{% endmacro %}
{%- macro invite_type_name(invite_info, caller=None) -%}
{%- if invite_info.reusable -%}
{% trans %}Group{% endtrans %}
{%- else -%}
{% trans %}Individual{% endtrans %}
{%- endif -%}
{%- endmacro -%}
{%- macro invite_type_description(invite_info, caller=None) -%}
{%- if invite_info.reusable -%}
{% trans %}Can be used multiple times to create accounts on this Snikket service.{% endtrans %}
{%- else -%}
{% trans %}Can be used once to create an account on this Snikket service.{% endtrans %}
{%- endif -%}
{%- endmacro -%}

View File

@@ -1,24 +1,46 @@
{% extends "app.html" %}
{% from "library.j2" import clipboard_button, standard_button, avatar with context %}
{% set body_id = "home" %}
{% block head_lead %}
{{ super() }}
{% include "copy-snippet.html" %}
{% endblock %}
{% block content %}
<h1>{% trans %}Welcome!{% endtrans %}</h1>
<p>{% trans user_name=user_info.display_name %}Welcome home, {{ user_name }}.{% endtrans %}</p>
<div class="welcome-cards">
<a class="card" href="{{ url_for('.profile') }}">
<h2>{% trans %}Update profile{% endtrans %}</h2>
<p>{% trans %}Change display name, set avatar and configure visibility of your personal data to others.{% endtrans %}</p>
</a>
<a class="card" href="{{ url_for('.change_pw') }}">
<h2>{% trans %}Change password{% endtrans %}</h2>
</a>
{% if user_info.is_admin %}
<a class="card" href="{{ url_for('admin.index') }}">
<h2>{% trans %}Admin dashboard{% endtrans %}</h2>
<p>{% trans %}Manage users and invitations of this Snikket service.{% endtrans %}</p>
</a>
{% endif %}
<a class="card" href="{{ url_for('.logout') }}">
<h2>{% trans %}Log out{% endtrans %}</h2>
<p>{% trans %}Exit the Snikket Web Portal, without logging out your other devices.{% endtrans %}</p>
</a>
</div>
<nav class="welcome">
<ul>
<li class="wide">
<h2>{% trans %}Your account{% endtrans %}</h2>
<div class="profile-card">
<div class="picture" aria-label="Your profile picture">{% call avatar(user_info.address, user_info.avatar_hash ) %}{% endcall %}</div>
<div class="details">
<div class="display-name">{{ user_info.display_name | default(user_info.username) }}</div>
<div class="address">
<input value="{{ user_info.address }}">
{% call clipboard_button(user_info.address) %}{% trans %}Copy address{% endtrans %}{% endcall %}
</div>
</div>
</div>
{#- -#}
{# <p>{% trans %}Change your display name, set a profile picture and control visibility of your personal data to others.{% endtrans %}</p> #}
{#- -#}
{# <img aria-hidden="true" src="{{ url_for("static", filename="img/illus-profile.svg") }}"> #}
{#- -#}
<div>{% call standard_button("edit", url_for(".profile"), class="primary") %}{% trans %}Edit profile{% endtrans %}{% endcall %}</div>
<div>{% call standard_button("passwd", url_for(".change_pw"), class="secondary") %}{% trans %}Change password{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
{% if user_info.is_admin %}
<li>
<h2>{% trans %}Your Snikket{% endtrans %}</h2>
{#- -#}
<p>{% trans %}Manage users, invitations and circles of your Snikket service.{% endtrans %}</p>
{#- -#}
<div>{% call standard_button("admin", url_for("admin.index"), class="primary") %}{% trans %}Admin panel{% endtrans %}{% endcall %}</div>
{#- -#}
</li>
{% endif %}
</ul>
</nav>
{% endblock %}

View File

@@ -28,7 +28,7 @@
</div>
<div class="f-bbox">
{%- call standard_button("back", url_for('.index'), class="secondary") %}{% trans %}Back{% endtrans %}{% endcall -%}
{%- call custom_form_button("done", "", "", class="primary") -%}
{%- call custom_form_button("passwd", "", "", class="primary") -%}
{% trans %}Change password{% endtrans %}
{%- endcall -%}
</div>

View File

@@ -1,5 +1,5 @@
{% extends "app.html" %}
{% from "library.j2" import standard_button, form_button %}
{% from "library.j2" import standard_button, form_button, avatar with context %}
{% block head_lead %}
<title>Snikket Web Portal</title>
{% endblock %}
@@ -13,7 +13,10 @@
</div>
<div class="f-ebox">
{{ form.avatar.label }}
<div class="avatar-wrap">
{%- call avatar(user_info.address, user_info.avatar_hash ) %}{% endcall -%}
{{ form.avatar }}
</div>
</div>
<h3 class="form-title">{% trans %}Visibility{% endtrans %}</h3>
<p class="form-descr weak">{% trans %}This section allows you to control who can see your profile information, like avatar and nickname.{% endtrans %}</p>

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: SnikketWeb 0.1.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"PO-Revision-Date: 2021-01-24 10:05+0000\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-26 14:06+0000\n"
"Last-Translator: Jonas Schäfer <jonas@zombofant.net>\n"
"Language-Team: German <https://i18n.sotecware.net/projects/snikket/web-"
"portal/de/>\n"
@@ -56,39 +56,51 @@ msgstr "Eine Woche"
msgid "Four weeks"
msgstr "Vier Wochen"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Mehrere Personen einladen"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "Einladung anzeigen"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "Neuer Einladungslink"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Löschen"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Name"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Gemeinschaft gründen"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Benutzer auswählen"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Übernehmen"
#: snikket_web/admin.py:333
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "Gemeinschaft gründen"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr "Gemeinschaft endgültig löschen"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Benutzer hinzufügen"
@@ -96,20 +108,56 @@ msgstr "Benutzer hinzufügen"
msgid "Main"
msgstr "Kern"
#: snikket_web/invite.py:86
msgid "Username"
msgstr ""
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Passwort"
#: snikket_web/invite.py:94
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "Neues Passwort (Bestätigung)"
#: snikket_web/invite.py:98
#, fuzzy
#| msgid "The new passwords must match"
msgid "The passwords must match"
msgstr "Die neuen Passwörter müssen übereinstimmen"
#: snikket_web/invite.py:103
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "Gemeinschaft gründen"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr ""
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr ""
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr ""
#: snikket_web/main.py:36
msgid "Address"
msgstr "Adresse"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Passwort"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Anmelden"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
#, fuzzy
#| msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Benutzername oder Passwort falsch."
#: snikket_web/user.py:21
@@ -145,7 +193,6 @@ msgid "Everyone"
msgstr "Jeder"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Anzeigename"
@@ -158,10 +205,19 @@ msgstr "Bild"
msgid "Profile visibility"
msgstr "Profilsichtbarkeit"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Profil bearbeiten"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Ungültiges Passwort"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Ein <a href=\"%(about_url)s\">Snikket</a>-Dienst"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr "Über Snikket"
@@ -238,35 +294,55 @@ msgstr "Administration"
msgid "Manage circles"
msgstr "Gemeinschaften verwalten"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "Name"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Mitglieder"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Aktionen"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr "Einladung in die %(circle_name)s Gemeinschaft erzeugen"
#: snikket_web/templates/admin_circles.html:26
#, python-format
msgid "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Details der %(circle_name)s Gemeinschaft anzeigen"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Gemeinschaft %(circle_name)s bearbeiten"
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr "Keine Gemeinschaften"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
@@ -274,7 +350,7 @@ msgstr ""
"Es gibt derzeit keine Gemeinschaften auf diesem Dienst. Unten kannst du eine "
"anlegen."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr "Neue Gemeinschaft"
@@ -317,7 +393,7 @@ msgid "Copy complete output"
msgstr "Komplette Ausgabe kopieren"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Benutzer %(user_name)s löschen"
@@ -336,21 +412,11 @@ msgstr "Bist du sicher dass du den folgenden Benutzer löschen willst?"
msgid "Login name"
msgstr "Anmeldename"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "E-Mail-Adresse"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Gefahr"
#: snikket_web/templates/admin_delete_user.html:20
#, fuzzy
#| msgid ""
#| "The user and their data will be deleted irrevocably, permanently and "
#| "immediately upon pushing thre below button. <strong>There is no way back!"
#| "</strong>"
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
@@ -360,8 +426,8 @@ msgstr ""
"Buttons unwiderruflich, permanent und sofortig gelöscht. <strong>Es gibt "
"keinen Weg zurück!</strong>"
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -370,51 +436,73 @@ msgstr ""
msgid "Back"
msgstr "Zurück"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Gemeinschaft %(circle_name)s bearbeiten"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
#, fuzzy
#| msgid "Email address"
msgid "Group chat address"
msgstr "E-Mail-Adresse"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
#, fuzzy
#| msgid "Email address"
msgid "Copy address"
msgstr "E-Mail-Adresse"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr "Gemeinschaftsinformationen"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr "Gemeinschaft löschen"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr ""
"Wenn eine Gemeinschaft gelöscht wird, werden die Benutzer die zu dieser "
"Gemeinschaft gehören nicht gelöscht."
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Mitglieder der Gemeinschaft"
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Benutzer %(username)s aus der Gemeinschaft entfernen"
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "Diese Gemeinschaft hat derzeit keine Mitglieder."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Mehr Mitglieder einladen"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Bestehenden Benuzter hinzufügen"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "Keine Benutzer übrig"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr "Alle Benutzer dieses Dienstes sind bereits in dieser Gemeinschaft."
@@ -433,10 +521,6 @@ msgstr "Gültig bis"
msgid "Link"
msgstr "Link"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Wiederverwendbarkeit"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -520,20 +604,24 @@ msgstr "Benutzer verwalten"
msgid "Modify administrative user information or delete users."
msgstr "Benutzerinformationen verändern oder Benutzer löschen."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Einladungen verwalten"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Einladungen erzeugen, löschen oder anzeigen."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Zurück zur Hauptseite"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Zurück zur Startseite deines Benutzers."
@@ -542,34 +630,22 @@ msgid "Pending invitations"
msgstr "Ausstehende Einladungen"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Mehrfach"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Ja"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "Nein"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "gelöscht"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Einladungsdetails anzeigen"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Einladungslink kopieren"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Einladung löschen"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Derzeit gibt es keine ausstehenden Einladungen."
@@ -590,16 +666,12 @@ msgstr ""
msgid "Destroy link"
msgstr "Link zerstören"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Telefonnummer"
#: snikket_web/templates/admin_users.html:29
#: 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:32
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Create password reset link for %(user_name)s"
msgstr "Benutzer %(user_name)s löschen"
@@ -633,6 +705,221 @@ msgstr "Zurück zur Hauptseite"
msgid "The web portal encountered an internal error."
msgstr "Das Webportal hatte einen internen Fehler."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Invite to %(site_name)s"
msgstr "Benutzer %(user_name)s bearbeiten"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
#: snikket_web/templates/invite_invalid.html:7
#, fuzzy
#| msgid "Invite to circle"
msgid "Invite expired"
msgstr "In Gemeinschaft einladen"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_register.html:9
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Register on %(site_name)s"
msgstr "Benutzer %(user_name)s bearbeiten"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_register.html:12
#, fuzzy
#| msgid "Create invitation"
msgid "Create an account"
msgstr "Gemeinschaft gründen"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr ""
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr ""
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
msgid "This button works only if you have the app installed already!"
msgstr ""
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr ""
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr ""
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr ""
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr ""
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr ""
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr ""
#: snikket_web/templates/invite_view.html:30
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:37
msgid "Alternatives"
msgstr ""
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
#: snikket_web/templates/invite_view.html:44
#, fuzzy
#| msgid "Show invite details"
msgid "Scan invite code"
msgstr "Einladungsdetails anzeigen"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr ""
#: snikket_web/templates/invite_view.html:50
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:55
msgid "Using a QR code scanner"
msgstr ""
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr ""
#: snikket_web/templates/invite_view.html:62
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
#: snikket_web/templates/invite_view.html:68
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:69
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 "
"recognises it."
msgstr ""
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Link kopieren"
@@ -641,6 +928,10 @@ msgstr "Link kopieren"
msgid "Invalid input"
msgstr "Ungültige Eingabe"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "gelöscht"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Anmeldung"
@@ -654,11 +945,6 @@ msgstr ""
msgid "Login failed"
msgstr "Anmeldung fehlgeschlagen"
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Ein <a href=\"%(about_url)s\">Snikket</a>-Dienst"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Willkommen!"
@@ -668,10 +954,6 @@ msgstr "Willkommen!"
msgid "Welcome home, %(user_name)s."
msgstr "Willkommen zu Hause, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Profil bearbeiten"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -753,6 +1035,30 @@ msgstr ""
"Hier kannst du einstellen, wer deine Profilinformationen, wie Bild oder "
"Anzeigename einsehen kann."
#~ msgid "Invite a group of people"
#~ msgstr "Mehrere Personen einladen"
#~ msgid "Reusability"
#~ msgstr "Wiederverwendbarkeit"
#~ msgid "Reusable"
#~ msgstr "Mehrfach"
#~ msgid "Yes"
#~ msgstr "Ja"
#~ msgid "No"
#~ msgstr "Nein"
#~ msgid "Email address"
#~ msgstr "E-Mail-Adresse"
#~ msgid "Phone number"
#~ msgstr "Telefonnummer"
#~ msgid "Apply"
#~ msgstr "Übernehmen"
#~ msgid "Copied to clipboard"
#~ msgstr "Kopiert"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-23 17:06+0000\n"
"Last-Translator: Matthew Wild <matthew@snikket.org>\n"
"Language-Team: English <https://i18n.sotecware.net/projects/snikket/web-"
@@ -56,39 +56,51 @@ msgstr "One week"
msgid "Four weeks"
msgstr "Four weeks"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Invite a group of people"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "View invitation"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "New invitation link"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Revoke"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Name"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Create circle"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Select user"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Apply"
#: snikket_web/admin.py:333
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "Create circle"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr "Delete circle permanently"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Add user"
@@ -96,20 +108,56 @@ msgstr "Add user"
msgid "Main"
msgstr "Main"
#: snikket_web/invite.py:86
msgid "Username"
msgstr ""
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Password"
#: snikket_web/invite.py:94
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "Confirm new password"
#: snikket_web/invite.py:98
#, fuzzy
#| msgid "The new passwords must match."
msgid "The passwords must match"
msgstr "The new passwords must match."
#: snikket_web/invite.py:103
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "Create circle"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr ""
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr ""
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr ""
#: snikket_web/main.py:36
msgid "Address"
msgstr "Address"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Password"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Sign in"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
#, fuzzy
#| msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Invalid user name or password."
#: snikket_web/user.py:21
@@ -147,7 +195,6 @@ msgid "Everyone"
msgstr "Everyone"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Display name"
@@ -160,10 +207,19 @@ msgstr "Avatar"
msgid "Profile visibility"
msgstr "Profile visibility"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Incorrect password"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr "About Snikket"
@@ -242,35 +298,55 @@ msgstr "Admin dashboard"
msgid "Manage circles"
msgstr "Manage circles"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "Circle name"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Members"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Actions"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr "Create invitation to circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:26
#, python-format
msgid "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr "No circles"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
@@ -278,7 +354,7 @@ msgstr ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr "New circle"
@@ -321,7 +397,7 @@ msgid "Copy complete output"
msgstr "Copy complete output"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Delete user %(user_name)s"
@@ -340,24 +416,19 @@ msgstr "Are you sure you want to delete the following user?"
msgid "Login name"
msgstr "Login name"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "Email address"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Danger"
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
"strong>"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -366,49 +437,71 @@ msgstr ""
msgid "Back"
msgstr "Back"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
#, fuzzy
#| msgid "Email address"
msgid "Group chat address"
msgstr "Email address"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
#, fuzzy
#| msgid "Email address"
msgid "Copy address"
msgstr "Email address"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr "Circle information"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr "Delete circle"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr "Deleting a circle does not delete any users in the circle."
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Circle members"
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "This circle currently has no members."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Invite more members"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Add existing user"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "No users left"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr "All users on this service are already in this circle."
@@ -427,10 +520,6 @@ msgstr "Valid until"
msgid "Link"
msgstr "Link"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Reusability"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -508,20 +597,24 @@ msgstr "Manage users"
msgid "Modify administrative user information or delete users."
msgstr "Modify administrative user information or delete users."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Manage invitations"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Create, revoke or view invitations."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Back to the main view"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Go back to your users web portal page."
@@ -530,34 +623,22 @@ msgid "Pending invitations"
msgstr "Pending invitations"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Reusable"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Yes"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "No"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Show invite details"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Copy invite link to clipboard"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Delete invitation"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Currently, there are no pending invitations."
@@ -579,16 +660,12 @@ msgstr ""
msgid "Destroy link"
msgstr "Destroy link"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Phone number"
#: snikket_web/templates/admin_users.html:29
#: 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:32
#: 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"
@@ -621,6 +698,221 @@ msgstr "Go back to the main page"
msgid "The web portal encountered an internal error."
msgstr "The web portal encountered an internal error."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Invite to %(site_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
#: snikket_web/templates/invite_invalid.html:7
#, fuzzy
#| msgid "Invite to circle"
msgid "Invite expired"
msgstr "Invite to circle"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_register.html:9
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Register on %(site_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_register.html:12
#, fuzzy
#| msgid "Create invitation"
msgid "Create an account"
msgstr "Create invitation"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr ""
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr ""
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
msgid "This button works only if you have the app installed already!"
msgstr ""
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr ""
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr ""
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr ""
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr ""
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr ""
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr ""
#: snikket_web/templates/invite_view.html:30
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:37
msgid "Alternatives"
msgstr ""
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
#: snikket_web/templates/invite_view.html:44
#, fuzzy
#| msgid "Show invite details"
msgid "Scan invite code"
msgstr "Show invite details"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr ""
#: snikket_web/templates/invite_view.html:50
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:55
msgid "Using a QR code scanner"
msgstr ""
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr ""
#: snikket_web/templates/invite_view.html:62
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
#: snikket_web/templates/invite_view.html:68
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:69
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 "
"recognises it."
msgstr ""
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Copy link"
@@ -629,6 +921,10 @@ msgstr "Copy link"
msgid "Invalid input"
msgstr "Invalid input"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Login"
@@ -641,11 +937,6 @@ msgstr "Enter your Snikket address and password to manage your account."
msgid "Login failed"
msgstr "Login failed"
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Welcome!"
@@ -655,10 +946,6 @@ msgstr "Welcome!"
msgid "Welcome home, %(user_name)s."
msgstr "Welcome home, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -738,6 +1025,30 @@ msgstr ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
#~ msgid "Invite a group of people"
#~ msgstr "Invite a group of people"
#~ msgid "Reusability"
#~ msgstr "Reusability"
#~ msgid "Reusable"
#~ msgstr "Reusable"
#~ msgid "Yes"
#~ msgstr "Yes"
#~ msgid "No"
#~ msgstr "No"
#~ msgid "Email address"
#~ msgstr "Email address"
#~ msgid "Phone number"
#~ msgstr "Phone number"
#~ msgid "Apply"
#~ msgstr "Apply"
#~ msgid "Copied to clipboard"
#~ msgstr "Copied to clipboard"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-23 17:06+0000\n"
"Last-Translator: Matthew Wild <matthew@snikket.org>\n"
"Language-Team: English (United Kingdom) <https://i18n.sotecware.net/projects/"
@@ -56,39 +56,51 @@ msgstr "One week"
msgid "Four weeks"
msgstr "Four weeks"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Invite a group of people"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "View invitation"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "New invitation link"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Revoke"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Name"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Create circle"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Select user"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Apply"
#: snikket_web/admin.py:333
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "Create circle"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr "Delete circle permanently"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Add user"
@@ -96,20 +108,56 @@ msgstr "Add user"
msgid "Main"
msgstr "Main"
#: snikket_web/invite.py:86
msgid "Username"
msgstr ""
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Password"
#: snikket_web/invite.py:94
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "Confirm new password"
#: snikket_web/invite.py:98
#, fuzzy
#| msgid "The new passwords must match."
msgid "The passwords must match"
msgstr "The new passwords must match."
#: snikket_web/invite.py:103
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "Create circle"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr ""
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr ""
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr ""
#: snikket_web/main.py:36
msgid "Address"
msgstr "Address"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Password"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Sign in"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
#, fuzzy
#| msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Invalid user name or password."
#: snikket_web/user.py:21
@@ -147,7 +195,6 @@ msgid "Everyone"
msgstr "Everyone"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Display name"
@@ -160,10 +207,19 @@ msgstr "Avatar"
msgid "Profile visibility"
msgstr "Profile visibility"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Incorrect password"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr "About Snikket"
@@ -242,35 +298,55 @@ msgstr "Admin dashboard"
msgid "Manage circles"
msgstr "Manage circles"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "Circle name"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Members"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Actions"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr "Create invitation to circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:26
#, python-format
msgid "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr "No circles"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
@@ -278,7 +354,7 @@ msgstr ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr "New circle"
@@ -321,7 +397,7 @@ msgid "Copy complete output"
msgstr "Copy complete output"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Delete user %(user_name)s"
@@ -340,24 +416,19 @@ msgstr "Are you sure you want to delete the following user?"
msgid "Login name"
msgstr "Login name"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "Email address"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Danger"
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
"strong>"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -366,49 +437,71 @@ msgstr ""
msgid "Back"
msgstr "Back"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
#, fuzzy
#| msgid "Email address"
msgid "Group chat address"
msgstr "Email address"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
#, fuzzy
#| msgid "Email address"
msgid "Copy address"
msgstr "Email address"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr "Circle information"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr "Delete circle"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr "Deleting a circle does not delete any users in the circle."
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Circle members"
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Remove user %(username)s from circle"
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "This circle currently has no members."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Invite more members"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Add existing user"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "No users left"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr "All users on this service are already in this circle."
@@ -427,10 +520,6 @@ msgstr "Valid until"
msgid "Link"
msgstr "Link"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Reusability"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -508,20 +597,24 @@ msgstr "Manage users"
msgid "Modify administrative user information or delete users."
msgstr "Modify administrative user information or delete users."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Manage invitations"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Create, revoke or view invitations."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Back to the main view"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Go back to your users web portal page."
@@ -530,34 +623,22 @@ msgid "Pending invitations"
msgstr "Pending invitations"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Reusable"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Yes"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "No"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Show invite details"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Copy invite link to clipboard"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Delete invitation"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Currently, there are no pending invitations."
@@ -578,16 +659,12 @@ msgstr ""
msgid "Destroy link"
msgstr "Destroy link"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Phone number"
#: snikket_web/templates/admin_users.html:29
#: 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:32
#: 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"
@@ -619,6 +696,221 @@ msgstr "Go back to the main page"
msgid "The web portal encountered an internal error."
msgstr "The web portal encountered an internal error."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Invite to %(site_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
#: snikket_web/templates/invite_invalid.html:7
#, fuzzy
#| msgid "Invite to circle"
msgid "Invite expired"
msgstr "Invite to circle"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_register.html:9
#, fuzzy, python-format
#| msgid "Edit user %(user_name)s"
msgid "Register on %(site_name)s"
msgstr "Edit user %(user_name)s"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_register.html:12
#, fuzzy
#| msgid "Create invitation"
msgid "Create an account"
msgstr "Create invitation"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr ""
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr ""
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
msgid "This button works only if you have the app installed already!"
msgstr ""
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr ""
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr ""
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr ""
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr ""
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr ""
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr ""
#: snikket_web/templates/invite_view.html:30
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:37
msgid "Alternatives"
msgstr ""
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
#: snikket_web/templates/invite_view.html:44
#, fuzzy
#| msgid "Show invite details"
msgid "Scan invite code"
msgstr "Show invite details"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr ""
#: snikket_web/templates/invite_view.html:50
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:55
msgid "Using a QR code scanner"
msgstr ""
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr ""
#: snikket_web/templates/invite_view.html:62
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
#: snikket_web/templates/invite_view.html:68
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:69
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 "
"recognises it."
msgstr ""
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Copy link"
@@ -627,6 +919,10 @@ msgstr "Copy link"
msgid "Invalid input"
msgstr "Invalid input"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "deleted"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Snikket Login"
@@ -639,11 +935,6 @@ msgstr "Enter your Snikket address and password to manage your account."
msgid "Login failed"
msgstr "Login failed"
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "A <a href=\"%(about_url)s\">Snikket</a> service"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Welcome!"
@@ -653,10 +944,6 @@ msgstr "Welcome!"
msgid "Welcome home, %(user_name)s."
msgstr "Welcome home, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Update profile"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -736,6 +1023,30 @@ msgstr ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
#~ msgid "Invite a group of people"
#~ msgstr "Invite a group of people"
#~ msgid "Reusability"
#~ msgstr "Reusability"
#~ msgid "Reusable"
#~ msgstr "Reusable"
#~ msgid "Yes"
#~ msgstr "Yes"
#~ msgid "No"
#~ msgstr "No"
#~ msgid "Email address"
#~ msgstr "Email address"
#~ msgid "Phone number"
#~ msgstr "Phone number"
#~ msgid "Apply"
#~ msgstr "Apply"
#~ msgid "Copied to clipboard"
#~ msgstr "Copied to clipboard"

View File

@@ -7,11 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"PO-Revision-Date: 2021-01-24 22:21+0000\n"
"Last-Translator: pep <pep@bouah.net>\n"
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/"
"web-portal/fr/>\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-27 14:35+0000\n"
"Last-Translator: arco <marsupilami450@gmail.com>\n"
"Language-Team: French <https://i18n.sotecware.net/projects/snikket/web-"
"portal/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -56,39 +56,49 @@ msgstr "Une semaine"
msgid "Four weeks"
msgstr "Quatre semaines"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Inviter plusieurs personnes"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "Voir une invitation"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "Nouveau lien dinvitation"
msgstr "Nouveau lien d'invitation"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Révoquer"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Nom"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Créer un cercle"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Sélectionner un utilisateur"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Appliquer"
#: snikket_web/admin.py:333
msgid "Update circle"
msgstr "Mettre à jour le cercle"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr "Supprimer le cercle définitivement"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Ajouter un utilisateur"
@@ -96,20 +106,48 @@ msgstr "Ajouter un utilisateur"
msgid "Main"
msgstr "Principal"
#: snikket_web/invite.py:86
msgid "Username"
msgstr "Nom dutilisateur"
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Mot de passe"
#: snikket_web/invite.py:94
msgid "Confirm password"
msgstr "Confirmer le mot de passe"
#: snikket_web/invite.py:98
msgid "The passwords must match"
msgstr "Les mots de passe doivent être identiques"
#: snikket_web/invite.py:103
msgid "Create account"
msgstr "Créer un compte"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr "Ce nom dutilisateur est déjà utilisé"
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr "L'enregistrement a été refusé pour des raisons inconnues"
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr "Le nom d'utilisateur n'est pas valide"
#: snikket_web/main.py:36
msgid "Address"
msgstr "Adresse"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Mot de passe"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Se logger"
msgstr "S'identifier"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Nom d'utilisateur ou mot de passe incorrect."
#: snikket_web/user.py:21
@@ -122,11 +160,11 @@ msgstr "Nouveau mot de passe"
#: snikket_web/user.py:31
msgid "Confirm new password"
msgstr "Confirmation du nouveau mot de passe"
msgstr "Confirmer le nouveau mot de passe"
#: snikket_web/user.py:35
msgid "The new passwords must match"
msgstr "Les nouveaux mots de passe doivent être similaires"
msgstr "Les nouveaux mots de passe doivent être identiques"
#: snikket_web/user.py:42
msgid "Sign out"
@@ -145,7 +183,6 @@ msgid "Everyone"
msgstr "Tout le monde"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Nom à afficher"
@@ -158,10 +195,19 @@ msgstr "Avatar"
msgid "Profile visibility"
msgstr "Visibilité du profil"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Mettre à jour le profil"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Mot de passe incorrect"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Un service <a href=\"%(about_url)s\">Snikket</a>"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr "À propos de Snikket"
@@ -206,19 +252,19 @@ msgid ""
"The source code of the web portal can be downloaded and viewed in <a href="
"\"%(source_url)s\">its GitHub repository</a>."
msgstr ""
"Le code source du portail web peut être téléchargé et regardé sur <a href=\""
"%(source_url)s\">son dépôt GitHub</a>."
"Le code source du portail web peut être téléchargé et consulté sur <a href="
"\"%(source_url)s\">son dépôt GitHub</a>."
#: snikket_web/templates/about.html:16
#, fuzzy, python-format
#, python-format
msgid ""
"The icons used in the web portal are <a href=\"%(source_url)s\">Googles "
"Material Icons</a>, made available by Google under the terms of the <a href="
"\"%(apache20_url)s\">Apache 2.0 License</a>."
msgstr ""
"Les icones utilisées dans le portail web sont <a href=\"%(source_url)s\""
">Googles Material Icons</a>, mises à dispositions par Google aux termes de "
"la <a href=\"%(apache20_url)s\">licence Apache 2.0 </a>."
"Les icônes utilisées dans le portail web sont <a href=\"%(source_url)s"
"\">Googles Material Icons</a>, mises à dispositions par Google aux termes "
"de la <a href=\"%(apache20_url)s\">licence Apache 2.0 </a>."
#: snikket_web/templates/about.html:17
msgid "Software Versions"
@@ -237,35 +283,60 @@ msgstr "Zone dadministration"
msgid "Manage circles"
msgstr "Gérer les cercles"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
"Les <em>cercles</em> visent à aider les personnes qui se trouvent dans le "
"même cercle social à se retrouver sur votre service."
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
"Les utilisateurs qui se trouvent dans le même cercle se verront dans leur "
"liste de contacts. En outre, chaque cercle dispose d'un chat de groupe dans "
"lequel les membres du cercle sont inclus."
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "Nom du cercle"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Membres"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Actions"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr "Créer une invitation au cercle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:26
#, python-format
msgid "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Afficher les détails du cercle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Éditer le cercle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr "Aucun cercle"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
@@ -273,7 +344,7 @@ msgstr ""
"Il ny a pas encore de cercle sur ce service. Utilisez le formulaire ci-"
"dessous pour en créer un."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr "Nouveau cercle"
@@ -301,10 +372,9 @@ msgstr "Informations de débogage pour %(user_name)s"
#: snikket_web/templates/admin_debug_user.html:11
#: snikket_web/templates/user_passwd.html:26
msgid "Warning"
msgstr "Attention"
msgstr "Avertissement"
#: snikket_web/templates/admin_debug_user.html:12
#, fuzzy
msgid "The below dump may contain sensitive information."
msgstr "Le contenu ci-dessous peut contenir des informations sensibles."
@@ -313,15 +383,14 @@ msgid "Raw debug dump"
msgstr "Journal de débogage brute"
#: snikket_web/templates/admin_debug_user.html:17
#, fuzzy
msgid "Copy complete output"
msgstr "Copier le contenu entier"
msgstr "Copier le journal complet"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Supprime lutilisateur %(user_name)s"
msgstr "Supprimer lutilisateur %(user_name)s"
#: snikket_web/templates/admin_delete_user.html:6
#: snikket_web/templates/admin_edit_user.html:28
@@ -329,26 +398,19 @@ msgid "Delete user"
msgstr "Supprimer un utilisateur"
#: snikket_web/templates/admin_delete_user.html:8
#, fuzzy
msgid "Are you sure you want to delete the following user?"
msgstr "Êtes-vous certain(e) de vouloir supprimer lutilisateur suivant?"
msgstr "Êtes-vous certain(e) de vouloir désinscrire lutilisateur suivant?"
#: snikket_web/templates/admin_delete_user.html:10
#: snikket_web/templates/admin_users.html:10
#, fuzzy
msgid "Login name"
msgstr "Identifiant"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "Adresse email"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Danger"
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
@@ -356,10 +418,10 @@ msgid ""
msgstr ""
"Lutilisateur et ses données vont être irrévocablement supprimées, "
"immédiatement après avoir pressé le bouton ci-dessous. <strong>Il est "
"impossible de d'inverser l'opération!</strong>"
"impossible d'inverser l'opération!</strong>"
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -368,49 +430,67 @@ msgstr ""
msgid "Back"
msgstr "Retour"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Éditer le cercle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
msgid "Group chat address"
msgstr "Adresse de la conversation de groupe"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
msgid "Copy address"
msgstr "Copier l'adresse"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr "Information sur le cercle"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
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:47
msgid "Delete circle"
msgstr "Supprimer le cercle"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr "Supprimer un cercle ne supprime aucun utilisateur dans le cercle."
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Membres du cercle"
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Supprime lutilisateur %(username)s du cercle"
msgstr "Retirer lutilisateur %(username)s du cercle"
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "Ce cercle na pas encore de membres."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Inviter plus de membres"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Ajouter un utilisateur existant"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "Aucun utilisateur restant"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr "Tous les utilisateurs de ce service sont déjà dans ce cercle."
@@ -429,10 +509,6 @@ msgstr "Valide jusquau"
msgid "Link"
msgstr "Lien"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Réutilisabilité"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -444,7 +520,9 @@ msgstr ""
#: snikket_web/templates/admin_edit_invite.html:18
msgid "This invitation link can only be used once and is then depleted."
msgstr "Cette invitation peut être utilisée une fois avant dêtre consumée."
msgstr ""
"Ce lien d'invitation ne peut être utilisé qu'une seule fois et est ensuite "
"expiré."
#: snikket_web/templates/admin_edit_invite.html:22
msgid "Circles"
@@ -473,11 +551,11 @@ msgstr "Créé le"
#: snikket_web/templates/admin_edit_user.html:3
#, python-format
msgid "Edit user %(user_name)s"
msgstr "Éditer lutilisateur %(user_name)s"
msgstr "Modifier lutilisateur %(user_name)s"
#: snikket_web/templates/admin_edit_user.html:5
msgid "User information"
msgstr "Information sur lutilisateur"
msgstr "Informations de lutilisateur"
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_reset_user_password.html:8
@@ -510,25 +588,28 @@ msgid "Manage users"
msgstr "Gérer les utilisateurs"
#: snikket_web/templates/admin_home.html:8
#, fuzzy
msgid "Modify administrative user information or delete users."
msgstr ""
"Modifier les informations des utilisateurs ou désinscrire des utilisateurs."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr "Créer et gérer les cercles sociaux présents dans votre service."
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Gérer les invitations"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Créer, révoquer, ou voir les invitations."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Retour à la vue principale"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Retourner à la page de lutilisateur."
@@ -537,34 +618,22 @@ msgid "Pending invitations"
msgstr "Invitations en cours"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Réutilisable"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Oui"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "Non"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "supprimé"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Affiche les détails de linvitation"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Copie le lien dinvitation dans le presse-papier"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Supprime linvitation"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Il n'y a pas d'invitation disponible actuellement."
@@ -585,16 +654,12 @@ msgstr ""
msgid "Destroy link"
msgstr "Supprimer le lien"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Numéro de téléphone"
#: snikket_web/templates/admin_users.html:29
#: snikket_web/templates/admin_users.html:25
#, python-format
msgid "Show debug information for %(user_name)s"
msgstr "Affiche les informations de debug pour %(user_name)s"
msgstr "Afficher les informations de débogage pour %(user_name)s"
#: snikket_web/templates/admin_users.html:32
#: 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"
@@ -611,14 +676,13 @@ msgstr "Erreur interne"
#: snikket_web/templates/backend_error.html:4
msgid "The web portal was not able to communicate with the backend."
msgstr "Le portail web na pas réussi à communiquer avec le serveur."
msgstr "Le portail web na pas réussi à joindre le serveur."
#: snikket_web/templates/backend_error.html:5
#: snikket_web/templates/internal_error.html:5
msgid "Please try again later and/or inform your Snikket service admin."
msgstr ""
"Veuillez essayer à nouveau plus tard et/ou informez votre administrateur "
"Snikket."
"Veuillez essayer plus tard et/ou informez votre administrateur Snikket."
#: snikket_web/templates/generic_http_error.html:9
msgid "Go back to the main page"
@@ -628,6 +692,251 @@ msgstr "Retourner à la page principale"
msgid "The web portal encountered an internal error."
msgstr "Le portail web a rencontré une erreur interne."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, python-format
msgid "Invite to %(site_name)s"
msgstr "Inviter à %(site_name)s"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr "Propulsé par <img alt=\"Snikket\" src=\"%(logo_url)s\">"
#: snikket_web/templates/invite_invalid.html:7
msgid "Invite expired"
msgstr "Invitation expirée"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr "Désolé, il semble que ce lien d'invitation ait expiré !"
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr "S'inscrire sur %(site_name)s | Snikket"
#: snikket_web/templates/invite_register.html:9
#, python-format
msgid "Register on %(site_name)s"
msgstr "S'inscrire sur %(site_name)s"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
"%(site_name)s utilise Snikket - une application de messagerie sécurisée et "
"respectueuse de la vie privée."
#: snikket_web/templates/invite_register.html:12
msgid "Create an account"
msgstr "Créer un compte"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
"La création d'un compte permettra de communiquer avec d'autres personnes "
"utilisant l'application Snikket ou un logiciel compatible. Si vous avez déjà "
"installé l'application, nous vous recommandons de poursuivre le processus de "
"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:31
msgid "App already installed?"
msgstr "L'application est déjà installée ?"
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr "Ouvrir l'application"
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
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 !"
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr "Créer un compte en ligne"
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
"Si vous prévoyez d'utiliser un ancien client XMPP, vous pouvez ouvrir un "
"compte en ligne et saisir vos indentifiants dans tout logiciel compatible "
"XMPP."
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
"Choisissez un nom d'utilisateur, celui-ci deviendra la première partie de "
"votre nouvelle adresse de messagerie."
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
"Entrez un mot de passe sécurisé que vous n'utilisez nulle part ailleurs."
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr "Enregistré avec succès sur %(site_name)s | Snikket"
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr "Enregistré avec succès sur %(site_name)s"
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
"Félicitations ! Vous vous êtes inscrit avec succès sur %(site_name)s en tant "
"que %(jid)s."
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
"Vous pouvez maintenant configurer votre ancien client XMPP avec l'adresse ci-"
"dessus et le mot de passe que vous avez choisi lors de l'enregistrement."
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr "Vous pouvez maintenant fermer cette page en toute sécurité."
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr "Inviter à %(site_name)s | Snikket"
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
"Vous avez été invité à converser avec %(inviter_name)s en utilisant Snikket, "
"une application de messagerie sécurisée et respectueuse de la vie privée sur "
"%(site_name)s."
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
"Vous avez été invité à converser sur %(site_name)s en utilisant Snikket, une "
"application de messagerie sécurisée et respectueuse de la vie privée."
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr "Démarrer"
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr "Installez l'application Snikket sur votre appareil Android ou iOS."
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr "Obtenez-la sur Google Play"
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr "Télécharger sur l'App Store"
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr "Pas sur mobile ?"
#: snikket_web/templates/invite_view.html:30
msgid ""
"After installation the app should automatically open and prompt you to "
"create an account. If not, simply click the button below."
msgstr ""
"Après l'installation, l'application devrait s'ouvrir automatiquement et vous "
"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:37
msgid "Alternatives"
msgstr "Alternatives"
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
"Vous pouvez vous connecter à Snikket en utilisant n'importe quel logiciel "
"compatible XMPP. Si le bouton ci-dessus ne fonctionne pas avec votre "
"application, vous devrez peut-être <a href=\"%(register_url)s\">enregistrer "
"un compte manuellement</a>."
#: snikket_web/templates/invite_view.html:44
msgid "Scan invite code"
msgstr "Scanner le code d'invitation"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr "Fermer"
#: snikket_web/templates/invite_view.html:50
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 ""
"Vous pouvez transférer cette invitation sur votre appareil mobile en "
"scannant un code avec votre appareil photo. Vous pouvez utiliser soit une "
"application de scanner QR, soit l'application Snikket elle-même."
#: snikket_web/templates/invite_view.html:55
msgid "Using a QR code scanner"
msgstr "En utilisant un scanner de codes QR"
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr "En utilisant l'application Snikket"
#: snikket_web/templates/invite_view.html:62
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:68
msgid ""
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
"button at the top."
msgstr ""
"Installez l'application Snikket sur votre appareil mobile, ouvrez-la et "
"appuyez sur le bouton \"Scan\" en haut."
#: snikket_web/templates/invite_view.html:69
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 "
"recognises it."
msgstr ""
"Votre caméra s'allumera. Pointez la caméra sur le code carré ci-dessous "
"jusqu'à ce que celui-ci se trouve dans le carré surligné sur votre écran, et "
"attendez que l'application la reconnaisse."
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Copier le lien"
@@ -636,9 +945,13 @@ msgstr "Copier le lien"
msgid "Invalid input"
msgstr "Saisie invalide"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "supprimé"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Login Snikket"
msgstr "Identifiant Snikket"
#: snikket_web/templates/login.html:14
msgid "Enter your Snikket address and password to manage your account."
@@ -646,26 +959,17 @@ msgstr "Entrez votre adresse et mot de passe Snikket pour gérer votre compte."
#: snikket_web/templates/login.html:18
msgid "Login failed"
msgstr "Login échoué"
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Un service <a href=\"%(about_url)s\">Snikket</a>"
msgstr "Échec de l'authentification"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Bienvenue!"
#: snikket_web/templates/user_home.html:4
#, fuzzy, python-format
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr "Bienvenue à la maison, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Mettre à jour le profil"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -742,5 +1046,29 @@ msgid ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
msgstr ""
"Cette section permet de configurer qui peut voir votre profil, (e.g., "
"avatar, pseudonyme)."
"Cette section permet de configurer qui peut voir votre profil, comme par "
"exemple votre avatar et votre pseudonyme."
#~ msgid "Invite a group of people"
#~ msgstr "Inviter plusieurs personnes"
#~ msgid "Reusability"
#~ msgstr "Réutilisabilité"
#~ msgid "Reusable"
#~ msgstr "Réutilisable"
#~ msgid "Yes"
#~ msgstr "Oui"
#~ msgid "No"
#~ msgstr "Non"
#~ msgid "Email address"
#~ msgstr "Adresse e-mail"
#~ msgid "Phone number"
#~ msgstr "Numéro de téléphone"
#~ msgid "Apply"
#~ msgstr "Appliquer"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"PO-Revision-Date: 2021-01-24 09:55+0000\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-27 14:35+0000\n"
"Last-Translator: uira <inboxriau@andriana.id>\n"
"Language-Team: Indonesian <https://i18n.sotecware.net/projects/snikket/web-"
"portal/id/>\n"
@@ -26,11 +26,11 @@ msgstr "Hapus permanen pengguna"
#: snikket_web/admin.py:129
msgid "Invite to circle"
msgstr ""
msgstr "Undang masuk kelompok"
#: snikket_web/admin.py:135
msgid "At least one circle must be selected"
msgstr ""
msgstr "Minimal satu kelompok harus dipilih"
#: snikket_web/admin.py:140
msgid "Valid for"
@@ -56,39 +56,49 @@ msgstr "Satu minggu"
msgid "Four weeks"
msgstr "Empat minggu"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Mengundang sekelompok orang"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "Lihat undangan"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "Tautan undangan terbaru"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Batalkan"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Nama"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr ""
msgstr "Buat kelompok"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Pilih pengguna"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Terapkan"
#: snikket_web/admin.py:333
msgid "Update circle"
msgstr "Memperbarui kelompok"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr ""
msgstr "Hapus kelompok secara permanen"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Tambah pengguna"
@@ -96,39 +106,65 @@ msgstr "Tambah pengguna"
msgid "Main"
msgstr "Utama"
#: snikket_web/invite.py:86
msgid "Username"
msgstr "Nama pengguna"
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Kata sandi"
#: snikket_web/invite.py:94
msgid "Confirm password"
msgstr "Konfirmasi kata sandi"
#: snikket_web/invite.py:98
msgid "The passwords must match"
msgstr "Kata sandi harus cocok"
#: snikket_web/invite.py:103
msgid "Create account"
msgstr "Buat akun"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr "Nama pengguna itu sudah dipakai"
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr "Pendaftaran ditolak karena alasan yang tidak diketahui"
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr "Nama pengguna tidak valid"
#: snikket_web/main.py:36
msgid "Address"
msgstr "Alamat"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Kata kunci"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Masuk"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
msgstr "Nama pengguna atau kata kunci salah."
msgid "Invalid username or password."
msgstr "Nama pengguna atau kata sandi salah."
#: snikket_web/user.py:21
msgid "Current password"
msgstr "Kata kunci sekarang"
msgstr "Kata sandi sekarang"
#: snikket_web/user.py:26
msgid "New password"
msgstr "Kata kunci baru"
msgstr "Kata sandi baru"
#: snikket_web/user.py:31
msgid "Confirm new password"
msgstr "Konfirmasi kata kunci"
msgstr "Konfirmasi kata sandi"
#: snikket_web/user.py:35
#, fuzzy
#| msgid "The new passwords must match."
msgid "The new passwords must match"
msgstr "Kata kunci baru harus cocok."
msgstr "Kata sandi baru harus cocok"
#: snikket_web/user.py:42
msgid "Sign out"
@@ -147,7 +183,6 @@ msgid "Everyone"
msgstr "Semua orang"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Nama tampilan"
@@ -160,9 +195,18 @@ msgstr "Gambar profil"
msgid "Profile visibility"
msgstr "Visibilitas profil"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Perbaharui profil"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Kata kunci salah"
msgstr "Kata sandi salah"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "<a href=\"%(about_url)s\">Layanan</a> Snikket"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
@@ -232,53 +276,78 @@ msgid "Back to the main page"
msgstr "Kembali ke halaman depan"
#: snikket_web/templates/admin_app.html:5
#, fuzzy
#| msgid "Admin dashboard"
msgid "Admin area"
msgstr "Dasbor Administrator"
msgstr "Wewenang Administrator"
#: snikket_web/templates/admin_circles.html:4
#: snikket_web/templates/admin_home.html:11
msgid "Manage circles"
msgstr ""
msgstr "Atur kelompok"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
"<em>Kelompok</em> bertujuan untuk membantu orang-orang yang berada di "
"lingkaran sosial yang sama bertemu di layanan Anda."
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
"Pengguna di satu kelompok yang sama akan terlihat satu sama lain di daftar "
"kontak mereka. Selain itu, setiap kelompok memiliki percakapan grup yang "
"berisi semua anggota kelompok."
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr ""
msgstr "Nama kelompok"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Anggota"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Tindakan"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr ""
msgstr "Buat undangan untuk kelompok %(circle_name)s"
#: snikket_web/templates/admin_circles.html:26
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Tampilkan detil dari kelompok %(circle_name)s"
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Show details of circle %(circle_name)s"
msgstr ""
msgid "Edit circle %(circle_name)s"
msgstr "Edit kelompok %(circle_name)s"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr ""
msgstr "Tidak ada kelompok"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
msgstr ""
"Saat ini tidak ada kelompok dalam layanan. Gunakan formulir dibawah untuk "
"membuat."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr ""
msgstr "Kelompok baru"
#: snikket_web/templates/admin_create_invite.html:3
msgid "Create invitation"
@@ -319,7 +388,7 @@ msgid "Copy complete output"
msgstr "Salin keluaran lengkap"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Hapus pengguna %(user_name)s"
@@ -338,24 +407,22 @@ msgstr "Apakah anda yakin mau menghapus pengguna tersebut?"
msgid "Login name"
msgstr "Nama login"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "Alamat email"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Berbahaya"
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
"strong>"
msgstr ""
"Pengguna dan datanya akan dihapus secara permanen, tidak bisa dibatalkan, "
"segera setelah menekan tombol di bawah. <strong>Tidak ada jalan kembali!</"
"strong>"
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -364,51 +431,71 @@ msgstr ""
msgid "Back"
msgstr "Kembali"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
msgid "Circle information"
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
msgid "Group chat address"
msgstr "Alamat percakapan grup"
#: snikket_web/templates/admin_edit_circle.html:19
msgid "Delete circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:20
msgid "Deleting a circle does not delete any users in the circle."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
msgid "Copy address"
msgstr "Salin alamat"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle members"
msgstr ""
msgid "Circle information"
msgstr "Informasi kelompok"
#: snikket_web/templates/admin_edit_circle.html:40
#, python-format
msgid "Remove user %(username)s from circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr "Kelompok ini tidak memiliki percakapan grup."
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr "Hapus kelompok"
#: snikket_web/templates/admin_edit_circle.html:48
msgid "This circle currently has no members."
msgid "Deleting a circle does not delete any users in the circle."
msgstr ""
"Menghapus kelompok tidak menghapus satu pun pengguna di dalam kelompok "
"tersebut."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Anggota kelompok"
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Hapus pengguna %(username)s dari kelompok"
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "Kelompok ini sedang tidak memiliki anggota."
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Ajak lebih banyak anggota"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Tambahkan pengguna yang ada"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "Tidak ada pengguna tersisa"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr ""
msgstr "Semua pengguna layanan ini sudah ada di kelompok ini."
#: snikket_web/templates/admin_edit_invite.html:8
msgid "View invitation"
@@ -425,10 +512,6 @@ msgstr "Valid hingga"
msgid "Link"
msgstr "Tautan"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Dapat digunakan kembali"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -443,21 +526,25 @@ msgstr "Tautan undangan ini hanya dapat digunakan satu kali."
#: snikket_web/templates/admin_edit_invite.html:22
msgid "Circles"
msgstr ""
msgstr "Kelompok"
#: snikket_web/templates/admin_edit_invite.html:23
msgid ""
"Users joining via this invitation will be added to the following circles:"
msgstr ""
"Pengguna yang bergabung melalui undangan ini akan ditambahkan ke kelompok "
"berikut:"
#: snikket_web/templates/admin_edit_invite.html:29
#: snikket_web/templates/admin_invites.html:23
msgid "Circle"
msgstr ""
msgstr "Kelompok"
#: snikket_web/templates/admin_edit_invite.html:35
msgid "The user will not be added to any circle and will have no contacts."
msgstr ""
"Pengguna tidak akan ditambahkan ke kelompok mana pun dan tidak akan memiliki "
"kontak."
#: snikket_web/templates/admin_edit_invite.html:39
msgid "Created"
@@ -475,7 +562,7 @@ msgstr "Informasi pengguna"
#: snikket_web/templates/admin_edit_user.html:25
#: snikket_web/templates/admin_reset_user_password.html:8
msgid "Password reset"
msgstr "Reset kata kunci"
msgstr "Reset kata sandi"
#: snikket_web/templates/admin_edit_user.html:26
msgid ""
@@ -506,20 +593,24 @@ msgstr "Atur pengguna"
msgid "Modify administrative user information or delete users."
msgstr "Ubah informasi pengguna atau hapus pengguna."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr "Buat dan kelola kelompok yang ada di layanan Anda."
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Kelola undangan"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Buat, batalkan, atau lihat undangan."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Kembali ke halaman utama"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Kembali ke halaman portal web pengguna Anda."
@@ -528,34 +619,22 @@ msgid "Pending invitations"
msgstr "Undangan menunggu jawaban"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Digunakan kembali"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Ya"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "Tidak"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "Dihapus"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Lihat detil undangan"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Kopi tautan undangan ke papan klip"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Hapus undangan"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Saat ini, tidak ada undangan yang menunggu jawaban."
@@ -576,19 +655,15 @@ msgstr ""
msgid "Destroy link"
msgstr "Hancurkan tautan"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Nomor telepon"
#: snikket_web/templates/admin_users.html:29
#: 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:32
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Create password reset link for %(user_name)s"
msgstr "Buat tautan setel ulang kata kunci untuk %(user_name)s"
msgstr "Buat tautan setel ulang kata sandi untuk %(user_name)s"
#: snikket_web/templates/app.html:4
msgid "Snikket Web Portal"
@@ -617,6 +692,245 @@ msgstr "Kembali ke halaman utama"
msgid "The web portal encountered an internal error."
msgstr "Portal web mengalami kesalahan internal."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, python-format
msgid "Invite to %(site_name)s"
msgstr "Undang ke %(site_name)s"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr "Didukung oleh <img alt=\"Snikket\" src=\"%(logo_url)s\">"
#: snikket_web/templates/invite_invalid.html:7
msgid "Invite expired"
msgstr "Undangan kedaluwarsa"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr "Maaf, tautan undangan ini sudah kedaluwarsa!"
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr "Terdaftar di %(site_name)s | Snikket"
#: snikket_web/templates/invite_register.html:9
#, python-format
msgid "Register on %(site_name)s"
msgstr "Terdaftar di %(site_name)s"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
"%(site_name)s menggunakan Snikket - aplikasi percakapan yang aman dan ramah "
"privasi."
#: snikket_web/templates/invite_register.html:12
msgid "Create an account"
msgstr "Buat akun"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
"Membuat akun akan memungkinkan untuk berkomunikasi dengan orang lain "
"menggunakan Snikket atau aplikasi yang kompatibel. Jika Anda sudah memasang "
"aplikasi, kami sarankan untuk melanjutkan dengan proses pembuatan akun "
"menggunakan aplikasi dengan mengklik tombol di bawah ini:"
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr "Aplikasi sudah dipasang?"
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr "Buka aplikasi"
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
msgid "This button works only if you have the app installed already!"
msgstr "Tombol ini hanya berfungsi jika Anda sudah memasang aplikasinya!"
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr "Buat akun secara online"
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
"Jika Anda berencana menggunakan aplikasi XMPP lawas, Anda dapat mendaftarkan "
"akun secara online dan memasukkan kredensial Anda ke aplikasi yang "
"kompatibel dengan XMPP."
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
"Pilih nama pengguna, ini akan menjadi bagian pertama dari alamat percakapan "
"baru Anda."
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr "Masukkan kata sandi yang tidak Anda gunakan di tempat lain."
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr "Berhasil terdaftar di %(site_name)s | Snikket"
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr "Berhasil terdaftar di %(site_name)s"
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr "Selamat! Anda berhasil terdaftar di %(site_name)s sebagai %(jid)s."
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
"Anda sekarang dapat mengatur aplikasi XMPP lawas Anda dengan alamat di atas "
"dan kata sandi yang Anda pilih saat pendaftaran."
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr "Sekarang Anda dapat menutup halaman ini."
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr "Mengundang ke %(site_name)s | Snikket"
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
"Anda diundang untuk bercakap-cakap dengan %(inviter_name)s menggunakan "
"Snikket, aplikasi percakapan yang aman dan ramah privasi di %(site_name)s."
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
"Anda telah diundang untuk bercakap-cakap di %(site_name)s menggunakan "
"Snikket, aplikasi percakapan yang aman dan ramah privasi."
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr "Mulailah"
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr "Instal Snikket di perangkat Android atau iOS Anda."
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr "Dapatkan di Google Play"
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr "Unduh di App Store"
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr "Bukan di ponsel?"
#: snikket_web/templates/invite_view.html:30
msgid ""
"After installation the app should automatically open and prompt you to "
"create an account. If not, simply click the button below."
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:37
msgid "Alternatives"
msgstr "Alternatif"
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
"Anda dapat tersambung ke Snikket menggunakan aplikasi yang kompatibel dengan "
"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:44
msgid "Scan invite code"
msgstr "Pindai kode undangan"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr "Tutup"
#: snikket_web/templates/invite_view.html:50
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 ""
"Anda dapat mentransfer undangan ini ke perangkat seluler dengan memindai "
"kode dengan kamera. Anda dapat menggunakan aplikasi pemindai QR atau "
"aplikasi Snikket."
#: snikket_web/templates/invite_view.html:55
msgid "Using a QR code scanner"
msgstr "Menggunakan pemindai kode QR"
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr "Menggunakan Snikket"
#: snikket_web/templates/invite_view.html:62
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:68
msgid ""
"Install the Snikket app on your mobile device, open it, and tap the 'Scan' "
"button at the top."
msgstr ""
"Instal aplikasi Snikket di perangkat seluler Anda, buka, dan ketuk tombol "
"'Pindai'."
#: snikket_web/templates/invite_view.html:69
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 "
"recognises it."
msgstr ""
"Kamera akan menyala. Arahkan ke kode persegi di bawah ini hingga berada di "
"dalam kotak yang disorot di layar Anda, tunggu hingga aplikasi mengenali "
"kode."
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Kopi tautan"
@@ -625,23 +939,22 @@ msgstr "Kopi tautan"
msgid "Invalid input"
msgstr "Input tidak valid"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "Dihapus"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr "Login Snikket"
#: snikket_web/templates/login.html:14
msgid "Enter your Snikket address and password to manage your account."
msgstr "Ketik alamat Snikket dan kata kuncinya untuk mengatur akun anda."
msgstr "Ketik alamat Snikket dan kata sandinya untuk mengatur akun anda."
#: snikket_web/templates/login.html:18
msgid "Login failed"
msgstr "Percobaan masuk gagal"
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "<a href=\"%(about_url)s\">Layanan</a> Snikket"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Selamat datang!"
@@ -651,10 +964,6 @@ msgstr "Selamat datang!"
msgid "Welcome home, %(user_name)s."
msgstr "Selamat kembali ke rumah, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Perbaharui profil"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -666,7 +975,7 @@ msgstr ""
#: snikket_web/templates/user_home.html:11
#: snikket_web/templates/user_passwd.html:32
msgid "Change password"
msgstr "Ganti kata kunci"
msgstr "Ganti kata sandi"
#: snikket_web/templates/user_home.html:15
msgid "Admin dashboard"
@@ -699,7 +1008,7 @@ msgstr ""
#: snikket_web/templates/user_passwd.html:8
msgid "Change your password"
msgstr "Ganti kata kunci anda"
msgstr "Ganti kata sandi anda"
#: snikket_web/templates/user_passwd.html:9
msgid ""
@@ -735,6 +1044,30 @@ msgstr ""
"Bagian ini memungkinkan Anda untuk mengontrol siapa yang bisa melihat profil "
"Anda, seperti avatar dan nama panggilan."
#~ msgid "Invite a group of people"
#~ msgstr "Mengundang beberapa orang"
#~ msgid "Reusability"
#~ msgstr "Dapat digunakan kembali"
#~ msgid "Reusable"
#~ msgstr "Digunakan kembali"
#~ msgid "Yes"
#~ msgstr "Ya"
#~ msgid "No"
#~ msgstr "Tidak"
#~ msgid "Email address"
#~ msgstr "Alamat email"
#~ msgid "Phone number"
#~ msgstr "Nomor telepon"
#~ msgid "Apply"
#~ msgstr "Terapkan"
#~ msgid "Copied to clipboard"
#~ msgstr "Kopi ke papan klip"

View File

@@ -7,127 +7,176 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-26 14:06+0000\n"
"Last-Translator: pep <pep@bouah.net>\n"
"Language-Team: Japanese <https://i18n.sotecware.net/projects/snikket/web-"
"portal/ja/>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.4.2\n"
"Generated-By: Babel 2.9.0\n"
#: snikket_web/admin.py:60
msgid "Delete user permanently"
msgstr ""
msgstr "ユーザーを削除する"
#: snikket_web/admin.py:129
msgid "Invite to circle"
msgstr ""
msgstr "サークルに紹介する"
#: snikket_web/admin.py:135
msgid "At least one circle must be selected"
msgstr ""
msgstr "サークルを選択してください"
#: snikket_web/admin.py:140
msgid "Valid for"
msgstr ""
msgstr "制限"
#: snikket_web/admin.py:142
msgid "One hour"
msgstr ""
msgstr "一時間"
#: snikket_web/admin.py:143
msgid "Twelve hours"
msgstr ""
msgstr "12時間"
#: snikket_web/admin.py:144
msgid "One day"
msgstr ""
msgstr "一日"
#: snikket_web/admin.py:145
msgid "One week"
msgstr ""
msgstr "一週間"
#: snikket_web/admin.py:146
msgid "Four weeks"
msgstr "4週間"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr ""
#: snikket_web/admin.py:152
msgid "Invite a group of people"
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:156
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr ""
msgstr "新しい紹介状"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr ""
msgstr "取り消す"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr ""
msgstr ""
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr ""
msgstr "サークルを作成"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr ""
msgstr "ユーザー選択"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr ""
#: snikket_web/admin.py:333
#, fuzzy
#| msgid "Create circle"
msgid "Update circle"
msgstr "サークルを作成"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr ""
msgstr "サークルを削除"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr ""
msgstr "ユーザーを追加する"
#: snikket_web/infra.py:40
msgid "Main"
msgstr "第一サークル"
#: snikket_web/invite.py:86
msgid "Username"
msgstr ""
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "パスワード"
#: snikket_web/invite.py:94
#, fuzzy
#| msgid "Confirm new password"
msgid "Confirm password"
msgstr "新しいパスワードの確認"
#: snikket_web/invite.py:98
#, fuzzy
#| msgid "The new passwords must match"
msgid "The passwords must match"
msgstr "新しいパスワードが不一致"
#: snikket_web/invite.py:103
#, fuzzy
#| msgid "Create circle"
msgid "Create account"
msgstr "サークルを作成"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr ""
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr ""
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr ""
#: snikket_web/main.py:36
msgid "Address"
msgstr ""
#: snikket_web/main.py:41
msgid "Password"
msgstr ""
msgstr "アドレス"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr ""
msgstr "サインイン"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
msgstr ""
#, fuzzy
#| msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "ユーザー名またはパスワードが不正。"
#: snikket_web/user.py:21
msgid "Current password"
msgstr ""
msgstr "現在のパスワード"
#: snikket_web/user.py:26
msgid "New password"
msgstr ""
msgstr "新しいパスワード"
#: snikket_web/user.py:31
msgid "Confirm new password"
msgstr ""
msgstr "新しいパスワードの確認"
#: snikket_web/user.py:35
msgid "The new passwords must match"
msgstr ""
msgstr "新しいパスワードが不一致"
#: snikket_web/user.py:42
msgid "Sign out"
msgstr ""
msgstr "サインアウト"
#: snikket_web/user.py:47
msgid "Nobody"
@@ -135,33 +184,41 @@ msgstr ""
#: snikket_web/user.py:48
msgid "Friends only"
msgstr ""
msgstr "コンタクト限定"
#: snikket_web/user.py:49
msgid "Everyone"
msgstr ""
msgstr "全員"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr ""
msgstr "表示名"
#: snikket_web/user.py:59
msgid "Avatar"
msgstr ""
msgstr "アバター"
#: snikket_web/user.py:63
msgid "Profile visibility"
msgstr ""
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr ""
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "パスワード不正"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr ""
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr ""
msgstr "Snikketについて"
#: snikket_web/templates/about.html:10
#, python-format
@@ -169,10 +226,12 @@ msgid ""
"To learn more about Snikket, visit the <a href=\"%(snikket_url)s\">Snikket "
"website</a>."
msgstr ""
"Snikket についてについて知りたい方は <a href=\"%(snikket_url)s\">ホームページ"
"</a> をご覧ください。"
#: snikket_web/templates/about.html:11
msgid "About this Service"
msgstr ""
msgstr "このサービスについて"
#: snikket_web/templates/about.html:12
#, python-format
@@ -209,66 +268,85 @@ msgstr ""
#: snikket_web/templates/about.html:17
msgid "Software Versions"
msgstr ""
msgstr "ソフトウェアバーション"
#: snikket_web/templates/about.html:27
msgid "Back to the main page"
msgstr ""
msgstr "戻る"
#: snikket_web/templates/admin_app.html:5
msgid "Admin area"
msgstr ""
msgstr "管理"
#: snikket_web/templates/admin_circles.html:4
#: snikket_web/templates/admin_home.html:11
msgid "Manage circles"
msgstr "サークル管理"
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
#: snikket_web/templates/admin_circles.html:11
msgid "Circle name"
msgstr ""
#: snikket_web/templates/admin_circles.html:12
msgid "Members"
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "サークル名"
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "サークル員"
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr ""
msgstr "操作"
#: snikket_web/templates/admin_circles.html:23
#, python-format
#: snikket_web/templates/admin_circles.html:25
#, fuzzy, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr ""
msgstr "紹介"
#: snikket_web/templates/admin_circles.html:26
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
msgid "Manage members of %(circle_name)s"
msgstr "詳細"
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Show details of circle %(circle_name)s"
msgid "Edit circle %(circle_name)s"
msgstr ""
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr ""
msgstr "なし"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
msgstr ""
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr ""
msgstr "新しいサークル"
#: snikket_web/templates/admin_create_invite.html:3
msgid "Create invitation"
msgstr ""
msgstr "紹介状作成"
#: snikket_web/templates/admin_create_invite_form.html:5
msgid "Create new invitation"
msgstr ""
msgstr "新しい紹介状を作成"
#: snikket_web/templates/admin_create_invite_form.html:6
msgid ""
@@ -299,7 +377,7 @@ msgid "Copy complete output"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr ""
@@ -318,24 +396,19 @@ msgstr ""
msgid "Login name"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
"strong>"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -344,49 +417,71 @@ msgstr ""
msgid "Back"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
#, fuzzy
#| msgid "Address"
msgid "Group chat address"
msgstr "アドレス"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
#, fuzzy
#| msgid "Address"
msgid "Copy address"
msgstr "アドレス"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr ""
@@ -405,10 +500,6 @@ msgstr ""
msgid "Link"
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
@@ -480,20 +571,24 @@ msgstr ""
msgid "Modify administrative user information or delete users."
msgstr ""
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr ""
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr ""
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr ""
@@ -502,34 +597,22 @@ msgid "Pending invitations"
msgstr ""
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr ""
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr ""
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr ""
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr ""
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr ""
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr ""
@@ -548,16 +631,12 @@ msgstr ""
msgid "Destroy link"
msgstr ""
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr ""
#: snikket_web/templates/admin_users.html:29
#: snikket_web/templates/admin_users.html:25
#, python-format
msgid "Show debug information for %(user_name)s"
msgstr ""
#: snikket_web/templates/admin_users.html:32
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Create password reset link for %(user_name)s"
msgstr ""
@@ -589,6 +668,218 @@ msgstr ""
msgid "The web portal encountered an internal error."
msgstr ""
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, fuzzy, python-format
#| msgid "Invite to circle"
msgid "Invite to %(site_name)s"
msgstr "サークルに紹介する"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
#: snikket_web/templates/invite_invalid.html:7
#, fuzzy
#| msgid "Invite to circle"
msgid "Invite expired"
msgstr "サークルに紹介する"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_register.html:9
#, python-format
msgid "Register on %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_register.html:12
#, fuzzy
#| msgid "Create invitation"
msgid "Create an account"
msgstr "紹介状作成"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr ""
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr ""
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
msgid "This button works only if you have the app installed already!"
msgstr ""
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr ""
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr ""
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr ""
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr ""
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr ""
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr ""
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr ""
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr ""
#: snikket_web/templates/invite_view.html:30
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:37
msgid "Alternatives"
msgstr ""
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
#: snikket_web/templates/invite_view.html:44
msgid "Scan invite code"
msgstr ""
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr ""
#: snikket_web/templates/invite_view.html:50
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:55
msgid "Using a QR code scanner"
msgstr ""
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr ""
#: snikket_web/templates/invite_view.html:62
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
#: snikket_web/templates/invite_view.html:68
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:69
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 "
"recognises it."
msgstr ""
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr ""
@@ -597,6 +888,10 @@ msgstr ""
msgid "Invalid input"
msgstr ""
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr ""
@@ -609,11 +904,6 @@ msgstr ""
msgid "Login failed"
msgstr ""
#: snikket_web/templates/login.html:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr ""
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr ""
@@ -623,10 +913,6 @@ msgstr ""
msgid "Welcome home, %(user_name)s."
msgstr ""
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr ""
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -694,3 +980,9 @@ msgid ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."
msgstr ""
#~ msgid "Invite a group of people"
#~ msgstr "数人に紹介"
#~ msgid "Apply"
#~ msgstr "決定"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-26 15:06+0100\n"
"POT-Creation-Date: 2021-01-28 18:53+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"
@@ -53,39 +53,47 @@ msgstr ""
msgid "Four weeks"
msgstr ""
#: snikket_web/admin.py:152
msgid "Invite a group of people"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
msgid "Invitation type"
msgstr ""
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr ""
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr ""
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr ""
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr ""
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr ""
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
#: snikket_web/admin.py:333
msgid "Update circle"
msgstr ""
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr ""
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr ""
@@ -114,7 +122,7 @@ msgid "Create account"
msgstr ""
#: snikket_web/invite.py:123
msgid "That user name is already taken"
msgid "That username is already taken"
msgstr ""
#: snikket_web/invite.py:127
@@ -122,7 +130,7 @@ msgid "Registration was declined for unknown reasons"
msgstr ""
#: snikket_web/invite.py:131
msgid "The user name was not valid"
msgid "The username is not valid"
msgstr ""
#: snikket_web/main.py:36
@@ -134,7 +142,7 @@ msgid "Sign in"
msgstr ""
#: snikket_web/main.py:72
msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr ""
#: snikket_web/user.py:21
@@ -170,7 +178,6 @@ msgid "Everyone"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr ""
@@ -183,6 +190,10 @@ msgstr ""
msgid "Profile visibility"
msgstr ""
#: snikket_web/user.py:68
msgid "Update profile"
msgstr ""
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr ""
@@ -253,45 +264,64 @@ msgid "Admin area"
msgstr ""
#: snikket_web/templates/admin_circles.html:4
#: snikket_web/templates/admin_home.html:11
#: snikket_web/templates/admin_home.html:23
msgid "Manage circles"
msgstr ""
#: snikket_web/templates/admin_circles.html:11
msgid "Circle name"
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle "
"find each other on your service."
msgstr ""
#: snikket_web/templates/admin_circles.html:12
msgid "Members"
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact "
"list. In addition, each circle has a group chat where the circle members "
"are included."
msgstr ""
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr ""
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr ""
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr ""
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr ""
#: snikket_web/templates/admin_circles.html:26
#: snikket_web/templates/admin_circles.html:28
#, python-format
msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr ""
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr ""
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr ""
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
msgstr ""
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr ""
@@ -332,7 +362,7 @@ msgid "Copy complete output"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr ""
@@ -351,75 +381,89 @@ msgstr ""
msgid "Login name"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way "
"back!</strong>"
msgstr ""
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:49
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
#: snikket_web/templates/user_passwd.html:30
#: snikket_web/templates/user_profile.html:25
#: snikket_web/templates/user_profile.html:28
msgid "Back"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:8
msgid "Circle information"
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
msgid "Group chat address"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:19
msgid "Delete circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:20
msgid "Deleting a circle does not delete any users in the circle."
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
#: snikket_web/templates/user_home.html:21
msgid "Copy address"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:38
msgid "This circle has no group chat associated."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:47
msgid "Delete circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr ""
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr ""
@@ -438,21 +482,8 @@ msgstr ""
msgid "Link"
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
"revoked or a service-wide user limit is reached."
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:18
msgid "This invitation link can only be used once and is then depleted."
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:22
#: snikket_web/templates/admin_home.html:19
msgid "Circles"
msgstr ""
@@ -469,7 +500,16 @@ msgstr ""
msgid "The user will not be added to any circle and will have no contacts."
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:39
#: snikket_web/templates/admin_edit_invite.html:40
msgid "Contact"
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:41
#, python-format
msgid "The user will get added as contact of %(peer_jid)s."
msgstr ""
#: snikket_web/templates/admin_edit_invite.html:43
msgid "Created"
msgstr ""
@@ -495,70 +535,74 @@ msgid ""
"channel."
msgstr ""
#: snikket_web/templates/admin_home.html:3
msgid "Welcome to the administration dashboard!"
#: snikket_web/templates/admin_home.html:4
msgid "Welcome to the admin panel!"
msgstr ""
#: snikket_web/templates/admin_home.html:4
#: snikket_web/templates/admin_home.html:5
#, python-format
msgid "At your service, %(user_name)s."
msgstr ""
#: snikket_web/templates/admin_home.html:7
#: snikket_web/templates/admin_home.html:9
msgid "Users"
msgstr ""
#: snikket_web/templates/admin_home.html:11
msgid "Create password reset links or delete users."
msgstr ""
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_users.html:4
msgid "Manage users"
msgstr ""
#: snikket_web/templates/admin_home.html:8
msgid "Modify administrative user information or delete users."
#: snikket_web/templates/admin_home.html:21
msgid "Create and manage social circles represented on your service."
msgstr ""
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:27
msgid "Invitations"
msgstr ""
#: snikket_web/templates/admin_home.html:29
msgid "Create, revoke or copy invitations."
msgstr ""
#: snikket_web/templates/admin_home.html:31
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr ""
#: snikket_web/templates/admin_home.html:15
msgid "Create, revoke or view invitations."
msgstr ""
#: snikket_web/templates/admin_home.html:18
msgid "Back to the main view"
msgstr ""
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:36
msgid "Go back to your users web portal page."
msgstr ""
#: snikket_web/templates/admin_home.html:38
msgid "Exit admin panel"
msgstr ""
#: snikket_web/templates/admin_invites.html:10
msgid "Pending invitations"
msgstr ""
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr ""
#: snikket_web/templates/admin_invites.html:44
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr ""
#: snikket_web/templates/admin_invites.html:47
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr ""
#: snikket_web/templates/admin_invites.html:50
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr ""
#: snikket_web/templates/admin_invites.html:58
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr ""
@@ -577,16 +621,12 @@ msgstr ""
msgid "Destroy link"
msgstr ""
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr ""
#: snikket_web/templates/admin_users.html:29
#: snikket_web/templates/admin_users.html:25
#, python-format
msgid "Show debug information for %(user_name)s"
msgstr ""
#: snikket_web/templates/admin_users.html:32
#: snikket_web/templates/admin_users.html:28
#, python-format
msgid "Create password reset link for %(user_name)s"
msgstr ""
@@ -595,6 +635,10 @@ msgstr ""
msgid "Snikket Web Portal"
msgstr ""
#: snikket_web/templates/app.html:8
msgid "Log out"
msgstr ""
#: snikket_web/templates/backend_error.html:3
#: snikket_web/templates/exception.html:3
#: snikket_web/templates/internal_error.html:3
@@ -618,13 +662,13 @@ msgstr ""
msgid "The web portal encountered an internal error."
msgstr ""
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_view.html:12
#, python-format
msgid "Invite to %(site_name)s"
msgstr ""
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_invalid.html:6
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
@@ -632,12 +676,12 @@ msgstr ""
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr ""
#: snikket_web/templates/invite_invalid.html:7
#: snikket_web/templates/invite_invalid.html:8
msgid "Invite expired"
msgstr ""
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invite code has expired!"
#: snikket_web/templates/invite_invalid.html:9
msgid "Sorry, it looks like this invitation link has expired!"
msgstr ""
#: snikket_web/templates/invite_register.html:5
@@ -717,13 +761,9 @@ msgstr ""
msgid "Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
#: snikket_web/templates/invite_success.html:15
msgid "Copy address"
msgstr ""
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can not set up your legacy XMPP client with the above address and the"
"You can now set up your legacy XMPP client with the above address and the"
" password you chose during registration."
msgstr ""
@@ -843,6 +883,14 @@ msgstr ""
msgid "deleted"
msgstr ""
#: snikket_web/templates/library.j2:121
msgid "Can be used multiple times to create accounts on this Snikket service."
msgstr ""
#: snikket_web/templates/library.j2:123
msgid "Can be used once to create an account on this Snikket service."
msgstr ""
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
msgstr ""
@@ -855,44 +903,38 @@ msgstr ""
msgid "Login failed"
msgstr ""
#: snikket_web/templates/user_home.html:3
#: snikket_web/templates/user_home.html:9
msgid "Welcome!"
msgstr ""
#: snikket_web/templates/user_home.html:4
#: snikket_web/templates/user_home.html:10
#, python-format
msgid "Welcome home, %(user_name)s."
msgstr ""
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
#: snikket_web/templates/user_home.html:14
msgid "Your account"
msgstr ""
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal"
" data to others."
#: snikket_web/templates/user_home.html:30
msgid "Edit profile"
msgstr ""
#: snikket_web/templates/user_home.html:11
#: snikket_web/templates/user_home.html:31
#: snikket_web/templates/user_passwd.html:32
msgid "Change password"
msgstr ""
#: snikket_web/templates/user_home.html:15
msgid "Admin dashboard"
#: snikket_web/templates/user_home.html:36
msgid "Your Snikket"
msgstr ""
#: snikket_web/templates/user_home.html:16
msgid "Manage users and invitations of this Snikket service."
#: snikket_web/templates/user_home.html:38
msgid "Manage users, invitations and circles of your Snikket service."
msgstr ""
#: snikket_web/templates/user_home.html:20
msgid "Log out"
msgstr ""
#: snikket_web/templates/user_home.html:21
msgid "Exit the Snikket Web Portal, without logging out your other devices."
#: snikket_web/templates/user_home.html:40
msgid "Admin panel"
msgstr ""
#: snikket_web/templates/user_logout.html:8
@@ -926,11 +968,11 @@ msgstr ""
msgid "Profile"
msgstr ""
#: snikket_web/templates/user_profile.html:18
#: snikket_web/templates/user_profile.html:21
msgid "Visibility"
msgstr ""
#: snikket_web/templates/user_profile.html:19
#: snikket_web/templates/user_profile.html:22
msgid ""
"This section allows you to control who can see your profile information, "
"like avatar and nickname."

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-24 11:05+0100\n"
"PO-Revision-Date: 2021-01-24 10:05+0000\n"
"POT-Creation-Date: 2021-01-27 17:16+0100\n"
"PO-Revision-Date: 2021-01-27 16:17+0000\n"
"Last-Translator: misiek <migelazur@mailbox.org>\n"
"Language-Team: Polish <https://i18n.sotecware.net/projects/snikket/web-"
"portal/pl/>\n"
@@ -57,39 +57,49 @@ msgstr "Jeden tydzień"
msgid "Four weeks"
msgstr "Cztery tygodnie"
#: snikket_web/admin.py:152
msgid "Invite a group of people"
msgstr "Zaproś grupę osób"
#: snikket_web/admin.py:152 snikket_web/templates/admin_edit_invite.html:17
#, fuzzy
#| msgid "View invitation"
msgid "Invitation type"
msgstr "Szczegóły zaproszenia"
#: snikket_web/admin.py:156
#: snikket_web/admin.py:154 snikket_web/templates/library.j2:115
msgid "Individual"
msgstr ""
#: snikket_web/admin.py:155 snikket_web/templates/library.j2:113
msgid "Group"
msgstr ""
#: snikket_web/admin.py:161
msgid "New invitation link"
msgstr "Nowy link z zaproszeniem"
#: snikket_web/admin.py:218
#: snikket_web/admin.py:223
msgid "Revoke"
msgstr "Unieważnij"
#: snikket_web/admin.py:274 snikket_web/admin.py:318
#: snikket_web/admin.py:279 snikket_web/admin.py:323
msgid "Name"
msgstr "Nazwa"
#: snikket_web/admin.py:279 snikket_web/templates/admin_circles.html:42
#: snikket_web/admin.py:284 snikket_web/templates/admin_circles.html:47
msgid "Create circle"
msgstr "Utwórz krąg"
#: snikket_web/admin.py:323
#: snikket_web/admin.py:328
msgid "Select user"
msgstr "Wybierz użytkownika"
#: snikket_web/admin.py:328 snikket_web/user.py:68
msgid "Apply"
msgstr "Zastosuj"
#: snikket_web/admin.py:333
msgid "Update circle"
msgstr "Zaktualizuj ustawienia kręgu"
#: snikket_web/admin.py:332
#: snikket_web/admin.py:337
msgid "Delete circle permanently"
msgstr "Usuń krąg bezpowrotnie"
#: snikket_web/admin.py:338
#: snikket_web/admin.py:343
msgid "Add user"
msgstr "Dodaj użytkownika"
@@ -97,20 +107,48 @@ msgstr "Dodaj użytkownika"
msgid "Main"
msgstr "Główny"
#: snikket_web/invite.py:86
msgid "Username"
msgstr "Nazwa użytkownika"
#: snikket_web/invite.py:90 snikket_web/main.py:41
msgid "Password"
msgstr "Hasło"
#: snikket_web/invite.py:94
msgid "Confirm password"
msgstr "Potwierdź hasło"
#: snikket_web/invite.py:98
msgid "The passwords must match"
msgstr "Hasła muszą się zgadzać"
#: snikket_web/invite.py:103
msgid "Create account"
msgstr "Utwórz konto"
#: snikket_web/invite.py:123
msgid "That username is already taken"
msgstr "Ta nazwa użytkownika jest już zajęta"
#: snikket_web/invite.py:127
msgid "Registration was declined for unknown reasons"
msgstr "Z nieznanych przyczyn rejestracja została odrzucona"
#: snikket_web/invite.py:131
msgid "The username is not valid"
msgstr "Ta nazwa użytkownika jest nieprawidłowa"
#: snikket_web/main.py:36
msgid "Address"
msgstr "Adres"
#: snikket_web/main.py:41
msgid "Password"
msgstr "Hasło"
#: snikket_web/main.py:46
msgid "Sign in"
msgstr "Zaloguj się"
#: snikket_web/main.py:72
msgid "Invalid user name or password."
msgid "Invalid username or password."
msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
#: snikket_web/user.py:21
@@ -146,7 +184,6 @@ msgid "Everyone"
msgstr "Wszyscy"
#: snikket_web/templates/admin_delete_user.html:12
#: snikket_web/templates/admin_delete_user.html:16
#: snikket_web/templates/admin_users.html:11 snikket_web/user.py:55
msgid "Display name"
msgstr "Nazwa wyświetlana"
@@ -159,10 +196,19 @@ msgstr "Awatar"
msgid "Profile visibility"
msgstr "Widoczność profilu"
#: snikket_web/templates/user_home.html:7 snikket_web/user.py:68
msgid "Update profile"
msgstr "Zaktualizuj profil"
#: snikket_web/user.py:93
msgid "Incorrect password"
msgstr "Nieprawidłowe hasło"
#: snikket_web/templates/_footer.html:4 snikket_web/templates/login.html:36
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Serwer <a href=\"%(about_url)s\">Snikket</a>"
#: snikket_web/templates/about.html:9
msgid "About Snikket"
msgstr "O Snikket"
@@ -183,7 +229,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 na <em>%(site_name)s</em>."
msgstr "To serwer Snikket: <em>%(site_name)s</em>."
#: snikket_web/templates/about.html:13
msgid "Licenses"
@@ -239,35 +285,60 @@ msgstr "Panel administracyjny"
msgid "Manage circles"
msgstr "Zarządzaj kręgami"
#: snikket_web/templates/admin_circles.html:11
#: snikket_web/templates/admin_circles.html:5
msgid ""
"<em>Circles</em> aim to help people who are in the same social circle find "
"each other on your service."
msgstr ""
"Celem <em> Kręgów </em> jest pomoc osobom z tego samego kręgu znajomych w "
"odnalezieniu się na twoim serwerze."
#: snikket_web/templates/admin_circles.html:6
msgid ""
"Users who are in the same circle will see each other in their contact list. "
"In addition, each circle has a group chat where the circle members are "
"included."
msgstr ""
"Użytkownicy, którzy są w tym samym kręgu, będą widzieli się wzajemnie na "
"swoich listach kontaktów. Każdy krąg posiada również czat grupowy dla "
"członków danego kręgu."
#: snikket_web/templates/admin_circles.html:13
msgid "Circle name"
msgstr "Nazwa kręgu"
#: snikket_web/templates/admin_circles.html:12
#: snikket_web/templates/admin_circles.html:14
msgid "Members"
msgstr "Członkowie"
#: snikket_web/templates/admin_circles.html:13
#: snikket_web/templates/admin_circles.html:15
#: snikket_web/templates/admin_invites.html:24
#: snikket_web/templates/admin_users.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Actions"
msgstr "Akcje"
#: snikket_web/templates/admin_circles.html:23
#: snikket_web/templates/admin_circles.html:25
#, python-format
msgid "Create invitation to circle %(circle_name)s"
msgstr "Utwórz zaproszenie do kręgu %(circle_name)s"
#: snikket_web/templates/admin_circles.html:26
#, python-format
msgid "Show details of circle %(circle_name)s"
#: snikket_web/templates/admin_circles.html:28
#, fuzzy, python-format
#| msgid "Show details of circle %(circle_name)s"
msgid "Manage members of %(circle_name)s"
msgstr "Pokaż szczegóły kręgu %(circle_name)s"
#: snikket_web/templates/admin_circles.html:35
#: snikket_web/templates/admin_circles.html:31
#: snikket_web/templates/admin_edit_circle.html:8
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edytuj krąg %(circle_name)s"
#: snikket_web/templates/admin_circles.html:40
msgid "No circles"
msgstr "Brak kręgów"
#: snikket_web/templates/admin_circles.html:36
#: snikket_web/templates/admin_circles.html:41
msgid ""
"Currently, there are no circles on this service. Use the form below to "
"create one."
@@ -275,7 +346,7 @@ msgstr ""
"Obecnie nie ma kręgów na tym serwerze. Użyj poniższego formularza, by "
"stworzyć nowy."
#: snikket_web/templates/admin_circles.html:39
#: snikket_web/templates/admin_circles.html:44
msgid "New circle"
msgstr "Nowy krąg"
@@ -292,8 +363,8 @@ msgid ""
"Create a new invitation link to invite more users to your Snikket service by "
"clicking the button below."
msgstr ""
"Aby zaprosić nowych użytkowników na twój serwer Snikket, utwórz nowy link "
"zaproszenia, korzystając z poniższego przycisku."
"Utwórz nowy link zaproszenia korzystając z poniższego przycisku. Pozwoli on "
"zaprosić nowych użytkowników na twój serwer Snikket."
#: snikket_web/templates/admin_debug_user.html:8
#, python-format
@@ -318,7 +389,7 @@ msgid "Copy complete output"
msgstr "Skopiuj całą zawartość"
#: snikket_web/templates/admin_delete_user.html:4
#: snikket_web/templates/admin_users.html:26
#: snikket_web/templates/admin_users.html:22
#, python-format
msgid "Delete user %(user_name)s"
msgstr "Usuń użytkownika %(user_name)s"
@@ -337,24 +408,22 @@ msgstr "Czy na pewno chcesz usunąć tego użytkownika?"
msgid "Login name"
msgstr "Login"
#: snikket_web/templates/admin_delete_user.html:14
#: snikket_web/templates/admin_users.html:12
msgid "Email address"
msgstr "Adres e-mail"
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_delete_user.html:15
msgid "Danger"
msgstr "Niebezpieczne"
msgstr "Uwaga"
#: snikket_web/templates/admin_delete_user.html:20
#: snikket_web/templates/admin_delete_user.html:16
msgid ""
"The user and their data will be deleted irrevocably, permanently and "
"immediately upon pushing the below button. <strong>There is no way back!</"
"strong>"
msgstr ""
"Użytkownik oraz jego dane zostaną nieodwracalnie, trwale i natychmiastowo "
"usunięte po naciśnięciu poniższego przycisku. <strong>Nie będzie można tego "
"cofnąć!</strong>"
#: snikket_web/templates/admin_delete_user.html:23
#: snikket_web/templates/admin_edit_circle.html:15
#: snikket_web/templates/admin_delete_user.html:19
#: snikket_web/templates/admin_edit_circle.html:43
#: snikket_web/templates/admin_edit_invite.html:45
#: snikket_web/templates/admin_reset_user_password.html:25
#: snikket_web/templates/user_logout.html:13
@@ -363,55 +432,75 @@ msgstr ""
msgid "Back"
msgstr "Wstecz"
#: snikket_web/templates/admin_edit_circle.html:4
#, python-format
msgid "Edit circle %(circle_name)s"
msgstr "Edytuj krąg %(circle_name)s"
#: snikket_web/templates/admin_edit_circle.html:13
msgid "This circle cannot be modified"
msgstr "Ten krąg nie może być modyfikowany"
#: snikket_web/templates/admin_edit_circle.html:8
#: snikket_web/templates/admin_edit_circle.html:14
msgid "This circle is managed automatically and cannot be removed or renamed."
msgstr ""
"Ten krąg jest zarządzany automatycznie, dlatego nie można go usunąć lub "
"zmienić jego nazwy."
#: snikket_web/templates/admin_edit_circle.html:16
#: snikket_web/templates/admin_edit_circle.html:32
msgid "Group chat address"
msgstr "Adres czatu grupowego"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:35
#: snikket_web/templates/invite_success.html:15
msgid "Copy address"
msgstr "Skopiuj adres"
#: snikket_web/templates/admin_edit_circle.html:25
msgid "Circle information"
msgstr "Informacje o kręgu"
#: snikket_web/templates/admin_edit_circle.html:19
#: snikket_web/templates/admin_edit_circle.html:38
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:47
msgid "Delete circle"
msgstr "Usuń krąg"
#: snikket_web/templates/admin_edit_circle.html:20
#: snikket_web/templates/admin_edit_circle.html:48
msgid "Deleting a circle does not delete any users in the circle."
msgstr "Usunięcie kręgu nie usuwa z serwera jego użytkowników."
#: snikket_web/templates/admin_edit_circle.html:25
#: snikket_web/templates/admin_edit_circle.html:54
msgid "Circle members"
msgstr "Członkowie kręgu"
#: snikket_web/templates/admin_edit_circle.html:40
#: snikket_web/templates/admin_edit_circle.html:69
#, python-format
msgid "Remove user %(username)s from circle"
msgstr "Usuń użytkownika %(username)s z kręgu"
#: snikket_web/templates/admin_edit_circle.html:48
#: snikket_web/templates/admin_edit_circle.html:77
msgid "This circle currently has no members."
msgstr "Ten krąg nie ma obecnie członków."
#: snikket_web/templates/admin_edit_circle.html:50
#: snikket_web/templates/admin_edit_circle.html:79
msgid "Invite more members"
msgstr "Zaproś więcej użytkowników"
#: snikket_web/templates/admin_edit_circle.html:53
#: snikket_web/templates/admin_edit_circle.html:82
msgid "Add existing user"
msgstr "Dodaj istniejącego użytkownika"
#: snikket_web/templates/admin_edit_circle.html:64
#: snikket_web/templates/admin_edit_circle.html:93
msgid "No users left"
msgstr "Brak użytkowników do dodania"
#: snikket_web/templates/admin_edit_circle.html:65
#: snikket_web/templates/admin_edit_circle.html:94
msgid "All users on this service are already in this circle."
msgstr "Wszyscy użytkownicy tego serwera są obecnie w tym kręgu."
#: snikket_web/templates/admin_edit_invite.html:8
msgid "View invitation"
msgstr "Zobacz zaproszenie"
msgstr "Szczegóły zaproszenia"
#: snikket_web/templates/admin_edit_invite.html:13
#: snikket_web/templates/admin_invites.html:21
@@ -424,17 +513,13 @@ msgstr "Ważne do"
msgid "Link"
msgstr "Link"
#: snikket_web/templates/admin_edit_invite.html:17
msgid "Reusability"
msgstr "Możliwość ponownego wykorzystania"
#: snikket_web/templates/admin_edit_invite.html:18
msgid ""
"This invitation link can be used arbitrarily often, until it expires, is "
"revoked or a service-wide user limit is reached."
msgstr ""
"Ten link z zaproszeniem może być wykorzystywany do momentu wygaśnięcia, "
"unieważnienia lub osiągnięcia limitu użytkowników."
"unieważnienia lub osiągnięcia limitu użytkowników serwera."
#: snikket_web/templates/admin_edit_invite.html:18
msgid "This invitation link can only be used once and is then depleted."
@@ -448,8 +533,8 @@ msgstr "Kręgi"
msgid ""
"Users joining via this invitation will be added to the following circles:"
msgstr ""
"Użytkownik dołączający za pomocą tego zaproszenia zostanie dodany do "
"poniższego kręgu:"
"Użytkownicy dołączający za pomocą tego zaproszenia zostaną dodani do "
"poniższych kręgów:"
#: snikket_web/templates/admin_edit_invite.html:29
#: snikket_web/templates/admin_invites.html:23
@@ -464,7 +549,7 @@ msgstr ""
#: snikket_web/templates/admin_edit_invite.html:39
msgid "Created"
msgstr "Utworzony"
msgstr "Utworzono"
#: snikket_web/templates/admin_edit_user.html:3
#, python-format
@@ -509,20 +594,24 @@ msgstr "Zarządzaj użytkownikami"
msgid "Modify administrative user information or delete users."
msgstr "Zmień informacje o użytkowniku lub usuń użytkowników."
#: snikket_web/templates/admin_home.html:14
#: snikket_web/templates/admin_home.html:12
msgid "Create and manage social circles represented on your service."
msgstr "Twórz i zarządzaj kręgami społecznościowymi na twoim serwerze."
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_invites.html:8
msgid "Manage invitations"
msgstr "Zarządzaj zaproszeniami"
#: snikket_web/templates/admin_home.html:15
#: snikket_web/templates/admin_home.html:16
msgid "Create, revoke or view invitations."
msgstr "Utwórz, unieważnij lub przeglądaj zaproszenia."
#: snikket_web/templates/admin_home.html:18
#: snikket_web/templates/admin_home.html:19
msgid "Back to the main view"
msgstr "Powrót do strony głównej"
#: snikket_web/templates/admin_home.html:19
#: snikket_web/templates/admin_home.html:20
msgid "Go back to your users web portal page."
msgstr "Wróć do swojej strony użytkownika."
@@ -531,34 +620,22 @@ msgid "Pending invitations"
msgstr "Oczekujące zaproszenia"
#: snikket_web/templates/admin_invites.html:22
msgid "Reusable"
msgstr "Wielokrotnego użytku"
msgid "Type"
msgstr ""
#: snikket_web/templates/admin_invites.html:31
msgid "Yes"
msgstr "Tak"
#: snikket_web/templates/admin_invites.html:31
msgid "No"
msgstr "Nie"
#: snikket_web/templates/admin_invites.html:41
msgid "deleted"
msgstr "usunięte"
#: snikket_web/templates/admin_invites.html:49
#: snikket_web/templates/admin_invites.html:43
msgid "Show invite details"
msgstr "Pokaż szczegóły zaproszenia"
#: snikket_web/templates/admin_invites.html:52
#: snikket_web/templates/admin_invites.html:46
msgid "Copy invite link to clipboard"
msgstr "Skopiuj link zaproszenia do schowka"
#: snikket_web/templates/admin_invites.html:55
#: snikket_web/templates/admin_invites.html:49
msgid "Delete invitation"
msgstr "Usuń zaproszenie"
#: snikket_web/templates/admin_invites.html:63
#: snikket_web/templates/admin_invites.html:57
msgid "Currently, there are no pending invitations."
msgstr "Brak oczekujących zaproszeń."
@@ -577,18 +654,14 @@ msgstr ""
#: snikket_web/templates/admin_reset_user_password.html:22
msgid "Destroy link"
msgstr "Usuń link"
msgstr "Zniszcz link"
#: snikket_web/templates/admin_users.html:13
msgid "Phone number"
msgstr "Numer telefonu"
#: snikket_web/templates/admin_users.html:29
#: 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:32
#: 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"
@@ -622,13 +695,244 @@ msgstr "Wróć do strony głównej"
msgid "The web portal encountered an internal error."
msgstr "Portal internetowy napotkał błąd wewnętrzny."
#: snikket_web/templates/invite_invalid.html:4
#: snikket_web/templates/invite_view.html:12
#, python-format
msgid "Invite to %(site_name)s"
msgstr "Zaproś na %(site_name)s"
#: snikket_web/templates/invite_invalid.html:5
#: snikket_web/templates/invite_register.html:10
#: snikket_web/templates/invite_success.html:11
#: snikket_web/templates/invite_view.html:13
#, python-format
msgid "Powered by <img src=\"%(logo_url)s\" alt=\"Snikket\">"
msgstr "Obsługiwane przez <img alt=\"Snikket\" src=\"%(logo_url)s\">"
#: snikket_web/templates/invite_invalid.html:7
msgid "Invite expired"
msgstr "Zaproszenie wygasło"
#: snikket_web/templates/invite_invalid.html:8
msgid "Sorry, it looks like this invitation link has expired!"
msgstr "Przepraszamy, wygląda na to, że ten link z zaproszeniem wygasł!"
#: snikket_web/templates/invite_register.html:5
#, python-format
msgid "Register on %(site_name)s | Snikket"
msgstr "Zarejestruj się na %(site_name)s | Snikket"
#: snikket_web/templates/invite_register.html:9
#, python-format
msgid "Register on %(site_name)s"
msgstr "Zarejestruj się na %(site_name)s"
#: snikket_web/templates/invite_register.html:11
#, python-format
msgid "%(site_name)s is using Snikket - a secure, privacy-friendly chat app."
msgstr ""
"%(site_name)s korzysta ze Snikket - bezpiecznej i przyjaznej dla prywatności "
"aplikacji do rozmów."
#: snikket_web/templates/invite_register.html:12
msgid "Create an account"
msgstr "Utwórz konto"
#: snikket_web/templates/invite_register.html:13
msgid ""
"Creating an account will allow to communicate with other people using the "
"Snikket app or compatible software. If you already have the app installed, "
"we recommend that you continue the account creation process inside the app "
"by clicking on the button below:"
msgstr ""
"Utworzenie konta pozwoli na komunikację z innymi osobami za pomocą aplikacji "
"Snikket lub kompatybilnego oprogramowania. Jeśli zainstalowałeś już "
"aplikację, zalecamy kontynuowanie procesu tworzenia konta wewnątrz niej, "
"zaprowadzi cię tam poniższy przycisk:"
#: snikket_web/templates/invite_register.html:14
#: snikket_web/templates/invite_view.html:31
msgid "App already installed?"
msgstr "Aplikacja jest już zainstalowana?"
#: snikket_web/templates/invite_register.html:16
#: snikket_web/templates/invite_view.html:33
msgid "Open the app"
msgstr "Otwórz aplikację"
#: snikket_web/templates/invite_register.html:18
#: snikket_web/templates/invite_view.html:35
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ę!"
#: snikket_web/templates/invite_register.html:19
msgid "Create an account online"
msgstr "Utwórz konto online"
#: snikket_web/templates/invite_register.html:20
msgid ""
"If you plan to use a legacy XMPP client, you can register an account online "
"and enter your credentials into any XMPP-compatible software."
msgstr ""
"Jeśli planujesz używać starszego klienta XMPP, możesz zarejestrować konto "
"online i wprowadzić dane logowania w dowolnym oprogramowaniu zgodnym z XMPP."
#: snikket_web/templates/invite_register.html:27
msgid ""
"Choose a username, this will become the first part of your new chat address."
msgstr ""
"Wybierz nazwę użytkownika, będzie to pierwsza część twojego nowego adresu do "
"czatowania."
#: snikket_web/templates/invite_register.html:32
msgid "Enter a secure password that you do not use anywhere else."
msgstr "Wprowadź bezpieczne hasło, którego nie używasz w innym miejscu."
#: snikket_web/templates/invite_success.html:5
#, python-format
msgid "Successfully registered on %(site_name)s | Snikket"
msgstr "Pomyślnie zarejestrowano na %(site_name)s | Snikket"
#: snikket_web/templates/invite_success.html:10
#, python-format
msgid "Successfully registered on %(site_name)s"
msgstr "Pomyślnie zarejestrowano na %(site_name)s"
#: snikket_web/templates/invite_success.html:12
#, python-format
msgid ""
"Congratulations! You successfully registered on %(site_name)s as %(jid)s."
msgstr ""
"Gratulacje! Pomyślnie zarejestrowałeś się na %(site_name)s jako %(jid)s."
#: snikket_web/templates/invite_success.html:17
msgid ""
"You can now set up your legacy XMPP client with the above address and the "
"password you chose during registration."
msgstr ""
"Możesz teraz skonfigurować swojego starszego klienta XMPP za pomocą "
"powyższego adresu i hasła, które podałeś podczas rejestracji."
#: snikket_web/templates/invite_success.html:18
msgid "You can now safely close this page."
msgstr "Możesz teraz bezpiecznie zamknąć tę stronę."
#: snikket_web/templates/invite_view.html:6
#, python-format
msgid "Invite to %(site_name)s | Snikket"
msgstr "Zaproszenie na %(site_name)s | Snikket"
#: snikket_web/templates/invite_view.html:15
#, python-format
msgid ""
"You have been invited to chat with %(inviter_name)s using Snikket, a secure, "
"privacy-friendly chat app on %(site_name)s."
msgstr ""
"Zostałeś zaproszony do czatu z %(inviter_name)s za pomocą Snikket, "
"bezpiecznej i przyjaznej dla prywatności aplikacji do rozmów na "
"%(site_name)s."
#: snikket_web/templates/invite_view.html:17
#, python-format
msgid ""
"You have been invited to chat on %(site_name)s using Snikket, a secure, "
"privacy-friendly chat app."
msgstr ""
"Zostałeś zaproszony do czatu na %(site_name)s za pomocą Snikket, bezpiecznej "
"i przyjaznej dla prywatności aplikacji do rozmów."
#: snikket_web/templates/invite_view.html:19
msgid "Get started"
msgstr "Rozpocznij"
#: snikket_web/templates/invite_view.html:20
msgid "Install the Snikket App on your Android or iOS device."
msgstr ""
"Zainstaluj aplikację Snikket na swoim urządzeniu z systemem Android lub iOS."
#: snikket_web/templates/invite_view.html:23
msgid "Get it on Google Play"
msgstr "Pobierz w Google Play"
#: snikket_web/templates/invite_view.html:24
msgid "Download on the App Store"
msgstr "Pobierz w App Store"
#: snikket_web/templates/invite_view.html:27
msgid "Not on mobile?"
msgstr "Nie korzystasz obecnie ze smartfona?"
#: snikket_web/templates/invite_view.html:30
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:37
msgid "Alternatives"
msgstr ""
#: snikket_web/templates/invite_view.html:38
#, python-format
msgid ""
"You can connect to Snikket using any XMPP-compatible software. If the button "
"above does not work with your app, you may need to <a href=\"%(register_url)s"
"\">register an account manually</a>."
msgstr ""
#: snikket_web/templates/invite_view.html:44
msgid "Scan invite code"
msgstr "Zeskanuj kod zaproszenia"
#: snikket_web/templates/invite_view.html:47
#: snikket_web/templates/invite_view.html:76
msgid "Close"
msgstr "Zamknij"
#: snikket_web/templates/invite_view.html:50
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:55
msgid "Using a QR code scanner"
msgstr ""
#: snikket_web/templates/invite_view.html:57
msgid "Using the Snikket app"
msgstr ""
#: snikket_web/templates/invite_view.html:62
msgid ""
"Use a <em>QR code</em> scanner on your mobile device to scan the code below:"
msgstr ""
#: snikket_web/templates/invite_view.html:68
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:69
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 "
"recognises it."
msgstr ""
#: snikket_web/templates/library.j2:18
msgid "Copy link"
msgstr "Skopiuj link"
#: snikket_web/templates/library.j2:80
msgid "Invalid input"
msgstr "Wprowadzone dane nieprawidłowe"
msgstr "Dane nieprawidłowe"
#: snikket_web/templates/library.j2:107
msgid "deleted"
msgstr "usunięty"
#: snikket_web/templates/login.html:5
msgid "Snikket Login"
@@ -636,19 +940,12 @@ msgstr "Snikket - Logowanie"
#: snikket_web/templates/login.html:14
msgid "Enter your Snikket address and password to manage your account."
msgstr ""
"Wprowadź adres swojego serwera Snikket oraz hasło, aby zarządzać swoim "
"kontem."
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:36 snikket_web/templates/unauth.html:14
#, python-format
msgid "A <a href=\"%(about_url)s\">Snikket</a> service"
msgstr "Serwer <a href=\"%(about_url)s\">Snikket</a>"
#: snikket_web/templates/user_home.html:3
msgid "Welcome!"
msgstr "Witaj!"
@@ -658,10 +955,6 @@ msgstr "Witaj!"
msgid "Welcome home, %(user_name)s."
msgstr "Witaj w domu, %(user_name)s."
#: snikket_web/templates/user_home.html:7
msgid "Update profile"
msgstr "Zaktualizuj profil"
#: snikket_web/templates/user_home.html:8
msgid ""
"Change display name, set avatar and configure visibility of your personal "
@@ -714,8 +1007,8 @@ msgid ""
"the new one. To reduce the chance of typos, we ask for your new password "
"twice."
msgstr ""
"Aby zmienić swoje hasło musisz podać również swoje obecne hasło. O podanie "
"nowego hasła prosimy podwójnie, by zminimalizować możliwość pomyłki."
"Aby zmienić swoje hasło musisz podać również dotychczasowe. O podanie nowego "
"hasła prosimy podwójnie, by zminimalizować możliwość pomyłki."
#: snikket_web/templates/user_passwd.html:27
msgid ""
@@ -740,6 +1033,30 @@ msgstr ""
"Ta sekcja pozwoli ci na zarządzenie widocznością informacji o twoim profilu "
"przez innych, jak awatar lub pseudonim."
#~ msgid "Invite a group of people"
#~ msgstr "Zaproś grupę osób"
#~ msgid "Reusability"
#~ msgstr "Możliwość wielokrotnego użycia"
#~ msgid "Reusable"
#~ msgstr "Wielokrotnego użytku"
#~ msgid "Yes"
#~ msgstr "Tak"
#~ msgid "No"
#~ msgstr "Nie"
#~ msgid "Email address"
#~ msgstr "Adres e-mail"
#~ msgid "Phone number"
#~ msgstr "Numer telefonu"
#~ msgid "Apply"
#~ msgstr "Zapisz"
#~ msgid "Copied to clipboard"
#~ msgstr "Skopiowano do schowka"

View File

@@ -65,7 +65,7 @@ class ProfileForm(flask_wtf.FlaskForm): # type:ignore
)
action_save = wtforms.SubmitField(
_l("Apply"),
_l("Update profile"),
)

View File

@@ -1,6 +1,7 @@
action/account_circle:profile
action/bug_report:bug_report
action/done:done
action/delete:delete
action/logout:logout
action/login:login
action/exit_to_app:exit_to_app
@@ -8,7 +9,6 @@ communication/qr_code:qrcode
communication/vpn_key:passwd
content/add_circle_outline:add
content/add_link:create_link
content/create:edit
content/remove_circle_outline:remove
content/content_copy:copy
content/link_off:remove_link
@@ -17,5 +17,11 @@ navigation/arrow_forward:forward
navigation/cancel:cancel
navigation/more_vert:more
social/groups:groups
social/people:people
social/group_add:create_group
social/person_add:add_user
social/person_remove:remove_user
navigation/close:close
image/edit:edit
action/admin_panel_settings:admin
content/link:link