Compare commits
1057 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13c4acffa1 | ||
|
|
3a5b763018 | ||
|
|
3fa3fd5f69 | ||
|
|
983c388150 | ||
|
|
27f13c1ba3 | ||
|
|
6cfb74e96c | ||
|
|
9249b4a2d4 | ||
|
|
ad1ca42bde | ||
|
|
af086bbdbe | ||
|
|
d19abc60bc | ||
|
|
c041a9d45c | ||
|
|
24828615cf | ||
|
|
5e2552bcd5 | ||
|
|
be7dc1e6bd | ||
|
|
533a6f8faa | ||
|
|
c0645eadef | ||
|
|
d96debb2a6 | ||
|
|
e994fefb2d | ||
|
|
66844fbca8 | ||
|
|
1df3b46454 | ||
|
|
8ef0493f53 | ||
|
|
db9a3787b1 | ||
|
|
3655c7c902 | ||
|
|
9c284c4004 | ||
|
|
a5d6acfb96 | ||
|
|
3c4ee1b31e | ||
|
|
97b3a85090 | ||
|
|
09a50b6cfc | ||
|
|
5795d8be16 | ||
|
|
4060ac2223 | ||
|
|
087841d5b7 | ||
|
|
b5f51b0e2e | ||
|
|
0f4ba39141 | ||
|
|
514d179db1 | ||
|
|
bb0fd896b3 | ||
|
|
8fe9e695f3 | ||
|
|
c7dcfee882 | ||
|
|
79768c09f6 | ||
|
|
74693ee47c | ||
|
|
c1839b1ec1 | ||
|
|
6ca8ed437d | ||
|
|
94e42c9b52 | ||
|
|
33c0a99ffc | ||
|
|
bb85079d92 | ||
|
|
491f6b24bb | ||
|
|
1aa97c9914 | ||
|
|
c00910ca4b | ||
|
|
97d338e68a | ||
|
|
7f46876b0c | ||
|
|
425cdd5e77 | ||
|
|
20f1faf6d0 | ||
|
|
c25ba75d68 | ||
|
|
9208d7262f | ||
|
|
2de4995fec | ||
|
|
28daa22842 | ||
|
|
8e5ccf2754 | ||
|
|
626559f99b | ||
|
|
94edb48f08 | ||
|
|
a2a9512afa | ||
|
|
f0906073e3 | ||
|
|
a634c7b72d | ||
|
|
38eb266c25 | ||
|
|
c0972face6 | ||
|
|
35be1710a6 | ||
|
|
8acf9451fa | ||
|
|
8172f3eab8 | ||
|
|
3d98124bcd | ||
|
|
fee52e87ed | ||
|
|
b6aaf57be1 | ||
|
|
d0f07984b0 | ||
|
|
07b1e8d765 | ||
|
|
9dd447e23b | ||
|
|
eac4d553a9 | ||
|
|
c25c646909 | ||
|
|
02367d1447 | ||
|
|
2d4bac03ad | ||
|
|
a382f74680 | ||
|
|
ca86090011 | ||
|
|
37027cfce7 | ||
|
|
d18cf7cb25 | ||
|
|
d84254ccd8 | ||
|
|
161b27a204 | ||
|
|
b564b879aa | ||
|
|
c9df311a0d | ||
|
|
eff6c34632 | ||
|
|
88c174fb7a | ||
|
|
2b6f5ea3d0 | ||
|
|
eccadeca16 | ||
|
|
fed7146873 | ||
|
|
4783e61693 | ||
|
|
72e1b444ca | ||
|
|
5b769e23da | ||
|
|
30716b8bdf | ||
|
|
02995f0a15 | ||
|
|
f9e30bd87c | ||
|
|
4a7eb1eb6c | ||
|
|
2a8808bdec | ||
|
|
f57d4859f3 | ||
|
|
f6013aa29f | ||
|
|
206cce0b47 | ||
|
|
5c24390114 | ||
|
|
2a76451a98 | ||
|
|
1bbf3f235d | ||
|
|
12689965bd | ||
|
|
680ad4b67a | ||
|
|
76d9fc3865 | ||
|
|
4032e7128d | ||
|
|
fca3dc4e70 | ||
|
|
9a7fc1416a | ||
|
|
b3ac4465f2 | ||
|
|
da96ef183b | ||
|
|
e08f3e81d0 | ||
|
|
982e586e49 | ||
|
|
0d6a203a9d | ||
|
|
fd8ed3dfa6 | ||
|
|
2576379df5 | ||
|
|
88f5e6e4cf | ||
|
|
c3bc7988c9 | ||
|
|
6dcc33e390 | ||
|
|
4e9dc0c3c9 | ||
|
|
13bc6261e4 | ||
|
|
ca4804653d | ||
|
|
09abaff9b6 | ||
|
|
7a116c0364 | ||
|
|
42e2dbe35d | ||
|
|
003c36c98a | ||
|
|
5fa2aac569 | ||
|
|
5067b5c59a | ||
|
|
903bb70c5b | ||
|
|
9ba086fcff | ||
|
|
9004c9b8b5 | ||
|
|
e9217b8389 | ||
|
|
1a5e106bb8 | ||
|
|
7125077dec | ||
|
|
7408e625f6 | ||
|
|
2237e641b0 | ||
|
|
ffdef18bd6 | ||
|
|
a46d0fe581 | ||
|
|
35e0fa1b9d | ||
|
|
a1ac7fc19c | ||
|
|
da81f67254 | ||
|
|
27cf2c33a6 | ||
|
|
1e3392e417 | ||
|
|
dde7ccca97 | ||
|
|
72e931f4b4 | ||
|
|
928fbb372d | ||
|
|
3b1fdc6166 | ||
|
|
fd3a944850 | ||
|
|
55297424cd | ||
|
|
b8783b670a | ||
|
|
238d4e7f20 | ||
|
|
56fb74c502 | ||
|
|
e5268de0c7 | ||
|
|
120c29eff6 | ||
|
|
ae8f928fc0 | ||
|
|
393bf566da | ||
|
|
6c12e2fffb | ||
|
|
12d8872a09 | ||
|
|
da37555a3c | ||
|
|
7c07efc216 | ||
|
|
bcfce27ee2 | ||
|
|
9412c8e1e9 | ||
|
|
8a44a44688 | ||
|
|
40d8e65762 | ||
|
|
5b7b29ee3f | ||
|
|
1187cac5e1 | ||
|
|
ed81c076f2 | ||
|
|
aed80a74fa | ||
|
|
99540cd90b | ||
|
|
2d382f2d67 | ||
|
|
2124df36ec | ||
|
|
76e95bd585 | ||
|
|
0e5606d493 | ||
|
|
eb7dfb5771 | ||
|
|
7c1118df7d | ||
|
|
3552c59ff3 | ||
|
|
3c9cae5d06 | ||
|
|
6a9e5c1921 | ||
|
|
b54a51e3ba | ||
|
|
9881dd2074 | ||
|
|
603b6e7390 | ||
|
|
81b24f61e8 | ||
|
|
a2fea36c79 | ||
|
|
c3e89967fb | ||
|
|
f2c4e52fee | ||
|
|
d167c8ca7c | ||
|
|
90b8c3cc1f | ||
|
|
bce1487338 | ||
|
|
8112d31ce9 | ||
|
|
eaaf0125d1 | ||
|
|
1fcaef7c7e | ||
|
|
78bd5aea1c | ||
|
|
72d4fa2bc9 | ||
|
|
857ad50509 | ||
|
|
4a5c0a6d21 | ||
|
|
80658c30da | ||
|
|
c5be360a48 | ||
|
|
771e0ee6a2 | ||
|
|
ebaba8fb41 | ||
|
|
f10416e85a | ||
|
|
6fb0b93240 | ||
|
|
9c56e4c1b6 | ||
|
|
4ccefd6d5e | ||
|
|
02c802159a | ||
|
|
118ea0f3fb | ||
|
|
84c6b12d06 | ||
|
|
08987dfa22 | ||
|
|
727970514d | ||
|
|
672fca3347 | ||
|
|
7a3922c2e7 | ||
|
|
5b8deed06b | ||
|
|
9c639eebd4 | ||
|
|
82069ea3f0 | ||
|
|
35193f5530 | ||
|
|
f40fcd7ac0 | ||
|
|
fc24426291 | ||
|
|
d4f32c3e7d | ||
|
|
39a1de956f | ||
|
|
adfadab4cf | ||
|
|
828d96f8f0 | ||
|
|
01fa179767 | ||
|
|
988e09e65e | ||
|
|
dba8f1810d | ||
|
|
dbce059ae8 | ||
|
|
86bdce8407 | ||
|
|
cec5c1b16b | ||
|
|
d5162328ec | ||
|
|
ce0bf3366d | ||
|
|
b9b4a8cd77 | ||
|
|
0c40057767 | ||
|
|
5679d355aa | ||
|
|
0a5dbf6230 | ||
|
|
b2059be966 | ||
|
|
ed53d655d3 | ||
|
|
7c0f5b20d6 | ||
|
|
cb1ed349bf | ||
|
|
6b6cbcf977 | ||
|
|
b3c7c45140 | ||
|
|
ef55ca525c | ||
|
|
e67a0d464b | ||
|
|
3098343360 | ||
|
|
4ea12deae7 | ||
|
|
ed3388ed6e | ||
|
|
7c82be904f | ||
|
|
53b9c031c9 | ||
|
|
a412951a30 | ||
|
|
0bc901a722 | ||
|
|
1fc40bf932 | ||
|
|
13e3862ca7 | ||
|
|
8fa80c1589 | ||
|
|
f0f5cea5d1 | ||
|
|
040c1e529a | ||
|
|
39272ab05c | ||
|
|
e784556330 | ||
|
|
f647d1a0bc | ||
|
|
5ada669f43 | ||
|
|
28a5f8574d | ||
|
|
7de6acad11 | ||
|
|
bee81d1a54 | ||
|
|
b9ecc0ccc6 | ||
|
|
eacf27452e | ||
|
|
7bccfa69a8 | ||
|
|
e8dee22ecf | ||
|
|
f3ebf35c75 | ||
|
|
acbb586e71 | ||
|
|
0d164486b4 | ||
|
|
11a8e49f05 | ||
|
|
9fd7851cb6 | ||
|
|
15eb2806bf | ||
|
|
5035975c41 | ||
|
|
c6846fd8db | ||
|
|
b38deb18cf | ||
|
|
3f7e7ca3a6 | ||
|
|
1394955447 | ||
|
|
b5693edc63 | ||
|
|
f4ef0eed09 | ||
|
|
70c4e42f74 | ||
|
|
77e3fc0ebc | ||
|
|
a91a54b5f1 | ||
|
|
1a04c13da8 | ||
|
|
de43060ef8 | ||
|
|
bdfcc5b530 | ||
|
|
f2259c3302 | ||
|
|
6aafef88bd | ||
|
|
39f58c03ff | ||
|
|
6c3c64f873 | ||
|
|
c8b39c5d4a | ||
|
|
3541b7cc63 | ||
|
|
eb4cbc0f81 | ||
|
|
4641ae6d2b | ||
|
|
2c7a5a97e4 | ||
|
|
10ec2f999a | ||
|
|
2e1aa079c1 | ||
|
|
4b9dbf00a8 | ||
|
|
e8e133b53d | ||
|
|
00b5ae11db | ||
|
|
2f7b6e14c0 | ||
|
|
cde22be4c9 | ||
|
|
013d02d726 | ||
|
|
5180ce527c | ||
|
|
ada09f7922 | ||
|
|
6bd365e771 | ||
|
|
afba7b9c11 | ||
|
|
bd0a7050f2 | ||
|
|
9d610f56f7 | ||
|
|
29e4ca0768 | ||
|
|
d59d6b0d0d | ||
|
|
676c408f06 | ||
|
|
c9ae89e350 | ||
|
|
1f71d10899 | ||
|
|
13146be57e | ||
|
|
6b34b2728e | ||
|
|
fdda813163 | ||
|
|
0eb963eb21 | ||
|
|
c1834d3500 | ||
|
|
508e519a34 | ||
|
|
8b189ed145 | ||
|
|
c316c040c5 | ||
|
|
74796201ec | ||
|
|
fc99eb7b34 | ||
|
|
f3f0b98755 | ||
|
|
0817629869 | ||
|
|
716ed16f34 | ||
|
|
16469d7282 | ||
|
|
1bae5968ad | ||
|
|
c457ccfa60 | ||
|
|
d6c386651d | ||
|
|
1bbb86eab5 | ||
|
|
5716ca933e | ||
|
|
011f4e317b | ||
|
|
2d886554c8 | ||
|
|
7a7854bf3f | ||
|
|
afe0c1bf86 | ||
|
|
2b1c94d965 | ||
|
|
f430f410f0 | ||
|
|
a405d4cc6f | ||
|
|
fff802b5bf | ||
|
|
c135b37b07 | ||
|
|
32224202d6 | ||
|
|
e8c0f031ac | ||
|
|
6a6b3af2d7 | ||
|
|
9f861a4547 | ||
|
|
c09ac713a3 | ||
|
|
940b88a641 | ||
|
|
f7d8f20c87 | ||
|
|
a19e11d552 | ||
|
|
7915f2631f | ||
|
|
bb6b984610 | ||
|
|
bc85dff27e | ||
|
|
39c159bae9 | ||
|
|
508796eaab | ||
|
|
59eb4a5a00 | ||
|
|
42f557ff38 | ||
|
|
4133bab280 | ||
|
|
38db35f1d6 | ||
|
|
9c266cc8e5 | ||
|
|
0c73be7c6e | ||
|
|
3224a8ecad | ||
|
|
5987703631 | ||
|
|
20f37607bb | ||
|
|
58a83a93e6 | ||
|
|
09d77bc2de | ||
|
|
cc17962c86 | ||
|
|
71eed72e21 | ||
|
|
027b8f36df | ||
|
|
bc70be35c2 | ||
|
|
645a7f3c96 | ||
|
|
28ebcd5007 | ||
|
|
ebe90fc447 | ||
|
|
0067d97f26 | ||
|
|
5cc5b7c40a | ||
|
|
23c8dea27b | ||
|
|
12882cfacf | ||
|
|
6479f5177b | ||
|
|
07af9978e2 | ||
|
|
6490a43492 | ||
|
|
73add1b428 | ||
|
|
76923d80d8 | ||
|
|
4d70a8737e | ||
|
|
2cba045013 | ||
|
|
11bcae4c57 | ||
|
|
b287a85124 | ||
|
|
f97d0d9e43 | ||
|
|
339b3c1b24 | ||
|
|
fcad52b145 | ||
|
|
69c19dca55 | ||
|
|
82bb8c2fd9 | ||
|
|
f5668dea51 | ||
|
|
9890e1fb2a | ||
|
|
42c6bdb4df | ||
|
|
dc4b0d21ea | ||
|
|
f9c6c98180 | ||
|
|
43b6547e1c | ||
|
|
542793260b | ||
|
|
0d52364eac | ||
|
|
6d088504bd | ||
|
|
6ba55ee377 | ||
|
|
3c725bf634 | ||
|
|
ca6c0bc8fd | ||
|
|
4d25083847 | ||
|
|
cfeaa189f9 | ||
|
|
d8365bfbcf | ||
|
|
82140baa69 | ||
|
|
697caaab81 | ||
|
|
7143fb8c47 | ||
|
|
39cd0d5034 | ||
|
|
68aa797720 | ||
|
|
72cfadd5e8 | ||
|
|
5341ee4472 | ||
|
|
f5f09fad6e | ||
|
|
e9aa85ad01 | ||
|
|
f3a8f47b0a | ||
|
|
cbaac01790 | ||
|
|
0b885548ab | ||
|
|
a684739b9c | ||
|
|
73ca5fb3d3 | ||
|
|
23e288aadc | ||
|
|
91349d62ee | ||
|
|
f5f8d1d84b | ||
|
|
f9ef126e03 | ||
|
|
5dc9ee9516 | ||
|
|
89c55ba8fe | ||
|
|
d917f60352 | ||
|
|
64269e08c0 | ||
|
|
313b79538e | ||
|
|
4b60ee5361 | ||
|
|
482ce3bcd6 | ||
|
|
99914c50fd | ||
|
|
fe7e32dc82 | ||
|
|
6fc51d879b | ||
|
|
cc8e15748b | ||
|
|
ac62f26dfd | ||
|
|
0bdb2a16bc | ||
|
|
fb62e6b5a2 | ||
|
|
935cd7f706 | ||
|
|
480fc6c437 | ||
|
|
d13725ce33 | ||
|
|
dc8df56976 | ||
|
|
a6412f3f23 | ||
|
|
b3131496c6 | ||
|
|
27d43384c5 | ||
|
|
91300c1c5c | ||
|
|
820e5c667b | ||
|
|
8a0ff1153e | ||
|
|
a34090502d | ||
|
|
806dfc804a | ||
|
|
bd6026384a | ||
|
|
f506966abc | ||
|
|
9350bb9b9a | ||
|
|
3dca1a834c | ||
|
|
18fe8cd9f2 | ||
|
|
5ad02ae2e5 | ||
|
|
b6e4b0e557 | ||
|
|
d52d01924a | ||
|
|
8bf8a0328e | ||
|
|
b188c5790c | ||
|
|
9abee93328 | ||
|
|
151aeb9c06 | ||
|
|
699a25939f | ||
|
|
db3cb2aac1 | ||
|
|
eb9649db4e | ||
|
|
9e24064e35 | ||
|
|
14a6cfb5c6 | ||
|
|
0085b6f1e6 | ||
|
|
c04e58498d | ||
|
|
bb73933e1e | ||
|
|
82e738cc53 | ||
|
|
b5d6b93869 | ||
|
|
809fe78f82 | ||
|
|
28001213d4 | ||
|
|
76617a3c97 | ||
|
|
2b2ab864d1 | ||
|
|
70175f8c28 | ||
|
|
109842502a | ||
|
|
262e82a367 | ||
|
|
147a1359cd | ||
|
|
f5e7751835 | ||
|
|
ca26264d01 | ||
|
|
75a1bf967c | ||
|
|
c51e1b9eef | ||
|
|
77aac02b43 | ||
|
|
0b513768fb | ||
|
|
6478400cba | ||
|
|
74b72375cb | ||
|
|
53bf6085dc | ||
|
|
0a6632de4e | ||
|
|
8ec31df139 | ||
|
|
b7ece9f9b8 | ||
|
|
9091e54fda | ||
|
|
81a6a7cbf6 | ||
|
|
a1fb8442e3 | ||
|
|
0284b6a8e9 | ||
|
|
12294a6e5a | ||
|
|
50f2ea66c8 | ||
|
|
14687d09ba | ||
|
|
e543477c2e | ||
|
|
cfd233039e | ||
|
|
069fe195e0 | ||
|
|
6828231c28 | ||
|
|
1b0b3a2b1e | ||
|
|
9de58279a5 | ||
|
|
c6095cd72e | ||
|
|
52d89b2f5d | ||
|
|
1371ba5f5e | ||
|
|
ea658a174d | ||
|
|
b6c76a5e39 | ||
|
|
a47ba3474c | ||
|
|
3beceb90ec | ||
|
|
a9e41960a1 | ||
|
|
91e51a24c8 | ||
|
|
ebdfcbd18e | ||
|
|
efec26d0af | ||
|
|
b25325912a | ||
|
|
7d661ab80d | ||
|
|
2d4e769a25 | ||
|
|
6bb4c6e2f0 | ||
|
|
ae8c9f5a6b | ||
|
|
f353b2d9ae | ||
|
|
8f5036e769 | ||
|
|
50f9f379e9 | ||
|
|
6177571e4d | ||
|
|
b541d4c257 | ||
|
|
e89b32a3f4 | ||
|
|
ec8e82aaca | ||
|
|
d4cc142f64 | ||
|
|
f5538698d3 | ||
|
|
40720fb3ea | ||
|
|
5502297fce | ||
|
|
f70acfe893 | ||
|
|
dd8b0dba54 | ||
|
|
987cfde91f | ||
|
|
f55e5e26cd | ||
|
|
2b96abbef4 | ||
|
|
af38d5ab0c | ||
|
|
fc89b30e8a | ||
|
|
791fab688a | ||
|
|
c9b0832899 | ||
|
|
fa1b0ac32c | ||
|
|
75f0791965 | ||
|
|
c91c5c7493 | ||
|
|
299a654e97 | ||
|
|
494e52d8f0 | ||
|
|
3b7014d563 | ||
|
|
be0a0b4ac8 | ||
|
|
9ec3d3673e | ||
|
|
002198d3d3 | ||
|
|
b18a1d5217 | ||
|
|
08e95c08ca | ||
|
|
5a9f01d473 | ||
|
|
8efc51bc29 | ||
|
|
8bad30cd59 | ||
|
|
7f0447514c | ||
|
|
80893be68b | ||
|
|
091369915b | ||
|
|
e13593f29a | ||
|
|
d1dbba2d3a | ||
|
|
62d1a0c104 | ||
|
|
bb0d7bf6dc | ||
|
|
186c30d2ac | ||
|
|
35276c3101 | ||
|
|
dfaedb76f1 | ||
|
|
5a4b0a18ef | ||
|
|
f75280e4a3 | ||
|
|
a03d884ccc | ||
|
|
9968d708f1 | ||
|
|
381e76511d | ||
|
|
c688970b32 | ||
|
|
49b17d31be | ||
|
|
d3064579f4 | ||
|
|
92f4858323 | ||
|
|
d2c6cecca6 | ||
|
|
5bfdd75738 | ||
|
|
78f4fa7db9 | ||
|
|
20d6fbae48 | ||
|
|
2c2a1ed042 | ||
|
|
1e609acbaf | ||
|
|
3aaecca989 | ||
|
|
1c26c9e376 | ||
|
|
a51416a4af | ||
|
|
e843f7ef1f | ||
|
|
d333acabea | ||
|
|
386a02588b | ||
|
|
c8540ddba7 | ||
|
|
6fc22e5432 | ||
|
|
733b89bff5 | ||
|
|
bc17171c02 | ||
|
|
3b66fcada7 | ||
|
|
7139a27bf1 | ||
|
|
f585197e52 | ||
|
|
e5c25c395f | ||
|
|
7f5bd98a2e | ||
|
|
93d5254b3f | ||
|
|
6018995534 | ||
|
|
792c720c13 | ||
|
|
c40e255f3b | ||
|
|
d9ea64fac7 | ||
|
|
5a7272ff12 | ||
|
|
1b666cd25b | ||
|
|
db0cd8efb4 | ||
|
|
ea8aced2e6 | ||
|
|
e92113bd57 | ||
|
|
b4134b7774 | ||
|
|
fa0bda7b69 | ||
|
|
3ef4e1f6b7 | ||
|
|
e02e47c48e | ||
|
|
d23becb910 | ||
|
|
8504b78c76 | ||
|
|
b9e67635f4 | ||
|
|
46cd86e66a | ||
|
|
649a4fc9cf | ||
|
|
52bad80af8 | ||
|
|
d5cfc91fc4 | ||
|
|
b58dcfb511 | ||
|
|
29a1548532 | ||
|
|
bac906ba5b | ||
|
|
f2c74dd014 | ||
|
|
82ff7c421d | ||
|
|
88903bc6f5 | ||
|
|
90ba755abc | ||
|
|
efaa3058c0 | ||
|
|
d0f759acca | ||
|
|
31b887807a | ||
|
|
8903cb1367 | ||
|
|
933d3a435d | ||
|
|
a0d7b987ca | ||
|
|
a453df3503 | ||
|
|
75c103ccc9 | ||
|
|
198f145821 | ||
|
|
f818936012 | ||
|
|
dba6bf5ae9 | ||
|
|
3ae2dffb4d | ||
|
|
eaaef0d0f5 | ||
|
|
df42a2d149 | ||
|
|
e7d838ac2a | ||
|
|
9dfb2b8f2c | ||
|
|
dfb5463c94 | ||
|
|
04278b6cbf | ||
|
|
9e7aa423fd | ||
|
|
23f392efb2 | ||
|
|
6c56c8e298 | ||
|
|
8cee04dbcc | ||
|
|
f538e33dcf | ||
|
|
d8ebfbe020 | ||
|
|
7c2b4be954 | ||
|
|
6ec0fe7036 | ||
|
|
34d88144b2 | ||
|
|
d98f16333a | ||
|
|
8d224824ea | ||
|
|
d0b8de72e4 | ||
|
|
bfc898c2d8 | ||
|
|
f1ad2cf4d0 | ||
|
|
7a9d2c9725 | ||
|
|
bbef3b651e | ||
|
|
7f92bfd6b6 | ||
|
|
ca2cc4fc24 | ||
|
|
36e2e35ea8 | ||
|
|
7594226c50 | ||
|
|
acb5d7da38 | ||
|
|
2dfc91ac4d | ||
|
|
7375134474 | ||
|
|
175349a224 | ||
|
|
42314d3d75 | ||
|
|
a4f46ced49 | ||
|
|
48d736feef | ||
|
|
2e4a9e21f8 | ||
|
|
59766d289e | ||
|
|
319965a4af | ||
|
|
18ae6a4a0f | ||
|
|
e85eada522 | ||
|
|
def0a8b89d | ||
|
|
2662abedef | ||
|
|
3b79e5196a | ||
|
|
6d71fa96ad | ||
|
|
4761646616 | ||
|
|
bbf0a9a61c | ||
|
|
743eb81908 | ||
|
|
03d3351496 | ||
|
|
328001a417 | ||
|
|
f3dd8c2112 | ||
|
|
e311606cf6 | ||
|
|
c545b8d110 | ||
|
|
b6a7e04124 | ||
|
|
2c9ad0d486 | ||
|
|
53b14d2fb5 | ||
|
|
3e464b0b70 | ||
|
|
952a50665b | ||
|
|
68828a313b | ||
|
|
4932510e08 | ||
|
|
8fc64057d6 | ||
|
|
d4441b6815 | ||
|
|
ab34ce4e8e | ||
|
|
1b4248a0a3 | ||
|
|
b3c5566db1 | ||
|
|
2f4758a445 | ||
|
|
e368c200b1 | ||
|
|
9f7b1fd817 | ||
|
|
de8701a705 | ||
|
|
f3ae318132 | ||
|
|
17b184e5c8 | ||
|
|
8920982213 | ||
|
|
97dd9ed77c | ||
|
|
d61ba8e651 | ||
|
|
c877d1affb | ||
|
|
1c3df2b1fc | ||
|
|
eb32871904 | ||
|
|
c0fc9b045b | ||
|
|
dc79e6e539 | ||
|
|
caec94389d | ||
|
|
e7ca93173a | ||
|
|
352d77bf33 | ||
|
|
a9350953c6 | ||
|
|
c83676e02f | ||
|
|
ad7c5e48c5 | ||
|
|
118f93d049 | ||
|
|
7f3ac3a51c | ||
|
|
fc1bf5ed34 | ||
|
|
d8506053a9 | ||
|
|
059cbb37a4 | ||
|
|
e9f4719a40 | ||
|
|
112cff3621 | ||
|
|
f30a09f182 | ||
|
|
826d212a75 | ||
|
|
72029ca220 | ||
|
|
aa9a065d5b | ||
|
|
2e370e3731 | ||
|
|
ebddc7bec2 | ||
|
|
89ac22dd90 | ||
|
|
f362ecdb19 | ||
|
|
652ca769dc | ||
|
|
28eff398d1 | ||
|
|
011e1fa52d | ||
|
|
fb42797ab7 | ||
|
|
872271cb47 | ||
|
|
1a3f85fbc2 | ||
|
|
3675fdb915 | ||
|
|
ac0c339aa8 | ||
|
|
570e90acbc | ||
|
|
92f2025d7c | ||
|
|
6e61500eb1 | ||
|
|
b676366a1d | ||
|
|
b0f8d7ab78 | ||
|
|
0873fc4eb9 | ||
|
|
558528ff96 | ||
|
|
8f6f01e07f | ||
|
|
2427544972 | ||
|
|
8f70d40ac3 | ||
|
|
8cab079af6 | ||
|
|
e9813f99bf | ||
|
|
bfa50c5aa7 | ||
|
|
41c73ac6b7 | ||
|
|
5fd29a6593 | ||
|
|
6d4a0507f2 | ||
|
|
e3ccf8b51f | ||
|
|
3966a9a401 | ||
|
|
1ac0576af0 | ||
|
|
2500a32234 | ||
|
|
5831221c0e | ||
|
|
8c71037d3d | ||
|
|
ea9f3c0242 | ||
|
|
49bfeda3d3 | ||
|
|
30a1657155 | ||
|
|
8b9d9ef86d | ||
|
|
e170ecaeee | ||
|
|
12447e42ff | ||
|
|
0edd4864d2 | ||
|
|
881fae382a | ||
|
|
2f24c45c4c | ||
|
|
a4055e2f49 | ||
|
|
71eb30c4b6 | ||
|
|
e15b11dc7e | ||
|
|
6eaffd514d | ||
|
|
45902ae012 | ||
|
|
baff8dd043 | ||
|
|
e625bc9adb | ||
|
|
81ec977e6e | ||
|
|
f5ee77519e | ||
|
|
baf3b7d276 | ||
|
|
3d6ad9c3ca | ||
|
|
08b567e3d9 | ||
|
|
1d9b3b00a7 | ||
|
|
f943dc85a2 | ||
|
|
51f21a43fb | ||
|
|
4b73c35b34 | ||
|
|
e0dd708ce0 | ||
|
|
0d7ab122d5 | ||
|
|
17f49e77e5 | ||
|
|
f8a6c8a415 | ||
|
|
a68802b3b5 | ||
|
|
8e1e937808 | ||
|
|
f0759ffda0 | ||
|
|
408e9dc85e | ||
|
|
f5db5d183b | ||
|
|
d433c7a0ed | ||
|
|
9fbdf70dc2 | ||
|
|
56c0c00840 | ||
|
|
70c32787d6 | ||
|
|
8746fafc14 | ||
|
|
ce9d991a13 | ||
|
|
f5ccc0e09c | ||
|
|
f2ff77d554 | ||
|
|
1434e788ee | ||
|
|
f22194d78b | ||
|
|
edbea372e9 | ||
|
|
b0eadadc5c | ||
|
|
48bc67428b | ||
|
|
40e6604d16 | ||
|
|
2d22e9cabe | ||
|
|
bc44b83819 | ||
|
|
5d395a2dd0 | ||
|
|
fcf9515bff | ||
|
|
dc2f1280ed | ||
|
|
ac53b3ed97 | ||
|
|
f9708e874a | ||
|
|
8722e72f8d | ||
|
|
de2a06aec1 | ||
|
|
c59e05bb09 | ||
|
|
75842df0d4 | ||
|
|
689be5f2d9 | ||
|
|
26da4f306d | ||
|
|
3f43b205d3 | ||
|
|
494db6a14a | ||
|
|
7e0399a8be | ||
|
|
aac488d7e3 | ||
|
|
51e9d56b89 | ||
|
|
cd90f0beb0 | ||
|
|
23bb932785 | ||
|
|
19fe73b388 | ||
|
|
716e166b11 | ||
|
|
924760273c | ||
|
|
8095798a04 | ||
|
|
51c301ec56 | ||
|
|
30dfefb24d | ||
|
|
291fbe7bc4 | ||
|
|
814ed77d7f | ||
|
|
eb40ea830f | ||
|
|
249f5d94d6 | ||
|
|
db91889f0f | ||
|
|
0eebd4a00d | ||
|
|
8e25de6050 | ||
|
|
166aa02b01 | ||
|
|
6765a17545 | ||
|
|
05b9ecbb34 | ||
|
|
47f453e494 | ||
|
|
c94e976f43 | ||
|
|
ff71e70360 | ||
|
|
3c9552a14b | ||
|
|
bb4c5150b5 | ||
|
|
64cbab5104 | ||
|
|
690c05ea64 | ||
|
|
80d728c233 | ||
|
|
2c8810d7d3 | ||
|
|
7d348440d8 | ||
|
|
ea1d876d93 | ||
|
|
cac00086c9 | ||
|
|
04a25fc4e3 | ||
|
|
ec6d5acc18 | ||
|
|
0a74213eae | ||
|
|
3230554b0d | ||
|
|
8a2ddcdf30 | ||
|
|
9dd4150e7c | ||
|
|
5786bb3e1b | ||
|
|
9e3e86f0d0 | ||
|
|
3e2dfee431 | ||
|
|
18ba724505 | ||
|
|
d50ba01892 | ||
|
|
b05e924f3b | ||
|
|
83e6d4400c | ||
|
|
a6944582a3 | ||
|
|
c9f124c9b9 | ||
|
|
06d7828e06 | ||
|
|
4fed48eae1 | ||
|
|
977fcd01e0 | ||
|
|
454264ba31 | ||
|
|
d84b63453f | ||
|
|
319b3e68bb | ||
|
|
2ffd779324 | ||
|
|
b64582b456 | ||
|
|
7c483adfbb | ||
|
|
f22c4899fd | ||
|
|
9f267a44ee | ||
|
|
1ee4f5db15 | ||
|
|
292853fd57 | ||
|
|
ce2ad32efc | ||
|
|
3ecb54b4e3 | ||
|
|
5e55182b90 | ||
|
|
effb311742 | ||
|
|
ba4ed579df | ||
|
|
4892fe47e6 | ||
|
|
4521fa9e29 | ||
|
|
648d092e88 | ||
|
|
808809b37a | ||
|
|
a57096e613 | ||
|
|
7e9c04cd65 | ||
|
|
3b01f968b3 | ||
|
|
1b13728df3 | ||
|
|
3dac7fc597 | ||
|
|
3c44006ccb | ||
|
|
5097f57855 | ||
|
|
94a13aabf0 | ||
|
|
a4851914d0 | ||
|
|
13b9a9207d | ||
|
|
a11eb4ba35 | ||
|
|
67423b057d | ||
|
|
755d9f0520 | ||
|
|
995147f444 | ||
|
|
1854349ecc | ||
|
|
87cbeacecd | ||
|
|
870c7dbe5c | ||
|
|
97505d1367 | ||
|
|
974c351802 | ||
|
|
914427f852 | ||
|
|
971e839201 | ||
|
|
1d75cd8a33 | ||
|
|
d6dec0c1c7 | ||
|
|
d4cf5430e8 | ||
|
|
8cf93ab999 | ||
|
|
b3d961a3dc | ||
|
|
f86391f839 | ||
|
|
9ddfa0a633 | ||
|
|
e14f93d429 | ||
|
|
4ea0030f78 | ||
|
|
23b5e5873d | ||
|
|
5c45aa6b38 | ||
|
|
8fc080898b | ||
|
|
6cd8e0e336 | ||
|
|
f615af4a88 | ||
|
|
2b13af4638 | ||
|
|
9fd60c3fa8 | ||
|
|
924ca02016 | ||
|
|
bb8c4e86c1 | ||
|
|
fed7665a0a | ||
|
|
9358a76d89 | ||
|
|
0223999a04 | ||
|
|
a880bc908e | ||
|
|
5192034c02 | ||
|
|
01182d3708 | ||
|
|
52daccb74e | ||
|
|
a96478c496 | ||
|
|
829e4a5e28 | ||
|
|
95970cd7b8 | ||
|
|
00d09cf386 | ||
|
|
a138bed95e | ||
|
|
a08185911d | ||
|
|
9ee795a694 | ||
|
|
68ba514297 | ||
|
|
4463a4eade | ||
|
|
e6bedabef0 | ||
|
|
7a4d3c0cb6 | ||
|
|
c4eeaad676 | ||
|
|
e6a92af806 | ||
|
|
e28285155e | ||
|
|
6b7a33c435 | ||
|
|
c4120dc132 | ||
|
|
70d9972584 | ||
|
|
d4254bfd1f | ||
|
|
01ddfef149 | ||
|
|
b5c55d10d3 | ||
|
|
897609c667 | ||
|
|
a092e3f9b2 | ||
|
|
89228c5b4b | ||
|
|
22b4315a26 | ||
|
|
03b352cbcd | ||
|
|
9754fffbc4 | ||
|
|
d90b7444c8 | ||
|
|
9acad29a24 | ||
|
|
17b0471e73 | ||
|
|
4e0bd32d50 | ||
|
|
53c3153229 | ||
|
|
9fc3ef4dd1 | ||
|
|
856d6176ca | ||
|
|
52da307fa5 | ||
|
|
64ded60b5e | ||
|
|
2631de8977 | ||
|
|
4e1869b635 | ||
|
|
901796f4ac | ||
|
|
4ee086a52a | ||
|
|
a06d1146d8 | ||
|
|
1deee71e51 | ||
|
|
7af3c46f35 | ||
|
|
7f50f4c184 | ||
|
|
921f9f73c3 | ||
|
|
e53c0db60d | ||
|
|
fcf37e6d5e | ||
|
|
6525969a56 | ||
|
|
95fd89808c | ||
|
|
28f490ddee | ||
|
|
59bc07cde5 | ||
|
|
4dc2f896a2 | ||
|
|
974f95f25e | ||
|
|
e1533a12e3 | ||
|
|
f823f1e8a5 | ||
|
|
07c789fc8b | ||
|
|
bffc51401d | ||
|
|
1fa01745a3 | ||
|
|
c834d34bae | ||
|
|
2b3b1aeb19 | ||
|
|
213ee1d8b6 | ||
|
|
cd8a29ee1a | ||
|
|
da7c39263c | ||
|
|
5b6cba3b9e | ||
|
|
4834438042 | ||
|
|
1c0717e3db | ||
|
|
388d77dec7 | ||
|
|
128dee0872 | ||
|
|
5fbaa3d390 | ||
|
|
29cc77383b | ||
|
|
e8b62484a9 | ||
|
|
8565939904 | ||
|
|
433da57015 | ||
|
|
d099e24f18 | ||
|
|
e4b338c9a4 | ||
|
|
aef8975332 | ||
|
|
db9ac1f68e | ||
|
|
434a3c017b | ||
|
|
8d0d8c3910 | ||
|
|
dc86a3feec | ||
|
|
85b96a33aa | ||
|
|
7ac47d55e9 | ||
|
|
2bfe11c1a4 | ||
|
|
5a2eddbce1 | ||
|
|
caf0ba4747 | ||
|
|
a1795d18fd | ||
|
|
4053273fe6 | ||
|
|
117e858df3 | ||
|
|
0954fd50fb | ||
|
|
3a03d08d22 | ||
|
|
633d93aa8c | ||
|
|
4bdd8c1df5 | ||
|
|
4e212e3d60 | ||
|
|
b011a44814 | ||
|
|
ffac116e1f | ||
|
|
31012abf1f | ||
|
|
8c8e5f8a1f | ||
|
|
7350e205ab | ||
|
|
fea32af6e9 | ||
|
|
4d0b9f9299 | ||
|
|
9bac79692d | ||
|
|
6684dfd8a0 | ||
|
|
010e5ca2a6 | ||
|
|
14f30b300f | ||
|
|
e26c6f7a6e | ||
|
|
dab8b03a8d | ||
|
|
ed01de181f | ||
|
|
a6e1da5a43 | ||
|
|
2b2dd0b46b | ||
|
|
79a1c6a166 | ||
|
|
8543d513a9 | ||
|
|
f421bee148 | ||
|
|
cd3bd8a0cb | ||
|
|
c72b4d92ab | ||
|
|
49904c0945 | ||
|
|
7e469459c7 | ||
|
|
5626ff93f7 | ||
|
|
dac97c72ce | ||
|
|
fe0b292d45 | ||
|
|
67647df83a | ||
|
|
e6c18e6ac3 |
77
.env.dist
77
.env.dist
@@ -1,77 +0,0 @@
|
|||||||
# Mailu main configuration file
|
|
||||||
#
|
|
||||||
# Most configuration variables can be modified through the Web interface,
|
|
||||||
# these few settings must however be configured before starting the mail
|
|
||||||
# server and require a restart upon change.
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Common configuration variables
|
|
||||||
###################################
|
|
||||||
|
|
||||||
# Set this to the path where Mailu data and configuration is stored
|
|
||||||
ROOT=/mailu
|
|
||||||
|
|
||||||
# Mailu version to run (stable, 1.0, 1.1, etc. or latest)
|
|
||||||
VERSION=stable
|
|
||||||
|
|
||||||
# Set to a randomly generated 16 bytes string
|
|
||||||
SECRET_KEY=ChangeMeChangeMe
|
|
||||||
|
|
||||||
# Address where listening ports should bind
|
|
||||||
BIND_ADDRESS=127.0.0.1
|
|
||||||
|
|
||||||
# Main mail domain
|
|
||||||
DOMAIN=mailu.io
|
|
||||||
|
|
||||||
# Exposed mail-server hostname
|
|
||||||
HOSTNAME=mail.mailu.io
|
|
||||||
|
|
||||||
# Postmaster local part (will append the main mail domain)
|
|
||||||
POSTMASTER=admin
|
|
||||||
|
|
||||||
# Docker-compose project name, this will prepended to containers names.
|
|
||||||
COMPOSE_PROJECT_NAME=mailu
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Optional features
|
|
||||||
###################################
|
|
||||||
|
|
||||||
# Choose which frontend Web server to run if any (value: nginx, none)
|
|
||||||
FRONTEND=none
|
|
||||||
|
|
||||||
# Choose which webmail to run if any (values: roundcube, rainloop, none)
|
|
||||||
WEBMAIL=none
|
|
||||||
|
|
||||||
# Expose the admin interface in publicly (values: yes, no)
|
|
||||||
EXPOSE_ADMIN=no
|
|
||||||
|
|
||||||
# Use Letsencrypt to generate a TLS certificate (uncomment to enable)
|
|
||||||
# ENABLE_CERTBOT=True
|
|
||||||
|
|
||||||
# Dav server implementation (value: radicale, none)
|
|
||||||
WEBDAV=none
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Mail settings
|
|
||||||
###################################
|
|
||||||
|
|
||||||
# Message size limit in bytes
|
|
||||||
# Default: accept messages up to 50MB
|
|
||||||
MESSAGE_SIZE_LIMIT=50000000
|
|
||||||
|
|
||||||
# Networks granted relay permissions, make sure that you include your Docker
|
|
||||||
# internal network (default to 172.17.0.0/16)
|
|
||||||
RELAYNETS=172.16.0.0/12
|
|
||||||
|
|
||||||
# Will relay all outgoing mails if configured
|
|
||||||
RELAYHOST=
|
|
||||||
|
|
||||||
# Fetchmail delay
|
|
||||||
FETCHMAIL_DELAY=600
|
|
||||||
|
|
||||||
###################################
|
|
||||||
# Developers
|
|
||||||
###################################
|
|
||||||
|
|
||||||
# Uncomment this to enable debugging globally
|
|
||||||
# DEBUG=True
|
|
||||||
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,12 +1,15 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
*.mo
|
*.mo
|
||||||
__pycache__
|
__pycache__
|
||||||
/admin/lib
|
|
||||||
/admin/bin
|
|
||||||
/admin/include
|
|
||||||
pip-selfcheck.json
|
pip-selfcheck.json
|
||||||
|
/core/admin/lib*
|
||||||
|
/core/admin/bin
|
||||||
|
/core/admin/include
|
||||||
|
/docs/lib*
|
||||||
|
/docs/bin
|
||||||
|
/docs/include
|
||||||
|
/docs/_build
|
||||||
/.env
|
/.env
|
||||||
/data
|
|
||||||
/docker-compose.mac.yml
|
|
||||||
/docker-compose.yml
|
/docker-compose.yml
|
||||||
/.idea
|
/.idea
|
||||||
|
/.vscode
|
||||||
|
|||||||
25
.mergify.yml
Normal file
25
.mergify.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
pull_request_rules:
|
||||||
|
- name: Successful travis and 2 approved reviews
|
||||||
|
conditions:
|
||||||
|
- status-success=continuous-integration/travis-ci/pr
|
||||||
|
- label!=["status"/wip","status/blocked"]
|
||||||
|
- "#approved-reviews-by>=2"
|
||||||
|
actions:
|
||||||
|
merge:
|
||||||
|
method: merge
|
||||||
|
strict: true
|
||||||
|
dismiss_reviews:
|
||||||
|
approved: true
|
||||||
|
|
||||||
|
- name: Trusted author, successful travis and 1 approved review
|
||||||
|
conditions:
|
||||||
|
- author~=(kaiyou|muhlemmer|mildred|HorayNarea|adi90x|hoellen|ofthesun9)
|
||||||
|
- status-success=continuous-integration/travis-ci/pr
|
||||||
|
- label!=["status"/wip","status/blocked","review/need2"]
|
||||||
|
- "#approved-reviews-by>=1"
|
||||||
|
actions:
|
||||||
|
merge:
|
||||||
|
method: merge
|
||||||
|
strict: true
|
||||||
|
dismiss_reviews:
|
||||||
|
approved: true
|
||||||
37
.travis.yml
Normal file
37
.travis.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
sudo: required
|
||||||
|
services: docker
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- docker-ce
|
||||||
|
|
||||||
|
env:
|
||||||
|
- MAILU_VERSION=$TRAVIS_BRANCH
|
||||||
|
language: python
|
||||||
|
python:
|
||||||
|
- "3.6"
|
||||||
|
install:
|
||||||
|
- pip install -r tests/requirements.txt
|
||||||
|
- sudo curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
||||||
|
- sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- docker-compose -v
|
||||||
|
- docker-compose -f tests/build.yml build
|
||||||
|
- sudo -- sh -c 'mkdir -p /mailu && cp -r tests/certs /mailu && chmod 600 /mailu/certs/*'
|
||||||
|
|
||||||
|
script:
|
||||||
|
# test.py, test name and timeout between start and tests.
|
||||||
|
- python tests/compose/test.py core 1
|
||||||
|
- python tests/compose/test.py fetchmail 1
|
||||||
|
- travis_wait python tests/compose/test.py filters 10
|
||||||
|
- python tests/compose/test.py rainloop 1
|
||||||
|
- python tests/compose/test.py roundcube 1
|
||||||
|
- python tests/compose/test.py webdav 1
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
provider: script
|
||||||
|
script: bash tests/deploy.sh
|
||||||
|
on:
|
||||||
|
all_branches: true
|
||||||
|
condition: -n $DOCKER_UN
|
||||||
14
AUTHORS.md
14
AUTHORS.md
@@ -6,7 +6,19 @@ If you contribute time, code or resources to the project, feel free to add
|
|||||||
your name, pseudonym, and any contact information you feel is relevant to
|
your name, pseudonym, and any contact information you feel is relevant to
|
||||||
this file.
|
this file.
|
||||||
|
|
||||||
|
As it is almost impossible to distinguish code contributions from various
|
||||||
|
authors, all are considered equal contributors and all must agree with
|
||||||
|
any change in the software license.
|
||||||
|
|
||||||
Other contributors:
|
Other contributors:
|
||||||
|
|
||||||
- Angedestenebres - Tests on development version & Current version
|
- "Angedestenebres" - Tests on development version & Current version
|
||||||
- Stefan Auditor - German translation on POEditor.com
|
- Stefan Auditor - German translation on POEditor.com
|
||||||
|
- [Carlos Bernárdez](https://github.com/jkarlosb) - [[Contributions in Mailu]](https://github.com/Mailu/Mailu/commits?author=jkarlosb)
|
||||||
|
- Felipe Lubra - Portugese translation
|
||||||
|
- Mélanie Henry - German translation
|
||||||
|
- Maxime Saddok - French translation
|
||||||
|
- "ofthesun9" - French translation
|
||||||
|
- "SunMar" - Dutch translation
|
||||||
|
- "Marty Hou" - Chinese Simple translation
|
||||||
|
- [Thomas Sänger](https://github.com/HorayNarea) - German translation
|
||||||
|
|||||||
59
CHANGELOG.md
59
CHANGELOG.md
@@ -5,6 +5,65 @@ Notable changes to this project are documented in the current file. For more
|
|||||||
details about individual changes, see the Git log. You should read this before
|
details about individual changes, see the Git log. You should read this before
|
||||||
upgrading Freposte.io as some changes will include useful notes.
|
upgrading Freposte.io as some changes will include useful notes.
|
||||||
|
|
||||||
|
v1.5.1 - 2017-11-21
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- Global: add a DNS-based instance count tracker, use the ``DISABLE_STATISTICS``
|
||||||
|
setting to disable it.
|
||||||
|
- Global: specify container dependencies in the Compose configuration, update
|
||||||
|
your ``docker-compose.yml``.
|
||||||
|
- Feature: add a *mail* TLS flavor that only enforces TLS for email connections.
|
||||||
|
- Feature: welcome emails, see the configuration for details
|
||||||
|
- Feature: end date for vacations, see the automatic reply page
|
||||||
|
- L10N: dutch loca is now available
|
||||||
|
- L10N: swedish loca is now available
|
||||||
|
- L10N: italian loca is now partially available
|
||||||
|
- L10N: chinese loca is now available
|
||||||
|
- Upstream: upgrade to Roundcube 1.3.3
|
||||||
|
- Enhancement: use the alpine image for redis
|
||||||
|
- Enhancement: use a dynamic worker count for Nginx
|
||||||
|
- Bug: fix the pop3 proxy
|
||||||
|
- Bug: fix DNS resolution bugs in the frontend
|
||||||
|
- Bug: fix Webdav authentication
|
||||||
|
- Bug: properly honor enabled features (imap and pop3) per user
|
||||||
|
|
||||||
|
v1.5.0 - 2017-11-05
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
- Global: clean the ``.env`` file and change many options, *make sure
|
||||||
|
that you download the latest ``.env`` and apply your settings when migrating.*
|
||||||
|
- Global: clean the Compose configuration, *make sure that you download the
|
||||||
|
latest ``docker-compose.yml`` when migrating.*
|
||||||
|
- Global: nginx is now a reverse proxy for HTTP, SMTP, IMAP and POP.
|
||||||
|
- Global: the new Rainloop webmail is available.
|
||||||
|
- Global: the mail stack now supports IPv6.
|
||||||
|
- Global: most images moved to Alpine.
|
||||||
|
- Global: the documentation moved to a Sphinx directory.
|
||||||
|
- Global: deprecate rmilter and use rspamd proxy instead.
|
||||||
|
- Feature: multiple TLS flavors are available, see the ``TLS_FLAVOR`` setting.
|
||||||
|
- Feature: alternative domains now act as a copy of a given domain.
|
||||||
|
- Feature: relay domains now act as a mail relay (e.g. for backup servers).
|
||||||
|
- Feature: the server now supports multiple public names, with letsencrypt.
|
||||||
|
- Feature: authentication tokens can be generated per client.
|
||||||
|
- Feature: the manage.py CLI has many options to import and manage a setup.
|
||||||
|
- Feature: add overrides for the Postfix configuration.
|
||||||
|
- Feature: allow to keep or discard forwarded messages.
|
||||||
|
- Feature: make password encryption scheme configurable.
|
||||||
|
- Feature: make DMARC rua configurable.
|
||||||
|
- Feature: Clamav may now be disabled completely.
|
||||||
|
- Feature: support a configurable recipient delimiter for address extension.
|
||||||
|
- Feature: the admin interface points to the webmail and a configurable site.
|
||||||
|
- L10N: portugese loca is now available
|
||||||
|
- Upstream: upgrade to Roundcube 1.3.2
|
||||||
|
- Upstream: upgrade to Rainloop 1.11.3
|
||||||
|
- Upstream: upgrade to Dovecot 2.2.33
|
||||||
|
- Upstream: upgrade to Postfix 3.2.4
|
||||||
|
- Bug: the Postfix queue is now persisted.
|
||||||
|
- Bug: certbot now handle renewal properly.
|
||||||
|
- Bug: fix sender and recipient restrictions for antispam features.
|
||||||
|
- Bug: webmails now handle large attachments.
|
||||||
|
- Bug: dhparam are now generated properly on the frontend.
|
||||||
|
|
||||||
v1.4.0 - 2017-02-12
|
v1.4.0 - 2017-02-12
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|||||||
46
CODE_OF_CONDUCT.md
Normal file
46
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
* Accepting that not all community members share our view of the project
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at team@mailu.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
|
[homepage]: http://contributor-covenant.org
|
||||||
|
[version]: http://contributor-covenant.org/version/1/4/
|
||||||
7
CONTRIBUTING.md
Normal file
7
CONTRIBUTING.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
This project is open source, and your contributions are all welcome. There are mostly three different ways one can contribute to the project:
|
||||||
|
|
||||||
|
1. use Mailu, either on test or on production instances, and report meaningful bugs when you find some;
|
||||||
|
2. contribute code and/or configuration to the repository (see [the development guidelines](https://mailu.io/contributors/guide.html) for details);
|
||||||
|
3. contribute localization to your native language (see [the localization docs](https://mailu.io/contributors/localization.html) for details);
|
||||||
|
|
||||||
|
Either way, keep in mind that the code you write or the translation you produce muts be licensed under the same conditions as the project itself. Additionally, all contributors are considered equal co-authors of the project.
|
||||||
57
README.md
57
README.md
@@ -1,28 +1,16 @@
|
|||||||

|
<p align="leftr"><img src="docs/assets/logomark.png" alt="Mailu" height="200px"></p>
|
||||||
|
|
||||||
[Join us and chat about the project.](https://riot.im/app/#/room/#mailu:tedomum.net)
|
|
||||||
|
|
||||||
Mailu
|
Mailu is a simple yet full-featured mail server as a set of Docker images.
|
||||||
=====
|
It is free software (both as in free beer and as in free speech), open to
|
||||||
|
suggestions and external contributions. The project aims at providing people
|
||||||
|
with an easily setup, easily maintained and full-featured mail server while
|
||||||
|
not shipping proprietary software nor unrelated features often found in
|
||||||
|
popular groupware.
|
||||||
|
|
||||||
*This project used to be named Freeposte.io, the name was changed back in
|
Most of the documentation is available on our [Website](https://mailu.io),
|
||||||
October 2016.*
|
you can also [try our demo server](https://mailu.io/master/demo.html)
|
||||||
|
before setting up your own, and come [talk to us on Matrix](https://matrix.to/#/#mailu:tedomum.net).
|
||||||
Simple yet full-featured mail server as a set of Docker images.
|
|
||||||
The idea behing Mailu is identical to motivations that led to poste.io:
|
|
||||||
providing a simple and maintainable mail server that is painless to manage and
|
|
||||||
does not require more resources than necessary.
|
|
||||||
|
|
||||||
People from poste.io did an amazing job at accomplishing this ; any company
|
|
||||||
looking for a serious yet simple mail server with professional support should
|
|
||||||
turn to them.
|
|
||||||
|
|
||||||
This project is meant for free software supporters and hackers to reach the
|
|
||||||
same level of functionality and still be able to host a complete mail server
|
|
||||||
at little cost while running only FOSS, applying the KISS principle and being
|
|
||||||
able to fine-tune some details if needed.
|
|
||||||
|
|
||||||
[Try it out on our demo server](https://github.com/mail-u/mailu/wiki/Demo-server).
|
|
||||||
|
|
||||||
Features
|
Features
|
||||||
========
|
========
|
||||||
@@ -30,28 +18,15 @@ Features
|
|||||||
Main features include:
|
Main features include:
|
||||||
|
|
||||||
- **Standard email server**, IMAP and IMAP+, SMTP and Submission
|
- **Standard email server**, IMAP and IMAP+, SMTP and Submission
|
||||||
- **Web access**, multiple Webmails and adminitration interface
|
- **Advanced email features**, aliases, domain aliases, custom routing
|
||||||
|
- **Web access**, multiple Webmails and administration interface
|
||||||
- **User features**, aliases, auto-reply, auto-forward, fetched accounts
|
- **User features**, aliases, auto-reply, auto-forward, fetched accounts
|
||||||
- **Admin features**, global admins, per-domain delegation, quotas
|
- **Admin features**, global admins, announcements, per-domain delegation, quotas
|
||||||
- **Security**, enforced TLS, outgoing DKIM, anti-virus scanner
|
- **Security**, enforced TLS, Letsencrypt!, outgoing DKIM, anti-virus scanner
|
||||||
- **Antispam**, auto-learn, greylisting, DMARC and SPF
|
- **Antispam**, auto-learn, greylisting, DMARC and SPF
|
||||||
- **Freedom**, all FOSS components, no tracker included
|
- **Freedom**, all FOSS components, no tracker included
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Running a mail server
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Mailu runs on top of Docker for easy packaging and upgrades. All you need
|
|
||||||
is a proper system with Docker and Compose installed, then simply download
|
|
||||||
the ``docker-compose.yml`` and sample ``.env``, tune them to your needs and
|
|
||||||
fire up the mail server:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
For a detailed walktrough, see the [Setup Guide](https://github.com/mail-u/mailu/wiki/Setup-Guide).
|
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
============
|
============
|
||||||
@@ -60,5 +35,3 @@ Mailu is free software, open to suggestions and contributions. All
|
|||||||
components are free software and compatible with the MIT license. All
|
components are free software and compatible with the MIT license. All
|
||||||
specific configuration files, Dockerfiles and code are placed under the
|
specific configuration files, Dockerfiles and code are placed under the
|
||||||
MIT license.
|
MIT license.
|
||||||
|
|
||||||
For details, see the [Contributor Guide](https://github.com/mail-u/mailu/wiki/Contributors-Guide).
|
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
FROM python:3
|
|
||||||
|
|
||||||
RUN mkdir -p /app
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
COPY requirements.txt .
|
|
||||||
RUN pip install -r requirements.txt
|
|
||||||
|
|
||||||
COPY mailu ./mailu
|
|
||||||
COPY migrations ./migrations
|
|
||||||
COPY manage.py .
|
|
||||||
COPY start.sh /start.sh
|
|
||||||
|
|
||||||
RUN pybabel compile -d mailu/translations
|
|
||||||
|
|
||||||
CMD ["/start.sh"]
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
import flask
|
|
||||||
import flask_sqlalchemy
|
|
||||||
import flask_bootstrap
|
|
||||||
import flask_login
|
|
||||||
import flask_script
|
|
||||||
import flask_migrate
|
|
||||||
import flask_babel
|
|
||||||
|
|
||||||
import os
|
|
||||||
import docker
|
|
||||||
|
|
||||||
from apscheduler.schedulers import background
|
|
||||||
|
|
||||||
|
|
||||||
# Create application
|
|
||||||
app = flask.Flask(__name__, static_url_path='/admin/app_static')
|
|
||||||
|
|
||||||
default_config = {
|
|
||||||
'SQLALCHEMY_DATABASE_URI': 'sqlite:////data/main.db',
|
|
||||||
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
|
|
||||||
'SECRET_KEY': 'changeMe',
|
|
||||||
'DOCKER_SOCKET': 'unix:///var/run/docker.sock',
|
|
||||||
'HOSTNAME': 'mail.mailu.io',
|
|
||||||
'DOMAIN': 'mailu.io',
|
|
||||||
'POSTMASTER': 'postmaster',
|
|
||||||
'DEBUG': False,
|
|
||||||
'BOOTSTRAP_SERVE_LOCAL': True,
|
|
||||||
'DKIM_PATH': '/dkim/{domain}.{selector}.key',
|
|
||||||
'DKIM_SELECTOR': 'dkim',
|
|
||||||
'BABEL_DEFAULT_LOCALE': 'en',
|
|
||||||
'BABEL_DEFAULT_TIMEZONE': 'UTC',
|
|
||||||
'ENABLE_CERTBOT': False,
|
|
||||||
'CERTS_PATH': '/certs'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Load configuration from the environment if available
|
|
||||||
for key, value in default_config.items():
|
|
||||||
app.config[key] = os.environ.get(key, value)
|
|
||||||
|
|
||||||
# Setup components
|
|
||||||
flask_bootstrap.Bootstrap(app)
|
|
||||||
db = flask_sqlalchemy.SQLAlchemy(app)
|
|
||||||
migrate = flask_migrate.Migrate(app, db)
|
|
||||||
login_manager = flask_login.LoginManager()
|
|
||||||
login_manager.init_app(app)
|
|
||||||
babel = flask_babel.Babel(app)
|
|
||||||
translations = list(map(str, babel.list_translations()))
|
|
||||||
scheduler = background.BackgroundScheduler()
|
|
||||||
|
|
||||||
# Manager commnad
|
|
||||||
manager = flask_script.Manager(app)
|
|
||||||
manager.add_command('db', flask_migrate.MigrateCommand)
|
|
||||||
|
|
||||||
# Task scheduling
|
|
||||||
if not app.debug or os.environ.get('WERKZEUG_RUN_MAIN') == 'true':
|
|
||||||
scheduler.start()
|
|
||||||
|
|
||||||
# Babel configuration
|
|
||||||
@babel.localeselector
|
|
||||||
def get_locale():
|
|
||||||
return flask.request.accept_languages.best_match(translations)
|
|
||||||
|
|
||||||
# Certbot configuration
|
|
||||||
if app.config['ENABLE_CERTBOT']:
|
|
||||||
from mailu import certbot
|
|
||||||
|
|
||||||
# Finally setup the blueprint and redirect /
|
|
||||||
from mailu import admin
|
|
||||||
app.register_blueprint(admin.app, url_prefix='/admin')
|
|
||||||
|
|
||||||
@app.route("/")
|
|
||||||
def index():
|
|
||||||
return flask.redirect(flask.url_for("admin.index"))
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
from flask import Blueprint
|
|
||||||
from mailu import login_manager, db
|
|
||||||
|
|
||||||
import flask_login
|
|
||||||
|
|
||||||
|
|
||||||
app = Blueprint(
|
|
||||||
'admin', __name__,
|
|
||||||
template_folder='templates',
|
|
||||||
static_folder='static')
|
|
||||||
|
|
||||||
# Import models
|
|
||||||
from mailu.admin import models
|
|
||||||
|
|
||||||
# Register the login components
|
|
||||||
login_manager.login_view = "admin.login"
|
|
||||||
login_manager.user_loader(models.User.query.get)
|
|
||||||
|
|
||||||
@app.context_processor
|
|
||||||
def inject_user():
|
|
||||||
return dict(current_user=flask_login.current_user)
|
|
||||||
|
|
||||||
# Import views
|
|
||||||
from mailu.admin.views import \
|
|
||||||
admins, \
|
|
||||||
managers, \
|
|
||||||
base, \
|
|
||||||
aliases, \
|
|
||||||
users, \
|
|
||||||
domains, \
|
|
||||||
fetches
|
|
||||||
@@ -1,227 +0,0 @@
|
|||||||
from mailu.admin import db, dkim
|
|
||||||
from mailu import app
|
|
||||||
|
|
||||||
from sqlalchemy.ext import declarative
|
|
||||||
from passlib import context
|
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
import re
|
|
||||||
import time
|
|
||||||
import os
|
|
||||||
import glob
|
|
||||||
|
|
||||||
|
|
||||||
# Many-to-many association table for domain managers
|
|
||||||
managers = db.Table('manager',
|
|
||||||
db.Column('domain_name', db.String(80), db.ForeignKey('domain.name')),
|
|
||||||
db.Column('user_email', db.String(255), db.ForeignKey('user.email'))
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class CommaSeparatedList(db.TypeDecorator):
|
|
||||||
""" Stores a list as a comma-separated string, compatible with Postfix.
|
|
||||||
"""
|
|
||||||
|
|
||||||
impl = db.String
|
|
||||||
|
|
||||||
def process_bind_param(self, value, dialect):
|
|
||||||
if type(value) is not list:
|
|
||||||
raise TypeError("Shoud be a list")
|
|
||||||
for item in value:
|
|
||||||
if "," in item:
|
|
||||||
raise ValueError("No item should contain a comma")
|
|
||||||
return ",".join(value)
|
|
||||||
|
|
||||||
def process_result_value(self, value, dialect):
|
|
||||||
return filter(bool, value.split(","))
|
|
||||||
|
|
||||||
|
|
||||||
class Base(db.Model):
|
|
||||||
""" Base class for all models
|
|
||||||
"""
|
|
||||||
|
|
||||||
__abstract__ = True
|
|
||||||
|
|
||||||
created_at = db.Column(db.Date, nullable=False, default=datetime.now)
|
|
||||||
updated_at = db.Column(db.Date, nullable=True, onupdate=datetime.now)
|
|
||||||
comment = db.Column(db.String(255), nullable=True)
|
|
||||||
|
|
||||||
|
|
||||||
class Domain(Base):
|
|
||||||
""" A DNS domain that has mail addresses associated to it.
|
|
||||||
"""
|
|
||||||
__tablename__ = "domain"
|
|
||||||
|
|
||||||
name = db.Column(db.String(80), primary_key=True, nullable=False)
|
|
||||||
managers = db.relationship('User', secondary=managers,
|
|
||||||
backref=db.backref('manager_of'), lazy='dynamic')
|
|
||||||
max_users = db.Column(db.Integer, nullable=False, default=0)
|
|
||||||
max_aliases = db.Column(db.Integer, nullable=False, default=0)
|
|
||||||
max_quota_bytes = db.Column(db.Integer(), nullable=False, default=0)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def dkim_key(self):
|
|
||||||
file_path = app.config["DKIM_PATH"].format(
|
|
||||||
domain=self.name, selector=app.config["DKIM_SELECTOR"])
|
|
||||||
if os.path.exists(file_path):
|
|
||||||
with open(file_path, "rb") as handle:
|
|
||||||
return handle.read()
|
|
||||||
|
|
||||||
@dkim_key.setter
|
|
||||||
def dkim_key(self, value):
|
|
||||||
file_path = app.config["DKIM_PATH"].format(
|
|
||||||
domain=self.name, selector=app.config["DKIM_SELECTOR"])
|
|
||||||
with open(file_path, "wb") as handle:
|
|
||||||
handle.write(value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def dkim_publickey(self):
|
|
||||||
dkim_key = self.dkim_key
|
|
||||||
if dkim_key:
|
|
||||||
return dkim.strip_key(self.dkim_key).decode("utf8")
|
|
||||||
|
|
||||||
def generate_dkim_key(self):
|
|
||||||
self.dkim_key = dkim.gen_key()
|
|
||||||
|
|
||||||
def has_email(self, localpart):
|
|
||||||
for email in self.users + self.aliases:
|
|
||||||
if email.localpart == localpart:
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return self.name
|
|
||||||
|
|
||||||
def __eq__(self, other):
|
|
||||||
try:
|
|
||||||
return self.name == other.name
|
|
||||||
except AttributeError:
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
class Email(object):
|
|
||||||
""" Abstraction for an email address (localpart and domain).
|
|
||||||
"""
|
|
||||||
|
|
||||||
localpart = db.Column(db.String(80), nullable=False)
|
|
||||||
|
|
||||||
@declarative.declared_attr
|
|
||||||
def domain_name(cls):
|
|
||||||
return db.Column(db.String(80), db.ForeignKey(Domain.name),
|
|
||||||
nullable=False)
|
|
||||||
|
|
||||||
# This field is redundant with both localpart and domain name.
|
|
||||||
# It is however very useful for quick lookups without joining tables,
|
|
||||||
# especially when the mail server il reading the database.
|
|
||||||
@declarative.declared_attr
|
|
||||||
def email(cls):
|
|
||||||
updater = lambda context: "{0}@{1}".format(
|
|
||||||
context.current_parameters["localpart"],
|
|
||||||
context.current_parameters["domain_name"],
|
|
||||||
)
|
|
||||||
return db.Column(db.String(255),
|
|
||||||
primary_key=True, nullable=False,
|
|
||||||
default=updater)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return self.email
|
|
||||||
|
|
||||||
|
|
||||||
class User(Base, Email):
|
|
||||||
""" A user is an email address that has a password to access a mailbox.
|
|
||||||
"""
|
|
||||||
__tablename__ = "user"
|
|
||||||
|
|
||||||
domain = db.relationship(Domain,
|
|
||||||
backref=db.backref('users', cascade='all, delete-orphan'))
|
|
||||||
password = db.Column(db.String(255), nullable=False)
|
|
||||||
quota_bytes = db.Column(db.Integer(), nullable=False, default=10**9)
|
|
||||||
global_admin = db.Column(db.Boolean(), nullable=False, default=False)
|
|
||||||
|
|
||||||
# Features
|
|
||||||
enable_imap = db.Column(db.Boolean(), nullable=False, default=True)
|
|
||||||
enable_pop = db.Column(db.Boolean(), nullable=False, default=True)
|
|
||||||
|
|
||||||
# Filters
|
|
||||||
forward_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
|
||||||
forward_destination = db.Column(db.String(255), nullable=True, default=None)
|
|
||||||
reply_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
|
||||||
reply_subject = db.Column(db.String(255), nullable=True, default=None)
|
|
||||||
reply_body = db.Column(db.Text(), nullable=True, default=None)
|
|
||||||
|
|
||||||
# Settings
|
|
||||||
displayed_name = db.Column(db.String(160), nullable=False, default="")
|
|
||||||
spam_enabled = db.Column(db.Boolean(), nullable=False, default=True)
|
|
||||||
spam_threshold = db.Column(db.Integer(), nullable=False, default=80.0)
|
|
||||||
|
|
||||||
# Flask-login attributes
|
|
||||||
is_authenticated = True
|
|
||||||
is_active = True
|
|
||||||
is_anonymous = False
|
|
||||||
|
|
||||||
def get_id(self):
|
|
||||||
return self.email
|
|
||||||
|
|
||||||
pw_context = context.CryptContext(
|
|
||||||
["sha512_crypt", "sha256_crypt", "md5_crypt"]
|
|
||||||
)
|
|
||||||
|
|
||||||
def check_password(self, password):
|
|
||||||
reference = re.match('({[^}]+})?(.*)', self.password).group(2)
|
|
||||||
return User.pw_context.verify(password, reference)
|
|
||||||
|
|
||||||
def set_password(self, password):
|
|
||||||
self.password = '{SHA512-CRYPT}' + User.pw_context.encrypt(password)
|
|
||||||
|
|
||||||
def get_managed_domains(self):
|
|
||||||
if self.global_admin:
|
|
||||||
return Domain.query.all()
|
|
||||||
else:
|
|
||||||
return self.manager_of
|
|
||||||
|
|
||||||
def get_managed_emails(self, include_aliases=True):
|
|
||||||
emails = []
|
|
||||||
for domain in self.get_managed_domains():
|
|
||||||
emails.extend(domain.users)
|
|
||||||
if include_aliases:
|
|
||||||
emails.extend(domain.aliases)
|
|
||||||
return emails
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def login(cls, email, password):
|
|
||||||
user = cls.query.get(email)
|
|
||||||
return user if (user and user.check_password(password)) else None
|
|
||||||
|
|
||||||
|
|
||||||
class Alias(Base, Email):
|
|
||||||
""" An alias is an email address that redirects to some destination.
|
|
||||||
"""
|
|
||||||
__tablename__ = "alias"
|
|
||||||
|
|
||||||
domain = db.relationship(Domain,
|
|
||||||
backref=db.backref('aliases', cascade='all, delete-orphan'))
|
|
||||||
wildcard = db.Column(db.Boolean(), nullable=False, default=False)
|
|
||||||
destination = db.Column(CommaSeparatedList, nullable=False, default=[])
|
|
||||||
|
|
||||||
|
|
||||||
class Fetch(Base):
|
|
||||||
""" A fetched account is a repote POP/IMAP account fetched into a local
|
|
||||||
account.
|
|
||||||
"""
|
|
||||||
__tablename__ = "fetch"
|
|
||||||
|
|
||||||
id = db.Column(db.Integer(), primary_key=True)
|
|
||||||
user_email = db.Column(db.String(255), db.ForeignKey(User.email),
|
|
||||||
nullable=False)
|
|
||||||
user = db.relationship(User,
|
|
||||||
backref=db.backref('fetches', cascade='all, delete-orphan'))
|
|
||||||
protocol = db.Column(db.Enum('imap', 'pop3'), nullable=False)
|
|
||||||
host = db.Column(db.String(255), nullable=False)
|
|
||||||
port = db.Column(db.Integer(), nullable=False)
|
|
||||||
tls = db.Column(db.Boolean(), nullable=False)
|
|
||||||
username = db.Column(db.String(255), nullable=False)
|
|
||||||
password = db.Column(db.String(255), nullable=False)
|
|
||||||
keep = db.Column(db.Boolean(), nullable=False)
|
|
||||||
last_check = db.Column(db.DateTime, nullable=True)
|
|
||||||
error = db.Column(db.String(1023), nullable=True)
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Global administrators{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.admin_create') }}">
|
|
||||||
{% trans %}Add administrator{% endtrans %}
|
|
||||||
</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Email{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for admin in admins %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.admin_delete', admin=admin.email) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ admin }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Alias list{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ domain.name }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.alias_create', domain_name=domain.name) }}">{% trans %}Add alias{% endtrans %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Email{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Destination{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Comment{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Created{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last edit{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for alias in domain.aliases %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.alias_edit', alias=alias.email) }}" title="{% trans %}Edit{% endtrans %}"><i class="fa fa-pencil"></i></a>
|
|
||||||
<a href="{{ url_for('.alias_delete', alias=alias.email) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ alias }}</td>
|
|
||||||
<td>{{ alias.destination|join(', ') or '-' }}</td>
|
|
||||||
<td>{{ alias.comment or '' }}</td>
|
|
||||||
<td>{{ alias.created_at }}</td>
|
|
||||||
<td>{{ alias.updated_at or '' }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Domain details{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ domain.name }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
{% if current_user.global_admin %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for(".domain_genkeys", domain_name=domain.name) }}">{% trans %}Regenerate keys{% endtrans %}</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Domain name{% endtrans %}</th>
|
|
||||||
<td>{{ domain.name }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}DNS MX entry{% endtrans %}</th>
|
|
||||||
<td><pre>{{ domain.name }}. 600 IN MX 10 {{ config["HOSTNAME"] }}.</pre></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}DNS SPF entries{% endtrans %}</th>
|
|
||||||
<td><pre>
|
|
||||||
{{ domain.name }}. 600 IN TXT "v=spf1 mx a:{{ config["HOSTNAME"] }} -all"
|
|
||||||
{{ domain.name }}. 600 IN SPF "v=spf1 mx a:{{ config["HOSTNAME"] }} -all"</pre></td>
|
|
||||||
</tr>
|
|
||||||
{% if domain.dkim_publickey %}
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}DKIM public key{% endtrans %}</th>
|
|
||||||
<td><pre style="white-space: pre-wrap; word-wrap: break-word;">{{ domain.dkim_publickey }}</pre></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}DNS DKIM entry{% endtrans %}</th>
|
|
||||||
<td><pre style="white-space: pre-wrap; word-wrap: break-word;">{{ config["DKIM_SELECTOR"] }}._domainkey.{{ domain.name }}. IN 600 TXT "v=DKIM1; k=rsa; p={{ domain.dkim_publickey }}"</pre></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}DNS DMARC entry{% endtrans %}</th>
|
|
||||||
<td><pre>_dmarc.{{ domain.name }}. 600 IN TXT "v=DMARC1; p=reject; rua=mailto:{{ config["POSTMASTER"] }}@{{ config["DOMAIN"] }}; adkim=s; aspf=s"</pre></td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Domain list{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
{% if current_user.global_admin %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.domain_create') }}">{% trans %}New domain{% endtrans %}</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Manage{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Domain name{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Mailbox count{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Alias count{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Comment{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Created{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last edit{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for domain in current_user.get_managed_domains() %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.domain_details', domain_name=domain.name) }}" title="{% trans %}Details{% endtrans %}"><i class="fa fa-list"></i></a>
|
|
||||||
{% if current_user.global_admin %}
|
|
||||||
<a href="{{ url_for('.domain_edit', domain_name=domain.name) }}" title="{% trans %}Edit{% endtrans %}"><i class="fa fa-pencil"></i></a>
|
|
||||||
<a href="{{ url_for('.domain_delete', domain_name=domain.name) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.user_list', domain_name=domain.name) }}" title="{% trans %}Users{% endtrans %}"><i class="fa fa-envelope-o"></i></a>
|
|
||||||
<a href="{{ url_for('.alias_list', domain_name=domain.name) }}" title="{% trans %}Aliases{% endtrans %}"><i class="fa fa-at"></i></a>
|
|
||||||
<a href="{{ url_for('.manager_list', domain_name=domain.name) }}" title="{% trans %}Managers{% endtrans %}"><i class="fa fa-user"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ domain.name }}</td>
|
|
||||||
<td>{{ domain.users | count }} / {{ domain.max_users or '∞' }}</td>
|
|
||||||
<td>{{ domain.aliases | count }} / {{ domain.max_aliases or '∞' }}</td>
|
|
||||||
<td>{{ domain.comment or '' }}</td>
|
|
||||||
<td>{{ domain.created_at }}</td>
|
|
||||||
<td>{{ domain.updated_at or '' }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Fetched accounts{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ user }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.fetch_create', user_email=user.email) }}">{% trans %}Add an account{% endtrans %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Endpoint{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Username{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Keep emails{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last check{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Status{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Created{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last edit{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for fetch in user.fetches %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.fetch_edit', fetch_id=fetch.id) }}" title="{% trans %}Edit{% endtrans %}"><i class="fa fa-pencil"></i></a>
|
|
||||||
<a href="{{ url_for('.fetch_delete', fetch_id=fetch.id) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ fetch.protocol }}{{ 's' if fetch.tls else '' }}://{{ fetch.host }}:{{ fetch.port }}</td>
|
|
||||||
<td>{{ fetch.username }}</td>
|
|
||||||
<td>{% if fetch.keep %}{% trans %}yes{% endtrans %}{% else %}{% trans %}no{% endtrans %}{% endif %}</td>
|
|
||||||
<td>{{ fetch.last_check or '-' }}</td>
|
|
||||||
<td>{{ fetch.error or '-' }}</td>
|
|
||||||
<td>{{ fetch.created_at }}</td>
|
|
||||||
<td>{{ fetch.updated_at or '' }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{% macro render_field(field, label_visible=true) -%}
|
|
||||||
<div class="form-group {% if field.errors %}has-error{% endif %} {{ kwargs.pop('class_', '') }}">
|
|
||||||
{% if field.type != 'HiddenField' and label_visible %}
|
|
||||||
<label for="{{ field.id }}" class="control-label">{{ field.label }}</label>
|
|
||||||
{% endif %}
|
|
||||||
{{ field(class_='form-control', **kwargs) }}
|
|
||||||
{% if field.errors %}
|
|
||||||
{% for e in field.errors %}
|
|
||||||
<p class="help-block">{{ e }}</p>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{%- endmacro %}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{% extends "general.html" %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
Test
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block sidebar %}
|
|
||||||
<section class="sidebar">
|
|
||||||
<ul class="sidebar-menu">
|
|
||||||
<li class="header">{% trans %}Your account{% endtrans %}</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">
|
|
||||||
<i class="fa fa-sign-in"></i> <span>{% trans %}Sign in{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Sign in{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{% trans %}to access the administration tools{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box_content %}
|
|
||||||
{{ macros.form(form) }}
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Manager list{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ domain.name }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.manager_create', domain_name=domain.name) }}">{% trans %}Add manager{% endtrans %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Email{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for manager in domain.managers %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.manager_delete', domain_name=domain.name, user_email=manager.email) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ manager }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}Services status{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Service{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Status{% endtrans %}</th>
|
|
||||||
<th>{% trans %}PID{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Image{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Started{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last update{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for name, container in containers.items() %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ name }}</td>
|
|
||||||
<td><span class="label label-{{ "success" if container['State']['Running'] else "danger" }}">{{ container['State']['Status'] }}</span></td>
|
|
||||||
<td>{{ container['State']['Pid'] }}</td>
|
|
||||||
<td>{{ container['Config']['Image'] }}</td>
|
|
||||||
<td>{{ container['State']['StartedAt'] }}</td>
|
|
||||||
<td>{{ container['Image']['Created'] }}
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
<section class="sidebar">
|
|
||||||
<h4 class="text-center text-primary">{{ current_user }}</h4>
|
|
||||||
|
|
||||||
<ul class="sidebar-menu">
|
|
||||||
<li class="header">{% trans %}My account{% endtrans %}</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.user_settings') }}">
|
|
||||||
<i class="fa fa-wrench"></i> <span>{% trans %}Settings{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.user_password') }}">
|
|
||||||
<i class="fa fa-lock"></i> <span>{% trans %}Update password{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.user_forward') }}">
|
|
||||||
<i class="fa fa-share"></i> <span>{% trans %}Auto-forward{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.user_reply') }}">
|
|
||||||
<i class="fa fa-plane"></i> <span>{% trans %}Auto-reply{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.fetch_list') }}">
|
|
||||||
<i class="fa fa-download"></i> <span>{% trans %}Fetched accounts{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.logout') }}">
|
|
||||||
<i class="fa fa-sign-out"></i> <span>{% trans %}Sign out{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="header">{% trans %}Administration{% endtrans %}</li>
|
|
||||||
{% if current_user.global_admin %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.services') }}">
|
|
||||||
<i class="fa fa-dashboard"></i> <span>{% trans %}Services status{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.announcement') }}">
|
|
||||||
<i class="fa fa-bullhorn"></i> <span>{% trans %}Announcement{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.admin_list') }}">
|
|
||||||
<i class="fa fa-user"></i> <span>{% trans %}Administrators{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if current_user.manager_of or current_user.global_admin %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ url_for('.domain_list') }}">
|
|
||||||
<i class="fa fa-envelope"></i> <span>{% trans %}Mail domains{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="https://github.com/Mailu/Mailu">
|
|
||||||
<i class="fa fa-life-ring"></i> <span>{% trans %}Help{% endtrans %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}User list{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ domain.name }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block main_action %}
|
|
||||||
<a class="btn btn-primary" href="{{ url_for('.user_create', domain_name=domain.name) }}">{% trans %}Add user{% endtrans %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box %}
|
|
||||||
<table class="table table-bordered">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans %}Actions{% endtrans %}</th>
|
|
||||||
<th>{% trans %}User settings{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Email{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Features{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Quota{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Comment{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Created{% endtrans %}</th>
|
|
||||||
<th>{% trans %}Last edit{% endtrans %}</th>
|
|
||||||
</tr>
|
|
||||||
{% for user in domain.users %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.user_edit', user_email=user.email) }}" title="{% trans %}Edit{% endtrans %}"><i class="fa fa-pencil"></i></a>
|
|
||||||
<a href="{{ url_for('.user_delete', user_email=user.email) }}" title="{% trans %}Delete{% endtrans %}"><i class="fa fa-trash"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<a href="{{ url_for('.user_settings', user_email=user.email) }}" title="{% trans %}Settings{% endtrans %}"><i class="fa fa-wrench"></i></a>
|
|
||||||
<a href="{{ url_for('.user_forward', user_email=user.email) }}" title="{% trans %}Auto-forward{% endtrans %}"><i class="fa fa-share"></i></a>
|
|
||||||
<a href="{{ url_for('.user_reply', user_email=user.email) }}" title="{% trans %}Auto-reply{% endtrans %}"><i class="fa fa-plane"></i></a>
|
|
||||||
<a href="{{ url_for('.fetch_list', user_email=user.email) }}" title="{% trans %}Fetched accounts{% endtrans %}"><i class="fa fa-download"></i></a>
|
|
||||||
</td>
|
|
||||||
<td>{{ user }}</td>
|
|
||||||
<td>
|
|
||||||
{% if user.enable_imap %}<span class="label label-info">imap</span>{% endif %}
|
|
||||||
{% if user.enable_pop %}<span class="label label-info">pop3</span>{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>{{ user.quota_bytes | filesizeformat }}</td>
|
|
||||||
<td>{{ user.comment or '-' }}</td>
|
|
||||||
<td>{{ user.created_at }}</td>
|
|
||||||
<td>{{ user.updated_at or '' }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}
|
|
||||||
{% trans %}User settings{% endtrans %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}
|
|
||||||
{{ user }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block box_content %}
|
|
||||||
<form class="form" method="post" role="form">
|
|
||||||
{{ form.hidden_tag() }}
|
|
||||||
{{ macros.form_field(form.displayed_name) }}
|
|
||||||
{{ macros.form_field(form.spam_enabled) }}
|
|
||||||
{{ macros.form_field(form.spam_threshold, step=1, max=100,
|
|
||||||
prepend='<span class="input-group-addon"><span id="threshold">'+form.spam_threshold.data.__str__()+'</span> / 100</span>',
|
|
||||||
oninput='$("#threshold").text(this.value);') }}
|
|
||||||
{{ macros.form_field(form.submit) }}
|
|
||||||
</form>
|
|
||||||
{% endblock %}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
from mailu import dockercli, app as flask_app
|
|
||||||
from mailu.admin import app, db, models, forms, access
|
|
||||||
|
|
||||||
import flask
|
|
||||||
import flask_login
|
|
||||||
import smtplib
|
|
||||||
|
|
||||||
from email.mime import text
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/', methods=["GET"])
|
|
||||||
@access.authenticated
|
|
||||||
def index():
|
|
||||||
return flask.redirect(flask.url_for('.user_settings'))
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/login', methods=['GET', 'POST'])
|
|
||||||
def login():
|
|
||||||
form = forms.LoginForm()
|
|
||||||
if form.validate_on_submit():
|
|
||||||
user = models.User.login(form.email.data, form.pw.data)
|
|
||||||
if user:
|
|
||||||
flask_login.login_user(user)
|
|
||||||
return flask.redirect(flask.url_for('.index'))
|
|
||||||
else:
|
|
||||||
flask.flash('Wrong e-mail or password', 'error')
|
|
||||||
return flask.render_template('login.html', form=form)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/logout', methods=['GET'])
|
|
||||||
@access.authenticated
|
|
||||||
def logout():
|
|
||||||
flask_login.logout_user()
|
|
||||||
return flask.redirect(flask.url_for('.index'))
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/services', methods=['GET'])
|
|
||||||
@access.global_admin
|
|
||||||
def services():
|
|
||||||
try:
|
|
||||||
containers = dockercli.get()
|
|
||||||
except Exception as error:
|
|
||||||
return flask.render_template('docker-error.html', error=error)
|
|
||||||
return flask.render_template('services.html', containers=containers)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/announcement', methods=['GET', 'POST'])
|
|
||||||
@access.global_admin
|
|
||||||
def announcement():
|
|
||||||
from_address = '{}@{}'.format(
|
|
||||||
flask_app.config['POSTMASTER'], flask_app.config['DOMAIN'])
|
|
||||||
form = forms.AnnouncementForm()
|
|
||||||
if form.validate_on_submit():
|
|
||||||
with smtplib.SMTP('smtp') as smtp:
|
|
||||||
for recipient in [user.email for user in models.User.query.all()]:
|
|
||||||
msg = text.MIMEText(form.announcement_body.data)
|
|
||||||
msg['Subject'] = form.announcement_subject.data
|
|
||||||
msg['From'] = from_address
|
|
||||||
msg['To'] = recipient
|
|
||||||
smtp.sendmail(from_address, [recipient], msg.as_string())
|
|
||||||
# Force-empty the form
|
|
||||||
form.announcement_subject.data = ''
|
|
||||||
form.announcement_body.data = ''
|
|
||||||
flask.flash('Your announcement was sent', 'success')
|
|
||||||
return flask.render_template('announcement.html', form=form,
|
|
||||||
from_address=from_address)
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
from mailu.admin import app, db, models, forms, access
|
|
||||||
from mailu import app as flask_app
|
|
||||||
|
|
||||||
import flask
|
|
||||||
import wtforms_components
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain', methods=['GET'])
|
|
||||||
@access.authenticated
|
|
||||||
def domain_list():
|
|
||||||
return flask.render_template('domain/list.html')
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain/create', methods=['GET', 'POST'])
|
|
||||||
@access.global_admin
|
|
||||||
def domain_create():
|
|
||||||
form = forms.DomainForm()
|
|
||||||
if form.validate_on_submit():
|
|
||||||
if models.Domain.query.get(form.name.data):
|
|
||||||
flask.flash('Domain %s is already used' % form.name.data, 'error')
|
|
||||||
else:
|
|
||||||
domain = models.Domain()
|
|
||||||
form.populate_obj(domain)
|
|
||||||
db.session.add(domain)
|
|
||||||
db.session.commit()
|
|
||||||
flask.flash('Domain %s created' % domain)
|
|
||||||
return flask.redirect(flask.url_for('.domain_list'))
|
|
||||||
return flask.render_template('domain/create.html', form=form)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain/edit/<domain_name>', methods=['GET', 'POST'])
|
|
||||||
@access.global_admin
|
|
||||||
def domain_edit(domain_name):
|
|
||||||
domain = models.Domain.query.get(domain_name) or flask.abort(404)
|
|
||||||
form = forms.DomainForm(obj=domain)
|
|
||||||
wtforms_components.read_only(form.name)
|
|
||||||
form.name.validators = []
|
|
||||||
if form.validate_on_submit():
|
|
||||||
form.populate_obj(domain)
|
|
||||||
db.session.commit()
|
|
||||||
flask.flash('Domain %s saved' % domain)
|
|
||||||
return flask.redirect(flask.url_for('.domain_list'))
|
|
||||||
return flask.render_template('domain/edit.html', form=form,
|
|
||||||
domain=domain)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain/delete/<domain_name>', methods=['GET', 'POST'])
|
|
||||||
@access.global_admin
|
|
||||||
@access.confirmation_required("delete {domain_name}")
|
|
||||||
def domain_delete(domain_name):
|
|
||||||
domain = models.Domain.query.get(domain_name) or flask.abort(404)
|
|
||||||
db.session.delete(domain)
|
|
||||||
db.session.commit()
|
|
||||||
flask.flash('Domain %s deleted' % domain)
|
|
||||||
return flask.redirect(flask.url_for('.domain_list'))
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain/details/<domain_name>', methods=['GET'])
|
|
||||||
@access.domain_admin(models.Domain, 'domain_name')
|
|
||||||
def domain_details(domain_name):
|
|
||||||
domain = models.Domain.query.get(domain_name) or flask.abort(404)
|
|
||||||
return flask.render_template('domain/details.html', domain=domain,
|
|
||||||
config=flask_app.config)
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/domain/genkeys/<domain_name>', methods=['GET', 'POST'])
|
|
||||||
@access.domain_admin(models.Domain, 'domain_name')
|
|
||||||
@access.confirmation_required("regenerate keys for {domain_name}")
|
|
||||||
def domain_genkeys(domain_name):
|
|
||||||
domain = models.Domain.query.get(domain_name) or flask.abort(404)
|
|
||||||
domain.generate_dkim_key()
|
|
||||||
return flask.redirect(
|
|
||||||
flask.url_for(".domain_details", domain_name=domain_name))
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
from mailu import app, scheduler, dockercli
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
def certbot_command(subcommand, *args):
|
|
||||||
""" Run a certbot command while specifying the standard parameters.
|
|
||||||
"""
|
|
||||||
command = [
|
|
||||||
"certbot", subcommand,
|
|
||||||
"-n",
|
|
||||||
"--work-dir", "/tmp",
|
|
||||||
"--logs-dir", "/tmp",
|
|
||||||
"--config-dir", app.config["CERTS_PATH"],
|
|
||||||
*args
|
|
||||||
]
|
|
||||||
result = subprocess.run(command, stdout=subprocess.PIPE,
|
|
||||||
stderr=subprocess.PIPE)
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
def certbot_install(domain):
|
|
||||||
""" Install certificates for the given domain. Return True if a reload
|
|
||||||
is required.
|
|
||||||
"""
|
|
||||||
must_reload = False
|
|
||||||
path = app.config["CERTS_PATH"]
|
|
||||||
cert = os.path.join(path, "cert.pem")
|
|
||||||
key = os.path.join(path, "key.pem")
|
|
||||||
live_cert = os.path.join("live", domain, "fullchain.pem")
|
|
||||||
live_key = os.path.join("live", domain, "privkey.pem")
|
|
||||||
if not os.path.islink(cert) or os.readlink(cert) != live_cert:
|
|
||||||
must_reload = True
|
|
||||||
if os.path.exists(cert):
|
|
||||||
os.unlink(cert)
|
|
||||||
os.symlink(live_cert, cert)
|
|
||||||
if not os.path.islink(key) or os.readlink(key) != live_key:
|
|
||||||
must_reload = True
|
|
||||||
if os.path.exists(key):
|
|
||||||
os.unlink(key)
|
|
||||||
os.symlink(live_key, key)
|
|
||||||
return must_reload
|
|
||||||
|
|
||||||
|
|
||||||
@scheduler.scheduled_job('date')
|
|
||||||
@scheduler.scheduled_job('cron', hour=2, minute=0)
|
|
||||||
def generate_cert():
|
|
||||||
print("Generating TLS certificates using Certbot")
|
|
||||||
hostname = app.config["HOSTNAME"]
|
|
||||||
email = "{}@{}".format(app.config["POSTMASTER"], app.config["DOMAIN"])
|
|
||||||
result = certbot_command(
|
|
||||||
"certonly",
|
|
||||||
"--standalone",
|
|
||||||
"--agree-tos",
|
|
||||||
"--preferred-challenges", "http",
|
|
||||||
"--email", email,
|
|
||||||
"-d", hostname,
|
|
||||||
# The port is hardcoded in the nginx image as well, we should find
|
|
||||||
# a more suitable way to go but this will do until we have a proper
|
|
||||||
# daemon handling certbot stuff
|
|
||||||
"--http-01-port", "8081"
|
|
||||||
)
|
|
||||||
if result.returncode:
|
|
||||||
print("Error while generating certificates:\n{}".format(
|
|
||||||
result.stdout.decode("utf8") + result.stdout.decode("utf8")))
|
|
||||||
else:
|
|
||||||
print("Successfully generated or renewed TLS certificates")
|
|
||||||
if certbot_install(hostname):
|
|
||||||
print("Reloading TLS-dependant services")
|
|
||||||
dockercli.reload("http", "smtp", "imap")
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
from mailu import app
|
|
||||||
|
|
||||||
import docker
|
|
||||||
import signal
|
|
||||||
|
|
||||||
|
|
||||||
# Connect to the Docker socket
|
|
||||||
cli = docker.Client(base_url=app.config['DOCKER_SOCKET'])
|
|
||||||
|
|
||||||
|
|
||||||
def get(*names):
|
|
||||||
result = {}
|
|
||||||
all_containers = cli.containers(all=True)
|
|
||||||
for brief in all_containers:
|
|
||||||
if brief['Image'].startswith('mailu/'):
|
|
||||||
container = cli.inspect_container(brief['Id'])
|
|
||||||
container['Image'] = cli.inspect_image(container['Image'])
|
|
||||||
name = container['Config']['Labels']['com.docker.compose.service']
|
|
||||||
if not names or name in names:
|
|
||||||
result[name] = container
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
def reload(*names):
|
|
||||||
for name, container in get(*names).items():
|
|
||||||
cli.kill(container["Id"], signal.SIGHUP.value)
|
|
||||||
@@ -1,512 +0,0 @@
|
|||||||
# German translations for Mailu.
|
|
||||||
# Copyright (C) 2016 Mailu
|
|
||||||
# This file is distributed under the same license as the PROJECT project.
|
|
||||||
# Stefan Auditor <stefan.auditor@erdfisch.de>, 2016.
|
|
||||||
#
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
|
||||||
"Report-Msgid-Bugs-To: stefan.auditor@erdfisch.de\n"
|
|
||||||
"POT-Creation-Date: 2016-11-10 10:52+0100\n"
|
|
||||||
"PO-Revision-Date: 2016-11-09 21:43+0100\n"
|
|
||||||
"Last-Translator: Stefan Auditor <stefan.auditor@erdfisch.de>\n"
|
|
||||||
"Language: de\n"
|
|
||||||
"Language-Team: Mailu German Team <stefan.auditor@erdfisch.de>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 2.3.4\n"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:32
|
|
||||||
msgid "Invalid email address."
|
|
||||||
msgstr "Ungültige E-Mail-Adresse."
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:36
|
|
||||||
msgid "Confirm"
|
|
||||||
msgstr "Bestätigen"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:40 mailu/admin/forms.py:54
|
|
||||||
msgid "E-mail"
|
|
||||||
msgstr "E-Mail"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:41 mailu/admin/forms.py:55 mailu/admin/forms.py:72
|
|
||||||
#: mailu/admin/forms.py:120
|
|
||||||
msgid "Password"
|
|
||||||
msgstr "Passwort"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:42 mailu/admin/templates/login.html:9
|
|
||||||
#: mailu/admin/templates/login.html:17
|
|
||||||
msgid "Sign in"
|
|
||||||
msgstr "Anmelden"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:46 mailu/admin/templates/domain/details.html:21
|
|
||||||
#: mailu/admin/templates/domain/list.html:19
|
|
||||||
msgid "Domain name"
|
|
||||||
msgstr "Domain-Name"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:47
|
|
||||||
msgid "Maximum user count"
|
|
||||||
msgstr "Maximale Anzahl Benutzer"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:48
|
|
||||||
msgid "Maximum alias count"
|
|
||||||
msgstr "Maximale Anzahl Aliase"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:49 mailu/admin/forms.py:60 mailu/admin/forms.py:98
|
|
||||||
#: mailu/admin/templates/alias/list.html:22
|
|
||||||
#: mailu/admin/templates/domain/list.html:22
|
|
||||||
#: mailu/admin/templates/user/list.html:24
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr "Kommentar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:50 mailu/admin/forms.py:99
|
|
||||||
msgid "Create"
|
|
||||||
msgstr "Erstellen"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:56
|
|
||||||
msgid "Confirm password"
|
|
||||||
msgstr "Passwort bestätigen"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:57 mailu/admin/templates/user/list.html:23
|
|
||||||
msgid "Quota"
|
|
||||||
msgstr "Quota"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:58
|
|
||||||
msgid "Allow IMAP access"
|
|
||||||
msgstr "Zugriff via IMAP erlauben"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:59
|
|
||||||
msgid "Allow POP3 access"
|
|
||||||
msgstr "Zugriff via POP3 erlauben"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:61
|
|
||||||
msgid "Save"
|
|
||||||
msgstr "Speichern"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:65
|
|
||||||
msgid "Displayed name"
|
|
||||||
msgstr "Angezeigter Name"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:66
|
|
||||||
msgid "Enable spam filter"
|
|
||||||
msgstr "Spam-Filter aktivieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:67
|
|
||||||
msgid "Spam filter threshold"
|
|
||||||
msgstr "Spam-Filter Schwellenwert"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:68
|
|
||||||
msgid "Save settings"
|
|
||||||
msgstr "Einstellungen speichern"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:73
|
|
||||||
msgid "Password check"
|
|
||||||
msgstr "Passwort prüfen"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:74 mailu/admin/templates/sidebar.html:13
|
|
||||||
msgid "Update password"
|
|
||||||
msgstr "Passwort aktualisieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:78
|
|
||||||
msgid "Enable forwarding"
|
|
||||||
msgstr "Weiterleitung aktivieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:80 mailu/admin/forms.py:97
|
|
||||||
#: mailu/admin/templates/alias/list.html:21
|
|
||||||
msgid "Destination"
|
|
||||||
msgstr "Ziel"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:82 mailu/admin/forms.py:90
|
|
||||||
msgid "Update"
|
|
||||||
msgstr "Aktualisieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:86
|
|
||||||
msgid "Enable automatic reply"
|
|
||||||
msgstr "Automatische Antwort aktivieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:87
|
|
||||||
msgid "Reply subject"
|
|
||||||
msgstr "Antwort Betreff"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:88
|
|
||||||
msgid "Reply body"
|
|
||||||
msgstr "Antwort Text"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:94
|
|
||||||
msgid "Alias"
|
|
||||||
msgstr "Alias"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:96
|
|
||||||
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
|
||||||
msgstr "SQL LIKE Syntax nutzen (z.B. für Catch-All Aliase)"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:103
|
|
||||||
msgid "Admin email"
|
|
||||||
msgstr "Administrator E-Mail"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:104 mailu/admin/forms.py:109 mailu/admin/forms.py:121
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr "Absenden"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:108
|
|
||||||
msgid "Manager email"
|
|
||||||
msgstr "Manager E-Mail"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:113
|
|
||||||
msgid "Protocol"
|
|
||||||
msgstr "Protokoll"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:116
|
|
||||||
msgid "Hostname or IP"
|
|
||||||
msgstr "Hostname oder IP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:117
|
|
||||||
msgid "TCP port"
|
|
||||||
msgstr "Port"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:118
|
|
||||||
msgid "Enable TLS"
|
|
||||||
msgstr "Verschlüsselung aktivieren"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:119 mailu/admin/templates/fetch/list.html:21
|
|
||||||
msgid "Username"
|
|
||||||
msgstr "Benutzername"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:4
|
|
||||||
msgid "Confirm action"
|
|
||||||
msgstr "Aktion bestätigen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:12
|
|
||||||
msgid "You are about to %(action)s. Please confirm your action."
|
|
||||||
msgstr "Bitte bestätigen: %(action)s."
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:4
|
|
||||||
msgid "Docker error"
|
|
||||||
msgstr "Docker Fehler"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:12
|
|
||||||
msgid "An error occurred while talking to the Docker server."
|
|
||||||
msgstr "Während der Kommunikation mit dem Docker Server ist ein Fehler aufgetreten."
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:6
|
|
||||||
msgid "Your account"
|
|
||||||
msgstr "Konto"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:21
|
|
||||||
msgid "to access the administration tools"
|
|
||||||
msgstr "für administrativen Zugriff"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:4 mailu/admin/templates/sidebar.html:40
|
|
||||||
msgid "Services status"
|
|
||||||
msgstr "Dienst-Status"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:11
|
|
||||||
msgid "Service"
|
|
||||||
msgstr "Dienst"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:23
|
|
||||||
#: mailu/admin/templates/services.html:12
|
|
||||||
msgid "Status"
|
|
||||||
msgstr "Status"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:13
|
|
||||||
msgid "PID"
|
|
||||||
msgstr "PID"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:14
|
|
||||||
msgid "Image"
|
|
||||||
msgstr "Image"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:15
|
|
||||||
msgid "Started"
|
|
||||||
msgstr "Gestartet"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:16
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr "Letztes Update"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:5
|
|
||||||
msgid "My account"
|
|
||||||
msgstr "Mein Konto"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:8 mailu/admin/templates/user/list.html:35
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr "Einstellungen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:18
|
|
||||||
#: mailu/admin/templates/user/list.html:36
|
|
||||||
msgid "Auto-forward"
|
|
||||||
msgstr "Auto-Weiterleitung"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:23
|
|
||||||
#: mailu/admin/templates/user/list.html:37
|
|
||||||
msgid "Auto-reply"
|
|
||||||
msgstr "Auto-Antwort"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:4
|
|
||||||
#: mailu/admin/templates/sidebar.html:28
|
|
||||||
#: mailu/admin/templates/user/list.html:38
|
|
||||||
msgid "Fetched accounts"
|
|
||||||
msgstr "Abgerufene Konten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:33
|
|
||||||
msgid "Sign out"
|
|
||||||
msgstr "Abmelden"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:36
|
|
||||||
msgid "Administration"
|
|
||||||
msgstr "Administration"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:50
|
|
||||||
msgid "Administrators"
|
|
||||||
msgstr "Administratoren"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:57
|
|
||||||
msgid "Mail domains"
|
|
||||||
msgstr "E-Mail-Domains"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:64
|
|
||||||
msgid "Help"
|
|
||||||
msgstr "Hilfe"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/working.html:4
|
|
||||||
msgid "We are still working on this feature!"
|
|
||||||
msgstr "Dieses Feature ist noch in Arbeit!"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/create.html:4
|
|
||||||
msgid "Add a global administrator"
|
|
||||||
msgstr "Globalen Administrator hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:4
|
|
||||||
msgid "Global administrators"
|
|
||||||
msgstr "Globale Administratoren"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:9
|
|
||||||
msgid "Add administrator"
|
|
||||||
msgstr "Administrator hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:17
|
|
||||||
#: mailu/admin/templates/alias/list.html:19
|
|
||||||
#: mailu/admin/templates/domain/list.html:17
|
|
||||||
#: mailu/admin/templates/fetch/list.html:19
|
|
||||||
#: mailu/admin/templates/manager/list.html:19
|
|
||||||
#: mailu/admin/templates/user/list.html:19
|
|
||||||
msgid "Actions"
|
|
||||||
msgstr "Aktionen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:18
|
|
||||||
#: mailu/admin/templates/alias/list.html:20
|
|
||||||
#: mailu/admin/templates/manager/list.html:20
|
|
||||||
#: mailu/admin/templates/user/list.html:21
|
|
||||||
msgid "Email"
|
|
||||||
msgstr "E-Mail"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:23
|
|
||||||
#: mailu/admin/templates/alias/list.html:30
|
|
||||||
#: mailu/admin/templates/domain/list.html:32
|
|
||||||
#: mailu/admin/templates/fetch/list.html:31
|
|
||||||
#: mailu/admin/templates/manager/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:32
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr "Löschen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/create.html:4
|
|
||||||
msgid "Create alias"
|
|
||||||
msgstr "Alias erstellen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/edit.html:4
|
|
||||||
msgid "Edit alias"
|
|
||||||
msgstr "Alias bearbeiten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:4
|
|
||||||
msgid "Alias list"
|
|
||||||
msgstr "Alias Liste"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:12
|
|
||||||
msgid "Add alias"
|
|
||||||
msgstr "Alias hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:23
|
|
||||||
#: mailu/admin/templates/domain/list.html:23
|
|
||||||
#: mailu/admin/templates/fetch/list.html:24
|
|
||||||
#: mailu/admin/templates/user/list.html:25
|
|
||||||
msgid "Created"
|
|
||||||
msgstr "Erstellt"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:24
|
|
||||||
#: mailu/admin/templates/domain/list.html:24
|
|
||||||
#: mailu/admin/templates/fetch/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:26
|
|
||||||
msgid "Last edit"
|
|
||||||
msgstr "Zuletzt bearbeitet"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:29
|
|
||||||
#: mailu/admin/templates/domain/list.html:31
|
|
||||||
#: mailu/admin/templates/fetch/list.html:30
|
|
||||||
#: mailu/admin/templates/user/list.html:31
|
|
||||||
msgid "Edit"
|
|
||||||
msgstr "Bearbeiten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/create.html:4
|
|
||||||
#: mailu/admin/templates/domain/list.html:9
|
|
||||||
msgid "New domain"
|
|
||||||
msgstr "Neue Domain"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:4
|
|
||||||
msgid "Domain details"
|
|
||||||
msgstr "Domain Details"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:13
|
|
||||||
msgid "Regenerate keys"
|
|
||||||
msgstr "Schlüssel neu erzeugen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:25
|
|
||||||
msgid "DNS MX entry"
|
|
||||||
msgstr "DNS MX Eintrag"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:29
|
|
||||||
msgid "DNS SPF entries"
|
|
||||||
msgstr "DNS SPF Einträge"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:36
|
|
||||||
msgid "DKIM public key"
|
|
||||||
msgstr "DKIM öffentlicher Schlüssel"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:40
|
|
||||||
msgid "DNS DKIM entry"
|
|
||||||
msgstr "DNS DKIM Eintrag"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:44
|
|
||||||
msgid "DNS DMARC entry"
|
|
||||||
msgstr "DNS DMARC Eintrag"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/edit.html:4
|
|
||||||
msgid "Edit domain"
|
|
||||||
msgstr "Domain bearbeiten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:4
|
|
||||||
msgid "Domain list"
|
|
||||||
msgstr "Domain Liste"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:18
|
|
||||||
msgid "Manage"
|
|
||||||
msgstr "Verwalten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:20
|
|
||||||
msgid "Mailbox count"
|
|
||||||
msgstr "Mailboxen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:21
|
|
||||||
msgid "Alias count"
|
|
||||||
msgstr "Aliase"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:29
|
|
||||||
msgid "Details"
|
|
||||||
msgstr "Details"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:36
|
|
||||||
msgid "Users"
|
|
||||||
msgstr "Benutzer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:37
|
|
||||||
msgid "Aliases"
|
|
||||||
msgstr "Aliase"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:38
|
|
||||||
msgid "Managers"
|
|
||||||
msgstr "Manager"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/create.html:4
|
|
||||||
msgid "Add a fetched account"
|
|
||||||
msgstr "Externes Konto hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/edit.html:4
|
|
||||||
msgid "Update a fetched account"
|
|
||||||
msgstr "Externes Konto aktualisieren"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:12
|
|
||||||
msgid "Add an account"
|
|
||||||
msgstr "Konto hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:20
|
|
||||||
msgid "Endpoint"
|
|
||||||
msgstr "Endpunkt"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:22
|
|
||||||
msgid "Last check"
|
|
||||||
msgstr "Letzte Prüfung"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/create.html:4
|
|
||||||
msgid "Add a manager"
|
|
||||||
msgstr "Einen Manager hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:4
|
|
||||||
msgid "Manager list"
|
|
||||||
msgstr "Manager Liste"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:12
|
|
||||||
msgid "Add manager"
|
|
||||||
msgstr "Manager hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:125
|
|
||||||
msgid "Announcement subject"
|
|
||||||
msgstr "Bekanntmachung Betreff"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:127
|
|
||||||
msgid "Announcement body"
|
|
||||||
msgstr "Bekanntmachung Text"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:129
|
|
||||||
msgid "Send"
|
|
||||||
msgstr "Absenden"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:4
|
|
||||||
msgid "Public announcement"
|
|
||||||
msgstr "Öffentliche Bekanntmachung"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:8
|
|
||||||
msgid "from"
|
|
||||||
msgstr "von"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:45
|
|
||||||
msgid "Announcement"
|
|
||||||
msgstr "Bekanntmachung"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/create.html:4
|
|
||||||
msgid "New user"
|
|
||||||
msgstr "Neuer Benutzer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/edit.html:4
|
|
||||||
msgid "Edit user"
|
|
||||||
msgstr "Benutzer bearbeiten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/forward.html:4
|
|
||||||
msgid "Forward emails"
|
|
||||||
msgstr "E-Mails weiterleiten"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:4
|
|
||||||
msgid "User list"
|
|
||||||
msgstr "Benutzerliste"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:12
|
|
||||||
msgid "Add user"
|
|
||||||
msgstr "Benutzer hinzufügen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:20
|
|
||||||
#: mailu/admin/templates/user/settings.html:4
|
|
||||||
msgid "User settings"
|
|
||||||
msgstr "Benutzer Einstellungen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:22
|
|
||||||
msgid "Features"
|
|
||||||
msgstr "Funktionen"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/password.html:4
|
|
||||||
msgid "Password update"
|
|
||||||
msgstr "Passwort aktualisieren"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/reply.html:4
|
|
||||||
msgid "Automatic reply"
|
|
||||||
msgstr "Automatische Antwort"
|
|
||||||
|
|
||||||
@@ -1,513 +0,0 @@
|
|||||||
# English translations for PROJECT.
|
|
||||||
# Copyright (C) 2016 ORGANIZATION
|
|
||||||
# This file is distributed under the same license as the PROJECT project.
|
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
|
||||||
#
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
||||||
"POT-Creation-Date: 2016-11-10 10:52+0100\n"
|
|
||||||
"PO-Revision-Date: 2016-10-02 15:02+0200\n"
|
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
||||||
"Language: en\n"
|
|
||||||
"Language-Team: en <LL@li.org>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 2.3.4\n"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:32
|
|
||||||
msgid "Invalid email address."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:36
|
|
||||||
msgid "Confirm"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:40 mailu/admin/forms.py:54
|
|
||||||
msgid "E-mail"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:41 mailu/admin/forms.py:55 mailu/admin/forms.py:72
|
|
||||||
#: mailu/admin/forms.py:120
|
|
||||||
msgid "Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:42 mailu/admin/templates/login.html:9
|
|
||||||
#: mailu/admin/templates/login.html:17
|
|
||||||
msgid "Sign in"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:46 mailu/admin/templates/domain/details.html:21
|
|
||||||
#: mailu/admin/templates/domain/list.html:19
|
|
||||||
msgid "Domain name"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:47
|
|
||||||
msgid "Maximum user count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:48
|
|
||||||
msgid "Maximum alias count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:49 mailu/admin/forms.py:60 mailu/admin/forms.py:98
|
|
||||||
#: mailu/admin/templates/alias/list.html:22
|
|
||||||
#: mailu/admin/templates/domain/list.html:22
|
|
||||||
#: mailu/admin/templates/user/list.html:24
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:50 mailu/admin/forms.py:99
|
|
||||||
msgid "Create"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:56
|
|
||||||
msgid "Confirm password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:57 mailu/admin/templates/user/list.html:23
|
|
||||||
msgid "Quota"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:58
|
|
||||||
msgid "Allow IMAP access"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:59
|
|
||||||
msgid "Allow POP3 access"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:61
|
|
||||||
msgid "Save"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:65
|
|
||||||
msgid "Displayed name"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:66
|
|
||||||
msgid "Enable spam filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:67
|
|
||||||
msgid "Spam filter threshold"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:68
|
|
||||||
msgid "Save settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:73
|
|
||||||
msgid "Password check"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:74 mailu/admin/templates/sidebar.html:13
|
|
||||||
msgid "Update password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:78
|
|
||||||
msgid "Enable forwarding"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:80 mailu/admin/forms.py:97
|
|
||||||
#: mailu/admin/templates/alias/list.html:21
|
|
||||||
msgid "Destination"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:82 mailu/admin/forms.py:90
|
|
||||||
msgid "Update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:86
|
|
||||||
msgid "Enable automatic reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:87
|
|
||||||
msgid "Reply subject"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:88
|
|
||||||
msgid "Reply body"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:94
|
|
||||||
msgid "Alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:96
|
|
||||||
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:103
|
|
||||||
msgid "Admin email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:104 mailu/admin/forms.py:109 mailu/admin/forms.py:121
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:108
|
|
||||||
msgid "Manager email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:113
|
|
||||||
msgid "Protocol"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:116
|
|
||||||
msgid "Hostname or IP"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:117
|
|
||||||
msgid "TCP port"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:118
|
|
||||||
msgid "Enable TLS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:119 mailu/admin/templates/fetch/list.html:21
|
|
||||||
msgid "Username"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:125
|
|
||||||
msgid "Announcement subject"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:127
|
|
||||||
msgid "Announcement body"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:129
|
|
||||||
msgid "Send"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:4
|
|
||||||
msgid "Public announcement"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:8
|
|
||||||
msgid "from"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:4
|
|
||||||
msgid "Confirm action"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:12
|
|
||||||
#, python-format
|
|
||||||
msgid "You are about to %(action)s. Please confirm your action."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:4
|
|
||||||
msgid "Docker error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:12
|
|
||||||
msgid "An error occurred while talking to the Docker server."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:6
|
|
||||||
msgid "Your account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:21
|
|
||||||
msgid "to access the administration tools"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:4 mailu/admin/templates/sidebar.html:40
|
|
||||||
msgid "Services status"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:11
|
|
||||||
msgid "Service"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:23
|
|
||||||
#: mailu/admin/templates/services.html:12
|
|
||||||
msgid "Status"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:13
|
|
||||||
msgid "PID"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:14
|
|
||||||
msgid "Image"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:15
|
|
||||||
msgid "Started"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:16
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:5
|
|
||||||
msgid "My account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:8 mailu/admin/templates/user/list.html:35
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:18
|
|
||||||
#: mailu/admin/templates/user/list.html:36
|
|
||||||
msgid "Auto-forward"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:23
|
|
||||||
#: mailu/admin/templates/user/list.html:37
|
|
||||||
msgid "Auto-reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:4
|
|
||||||
#: mailu/admin/templates/sidebar.html:28
|
|
||||||
#: mailu/admin/templates/user/list.html:38
|
|
||||||
msgid "Fetched accounts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:33
|
|
||||||
msgid "Sign out"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:36
|
|
||||||
msgid "Administration"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:45
|
|
||||||
msgid "Announcement"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:50
|
|
||||||
msgid "Administrators"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:57
|
|
||||||
msgid "Mail domains"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:64
|
|
||||||
msgid "Help"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/working.html:4
|
|
||||||
msgid "We are still working on this feature!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/create.html:4
|
|
||||||
msgid "Add a global administrator"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:4
|
|
||||||
msgid "Global administrators"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:9
|
|
||||||
msgid "Add administrator"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:17
|
|
||||||
#: mailu/admin/templates/alias/list.html:19
|
|
||||||
#: mailu/admin/templates/domain/list.html:17
|
|
||||||
#: mailu/admin/templates/fetch/list.html:19
|
|
||||||
#: mailu/admin/templates/manager/list.html:19
|
|
||||||
#: mailu/admin/templates/user/list.html:19
|
|
||||||
msgid "Actions"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:18
|
|
||||||
#: mailu/admin/templates/alias/list.html:20
|
|
||||||
#: mailu/admin/templates/manager/list.html:20
|
|
||||||
#: mailu/admin/templates/user/list.html:21
|
|
||||||
msgid "Email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:23
|
|
||||||
#: mailu/admin/templates/alias/list.html:30
|
|
||||||
#: mailu/admin/templates/domain/list.html:32
|
|
||||||
#: mailu/admin/templates/fetch/list.html:31
|
|
||||||
#: mailu/admin/templates/manager/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:32
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/create.html:4
|
|
||||||
msgid "Create alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/edit.html:4
|
|
||||||
msgid "Edit alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:4
|
|
||||||
msgid "Alias list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:12
|
|
||||||
msgid "Add alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:23
|
|
||||||
#: mailu/admin/templates/domain/list.html:23
|
|
||||||
#: mailu/admin/templates/fetch/list.html:24
|
|
||||||
#: mailu/admin/templates/user/list.html:25
|
|
||||||
msgid "Created"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:24
|
|
||||||
#: mailu/admin/templates/domain/list.html:24
|
|
||||||
#: mailu/admin/templates/fetch/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:26
|
|
||||||
msgid "Last edit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:29
|
|
||||||
#: mailu/admin/templates/domain/list.html:31
|
|
||||||
#: mailu/admin/templates/fetch/list.html:30
|
|
||||||
#: mailu/admin/templates/user/list.html:31
|
|
||||||
msgid "Edit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/create.html:4
|
|
||||||
#: mailu/admin/templates/domain/list.html:9
|
|
||||||
msgid "New domain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:4
|
|
||||||
msgid "Domain details"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:13
|
|
||||||
msgid "Regenerate keys"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:25
|
|
||||||
msgid "DNS MX entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:29
|
|
||||||
msgid "DNS SPF entries"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:36
|
|
||||||
msgid "DKIM public key"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:40
|
|
||||||
msgid "DNS DKIM entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:44
|
|
||||||
msgid "DNS DMARC entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/edit.html:4
|
|
||||||
msgid "Edit domain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:4
|
|
||||||
msgid "Domain list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:18
|
|
||||||
msgid "Manage"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:20
|
|
||||||
msgid "Mailbox count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:21
|
|
||||||
msgid "Alias count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:29
|
|
||||||
msgid "Details"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:36
|
|
||||||
msgid "Users"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:37
|
|
||||||
msgid "Aliases"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:38
|
|
||||||
msgid "Managers"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/create.html:4
|
|
||||||
msgid "Add a fetched account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/edit.html:4
|
|
||||||
msgid "Update a fetched account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:12
|
|
||||||
msgid "Add an account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:20
|
|
||||||
msgid "Endpoint"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:22
|
|
||||||
msgid "Last check"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/create.html:4
|
|
||||||
msgid "Add a manager"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:4
|
|
||||||
msgid "Manager list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:12
|
|
||||||
msgid "Add manager"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/create.html:4
|
|
||||||
msgid "New user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/edit.html:4
|
|
||||||
msgid "Edit user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/forward.html:4
|
|
||||||
msgid "Forward emails"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:4
|
|
||||||
msgid "User list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:12
|
|
||||||
msgid "Add user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:20
|
|
||||||
#: mailu/admin/templates/user/settings.html:4
|
|
||||||
msgid "User settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:22
|
|
||||||
msgid "Features"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/password.html:4
|
|
||||||
msgid "Password update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/reply.html:4
|
|
||||||
msgid "Automatic reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
@@ -1,501 +0,0 @@
|
|||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"X-Generator: POEditor.com\n"
|
|
||||||
"Project-Id-Version: Mailu\n"
|
|
||||||
"Language: fr\n"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:32
|
|
||||||
msgid "Invalid email address."
|
|
||||||
msgstr "Adresse e-mail invalide"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:36
|
|
||||||
msgid "Confirm"
|
|
||||||
msgstr "Confirmer"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:40 mailu/admin/forms.py:54
|
|
||||||
msgid "E-mail"
|
|
||||||
msgstr "E-mail"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:41 mailu/admin/forms.py:55 mailu/admin/forms.py:72
|
|
||||||
#: mailu/admin/forms.py:120
|
|
||||||
msgid "Password"
|
|
||||||
msgstr "Mot de passe"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:42 mailu/admin/templates/login.html:9
|
|
||||||
#: mailu/admin/templates/login.html:17
|
|
||||||
msgid "Sign in"
|
|
||||||
msgstr "Se connecter"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:46 mailu/admin/templates/domain/details.html:21
|
|
||||||
#: mailu/admin/templates/domain/list.html:19
|
|
||||||
msgid "Domain name"
|
|
||||||
msgstr "Nom de domaine"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:47
|
|
||||||
msgid "Maximum user count"
|
|
||||||
msgstr "Nombre maximum d'utilisateurs"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:48
|
|
||||||
msgid "Maximum alias count"
|
|
||||||
msgstr "Nombre maximum d'alias"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:49 mailu/admin/forms.py:60 mailu/admin/forms.py:98
|
|
||||||
#: mailu/admin/templates/alias/list.html:22
|
|
||||||
#: mailu/admin/templates/domain/list.html:22
|
|
||||||
#: mailu/admin/templates/user/list.html:24
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr "Commentaire"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:50 mailu/admin/forms.py:99
|
|
||||||
msgid "Create"
|
|
||||||
msgstr "Créer"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:56
|
|
||||||
msgid "Confirm password"
|
|
||||||
msgstr "Confirmer le mot de passe"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:57 mailu/admin/templates/user/list.html:23
|
|
||||||
msgid "Quota"
|
|
||||||
msgstr "Quota"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:58
|
|
||||||
msgid "Allow IMAP access"
|
|
||||||
msgstr "Autoriser l'accès IMAP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:59
|
|
||||||
msgid "Allow POP3 access"
|
|
||||||
msgstr "Autoriser l'accès POP3"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:61
|
|
||||||
msgid "Save"
|
|
||||||
msgstr "Enregistrer"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:65
|
|
||||||
msgid "Displayed name"
|
|
||||||
msgstr "Nom affiché"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:66
|
|
||||||
msgid "Enable spam filter"
|
|
||||||
msgstr "Activer le filtre anti-spam"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:67
|
|
||||||
msgid "Spam filter threshold"
|
|
||||||
msgstr "Seuil du filtre anti-spam"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:68
|
|
||||||
msgid "Save settings"
|
|
||||||
msgstr "Enregistrer les préférences"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:73
|
|
||||||
msgid "Password check"
|
|
||||||
msgstr "Vérifier le mot de passe"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:74 mailu/admin/templates/sidebar.html:13
|
|
||||||
msgid "Update password"
|
|
||||||
msgstr "Changer de mot de passe"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:78
|
|
||||||
msgid "Enable forwarding"
|
|
||||||
msgstr "Activer la redirection"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:80 mailu/admin/forms.py:97
|
|
||||||
#: mailu/admin/templates/alias/list.html:21
|
|
||||||
msgid "Destination"
|
|
||||||
msgstr "Destination"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:82 mailu/admin/forms.py:90
|
|
||||||
msgid "Update"
|
|
||||||
msgstr "Mettre à jour"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:86
|
|
||||||
msgid "Enable automatic reply"
|
|
||||||
msgstr "Activer les réponses automatique"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:87
|
|
||||||
msgid "Reply subject"
|
|
||||||
msgstr "Sujet du message"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:88
|
|
||||||
msgid "Reply body"
|
|
||||||
msgstr "Corps de la réponse"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:94
|
|
||||||
msgid "Alias"
|
|
||||||
msgstr "Alias"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:96
|
|
||||||
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
|
||||||
msgstr "Utiliser la syntaxe SQL LIKE (par exemple pour les alias catch-all)"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:103
|
|
||||||
msgid "Admin email"
|
|
||||||
msgstr "Email de l'administrateur"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:104 mailu/admin/forms.py:109 mailu/admin/forms.py:121
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr "Valider"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:108
|
|
||||||
msgid "Manager email"
|
|
||||||
msgstr "E-mail du gérant"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:113
|
|
||||||
msgid "Protocol"
|
|
||||||
msgstr "Protocole"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:116
|
|
||||||
msgid "Hostname or IP"
|
|
||||||
msgstr "Nom d'hôte ou adresse IP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:117
|
|
||||||
msgid "TCP port"
|
|
||||||
msgstr "Port TCP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:118
|
|
||||||
msgid "Enable TLS"
|
|
||||||
msgstr "Activer TLS"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:119 mailu/admin/templates/fetch/list.html:21
|
|
||||||
msgid "Username"
|
|
||||||
msgstr "Nom d'utilisateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:4
|
|
||||||
msgid "Confirm action"
|
|
||||||
msgstr "Confirmer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:12
|
|
||||||
msgid "You are about to %(action)s. Please confirm your action."
|
|
||||||
msgstr "Vous allez %(action)s. Merci de confirmer votre action."
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:4
|
|
||||||
msgid "Docker error"
|
|
||||||
msgstr "Erreur Docker"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:12
|
|
||||||
msgid "An error occurred while talking to the Docker server."
|
|
||||||
msgstr "Une erreur s'est produite en communiquant avec le serveur Docker."
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:6
|
|
||||||
msgid "Your account"
|
|
||||||
msgstr "Votre compte"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:21
|
|
||||||
msgid "to access the administration tools"
|
|
||||||
msgstr "pour accéder aux outils d'administration"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:4 mailu/admin/templates/sidebar.html:40
|
|
||||||
msgid "Services status"
|
|
||||||
msgstr "Etat des services"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:11
|
|
||||||
msgid "Service"
|
|
||||||
msgstr "Service"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:23
|
|
||||||
#: mailu/admin/templates/services.html:12
|
|
||||||
msgid "Status"
|
|
||||||
msgstr "Etat"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:13
|
|
||||||
msgid "PID"
|
|
||||||
msgstr "PID"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:14
|
|
||||||
msgid "Image"
|
|
||||||
msgstr "Image"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:15
|
|
||||||
msgid "Started"
|
|
||||||
msgstr "Démarré depuis"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:16
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr "Dernière mise à jour"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:5
|
|
||||||
msgid "My account"
|
|
||||||
msgstr "Mon compte"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:8 mailu/admin/templates/user/list.html:35
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr "Préférences"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:18
|
|
||||||
#: mailu/admin/templates/user/list.html:36
|
|
||||||
msgid "Auto-forward"
|
|
||||||
msgstr "Redirection"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:23
|
|
||||||
#: mailu/admin/templates/user/list.html:37
|
|
||||||
msgid "Auto-reply"
|
|
||||||
msgstr "Réponse automatique"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:4
|
|
||||||
#: mailu/admin/templates/sidebar.html:28
|
|
||||||
#: mailu/admin/templates/user/list.html:38
|
|
||||||
msgid "Fetched accounts"
|
|
||||||
msgstr "Comptes externes"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:33
|
|
||||||
msgid "Sign out"
|
|
||||||
msgstr "Déconnexion"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:36
|
|
||||||
msgid "Administration"
|
|
||||||
msgstr "Administration"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:50
|
|
||||||
msgid "Administrators"
|
|
||||||
msgstr "Administrateurs"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:57
|
|
||||||
msgid "Mail domains"
|
|
||||||
msgstr "Domaines"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:64
|
|
||||||
msgid "Help"
|
|
||||||
msgstr "Aide"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/working.html:4
|
|
||||||
msgid "We are still working on this feature!"
|
|
||||||
msgstr "Cette fonctionnalité est en cours de développement !"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/create.html:4
|
|
||||||
msgid "Add a global administrator"
|
|
||||||
msgstr "Ajouter un administrateur global"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:4
|
|
||||||
msgid "Global administrators"
|
|
||||||
msgstr "Administrateurs globaux"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:9
|
|
||||||
msgid "Add administrator"
|
|
||||||
msgstr "Ajouter un administrateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:17
|
|
||||||
#: mailu/admin/templates/alias/list.html:19
|
|
||||||
#: mailu/admin/templates/domain/list.html:17
|
|
||||||
#: mailu/admin/templates/fetch/list.html:19
|
|
||||||
#: mailu/admin/templates/manager/list.html:19
|
|
||||||
#: mailu/admin/templates/user/list.html:19
|
|
||||||
msgid "Actions"
|
|
||||||
msgstr "Actions"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:18
|
|
||||||
#: mailu/admin/templates/alias/list.html:20
|
|
||||||
#: mailu/admin/templates/manager/list.html:20
|
|
||||||
#: mailu/admin/templates/user/list.html:21
|
|
||||||
msgid "Email"
|
|
||||||
msgstr "E-mail"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:23
|
|
||||||
#: mailu/admin/templates/alias/list.html:30
|
|
||||||
#: mailu/admin/templates/domain/list.html:32
|
|
||||||
#: mailu/admin/templates/fetch/list.html:31
|
|
||||||
#: mailu/admin/templates/manager/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:32
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr "Supprimer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/create.html:4
|
|
||||||
msgid "Create alias"
|
|
||||||
msgstr "Créer un alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/edit.html:4
|
|
||||||
msgid "Edit alias"
|
|
||||||
msgstr "Modifier un alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:4
|
|
||||||
msgid "Alias list"
|
|
||||||
msgstr "Liste des alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:12
|
|
||||||
msgid "Add alias"
|
|
||||||
msgstr "Ajouter un alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:23
|
|
||||||
#: mailu/admin/templates/domain/list.html:23
|
|
||||||
#: mailu/admin/templates/fetch/list.html:24
|
|
||||||
#: mailu/admin/templates/user/list.html:25
|
|
||||||
msgid "Created"
|
|
||||||
msgstr "Création"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:24
|
|
||||||
#: mailu/admin/templates/domain/list.html:24
|
|
||||||
#: mailu/admin/templates/fetch/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:26
|
|
||||||
msgid "Last edit"
|
|
||||||
msgstr "Dernière modification"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:29
|
|
||||||
#: mailu/admin/templates/domain/list.html:31
|
|
||||||
#: mailu/admin/templates/fetch/list.html:30
|
|
||||||
#: mailu/admin/templates/user/list.html:31
|
|
||||||
msgid "Edit"
|
|
||||||
msgstr "Modifier"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/create.html:4
|
|
||||||
#: mailu/admin/templates/domain/list.html:9
|
|
||||||
msgid "New domain"
|
|
||||||
msgstr "Nouveau domaine"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:4
|
|
||||||
msgid "Domain details"
|
|
||||||
msgstr "Détails du domaine"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:13
|
|
||||||
msgid "Regenerate keys"
|
|
||||||
msgstr "Regénérer les clés"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:25
|
|
||||||
msgid "DNS MX entry"
|
|
||||||
msgstr "Entrée DNS MX"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:29
|
|
||||||
msgid "DNS SPF entries"
|
|
||||||
msgstr "Entrées DNS SPF"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:36
|
|
||||||
msgid "DKIM public key"
|
|
||||||
msgstr "Clé publique DKIM"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:40
|
|
||||||
msgid "DNS DKIM entry"
|
|
||||||
msgstr "Entrée DNS DKIM"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:44
|
|
||||||
msgid "DNS DMARC entry"
|
|
||||||
msgstr "Entrée DNS DMARC"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/edit.html:4
|
|
||||||
msgid "Edit domain"
|
|
||||||
msgstr "Modifier le domaine"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:4
|
|
||||||
msgid "Domain list"
|
|
||||||
msgstr "Liste des domaines"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:18
|
|
||||||
msgid "Manage"
|
|
||||||
msgstr "Gérer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:20
|
|
||||||
msgid "Mailbox count"
|
|
||||||
msgstr "Nombre de boîtes mail"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:21
|
|
||||||
msgid "Alias count"
|
|
||||||
msgstr "Nombre d'alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:29
|
|
||||||
msgid "Details"
|
|
||||||
msgstr "Détails"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:36
|
|
||||||
msgid "Users"
|
|
||||||
msgstr "Utilisateurs"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:37
|
|
||||||
msgid "Aliases"
|
|
||||||
msgstr "Alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:38
|
|
||||||
msgid "Managers"
|
|
||||||
msgstr "Gérants"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/create.html:4
|
|
||||||
msgid "Add a fetched account"
|
|
||||||
msgstr "Ajouter un compte externe"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/edit.html:4
|
|
||||||
msgid "Update a fetched account"
|
|
||||||
msgstr "Modifier un compte externe"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:12
|
|
||||||
msgid "Add an account"
|
|
||||||
msgstr "Ajouter un compte"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:20
|
|
||||||
msgid "Endpoint"
|
|
||||||
msgstr "Source"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:22
|
|
||||||
msgid "Last check"
|
|
||||||
msgstr "Dernier relevé"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/create.html:4
|
|
||||||
msgid "Add a manager"
|
|
||||||
msgstr "Ajouter un gérant"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:4
|
|
||||||
msgid "Manager list"
|
|
||||||
msgstr "Liste des gérants"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:12
|
|
||||||
msgid "Add manager"
|
|
||||||
msgstr "Ajouter le gérant"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:125
|
|
||||||
msgid "Announcement subject"
|
|
||||||
msgstr "Sujet de l'annonce"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:127
|
|
||||||
msgid "Announcement body"
|
|
||||||
msgstr "Corps de l'annonce"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:129
|
|
||||||
msgid "Send"
|
|
||||||
msgstr "Envoyer"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:4
|
|
||||||
msgid "Public announcement"
|
|
||||||
msgstr "Annonce globale"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:8
|
|
||||||
msgid "from"
|
|
||||||
msgstr "de"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:45
|
|
||||||
msgid "Announcement"
|
|
||||||
msgstr "Annonce"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/create.html:4
|
|
||||||
msgid "New user"
|
|
||||||
msgstr "Nouvel utilisateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/edit.html:4
|
|
||||||
msgid "Edit user"
|
|
||||||
msgstr "Modifier l'utilisateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/forward.html:4
|
|
||||||
msgid "Forward emails"
|
|
||||||
msgstr "Faire suivre les emails"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:4
|
|
||||||
msgid "User list"
|
|
||||||
msgstr "Utilisateurs"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:12
|
|
||||||
msgid "Add user"
|
|
||||||
msgstr "Ajouter un utilisateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:20
|
|
||||||
#: mailu/admin/templates/user/settings.html:4
|
|
||||||
msgid "User settings"
|
|
||||||
msgstr "Options de l'utilisateur"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:22
|
|
||||||
msgid "Features"
|
|
||||||
msgstr "Fonctionnalités"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/password.html:4
|
|
||||||
msgid "Password update"
|
|
||||||
msgstr "Modifier le mot de passe"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/reply.html:4
|
|
||||||
msgid "Automatic reply"
|
|
||||||
msgstr "Réponse automatique"
|
|
||||||
|
|
||||||
@@ -1,518 +0,0 @@
|
|||||||
# Translations template for PROJECT.
|
|
||||||
# Copyright (C) 2016 ORGANIZATION
|
|
||||||
# This file is distributed under the same license as the PROJECT project.
|
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
|
||||||
#
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
||||||
"POT-Creation-Date: 2017-03-27 11:37-0300\n"
|
|
||||||
"PO-Revision-Date: 2017-03-27 11:43-0300\n"
|
|
||||||
"Last-Translator: \n"
|
|
||||||
"Language-Team: \n"
|
|
||||||
"Language: pt_BR\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 2.3.4\n"
|
|
||||||
"X-Generator: Poedit 1.8.9\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
|
||||||
"X-Poedit-Basepath: .\n"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:32
|
|
||||||
msgid "Invalid email address."
|
|
||||||
msgstr "Endereço de e-mail inválido"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:36
|
|
||||||
msgid "Confirm"
|
|
||||||
msgstr "Confirmar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:40 mailu/admin/forms.py:54
|
|
||||||
msgid "E-mail"
|
|
||||||
msgstr "E-mail"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:41 mailu/admin/forms.py:55 mailu/admin/forms.py:72
|
|
||||||
#: mailu/admin/forms.py:120
|
|
||||||
msgid "Password"
|
|
||||||
msgstr "Senha"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:42 mailu/admin/templates/login.html:9
|
|
||||||
#: mailu/admin/templates/login.html:17
|
|
||||||
msgid "Sign in"
|
|
||||||
msgstr "Entrar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:46 mailu/admin/templates/domain/details.html:21
|
|
||||||
#: mailu/admin/templates/domain/list.html:19
|
|
||||||
msgid "Domain name"
|
|
||||||
msgstr "Domínio"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:47
|
|
||||||
msgid "Maximum user count"
|
|
||||||
msgstr "Quantidade máxima de usuários"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:48
|
|
||||||
msgid "Maximum alias count"
|
|
||||||
msgstr "Quantidade máxima de alias"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:49 mailu/admin/forms.py:60 mailu/admin/forms.py:98
|
|
||||||
#: mailu/admin/templates/alias/list.html:22
|
|
||||||
#: mailu/admin/templates/domain/list.html:22
|
|
||||||
#: mailu/admin/templates/user/list.html:24
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr "Comentário"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:50 mailu/admin/forms.py:99
|
|
||||||
msgid "Create"
|
|
||||||
msgstr "Criar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:56
|
|
||||||
msgid "Confirm password"
|
|
||||||
msgstr "Confirmar senha"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:57 mailu/admin/templates/user/list.html:23
|
|
||||||
msgid "Quota"
|
|
||||||
msgstr "Quota"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:58
|
|
||||||
msgid "Allow IMAP access"
|
|
||||||
msgstr "Permitir acesso IMAP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:59
|
|
||||||
msgid "Allow POP3 access"
|
|
||||||
msgstr "Permitir acesso POP3"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:61
|
|
||||||
msgid "Save"
|
|
||||||
msgstr "Salvar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:65
|
|
||||||
msgid "Displayed name"
|
|
||||||
msgstr "Nome de exibição"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:66
|
|
||||||
msgid "Enable spam filter"
|
|
||||||
msgstr "Habilitar filtro de spam"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:67
|
|
||||||
msgid "Spam filter threshold"
|
|
||||||
msgstr "Limite de filtro de spam"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:68
|
|
||||||
msgid "Save settings"
|
|
||||||
msgstr "Salvar configurações"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:73
|
|
||||||
msgid "Password check"
|
|
||||||
msgstr "Confirmação de senha"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:74 mailu/admin/templates/sidebar.html:13
|
|
||||||
msgid "Update password"
|
|
||||||
msgstr "Alterar senha"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:78
|
|
||||||
msgid "Enable forwarding"
|
|
||||||
msgstr "Habilitar encaminhamento"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:80 mailu/admin/forms.py:97
|
|
||||||
#: mailu/admin/templates/alias/list.html:21
|
|
||||||
msgid "Destination"
|
|
||||||
msgstr "Destinatário"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:82 mailu/admin/forms.py:90
|
|
||||||
msgid "Update"
|
|
||||||
msgstr "Atualizar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:86
|
|
||||||
msgid "Enable automatic reply"
|
|
||||||
msgstr "Habilitar resposta automática"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:87
|
|
||||||
msgid "Reply subject"
|
|
||||||
msgstr "Assunto da resposta"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:88
|
|
||||||
msgid "Reply body"
|
|
||||||
msgstr "Corpo da resposta"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:94
|
|
||||||
msgid "Alias"
|
|
||||||
msgstr "Alias"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:96
|
|
||||||
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
|
||||||
msgstr "Usar sintaxe estilo SQL(ex: for catch-all aliases)"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:103
|
|
||||||
msgid "Admin email"
|
|
||||||
msgstr "E-mail do administrador"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:104 mailu/admin/forms.py:109 mailu/admin/forms.py:121
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr "Enviar"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:108
|
|
||||||
msgid "Manager email"
|
|
||||||
msgstr "E-mail do gerente"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:113
|
|
||||||
msgid "Protocol"
|
|
||||||
msgstr "Protocolo"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:116
|
|
||||||
msgid "Hostname or IP"
|
|
||||||
msgstr "Hostname ou IP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:117
|
|
||||||
msgid "TCP port"
|
|
||||||
msgstr "Porta TCP"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:118
|
|
||||||
msgid "Enable TLS"
|
|
||||||
msgstr "Habilitar TLS"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:119 mailu/admin/templates/fetch/list.html:21
|
|
||||||
msgid "Username"
|
|
||||||
msgstr "Usuário"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:121
|
|
||||||
msgid "Keep emails on the server"
|
|
||||||
msgstr "Manter os e-mails no servidor"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:125
|
|
||||||
msgid "Announcement subject"
|
|
||||||
msgstr "Título do comunicado"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:127
|
|
||||||
msgid "Announcement body"
|
|
||||||
msgstr "Corpo do comunicado"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:129
|
|
||||||
msgid "Send"
|
|
||||||
msgstr "Enviar"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:4
|
|
||||||
msgid "Public announcement"
|
|
||||||
msgstr "Comunicado geral"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:8
|
|
||||||
msgid "from"
|
|
||||||
msgstr "de"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:4
|
|
||||||
msgid "Confirm action"
|
|
||||||
msgstr "Confirmar ação"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:12
|
|
||||||
#, python-format
|
|
||||||
msgid "You are about to %(action)s. Please confirm your action."
|
|
||||||
msgstr "Por favor, confirme a(s) %(action)s"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:4
|
|
||||||
msgid "Docker error"
|
|
||||||
msgstr "Erro no docker"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:12
|
|
||||||
msgid "An error occurred while talking to the Docker server."
|
|
||||||
msgstr "Um erro foi encontrado na conexão com o servidor Docker"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:6
|
|
||||||
msgid "Your account"
|
|
||||||
msgstr "Sua conta"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:21
|
|
||||||
msgid "to access the administration tools"
|
|
||||||
msgstr "para acessar as ferramentas administrativas"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:4 mailu/admin/templates/sidebar.html:40
|
|
||||||
msgid "Services status"
|
|
||||||
msgstr "Status do serviço"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:11
|
|
||||||
msgid "Service"
|
|
||||||
msgstr "Serviço"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:23
|
|
||||||
#: mailu/admin/templates/services.html:12
|
|
||||||
msgid "Status"
|
|
||||||
msgstr "Status"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:13
|
|
||||||
msgid "PID"
|
|
||||||
msgstr "PID"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:14
|
|
||||||
msgid "Image"
|
|
||||||
msgstr "Imagem"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:15
|
|
||||||
msgid "Started"
|
|
||||||
msgstr "Iniciado"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:16
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr "Última atualização"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:5
|
|
||||||
msgid "My account"
|
|
||||||
msgstr "Minha conta"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:8 mailu/admin/templates/user/list.html:35
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr "Configurações"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:18
|
|
||||||
#: mailu/admin/templates/user/list.html:36
|
|
||||||
msgid "Auto-forward"
|
|
||||||
msgstr "Encaminhamento automático"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:23
|
|
||||||
#: mailu/admin/templates/user/list.html:37
|
|
||||||
msgid "Auto-reply"
|
|
||||||
msgstr "Resposta automática"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:4
|
|
||||||
#: mailu/admin/templates/sidebar.html:28
|
|
||||||
#: mailu/admin/templates/user/list.html:38
|
|
||||||
msgid "Fetched accounts"
|
|
||||||
msgstr "Contas importadas"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:33
|
|
||||||
msgid "Sign out"
|
|
||||||
msgstr "Sair"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:36
|
|
||||||
msgid "Administration"
|
|
||||||
msgstr "Administração"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:45
|
|
||||||
msgid "Announcement"
|
|
||||||
msgstr "Comunicado"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:50
|
|
||||||
msgid "Administrators"
|
|
||||||
msgstr "Administradores"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:57
|
|
||||||
msgid "Mail domains"
|
|
||||||
msgstr "Domínios de e-mail"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:64
|
|
||||||
msgid "Help"
|
|
||||||
msgstr "Ajuda"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/working.html:4
|
|
||||||
msgid "We are still working on this feature!"
|
|
||||||
msgstr "Nós ainda estamos trabalhando nesta função!"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/create.html:4
|
|
||||||
msgid "Add a global administrator"
|
|
||||||
msgstr "Adicionar administrador global"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:4
|
|
||||||
msgid "Global administrators"
|
|
||||||
msgstr "Administradores globais"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:9
|
|
||||||
msgid "Add administrator"
|
|
||||||
msgstr "Adicionar administrador"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:17
|
|
||||||
#: mailu/admin/templates/alias/list.html:19
|
|
||||||
#: mailu/admin/templates/domain/list.html:17
|
|
||||||
#: mailu/admin/templates/fetch/list.html:19
|
|
||||||
#: mailu/admin/templates/manager/list.html:19
|
|
||||||
#: mailu/admin/templates/user/list.html:19
|
|
||||||
msgid "Actions"
|
|
||||||
msgstr "Ações"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:18
|
|
||||||
#: mailu/admin/templates/alias/list.html:20
|
|
||||||
#: mailu/admin/templates/manager/list.html:20
|
|
||||||
#: mailu/admin/templates/user/list.html:21
|
|
||||||
msgid "Email"
|
|
||||||
msgstr "Email"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:23
|
|
||||||
#: mailu/admin/templates/alias/list.html:30
|
|
||||||
#: mailu/admin/templates/domain/list.html:32
|
|
||||||
#: mailu/admin/templates/fetch/list.html:31
|
|
||||||
#: mailu/admin/templates/manager/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:32
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr "Deletar"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/create.html:4
|
|
||||||
msgid "Create alias"
|
|
||||||
msgstr "Criar alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/edit.html:4
|
|
||||||
msgid "Edit alias"
|
|
||||||
msgstr "Editar alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:4
|
|
||||||
msgid "Alias list"
|
|
||||||
msgstr "Lista de alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:12
|
|
||||||
msgid "Add alias"
|
|
||||||
msgstr "Adicionar alias"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:23
|
|
||||||
#: mailu/admin/templates/domain/list.html:23
|
|
||||||
#: mailu/admin/templates/fetch/list.html:24
|
|
||||||
#: mailu/admin/templates/user/list.html:25
|
|
||||||
msgid "Created"
|
|
||||||
msgstr "Criado"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:24
|
|
||||||
#: mailu/admin/templates/domain/list.html:24
|
|
||||||
#: mailu/admin/templates/fetch/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:26
|
|
||||||
msgid "Last edit"
|
|
||||||
msgstr "Última edição"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:29
|
|
||||||
#: mailu/admin/templates/domain/list.html:31
|
|
||||||
#: mailu/admin/templates/fetch/list.html:30
|
|
||||||
#: mailu/admin/templates/user/list.html:31
|
|
||||||
msgid "Edit"
|
|
||||||
msgstr "Editar"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/create.html:4
|
|
||||||
#: mailu/admin/templates/domain/list.html:9
|
|
||||||
msgid "New domain"
|
|
||||||
msgstr "Novo domínio"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:4
|
|
||||||
msgid "Domain details"
|
|
||||||
msgstr "Detalhes do domínio"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:13
|
|
||||||
msgid "Regenerate keys"
|
|
||||||
msgstr "Gerar novas chaves"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:25
|
|
||||||
msgid "DNS MX entry"
|
|
||||||
msgstr "Entrada DNS MX"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:29
|
|
||||||
msgid "DNS SPF entries"
|
|
||||||
msgstr "Entrada DNS SPF"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:36
|
|
||||||
msgid "DKIM public key"
|
|
||||||
msgstr "Chave pública do DKIM"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:40
|
|
||||||
msgid "DNS DKIM entry"
|
|
||||||
msgstr "Entrada DNS DKIM"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:44
|
|
||||||
msgid "DNS DMARC entry"
|
|
||||||
msgstr "Entrada DNS DMARC"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/edit.html:4
|
|
||||||
msgid "Edit domain"
|
|
||||||
msgstr "Editar domínio"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:4
|
|
||||||
msgid "Domain list"
|
|
||||||
msgstr "Lista de domínios"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:18
|
|
||||||
msgid "Manage"
|
|
||||||
msgstr "Gerenciar"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:20
|
|
||||||
msgid "Mailbox count"
|
|
||||||
msgstr "Quantidade de caixas de e-mail"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:21
|
|
||||||
msgid "Alias count"
|
|
||||||
msgstr "Quantidade de aliases"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:29
|
|
||||||
msgid "Details"
|
|
||||||
msgstr "Detalhes"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:36
|
|
||||||
msgid "Users"
|
|
||||||
msgstr "Usuários"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:37
|
|
||||||
msgid "Aliases"
|
|
||||||
msgstr "Aliases"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:38
|
|
||||||
msgid "Managers"
|
|
||||||
msgstr "Gerentes"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/create.html:4
|
|
||||||
msgid "Add a fetched account"
|
|
||||||
msgstr "Adicionar conta a importar"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/edit.html:4
|
|
||||||
msgid "Update a fetched account"
|
|
||||||
msgstr "Atualizar conta importada"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:12
|
|
||||||
msgid "Add an account"
|
|
||||||
msgstr "Adicionar uma conta"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:20
|
|
||||||
msgid "Endpoint"
|
|
||||||
msgstr "Endpoint"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:22
|
|
||||||
msgid "Last check"
|
|
||||||
msgstr "Última verificação"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/create.html:4
|
|
||||||
msgid "Add a manager"
|
|
||||||
msgstr "Adicionar gerente"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:4
|
|
||||||
msgid "Manager list"
|
|
||||||
msgstr "Lista de gerentes"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:12
|
|
||||||
msgid "Add manager"
|
|
||||||
msgstr "Adicionar gerente"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/create.html:4
|
|
||||||
msgid "New user"
|
|
||||||
msgstr "Novo usuário"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/edit.html:4
|
|
||||||
msgid "Edit user"
|
|
||||||
msgstr "Editar usuário"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/forward.html:4
|
|
||||||
msgid "Forward emails"
|
|
||||||
msgstr "Encaminhar e-mails"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:4
|
|
||||||
msgid "User list"
|
|
||||||
msgstr "Lista de usuários"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:12
|
|
||||||
msgid "Add user"
|
|
||||||
msgstr "Adicionar usuário"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:20
|
|
||||||
#: mailu/admin/templates/user/settings.html:4
|
|
||||||
msgid "User settings"
|
|
||||||
msgstr "Configurações de usuário"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:22
|
|
||||||
msgid "Features"
|
|
||||||
msgstr "Funcionalidades"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/password.html:4
|
|
||||||
msgid "Password update"
|
|
||||||
msgstr "Atualizar senha"
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/reply.html:4
|
|
||||||
msgid "Automatic reply"
|
|
||||||
msgstr "Resposta automática"
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
from mailu import manager, db
|
|
||||||
from mailu.admin import models
|
|
||||||
|
|
||||||
import os
|
|
||||||
import socket
|
|
||||||
import uuid
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def advertise():
|
|
||||||
""" Advertise this server against statistic services.
|
|
||||||
"""
|
|
||||||
filepath = "/data/instance"
|
|
||||||
endpoint = "14.{}.stats.mailu.io"
|
|
||||||
if os.path.isfile(filepath):
|
|
||||||
with open(filepath, "r") as handle:
|
|
||||||
instance_id = handle.read()
|
|
||||||
else:
|
|
||||||
instance_id = str(uuid.uuid4())
|
|
||||||
with open(filepath, "w") as handle:
|
|
||||||
handle.write(instance_id)
|
|
||||||
try:
|
|
||||||
socket.gethostbyname(endpoint.format(instance_id))
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def flushdb():
|
|
||||||
""" Flush the database
|
|
||||||
"""
|
|
||||||
db.drop_all()
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def initdb():
|
|
||||||
""" Initialize the database
|
|
||||||
"""
|
|
||||||
db.create_all()
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def admin(localpart, domain_name, password):
|
|
||||||
""" Create an admin user
|
|
||||||
"""
|
|
||||||
domain = models.Domain.query.get(domain_name)
|
|
||||||
if not domain:
|
|
||||||
domain = models.Domain(name=domain_name)
|
|
||||||
db.session.add(domain)
|
|
||||||
user = models.User(
|
|
||||||
localpart=localpart,
|
|
||||||
domain=domain,
|
|
||||||
global_admin=True
|
|
||||||
)
|
|
||||||
user.set_password(password)
|
|
||||||
db.session.add(user)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def user(localpart, domain_name, password):
|
|
||||||
""" Create an user
|
|
||||||
"""
|
|
||||||
domain = models.Domain.query.get(domain_name)
|
|
||||||
if not domain:
|
|
||||||
domain = models.Domain(name=domain_name)
|
|
||||||
db.session.add(domain)
|
|
||||||
user = models.User(
|
|
||||||
localpart=localpart,
|
|
||||||
domain=domain,
|
|
||||||
global_admin=False
|
|
||||||
)
|
|
||||||
user.set_password(password)
|
|
||||||
db.session.add(user)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
@manager.command
|
|
||||||
def alias(localpart, domain_name, destination):
|
|
||||||
""" Create an alias
|
|
||||||
"""
|
|
||||||
domain = models.Domain.query.get(domain_name)
|
|
||||||
if not domain:
|
|
||||||
domain = models.Domain(name=domain_name)
|
|
||||||
db.session.add(domain)
|
|
||||||
alias = models.Alias(
|
|
||||||
localpart=localpart,
|
|
||||||
domain=domain,
|
|
||||||
destination=destination.split(','),
|
|
||||||
email="%s@%s" % (localpart, domain_name)
|
|
||||||
)
|
|
||||||
db.session.add(alias)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
manager.run()
|
|
||||||
@@ -1,512 +0,0 @@
|
|||||||
# Translations template for PROJECT.
|
|
||||||
# Copyright (C) 2016 ORGANIZATION
|
|
||||||
# This file is distributed under the same license as the PROJECT project.
|
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
|
||||||
#
|
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
|
||||||
msgstr ""
|
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
|
||||||
"POT-Creation-Date: 2016-11-10 10:52+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"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 2.3.4\n"
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:32
|
|
||||||
msgid "Invalid email address."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:36
|
|
||||||
msgid "Confirm"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:40 mailu/admin/forms.py:54
|
|
||||||
msgid "E-mail"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:41 mailu/admin/forms.py:55 mailu/admin/forms.py:72
|
|
||||||
#: mailu/admin/forms.py:120
|
|
||||||
msgid "Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:42 mailu/admin/templates/login.html:9
|
|
||||||
#: mailu/admin/templates/login.html:17
|
|
||||||
msgid "Sign in"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:46 mailu/admin/templates/domain/details.html:21
|
|
||||||
#: mailu/admin/templates/domain/list.html:19
|
|
||||||
msgid "Domain name"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:47
|
|
||||||
msgid "Maximum user count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:48
|
|
||||||
msgid "Maximum alias count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:49 mailu/admin/forms.py:60 mailu/admin/forms.py:98
|
|
||||||
#: mailu/admin/templates/alias/list.html:22
|
|
||||||
#: mailu/admin/templates/domain/list.html:22
|
|
||||||
#: mailu/admin/templates/user/list.html:24
|
|
||||||
msgid "Comment"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:50 mailu/admin/forms.py:99
|
|
||||||
msgid "Create"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:56
|
|
||||||
msgid "Confirm password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:57 mailu/admin/templates/user/list.html:23
|
|
||||||
msgid "Quota"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:58
|
|
||||||
msgid "Allow IMAP access"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:59
|
|
||||||
msgid "Allow POP3 access"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:61
|
|
||||||
msgid "Save"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:65
|
|
||||||
msgid "Displayed name"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:66
|
|
||||||
msgid "Enable spam filter"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:67
|
|
||||||
msgid "Spam filter threshold"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:68
|
|
||||||
msgid "Save settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:73
|
|
||||||
msgid "Password check"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:74 mailu/admin/templates/sidebar.html:13
|
|
||||||
msgid "Update password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:78
|
|
||||||
msgid "Enable forwarding"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:80 mailu/admin/forms.py:97
|
|
||||||
#: mailu/admin/templates/alias/list.html:21
|
|
||||||
msgid "Destination"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:82 mailu/admin/forms.py:90
|
|
||||||
msgid "Update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:86
|
|
||||||
msgid "Enable automatic reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:87
|
|
||||||
msgid "Reply subject"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:88
|
|
||||||
msgid "Reply body"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:94
|
|
||||||
msgid "Alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:96
|
|
||||||
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:103
|
|
||||||
msgid "Admin email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:104 mailu/admin/forms.py:109 mailu/admin/forms.py:121
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:108
|
|
||||||
msgid "Manager email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:113
|
|
||||||
msgid "Protocol"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:116
|
|
||||||
msgid "Hostname or IP"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:117
|
|
||||||
msgid "TCP port"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:118
|
|
||||||
msgid "Enable TLS"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:119 mailu/admin/templates/fetch/list.html:21
|
|
||||||
msgid "Username"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:125
|
|
||||||
msgid "Announcement subject"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:127
|
|
||||||
msgid "Announcement body"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/forms.py:129
|
|
||||||
msgid "Send"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:4
|
|
||||||
msgid "Public announcement"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/announcement.html:8
|
|
||||||
msgid "from"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:4
|
|
||||||
msgid "Confirm action"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/confirm.html:12
|
|
||||||
#, python-format
|
|
||||||
msgid "You are about to %(action)s. Please confirm your action."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:4
|
|
||||||
msgid "Docker error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/docker-error.html:12
|
|
||||||
msgid "An error occurred while talking to the Docker server."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:6
|
|
||||||
msgid "Your account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/login.html:21
|
|
||||||
msgid "to access the administration tools"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:4 mailu/admin/templates/sidebar.html:40
|
|
||||||
msgid "Services status"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:11
|
|
||||||
msgid "Service"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:23
|
|
||||||
#: mailu/admin/templates/services.html:12
|
|
||||||
msgid "Status"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:13
|
|
||||||
msgid "PID"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:14
|
|
||||||
msgid "Image"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:15
|
|
||||||
msgid "Started"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/services.html:16
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:5
|
|
||||||
msgid "My account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:8 mailu/admin/templates/user/list.html:35
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:18
|
|
||||||
#: mailu/admin/templates/user/list.html:36
|
|
||||||
msgid "Auto-forward"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:23
|
|
||||||
#: mailu/admin/templates/user/list.html:37
|
|
||||||
msgid "Auto-reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:4
|
|
||||||
#: mailu/admin/templates/sidebar.html:28
|
|
||||||
#: mailu/admin/templates/user/list.html:38
|
|
||||||
msgid "Fetched accounts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:33
|
|
||||||
msgid "Sign out"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:36
|
|
||||||
msgid "Administration"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:45
|
|
||||||
msgid "Announcement"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:50
|
|
||||||
msgid "Administrators"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:57
|
|
||||||
msgid "Mail domains"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/sidebar.html:64
|
|
||||||
msgid "Help"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/working.html:4
|
|
||||||
msgid "We are still working on this feature!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/create.html:4
|
|
||||||
msgid "Add a global administrator"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:4
|
|
||||||
msgid "Global administrators"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:9
|
|
||||||
msgid "Add administrator"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:17
|
|
||||||
#: mailu/admin/templates/alias/list.html:19
|
|
||||||
#: mailu/admin/templates/domain/list.html:17
|
|
||||||
#: mailu/admin/templates/fetch/list.html:19
|
|
||||||
#: mailu/admin/templates/manager/list.html:19
|
|
||||||
#: mailu/admin/templates/user/list.html:19
|
|
||||||
msgid "Actions"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:18
|
|
||||||
#: mailu/admin/templates/alias/list.html:20
|
|
||||||
#: mailu/admin/templates/manager/list.html:20
|
|
||||||
#: mailu/admin/templates/user/list.html:21
|
|
||||||
msgid "Email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/admin/list.html:23
|
|
||||||
#: mailu/admin/templates/alias/list.html:30
|
|
||||||
#: mailu/admin/templates/domain/list.html:32
|
|
||||||
#: mailu/admin/templates/fetch/list.html:31
|
|
||||||
#: mailu/admin/templates/manager/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:32
|
|
||||||
msgid "Delete"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/create.html:4
|
|
||||||
msgid "Create alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/edit.html:4
|
|
||||||
msgid "Edit alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:4
|
|
||||||
msgid "Alias list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:12
|
|
||||||
msgid "Add alias"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:23
|
|
||||||
#: mailu/admin/templates/domain/list.html:23
|
|
||||||
#: mailu/admin/templates/fetch/list.html:24
|
|
||||||
#: mailu/admin/templates/user/list.html:25
|
|
||||||
msgid "Created"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:24
|
|
||||||
#: mailu/admin/templates/domain/list.html:24
|
|
||||||
#: mailu/admin/templates/fetch/list.html:25
|
|
||||||
#: mailu/admin/templates/user/list.html:26
|
|
||||||
msgid "Last edit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/alias/list.html:29
|
|
||||||
#: mailu/admin/templates/domain/list.html:31
|
|
||||||
#: mailu/admin/templates/fetch/list.html:30
|
|
||||||
#: mailu/admin/templates/user/list.html:31
|
|
||||||
msgid "Edit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/create.html:4
|
|
||||||
#: mailu/admin/templates/domain/list.html:9
|
|
||||||
msgid "New domain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:4
|
|
||||||
msgid "Domain details"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:13
|
|
||||||
msgid "Regenerate keys"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:25
|
|
||||||
msgid "DNS MX entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:29
|
|
||||||
msgid "DNS SPF entries"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:36
|
|
||||||
msgid "DKIM public key"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:40
|
|
||||||
msgid "DNS DKIM entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/details.html:44
|
|
||||||
msgid "DNS DMARC entry"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/edit.html:4
|
|
||||||
msgid "Edit domain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:4
|
|
||||||
msgid "Domain list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:18
|
|
||||||
msgid "Manage"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:20
|
|
||||||
msgid "Mailbox count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:21
|
|
||||||
msgid "Alias count"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:29
|
|
||||||
msgid "Details"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:36
|
|
||||||
msgid "Users"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:37
|
|
||||||
msgid "Aliases"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/domain/list.html:38
|
|
||||||
msgid "Managers"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/create.html:4
|
|
||||||
msgid "Add a fetched account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/edit.html:4
|
|
||||||
msgid "Update a fetched account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:12
|
|
||||||
msgid "Add an account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:20
|
|
||||||
msgid "Endpoint"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/fetch/list.html:22
|
|
||||||
msgid "Last check"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/create.html:4
|
|
||||||
msgid "Add a manager"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:4
|
|
||||||
msgid "Manager list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/manager/list.html:12
|
|
||||||
msgid "Add manager"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/create.html:4
|
|
||||||
msgid "New user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/edit.html:4
|
|
||||||
msgid "Edit user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/forward.html:4
|
|
||||||
msgid "Forward emails"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:4
|
|
||||||
msgid "User list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:12
|
|
||||||
msgid "Add user"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:20
|
|
||||||
#: mailu/admin/templates/user/settings.html:4
|
|
||||||
msgid "User settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/list.html:22
|
|
||||||
msgid "Features"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/password.html:4
|
|
||||||
msgid "Password update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: mailu/admin/templates/user/reply.html:4
|
|
||||||
msgid "Automatic reply"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
"""Set the spam threshold as an integer
|
|
||||||
|
|
||||||
Revision ID: 12e9a4f6ed73
|
|
||||||
Revises: 27ae2f102682
|
|
||||||
Create Date: 2016-11-08 20:22:54.169833
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '12e9a4f6ed73'
|
|
||||||
down_revision = '27ae2f102682'
|
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
from mailu.admin import models
|
|
||||||
from mailu import db
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# Make sure that every value is already an Integer
|
|
||||||
for user in models.User.query.all():
|
|
||||||
user.spam_threshold = int(user.spam_threshold)
|
|
||||||
db.session.commit()
|
|
||||||
# Migrate the table
|
|
||||||
with op.batch_alter_table('user') as batch:
|
|
||||||
batch.alter_column(
|
|
||||||
'spam_threshold', existing_type=db.Numeric(), type_=db.Integer())
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# Migrate the table
|
|
||||||
with op.batch_alter_table('user') as batch:
|
|
||||||
batch.alter_column(
|
|
||||||
'spam_threshold', existing_type=db.Integer(), type_=db.Numeric())
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
"""spam_threshold in percent
|
|
||||||
|
|
||||||
Revision ID: 27ae2f102682
|
|
||||||
Revises: dc8c25cf5b98
|
|
||||||
Create Date: 2016-09-30 08:06:15.025190
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '27ae2f102682'
|
|
||||||
down_revision = 'dc8c25cf5b98'
|
|
||||||
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
from mailu.admin.models import User
|
|
||||||
from mailu import db
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# spam_threshold is a X/15 based value, we're converting it to percent.
|
|
||||||
for user in User.query.all():
|
|
||||||
user.spam_threshold = int(100. * float(user.spam_threshold or 0.) / 15.)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# set default to 80%
|
|
||||||
with op.batch_alter_table('user') as batch:
|
|
||||||
batch.alter_column('spam_threshold', default=80.)
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# spam_threshold is a X/15 based value, we're converting it from percent.
|
|
||||||
for user in User.query.all():
|
|
||||||
user.spam_threshold = int(15. * float(user.spam_threshold or 0.) / 100.)
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# set default to 10/15
|
|
||||||
with op.batch_alter_table('user') as batch:
|
|
||||||
batch.alter_column('spam_threshold', default=10.)
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
os.environ["DEBUG"] = "True"
|
|
||||||
from mailu import app
|
|
||||||
app.run()
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
python manage.py advertise
|
|
||||||
python manage.py db upgrade
|
|
||||||
gunicorn -w 4 -b 0.0.0.0:80 --access-logfile - --error-logfile - --preload mailu:app
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
FROM alpine
|
|
||||||
|
|
||||||
RUN apk add --no-cache clamav rsyslog wget
|
|
||||||
|
|
||||||
COPY conf /etc/clamav
|
|
||||||
COPY start.sh /start.sh
|
|
||||||
|
|
||||||
CMD ["/start.sh"]
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Bootstrap the database if clamav is running for the first time
|
|
||||||
[ -f /data/main.cvd ] || freshclam
|
|
||||||
|
|
||||||
# Run the update daemon
|
|
||||||
freshclam -d -c 6
|
|
||||||
|
|
||||||
# Run clamav
|
|
||||||
clamd
|
|
||||||
4
core/admin/.gitignore
vendored
Normal file
4
core/admin/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.fg/
|
||||||
|
lib64
|
||||||
|
.vscode
|
||||||
|
tags
|
||||||
28
core/admin/Dockerfile
Normal file
28
core/admin/Dockerfile
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
FROM alpine:3.8
|
||||||
|
# python3 shared with most images
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
python3 py3-pip \
|
||||||
|
&& pip3 install --upgrade pip
|
||||||
|
# Image specific layers under this line
|
||||||
|
RUN mkdir -p /app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY requirements-prod.txt requirements.txt
|
||||||
|
RUN apk add --no-cache openssl curl \
|
||||||
|
&& apk add --no-cache --virtual build-dep openssl-dev libffi-dev python3-dev build-base \
|
||||||
|
&& pip3 install -r requirements.txt \
|
||||||
|
&& apk del --no-cache build-dep
|
||||||
|
|
||||||
|
COPY mailu ./mailu
|
||||||
|
COPY migrations ./migrations
|
||||||
|
COPY start.py /start.py
|
||||||
|
|
||||||
|
RUN pybabel compile -d mailu/translations
|
||||||
|
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
VOLUME ["/data","/dkim"]
|
||||||
|
ENV FLASK_APP mailu
|
||||||
|
|
||||||
|
CMD /start.py
|
||||||
|
|
||||||
|
HEALTHCHECK CMD curl -f -L http://localhost/ui/login?next=ui.index || exit 1
|
||||||
12
core/admin/README.md
Normal file
12
core/admin/README.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Mailu Admin container
|
||||||
|
=====================
|
||||||
|
|
||||||
|
This is the web-based administrative interface for the Mailu containerized
|
||||||
|
mail server.
|
||||||
|
|
||||||
|
Resources
|
||||||
|
---------
|
||||||
|
|
||||||
|
* [Report issues](https://github.com/Mailu/Mailu/issues) and
|
||||||
|
[send Pull Requests](https://github.com/Mailu/Mailu/pulls)
|
||||||
|
in the [main Mailu repository](https://github.com/Mailu/Mailu)
|
||||||
56
core/admin/mailu/__init__.py
Normal file
56
core/admin/mailu/__init__.py
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import flask
|
||||||
|
import flask_bootstrap
|
||||||
|
|
||||||
|
from mailu import utils, debug, models, manage, configuration
|
||||||
|
|
||||||
|
|
||||||
|
def create_app_from_config(config):
|
||||||
|
""" Create a new application based on the given configuration
|
||||||
|
"""
|
||||||
|
app = flask.Flask(__name__)
|
||||||
|
app.cli.add_command(manage.mailu)
|
||||||
|
|
||||||
|
# Bootstrap is used for basic JS and CSS loading
|
||||||
|
# TODO: remove this and use statically generated assets instead
|
||||||
|
app.bootstrap = flask_bootstrap.Bootstrap(app)
|
||||||
|
|
||||||
|
# Initialize application extensions
|
||||||
|
config.init_app(app)
|
||||||
|
models.db.init_app(app)
|
||||||
|
utils.limiter.init_app(app)
|
||||||
|
utils.babel.init_app(app)
|
||||||
|
utils.login.init_app(app)
|
||||||
|
utils.login.user_loader(models.User.get)
|
||||||
|
utils.proxy.init_app(app)
|
||||||
|
utils.migrate.init_app(app, models.db)
|
||||||
|
|
||||||
|
# Initialize debugging tools
|
||||||
|
if app.config.get("DEBUG"):
|
||||||
|
debug.toolbar.init_app(app)
|
||||||
|
# TODO: add a specific configuration variable for profiling
|
||||||
|
# debug.profiler.init_app(app)
|
||||||
|
|
||||||
|
# Inject the default variables in the Jinja parser
|
||||||
|
# TODO: move this to blueprints when needed
|
||||||
|
@app.context_processor
|
||||||
|
def inject_defaults():
|
||||||
|
signup_domains = models.Domain.query.filter_by(signup_enabled=True).all()
|
||||||
|
return dict(
|
||||||
|
signup_domains=signup_domains,
|
||||||
|
config=app.config
|
||||||
|
)
|
||||||
|
|
||||||
|
# Import views
|
||||||
|
from mailu import ui, internal
|
||||||
|
app.register_blueprint(ui.ui, url_prefix='/ui')
|
||||||
|
app.register_blueprint(internal.internal, url_prefix='/internal')
|
||||||
|
|
||||||
|
return app
|
||||||
|
|
||||||
|
|
||||||
|
def create_app():
|
||||||
|
""" Create a new application based on the config module
|
||||||
|
"""
|
||||||
|
config = configuration.ConfigManager()
|
||||||
|
return create_app_from_config(config)
|
||||||
|
|
||||||
91
core/admin/mailu/configuration.py
Normal file
91
core/admin/mailu/configuration.py
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
DEFAULT_CONFIG = {
|
||||||
|
# Specific to the admin UI
|
||||||
|
'SQLALCHEMY_DATABASE_URI': 'sqlite:////data/main.db',
|
||||||
|
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
|
||||||
|
'DOCKER_SOCKET': 'unix:///var/run/docker.sock',
|
||||||
|
'BABEL_DEFAULT_LOCALE': 'en',
|
||||||
|
'BABEL_DEFAULT_TIMEZONE': 'UTC',
|
||||||
|
'BOOTSTRAP_SERVE_LOCAL': True,
|
||||||
|
'RATELIMIT_STORAGE_URL': 'redis://redis/2',
|
||||||
|
'QUOTA_STORAGE_URL': 'redis://redis/1',
|
||||||
|
'DEBUG': False,
|
||||||
|
'DOMAIN_REGISTRATION': False,
|
||||||
|
'TEMPLATES_AUTO_RELOAD': True,
|
||||||
|
# Statistics management
|
||||||
|
'INSTANCE_ID_PATH': '/data/instance',
|
||||||
|
'STATS_ENDPOINT': '0.{}.stats.mailu.io',
|
||||||
|
# Common configuration variables
|
||||||
|
'SECRET_KEY': 'changeMe',
|
||||||
|
'DOMAIN': 'mailu.io',
|
||||||
|
'HOSTNAMES': 'mail.mailu.io,alternative.mailu.io,yetanother.mailu.io',
|
||||||
|
'POSTMASTER': 'postmaster',
|
||||||
|
'TLS_FLAVOR': 'cert',
|
||||||
|
'AUTH_RATELIMIT': '10/minute;1000/hour',
|
||||||
|
'DISABLE_STATISTICS': 'False',
|
||||||
|
# Mail settings
|
||||||
|
'DMARC_RUA': None,
|
||||||
|
'DMARC_RUF': None,
|
||||||
|
'WELCOME': 'False',
|
||||||
|
'WELCOME_SUBJECT': 'Dummy welcome topic',
|
||||||
|
'WELCOME_BODY': 'Dummy welcome body',
|
||||||
|
'DKIM_SELECTOR': 'dkim',
|
||||||
|
'DKIM_PATH': '/dkim/{domain}.{selector}.key',
|
||||||
|
'DEFAULT_QUOTA': 1000000000,
|
||||||
|
# Web settings
|
||||||
|
'SITENAME': 'Mailu',
|
||||||
|
'WEBSITE': 'https://mailu.io',
|
||||||
|
'WEB_ADMIN': '/admin',
|
||||||
|
'WEB_WEBMAIL': '/webmail',
|
||||||
|
'RECAPTCHA_PUBLIC_KEY': '',
|
||||||
|
'RECAPTCHA_PRIVATE_KEY': '',
|
||||||
|
# Advanced settings
|
||||||
|
'PASSWORD_SCHEME': 'BLF-CRYPT',
|
||||||
|
# Host settings
|
||||||
|
'HOST_IMAP': 'imap',
|
||||||
|
'HOST_POP3': 'imap',
|
||||||
|
'HOST_SMTP': 'smtp',
|
||||||
|
'HOST_WEBMAIL': 'webmail',
|
||||||
|
'HOST_FRONT': 'front',
|
||||||
|
'HOST_AUTHSMTP': os.environ.get('HOST_SMTP', 'smtp'),
|
||||||
|
'SUBNET': '192.168.203.0/24',
|
||||||
|
'POD_ADDRESS_RANGE': None
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigManager(dict):
|
||||||
|
""" Naive configuration manager that uses environment only
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.config = dict()
|
||||||
|
|
||||||
|
def init_app(self, app):
|
||||||
|
self.config.update(app.config)
|
||||||
|
self.config.update({
|
||||||
|
key: os.environ.get(key, value)
|
||||||
|
for key, value in DEFAULT_CONFIG.items()
|
||||||
|
})
|
||||||
|
app.config = self
|
||||||
|
|
||||||
|
def setdefault(self, key, value):
|
||||||
|
if key not in self.config:
|
||||||
|
self.config[key] = value
|
||||||
|
return self.config[key]
|
||||||
|
|
||||||
|
def get(self, *args):
|
||||||
|
return self.config.get(*args)
|
||||||
|
|
||||||
|
def keys(self):
|
||||||
|
return self.config.keys()
|
||||||
|
|
||||||
|
def __getitem__(self, key):
|
||||||
|
return self.config.get(key)
|
||||||
|
|
||||||
|
def __setitem__(self, key, value):
|
||||||
|
self.config[key] = value
|
||||||
|
|
||||||
|
def __contains__(self, key):
|
||||||
|
return key in self.config
|
||||||
17
core/admin/mailu/debug.py
Normal file
17
core/admin/mailu/debug.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import flask_debugtoolbar
|
||||||
|
|
||||||
|
from werkzeug.contrib import profiler as werkzeug_profiler
|
||||||
|
|
||||||
|
|
||||||
|
# Debugging toolbar
|
||||||
|
toolbar = flask_debugtoolbar.DebugToolbarExtension()
|
||||||
|
|
||||||
|
|
||||||
|
# Profiler
|
||||||
|
class Profiler(object):
|
||||||
|
def init_app(self, app):
|
||||||
|
app.wsgi_app = werkzeug_profiler.ProfilerMiddleware(
|
||||||
|
app.wsgi_app, restrictions=[30]
|
||||||
|
)
|
||||||
|
|
||||||
|
profiler = Profiler()
|
||||||
31
core/admin/mailu/internal/__init__.py
Normal file
31
core/admin/mailu/internal/__init__.py
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
from flask_limiter import RateLimitExceeded
|
||||||
|
|
||||||
|
from mailu import utils
|
||||||
|
|
||||||
|
import socket
|
||||||
|
import flask
|
||||||
|
|
||||||
|
|
||||||
|
internal = flask.Blueprint('internal', __name__, template_folder='templates')
|
||||||
|
|
||||||
|
|
||||||
|
@internal.app_errorhandler(RateLimitExceeded)
|
||||||
|
def rate_limit_handler(e):
|
||||||
|
response = flask.Response()
|
||||||
|
response.headers['Auth-Status'] = 'Authentication rate limit from one source exceeded'
|
||||||
|
response.headers['Auth-Error-Code'] = '451 4.3.2'
|
||||||
|
if int(flask.request.headers['Auth-Login-Attempt']) < 10:
|
||||||
|
response.headers['Auth-Wait'] = '3'
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@utils.limiter.request_filter
|
||||||
|
def whitelist_webmail():
|
||||||
|
try:
|
||||||
|
return flask.request.headers["Client-Ip"] ==\
|
||||||
|
socket.gethostbyname("webmail")
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
from mailu.internal.views import *
|
||||||
93
core/admin/mailu/internal/nginx.py
Normal file
93
core/admin/mailu/internal/nginx.py
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
from mailu import models
|
||||||
|
from flask import current_app as app
|
||||||
|
|
||||||
|
import re
|
||||||
|
import socket
|
||||||
|
import urllib
|
||||||
|
|
||||||
|
|
||||||
|
SUPPORTED_AUTH_METHODS = ["none", "plain"]
|
||||||
|
|
||||||
|
|
||||||
|
STATUSES = {
|
||||||
|
"authentication": ("Authentication credentials invalid", {
|
||||||
|
"imap": "AUTHENTICATIONFAILED",
|
||||||
|
"smtp": "535 5.7.8",
|
||||||
|
"pop3": "-ERR Authentication failed"
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def handle_authentication(headers):
|
||||||
|
""" Handle an HTTP nginx authentication request
|
||||||
|
See: http://nginx.org/en/docs/mail/ngx_mail_auth_http_module.html#protocol
|
||||||
|
"""
|
||||||
|
method = headers["Auth-Method"]
|
||||||
|
protocol = headers["Auth-Protocol"]
|
||||||
|
# Incoming mail, no authentication
|
||||||
|
if method == "none" and protocol == "smtp":
|
||||||
|
server, port = get_server(headers["Auth-Protocol"], False)
|
||||||
|
return {
|
||||||
|
"Auth-Status": "OK",
|
||||||
|
"Auth-Server": server,
|
||||||
|
"Auth-Port": port
|
||||||
|
}
|
||||||
|
# Authenticated user
|
||||||
|
elif method == "plain":
|
||||||
|
server, port = get_server(headers["Auth-Protocol"], True)
|
||||||
|
user_email = urllib.parse.unquote(headers["Auth-User"])
|
||||||
|
password = urllib.parse.unquote(headers["Auth-Pass"])
|
||||||
|
ip = urllib.parse.unquote(headers["Client-Ip"])
|
||||||
|
user = models.User.query.get(user_email)
|
||||||
|
status = False
|
||||||
|
if user:
|
||||||
|
for token in user.tokens:
|
||||||
|
if (token.check_password(password) and
|
||||||
|
(not token.ip or token.ip == ip)):
|
||||||
|
status = True
|
||||||
|
if user.check_password(password):
|
||||||
|
status = True
|
||||||
|
if status:
|
||||||
|
if protocol == "imap" and not user.enable_imap:
|
||||||
|
status = False
|
||||||
|
elif protocol == "pop3" and not user.enable_pop:
|
||||||
|
status = False
|
||||||
|
if status and user.enabled:
|
||||||
|
return {
|
||||||
|
"Auth-Status": "OK",
|
||||||
|
"Auth-Server": server,
|
||||||
|
"Auth-Port": port
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
status, code = get_status(protocol, "authentication")
|
||||||
|
return {
|
||||||
|
"Auth-Status": status,
|
||||||
|
"Auth-Error-Code": code,
|
||||||
|
"Auth-Wait": 0
|
||||||
|
}
|
||||||
|
# Unexpected
|
||||||
|
return {}
|
||||||
|
|
||||||
|
|
||||||
|
def get_status(protocol, status):
|
||||||
|
""" Return the proper error code depending on the protocol
|
||||||
|
"""
|
||||||
|
status, codes = STATUSES[status]
|
||||||
|
return status, codes[protocol]
|
||||||
|
|
||||||
|
def extract_host_port(host_and_port, default_port):
|
||||||
|
host, _, port = re.match('^(.*)(:([0-9]*))?$', host_and_port).groups()
|
||||||
|
return host, int(port) if port else default_port
|
||||||
|
|
||||||
|
def get_server(protocol, authenticated=False):
|
||||||
|
if protocol == "imap":
|
||||||
|
hostname, port = extract_host_port(app.config['HOST_IMAP'], 143)
|
||||||
|
elif protocol == "pop3":
|
||||||
|
hostname, port = extract_host_port(app.config['HOST_POP3'], 110)
|
||||||
|
elif protocol == "smtp":
|
||||||
|
if authenticated:
|
||||||
|
hostname, port = extract_host_port(app.config['HOST_AUTHSMTP'], 10025)
|
||||||
|
else:
|
||||||
|
hostname, port = extract_host_port(app.config['HOST_SMTP'], 25)
|
||||||
|
address = socket.gethostbyname(hostname)
|
||||||
|
return address, port
|
||||||
37
core/admin/mailu/internal/templates/default.sieve
Normal file
37
core/admin/mailu/internal/templates/default.sieve
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
require "variables";
|
||||||
|
require "vacation";
|
||||||
|
require "fileinto";
|
||||||
|
require "envelope";
|
||||||
|
require "mailbox";
|
||||||
|
require "imap4flags";
|
||||||
|
require "regex";
|
||||||
|
require "relational";
|
||||||
|
require "date";
|
||||||
|
require "comparator-i;ascii-numeric";
|
||||||
|
require "spamtestplus";
|
||||||
|
require "editheader";
|
||||||
|
require "index";
|
||||||
|
|
||||||
|
if header :index 2 :matches "Received" "from * by * for <*>; *"
|
||||||
|
{
|
||||||
|
deleteheader "Delivered-To";
|
||||||
|
addheader "Delivered-To" "<${3}>";
|
||||||
|
}
|
||||||
|
|
||||||
|
{% if user.spam_enabled %}
|
||||||
|
if spamtest :percent :value "gt" :comparator "i;ascii-numeric" "{{ user.spam_threshold }}"
|
||||||
|
{
|
||||||
|
setflag "\\seen";
|
||||||
|
fileinto :create "Junk";
|
||||||
|
stop;
|
||||||
|
}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
if exists "X-Virus" {
|
||||||
|
discard;
|
||||||
|
stop;
|
||||||
|
}
|
||||||
|
|
||||||
|
{% if user.reply_active %}
|
||||||
|
vacation :days 1 :subject "{{ user.reply_subject }}" "{{ user.reply_body }}";
|
||||||
|
{% endif %}
|
||||||
3
core/admin/mailu/internal/views/__init__.py
Normal file
3
core/admin/mailu/internal/views/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
__all__ = [
|
||||||
|
'auth', 'postfix', 'dovecot', 'fetch'
|
||||||
|
]
|
||||||
51
core/admin/mailu/internal/views/auth.py
Normal file
51
core/admin/mailu/internal/views/auth.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
from mailu import models, utils
|
||||||
|
from mailu.internal import internal, nginx
|
||||||
|
from flask import current_app as app
|
||||||
|
|
||||||
|
import flask
|
||||||
|
import flask_login
|
||||||
|
import base64
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/auth/email")
|
||||||
|
@utils.limiter.limit(
|
||||||
|
lambda: app.config["AUTH_RATELIMIT"],
|
||||||
|
lambda: flask.request.headers["Client-Ip"]
|
||||||
|
)
|
||||||
|
def nginx_authentication():
|
||||||
|
""" Main authentication endpoint for Nginx email server
|
||||||
|
"""
|
||||||
|
headers = nginx.handle_authentication(flask.request.headers)
|
||||||
|
response = flask.Response()
|
||||||
|
for key, value in headers.items():
|
||||||
|
response.headers[key] = str(value)
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/auth/admin")
|
||||||
|
def admin_authentication():
|
||||||
|
""" Fails if the user is not an authenticated admin.
|
||||||
|
"""
|
||||||
|
if (not flask_login.current_user.is_anonymous
|
||||||
|
and flask_login.current_user.global_admin
|
||||||
|
and flask_login.current_user.enabled):
|
||||||
|
return ""
|
||||||
|
return flask.abort(403)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/auth/basic")
|
||||||
|
def basic_authentication():
|
||||||
|
""" Tries to authenticate using the Authorization header.
|
||||||
|
"""
|
||||||
|
authorization = flask.request.headers.get("Authorization")
|
||||||
|
if authorization and authorization.startswith("Basic "):
|
||||||
|
encoded = authorization.replace("Basic ", "")
|
||||||
|
user_email, password = base64.b64decode(encoded).split(b":")
|
||||||
|
user = models.User.query.get(user_email.decode("utf8"))
|
||||||
|
if user and user.enabled and user.check_password(password.decode("utf8")):
|
||||||
|
response = flask.Response()
|
||||||
|
response.headers["X-User"] = user.email
|
||||||
|
return response
|
||||||
|
response = flask.Response(status=401)
|
||||||
|
response.headers["WWW-Authenticate"] = 'Basic realm="Login Required"'
|
||||||
|
return response
|
||||||
48
core/admin/mailu/internal/views/dovecot.py
Normal file
48
core/admin/mailu/internal/views/dovecot.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
from mailu import models
|
||||||
|
from mailu.internal import internal
|
||||||
|
from flask import current_app as app
|
||||||
|
|
||||||
|
import flask
|
||||||
|
import socket
|
||||||
|
import os
|
||||||
|
|
||||||
|
@internal.route("/dovecot/passdb/<user_email>")
|
||||||
|
def dovecot_passdb_dict(user_email):
|
||||||
|
user = models.User.query.get(user_email) or flask.abort(404)
|
||||||
|
allow_nets = []
|
||||||
|
allow_nets.append(app.config["SUBNET"])
|
||||||
|
if app.config["POD_ADDRESS_RANGE"]:
|
||||||
|
allow_nets.append(app.config["POD_ADDRESS_RANGE"])
|
||||||
|
return flask.jsonify({
|
||||||
|
"password": None,
|
||||||
|
"nopassword": "Y",
|
||||||
|
"allow_nets": ",".join(allow_nets)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/dovecot/userdb/<user_email>")
|
||||||
|
def dovecot_userdb_dict(user_email):
|
||||||
|
user = models.User.query.get(user_email) or flask.abort(404)
|
||||||
|
return flask.jsonify({
|
||||||
|
"quota_rule": "*:bytes={}".format(user.quota_bytes)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/dovecot/quota/<ns>/<user_email>", methods=["POST"])
|
||||||
|
def dovecot_quota(ns, user_email):
|
||||||
|
user = models.User.query.get(user_email) or flask.abort(404)
|
||||||
|
if ns == "storage":
|
||||||
|
user.quota_bytes_used = flask.request.get_json()
|
||||||
|
models.db.session.commit()
|
||||||
|
return flask.jsonify(None)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/dovecot/sieve/name/<script>/<user_email>")
|
||||||
|
def dovecot_sieve_name(script, user_email):
|
||||||
|
return flask.jsonify(script)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/dovecot/sieve/data/default/<user_email>")
|
||||||
|
def dovecot_sieve_data(user_email):
|
||||||
|
user = models.User.query.get(user_email) or flask.abort(404)
|
||||||
|
return flask.jsonify(flask.render_template("default.sieve", user=user))
|
||||||
32
core/admin/mailu/internal/views/fetch.py
Normal file
32
core/admin/mailu/internal/views/fetch.py
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
from mailu import models
|
||||||
|
from mailu.internal import internal
|
||||||
|
|
||||||
|
import flask
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/fetch")
|
||||||
|
def fetch_list():
|
||||||
|
return flask.jsonify([
|
||||||
|
{
|
||||||
|
"id": fetch.id,
|
||||||
|
"tls": fetch.tls,
|
||||||
|
"keep": fetch.keep,
|
||||||
|
"user_email": fetch.user_email,
|
||||||
|
"protocol": fetch.protocol,
|
||||||
|
"host": fetch.host,
|
||||||
|
"port": fetch.port,
|
||||||
|
"username": fetch.username,
|
||||||
|
"password": fetch.password
|
||||||
|
} for fetch in models.Fetch.query.all()
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/fetch/<fetch_id>", methods=["POST"])
|
||||||
|
def fetch_done(fetch_id):
|
||||||
|
fetch = models.Fetch.query.get(fetch_id) or flask.abort(404)
|
||||||
|
fetch.last_check = datetime.datetime.now()
|
||||||
|
fetch.error_message = str(flask.request.get_json())
|
||||||
|
models.db.session.add(fetch)
|
||||||
|
models.db.session.commit()
|
||||||
|
return ""
|
||||||
53
core/admin/mailu/internal/views/postfix.py
Normal file
53
core/admin/mailu/internal/views/postfix.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
from mailu import models
|
||||||
|
from mailu.internal import internal
|
||||||
|
|
||||||
|
import flask
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/domain/<domain_name>")
|
||||||
|
def postfix_mailbox_domain(domain_name):
|
||||||
|
domain = models.Domain.query.get(domain_name) or \
|
||||||
|
models.Alternative.query.get(domain_name) or \
|
||||||
|
flask.abort(404)
|
||||||
|
return flask.jsonify(domain.name)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/mailbox/<email>")
|
||||||
|
def postfix_mailbox_map(email):
|
||||||
|
user = models.User.query.get(email) or flask.abort(404)
|
||||||
|
return flask.jsonify(user.email)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/alias/<alias>")
|
||||||
|
def postfix_alias_map(alias):
|
||||||
|
localpart, domain_name = models.Email.resolve_domain(alias)
|
||||||
|
if localpart is None:
|
||||||
|
return flask.jsonify(domain_name)
|
||||||
|
destination = models.Email.resolve_destination(localpart, domain_name)
|
||||||
|
return flask.jsonify(",".join(destination)) if destination else flask.abort(404)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/transport/<email>")
|
||||||
|
def postfix_transport(email):
|
||||||
|
if email == '*':
|
||||||
|
return flask.abort(404)
|
||||||
|
localpart, domain_name = models.Email.resolve_domain(email)
|
||||||
|
relay = models.Relay.query.get(domain_name) or flask.abort(404)
|
||||||
|
return flask.jsonify("smtp:[{}]".format(relay.smtp))
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/sender/login/<sender>")
|
||||||
|
def postfix_sender_login(sender):
|
||||||
|
localpart, domain_name = models.Email.resolve_domain(sender)
|
||||||
|
if localpart is None:
|
||||||
|
return flask.abort(404)
|
||||||
|
destination = models.Email.resolve_destination(localpart, domain_name, True)
|
||||||
|
return flask.jsonify(",".join(destination)) if destination else flask.abort(404)
|
||||||
|
|
||||||
|
|
||||||
|
@internal.route("/postfix/sender/access/<sender>")
|
||||||
|
def postfix_sender_access(sender):
|
||||||
|
""" Simply reject any sender that pretends to be from a local domain
|
||||||
|
"""
|
||||||
|
localpart, domain_name = models.Email.resolve_domain(sender)
|
||||||
|
return flask.jsonify("REJECT") if models.Domain.query.get(domain_name) else flask.abort(404)
|
||||||
345
core/admin/mailu/manage.py
Normal file
345
core/admin/mailu/manage.py
Normal file
@@ -0,0 +1,345 @@
|
|||||||
|
from mailu import models
|
||||||
|
|
||||||
|
from flask import current_app as app
|
||||||
|
from flask import cli as flask_cli
|
||||||
|
|
||||||
|
import flask
|
||||||
|
import os
|
||||||
|
import socket
|
||||||
|
import uuid
|
||||||
|
import click
|
||||||
|
|
||||||
|
|
||||||
|
db = models.db
|
||||||
|
|
||||||
|
|
||||||
|
@click.group()
|
||||||
|
def mailu(cls=flask_cli.FlaskGroup):
|
||||||
|
""" Mailu command line
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def advertise():
|
||||||
|
""" Advertise this server against statistic services.
|
||||||
|
"""
|
||||||
|
if os.path.isfile(app.config["INSTANCE_ID_PATH"]):
|
||||||
|
with open(app.config["INSTANCE_ID_PATH"], "r") as handle:
|
||||||
|
instance_id = handle.read()
|
||||||
|
else:
|
||||||
|
instance_id = str(uuid.uuid4())
|
||||||
|
with open(app.config["INSTANCE_ID_PATH"], "w") as handle:
|
||||||
|
handle.write(instance_id)
|
||||||
|
if app.config["DISABLE_STATISTICS"].lower() != "true":
|
||||||
|
try:
|
||||||
|
socket.gethostbyname(app.config["STATS_ENDPOINT"].format(instance_id))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('localpart')
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('password')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def admin(localpart, domain_name, password):
|
||||||
|
""" Create an admin user
|
||||||
|
"""
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
user = models.User(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
global_admin=True
|
||||||
|
)
|
||||||
|
user.set_password(password)
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('localpart')
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('password')
|
||||||
|
@click.argument('hash_scheme')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def user(localpart, domain_name, password, hash_scheme=None):
|
||||||
|
""" Create a user
|
||||||
|
"""
|
||||||
|
if hash_scheme is None:
|
||||||
|
hash_scheme = app.config['PASSWORD_SCHEME']
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
user = models.User(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
global_admin=False
|
||||||
|
)
|
||||||
|
user.set_password(password, hash_scheme=hash_scheme)
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.option('-n', '--domain_name')
|
||||||
|
@click.option('-u', '--max_users')
|
||||||
|
@click.option('-a', '--max_aliases')
|
||||||
|
@click.option('-q', '--max_quota_bytes')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def domain(domain_name, max_users=0, max_aliases=0, max_quota_bytes=0):
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('localpart')
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('password_hash')
|
||||||
|
@click.argument('hash_scheme')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def user_import(localpart, domain_name, password_hash, hash_scheme = None):
|
||||||
|
""" Import a user along with password hash.
|
||||||
|
"""
|
||||||
|
if hash_scheme is None:
|
||||||
|
hash_scheme = app.config['PASSWORD_SCHEME']
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
user = models.User(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
global_admin=False
|
||||||
|
)
|
||||||
|
user.set_password(password_hash, hash_scheme=hash_scheme, raw=True)
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.option('-v', '--verbose')
|
||||||
|
@click.option('-d', '--delete_objects')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def config_update(verbose=False, delete_objects=False):
|
||||||
|
"""sync configuration with data from YAML-formatted stdin"""
|
||||||
|
import yaml
|
||||||
|
import sys
|
||||||
|
new_config = yaml.load(sys.stdin)
|
||||||
|
# print new_config
|
||||||
|
domains = new_config.get('domains', [])
|
||||||
|
tracked_domains = set()
|
||||||
|
for domain_config in domains:
|
||||||
|
if verbose:
|
||||||
|
print(str(domain_config))
|
||||||
|
domain_name = domain_config['name']
|
||||||
|
max_users = domain_config.get('max_users', 0)
|
||||||
|
max_aliases = domain_config.get('max_aliases', 0)
|
||||||
|
max_quota_bytes = domain_config.get('max_quota_bytes', 0)
|
||||||
|
tracked_domains.add(domain_name)
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name,
|
||||||
|
max_users=max_users,
|
||||||
|
max_aliases=max_aliases,
|
||||||
|
max_quota_bytes=max_quota_bytes)
|
||||||
|
db.session.add(domain)
|
||||||
|
print("Added " + str(domain_config))
|
||||||
|
else:
|
||||||
|
domain.max_users = max_users
|
||||||
|
domain.max_aliases = max_aliases
|
||||||
|
domain.max_quota_bytes = max_quota_bytes
|
||||||
|
db.session.add(domain)
|
||||||
|
print("Updated " + str(domain_config))
|
||||||
|
|
||||||
|
users = new_config.get('users', [])
|
||||||
|
tracked_users = set()
|
||||||
|
user_optional_params = ('comment', 'quota_bytes', 'global_admin',
|
||||||
|
'enable_imap', 'enable_pop', 'forward_enabled',
|
||||||
|
'forward_destination', 'reply_enabled',
|
||||||
|
'reply_subject', 'reply_body', 'displayed_name',
|
||||||
|
'spam_enabled', 'email', 'spam_threshold')
|
||||||
|
for user_config in users:
|
||||||
|
if verbose:
|
||||||
|
print(str(user_config))
|
||||||
|
localpart = user_config['localpart']
|
||||||
|
domain_name = user_config['domain']
|
||||||
|
password_hash = user_config.get('password_hash', None)
|
||||||
|
hash_scheme = user_config.get('hash_scheme', None)
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
email = '{0}@{1}'.format(localpart, domain_name)
|
||||||
|
optional_params = {}
|
||||||
|
for k in user_optional_params:
|
||||||
|
if k in user_config:
|
||||||
|
optional_params[k] = user_config[k]
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
user = models.User.query.get(email)
|
||||||
|
tracked_users.add(email)
|
||||||
|
tracked_domains.add(domain_name)
|
||||||
|
if not user:
|
||||||
|
user = models.User(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
**optional_params
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
for k in optional_params:
|
||||||
|
setattr(user, k, optional_params[k])
|
||||||
|
user.set_password(password_hash, hash_scheme=hash_scheme, raw=True)
|
||||||
|
db.session.add(user)
|
||||||
|
|
||||||
|
aliases = new_config.get('aliases', [])
|
||||||
|
tracked_aliases = set()
|
||||||
|
for alias_config in aliases:
|
||||||
|
if verbose:
|
||||||
|
print(str(alias_config))
|
||||||
|
localpart = alias_config['localpart']
|
||||||
|
domain_name = alias_config['domain']
|
||||||
|
if type(alias_config['destination']) is str:
|
||||||
|
destination = alias_config['destination'].split(',')
|
||||||
|
else:
|
||||||
|
destination = alias_config['destination']
|
||||||
|
wildcard = alias_config.get('wildcard', False)
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
email = '{0}@{1}'.format(localpart, domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
alias = models.Alias.query.get(email)
|
||||||
|
tracked_aliases.add(email)
|
||||||
|
tracked_domains.add(domain_name)
|
||||||
|
if not alias:
|
||||||
|
alias = models.Alias(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
wildcard=wildcard,
|
||||||
|
destination=destination,
|
||||||
|
email=email
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
alias.destination = destination
|
||||||
|
alias.wildcard = wildcard
|
||||||
|
db.session.add(alias)
|
||||||
|
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
managers = new_config.get('managers', [])
|
||||||
|
# tracked_managers=set()
|
||||||
|
for manager_config in managers:
|
||||||
|
if verbose:
|
||||||
|
print(str(manager_config))
|
||||||
|
domain_name = manager_config['domain']
|
||||||
|
user_name = manager_config['user']
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
manageruser = models.User.query.get(user_name + '@' + domain_name)
|
||||||
|
if manageruser not in domain.managers:
|
||||||
|
domain.managers.append(manageruser)
|
||||||
|
db.session.add(domain)
|
||||||
|
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
if delete_objects:
|
||||||
|
for user in db.session.query(models.User).all():
|
||||||
|
if not (user.email in tracked_users):
|
||||||
|
if verbose:
|
||||||
|
print("Deleting user: " + str(user.email))
|
||||||
|
db.session.delete(user)
|
||||||
|
for alias in db.session.query(models.Alias).all():
|
||||||
|
if not (alias.email in tracked_aliases):
|
||||||
|
if verbose:
|
||||||
|
print("Deleting alias: " + str(alias.email))
|
||||||
|
db.session.delete(alias)
|
||||||
|
for domain in db.session.query(models.Domain).all():
|
||||||
|
if not (domain.name in tracked_domains):
|
||||||
|
if verbose:
|
||||||
|
print("Deleting domain: " + str(domain.name))
|
||||||
|
db.session.delete(domain)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('email')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def user_delete(email):
|
||||||
|
"""delete user"""
|
||||||
|
user = models.User.query.get(email)
|
||||||
|
if user:
|
||||||
|
db.session.delete(user)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('email')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def alias_delete(email):
|
||||||
|
"""delete alias"""
|
||||||
|
alias = models.Alias.query.get(email)
|
||||||
|
if alias:
|
||||||
|
db.session.delete(alias)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('localpart')
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('destination')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def alias(localpart, domain_name, destination):
|
||||||
|
""" Create an alias
|
||||||
|
"""
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
if not domain:
|
||||||
|
domain = models.Domain(name=domain_name)
|
||||||
|
db.session.add(domain)
|
||||||
|
alias = models.Alias(
|
||||||
|
localpart=localpart,
|
||||||
|
domain=domain,
|
||||||
|
destination=destination.split(','),
|
||||||
|
email="%s@%s" % (localpart, domain_name)
|
||||||
|
)
|
||||||
|
db.session.add(alias)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('max_users')
|
||||||
|
@click.argument('max_aliases')
|
||||||
|
@click.argument('max_quota_bytes')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def setlimits(domain_name, max_users, max_aliases, max_quota_bytes):
|
||||||
|
""" Set domain limits
|
||||||
|
"""
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
domain.max_users = max_users
|
||||||
|
domain.max_aliases = max_aliases
|
||||||
|
domain.max_quota_bytes = max_quota_bytes
|
||||||
|
db.session.add(domain)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
@mailu.command()
|
||||||
|
@click.argument('domain_name')
|
||||||
|
@click.argument('user_name')
|
||||||
|
@flask_cli.with_appcontext
|
||||||
|
def setmanager(domain_name, user_name='manager'):
|
||||||
|
""" Make a user manager of a domain
|
||||||
|
"""
|
||||||
|
domain = models.Domain.query.get(domain_name)
|
||||||
|
manageruser = models.User.query.get(user_name + '@' + domain_name)
|
||||||
|
domain.managers.append(manageruser)
|
||||||
|
db.session.add(domain)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
cli()
|
||||||
474
core/admin/mailu/models.py
Normal file
474
core/admin/mailu/models.py
Normal file
@@ -0,0 +1,474 @@
|
|||||||
|
from mailu import dkim
|
||||||
|
|
||||||
|
from sqlalchemy.ext import declarative
|
||||||
|
from passlib import context, hash
|
||||||
|
from datetime import datetime, date
|
||||||
|
from email.mime import text
|
||||||
|
from flask import current_app as app
|
||||||
|
|
||||||
|
import flask_sqlalchemy
|
||||||
|
import sqlalchemy
|
||||||
|
import re
|
||||||
|
import time
|
||||||
|
import os
|
||||||
|
import glob
|
||||||
|
import smtplib
|
||||||
|
import idna
|
||||||
|
import dns
|
||||||
|
|
||||||
|
|
||||||
|
db = flask_sqlalchemy.SQLAlchemy()
|
||||||
|
|
||||||
|
|
||||||
|
class IdnaDomain(db.TypeDecorator):
|
||||||
|
""" Stores a Unicode string in it's IDNA representation (ASCII only)
|
||||||
|
"""
|
||||||
|
|
||||||
|
impl = db.String(80)
|
||||||
|
|
||||||
|
def process_bind_param(self, value, dialect):
|
||||||
|
return idna.encode(value).decode("ascii")
|
||||||
|
|
||||||
|
def process_result_value(self, value, dialect):
|
||||||
|
return idna.decode(value)
|
||||||
|
|
||||||
|
|
||||||
|
class IdnaEmail(db.TypeDecorator):
|
||||||
|
""" Stores a Unicode string in it's IDNA representation (ASCII only)
|
||||||
|
"""
|
||||||
|
|
||||||
|
impl = db.String(255, collation="NOCASE")
|
||||||
|
|
||||||
|
def process_bind_param(self, value, dialect):
|
||||||
|
try:
|
||||||
|
localpart, domain_name = value.split('@')
|
||||||
|
return "{0}@{1}".format(
|
||||||
|
localpart,
|
||||||
|
idna.encode(domain_name).decode('ascii'),
|
||||||
|
)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def process_result_value(self, value, dialect):
|
||||||
|
localpart, domain_name = value.split('@')
|
||||||
|
return "{0}@{1}".format(
|
||||||
|
localpart,
|
||||||
|
idna.decode(domain_name),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CommaSeparatedList(db.TypeDecorator):
|
||||||
|
""" Stores a list as a comma-separated string, compatible with Postfix.
|
||||||
|
"""
|
||||||
|
|
||||||
|
impl = db.String
|
||||||
|
|
||||||
|
def process_bind_param(self, value, dialect):
|
||||||
|
if type(value) is not list:
|
||||||
|
raise TypeError("Shoud be a list")
|
||||||
|
for item in value:
|
||||||
|
if "," in item:
|
||||||
|
raise ValueError("No item should contain a comma")
|
||||||
|
return ",".join(value)
|
||||||
|
|
||||||
|
def process_result_value(self, value, dialect):
|
||||||
|
return filter(bool, value.split(",")) if value else []
|
||||||
|
|
||||||
|
|
||||||
|
class JSONEncoded(db.TypeDecorator):
|
||||||
|
"""Represents an immutable structure as a json-encoded string.
|
||||||
|
"""
|
||||||
|
|
||||||
|
impl = db.String
|
||||||
|
|
||||||
|
def process_bind_param(self, value, dialect):
|
||||||
|
return json.dumps(value) if value else None
|
||||||
|
|
||||||
|
def process_result_value(self, value, dialect):
|
||||||
|
return json.loads(value) if value else None
|
||||||
|
|
||||||
|
|
||||||
|
class Config(db.Model):
|
||||||
|
""" In-database configuration values
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = db.Column(db.String(255), primary_key=True, nullable=False)
|
||||||
|
value = db.Column(JSONEncoded)
|
||||||
|
|
||||||
|
|
||||||
|
# Many-to-many association table for domain managers
|
||||||
|
managers = db.Table('manager',
|
||||||
|
db.Column('domain_name', IdnaDomain, db.ForeignKey('domain.name')),
|
||||||
|
db.Column('user_email', IdnaEmail, db.ForeignKey('user.email'))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Base(db.Model):
|
||||||
|
""" Base class for all models
|
||||||
|
"""
|
||||||
|
|
||||||
|
__abstract__ = True
|
||||||
|
|
||||||
|
created_at = db.Column(db.Date, nullable=False, default=datetime.now)
|
||||||
|
updated_at = db.Column(db.Date, nullable=True, onupdate=datetime.now)
|
||||||
|
comment = db.Column(db.String(255), nullable=True)
|
||||||
|
|
||||||
|
|
||||||
|
class Domain(Base):
|
||||||
|
""" A DNS domain that has mail addresses associated to it.
|
||||||
|
"""
|
||||||
|
__tablename__ = "domain"
|
||||||
|
|
||||||
|
name = db.Column(IdnaDomain, primary_key=True, nullable=False)
|
||||||
|
managers = db.relationship('User', secondary=managers,
|
||||||
|
backref=db.backref('manager_of'), lazy='dynamic')
|
||||||
|
max_users = db.Column(db.Integer, nullable=False, default=0)
|
||||||
|
max_aliases = db.Column(db.Integer, nullable=False, default=0)
|
||||||
|
max_quota_bytes = db.Column(db.Integer(), nullable=False, default=0)
|
||||||
|
signup_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def dkim_key(self):
|
||||||
|
file_path = app.config["DKIM_PATH"].format(
|
||||||
|
domain=self.name, selector=app.config["DKIM_SELECTOR"])
|
||||||
|
if os.path.exists(file_path):
|
||||||
|
with open(file_path, "rb") as handle:
|
||||||
|
return handle.read()
|
||||||
|
|
||||||
|
@dkim_key.setter
|
||||||
|
def dkim_key(self, value):
|
||||||
|
file_path = app.config["DKIM_PATH"].format(
|
||||||
|
domain=self.name, selector=app.config["DKIM_SELECTOR"])
|
||||||
|
with open(file_path, "wb") as handle:
|
||||||
|
handle.write(value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def dkim_publickey(self):
|
||||||
|
dkim_key = self.dkim_key
|
||||||
|
if dkim_key:
|
||||||
|
return dkim.strip_key(self.dkim_key).decode("utf8")
|
||||||
|
|
||||||
|
def generate_dkim_key(self):
|
||||||
|
self.dkim_key = dkim.gen_key()
|
||||||
|
|
||||||
|
def has_email(self, localpart):
|
||||||
|
for email in self.users + self.aliases:
|
||||||
|
if email.localpart == localpart:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def check_mx(self):
|
||||||
|
try:
|
||||||
|
hostnames = app.config['HOSTNAMES'].split(',')
|
||||||
|
return any(
|
||||||
|
str(rset).split()[-1][:-1] in hostnames
|
||||||
|
for rset in dns.resolver.query(self.name, 'MX')
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
def __eq__(self, other):
|
||||||
|
try:
|
||||||
|
return self.name == other.name
|
||||||
|
except AttributeError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
class Alternative(Base):
|
||||||
|
""" Alternative name for a served domain.
|
||||||
|
The name "domain alias" was avoided to prevent some confusion.
|
||||||
|
"""
|
||||||
|
|
||||||
|
__tablename__ = "alternative"
|
||||||
|
|
||||||
|
name = db.Column(IdnaDomain, primary_key=True, nullable=False)
|
||||||
|
domain_name = db.Column(IdnaDomain, db.ForeignKey(Domain.name))
|
||||||
|
domain = db.relationship(Domain,
|
||||||
|
backref=db.backref('alternatives', cascade='all, delete-orphan'))
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
|
class Relay(Base):
|
||||||
|
""" Relayed mail domain.
|
||||||
|
The domain is either relayed publicly or through a specified SMTP host.
|
||||||
|
"""
|
||||||
|
|
||||||
|
__tablename__ = "relay"
|
||||||
|
|
||||||
|
name = db.Column(db.String(80), primary_key=True, nullable=False)
|
||||||
|
smtp = db.Column(db.String(80), nullable=True)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
|
class Email(object):
|
||||||
|
""" Abstraction for an email address (localpart and domain).
|
||||||
|
"""
|
||||||
|
|
||||||
|
localpart = db.Column(db.String(80), nullable=False)
|
||||||
|
|
||||||
|
@declarative.declared_attr
|
||||||
|
def domain_name(cls):
|
||||||
|
return db.Column(IdnaDomain, db.ForeignKey(Domain.name),
|
||||||
|
nullable=False, default=IdnaDomain)
|
||||||
|
|
||||||
|
# This field is redundant with both localpart and domain name.
|
||||||
|
# It is however very useful for quick lookups without joining tables,
|
||||||
|
# especially when the mail server is reading the database.
|
||||||
|
@declarative.declared_attr
|
||||||
|
def email(cls):
|
||||||
|
updater = lambda context: "{0}@{1}".format(
|
||||||
|
context.current_parameters["localpart"],
|
||||||
|
context.current_parameters["domain_name"],
|
||||||
|
)
|
||||||
|
return db.Column(IdnaEmail,
|
||||||
|
primary_key=True, nullable=False,
|
||||||
|
default=updater)
|
||||||
|
|
||||||
|
def sendmail(self, subject, body):
|
||||||
|
""" Send an email to the address.
|
||||||
|
"""
|
||||||
|
from_address = "{0}@{1}".format(
|
||||||
|
app.config['POSTMASTER'],
|
||||||
|
idna.encode(app.config['DOMAIN']).decode('ascii'),
|
||||||
|
)
|
||||||
|
with smtplib.SMTP(app.config['HOST_AUTHSMTP'], port=10025) as smtp:
|
||||||
|
to_address = "{0}@{1}".format(
|
||||||
|
self.localpart,
|
||||||
|
idna.encode(self.domain_name).decode('ascii'),
|
||||||
|
)
|
||||||
|
msg = text.MIMEText(body)
|
||||||
|
msg['Subject'] = subject
|
||||||
|
msg['From'] = from_address
|
||||||
|
msg['To'] = to_address
|
||||||
|
smtp.sendmail(from_address, [to_address], msg.as_string())
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def resolve_domain(cls, email):
|
||||||
|
localpart, domain_name = email.split('@', 1) if '@' in email else (None, email)
|
||||||
|
alternative = Alternative.query.get(domain_name)
|
||||||
|
if alternative:
|
||||||
|
domain_name = alternative.domain_name
|
||||||
|
return (localpart, domain_name)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def resolve_destination(cls, localpart, domain_name, ignore_forward_keep=False):
|
||||||
|
alias = Alias.resolve(localpart, domain_name)
|
||||||
|
if alias:
|
||||||
|
return alias.destination
|
||||||
|
user = User.query.get('{}@{}'.format(localpart, domain_name))
|
||||||
|
if user:
|
||||||
|
if user.forward_enabled:
|
||||||
|
destination = user.forward_destination
|
||||||
|
if user.forward_keep or ignore_forward_keep:
|
||||||
|
destination.append(user.email)
|
||||||
|
else:
|
||||||
|
destination = [user.email]
|
||||||
|
return destination
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.email
|
||||||
|
|
||||||
|
|
||||||
|
class User(Base, Email):
|
||||||
|
""" A user is an email address that has a password to access a mailbox.
|
||||||
|
"""
|
||||||
|
__tablename__ = "user"
|
||||||
|
|
||||||
|
domain = db.relationship(Domain,
|
||||||
|
backref=db.backref('users', cascade='all, delete-orphan'))
|
||||||
|
password = db.Column(db.String(255), nullable=False)
|
||||||
|
quota_bytes = db.Column(db.Integer(), nullable=False, default=10**9)
|
||||||
|
quota_bytes_used = db.Column(db.Integer(), nullable=False, default=0)
|
||||||
|
global_admin = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
|
enabled = db.Column(db.Boolean(), nullable=False, default=True)
|
||||||
|
|
||||||
|
# Features
|
||||||
|
enable_imap = db.Column(db.Boolean(), nullable=False, default=True)
|
||||||
|
enable_pop = db.Column(db.Boolean(), nullable=False, default=True)
|
||||||
|
|
||||||
|
# Filters
|
||||||
|
forward_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
|
forward_destination = db.Column(CommaSeparatedList(), nullable=True, default=[])
|
||||||
|
forward_keep = db.Column(db.Boolean(), nullable=False, default=True)
|
||||||
|
reply_enabled = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
|
reply_subject = db.Column(db.String(255), nullable=True, default=None)
|
||||||
|
reply_body = db.Column(db.Text(), nullable=True, default=None)
|
||||||
|
reply_startdate = db.Column(db.Date, nullable=False,
|
||||||
|
default=date(1900, 1, 1))
|
||||||
|
reply_enddate = db.Column(db.Date, nullable=False,
|
||||||
|
default=date(2999, 12, 31))
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
displayed_name = db.Column(db.String(160), nullable=False, default="")
|
||||||
|
spam_enabled = db.Column(db.Boolean(), nullable=False, default=True)
|
||||||
|
spam_threshold = db.Column(db.Integer(), nullable=False, default=80.0)
|
||||||
|
|
||||||
|
# Flask-login attributes
|
||||||
|
is_authenticated = True
|
||||||
|
is_active = True
|
||||||
|
is_anonymous = False
|
||||||
|
|
||||||
|
def get_id(self):
|
||||||
|
return self.email
|
||||||
|
|
||||||
|
@property
|
||||||
|
def destination(self):
|
||||||
|
if self.forward_enabled:
|
||||||
|
result = self.forward_destination
|
||||||
|
if self.forward_keep:
|
||||||
|
result += ',' + self.email
|
||||||
|
return result
|
||||||
|
else:
|
||||||
|
return self.email
|
||||||
|
|
||||||
|
@property
|
||||||
|
def reply_active(self):
|
||||||
|
now = date.today()
|
||||||
|
return (
|
||||||
|
self.reply_enabled and
|
||||||
|
self.reply_startdate < now and
|
||||||
|
self.reply_enddate > now
|
||||||
|
)
|
||||||
|
|
||||||
|
scheme_dict = {'PBKDF2': "pbkdf2_sha512",
|
||||||
|
'BLF-CRYPT': "bcrypt",
|
||||||
|
'SHA512-CRYPT': "sha512_crypt",
|
||||||
|
'SHA256-CRYPT': "sha256_crypt",
|
||||||
|
'MD5-CRYPT': "md5_crypt",
|
||||||
|
'CRYPT': "des_crypt"}
|
||||||
|
|
||||||
|
def get_password_context(self):
|
||||||
|
return context.CryptContext(
|
||||||
|
schemes=self.scheme_dict.values(),
|
||||||
|
default=self.scheme_dict[app.config['PASSWORD_SCHEME']],
|
||||||
|
)
|
||||||
|
|
||||||
|
def check_password(self, password):
|
||||||
|
context = self.get_password_context()
|
||||||
|
reference = re.match('({[^}]+})?(.*)', self.password).group(2)
|
||||||
|
result = context.verify(password, reference)
|
||||||
|
if result and context.identify(reference) != context.default_scheme():
|
||||||
|
self.set_password(password)
|
||||||
|
db.session.add(self)
|
||||||
|
db.session.commit()
|
||||||
|
return result
|
||||||
|
|
||||||
|
def set_password(self, password, hash_scheme=None, raw=False):
|
||||||
|
"""Set password for user with specified encryption scheme
|
||||||
|
@password: plain text password to encrypt (if raw == True the hash itself)
|
||||||
|
"""
|
||||||
|
if hash_scheme is None:
|
||||||
|
hash_scheme = app.config['PASSWORD_SCHEME']
|
||||||
|
# for the list of hash schemes see https://wiki2.dovecot.org/Authentication/PasswordSchemes
|
||||||
|
if raw:
|
||||||
|
self.password = '{'+hash_scheme+'}' + password
|
||||||
|
else:
|
||||||
|
self.password = '{'+hash_scheme+'}' + self.get_password_context().encrypt(password, self.scheme_dict[hash_scheme])
|
||||||
|
|
||||||
|
def get_managed_domains(self):
|
||||||
|
if self.global_admin:
|
||||||
|
return Domain.query.all()
|
||||||
|
else:
|
||||||
|
return self.manager_of
|
||||||
|
|
||||||
|
def get_managed_emails(self, include_aliases=True):
|
||||||
|
emails = []
|
||||||
|
for domain in self.get_managed_domains():
|
||||||
|
emails.extend(domain.users)
|
||||||
|
if include_aliases:
|
||||||
|
emails.extend(domain.aliases)
|
||||||
|
return emails
|
||||||
|
|
||||||
|
def send_welcome(self):
|
||||||
|
if app.config["WELCOME"].lower() == "true":
|
||||||
|
self.sendmail(app.config["WELCOME_SUBJECT"],
|
||||||
|
app.config["WELCOME_BODY"])
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get(cls, email):
|
||||||
|
return cls.query.get(email)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def login(cls, email, password):
|
||||||
|
user = cls.query.get(email)
|
||||||
|
return user if (user and user.enabled and user.check_password(password)) else None
|
||||||
|
|
||||||
|
|
||||||
|
class Alias(Base, Email):
|
||||||
|
""" An alias is an email address that redirects to some destination.
|
||||||
|
"""
|
||||||
|
__tablename__ = "alias"
|
||||||
|
|
||||||
|
domain = db.relationship(Domain,
|
||||||
|
backref=db.backref('aliases', cascade='all, delete-orphan'))
|
||||||
|
wildcard = db.Column(db.Boolean(), nullable=False, default=False)
|
||||||
|
destination = db.Column(CommaSeparatedList, nullable=False, default=[])
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def resolve(cls, localpart, domain_name):
|
||||||
|
return cls.query.filter(
|
||||||
|
sqlalchemy.and_(cls.domain_name == domain_name,
|
||||||
|
sqlalchemy.or_(
|
||||||
|
sqlalchemy.and_(
|
||||||
|
cls.wildcard == False,
|
||||||
|
cls.localpart == localpart
|
||||||
|
), sqlalchemy.and_(
|
||||||
|
cls.wildcard == True,
|
||||||
|
sqlalchemy.bindparam("l", localpart).like(cls.localpart)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
).order_by(cls.wildcard, sqlalchemy.func.char_length(cls.localpart).desc()).first()
|
||||||
|
|
||||||
|
|
||||||
|
class Token(Base):
|
||||||
|
""" A token is an application password for a given user.
|
||||||
|
"""
|
||||||
|
__tablename__ = "token"
|
||||||
|
|
||||||
|
id = db.Column(db.Integer(), primary_key=True)
|
||||||
|
user_email = db.Column(db.String(255), db.ForeignKey(User.email),
|
||||||
|
nullable=False)
|
||||||
|
user = db.relationship(User,
|
||||||
|
backref=db.backref('tokens', cascade='all, delete-orphan'))
|
||||||
|
password = db.Column(db.String(255), nullable=False)
|
||||||
|
ip = db.Column(db.String(255))
|
||||||
|
|
||||||
|
def check_password(self, password):
|
||||||
|
return hash.sha256_crypt.verify(password, self.password)
|
||||||
|
|
||||||
|
def set_password(self, password):
|
||||||
|
self.password = hash.sha256_crypt.using(rounds=1000).hash(password)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.comment
|
||||||
|
|
||||||
|
|
||||||
|
class Fetch(Base):
|
||||||
|
""" A fetched account is a repote POP/IMAP account fetched into a local
|
||||||
|
account.
|
||||||
|
"""
|
||||||
|
__tablename__ = "fetch"
|
||||||
|
|
||||||
|
id = db.Column(db.Integer(), primary_key=True)
|
||||||
|
user_email = db.Column(db.String(255), db.ForeignKey(User.email),
|
||||||
|
nullable=False)
|
||||||
|
user = db.relationship(User,
|
||||||
|
backref=db.backref('fetches', cascade='all, delete-orphan'))
|
||||||
|
protocol = db.Column(db.Enum('imap', 'pop3'), nullable=False)
|
||||||
|
host = db.Column(db.String(255), nullable=False)
|
||||||
|
port = db.Column(db.Integer(), nullable=False)
|
||||||
|
tls = db.Column(db.Boolean(), nullable=False)
|
||||||
|
username = db.Column(db.String(255), nullable=False)
|
||||||
|
password = db.Column(db.String(255), nullable=False)
|
||||||
|
keep = db.Column(db.Boolean(), nullable=False)
|
||||||
|
last_check = db.Column(db.DateTime, nullable=True)
|
||||||
|
error = db.Column(db.String(1023), nullable=True)
|
||||||
674
core/admin/mailu/translations/de/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/de/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: de\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Ungültige E-Mail-Adresse."
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Bestätigen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-Mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Passwort"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Anmelden"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Domain-Name"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Maximale Anzahl Benutzer"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Maximale Anzahl Aliase"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Kommentar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Erstellen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Passwort bestätigen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Zugriff via IMAP erlauben"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Zugriff via POP3 erlauben"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Speichern"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Angezeigter Name"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Spamfilter aktivieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Schwellenwert für Spamfilter"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Einstellungen speichern"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Passwort wiederholen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Passwort aktualisieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Weiterleitung aktivieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Ziel"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Automatische Antwort aktivieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Betreff"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Text"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "SQL LIKE Syntax nutzen (z.B. für Catch-All-Aliase)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Administrator E-Mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Absenden"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "Manager E-Mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protokoll"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Hostname oder IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Port"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Verschlüsselung aktivieren"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Benutzername"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Aktion bestätigen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Bitte bestätigen: %(action)s."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Docker Fehler"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Während der Kommunikation mit dem Docker Server ist ein Fehler aufgetreten."
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "für administrativen Zugriff"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Mein Konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Einstellungen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Auto-Weiterleitung"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Auto-Antwort"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Abgerufene Konten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Abmelden"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administration"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administratoren"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "E-Mail-Domains"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Hilfe"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Dieses Feature ist noch in Arbeit!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Globalen Administrator hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Globale Administratoren"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Administrator hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Aktionen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-Mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Löschen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Alias erstellen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Alias bearbeiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Aliase"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Alias hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Erstellt"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Zuletzt bearbeitet"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Bearbeiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Neue Domain"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Domain-Details"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Schlüssel neu erzeugen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "DNS MX Eintrag"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "DNS SPF Einträge"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "DKIM öffentlicher Schlüssel"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "DNS DKIM Eintrag"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "DNS DMARC Eintrag"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Domain bearbeiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Domains"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Verwalten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Anzahl Mailboxen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Anzahl Aliase"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Details"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Benutzer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Aliase"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Manager"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Externes Konto hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Externes Konto aktualisieren"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Konto hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Endpunkt"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Letzte Prüfung"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Einen Manager hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Manager"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Manager hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Betreff"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Text"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Absenden"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Öffentliche Bekanntmachung"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "von"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Bekanntmachung"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Neuer Benutzer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Benutzer bearbeiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "E-Mails weiterleiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Benutzer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Benutzer hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Einstellungen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Funktionen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Passwort aktualisieren"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Automatische Antwort"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Maximale Quota pro Benutzer"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Kopie der E-Mails behalten"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "E-Mails auf dem Server belassen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "E-Mails behalten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "ja"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "nein"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Alternativer Name"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Relay-Domain-Name"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Entfernter Host"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Relay-Domains"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Alternative Domain erstellen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Alternative Domains"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Alternative hinzufügen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Name"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternativen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Neue Relay-Domain"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Relay-Domain bearbeiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Relay-Domains"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Neue Relay-Domain"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "Token (bitte speichern, da er hier nach nicht mehr angezeigt wird)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "Authorisierte IP-Adresse"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Authentifizierungs-Tokens"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Wechseln zu"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Webmail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Website"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Authentifizierungs-Token erstellen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Neuer Token"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Allgemein"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Funktionen und Quotas"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Allgemeine Einstellungen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "Spamfilter-Grenzwert"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
687
core/admin/mailu/translations/en/LC_MESSAGES/messages.po
Normal file
687
core/admin/mailu/translations/en/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,687 @@
|
|||||||
|
# English translations for PROJECT.
|
||||||
|
# Copyright (C) 2016 ORGANIZATION
|
||||||
|
# This file is distributed under the same license as the PROJECT project.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
|
"POT-Creation-Date: 2018-04-22 12:10+0200\n"
|
||||||
|
"PO-Revision-Date: 2016-10-02 15:02+0200\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language: en\n"
|
||||||
|
"Language-Team: en <LL@li.org>\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.5.3\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
#, python-format
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid ""
|
||||||
|
"In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid ""
|
||||||
|
"If you do not know how to setup an <code>MX</code> record for your DNS "
|
||||||
|
"zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait "
|
||||||
|
"a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server "
|
||||||
|
"cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "Your account"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "Spam filter threshold"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "from"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "General settings"
|
||||||
|
#~ msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/es/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/es/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: es\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Dirección de correo inválida."
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "Dirección de Correo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Contraseña"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Entrar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Nmbre de dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Máximo número de usuarios"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Máximo número de aliases"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Comentario"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Crear"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Confirmar contraseña"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Cuota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Permitir acceso IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Permitir acceso POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Guardar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Nombre a mostrar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Habilitar filtro de spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Límite del filtro de spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Guardar configuración"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Revisar contraseña"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Actualizar contraseña"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Habilitar reenvío"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Destino"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Actualizar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Habilitar respuesta automática"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Usar sintaxis SQL (p.ej. para abarcar todos los alias)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protocolo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Puerto TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Habilitar TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nombre de usuario"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Confirmar acción"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Error de Docker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Ocurrió un error en la comunicación con el servidor Docker."
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "para acceder a las herramientas de administración"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Mi cuenta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Configuración"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Auto-reenvío"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Auto-respuesta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Salir"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administración"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administradores"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Dominios de correo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Ayuda"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Aún trabajamos en esta característica!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Añadir administrador global"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Administradores globales"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Añadr administrador"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Acciones"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "Correo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Eliminar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Crear alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Editar alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Lista de alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Añadir alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Creado"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Última edición"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Editar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Nuevo dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Detalle del domino"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Regenerar llaves"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Editar domino"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Lista de dominios"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Detalles"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Usuarios"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Añadir una cuenta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Último checkeo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Enviar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Anuncio público"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Anuncio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Nuevo usuario"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Editar usuario"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Lista de usuarios"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Añadir usuario"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Configuración de usuario"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Características"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Actualizar contraseña"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Respuesta automática"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Mantener una copia de los correos"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Mantener los correos en el servidor"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Mantener los correos"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "si"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "no"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nombre"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/fr/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/fr/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: fr\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Adresse e-mail invalide"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Confirmer"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Mot de passe"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Se connecter"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Nom de domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Nombre maximum d'utilisateurs"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Nombre maximum d'alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Commentaire"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Créer"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Confirmer le mot de passe"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Autoriser l'accès IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Autoriser l'accès POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Enregistrer"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Nom affiché"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Activer le filtre anti-spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Seuil du filtre anti-spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Enregistrer les préférences"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Vérifier le mot de passe"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Changer de mot de passe"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Activer la redirection"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Destination"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Mettre à jour"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Activer les réponses automatique"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Sujet du message"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Corps de la réponse"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Utiliser la syntaxe SQL LIKE (par exemple pour les alias catch-all)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Email de l'administrateur"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Valider"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "E-mail du gérant"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protocole"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Nom d'hôte ou adresse IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Port TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Activer TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nom d'utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Confirmer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Vous allez %(action)s. Merci de confirmer votre action."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Erreur Docker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Une erreur s'est produite en communiquant avec le serveur Docker."
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Votre compte"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "pour accéder aux outils d'administration"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Mon compte"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Préférences"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Redirection"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Réponse automatique"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Comptes externes"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Déconnexion"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administration"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administrateurs"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Domaines"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Aide"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Cette fonctionnalité est en cours de développement !"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Ajouter un administrateur global"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Administrateurs globaux"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Ajouter un administrateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Actions"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Supprimer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Créer un alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Modifier un alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Liste des alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Ajouter un alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Création"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Dernière modification"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Modifier"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Nouveau domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Détails du domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Regénérer les clés"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "Entrée DNS MX"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "Entrées DNS SPF"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "Clé publique DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "Entrée DNS DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "Entrée DNS DMARC"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Modifier le domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Liste des domaines"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Gérer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Nombre de boîtes mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Nombre d'alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Détails"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Utilisateurs"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Gérants"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Ajouter un compte externe"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Modifier un compte externe"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Ajouter un compte"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Source"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Dernier relevé"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Ajouter un gérant"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Liste des gérants"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Ajouter le gérant"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Sujet de l'annonce"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Corps de l'annonce"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Envoyer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Annonce globale"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "de"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Annonce"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Nouvel utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Modifier l'utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Faire suivre les emails"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Utilisateurs"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Ajouter un utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Options de l'utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Fonctionnalités"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Modifier le mot de passe"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Réponse automatique"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Quota maximum par utilisateur"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Conserver une copie des messages"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Conserver les messages sur le serveur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Conserver les messages"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "oui"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "non"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Nom alternatif"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Nom du domaine relayé"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Hôte distant"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Domaines relayé"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Nouveau domaine alternatif"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Liste des domaines alternatifs"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Ajouter une alternative"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nom"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternatives"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Nouveau domaine relayé"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Modifier le domaine relayé"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Liste des domaines relayés"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Nouveau domaine relayé"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "Votre jeton (à conserver, il ne sera plus affiché par la suite)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "Adresse IP autorisée"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Jetons d'authentification"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Navigation"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Webmail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Site web"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Créer un jeton d'authentification"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Nouveau jeton"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Général"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Fonctionnalités et quotas"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Général"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "Tolérance du filtre antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr "Autoriser l'inscription"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr "Administrateur initial"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr "Mot de passe administrateur"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr "Activé"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr "Adresse e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr "S'inscrire"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr "Fin du mode vacance"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr "Configuration client"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr "Protocole"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr "Nom du serveur"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr "Inscrire un domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr "Générer les clés"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr "Pour enregistrer un nouveau domaine, vous devez d'abord configurer la zone DNS de sorte que le <code>MX</code> du domaine pointe sur ce serveur."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr "Si vous ne savez pas comment configurer un enregistrement <code>MX</code>, contactez votre fournisseur de DNS ou votre administrateur. Egalement, attendez quelques minutes après avoir modifié le <code>MX</code>, le temps que le cache local au serveur soit rafraîchi."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr "choix du domaine pour le compte"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr "Domaine"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr "Places disponibles"
|
||||||
|
|
||||||
675
core/admin/mailu/translations/it/LC_MESSAGES/messages.po
Normal file
675
core/admin/mailu/translations/it/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,675 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: it\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Indirizzo email non valido."
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Conferma"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Password"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Entra"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Nome dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Crea"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Conferma pasword"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Consenti accesso IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Consenti accesso POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Salva"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Nome visualizzato"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Abilita filtro antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Soglia del filtro antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Salva impostazioni"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Aggiorna password"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Abilita inoltro"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Destinazione"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Abilita risposta automatica"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Soggetto risposta"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Corpo risposta"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Usa sintassi SQL LIKE (es. per alias catch-all)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Email amministratore"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Invia"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "Email manager"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protocollo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Hostname o IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Porta TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Abilita TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Username"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Conferma azione"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
#, fuzzy
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Stai per %(action). Conferma la tua azione."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Errore Docker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Il tuo account"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Il mio account"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Impostazioni"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Auto-inoltro"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Auto-risponditore"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Esci"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Amministrazione"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Amministratori"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Domini mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Aiuto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Stiamo ancora lavorando a questa funzionalità!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Aggiungi un amministratore globale"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Amministratori globali"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Aggiungi amministratore"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Azioni"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "Email"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Elimina"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Crea alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Modifica alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Lista alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Aggiungi alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Creato"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Ultima modifica"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Modifica"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Nuovo dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Dettagli dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Rigenera chiavi"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Modifica dominio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Lista domini"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Gestisci"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Conteggio mailbox"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Conteggio alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Dettagli"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Utenti"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Manager"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Aggiungi un account"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Ultimo controllo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Aggiungi un manager"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Aggiungi manager"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Corpo dell'annuncio"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Invia"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Annuncio pubblico"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "da"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Annuncio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Nuovo utente"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Modifica utente"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Inoltra email"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Lista utenti"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Aggiungi utente"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Impostazioni utente"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Funzionalità"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Aggiornamento password"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Risposta automatica"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Conserva una copia delle email"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Conserva email sul server"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Conserva email"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "si"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "no"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Nome alternativo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Host remoto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Aggiungi alternativa"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nome"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternative"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "IP Autorizzato"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Token di autenticazione"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Vai a"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Webmail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Sito web"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Crea un token di autenticazione"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Nuovo token"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Generale"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Funzionalità e quota"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Impostazioni generali"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "Tolleranza filtro spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/nl/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/nl/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: nl\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Ongeldig e-mailadres."
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Bevestigen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Wachtwoord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Aanmelden"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Domeinnaam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Maximaal aantal gebruikers"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Maximaal aantal aliasen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Opmerking"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Aanmaken"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Bevestig wachtwoord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quotum"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "IMAP toestaan"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "POP3 toestaan"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Opslaan"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Getoonde naam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Spamfilter inschakelen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Spamfilter drempel"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Instellingen opslaan"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Wachtwoord controle"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Wachtwoord veranderen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Doorsturen inschakelen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Bestemming"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Bijwerken"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Automatisch antwoord inschakelen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Antwoord onderwerp"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Antwoord bericht"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Gebruik SQL LIKE syntax (bijv. voor alles-afvangen aliasen)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Beheerder e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Verzenden"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "Manager e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protocol"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Hostnaam of IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "TCP poort"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "TLS inschakelen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Gebruikersnaam"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Actie bevestigen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "U gaat %(action)s uitvoeren. Bevestig uw actie."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Docker foutmelding"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Er is een fout opgetreden tijdens het communiceren met de Docker server."
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Uw account"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "om toegang te krijgen tot systeembeheer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Mijn account"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Instellingen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Automatisch doorsturen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Automatisch antwoorden"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Opgehaalde accounts"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Afmelden"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Beheer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Beheerders"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "E-mail domeinen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Help"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "We zijn nog aan deze functionaliteit aan het werken."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Globale beheerder toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Globale beheerders"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Beheerder toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Acties"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Verwijderen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Alias aanmaken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Alias bewerken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Aliasen overzicht"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Alias toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Aangemaakt"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Laatste aanpassing"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Aanpassen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Nieuw domein"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Domein details"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Hergenereer sleutels"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "DNS MX-record"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "DNS SPF-records"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "DKIM publieke sleutel"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "DNS DKIM-record"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "DNS DMARC-record"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Domein bewerken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Domeinen overzicht"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Beheer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Aantal mailboxen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Aantal aliasen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Details"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Gebruikers"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Aliasen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Managers"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Opgehaald account toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Opgehaald account aanpassen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Account toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Endpoint"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Laatste controle"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Manager toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Manager overzicht"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Manager toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Mededeling onderwerp"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Mededeling bericht"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Versturen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Publieke mededeling"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "van"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Mededeling"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Nieuwe gebruiker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Gebruiker aanpassen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "E-mails doorsturen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Gebruikers overzicht"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Gebruiker toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Gebruiker instellingen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Functionaliteiten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Wachtwoord aanpassen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Automatisch antwoord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Maximum quotum gebruikers"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Behoud een kopie van de e-mails"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Behoud de e-mails op de server"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Behoud e-mails"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "ja"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "nee"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Alternatieve naam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Relayed domainnaam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Externe host"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Relayed domainen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Alternatief domein aanmaken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Alternatieve domeinen overzicht"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Alternatief toevoegen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Naam"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternatieven"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Nieuw relay domein"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Bewerk relay domein"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Overzicht relayed domeinen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Nieuw relayed domein"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "Uw token (bewaar hem goed, want hij wordt nooit meer getoond)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "Toegestaan IP"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Authenticatie tokens"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Ga naar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Webmail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Website"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Authenticatie token aanmaken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Nieuw token"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Algemeen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Functionaliteiten en quota"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Algemene instellingen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Anti-spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "Spam filter toleratie"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
675
core/admin/mailu/translations/pl/LC_MESSAGES/messages.po
Normal file
675
core/admin/mailu/translations/pl/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,675 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: pl\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Nieprawidłowy adres e-mail."
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Zatwierdź"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Hasło"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Zaloguj"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Nazwa domeny"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Maksymalna liczba użytkowników"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Maksymalna liczba aliasów"
|
||||||
|
|
||||||
|
#. Needs more context - is that a verb or a noun?
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Komentarz"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Utwórz"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Potwierdź hasło"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Zezwalaj na dostęp przez protokół IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Zezwalaj na dostęp przez protokół POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Zapisz"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Nazwa wyświetlana"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Włącz filtr antyspamowy"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Próg filtra antyspamowego"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Zapisz ustawienia"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Zmień hasło"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Włącz przekierowanie poczty"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Adres docelowy"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aktualizuj"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Włącz automatyczną odpowiedź"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Temat odpowiedzi"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Treść odpowiedzi"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Używaj składni SQL LIKE (np. do adresów catch-all)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "E-mail administratora"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Prześlij"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protokół"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Nazwa hosta lub adres IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Port TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Włącz TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nazwa użytkownika"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Potwierdź wykonanie czynności"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Zamierzasz wykonać następujące czynności: %(action)s. Potwierdź wykonanie czynności."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Błąd Dockera"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Wystąpił błąd komunikacji z serwerem Dockera."
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Twoje konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Moje konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Ustawienia"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Automatyczne przekierowanie"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Automatyczna odpowiedź"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Wyloguj"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administracja"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administratorzy"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Domeny pocztowe"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Pomoc"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Dodaj administratora globalnego"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Administratorzy globalni"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Dodaj administratora"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Czynności"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Usuń"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Utwórz alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Edytuj alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Lista aliasów"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Dodaj alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Ostatnia edycja"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Edytuj"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Nowa domena"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Szczegóły domeny"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Wygeneruj ponownie klucze"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "Wpis MX DNS"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "Wpisy SPF DNS"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "Publiczny klucz DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "Wpis DKIM DNS"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "Wpis DMARC DNS"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Edytuj domenę"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Lista domen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Zarządzaj"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Liczba skrzynek pocztowych"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Liczba aliasów"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Szczegóły"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Użytkownicy"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Aliasy"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Dodaj konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Temat ogłoszenia"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Treść ogłoszenia"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Wyślij"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Publiczne ogłoszenie"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "od"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Ogłoszenie"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Nowy użytkownik"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Edytuj użytkownika"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Przekieruj wiadomości e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Lista użytkowników"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Dodaj użytkownika"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Ustawienia użytkownika"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Zmiana hasła"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Automatyczna odpowiedź"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Przechowuj kopię wiadomości"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Przechowuj wiadomości na serwerze"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Przechowuj wiadomości"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "Tak"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "Nie"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Strona internetowa"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Ustawienia ogólne"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Filtr antyspamowy"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/pt/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/pt/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: pt\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Endereço de e-mail inválido"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Confirmar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Senha"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Entrar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Domínio"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Quantidade máxima de usuários"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Quantidade máxima de alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Comentário"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Criar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Confirmar senha"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Permitir acesso IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Permitir acesso POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Salvar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Nome de exibição"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Habilitar filtro de spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Limite de filtro de spam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Salvar configurações"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Confirmação de senha"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Alterar senha"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Habilitar encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Destinatário"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Atualizar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Habilitar resposta automática"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Assunto da resposta"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Corpo da resposta"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Usar sintaxe estilo SQL(ex: for catch-all aliases)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "E-mail do administrador"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Enviar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "E-mail do gerente"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protocolo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Hostname ou IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Porta TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Habilitar TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Confirmar ação"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Por favor, confirme a(s) %(action)s"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Erro no docker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Um erro foi encontrado na conexão com o servidor Docker"
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Sua conta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "para acessar as ferramentas administrativas"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Minha conta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Configurações"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Encaminhamento automático"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Resposta automática"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Contas importadas"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Sair"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administração"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administradores"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Domínios de e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Ajuda"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Nós ainda estamos trabalhando nesta função!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Adicionar administrador global"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Administradores globais"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Adicionar administrador"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Ações"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "Email"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Deletar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Criar alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Editar alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Lista de alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Adicionar alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Criado"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Última edição"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Editar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Novo domínio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Detalhes do domínio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Gerar novas chaves"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "Entrada DNS MX"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "Entrada DNS SPF"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "Chave pública do DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "Entrada DNS DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "Entrada DNS DMARC"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Editar domínio"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Lista de domínios"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Gerenciar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Quantidade de caixas de e-mail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Quantidade de aliases"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Detalhes"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Usuários"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Aliases"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Gerentes"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Adicionar conta a importar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Atualizar conta importada"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Adicionar uma conta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Endpoint"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Última verificação"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Adicionar gerente"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Lista de gerentes"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Adicionar gerente"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Título do comunicado"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Corpo do comunicado"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Enviar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Comunicado geral"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "de"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Comunicado"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Novo usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Editar usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Encaminhar e-mails"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Lista de usuários"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Adicionar usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Configurações de usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Funcionalidades"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Atualizar senha"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Resposta automática"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Cota máxima por usuário"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Manter uma cópia dos emails"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Manter os e-mails no servidor"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Manter emails"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "sim"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "não"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Nome alternativo"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Nome de domínio para encaminhar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Host remoto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Domínios para encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Criar domínio alternativo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Lista de domínios alternativos"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Adicionar alternativo"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Nome"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternativos"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Novo domínio para encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Editar domínio de encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Lista de domínios para encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Novo domínio de encaminhamento"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/ru/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/ru/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: ru\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Неправильный адрес электронной почты"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Подтвердить"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "Электронная почта"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Пароль"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Войти"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Доменное имя"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Максимальное число пользователей"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Максимальное число псевдонимов"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Комментарий"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Создать"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Подтвердить пароль"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Квота"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Разрешить доступ через IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Разрешить доступ через POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Сохранить"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Отображаемое имя"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Включить спам-фильтр"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Порог чувствительности спам-фильтра"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Сохранить настройки"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Проверка пароля"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Обновить пароль"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Включить переадресацию"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Адрес получателя"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Обновить"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Включить автоответчик"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Заголовок автоответа"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Сообщение автоответа"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Псевдоним"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Использовать SQL-подобный синтаксис"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Адрес администратора"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Отправить"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "Адрес менеджера"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Протокол"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Имя хоста или IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "Порт TCP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Включить TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Имя пользователя"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Подтвердить действие"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Вы собираетесь совершить %(action). Подтвердить?"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Ошибка Docker"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Произошла ошибка при обращении к серверу Docker"
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Ваша учетная запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "для доступа к утилитам администрирования"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Моя учетная запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Настройки"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Автоматическая пересылка"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Автоматический ответ"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Учетные записи сторонних серверов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Выйти"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Администрирование"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Администраторы"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Почтовые домены"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Помощь"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Мы еще работаем над данным функционалом!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Добавить глобального администратора"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Глобальные администраторы"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Добавить администратора"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Действия"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "Электронная почта"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Удалить"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Создать псевдоним"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Изменить псевдоним"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Список псевдонимов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Добавить псевдоним"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Создано"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Последнее изменение"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Изменить"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Новый домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Подробности домена"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Перегенерировать ключи"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "DNS MX запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "DNS SPF запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "Публичный ключ DKIM"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "DNS DKIM запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "DNS DMARC запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Изменить домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Список доменов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Управление"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Количество ящиков"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Количество псевдонимов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Подробно"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Пользователи"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Псевдонимы"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Менеджеры"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Добавить учетную запись стороннего сервера"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Обновить учетную запись стороннего сервера"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Добавить учетную запись"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Конечная точка"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Последняя проверка"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Добавить менеджера"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Список менеджеров"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Добавить менеджера"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Тема объявления"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Содержание объявления"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Отправить"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Публичное объявление"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "От"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Объявление"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Новый пользователь"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Изменить пользователя"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Перенаправлять письма"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Список пользователей"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Добавить пользователя"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Настройки пользователя"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Функции"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Изменение пароля"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Автоматический ответ"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Квота на пользователя"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Хранить копии писем"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Хранить письма на сервере"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Сохранять письма"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "да"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "нет"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Имя альтернативного домена"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Имя релейного домена"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Удаленный хост"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Релейные домены"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Создать альтернативный домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Список альтернативных доменов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Добавить альтернативный домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Имя"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Альтернативные домены"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Новый релейный домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Изменить релейный домен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Список релейных доменов"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Новый релейный домен"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "Ваш токен (перепишите его, больше он показываться не будет)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "Авторизованные IP-адреса"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Авторизационные токены"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Перейти к"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Электронная почта"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Сайт"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Создать токен авторизации"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Новый токен"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Общие"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Функции и квоты"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Общие настройки"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Антиспам"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "Порог спам-фильтра"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/sv/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/sv/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: sv\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "Ogiltig adress"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "Bekräfta"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "E-post"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Lösenord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Logga in"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "Domännamn"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "Max antal användare"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "Max antal alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Kommentar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Skapa"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "Bekräfta lösenord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "Quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "Tillåt IMAP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "Tillåt POP3"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Spara"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "Visat namn"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "Aktivera spamfilter"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "Spamfilter gräns"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Spara inställningar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "Lösenordskoll"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "Uppdatera lösenord"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "Aktivera vidarebefordring"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "Destination"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Uppdatera"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "Aktivera autosvar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "Svar ämne"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "Svar meddelande"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "Använd SQL-liknande syntax (t.ex. för catch-all alias)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "Admin e-post"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "Skicka in"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "Manager e-post"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "Protokoll"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "Hostnamn eller IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "TCP port"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "Aktivera TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Användarnamn"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "Bekräfta"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "Du håller på att %(action)s. Vänligen bekräfta."
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Docker fel"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Ett fel inträffade vid kommunikation med Docker"
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "Ditt konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "att komma åt administrationsverktygen"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "Mitt konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "Inställningar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "Auto-forward"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "Autosvar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "Hämtade konton"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "Logga ut"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "Administration"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "Administratörer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "Domäner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "Hjälp"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "Vi arbetar fortfarande på den här funktionen!"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "Lägg till en global administratör"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "Globala administratörer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "Lägg till administratör"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "Handling"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Radera"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "Skapa alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "Redigera alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "Alias-lista"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "Skapa alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "Skapad"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "Senast redigerad"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Redigera"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "Ny domän"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "Domändetaljer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "Generera nycklar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "DNS MX post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "DNS SPF post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "Publik DKIM-nyckel"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "DNS DKIM post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "DNS DMARC post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "Redigera domän"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "Domänlista"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "Managera"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "Antal mailboxar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "Antal alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "Detaljer"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "Användare"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "Managers"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "Lägg till hämtat konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "Uppdatera ett hämtat konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "Lägg till ett konto"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "Slutpunkt"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "Senaste koll"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "Lägg till en manager"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "Managerlista"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "Skapa manager"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "Publikt meddelande ämne"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "Publikt meddelande"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "Skicka"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "Publikt meddelande"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "från"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "Meddelande"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "Ny användare"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "Redigera användare"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "Vidarebefordra e-post"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "Användarlista"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "Lägg till användare"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "Användarinställningar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "Funktioner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "Uppdatera lösenord"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "Automatiskt svar"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "Max användar-quota"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "Behåll en kopia av e-posten"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "Behåll e-post på servern"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "Behåll e-posten"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "ja"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "nej"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "Aleternativt namn"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "Reläade domännamn"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "Server"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "Reläade domäner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "Skapa alternativ domän"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "Alternativa domäner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "Lägg till alternativ"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Namn"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "Alternativ"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "Ny relä-domän"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "Redigera reläade domäner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "Reläade domäner"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "Ny reläad domän"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "Din token (notera, eftersom den inte kommer att visas igen)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "Autentiserat IP"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "Autentiserade tokens"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "Gå till"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "Webmail"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Websida"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "Skapa en autentiseringstoken"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "Ny token"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "Allmänt"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "Funktioner och quota"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "Allmäna inställningar"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "Antispam"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
674
core/admin/mailu/translations/zh_CN/LC_MESSAGES/messages.po
Normal file
674
core/admin/mailu/translations/zh_CN/LC_MESSAGES/messages.po
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: POEditor.com\n"
|
||||||
|
"Project-Id-Version: Mailu\n"
|
||||||
|
"Language: zh-CN\n"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:32
|
||||||
|
msgid "Invalid email address."
|
||||||
|
msgstr "无效的邮件地址"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:36
|
||||||
|
msgid "Confirm"
|
||||||
|
msgstr "确认"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:40 mailu/ui/forms.py:77
|
||||||
|
msgid "E-mail"
|
||||||
|
msgstr "电子邮件"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:41 mailu/ui/forms.py:78 mailu/ui/forms.py:90
|
||||||
|
#: mailu/ui/forms.py:109 mailu/ui/forms.py:162
|
||||||
|
#: mailu/ui/templates/client.html:32 mailu/ui/templates/client.html:59
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "密码"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:42 mailu/ui/templates/login.html:4
|
||||||
|
#: mailu/ui/templates/sidebar.html:111
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "注册"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:46 mailu/ui/forms.py:56
|
||||||
|
#: mailu/ui/templates/domain/details.html:27
|
||||||
|
#: mailu/ui/templates/domain/list.html:18 mailu/ui/templates/relay/list.html:17
|
||||||
|
msgid "Domain name"
|
||||||
|
msgstr "域名"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:47
|
||||||
|
msgid "Maximum user count"
|
||||||
|
msgstr "最大用户数"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:48
|
||||||
|
msgid "Maximum alias count"
|
||||||
|
msgstr "最大别名数"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:51 mailu/ui/forms.py:72 mailu/ui/forms.py:83
|
||||||
|
#: mailu/ui/forms.py:128 mailu/ui/forms.py:140
|
||||||
|
#: mailu/ui/templates/alias/list.html:21 mailu/ui/templates/domain/list.html:21
|
||||||
|
#: mailu/ui/templates/relay/list.html:19 mailu/ui/templates/token/list.html:19
|
||||||
|
#: mailu/ui/templates/user/list.html:23
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "说明"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:52 mailu/ui/forms.py:61 mailu/ui/forms.py:66
|
||||||
|
#: mailu/ui/forms.py:73 mailu/ui/forms.py:132 mailu/ui/forms.py:141
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "创建"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:59 mailu/ui/forms.py:79 mailu/ui/forms.py:91
|
||||||
|
msgid "Confirm password"
|
||||||
|
msgstr "确认密码"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80 mailu/ui/templates/user/list.html:22
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:16
|
||||||
|
msgid "Quota"
|
||||||
|
msgstr "配额"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:81
|
||||||
|
msgid "Allow IMAP access"
|
||||||
|
msgstr "允许IMAP访问"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:82
|
||||||
|
msgid "Allow POP3 access"
|
||||||
|
msgstr "允许POP3访问"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:85
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "保存"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:97
|
||||||
|
msgid "Displayed name"
|
||||||
|
msgstr "显示名称"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:98
|
||||||
|
msgid "Enable spam filter"
|
||||||
|
msgstr "启用垃圾邮件过滤"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:80
|
||||||
|
msgid "Spam filter threshold"
|
||||||
|
msgstr "垃圾邮件过滤器阈值"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:105
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "保存设置"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:110
|
||||||
|
msgid "Password check"
|
||||||
|
msgstr "检查密码"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:111 mailu/ui/templates/sidebar.html:16
|
||||||
|
msgid "Update password"
|
||||||
|
msgstr "更新密码"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:100
|
||||||
|
msgid "Enable forwarding"
|
||||||
|
msgstr "启用转发"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:103 mailu/ui/forms.py:139
|
||||||
|
#: mailu/ui/templates/alias/list.html:20
|
||||||
|
msgid "Destination"
|
||||||
|
msgstr "目的地址"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:120
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "更新"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:115
|
||||||
|
msgid "Enable automatic reply"
|
||||||
|
msgstr "启用自动回复"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:116
|
||||||
|
msgid "Reply subject"
|
||||||
|
msgstr "回复主题"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:117
|
||||||
|
msgid "Reply body"
|
||||||
|
msgstr "回复正文"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:136
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "别名"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:138
|
||||||
|
msgid "Use SQL LIKE Syntax (e.g. for catch-all aliases)"
|
||||||
|
msgstr "使用SQL LIKE语法(例如,用于全部别名)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:145
|
||||||
|
msgid "Admin email"
|
||||||
|
msgstr "管理员邮箱"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:146 mailu/ui/forms.py:151 mailu/ui/forms.py:164
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr "提交"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:150
|
||||||
|
msgid "Manager email"
|
||||||
|
msgstr "管理员邮箱"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:155
|
||||||
|
msgid "Protocol"
|
||||||
|
msgstr "协议"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:158
|
||||||
|
msgid "Hostname or IP"
|
||||||
|
msgstr "主机名或IP"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:159 mailu/ui/templates/client.html:20
|
||||||
|
#: mailu/ui/templates/client.html:47
|
||||||
|
msgid "TCP port"
|
||||||
|
msgstr "TCP端口"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:160
|
||||||
|
msgid "Enable TLS"
|
||||||
|
msgstr "启用TLS"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:161 mailu/ui/templates/client.html:28
|
||||||
|
#: mailu/ui/templates/client.html:55 mailu/ui/templates/fetch/list.html:20
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "用户名"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:4
|
||||||
|
msgid "Confirm action"
|
||||||
|
msgstr "确认操作"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/confirm.html:13
|
||||||
|
msgid "You are about to %(action)s. Please confirm your action."
|
||||||
|
msgstr "即将%(action)s,请确认您的操作。"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:4
|
||||||
|
msgid "Docker error"
|
||||||
|
msgstr "Docker错误"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/docker-error.html:12
|
||||||
|
msgid "An error occurred while talking to the Docker server."
|
||||||
|
msgstr "Docker服务器通信出错"
|
||||||
|
|
||||||
|
#: mailu/admin/templates/login.html:6
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr "你的帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/login.html:8
|
||||||
|
msgid "to access the administration tools"
|
||||||
|
msgstr "访问管理员工具"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:8
|
||||||
|
msgid "My account"
|
||||||
|
msgstr "我的帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:11 mailu/ui/templates/user/list.html:34
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr "设置"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:22
|
||||||
|
msgid "Auto-forward"
|
||||||
|
msgstr "自动转发"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:21 mailu/ui/templates/user/list.html:35
|
||||||
|
msgid "Auto-reply"
|
||||||
|
msgstr "自动回复"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:4 mailu/ui/templates/sidebar.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:36
|
||||||
|
msgid "Fetched accounts"
|
||||||
|
msgstr "代收帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:105
|
||||||
|
msgid "Sign out"
|
||||||
|
msgstr "登出"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:35
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr "管理"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:49
|
||||||
|
msgid "Administrators"
|
||||||
|
msgstr "管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:66
|
||||||
|
msgid "Mail domains"
|
||||||
|
msgstr "邮件域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:92
|
||||||
|
msgid "Help"
|
||||||
|
msgstr "帮助"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/working.html:4
|
||||||
|
msgid "We are still working on this feature!"
|
||||||
|
msgstr "该功能开发中……"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/create.html:4
|
||||||
|
msgid "Add a global administrator"
|
||||||
|
msgstr "添加超级管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:4
|
||||||
|
msgid "Global administrators"
|
||||||
|
msgstr "超级管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:9
|
||||||
|
msgid "Add administrator"
|
||||||
|
msgstr "添加管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:16 mailu/ui/templates/alias/list.html:18
|
||||||
|
#: mailu/ui/templates/alternative/list.html:18
|
||||||
|
#: mailu/ui/templates/domain/list.html:16 mailu/ui/templates/fetch/list.html:18
|
||||||
|
#: mailu/ui/templates/manager/list.html:18
|
||||||
|
#: mailu/ui/templates/relay/list.html:16 mailu/ui/templates/token/list.html:18
|
||||||
|
#: mailu/ui/templates/user/list.html:18
|
||||||
|
msgid "Actions"
|
||||||
|
msgstr "操作"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:17 mailu/ui/templates/alias/list.html:19
|
||||||
|
#: mailu/ui/templates/manager/list.html:19 mailu/ui/templates/user/list.html:20
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "电子邮件"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/admin/list.html:22 mailu/ui/templates/alias/list.html:29
|
||||||
|
#: mailu/ui/templates/alternative/list.html:25
|
||||||
|
#: mailu/ui/templates/domain/list.html:31 mailu/ui/templates/fetch/list.html:31
|
||||||
|
#: mailu/ui/templates/manager/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:27 mailu/ui/templates/token/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:31
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "删除"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/create.html:4
|
||||||
|
msgid "Create alias"
|
||||||
|
msgstr "创建别名"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/edit.html:4
|
||||||
|
msgid "Edit alias"
|
||||||
|
msgstr "编辑别名"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:4
|
||||||
|
msgid "Alias list"
|
||||||
|
msgstr "别名列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:12
|
||||||
|
msgid "Add alias"
|
||||||
|
msgstr "添加别名"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:22
|
||||||
|
#: mailu/ui/templates/alternative/list.html:20
|
||||||
|
#: mailu/ui/templates/domain/list.html:22 mailu/ui/templates/fetch/list.html:24
|
||||||
|
#: mailu/ui/templates/relay/list.html:20 mailu/ui/templates/token/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:24
|
||||||
|
msgid "Created"
|
||||||
|
msgstr "创建"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:23 mailu/ui/templates/domain/list.html:23
|
||||||
|
#: mailu/ui/templates/fetch/list.html:25 mailu/ui/templates/relay/list.html:21
|
||||||
|
#: mailu/ui/templates/user/list.html:25
|
||||||
|
msgid "Last edit"
|
||||||
|
msgstr "上次编辑"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alias/list.html:28 mailu/ui/templates/domain/list.html:30
|
||||||
|
#: mailu/ui/templates/fetch/list.html:30 mailu/ui/templates/relay/list.html:26
|
||||||
|
#: mailu/ui/templates/user/list.html:30
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "编辑"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/create.html:4
|
||||||
|
#: mailu/ui/templates/domain/list.html:9
|
||||||
|
msgid "New domain"
|
||||||
|
msgstr "新域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:4
|
||||||
|
msgid "Domain details"
|
||||||
|
msgstr "域详情"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:15
|
||||||
|
msgid "Regenerate keys"
|
||||||
|
msgstr "重新生成密钥"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:31
|
||||||
|
msgid "DNS MX entry"
|
||||||
|
msgstr "DNS MX条目"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:35
|
||||||
|
msgid "DNS SPF entries"
|
||||||
|
msgstr "DNS SPF条目"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:42
|
||||||
|
msgid "DKIM public key"
|
||||||
|
msgstr "DKIM公钥"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:46
|
||||||
|
msgid "DNS DKIM entry"
|
||||||
|
msgstr "DNS DKIM条目"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:50
|
||||||
|
msgid "DNS DMARC entry"
|
||||||
|
msgstr "DNS DMARC条目"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/edit.html:4
|
||||||
|
msgid "Edit domain"
|
||||||
|
msgstr "编辑域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:4
|
||||||
|
msgid "Domain list"
|
||||||
|
msgstr "域列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:17
|
||||||
|
msgid "Manage"
|
||||||
|
msgstr "管理"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:19
|
||||||
|
msgid "Mailbox count"
|
||||||
|
msgstr "邮箱数量"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:20
|
||||||
|
msgid "Alias count"
|
||||||
|
msgstr "别名数量"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:28
|
||||||
|
msgid "Details"
|
||||||
|
msgstr "详情"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:35
|
||||||
|
msgid "Users"
|
||||||
|
msgstr "用户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:36
|
||||||
|
msgid "Aliases"
|
||||||
|
msgstr "别名"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:37
|
||||||
|
msgid "Managers"
|
||||||
|
msgstr "管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/create.html:4
|
||||||
|
msgid "Add a fetched account"
|
||||||
|
msgstr "添加一个代收帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/edit.html:4
|
||||||
|
msgid "Update a fetched account"
|
||||||
|
msgstr "更新代收帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:12
|
||||||
|
msgid "Add an account"
|
||||||
|
msgstr "添加一个帐户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:19
|
||||||
|
msgid "Endpoint"
|
||||||
|
msgstr "端点"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:22
|
||||||
|
msgid "Last check"
|
||||||
|
msgstr "上次检查"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/create.html:4
|
||||||
|
msgid "Add a manager"
|
||||||
|
msgstr "添加一个管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:4
|
||||||
|
msgid "Manager list"
|
||||||
|
msgstr "管理员列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/manager/list.html:12
|
||||||
|
msgid "Add manager"
|
||||||
|
msgstr "添加管理员"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:168
|
||||||
|
msgid "Announcement subject"
|
||||||
|
msgstr "公告主题"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:170
|
||||||
|
msgid "Announcement body"
|
||||||
|
msgstr "公告正文"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:172
|
||||||
|
msgid "Send"
|
||||||
|
msgstr "发送"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:4
|
||||||
|
msgid "Public announcement"
|
||||||
|
msgstr "公告"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/announcement.html:8
|
||||||
|
msgid "from"
|
||||||
|
msgstr "来自"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:44
|
||||||
|
msgid "Announcement"
|
||||||
|
msgstr "公告"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:4
|
||||||
|
msgid "New user"
|
||||||
|
msgstr "新用户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/edit.html:4
|
||||||
|
msgid "Edit user"
|
||||||
|
msgstr "编辑用户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/forward.html:4
|
||||||
|
msgid "Forward emails"
|
||||||
|
msgstr "转发电子邮件"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:4
|
||||||
|
msgid "User list"
|
||||||
|
msgstr "用户列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:12
|
||||||
|
msgid "Add user"
|
||||||
|
msgstr "添加用户"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:19 mailu/ui/templates/user/settings.html:4
|
||||||
|
msgid "User settings"
|
||||||
|
msgstr "用户设置"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/list.html:21
|
||||||
|
msgid "Features"
|
||||||
|
msgstr "功能"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/password.html:4
|
||||||
|
msgid "Password update"
|
||||||
|
msgstr "密码更新"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/reply.html:4
|
||||||
|
msgid "Automatic reply"
|
||||||
|
msgstr "自动回复"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:49
|
||||||
|
msgid "Maximum user quota"
|
||||||
|
msgstr "最大用户容量"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:101
|
||||||
|
msgid "Keep a copy of the emails"
|
||||||
|
msgstr "保留电子邮件副本"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:163
|
||||||
|
msgid "Keep emails on the server"
|
||||||
|
msgstr "保留电子邮件在服务器上"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:21
|
||||||
|
msgid "Keep emails"
|
||||||
|
msgstr "保存电子邮件"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "yes"
|
||||||
|
msgstr "是"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/fetch/list.html:35
|
||||||
|
msgid "no"
|
||||||
|
msgstr "否"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:65
|
||||||
|
msgid "Alternative name"
|
||||||
|
msgstr "替代名称"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:70
|
||||||
|
msgid "Relayed domain name"
|
||||||
|
msgstr "中继域域名"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:71 mailu/ui/templates/relay/list.html:18
|
||||||
|
msgid "Remote host"
|
||||||
|
msgstr "远程主机"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:54
|
||||||
|
msgid "Relayed domains"
|
||||||
|
msgstr "中继域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/create.html:4
|
||||||
|
msgid "Create alternative domain"
|
||||||
|
msgstr "创建替代域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:4
|
||||||
|
msgid "Alternative domain list"
|
||||||
|
msgstr "替代域名列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:12
|
||||||
|
msgid "Add alternative"
|
||||||
|
msgstr "添加替代"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/alternative/list.html:19
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "名称"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/list.html:39
|
||||||
|
msgid "Alternatives"
|
||||||
|
msgstr "备择方案"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/create.html:4
|
||||||
|
msgid "New relay domain"
|
||||||
|
msgstr "新的中继域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/edit.html:4
|
||||||
|
msgid "Edit relayd domain"
|
||||||
|
msgstr "编辑中继域"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:4
|
||||||
|
msgid "Relayed domain list"
|
||||||
|
msgstr "中继域列表"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/relay/list.html:9
|
||||||
|
msgid "New relayed domain"
|
||||||
|
msgstr "新的中继域"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:125
|
||||||
|
msgid "Your token (write it down, as it will never be displayed again)"
|
||||||
|
msgstr "您的令牌(请记录,它只显示这一次)"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:130 mailu/ui/templates/token/list.html:20
|
||||||
|
msgid "Authorized IP"
|
||||||
|
msgstr "授权IP"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:31 mailu/ui/templates/token/list.html:4
|
||||||
|
msgid "Authentication tokens"
|
||||||
|
msgstr "认证令牌"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:72
|
||||||
|
msgid "Go to"
|
||||||
|
msgstr "转到"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:76
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr "网页邮箱"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:87
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "网站"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/create.html:4
|
||||||
|
msgid "Create an authentication token"
|
||||||
|
msgstr "创建一个认证令牌"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/token/list.html:12
|
||||||
|
msgid "New token"
|
||||||
|
msgstr "新的令牌"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:15
|
||||||
|
msgid "General"
|
||||||
|
msgstr "通用"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/create.html:22
|
||||||
|
msgid "Features and quotas"
|
||||||
|
msgstr "功能和配额"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/settings.html:14
|
||||||
|
msgid "General settings"
|
||||||
|
msgstr "常规设置"
|
||||||
|
|
||||||
|
#: mailu/ui/templates/sidebar.html:59 mailu/ui/templates/user/settings.html:15
|
||||||
|
msgid "Antispam"
|
||||||
|
msgstr "反垃圾邮件"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:99
|
||||||
|
msgid "Spam filter tolerance"
|
||||||
|
msgstr "垃圾邮件过滤器容忍度"
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:50
|
||||||
|
msgid "Enable sign-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:57
|
||||||
|
msgid "Initial admin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:58
|
||||||
|
msgid "Admin password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:84
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:89
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:93 mailu/ui/templates/sidebar.html:117
|
||||||
|
#: mailu/ui/templates/user/signup.html:4
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:4
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/forms.py:119
|
||||||
|
msgid "End of vacation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:4 mailu/ui/templates/sidebar.html:82
|
||||||
|
msgid "Client setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:16 mailu/ui/templates/client.html:43
|
||||||
|
msgid "Mail protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/client.html:24 mailu/ui/templates/client.html:51
|
||||||
|
msgid "Server name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:4 mailu/ui/templates/sidebar.html:98
|
||||||
|
msgid "Register a domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/details.html:17
|
||||||
|
msgid "Generate keys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:13
|
||||||
|
msgid "In order to register a new domain, you must first setup the\n"
|
||||||
|
" domain zone so that the domain <code>MX</code> points to this server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/domain/signup.html:18
|
||||||
|
msgid "If you do not know how to setup an <code>MX</code> record for your DNS zone,\n"
|
||||||
|
" please contact your DNS provider or administrator. Also, please wait a\n"
|
||||||
|
" couple minutes after the <code>MX</code> is set so the local server cache\n"
|
||||||
|
" expires."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:8
|
||||||
|
msgid "pick a domain for the new account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:14
|
||||||
|
msgid "Domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: mailu/ui/templates/user/signup_domain.html:15
|
||||||
|
msgid "Available slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
6
core/admin/mailu/ui/__init__.py
Normal file
6
core/admin/mailu/ui/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from flask import Blueprint
|
||||||
|
|
||||||
|
|
||||||
|
ui = Blueprint('ui', __name__, static_folder='static', template_folder='templates')
|
||||||
|
|
||||||
|
from mailu.ui.views import *
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
from mailu.admin import db, models, forms
|
from mailu import models
|
||||||
|
from mailu.ui import forms
|
||||||
|
|
||||||
import flask
|
import flask
|
||||||
import flask_login
|
import flask_login
|
||||||
@@ -6,6 +6,7 @@ import flask_login
|
|||||||
import flask_wtf
|
import flask_wtf
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
LOCALPART_REGEX = "^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+$"
|
||||||
|
|
||||||
class DestinationField(fields.SelectMultipleField):
|
class DestinationField(fields.SelectMultipleField):
|
||||||
""" Allow for multiple emails selection from current user choices and
|
""" Allow for multiple emails selection from current user choices and
|
||||||
@@ -47,25 +48,62 @@ class DomainForm(flask_wtf.FlaskForm):
|
|||||||
max_users = fields_.IntegerField(_('Maximum user count'), default=10)
|
max_users = fields_.IntegerField(_('Maximum user count'), default=10)
|
||||||
max_aliases = fields_.IntegerField(_('Maximum alias count'), default=10)
|
max_aliases = fields_.IntegerField(_('Maximum alias count'), default=10)
|
||||||
max_quota_bytes = fields_.IntegerSliderField(_('Maximum user quota'), default=0)
|
max_quota_bytes = fields_.IntegerSliderField(_('Maximum user quota'), default=0)
|
||||||
|
signup_enabled = fields.BooleanField(_('Enable sign-up'), default=False)
|
||||||
comment = fields.StringField(_('Comment'))
|
comment = fields.StringField(_('Comment'))
|
||||||
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
|
class DomainSignupForm(flask_wtf.FlaskForm):
|
||||||
|
name = fields.StringField(_('Domain name'), [validators.DataRequired()])
|
||||||
|
localpart = fields.StringField(_('Initial admin'), [validators.DataRequired()])
|
||||||
|
pw = fields.PasswordField(_('Admin password'), [validators.DataRequired()])
|
||||||
|
pw2 = fields.PasswordField(_('Confirm password'), [validators.EqualTo('pw')])
|
||||||
|
captcha = flask_wtf.RecaptchaField()
|
||||||
submit = fields.SubmitField(_('Create'))
|
submit = fields.SubmitField(_('Create'))
|
||||||
|
|
||||||
|
|
||||||
|
class AlternativeForm(flask_wtf.FlaskForm):
|
||||||
|
name = fields.StringField(_('Alternative name'), [validators.DataRequired()])
|
||||||
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
|
class RelayForm(flask_wtf.FlaskForm):
|
||||||
|
name = fields.StringField(_('Relayed domain name'), [validators.DataRequired()])
|
||||||
|
smtp = fields.StringField(_('Remote host'))
|
||||||
|
comment = fields.StringField(_('Comment'))
|
||||||
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
class UserForm(flask_wtf.FlaskForm):
|
class UserForm(flask_wtf.FlaskForm):
|
||||||
localpart = fields.StringField(_('E-mail'), [validators.DataRequired()])
|
localpart = fields.StringField(_('E-mail'), [validators.DataRequired(), validators.Regexp(LOCALPART_REGEX)])
|
||||||
pw = fields.PasswordField(_('Password'), [validators.DataRequired()])
|
pw = fields.PasswordField(_('Password'), [validators.DataRequired()])
|
||||||
pw2 = fields.PasswordField(_('Confirm password'), [validators.EqualTo('pw')])
|
pw2 = fields.PasswordField(_('Confirm password'), [validators.EqualTo('pw')])
|
||||||
quota_bytes = fields_.IntegerSliderField(_('Quota'), default=1000000000)
|
quota_bytes = fields_.IntegerSliderField(_('Quota'), default=1000000000)
|
||||||
enable_imap = fields.BooleanField(_('Allow IMAP access'), default=True)
|
enable_imap = fields.BooleanField(_('Allow IMAP access'), default=True)
|
||||||
enable_pop = fields.BooleanField(_('Allow POP3 access'), default=True)
|
enable_pop = fields.BooleanField(_('Allow POP3 access'), default=True)
|
||||||
comment = fields.StringField(_('Comment'))
|
comment = fields.StringField(_('Comment'))
|
||||||
|
enabled = fields.BooleanField(_('Enabled'), default=True)
|
||||||
submit = fields.SubmitField(_('Save'))
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
|
class UserSignupForm(flask_wtf.FlaskForm):
|
||||||
|
localpart = fields.StringField(_('Email address'), [validators.DataRequired(), validators.Regexp(LOCALPART_REGEX)])
|
||||||
|
pw = fields.PasswordField(_('Password'), [validators.DataRequired()])
|
||||||
|
pw2 = fields.PasswordField(_('Confirm password'), [validators.EqualTo('pw')])
|
||||||
|
submit = fields.SubmitField(_('Sign up'))
|
||||||
|
|
||||||
|
class UserSignupFormCaptcha(UserSignupForm):
|
||||||
|
captcha = flask_wtf.RecaptchaField()
|
||||||
|
|
||||||
class UserSettingsForm(flask_wtf.FlaskForm):
|
class UserSettingsForm(flask_wtf.FlaskForm):
|
||||||
displayed_name = fields.StringField(_('Displayed name'))
|
displayed_name = fields.StringField(_('Displayed name'))
|
||||||
spam_enabled = fields.BooleanField(_('Enable spam filter'))
|
spam_enabled = fields.BooleanField(_('Enable spam filter'))
|
||||||
spam_threshold = fields_.IntegerSliderField(_('Spam filter threshold'))
|
spam_threshold = fields_.IntegerSliderField(_('Spam filter tolerance'))
|
||||||
|
forward_enabled = fields.BooleanField(_('Enable forwarding'))
|
||||||
|
forward_keep = fields.BooleanField(_('Keep a copy of the emails'))
|
||||||
|
forward_destination = fields.StringField(
|
||||||
|
_('Destination'), [validators.Optional(), validators.Email()]
|
||||||
|
)
|
||||||
submit = fields.SubmitField(_('Save settings'))
|
submit = fields.SubmitField(_('Save settings'))
|
||||||
|
|
||||||
|
|
||||||
@@ -75,29 +113,35 @@ class UserPasswordForm(flask_wtf.FlaskForm):
|
|||||||
submit = fields.SubmitField(_('Update password'))
|
submit = fields.SubmitField(_('Update password'))
|
||||||
|
|
||||||
|
|
||||||
class UserForwardForm(flask_wtf.FlaskForm):
|
|
||||||
forward_enabled = fields.BooleanField(_('Enable forwarding'))
|
|
||||||
forward_destination = fields.StringField(
|
|
||||||
_('Destination'), [validators.Optional(), validators.Email()]
|
|
||||||
)
|
|
||||||
submit = fields.SubmitField(_('Update'))
|
|
||||||
|
|
||||||
|
|
||||||
class UserReplyForm(flask_wtf.FlaskForm):
|
class UserReplyForm(flask_wtf.FlaskForm):
|
||||||
reply_enabled = fields.BooleanField(_('Enable automatic reply'))
|
reply_enabled = fields.BooleanField(_('Enable automatic reply'))
|
||||||
reply_subject = fields.StringField(_('Reply subject'))
|
reply_subject = fields.StringField(_('Reply subject'))
|
||||||
reply_body = fields.StringField(_('Reply body'),
|
reply_body = fields.StringField(_('Reply body'),
|
||||||
widget=widgets.TextArea())
|
widget=widgets.TextArea())
|
||||||
|
reply_startdate = fields.html5.DateField(_('Start of vacation'))
|
||||||
|
reply_enddate = fields.html5.DateField(_('End of vacation'))
|
||||||
submit = fields.SubmitField(_('Update'))
|
submit = fields.SubmitField(_('Update'))
|
||||||
|
|
||||||
|
|
||||||
|
class TokenForm(flask_wtf.FlaskForm):
|
||||||
|
displayed_password = fields.StringField(
|
||||||
|
_('Your token (write it down, as it will never be displayed again)')
|
||||||
|
)
|
||||||
|
raw_password = fields.HiddenField([validators.DataRequired()])
|
||||||
|
comment = fields.StringField(_('Comment'))
|
||||||
|
ip = fields.StringField(
|
||||||
|
_('Authorized IP'), [validators.Optional(), validators.IPAddress()]
|
||||||
|
)
|
||||||
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
class AliasForm(flask_wtf.FlaskForm):
|
class AliasForm(flask_wtf.FlaskForm):
|
||||||
localpart = fields.StringField(_('Alias'), [validators.DataRequired()])
|
localpart = fields.StringField(_('Alias'), [validators.DataRequired()])
|
||||||
wildcard = fields.BooleanField(
|
wildcard = fields.BooleanField(
|
||||||
_('Use SQL LIKE Syntax (e.g. for catch-all aliases)'))
|
_('Use SQL LIKE Syntax (e.g. for catch-all aliases)'))
|
||||||
destination = DestinationField(_('Destination'))
|
destination = DestinationField(_('Destination'))
|
||||||
comment = fields.StringField(_('Comment'))
|
comment = fields.StringField(_('Comment'))
|
||||||
submit = fields.SubmitField(_('Create'))
|
submit = fields.SubmitField(_('Save'))
|
||||||
|
|
||||||
|
|
||||||
class AdminForm(flask_wtf.FlaskForm):
|
class AdminForm(flask_wtf.FlaskForm):
|
||||||
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
4
core/admin/mailu/ui/static/fontawesome/css/font-awesome.min.css
vendored
Normal file
4
core/admin/mailu/ui/static/fontawesome/css/font-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
core/admin/mailu/ui/static/fontawesome/fonts/FontAwesome.otf
Normal file
BIN
core/admin/mailu/ui/static/fontawesome/fonts/FontAwesome.otf
Normal file
Binary file not shown.
Binary file not shown.
2671
core/admin/mailu/ui/static/fontawesome/fonts/fontawesome-webfont.svg
Normal file
2671
core/admin/mailu/ui/static/fontawesome/fonts/fontawesome-webfont.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user