Compare commits
4087 Commits
12.106.2
...
revert-mod
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6b300a12a | ||
|
|
e5fce15ba5 | ||
|
|
c59a9c6f84 | ||
|
|
545b5cab96 | ||
|
|
fe13755be8 | ||
|
|
9208cfd5f3 | ||
|
|
81ba841fb8 | ||
|
|
0404d9c103 | ||
|
|
c1a19ff900 | ||
|
|
ac6a8edf0b | ||
|
|
8851e90316 | ||
|
|
fca6ae9403 | ||
|
|
4f4f15a6a4 | ||
|
|
7097d553e4 | ||
|
|
b8973a6f19 | ||
|
|
50de2e76b4 | ||
|
|
40c5699d93 | ||
|
|
a87dd5ddec | ||
|
|
561683f097 | ||
|
|
c9b9db13c7 | ||
|
|
a8cd8ed99e | ||
|
|
b3358f0a8b | ||
|
|
af2368bd2b | ||
|
|
2cb8e8a748 | ||
|
|
c40f52b262 | ||
|
|
2801946226 | ||
|
|
0d2e3df061 | ||
|
|
64c142b1ca | ||
|
|
df2b61fcc6 | ||
|
|
509e3f979e | ||
|
|
b546d4108f | ||
|
|
46f86a9146 | ||
|
|
2191479c76 | ||
|
|
0a06eb27da | ||
|
|
47b684100d | ||
|
|
7d6ea74288 | ||
|
|
8e11a30c36 | ||
|
|
5dc8f63a07 | ||
|
|
e6fca72171 | ||
|
|
d2c942348c | ||
|
|
21277952ca | ||
|
|
dc93a418c0 | ||
|
|
51b02ef23e | ||
|
|
32430a0dba | ||
|
|
8e46fade07 | ||
|
|
871027fa0c | ||
|
|
2ddf575cdc | ||
|
|
8a058876a3 | ||
|
|
1df259a7b2 | ||
|
|
1e40088d98 | ||
|
|
5e53b41f2d | ||
|
|
5f5c4fc44f | ||
|
|
ad9bb773c5 | ||
|
|
59934f9767 | ||
|
|
bf9e74ca05 | ||
|
|
5280a5e5c6 | ||
|
|
8c77153c04 | ||
|
|
c50b952ff9 | ||
|
|
b0b0ecb857 | ||
|
|
9d145d33cb | ||
|
|
54c0ed2ed7 | ||
|
|
269cd560c7 | ||
|
|
e6db7b9fa7 | ||
|
|
698e8c9a14 | ||
|
|
e410b8a03b | ||
|
|
9fc3e19582 | ||
|
|
ade43b1f95 | ||
|
|
28510ed673 | ||
|
|
5dab918999 | ||
|
|
4f22176b8f | ||
|
|
9f9498c4f0 | ||
|
|
d01fba9a8d | ||
|
|
07e96b734a | ||
|
|
421b0b7057 | ||
|
|
be595ebd62 | ||
|
|
df5480668d | ||
|
|
ad5fd626c7 | ||
|
|
29f84a072b | ||
|
|
20c2fa4c58 | ||
|
|
4417412787 | ||
|
|
96cde67b2c | ||
|
|
545371011a | ||
|
|
d5f30ecb86 | ||
|
|
f96ed9a3f3 | ||
|
|
b392f44b81 | ||
|
|
9d5dd7201e | ||
|
|
9a5bc78eb4 | ||
|
|
07a225c2a0 | ||
|
|
c926a61e07 | ||
|
|
54625914c5 | ||
|
|
8f196fc67c | ||
|
|
52b440357f | ||
|
|
866e3f0432 | ||
|
|
9e330c9e38 | ||
|
|
02957a1b5d | ||
|
|
1c82e97350 | ||
|
|
2b6dbd4fcb | ||
|
|
c0dbc3b53f | ||
|
|
af30959cb9 | ||
|
|
35ffe3c52f | ||
|
|
c13fd42015 | ||
|
|
a72ef70770 | ||
|
|
9a391bd863 | ||
|
|
12456b22c5 | ||
|
|
e35a370af0 | ||
|
|
b6a432fd7b | ||
|
|
cd9affd568 | ||
|
|
b97694b083 | ||
|
|
9845ccec5b | ||
|
|
cf3e39178b | ||
|
|
48d3341462 | ||
|
|
791ae608a5 | ||
|
|
f4d1fcaf67 | ||
|
|
239ea39d6f | ||
|
|
63e21a4ee3 | ||
|
|
1a096c557e | ||
|
|
53b1684c39 | ||
|
|
9dd53527ca | ||
|
|
59046d583d | ||
|
|
6ba9805536 | ||
|
|
5059d4d7e1 | ||
|
|
74a05ec739 | ||
|
|
60366a4558 | ||
|
|
7ec07d5fd2 | ||
|
|
5b8fa25a12 | ||
|
|
51df3de66d | ||
|
|
246d167c81 | ||
|
|
d2764944cf | ||
|
|
ac6d6fdeb8 | ||
|
|
6a015341ef | ||
|
|
3796da6836 | ||
|
|
36d5deeb61 | ||
|
|
e40a0b98e4 | ||
|
|
0fbb46c981 | ||
|
|
081a14d6f3 | ||
|
|
b056e8f5eb | ||
|
|
15683370f0 | ||
|
|
644023316e | ||
|
|
c2d7008cff | ||
|
|
bd843863d0 | ||
|
|
8ec96ad1e0 | ||
|
|
4f876c9e8d | ||
|
|
3c6175d959 | ||
|
|
1f181536ae | ||
|
|
383d6a2485 | ||
|
|
588465566b | ||
|
|
b318789354 | ||
|
|
0b8e0fa91b | ||
|
|
8daca59ca6 | ||
|
|
d84796588c | ||
|
|
4c879b3a33 | ||
|
|
eacc90debc | ||
|
|
2606167f0d | ||
|
|
f76b3edbdd | ||
|
|
aef7b0238b | ||
|
|
cbb58b1cfc | ||
|
|
bc4d27410c | ||
|
|
d5c4e77c44 | ||
|
|
e987af4e4f | ||
|
|
bc61f37faa | ||
|
|
c065b97140 | ||
|
|
0137af892a | ||
|
|
06bf5c1ff1 | ||
|
|
9e955d20c4 | ||
|
|
165c53a547 | ||
|
|
3597da5c49 | ||
|
|
4a7da723b3 | ||
|
|
d2f8ed95aa | ||
|
|
6b2c92cb68 | ||
|
|
dc8763215a | ||
|
|
9959f5bd04 | ||
|
|
be143f91b2 | ||
|
|
ac4245dce1 | ||
|
|
1ab9f096c3 | ||
|
|
8f94b36732 | ||
|
|
22227fa641 | ||
|
|
92d9946f59 | ||
|
|
526fa8bf3f | ||
|
|
aa92df4e50 | ||
|
|
61e7eb8ff1 | ||
|
|
84d3a06637 | ||
|
|
60cddf87d8 | ||
|
|
6157616b37 | ||
|
|
af3258dc79 | ||
|
|
734c41aba5 | ||
|
|
a1327fa9e1 | ||
|
|
1b1f82a2e2 | ||
|
|
d48172e9d1 | ||
|
|
58a898dfe0 | ||
|
|
d23ad8b511 | ||
|
|
8099bc24e1 | ||
|
|
ef354e94f2 | ||
|
|
7bb8c71543 | ||
|
|
a2c0573f84 | ||
|
|
5d922e3084 | ||
|
|
f0b5860b9c | ||
|
|
fd4c43786a | ||
|
|
60cc7f62e6 | ||
|
|
dc27ba6f03 | ||
|
|
3fe1c862f6 | ||
|
|
33a2c0b59e | ||
|
|
e8c5117b2d | ||
|
|
e2261b63e9 | ||
|
|
8c7bcdf998 | ||
|
|
f5dfb64a52 | ||
|
|
fa7fd9ce25 | ||
|
|
63971f1cd8 | ||
|
|
b1313fbca8 | ||
|
|
f1b0c54f6e | ||
|
|
94c09f1441 | ||
|
|
46222d0258 | ||
|
|
c59a30ec09 | ||
|
|
f3a16bcd6d | ||
|
|
f69627939b | ||
|
|
e8420ad90b | ||
|
|
6182a1cb2c | ||
|
|
308ab8f177 | ||
|
|
359fbd78c1 | ||
|
|
dd733ec1d0 | ||
|
|
5e680500e5 | ||
|
|
0465e74521 | ||
|
|
34a32a8334 | ||
|
|
3941c73db0 | ||
|
|
703f3a8e37 | ||
|
|
6032c2be1c | ||
|
|
13870c63b0 | ||
|
|
88083925ce | ||
|
|
95b2148bfe | ||
|
|
8ccf954065 | ||
|
|
e456c6a9c1 | ||
|
|
68c5426fd5 | ||
|
|
29856a9129 | ||
|
|
f4943bc5bb | ||
|
|
aeb8955ca2 | ||
|
|
981e6f996e | ||
|
|
8263cc0094 | ||
|
|
fa051a2a5f | ||
|
|
ce252143c3 | ||
|
|
259be258aa | ||
|
|
2d5bb40ad0 | ||
|
|
db7fb1c688 | ||
|
|
6b0685a25c | ||
|
|
618d07158a | ||
|
|
a63a417fd4 | ||
|
|
4443dba717 | ||
|
|
565c502bbf | ||
|
|
9e716fd813 | ||
|
|
34e1b52b38 | ||
|
|
0cb3c7481c | ||
|
|
db623dda22 | ||
|
|
1177528c25 | ||
|
|
a7abf941c0 | ||
|
|
5230ec883e | ||
|
|
482b00df77 | ||
|
|
91d790bbb6 | ||
|
|
40295ae57d | ||
|
|
3857cd589f | ||
|
|
9eaca966a4 | ||
|
|
8bdf0dd135 | ||
|
|
eedc8049db | ||
|
|
23f272cc7d | ||
|
|
15450b18e8 | ||
|
|
50aeaf7498 | ||
|
|
861bfa06a8 | ||
|
|
3b30ee3130 | ||
|
|
f6830885d7 | ||
|
|
ff56511638 | ||
|
|
337dd97b49 | ||
|
|
146e89edd0 | ||
|
|
cd82748889 | ||
|
|
2c0b10b0ee | ||
|
|
6c09361ec6 | ||
|
|
3089a86c8e | ||
|
|
ec2f05d4f7 | ||
|
|
31a8129cb9 | ||
|
|
8cc6c2c864 | ||
|
|
a4de927df8 | ||
|
|
a2c77a0944 | ||
|
|
d8a564c6a0 | ||
|
|
ff94b64c91 | ||
|
|
1cc616b86c | ||
|
|
6addf9002c | ||
|
|
6dd219b6c7 | ||
|
|
a535142e82 | ||
|
|
9521519cb8 | ||
|
|
e11f82c300 | ||
|
|
aba0755880 | ||
|
|
821bb1c476 | ||
|
|
14da0a65f7 | ||
|
|
8e5d31eb5c | ||
|
|
f8f3304164 | ||
|
|
d7efdd7123 | ||
|
|
4256e20a7f | ||
|
|
f2d9e3105d | ||
|
|
a6cd97ca9a | ||
|
|
a4a171781b | ||
|
|
8e8e3dbe4e | ||
|
|
de71845b35 | ||
|
|
a3a47b8d35 | ||
|
|
f091007882 | ||
|
|
8f14b42e81 | ||
|
|
8b33a70fc4 | ||
|
|
dc031b1d07 | ||
|
|
f551b6d15e | ||
|
|
0a2ac58b82 | ||
|
|
3c07d3fc08 | ||
|
|
c6ea7f754c | ||
|
|
101e8d7adb | ||
|
|
19b96ff650 | ||
|
|
bd66a3f148 | ||
|
|
7f235275c9 | ||
|
|
3097bb6c7d | ||
|
|
f469f555e8 | ||
|
|
115167e6da | ||
|
|
a1200ad886 | ||
|
|
25d1b66ca4 | ||
|
|
c5f9b1c224 | ||
|
|
8c66fad96b | ||
|
|
afa4cd9112 | ||
|
|
f930eaee02 | ||
|
|
b35b9bc27f | ||
|
|
4790ddfad6 | ||
|
|
b6f21b6edb | ||
|
|
fd7b77c542 | ||
|
|
7cbd852fe5 | ||
|
|
a80003cde5 | ||
|
|
fb54c58a66 | ||
|
|
3a924f3dc6 | ||
|
|
11d22c7b73 | ||
|
|
a879607479 | ||
|
|
98aef974df | ||
|
|
cf46816687 | ||
|
|
eee1e74174 | ||
|
|
8050f89d7e | ||
|
|
406e5d297b | ||
|
|
10634b3615 | ||
|
|
fd03e2e1a7 | ||
|
|
6cc86272f3 | ||
|
|
06b1250d47 | ||
|
|
31a7350a10 | ||
|
|
4129ac157a | ||
|
|
30cb791e93 | ||
|
|
1c57983bfd | ||
|
|
bdf08c8a54 | ||
|
|
0513ff8b4e | ||
|
|
62fe3bfb54 | ||
|
|
38a1d6693a | ||
|
|
d2eec3a9e4 | ||
|
|
1de774fa3d | ||
|
|
ed902658a9 | ||
|
|
acdcd7c623 | ||
|
|
b0344e07c4 | ||
|
|
9a6ce1e867 | ||
|
|
22a6bd6b22 | ||
|
|
38e6f3f776 | ||
|
|
ca75afe065 | ||
|
|
915ed39715 | ||
|
|
81fd94e635 | ||
|
|
05507a4bea | ||
|
|
d177f97928 | ||
|
|
30cb03a40d | ||
|
|
c685989e67 | ||
|
|
ee3f408c7d | ||
|
|
1eb35dd5bc | ||
|
|
15db0b8812 | ||
|
|
1b78c6a309 | ||
|
|
c713af8e23 | ||
|
|
bd6666173a | ||
|
|
02715f5d14 | ||
|
|
acd5e0b8f6 | ||
|
|
be2142bb13 | ||
|
|
4a703d7cf6 | ||
|
|
95470a40a7 | ||
|
|
56d4658b36 | ||
|
|
f68008b002 | ||
|
|
6a5ef5b6f2 | ||
|
|
95b9284e79 | ||
|
|
8317772436 | ||
|
|
0c0ae6ff90 | ||
|
|
d63b943116 | ||
|
|
dddbc1c894 | ||
|
|
f68c743f39 | ||
|
|
59255e11b8 | ||
|
|
3804c6e7ad | ||
|
|
527a13b77d | ||
|
|
a3423bad60 | ||
|
|
e3f9144608 | ||
|
|
231506772a | ||
|
|
db1098a180 | ||
|
|
7ce569424a | ||
|
|
9b5b3a4d1b | ||
|
|
6173cebdca | ||
|
|
6bb82cda37 | ||
|
|
dd60f1a533 | ||
|
|
45263f4cd0 | ||
|
|
747d323584 | ||
|
|
e707aadbcc | ||
|
|
7b012967d9 | ||
|
|
e126083e10 | ||
|
|
cbca48846c | ||
|
|
ca2ed0a59b | ||
|
|
5d22e113b2 | ||
|
|
ed3c137543 | ||
|
|
a35f0d43e4 | ||
|
|
153eed7d71 | ||
|
|
0d8e1c5421 | ||
|
|
d10d5a8d53 | ||
|
|
23f106a0c1 | ||
|
|
a7ee4aabcb | ||
|
|
d867fc00b6 | ||
|
|
60f504bbe2 | ||
|
|
f4e6d73a8a | ||
|
|
c066013c57 | ||
|
|
86f952e659 | ||
|
|
d36e44bc57 | ||
|
|
93629fb29d | ||
|
|
9ff088a830 | ||
|
|
55190e6b8b | ||
|
|
38391010af | ||
|
|
3d94dec7a9 | ||
|
|
636428c72e | ||
|
|
0717afc312 | ||
|
|
3d4a90b08a | ||
|
|
7cc555fd28 | ||
|
|
238d0fa667 | ||
|
|
30ff4592cc | ||
|
|
a979fb9207 | ||
|
|
f15f60d5b9 | ||
|
|
8c97c54cfa | ||
|
|
89a3195dfd | ||
|
|
1eaf287b9c | ||
|
|
9166a58c5f | ||
|
|
eef368abd0 | ||
|
|
f983e44d9e | ||
|
|
5be6438bbc | ||
|
|
d2e6b17a26 | ||
|
|
d1c2e4aaa0 | ||
|
|
6f1994c665 | ||
|
|
055dc6bb66 | ||
|
|
f06339b970 | ||
|
|
3370419b0a | ||
|
|
9bd4ad0fc1 | ||
|
|
23994d8f4e | ||
|
|
bb3c85d3a1 | ||
|
|
8328a66104 | ||
|
|
909ec8c38d | ||
|
|
b01a1b3c17 | ||
|
|
cbb779f60c | ||
|
|
8ddae83c40 | ||
|
|
1cc106b8de | ||
|
|
16eedb86a5 | ||
|
|
2b26a2f5e4 | ||
|
|
a65fa684ce | ||
|
|
0758c56c53 | ||
|
|
3c0dccc8b9 | ||
|
|
e18feb4183 | ||
|
|
9e464eaa63 | ||
|
|
8b352e4e56 | ||
|
|
26d85c8bed | ||
|
|
df924d18f1 | ||
|
|
177359689e | ||
|
|
b380dc53e1 | ||
|
|
8c30ca50a8 | ||
|
|
69afd0480e | ||
|
|
6d4d9f417b | ||
|
|
11ea1a2811 | ||
|
|
c15b75e477 | ||
|
|
ea9a95cd98 | ||
|
|
ed634b4b3d | ||
|
|
f9f115b66d | ||
|
|
02059fdee4 | ||
|
|
37c119e1f5 | ||
|
|
d75a7fd421 | ||
|
|
adf66154d2 | ||
|
|
9557579b67 | ||
|
|
341c42ebb9 | ||
|
|
574cfdfda6 | ||
|
|
0729678398 | ||
|
|
b545146bf9 | ||
|
|
7ae1d6511a | ||
|
|
0c4c4e7202 | ||
|
|
6a25015a78 | ||
|
|
ae5a72a2df | ||
|
|
baa45859c1 | ||
|
|
461f761aa6 | ||
|
|
6894e42674 | ||
|
|
22d6c7fe8a | ||
|
|
9e70b02648 | ||
|
|
64f5b2daa2 | ||
|
|
b2f6c67aa9 | ||
|
|
1c0ec222b4 | ||
|
|
80619260c1 | ||
|
|
e382f74bb3 | ||
|
|
c8343b2750 | ||
|
|
7feca2a60a | ||
|
|
aa28ddf762 | ||
|
|
5c54e12099 | ||
|
|
b16d7cc6c4 | ||
|
|
8f36a80775 | ||
|
|
a6e7c196ee | ||
|
|
a531b8aeee | ||
|
|
3510768fd5 | ||
|
|
34e958c3a7 | ||
|
|
65a597a35d | ||
|
|
66da7e18c9 | ||
|
|
7c8ca260ce | ||
|
|
2a92e3c1c9 | ||
|
|
f8ed6b1a54 | ||
|
|
8709487cd5 | ||
|
|
41e9aa6f9b | ||
|
|
1a96425768 | ||
|
|
6fd63c1fb6 | ||
|
|
b271d02660 | ||
|
|
85a4c8dbb1 | ||
|
|
d5e92c3822 | ||
|
|
151586ab60 | ||
|
|
5c80d9093b | ||
|
|
b565df6882 | ||
|
|
b8b91b39f4 | ||
|
|
44ba2fd7cb | ||
|
|
f94f3dae8b | ||
|
|
4dfe2c15b0 | ||
|
|
7d1dde0f04 | ||
|
|
63a0b7353a | ||
|
|
f82810cf1b | ||
|
|
853f9dca31 | ||
|
|
d526cd70fd | ||
|
|
9016573736 | ||
|
|
be7b11e1bb | ||
|
|
4da22b85a0 | ||
|
|
448a933f77 | ||
|
|
8310d929dc | ||
|
|
963aa4939f | ||
|
|
8957a89024 | ||
|
|
95a2de8d54 | ||
|
|
50985b2ffd | ||
|
|
61c12290fd | ||
|
|
8a9cc0e711 | ||
|
|
95e7e003fd | ||
|
|
29a84230b0 | ||
|
|
6ad9a9677a | ||
|
|
1ff23d7a9d | ||
|
|
84beecd27f | ||
|
|
78273f9f0d | ||
|
|
119f02540d | ||
|
|
3401ab0128 | ||
|
|
39becdb576 | ||
|
|
8c4e918431 | ||
|
|
484dfb6a01 | ||
|
|
1a4b4348a9 | ||
|
|
0735ca0853 | ||
|
|
732d714c96 | ||
|
|
63be1ee8c0 | ||
|
|
0a59407a3c | ||
|
|
521bb9b506 | ||
|
|
d17c2892d6 | ||
|
|
e36f9599d2 | ||
|
|
10ff379b4c | ||
|
|
bd1c2abffc | ||
|
|
c7d4264ecf | ||
|
|
30bc59c943 | ||
|
|
39748ea0c3 | ||
|
|
5dfbce7571 | ||
|
|
3a105024c7 | ||
|
|
ae21b75687 | ||
|
|
4a72941eda | ||
|
|
14e364a74a | ||
|
|
e1bc832c0d | ||
|
|
2d84e04240 | ||
|
|
be226ec187 | ||
|
|
6db37d4fcb | ||
|
|
b3b8ee46f0 | ||
|
|
b45bc3fd5d | ||
|
|
5c08f2b93b | ||
|
|
5f62cefe31 | ||
|
|
8dab46470e | ||
|
|
8c70bbe74d | ||
|
|
9ee002285d | ||
|
|
febb9f388c | ||
|
|
2cfed3395e | ||
|
|
53498991bb | ||
|
|
ae80dc9b1e | ||
|
|
2c606028b3 | ||
|
|
1f9f63df7c | ||
|
|
dbc24ce587 | ||
|
|
58c3fc6cd2 | ||
|
|
363eb73fb3 | ||
|
|
43593603f1 | ||
|
|
bcd123371b | ||
|
|
f3e43a0fc6 | ||
|
|
b3ec47c3f4 | ||
|
|
a2e475f2e8 | ||
|
|
379c5a8091 | ||
|
|
8dc5edde76 | ||
|
|
e9ba896431 | ||
|
|
cbd183a7a9 | ||
|
|
d535ec21a2 | ||
|
|
0cbdbf24f1 | ||
|
|
4495969d7f | ||
|
|
f5e9886c70 | ||
|
|
1631e62739 | ||
|
|
e48926b01d | ||
|
|
25580e8afc | ||
|
|
5b7482d8f4 | ||
|
|
5f4d20ac1d | ||
|
|
7de59a80a2 | ||
|
|
d28866f71a | ||
|
|
149ddebf16 | ||
|
|
351bee325b | ||
|
|
0ab50f87a2 | ||
|
|
09764b909b | ||
|
|
2d3d986d13 | ||
|
|
87657d0acf | ||
|
|
9d5911d4e4 | ||
|
|
e2d9c0efe2 | ||
|
|
8fb5457c01 | ||
|
|
0ad7869249 | ||
|
|
e8177ee311 | ||
|
|
8fbca63cec | ||
|
|
5124db57d2 | ||
|
|
6e0f998fb2 | ||
|
|
52a1d96218 | ||
|
|
a986203b38 | ||
|
|
2aa75f5489 | ||
|
|
b9b9cd0c78 | ||
|
|
b2a28ad9d4 | ||
|
|
f3206d094d | ||
|
|
59dc9516d0 | ||
|
|
62af89d433 | ||
|
|
b57ee4dd96 | ||
|
|
8876ae09ed | ||
|
|
34492f3c9a | ||
|
|
918a96da24 | ||
|
|
e461fb169e | ||
|
|
5ddffa728a | ||
|
|
eb0e2ceef7 | ||
|
|
2718d86171 | ||
|
|
d437e148db | ||
|
|
eacdc0136f | ||
|
|
5a7a1d0be9 | ||
|
|
9145302b3a | ||
|
|
ca49ac28b8 | ||
|
|
7b721c2124 | ||
|
|
87ff004c73 | ||
|
|
18df1c7a52 | ||
|
|
1dac961784 | ||
|
|
8b833c88ad | ||
|
|
4054f9cccf | ||
|
|
5cae078e5e | ||
|
|
8dc60cd327 | ||
|
|
af738d9ca9 | ||
|
|
40debf20d8 | ||
|
|
3af99d075e | ||
|
|
795cb1ecf4 | ||
|
|
e89d0aa815 | ||
|
|
206baa13e6 | ||
|
|
7cc797062d | ||
|
|
67d218fe2b | ||
|
|
dc8a3f210b | ||
|
|
e1f9ab77f8 | ||
|
|
0f7defc14a | ||
|
|
323af09ae9 | ||
|
|
d868f8f356 | ||
|
|
8c9cb9ee15 | ||
|
|
3a61af326e | ||
|
|
f5c502a436 | ||
|
|
b8dacaaac8 | ||
|
|
65ff2c2498 | ||
|
|
b26807b59b | ||
|
|
471b836a44 | ||
|
|
aa289c9cb0 | ||
|
|
614f12386e | ||
|
|
cc27c1486d | ||
|
|
d2d17847dc | ||
|
|
fa60f54bc5 | ||
|
|
0ddc79bb91 | ||
|
|
9ad250bbb8 | ||
|
|
d2aba9b693 | ||
|
|
6c5b5f59dd | ||
|
|
973e70bacc | ||
|
|
15761a0fa8 | ||
|
|
38fdc73d01 | ||
|
|
bcbf06ac8c | ||
|
|
98383b2aa9 | ||
|
|
5a8748b2b0 | ||
|
|
69adbdef15 | ||
|
|
da0c295114 | ||
|
|
83d0f819be | ||
|
|
c47a0f78ff | ||
|
|
7d3b7986e5 | ||
|
|
9469b26eb2 | ||
|
|
168fe0e376 | ||
|
|
14f30afd3c | ||
|
|
a67439981b | ||
|
|
5f67ca434d | ||
|
|
21dfce2cbb | ||
|
|
47c7b4b9cc | ||
|
|
55c10d0d88 | ||
|
|
93dcd1c98e | ||
|
|
2423fb8d38 | ||
|
|
463446795d | ||
|
|
dffefdad95 | ||
|
|
e014c91899 | ||
|
|
5cac1515fd | ||
|
|
97abfd48ce | ||
|
|
605f149235 | ||
|
|
7d11cf8ec9 | ||
|
|
9bb6c536c0 | ||
|
|
2a7ba37996 | ||
|
|
3f57119aea | ||
|
|
ddb1ab7fae | ||
|
|
8913e561db | ||
|
|
dcbaca4260 | ||
|
|
6839441ac6 | ||
|
|
62b6c4d09b | ||
|
|
1a7e5fb865 | ||
|
|
78a2feb24c | ||
|
|
04511ac141 | ||
|
|
4c0ef07f6f | ||
|
|
3ff5a5ae29 | ||
|
|
6ea057f8f8 | ||
|
|
b7d056fb22 | ||
|
|
e3aeab8122 | ||
|
|
72031e49fc | ||
|
|
d06d1e8682 | ||
|
|
5c3a4a8224 | ||
|
|
49749b46c4 | ||
|
|
5d56799070 | ||
|
|
81d2c5a4a7 | ||
|
|
0db88a5a3b | ||
|
|
f9720e0e6e | ||
|
|
77f91d67b4 | ||
|
|
da83322200 | ||
|
|
b463490d9f | ||
|
|
5002effd65 | ||
|
|
35613fd642 | ||
|
|
5cabbd0eef | ||
|
|
8b509f6c36 | ||
|
|
2612bcd738 | ||
|
|
de0577bc38 | ||
|
|
b192dc0774 | ||
|
|
43eee54f2d | ||
|
|
59ca0d21a1 | ||
|
|
92356d02b9 | ||
|
|
c10d591bd0 | ||
|
|
3a90bcc03c | ||
|
|
f6dc100748 | ||
|
|
0702f9775a | ||
|
|
838625edcd | ||
|
|
83bcdb8ede | ||
|
|
567c66567e | ||
|
|
da64273b43 | ||
|
|
6a23ffcce5 | ||
|
|
511dab0618 | ||
|
|
48e2523081 | ||
|
|
e0431aed28 | ||
|
|
29c9a7d71a | ||
|
|
eba42230ee | ||
|
|
f8315a40b4 | ||
|
|
b5724d06b4 | ||
|
|
70a06e30d5 | ||
|
|
3ec060f0dc | ||
|
|
39cf80e19f | ||
|
|
b56f4b27ee | ||
|
|
2b19e1f732 | ||
|
|
59d0d507d5 | ||
|
|
86de46debf | ||
|
|
1057da1556 | ||
|
|
9feb6b0f5b | ||
|
|
269d1e72cb | ||
|
|
31ff3a22b7 | ||
|
|
b9d022f164 | ||
|
|
087da7643e | ||
|
|
cb3a84adb4 | ||
|
|
004ace396d | ||
|
|
9ae2e87a46 | ||
|
|
ad4006738b | ||
|
|
f794f3ad0a | ||
|
|
b7ed3ddfdd | ||
|
|
038365bf2d | ||
|
|
64597a2dab | ||
|
|
d76220cc80 | ||
|
|
7a33c5d2ee | ||
|
|
e58b357918 | ||
|
|
789689e759 | ||
|
|
2321214c98 | ||
|
|
50a9b29c48 | ||
|
|
c5ccd826c8 | ||
|
|
ad9f72291f | ||
|
|
1c158dc510 | ||
|
|
cd915b6939 | ||
|
|
a7455035c5 | ||
|
|
5cd93834d1 | ||
|
|
6892e9fbb7 | ||
|
|
abe73c9904 | ||
|
|
cc57fc041a | ||
|
|
90df0d87ae | ||
|
|
95f670e3ec | ||
|
|
66342337ef | ||
|
|
59693bcb65 | ||
|
|
a432f53d6c | ||
|
|
e72d6c9f2c | ||
|
|
e23cf77f86 | ||
|
|
0f328e8472 | ||
|
|
7636536973 | ||
|
|
975e79fa3b | ||
|
|
eefa06622b | ||
|
|
9114c8cb8e | ||
|
|
132feea1fa | ||
|
|
33e9428510 | ||
|
|
1aa8f09b95 | ||
|
|
65584f21bb | ||
|
|
b697f948df | ||
|
|
551b00302b | ||
|
|
05aa0fa11a | ||
|
|
008e3fb37e | ||
|
|
68e8892f61 | ||
|
|
25ebb73756 | ||
|
|
fa67fb42b1 | ||
|
|
40b3041608 | ||
|
|
e3b8e8746e | ||
|
|
33bce49ee8 | ||
|
|
44a4faebc0 | ||
|
|
79f198e4f1 | ||
|
|
eb30976ae6 | ||
|
|
abda3b6c8c | ||
|
|
191ed3c814 | ||
|
|
7da2ca1862 | ||
|
|
cb39db100a | ||
|
|
e3f4c9bcf6 | ||
|
|
ed4a100e96 | ||
|
|
1377ea4178 | ||
|
|
6e1ae7b242 | ||
|
|
930724f9de | ||
|
|
3bbeec70ec | ||
|
|
69828e8dac | ||
|
|
58c8d21348 | ||
|
|
1e3fb5531b | ||
|
|
239d3f2dbf | ||
|
|
ff6d9d2860 | ||
|
|
f4588f3907 | ||
|
|
a561b83070 | ||
|
|
88f22da052 | ||
|
|
89c12948a1 | ||
|
|
f8cdab6d02 | ||
|
|
521eb95dbc | ||
|
|
c29f21ac56 | ||
|
|
de9d136a3f | ||
|
|
a0d5e2469d | ||
|
|
b38811af7c | ||
|
|
bc5be83e29 | ||
|
|
52011610c6 | ||
|
|
a2e022631d | ||
|
|
a574d0fbcb | ||
|
|
e9165a0d95 | ||
|
|
73203a3d72 | ||
|
|
437de6417e | ||
|
|
fd05826187 | ||
|
|
bd142b8fe5 | ||
|
|
384a3bed09 | ||
|
|
3c04fef8d1 | ||
|
|
9629929977 | ||
|
|
e76d3e72db | ||
|
|
19349b930a | ||
|
|
10c3c15f06 | ||
|
|
3b3f683f8c | ||
|
|
516a791bf4 | ||
|
|
2650a7a5b8 | ||
|
|
712c60106a | ||
|
|
41aafdea00 | ||
|
|
0bb882c9d4 | ||
|
|
3f3eca7d3a | ||
|
|
62efe2b4d5 | ||
|
|
6798effbab | ||
|
|
d739aeee32 | ||
|
|
a093c373c4 | ||
|
|
288cce4a22 | ||
|
|
28647de196 | ||
|
|
cf6a302f8f | ||
|
|
1c3d9a5df0 | ||
|
|
f44504097c | ||
|
|
625fed8838 | ||
|
|
3f39fc90fc | ||
|
|
7bd0001e76 | ||
|
|
ecaf152b4a | ||
|
|
7f3afac0a2 | ||
|
|
a5f76c064e | ||
|
|
d6e04da20b | ||
|
|
55652a7a18 | ||
|
|
7e845ebbc2 | ||
|
|
6954a6300c | ||
|
|
30d6992684 | ||
|
|
c25d89ef9c | ||
|
|
38d0b62167 | ||
|
|
b91d831e82 | ||
|
|
8a0201fe9c | ||
|
|
ce1fb06ce8 | ||
|
|
14591aa8f2 | ||
|
|
38b9fc4f25 | ||
|
|
32149f5122 | ||
|
|
211682d7ec | ||
|
|
b3b64d8525 | ||
|
|
2acb655c0f | ||
|
|
8d90e88e16 | ||
|
|
9b004248a9 | ||
|
|
b303a80491 | ||
|
|
b1b871aebf | ||
|
|
58f3a2ee94 | ||
|
|
8a9847b06a | ||
|
|
da6b30c5dd | ||
|
|
92ddebb3fd | ||
|
|
b53d6c7f8c | ||
|
|
c032dd1214 | ||
|
|
4f9f625e65 | ||
|
|
a46bfc7c14 | ||
|
|
4f7ba294d9 | ||
|
|
902d7c5538 | ||
|
|
3877b366b3 | ||
|
|
423a67fb06 | ||
|
|
3ab2a008f2 | ||
|
|
a61fe9023f | ||
|
|
36e8988ff7 | ||
|
|
a0c3dede8e | ||
|
|
dfb6df018a | ||
|
|
d6b1e5be2f | ||
|
|
ddb1635a46 | ||
|
|
9946ba0f08 | ||
|
|
29c63adfb4 | ||
|
|
d57a504cac | ||
|
|
e4f6fac460 | ||
|
|
f9693d1fad | ||
|
|
252fe24e8d | ||
|
|
5143f3372c | ||
|
|
5ab02cbeea | ||
|
|
faf827a50a | ||
|
|
a217344315 | ||
|
|
388ecfb1ea | ||
|
|
9982ead9e6 | ||
|
|
903d0bd3e2 | ||
|
|
edeabac8f7 | ||
|
|
3f4d93a287 | ||
|
|
b9289c397b | ||
|
|
97e7f7efcc | ||
|
|
fc76829eb4 | ||
|
|
8b30a0d641 | ||
|
|
97731705ba | ||
|
|
b0fa9f3809 | ||
|
|
20fb266a93 | ||
|
|
7256b1f8d3 | ||
|
|
0f334f900c | ||
|
|
88981e9d5b | ||
|
|
ec8905f81c | ||
|
|
65f20de821 | ||
|
|
e7a15b5604 | ||
|
|
4521e61ae2 | ||
|
|
f39b5be064 | ||
|
|
0960d61ce2 | ||
|
|
1521bb088c | ||
|
|
38b153ca94 | ||
|
|
f5fd59d656 | ||
|
|
f7bc442ba5 | ||
|
|
139dade62c | ||
|
|
3f1a87d1ad | ||
|
|
f3a29cbb0d | ||
|
|
f246699f38 | ||
|
|
bc5e457a63 | ||
|
|
9224b6635f | ||
|
|
5667f0f839 | ||
|
|
d300f4a87b | ||
|
|
f16a7cbcf2 | ||
|
|
c6d12c21db | ||
|
|
2b831da1d1 | ||
|
|
7a8a756789 | ||
|
|
a47f4b8955 | ||
|
|
c823cbe63b | ||
|
|
5605b03ce4 | ||
|
|
671ce6a531 | ||
|
|
14977ed2b7 | ||
|
|
13a406b6cf | ||
|
|
a9f0bea60c | ||
|
|
152247bfda | ||
|
|
6a4d56c81c | ||
|
|
85f50f3875 | ||
|
|
558d73b21a | ||
|
|
bf9846a269 | ||
|
|
70fc25aac1 | ||
|
|
9bc5d52e41 | ||
|
|
f0a70a70c3 | ||
|
|
3cb0cc7989 | ||
|
|
5d94062581 | ||
|
|
a23b25bff7 | ||
|
|
98fd6b5879 | ||
|
|
5393436403 | ||
|
|
d1c5556724 | ||
|
|
3db0147392 | ||
|
|
26068a3a8f | ||
|
|
0398787520 | ||
|
|
dccf03ffc2 | ||
|
|
6d78162323 | ||
|
|
74e0824b1d | ||
|
|
231b54a889 | ||
|
|
d7fbef0a55 | ||
|
|
ea6f9f1e7d | ||
|
|
ffbe896f28 | ||
|
|
e9769c937b | ||
|
|
e03d5a86a4 | ||
|
|
bb2b33f2c9 | ||
|
|
0fa9f945cf | ||
|
|
5c80ad8fe9 | ||
|
|
cee1d5e2d0 | ||
|
|
49d4c538fe | ||
|
|
c1d9e23171 | ||
|
|
8963e36aa2 | ||
|
|
4d3f0be419 | ||
|
|
07cfab0489 | ||
|
|
453574644c | ||
|
|
a529b0e5a3 | ||
|
|
bc6d576a4e | ||
|
|
356fd72603 | ||
|
|
225a8e11a9 | ||
|
|
4a0995a175 | ||
|
|
6fe12b52fd | ||
|
|
31cc188bbd | ||
|
|
772e05e835 | ||
|
|
abdb43c440 | ||
|
|
efb5e1d1cc | ||
|
|
3b524f32bf | ||
|
|
899c6241c3 | ||
|
|
8ca9621d42 | ||
|
|
b56d173f8a | ||
|
|
2bce064ada | ||
|
|
5be54451a8 | ||
|
|
458b9feb62 | ||
|
|
8332c03bd8 | ||
|
|
723cff0205 | ||
|
|
bd7cc6ac38 | ||
|
|
e7fc998459 | ||
|
|
da2483f7fe | ||
|
|
31f3f5f0f0 | ||
|
|
09a846a45c | ||
|
|
4edc7d8956 | ||
|
|
6a29b182ee | ||
|
|
46f99755db | ||
|
|
05cba6d357 | ||
|
|
c4e536ddbf | ||
|
|
d42c35cae7 | ||
|
|
8a1ccd123d | ||
|
|
cabed6098d | ||
|
|
5f52b13325 | ||
|
|
e438091113 | ||
|
|
4a17906530 | ||
|
|
ab26a8016d | ||
|
|
972963913b | ||
|
|
f01e6ef6bf | ||
|
|
7f9a41b05c | ||
|
|
41d1b1b8c9 | ||
|
|
48a97d25e5 | ||
|
|
c2d8759812 | ||
|
|
658901a47f | ||
|
|
050787238b | ||
|
|
fb42721160 | ||
|
|
573634706d | ||
|
|
c6fc9af77a | ||
|
|
2474c7f4cb | ||
|
|
d2f9798894 | ||
|
|
38815f6214 | ||
|
|
640ad17854 | ||
|
|
24a3a0bbff | ||
|
|
78a3d78a7f | ||
|
|
9a40a4e315 | ||
|
|
7331de0bce | ||
|
|
bf5fff879f | ||
|
|
1d0ca7eecf | ||
|
|
5ced8aef27 | ||
|
|
49f8bb4974 | ||
|
|
cc3fbefc83 | ||
|
|
bf527cd6e7 | ||
|
|
0ac4d744fd | ||
|
|
bdbbb92ff6 | ||
|
|
2eecb8e876 | ||
|
|
75888a55c3 | ||
|
|
dac4fbcb1e | ||
|
|
5e1014c072 | ||
|
|
21b10603fe | ||
|
|
54630edb0f | ||
|
|
2ec608fdba | ||
|
|
ca7d2081a2 | ||
|
|
3907cb51d6 | ||
|
|
be7b71a2f5 | ||
|
|
6e21147ff6 | ||
|
|
a19c560e7b | ||
|
|
0dcb99df19 | ||
|
|
eb5781465b | ||
|
|
3014e3e5f8 | ||
|
|
e152047912 | ||
|
|
3d6aaa7aaa | ||
|
|
32c60c774c | ||
|
|
bf5706ef6e | ||
|
|
1d6f43aa30 | ||
|
|
91e0e498eb | ||
|
|
1dfcca7b9c | ||
|
|
4a989f7ebb | ||
|
|
866aded6bc | ||
|
|
e542a030e4 | ||
|
|
2e051c5871 | ||
|
|
37b8f40151 | ||
|
|
3b3086510c | ||
|
|
8b1b3e3b54 | ||
|
|
459d3053d3 | ||
|
|
15d9c0f74c | ||
|
|
c091d9e6d5 | ||
|
|
4d73080da1 | ||
|
|
497ffde233 | ||
|
|
793dacef19 | ||
|
|
7699b49d33 | ||
|
|
8571c692ba | ||
|
|
3757d3ab88 | ||
|
|
68906395ba | ||
|
|
ac66550666 | ||
|
|
e5ad37e6d0 | ||
|
|
ed51209172 | ||
|
|
2be93b1fe6 | ||
|
|
ac0e0122f6 | ||
|
|
b644567735 | ||
|
|
8ae9d2eaa8 | ||
|
|
a9bc22e4e6 | ||
|
|
89e2c302dd | ||
|
|
0944c1cd6f | ||
|
|
9cc58fd3bc | ||
|
|
925cc06aea | ||
|
|
6da6c4dd45 | ||
|
|
f9cdcc9bc6 | ||
|
|
63068fc0c2 | ||
|
|
7ff467e8e0 | ||
|
|
a8bd3e8e53 | ||
|
|
58fc17e3b6 | ||
|
|
42833cd921 | ||
|
|
c05c504c86 | ||
|
|
3cb669a852 | ||
|
|
850addc619 | ||
|
|
7887ccc993 | ||
|
|
191233143f | ||
|
|
1a62ca52a0 | ||
|
|
5d1ccb9bdc | ||
|
|
7f16b50e73 | ||
|
|
b18df999cd | ||
|
|
0d2bee787d | ||
|
|
44213812b8 | ||
|
|
7e9d3d9b2f | ||
|
|
a43398ce1d | ||
|
|
dff0bee748 | ||
|
|
ba98abc97b | ||
|
|
4215a11d9a | ||
|
|
8ac5c35f09 | ||
|
|
7c2d8d73ce | ||
|
|
57cac0aa23 | ||
|
|
31488da40c | ||
|
|
1ea4469bec | ||
|
|
4e7e377987 | ||
|
|
88e3d3e8cb | ||
|
|
cc7fd2f68a | ||
|
|
488754437d | ||
|
|
4094ab58aa | ||
|
|
0ac1fc846b | ||
|
|
65b1524f92 | ||
|
|
e13202a452 | ||
|
|
787404638a | ||
|
|
533fe2d607 | ||
|
|
c12e3c46ff | ||
|
|
99f3f0917f | ||
|
|
258bd3c905 | ||
|
|
5de8930058 | ||
|
|
b7c26dc29d | ||
|
|
66aef2e716 | ||
|
|
c0bad443ff | ||
|
|
a81ebc5966 | ||
|
|
c717f1f3a9 | ||
|
|
3f53cbd8f6 | ||
|
|
e0b7633a7a | ||
|
|
caf646fcb0 | ||
|
|
228c92f2ca | ||
|
|
89393aaf95 | ||
|
|
5888da19b8 | ||
|
|
ef773520e6 | ||
|
|
dc49a24f07 | ||
|
|
fcb6e0adb9 | ||
|
|
93ea9c2033 | ||
|
|
c75afad64a | ||
|
|
a4ca127ebd | ||
|
|
4835f0fb43 | ||
|
|
6607b39235 | ||
|
|
9d1a874ddc | ||
|
|
965433bea9 | ||
|
|
7fd17232cc | ||
|
|
aad70a97db | ||
|
|
97a43bc30f | ||
|
|
116dd097bd | ||
|
|
dd6569a1bb | ||
|
|
4c2f7c64cc | ||
|
|
8bf6911d4b | ||
|
|
6fe13f1a63 | ||
|
|
4f0bb70118 | ||
|
|
b20703c185 | ||
|
|
0554dd8375 | ||
|
|
1ef6bec133 | ||
|
|
6feead5185 | ||
|
|
60c1af674f | ||
|
|
3ecb863372 | ||
|
|
2b884ba338 | ||
|
|
d90a98a8a7 | ||
|
|
5651353c27 | ||
|
|
31f9ea31b9 | ||
|
|
5ccbeda86a | ||
|
|
f20abb4ee5 | ||
|
|
7852815fc3 | ||
|
|
6778111891 | ||
|
|
b719f6cd1c | ||
|
|
6bb11492fa | ||
|
|
87d0f56dc7 | ||
|
|
824398509d | ||
|
|
b1c173ec4f | ||
|
|
8c9c89a137 | ||
|
|
353b1cc682 | ||
|
|
9f73c23b38 | ||
|
|
517a7f96c8 | ||
|
|
e844710ef2 | ||
|
|
d6d0b9659f | ||
|
|
4480fa1efe | ||
|
|
f8ab34734c | ||
|
|
65d7c47647 | ||
|
|
428046e710 | ||
|
|
1641ae1d96 | ||
|
|
b23407807c | ||
|
|
2bb0a5ac6e | ||
|
|
aa01ba7cce | ||
|
|
b4835c7e01 | ||
|
|
f5b63d8287 | ||
|
|
8e8c2b40f9 | ||
|
|
ad43011fb8 | ||
|
|
7b8e1e6913 | ||
|
|
d53a177e7b | ||
|
|
85d93133d3 | ||
|
|
4cf3bc53c2 | ||
|
|
ae7d17d121 | ||
|
|
b9a3b2c165 | ||
|
|
ba2630c615 | ||
|
|
8e5e6f90cb | ||
|
|
f6c6ffaf64 | ||
|
|
5c88c17d15 | ||
|
|
68ab056b3c | ||
|
|
c54712233c | ||
|
|
ccdac0ca96 | ||
|
|
c36e7d1a07 | ||
|
|
72b315491b | ||
|
|
6dd9374b99 | ||
|
|
1711ae7156 | ||
|
|
320c2bf771 | ||
|
|
3f507241ca | ||
|
|
2d551a8598 | ||
|
|
49f0837729 | ||
|
|
e4fc9ea816 | ||
|
|
b303d65450 | ||
|
|
dcd4d80869 | ||
|
|
aee7ed992b | ||
|
|
7e8700514f | ||
|
|
c8aa55636f | ||
|
|
1fed0ff564 | ||
|
|
ad7ecbaf37 | ||
|
|
a7c82eeabc | ||
|
|
da3fcf178e | ||
|
|
5d46c1c9bb | ||
|
|
1b33653f1b | ||
|
|
af24011eec | ||
|
|
87c6d0cbee | ||
|
|
3066a133ac | ||
|
|
436190966c | ||
|
|
b4e96181f5 | ||
|
|
61215e50ff | ||
|
|
53987fadd7 | ||
|
|
8a561bdb78 | ||
|
|
452a48e7f4 | ||
|
|
5248395fc5 | ||
|
|
cf8a7f93d5 | ||
|
|
187a698d54 | ||
|
|
ebd7b27075 | ||
|
|
dad915e522 | ||
|
|
896400a6c9 | ||
|
|
fdf7605074 | ||
|
|
ea1cff499a | ||
|
|
b392564165 | ||
|
|
39e41d7424 | ||
|
|
afa9c1f6f0 | ||
|
|
47b1b09b21 | ||
|
|
44058f8b85 | ||
|
|
6d82371449 | ||
|
|
830fabef12 | ||
|
|
c34e7e6e08 | ||
|
|
78d66d3806 | ||
|
|
44f041587c | ||
|
|
d0bbeeee52 | ||
|
|
9e5278d276 | ||
|
|
064a6bf065 | ||
|
|
1c5291f818 | ||
|
|
7c3a390763 | ||
|
|
83a67606a9 | ||
|
|
c1e69e7a53 | ||
|
|
570f331477 | ||
|
|
ffe3386e5b | ||
|
|
c63447e194 | ||
|
|
17d0bde50e | ||
|
|
4ea978000d | ||
|
|
12932d2831 | ||
|
|
1ba848e5f5 | ||
|
|
a6ea9de4b9 | ||
|
|
746770ac3b | ||
|
|
ab7a8a2dae | ||
|
|
b60c985203 | ||
|
|
785c67ea8d | ||
|
|
647a018362 | ||
|
|
81e6a21fe0 | ||
|
|
d8dcce807b | ||
|
|
103dc32dce | ||
|
|
b7e72cfb7e | ||
|
|
cf950224de | ||
|
|
02d7ffd305 | ||
|
|
9f8c9dd881 | ||
|
|
d019c1c440 | ||
|
|
a56898df94 | ||
|
|
f78c519ae5 | ||
|
|
dc9ef87c44 | ||
|
|
a78a839841 | ||
|
|
67ca7ee4ec | ||
|
|
76f3bdcdf9 | ||
|
|
9234ffc927 | ||
|
|
cc149e2f46 | ||
|
|
cedfb85b60 | ||
|
|
302af7099c | ||
|
|
1bdde6bd5c | ||
|
|
2acdd933c0 | ||
|
|
72888b4814 | ||
|
|
60342ed3fa | ||
|
|
504baa9de2 | ||
|
|
16ac03322c | ||
|
|
52d86275b6 | ||
|
|
18dbcfa0b0 | ||
|
|
991945ea26 | ||
|
|
dbd9d11d67 | ||
|
|
b468330ed9 | ||
|
|
209d8b4f39 | ||
|
|
ea04778649 | ||
|
|
24553eb69a | ||
|
|
86eab355c6 | ||
|
|
e7a1046b87 | ||
|
|
3c01c0cbf2 | ||
|
|
a683278fb8 | ||
|
|
5bea4feac8 | ||
|
|
64be363adc | ||
|
|
68e53f1526 | ||
|
|
dd3a65b52b | ||
|
|
cc8d60e53b | ||
|
|
1c9c9745f5 | ||
|
|
8b30c0c0cd | ||
|
|
0ec5327474 | ||
|
|
0691901345 | ||
|
|
a7943dceca | ||
|
|
c4429ca65e | ||
|
|
b7961b00fe | ||
|
|
759c4a8976 | ||
|
|
e4336f5b76 | ||
|
|
5c989ed18f | ||
|
|
d1d3b48e51 | ||
|
|
8856d68571 | ||
|
|
9edd0d25c2 | ||
|
|
6b52403d05 | ||
|
|
55cc6b8dee | ||
|
|
e211d4e0cb | ||
|
|
320e5dba83 | ||
|
|
9cc08ab3d8 | ||
|
|
390369498b | ||
|
|
9c787a578e | ||
|
|
e516a63272 | ||
|
|
d564202355 | ||
|
|
ff8437c378 | ||
|
|
ec092579a6 | ||
|
|
a1f3bd6865 | ||
|
|
c925e3d281 | ||
|
|
ca99468970 | ||
|
|
8a5c6240b4 | ||
|
|
fca820c90c | ||
|
|
becc4d2e54 | ||
|
|
c645f9f99f | ||
|
|
a5341cbd7d | ||
|
|
3dd363a6c5 | ||
|
|
e630803922 | ||
|
|
cb3b167d61 | ||
|
|
774b7fed1f | ||
|
|
cbf526b043 | ||
|
|
48331bc851 | ||
|
|
bda3d69539 | ||
|
|
71900e0231 | ||
|
|
694f08c79b | ||
|
|
c328584bb6 | ||
|
|
4c01198811 | ||
|
|
7781497b42 | ||
|
|
cde0eb621d | ||
|
|
474b8789a7 | ||
|
|
2189acdde1 | ||
|
|
c174f23389 | ||
|
|
4e23500732 | ||
|
|
b965f5e4a9 | ||
|
|
d1a69abf81 | ||
|
|
d2ef0efbff | ||
|
|
ce5c78d0d2 | ||
|
|
28bea88da0 | ||
|
|
a2e6f459e7 | ||
|
|
0026c45fe0 | ||
|
|
424292f335 | ||
|
|
8ca2f24df6 | ||
|
|
fb7e5a3fac | ||
|
|
5dd24e44d1 | ||
|
|
f7c6ea93d7 | ||
|
|
7658351041 | ||
|
|
833e2869e7 | ||
|
|
5b3a07ee9e | ||
|
|
3dfe3aa9a4 | ||
|
|
f68e13d905 | ||
|
|
3157d81e95 | ||
|
|
bd13ea3d2c | ||
|
|
f0cb587c89 | ||
|
|
84e2ee220b | ||
|
|
a7977c6642 | ||
|
|
1dfcd45704 | ||
|
|
8013cd2e79 | ||
|
|
9c69501404 | ||
|
|
0c8d874e3a | ||
|
|
0fb9c372dd | ||
|
|
3bb7afe544 | ||
|
|
29399e1ddc | ||
|
|
dfc1410bb0 | ||
|
|
9b72e02da3 | ||
|
|
5ec07ede7c | ||
|
|
72d4ad4c45 | ||
|
|
a6fb6150a3 | ||
|
|
b9ee14fe5b | ||
|
|
6e68a78d6a | ||
|
|
870f7608be | ||
|
|
69869307bf | ||
|
|
b161f38710 | ||
|
|
a7f464147d | ||
|
|
8eb87c8e4d | ||
|
|
7925b130e8 | ||
|
|
16e3cb01ca | ||
|
|
543ba2b3b7 | ||
|
|
beb9cd5710 | ||
|
|
b5fa8767da | ||
|
|
f846b207b6 | ||
|
|
c6b07acdcc | ||
|
|
b055f516c0 | ||
|
|
716ffcace6 | ||
|
|
980bf1306e | ||
|
|
ea92254b73 | ||
|
|
16ba1b3708 | ||
|
|
47b6f466ec | ||
|
|
2e76fcdf6f | ||
|
|
7ce0f79f7f | ||
|
|
0c59dd3da7 | ||
|
|
8c64f999dc | ||
|
|
cf2b1c1e00 | ||
|
|
2aa73fdf6c | ||
|
|
cd5615d354 | ||
|
|
8c883653c9 | ||
|
|
36170a11f5 | ||
|
|
194d656bb4 | ||
|
|
0f546b47d1 | ||
|
|
60df819c60 | ||
|
|
0e1b5d6f14 | ||
|
|
bde22208fe | ||
|
|
d4eb1def61 | ||
|
|
14cff15c89 | ||
|
|
e8c5307f66 | ||
|
|
dd52be3a01 | ||
|
|
8f9ce23e52 | ||
|
|
7c5fc2c423 | ||
|
|
63df2c851e | ||
|
|
4db787c4ee | ||
|
|
839a626716 | ||
|
|
ef7ad05c0b | ||
|
|
e24b0ceb80 | ||
|
|
71c42bef9b | ||
|
|
8caf288ac1 | ||
|
|
8f2049bcd2 | ||
|
|
d0aba46ee3 | ||
|
|
57c94a5cf0 | ||
|
|
c1f1e0ee7c | ||
|
|
192ea9738d | ||
|
|
37b849ad1f | ||
|
|
4e68126c06 | ||
|
|
c7fbf5637f | ||
|
|
5cf5b66696 | ||
|
|
7436a58ea1 | ||
|
|
b7b8fd4b59 | ||
|
|
55d4d3418e | ||
|
|
1c8419cea0 | ||
|
|
e8d4f3eac3 | ||
|
|
1b21bad202 | ||
|
|
30f600e03e | ||
|
|
f34f9f6ea5 | ||
|
|
8d4c5deb8d | ||
|
|
2f41f12aea | ||
|
|
9f0e0dc8ce | ||
|
|
a71682f6f0 | ||
|
|
5d3d5cd59c | ||
|
|
451bc0b444 | ||
|
|
d7a2d59f41 | ||
|
|
7deb4691fb | ||
|
|
9965bc8f94 | ||
|
|
317770fb23 | ||
|
|
19c204ea03 | ||
|
|
b9feacab85 | ||
|
|
56c7359a0c | ||
|
|
a7c1afffc6 | ||
|
|
fdb745b4a8 | ||
|
|
b3d8134c7a | ||
|
|
0879ab50b8 | ||
|
|
c5ef6bf38a | ||
|
|
b427bf70a8 | ||
|
|
c75fc266e9 | ||
|
|
e98740c285 | ||
|
|
56b23a64a3 | ||
|
|
ee5b417354 | ||
|
|
2f48d109dd | ||
|
|
784fc7b3f5 | ||
|
|
b55d26387b | ||
|
|
9ddf62d8b7 | ||
|
|
a8feed1eff | ||
|
|
f5bfc6f0c1 | ||
|
|
ee03ab8d2c | ||
|
|
3c7e1ff92e | ||
|
|
ac7e2ecb59 | ||
|
|
f28aea9e30 | ||
|
|
1ac7c154d7 | ||
|
|
ef860a8f84 | ||
|
|
f6f269194f | ||
|
|
e1d41063cd | ||
|
|
5d02405a98 | ||
|
|
998c2b692a | ||
|
|
19c0027605 | ||
|
|
9349f72227 | ||
|
|
5af8b77d28 | ||
|
|
f74d9c7ed0 | ||
|
|
7d9c273dac | ||
|
|
f2da79ad43 | ||
|
|
73a1372940 | ||
|
|
0138c3b00e | ||
|
|
6f33be6c75 | ||
|
|
3004fe573d | ||
|
|
040f9927dd | ||
|
|
abc1bdf218 | ||
|
|
e73e56be8f | ||
|
|
b0616b52ea | ||
|
|
6b6b767199 | ||
|
|
e1bdecb9c1 | ||
|
|
a32c6267be | ||
|
|
54df243b90 | ||
|
|
b44597d5d8 | ||
|
|
7b70b6c3cd | ||
|
|
5cc0219ff2 | ||
|
|
4a0b0b135a | ||
|
|
8bd2d6328a | ||
|
|
9351fb9617 | ||
|
|
13a2d16eab | ||
|
|
7b29e36d64 | ||
|
|
9cc36ef32d | ||
|
|
000f876084 | ||
|
|
2d11c558fa | ||
|
|
ac6b02af40 | ||
|
|
7d91912cfd | ||
|
|
3c504b4b08 | ||
|
|
adad4bcfe3 | ||
|
|
b3e8671dd9 | ||
|
|
0f8c890761 | ||
|
|
512e451f24 | ||
|
|
ca0d53ec5d | ||
|
|
686a709e87 | ||
|
|
83fb629f0b | ||
|
|
35eeeb25e3 | ||
|
|
19035c676c | ||
|
|
61ffe7417c | ||
|
|
7651353f39 | ||
|
|
3f5b81060f | ||
|
|
63dc66769f | ||
|
|
e0fc8cbf8f | ||
|
|
f9d1bc340e | ||
|
|
0b269e79fd | ||
|
|
6159cfd138 | ||
|
|
6a5bbd335b | ||
|
|
39e269db8c | ||
|
|
70fe23a3ce | ||
|
|
a6a8a7fb85 | ||
|
|
6641b13b4c | ||
|
|
5136b05c9b | ||
|
|
803c2144f4 | ||
|
|
b69a079514 | ||
|
|
2aa800cd55 | ||
|
|
6e61a36d05 | ||
|
|
f80bf1fb1c | ||
|
|
d465e85239 | ||
|
|
deed25a2ff | ||
|
|
a486716520 | ||
|
|
2361e11e98 | ||
|
|
cd1f2adca7 | ||
|
|
a558767b7a | ||
|
|
399ce9b999 | ||
|
|
a94a0b5b0b | ||
|
|
76faec2115 | ||
|
|
33c4e57994 | ||
|
|
bc23496998 | ||
|
|
d35ad95c18 | ||
|
|
5facd11592 | ||
|
|
e1e885d6b2 | ||
|
|
5b6695114f | ||
|
|
71dd7f89e9 | ||
|
|
21331e53fe | ||
|
|
7afee5977f | ||
|
|
d195b0dec7 | ||
|
|
8a95e850ad | ||
|
|
a4d74d7d7e | ||
|
|
256e0db36d | ||
|
|
d593c1358a | ||
|
|
1ff14d81c1 | ||
|
|
4369d12eec | ||
|
|
91cc033eb5 | ||
|
|
57543e6b44 | ||
|
|
a1b8cd15c4 | ||
|
|
73f06e591a | ||
|
|
6f7cfa82b5 | ||
|
|
ff97a003d1 | ||
|
|
53c92e3e23 | ||
|
|
13d13bc2f6 | ||
|
|
03744a25ed | ||
|
|
eac3bf8bff | ||
|
|
2e1fbb5b16 | ||
|
|
98b3517d36 | ||
|
|
dee662705e | ||
|
|
0da0cc80b9 | ||
|
|
650187deaf | ||
|
|
2e565cac2c | ||
|
|
ac7537278c | ||
|
|
f9a2e98831 | ||
|
|
54f789bd55 | ||
|
|
5ac9d13516 | ||
|
|
2be1a39d13 | ||
|
|
f3c5edc852 | ||
|
|
30704e6de8 | ||
|
|
41932ac409 | ||
|
|
9843c596d8 | ||
|
|
baf65bfa69 | ||
|
|
6501f80fc7 | ||
|
|
b037f6566b | ||
|
|
0ec8ebeba3 | ||
|
|
af1c9251fc | ||
|
|
4ad399c593 | ||
|
|
55a9646f23 | ||
|
|
46017f5725 | ||
|
|
c20ce12f86 | ||
|
|
1e28db2396 | ||
|
|
5f3640c7fd | ||
|
|
d65e5f6794 | ||
|
|
e67d7bc0ea | ||
|
|
1139632f95 | ||
|
|
b51a8c3f82 | ||
|
|
0d7256678e | ||
|
|
eea33d07fd | ||
|
|
f599337320 | ||
|
|
7df019db0e | ||
|
|
04f92bd688 | ||
|
|
505ecf6c1f | ||
|
|
c9ec08704e | ||
|
|
6a3039f7b7 | ||
|
|
868c8fffb3 | ||
|
|
faed3b438e | ||
|
|
6c982629ea | ||
|
|
110bbbc7dc | ||
|
|
4ad0345f20 | ||
|
|
9d84214462 | ||
|
|
3f199c7113 | ||
|
|
e9417fb741 | ||
|
|
ee74df6823 | ||
|
|
26630bae81 | ||
|
|
9bde9edcf6 | ||
|
|
a12f07c42b | ||
|
|
e7334c4fb0 | ||
|
|
38f9d1e764 | ||
|
|
2dfed75402 | ||
|
|
0c12e80106 | ||
|
|
b7522f69e7 | ||
|
|
24705a7e39 | ||
|
|
8add8025a0 | ||
|
|
32fa79d928 | ||
|
|
534be6ff25 | ||
|
|
f684c07567 | ||
|
|
788ae2f6ca | ||
|
|
572000f868 | ||
|
|
57f5df2d22 | ||
|
|
b2a67ba5ca | ||
|
|
d78e15cc1a | ||
|
|
ceab34f5f3 | ||
|
|
3a62625bbc | ||
|
|
ad6844ac4a | ||
|
|
a8c252a613 | ||
|
|
1d39f785f1 | ||
|
|
4b8b29b862 | ||
|
|
0d148bd23b | ||
|
|
ebedb81e3f | ||
|
|
d195406fdc | ||
|
|
5173ed37f9 | ||
|
|
825551d64f | ||
|
|
449761bada | ||
|
|
5859df389f | ||
|
|
562b02310f | ||
|
|
65ed702d87 | ||
|
|
c559a9843f | ||
|
|
88c3957085 | ||
|
|
01778e11dc | ||
|
|
9d9e8a3c4e | ||
|
|
ed3e035ad6 | ||
|
|
07f885fea8 | ||
|
|
2cc98226ca | ||
|
|
8a6f73c5ff | ||
|
|
00e3453ce1 | ||
|
|
16646dd77a | ||
|
|
1f39d1fe26 | ||
|
|
e8f3c587c9 | ||
|
|
4b43745e7c | ||
|
|
9db2f60053 | ||
|
|
4610d8dfe3 | ||
|
|
fa296efdf6 | ||
|
|
d9d98f84bf | ||
|
|
7c3143b8e5 | ||
|
|
387fcd5c5d | ||
|
|
ebc6437977 | ||
|
|
4922cb92e0 | ||
|
|
cc6a2670c8 | ||
|
|
dbc23b5d20 | ||
|
|
843f1aed4f | ||
|
|
e42938cad6 | ||
|
|
2a41f6c383 | ||
|
|
671d21a2c1 | ||
|
|
515692d7a6 | ||
|
|
00d28826b9 | ||
|
|
5b38f76254 | ||
|
|
ca7dbd6010 | ||
|
|
133644e5a9 | ||
|
|
04d60426c7 | ||
|
|
8282bbd07c | ||
|
|
7190bd00c9 | ||
|
|
44b9539818 | ||
|
|
b2ed4c9508 | ||
|
|
c7b5c8b19e | ||
|
|
f4bee24ccf | ||
|
|
e9cb18c5aa | ||
|
|
d8f33bc0af | ||
|
|
663999556f | ||
|
|
c5a12ca2c7 | ||
|
|
7af0e38dd3 | ||
|
|
7d9d1ae7c2 | ||
|
|
cef448f0f2 | ||
|
|
67d64c9365 | ||
|
|
269af9d6b9 | ||
|
|
d37a734379 | ||
|
|
7cb13cf839 | ||
|
|
d7dda8f6e3 | ||
|
|
6670c72f8b | ||
|
|
b21064ffa4 | ||
|
|
1959cb462b | ||
|
|
1d6767ef0c | ||
|
|
4735ae6451 | ||
|
|
452bd6db25 | ||
|
|
f5d6b84381 | ||
|
|
34f5d81d1f | ||
|
|
aa8adc07aa | ||
|
|
d87bb807c3 | ||
|
|
7646d6ed47 | ||
|
|
41a6ed0de0 | ||
|
|
ec8074cd49 | ||
|
|
7131eb1827 | ||
|
|
605b0f27e4 | ||
|
|
80d2e157f6 | ||
|
|
1e3447bccb | ||
|
|
5ffa106cc1 | ||
|
|
fc641c9b96 | ||
|
|
5f49ac1b11 | ||
|
|
9ffecf25dc | ||
|
|
35fd523edf | ||
|
|
6721d4216c | ||
|
|
e3275e916b | ||
|
|
3ba5541a66 | ||
|
|
945c50db1f | ||
|
|
30dce42e03 | ||
|
|
d4fb201d05 | ||
|
|
2a2e8d0cf6 | ||
|
|
520ed8cb4d | ||
|
|
8cab16c824 | ||
|
|
ae63a1f494 | ||
|
|
117ac53505 | ||
|
|
2c379732d2 | ||
|
|
9ca1197759 | ||
|
|
8d3283e2a5 | ||
|
|
6589e8a390 | ||
|
|
b62894ff56 | ||
|
|
da274cd458 | ||
|
|
a2268a95be | ||
|
|
9fd1b35d95 | ||
|
|
869854eae7 | ||
|
|
238f923b41 | ||
|
|
a5df2b0293 | ||
|
|
e6eae558d3 | ||
|
|
083fa53d9c | ||
|
|
7b73dd2d62 | ||
|
|
7028b7331b | ||
|
|
eefebab530 | ||
|
|
683ddbef3e | ||
|
|
bd23522c76 | ||
|
|
c1dfbe2623 | ||
|
|
ed9facbb33 | ||
|
|
26fbb3a560 | ||
|
|
93dd0638ad | ||
|
|
0d44129ae3 | ||
|
|
0cffe60abc | ||
|
|
8a6750278e | ||
|
|
d347f0a087 | ||
|
|
226e0c4714 | ||
|
|
0b2f945bb6 | ||
|
|
2f6c45e118 | ||
|
|
a5f54580a9 | ||
|
|
70df8c77fa | ||
|
|
2c52655b17 | ||
|
|
6c4c071ae9 | ||
|
|
b19dba80f4 | ||
|
|
a8b19f4aa8 | ||
|
|
09f4b9e546 | ||
|
|
2e6d8c792b | ||
|
|
e6338a555d | ||
|
|
313a489ba0 | ||
|
|
b906ff3fed | ||
|
|
ede96eca28 | ||
|
|
42f3d9188b | ||
|
|
a35e0e9261 | ||
|
|
80a400a67c | ||
|
|
7a6534f30b | ||
|
|
68a523ec6d | ||
|
|
97d6c1ee86 | ||
|
|
19c93151ce | ||
|
|
039a2af3ab | ||
|
|
945129c371 | ||
|
|
da32be3ef3 | ||
|
|
468ec36830 | ||
|
|
492fb9a115 | ||
|
|
bd8b624bae | ||
|
|
9dacf11702 | ||
|
|
26ae2dfc0f | ||
|
|
a7f43d5312 | ||
|
|
7fdf298bd4 | ||
|
|
7d7167df6d | ||
|
|
aa339be2ab | ||
|
|
1217d6fbb4 | ||
|
|
ccb22539e1 | ||
|
|
957eff0e63 | ||
|
|
363d727c55 | ||
|
|
31dcf713cc | ||
|
|
7800a12e52 | ||
|
|
d6ff50a30b | ||
|
|
ead931211c | ||
|
|
a3aafa03ad | ||
|
|
307a882649 | ||
|
|
3e112da486 | ||
|
|
bd469420fa | ||
|
|
38fde26d60 | ||
|
|
dc4fd3e505 | ||
|
|
4dc00ee72a | ||
|
|
bd3d75df6b | ||
|
|
69bb377cb1 | ||
|
|
80bfa02831 | ||
|
|
8631740ca4 | ||
|
|
4b75c68753 | ||
|
|
3bf775c9a8 | ||
|
|
8dc0e0abbb | ||
|
|
2b377a3dc5 | ||
|
|
9d367882fb | ||
|
|
951ab90b1a | ||
|
|
7e89e70934 | ||
|
|
0b4a7e8166 | ||
|
|
59748f07d1 | ||
|
|
65cd605b73 | ||
|
|
b8afabde2c | ||
|
|
02b6595d76 | ||
|
|
336d8fe785 | ||
|
|
ed9a49687e | ||
|
|
a160b01cff | ||
|
|
d05ffc0a7c | ||
|
|
afc0be6790 | ||
|
|
85f3df4c0e | ||
|
|
eea47ca2e8 | ||
|
|
57b1fe44d4 | ||
|
|
79212bbd37 | ||
|
|
d456308653 | ||
|
|
424919ffd0 | ||
|
|
d75225e23b | ||
|
|
8f0c598772 | ||
|
|
fe4fbafcf0 | ||
|
|
0db2abd56c | ||
|
|
c62a4d6282 | ||
|
|
0de41063da | ||
|
|
d79478c265 | ||
|
|
4f62f6f288 | ||
|
|
f8d0902080 | ||
|
|
a69c78e709 | ||
|
|
84b8ffb7d0 | ||
|
|
3feaf39294 | ||
|
|
fe98ad8849 | ||
|
|
65577e43c8 | ||
|
|
890564e1da | ||
|
|
002f98987d | ||
|
|
43956f3ffb | ||
|
|
f2a9194c79 | ||
|
|
4cd70df7f4 | ||
|
|
21e4c3dfe9 | ||
|
|
d56fc41865 | ||
|
|
9d64ac6d6f | ||
|
|
e13434c2f0 | ||
|
|
5416a295c1 | ||
|
|
119c650406 | ||
|
|
57386f46d2 | ||
|
|
77e491f52c | ||
|
|
6f1243f722 | ||
|
|
fe0bb21b37 | ||
|
|
60d9bb0218 | ||
|
|
956375e2e8 | ||
|
|
0fa602a184 | ||
|
|
d600296360 | ||
|
|
c9f5e60f43 | ||
|
|
d513848f65 | ||
|
|
ae6af6aefd | ||
|
|
a0ae9f7593 | ||
|
|
dace5b6940 | ||
|
|
2d8b97287e | ||
|
|
ec63a50de2 | ||
|
|
6e2d7e9792 | ||
|
|
39349dcba5 | ||
|
|
a5b1fe5d16 | ||
|
|
91bbb67e4a | ||
|
|
f368bce9d5 | ||
|
|
fbfe42d6f0 | ||
|
|
f3c5ca6cf4 | ||
|
|
0022267072 | ||
|
|
30fced38c4 | ||
|
|
7e5f3dbf11 | ||
|
|
9f0dfb5517 | ||
|
|
678c7d9502 | ||
|
|
91a3c3943d | ||
|
|
c46b45a467 | ||
|
|
9385767b12 | ||
|
|
7795ff0c95 | ||
|
|
a9acd72eb7 | ||
|
|
67d366c3ca | ||
|
|
1f8f051ee2 | ||
|
|
94004b7a3f | ||
|
|
3e9f88506e | ||
|
|
81f11d8f86 | ||
|
|
518b3e2f73 | ||
|
|
d0157b3bfd | ||
|
|
7fc8d2e6d5 | ||
|
|
fb0f9711ba | ||
|
|
92136272b0 | ||
|
|
e1159e9ef2 | ||
|
|
a2e61c6708 | ||
|
|
726959911c | ||
|
|
d59914b959 | ||
|
|
07025caee9 | ||
|
|
1c0289e490 | ||
|
|
275fcd8bbc | ||
|
|
0c0aa93668 | ||
|
|
bfcd5ea440 | ||
|
|
3ff43cca02 | ||
|
|
6bd536c526 | ||
|
|
7738a36014 | ||
|
|
daddec8362 | ||
|
|
a3832d73fd | ||
|
|
cedb4267ba | ||
|
|
9c6629d582 | ||
|
|
4ee4e70ee0 | ||
|
|
bb7867351c | ||
|
|
fea7460930 | ||
|
|
1bf2bf1773 | ||
|
|
3d668ad10d | ||
|
|
2801338a3c | ||
|
|
b66f4ebba1 | ||
|
|
9ee1b5f30a | ||
|
|
0f31a0548c | ||
|
|
ffc29aa6f5 | ||
|
|
d23aa94b41 | ||
|
|
c1b6378951 | ||
|
|
bb5d2bda51 | ||
|
|
d075471b2d | ||
|
|
199d98bf79 | ||
|
|
3ae798d526 | ||
|
|
e1bd61c70e | ||
|
|
0296f841c3 | ||
|
|
bd1f4b8d98 | ||
|
|
dc19f20153 | ||
|
|
f5cd809f62 | ||
|
|
09d5a7806a | ||
|
|
4606f23ed8 | ||
|
|
8451e08aaa | ||
|
|
2047449294 | ||
|
|
d61eee695f | ||
|
|
73b62797cd | ||
|
|
170cfc6a0e | ||
|
|
6bf1d7e398 | ||
|
|
e46e7f5252 | ||
|
|
5952f1ac24 | ||
|
|
a08369fe36 | ||
|
|
6cb9612943 | ||
|
|
76c049522e | ||
|
|
c41879c542 | ||
|
|
99bdb11d24 | ||
|
|
c2009acb2d | ||
|
|
46d2a8726e | ||
|
|
7df3ca7388 | ||
|
|
51b8d4ae3e | ||
|
|
ab1124abba | ||
|
|
3db84a2e8f | ||
|
|
9a78bbf0f1 | ||
|
|
efbec444e8 | ||
|
|
2f06f2a6da | ||
|
|
b8da51e08c | ||
|
|
af6a578fa6 | ||
|
|
73d735a1f7 | ||
|
|
b8b1899a9f | ||
|
|
d52f0617a1 | ||
|
|
c730973294 | ||
|
|
2c2e064871 | ||
|
|
e3c39d4b52 | ||
|
|
5da74897ae | ||
|
|
4b1009b34e | ||
|
|
203a7ad073 | ||
|
|
34a7b52105 | ||
|
|
30fc166c08 | ||
|
|
c84d86b368 | ||
|
|
1e5d4db0a1 | ||
|
|
5e02f0d325 | ||
|
|
ce5506f331 | ||
|
|
91105845d8 | ||
|
|
2bedc084a3 | ||
|
|
027ef1ea4a | ||
|
|
668aa17eef | ||
|
|
ebf8ef22e4 | ||
|
|
bcb5182e86 | ||
|
|
f45059b7b1 | ||
|
|
d0aee58599 | ||
|
|
68e65ed5df | ||
|
|
367ccb9971 | ||
|
|
4151087d3c | ||
|
|
39c058a4bb | ||
|
|
d1807ee5dc | ||
|
|
e6a76b31be | ||
|
|
98469117bf | ||
|
|
a5becfc042 | ||
|
|
d2204fd5c8 | ||
|
|
519a08f8b5 | ||
|
|
303519a1bd | ||
|
|
161da24841 | ||
|
|
6e40024660 | ||
|
|
73c78d4c38 | ||
|
|
2654936c17 | ||
|
|
23810e3e1e | ||
|
|
d6c89bf003 | ||
|
|
49ab2a5f93 | ||
|
|
bc0b8afb1f | ||
|
|
b250456814 | ||
|
|
0a6e237d09 | ||
|
|
54ff4e53cb | ||
|
|
002ccbb5f0 | ||
|
|
7b7faf1e84 | ||
|
|
9936088200 | ||
|
|
990f4b52bd | ||
|
|
4c21d83639 | ||
|
|
d43a4a2d46 | ||
|
|
8d2c3bb18d | ||
|
|
4e39e690b6 | ||
|
|
6458239a7c | ||
|
|
a5aaa032ca | ||
|
|
71bbef69c7 | ||
|
|
c5c40a73b7 | ||
|
|
74910f8d70 | ||
|
|
e00003edff | ||
|
|
bedb98185e | ||
|
|
da6f955d58 | ||
|
|
6bdccea26b | ||
|
|
b2117ba3a1 | ||
|
|
ba349fc62f | ||
|
|
b2c79a5f2c | ||
|
|
3e415e733d | ||
|
|
a5e84e5de9 | ||
|
|
8673353029 | ||
|
|
4579d02296 | ||
|
|
978a9bbb3b | ||
|
|
2470afaa2e | ||
|
|
60e545b2fd | ||
|
|
6555644b88 | ||
|
|
df56bd6d57 | ||
|
|
e51432a461 | ||
|
|
90e2186872 | ||
|
|
3043b2f619 | ||
|
|
d2fc5a248b | ||
|
|
e6d666e1ee | ||
|
|
c5cfbd99d0 | ||
|
|
33b22a323c | ||
|
|
f032fb628a | ||
|
|
7761eb8897 | ||
|
|
58fa8c4a01 | ||
|
|
789d61d175 | ||
|
|
b52fd72727 | ||
|
|
d79905e141 | ||
|
|
cd6b1290cb | ||
|
|
c382497167 | ||
|
|
a8fb578854 | ||
|
|
ff00c90a88 | ||
|
|
d0755b5ce8 | ||
|
|
17fa5667b8 | ||
|
|
01d5e385ec | ||
|
|
af80fee899 | ||
|
|
6b37c09274 | ||
|
|
1453a0f5cf | ||
|
|
1688083e9a | ||
|
|
616594d3cd | ||
|
|
6783178dc3 | ||
|
|
3f033d6ab7 | ||
|
|
d10e000883 | ||
|
|
ce528ff22e | ||
|
|
5e4e02235a | ||
|
|
e4179336e4 | ||
|
|
7823ba494f | ||
|
|
7bdff90415 | ||
|
|
f3c0af7e23 | ||
|
|
72dfbfcf35 | ||
|
|
9cbe878d0b | ||
|
|
618405c4d3 | ||
|
|
0b08fcac4a | ||
|
|
eac6ebb239 | ||
|
|
194fb14e07 | ||
|
|
c2d05b507a | ||
|
|
4df43a9107 | ||
|
|
0da7fcdbed | ||
|
|
1e50b2688a | ||
|
|
c1cd018626 | ||
|
|
b588e8b60b | ||
|
|
06f55ffb37 | ||
|
|
02df6a28cd | ||
|
|
d64abedf9f | ||
|
|
fc921d8c1d | ||
|
|
4d39d1caf6 | ||
|
|
d06f61f23f | ||
|
|
c179d6f735 | ||
|
|
3bc0cdbfb7 | ||
|
|
b04155e7ba | ||
|
|
014c97fa85 | ||
|
|
96ccf550b1 | ||
|
|
8f28ff63f1 | ||
|
|
b7dec6e87d | ||
|
|
1bb2c22493 | ||
|
|
39c3995c74 | ||
|
|
8cc80faf20 | ||
|
|
4d66077f85 | ||
|
|
3ece2dc990 | ||
|
|
6071e962f4 | ||
|
|
ed43369797 | ||
|
|
c65957853b | ||
|
|
6a18360269 | ||
|
|
c438bd2e27 | ||
|
|
462acc9eee | ||
|
|
e4144a17a4 | ||
|
|
3cfd017538 | ||
|
|
403849805a | ||
|
|
402b234d15 | ||
|
|
eba6b326fa | ||
|
|
4c9b93a12f | ||
|
|
dfee79f841 | ||
|
|
962373cf06 | ||
|
|
13aa4b64b4 | ||
|
|
5ce56886a1 | ||
|
|
2817ca03f5 | ||
|
|
e633c3b84b | ||
|
|
8524e9d735 | ||
|
|
91ced90fb2 | ||
|
|
2acb3917ba | ||
|
|
dd78ac089c | ||
|
|
10e526ba56 | ||
|
|
7ed905f76b | ||
|
|
5d13e2744f | ||
|
|
1d7e0293a8 | ||
|
|
8977d87021 | ||
|
|
809400ff23 | ||
|
|
4c8dbcc20d | ||
|
|
416dcf884d | ||
|
|
09d3ce444a | ||
|
|
27c2ca5048 | ||
|
|
fceeb1b108 | ||
|
|
b442c38f41 | ||
|
|
7c2d2676f7 | ||
|
|
1f6a41cea7 | ||
|
|
0d7ee20a77 | ||
|
|
dcca2350dd | ||
|
|
1cfdd4c41a | ||
|
|
25f4ee7030 | ||
|
|
5320f23017 | ||
|
|
4ffbbbe6d8 | ||
|
|
132e45dff4 | ||
|
|
01652b72b3 | ||
|
|
8b1fdb5a3b | ||
|
|
192add376c | ||
|
|
244ea9593a | ||
|
|
f20d7cba74 | ||
|
|
a3e282bc75 | ||
|
|
49a95c34bf | ||
|
|
ecbefce2aa | ||
|
|
91356b1805 | ||
|
|
2e2ed1385f | ||
|
|
49f3090edd | ||
|
|
4594fb11de | ||
|
|
b93e56d2e5 | ||
|
|
c550dafb81 | ||
|
|
8709574f3d | ||
|
|
1b7043fa79 | ||
|
|
55ef2393fb | ||
|
|
7769095efb | ||
|
|
b8248bdd65 | ||
|
|
6f4ad581dc | ||
|
|
aec94920ab | ||
|
|
155ca39063 | ||
|
|
58bfb4dca4 | ||
|
|
49a0b6c48b | ||
|
|
799a653b44 | ||
|
|
d09e1f4925 | ||
|
|
cac784af8a | ||
|
|
d7e0ddcbca | ||
|
|
8c0811a442 | ||
|
|
bab6f75260 | ||
|
|
54e3fccd87 | ||
|
|
6a992b6982 | ||
|
|
ecd6fc1db8 | ||
|
|
d99be6697e | ||
|
|
d2d77b5dc1 | ||
|
|
91503405b4 | ||
|
|
c336201084 | ||
|
|
0f3399753d | ||
|
|
5ec89ea0c3 | ||
|
|
a42b03c154 | ||
|
|
4b181a30da | ||
|
|
70805e00eb | ||
|
|
3551ac328e | ||
|
|
e36e5df635 | ||
|
|
3e7d8b5f17 | ||
|
|
5846198eee | ||
|
|
c14063a921 | ||
|
|
457670e730 | ||
|
|
513cef50a2 | ||
|
|
88c64ece78 | ||
|
|
a11672d0a5 | ||
|
|
46af9515b0 | ||
|
|
c5cb786054 | ||
|
|
4d2d6154a3 | ||
|
|
495d513efd | ||
|
|
3b617fafdd | ||
|
|
82c4f694a0 | ||
|
|
dc5b4a0402 | ||
|
|
6adc0521d8 | ||
|
|
9ac86dacbb | ||
|
|
88f0c10d09 | ||
|
|
4abef6161e | ||
|
|
f6b6f1bc8b | ||
|
|
6b2b403d94 | ||
|
|
e2ca90b0a1 | ||
|
|
9aececc921 | ||
|
|
d25f214a09 | ||
|
|
aefc8fb7b5 | ||
|
|
372a17d7f0 | ||
|
|
bcc3380cfc | ||
|
|
047262ab20 | ||
|
|
58ae2ccbfa | ||
|
|
29f6f5fa5c | ||
|
|
8df7530b54 | ||
|
|
ded8584fdd | ||
|
|
9734ad42a1 | ||
|
|
d890383a00 | ||
|
|
1cae688ccb | ||
|
|
6f9aa94e3a | ||
|
|
df291b00d8 | ||
|
|
5de699e233 | ||
|
|
ebe340d510 | ||
|
|
5d904b05dd | ||
|
|
b1a75177a0 | ||
|
|
f51220a5bf | ||
|
|
e1fe06e597 | ||
|
|
fa04b7a3c3 | ||
|
|
e02183bb1b | ||
|
|
9bec87d9a5 | ||
|
|
d306db4ff8 | ||
|
|
1ed078d7f9 | ||
|
|
5906de5ca0 | ||
|
|
697836c17c | ||
|
|
c89410cab0 | ||
|
|
63d8b7986b | ||
|
|
4903af9598 | ||
|
|
441321c170 | ||
|
|
e44f83fb9c | ||
|
|
db1ca28de3 | ||
|
|
8ee78d97bb | ||
|
|
3500e035cd | ||
|
|
2d4d3417a2 | ||
|
|
fb05e86db7 | ||
|
|
c93f091ba8 | ||
|
|
826e4502cb | ||
|
|
459151c1f2 | ||
|
|
aa0eaf37b6 | ||
|
|
aca445c7c8 | ||
|
|
6c10588e77 | ||
|
|
2184240ef1 | ||
|
|
a0af80f8c5 | ||
|
|
06a3767409 | ||
|
|
4cc71d2443 | ||
|
|
631ffc8cf6 | ||
|
|
4d0859ce7f | ||
|
|
c8bd139713 | ||
|
|
7093573f0c | ||
|
|
771348e887 | ||
|
|
21c1e086f9 | ||
|
|
8a7ed1dc28 | ||
|
|
a9f4217214 | ||
|
|
f598a876eb | ||
|
|
70ce129478 | ||
|
|
43c37dd0db | ||
|
|
fb364ce740 | ||
|
|
605582f5f7 | ||
|
|
5f611a9d9d | ||
|
|
7797e8b8b6 | ||
|
|
c224d44aad | ||
|
|
6e0c39b1d7 | ||
|
|
46c2706b7e | ||
|
|
d98771711f | ||
|
|
f4b012b7b6 | ||
|
|
7a95339296 | ||
|
|
1df23a839a | ||
|
|
9f3b93929d | ||
|
|
d24462295f | ||
|
|
faa25faf92 | ||
|
|
2e3e49e575 | ||
|
|
750160909d | ||
|
|
53afc685f9 | ||
|
|
8bc0aa3e7b | ||
|
|
a4a614e180 | ||
|
|
969e9df889 | ||
|
|
4c4af2ae84 | ||
|
|
c3a36698e5 | ||
|
|
0222165bd9 | ||
|
|
7f37415109 | ||
|
|
e414737179 | ||
|
|
0d34d28c56 | ||
|
|
527fe9046e | ||
|
|
ee6e022b2a | ||
|
|
86e88647fd | ||
|
|
50043047aa | ||
|
|
6f51e7300e | ||
|
|
37ef9b70a3 | ||
|
|
f5b8ec55e4 | ||
|
|
24bfc77350 | ||
|
|
1cc931c74d | ||
|
|
b64daa5a58 | ||
|
|
3e508d7540 | ||
|
|
40dddd8b9b | ||
|
|
c05ad8990a | ||
|
|
aba06b4ef9 | ||
|
|
57037928d5 | ||
|
|
0f1091ee40 | ||
|
|
cb237a0428 | ||
|
|
d52e8cfbc7 | ||
|
|
ced29ceed1 | ||
|
|
6140865252 | ||
|
|
51d8d2abbf | ||
|
|
6f648fc058 | ||
|
|
7157fd663c | ||
|
|
b2d6561bc6 | ||
|
|
fcfcb8da1d | ||
|
|
e1846e2e6a | ||
|
|
1a408db3b1 | ||
|
|
8090850ed6 | ||
|
|
2d89741afb | ||
|
|
c631e14e53 | ||
|
|
3968597a7b | ||
|
|
78a8e918a0 | ||
|
|
c72ee0a6c4 | ||
|
|
d147181a82 | ||
|
|
43fafc8d57 | ||
|
|
4767804bcc | ||
|
|
2244cf2995 | ||
|
|
93d3cc310d | ||
|
|
632c7d2ac6 | ||
|
|
254fede524 | ||
|
|
e023a9b3d8 | ||
|
|
87a0ed8b46 | ||
|
|
f213f30808 | ||
|
|
8b46edeccf | ||
|
|
f227091826 | ||
|
|
dac4f68382 | ||
|
|
ec64a99914 | ||
|
|
f528d174cc | ||
|
|
198123ff5f | ||
|
|
dcfc526453 | ||
|
|
e35e788ebb | ||
|
|
329ef760bf | ||
|
|
09078de36b | ||
|
|
cbbf1a61ac | ||
|
|
0d571f5480 | ||
|
|
352e16be2e | ||
|
|
e6112506df | ||
|
|
666c9be447 | ||
|
|
d031f64b9e | ||
|
|
912791b3ab | ||
|
|
510e6ec7e9 | ||
|
|
d19dab8a66 | ||
|
|
845c202109 | ||
|
|
5739427c7b | ||
|
|
123e490311 | ||
|
|
c4e4ffcc9d | ||
|
|
25c8d7782d | ||
|
|
6e6d9f3029 | ||
|
|
229d185354 | ||
|
|
dc68c39cb1 | ||
|
|
ef6f361fb9 | ||
|
|
6db66ffffc | ||
|
|
8b73f215eb | ||
|
|
2547c8c117 | ||
|
|
4c24bd3933 | ||
|
|
0be42fc3a9 | ||
|
|
a970309b8b | ||
|
|
7d8d5a52a5 | ||
|
|
f6b1f91cfa | ||
|
|
55f923c674 | ||
|
|
3233335abb | ||
|
|
5350548739 | ||
|
|
d002e5ef1d | ||
|
|
3f8558b242 | ||
|
|
13677ff2b0 | ||
|
|
9b595b93f8 | ||
|
|
e584b7f1cf | ||
|
|
af9e742e71 | ||
|
|
13c22b8fb0 | ||
|
|
70908ef337 | ||
|
|
5ade7822ac | ||
|
|
4f15b6f7c2 | ||
|
|
ada04c1932 | ||
|
|
10a659eb99 | ||
|
|
f83cccd7a6 | ||
|
|
262cdb47de | ||
|
|
e3f2845cf8 | ||
|
|
6c4fa1bc8b | ||
|
|
9384f5399d | ||
|
|
db6fff6f26 | ||
|
|
d0331eebbf | ||
|
|
688ec8e847 | ||
|
|
6caf7d7f20 | ||
|
|
88dca1400e | ||
|
|
574c57eda7 | ||
|
|
6c674034fa | ||
|
|
9ea6bced83 | ||
|
|
fdebe97764 | ||
|
|
c213e28ad7 | ||
|
|
2353b5f553 | ||
|
|
5ebcdb4f31 | ||
|
|
3d9f58b188 | ||
|
|
40a16a47de | ||
|
|
1aed1c587e | ||
|
|
eecd937e0a | ||
|
|
4479b36862 | ||
|
|
b4e3d21d62 | ||
|
|
50e3839b60 | ||
|
|
d106fb39ab | ||
|
|
be0d396106 | ||
|
|
e0d207a173 | ||
|
|
0ed42e0ea9 | ||
|
|
6083356a3e | ||
|
|
78ee06985e | ||
|
|
cc23ee76e4 | ||
|
|
f0fe930aae | ||
|
|
6acc10b4ba | ||
|
|
c7350c3839 | ||
|
|
251c5b71bf | ||
|
|
dd4c411d22 | ||
|
|
c801434d11 | ||
|
|
5e6851ce39 | ||
|
|
c95da27019 | ||
|
|
65be649454 | ||
|
|
03ee60f81b | ||
|
|
af649b0480 | ||
|
|
7f4ef18685 | ||
|
|
d4accb48e1 | ||
|
|
cc9149f6b2 | ||
|
|
e6d43c9282 | ||
|
|
c9e8399e0e | ||
|
|
4c8b5abf76 | ||
|
|
decde50c86 | ||
|
|
ef1224118c | ||
|
|
e4374aba77 | ||
|
|
477437282d | ||
|
|
5b2fa1ff5a | ||
|
|
37d137b475 | ||
|
|
47853484a5 | ||
|
|
068ee5a1bf | ||
|
|
fd52a9966e | ||
|
|
5294e815b0 | ||
|
|
4b4cfa4270 | ||
|
|
225dbec8b9 | ||
|
|
ab1a433400 | ||
|
|
b518c35e00 | ||
|
|
94b1c99c86 | ||
|
|
f44a7e2536 | ||
|
|
3e81913b6a | ||
|
|
b11f8b0aae | ||
|
|
ef87a9db7b | ||
|
|
b648c4bc4d | ||
|
|
a47bf48339 | ||
|
|
2512a4d32a | ||
|
|
c7f4fd1215 | ||
|
|
deaea7ce9f | ||
|
|
738593d38c | ||
|
|
bfb9aebe25 | ||
|
|
4ede367c1e | ||
|
|
adbeff3a28 | ||
|
|
b3decf965f | ||
|
|
fabd1f1791 | ||
|
|
8539c7b20f | ||
|
|
49ab2eb07f | ||
|
|
2efd06f4ad | ||
|
|
f9ea2d4ee7 | ||
|
|
024664e2fd | ||
|
|
3cd66f19e2 | ||
|
|
6f8767c08a | ||
|
|
52361579ad | ||
|
|
cd6a8c31a6 | ||
|
|
052e667f03 | ||
|
|
c0fc0b92d3 | ||
|
|
b0e3bc1f03 | ||
|
|
145c15f0d9 | ||
|
|
7119b48cee | ||
|
|
d7f8fd6d1a | ||
|
|
462b917e46 | ||
|
|
aee09f63e1 | ||
|
|
f88c5e3bbd | ||
|
|
1b6473ac27 | ||
|
|
049373de3b | ||
|
|
f1fd1d2585 | ||
|
|
9314ceae36 | ||
|
|
69087f2242 | ||
|
|
aa23dbbb8a | ||
|
|
d970534d92 | ||
|
|
a9a245b461 | ||
|
|
ad4d8b07d3 | ||
|
|
1fd9ba8dcb | ||
|
|
689411c19a | ||
|
|
20fd9db77f | ||
|
|
d5be8ab999 | ||
|
|
adfc713432 | ||
|
|
3402131b7d | ||
|
|
f8f8f5bec5 | ||
|
|
f52bd8a8a3 | ||
|
|
5cac199710 | ||
|
|
b71d26fbca | ||
|
|
60b3d73cc9 | ||
|
|
bb6b97152f | ||
|
|
fe158339da | ||
|
|
bebcaad23b | ||
|
|
c4603c7a96 | ||
|
|
cae4acfbd3 | ||
|
|
76ef3e1607 | ||
|
|
0ac710ec1d | ||
|
|
bbe3c4e50c | ||
|
|
be1a2f142b | ||
|
|
049cd16257 | ||
|
|
6b7a3435a5 | ||
|
|
001b660cbe | ||
|
|
9d7812f436 | ||
|
|
d750f506b9 | ||
|
|
62bc64fea2 | ||
|
|
bc0e600e51 | ||
|
|
b1faaebc93 | ||
|
|
6966049453 | ||
|
|
39bfb456cc | ||
|
|
321ba44b3e | ||
|
|
2fe86fd869 | ||
|
|
b4b9d5d552 | ||
|
|
6b60acc10a | ||
|
|
83c84efb34 | ||
|
|
f90617ab07 | ||
|
|
f52dd7d850 | ||
|
|
8663ce3b96 | ||
|
|
569d380769 | ||
|
|
2fa0f3abbd | ||
|
|
119ee826a0 | ||
|
|
6be8a00faf | ||
|
|
d70b71a6e4 | ||
|
|
f69a65ccb0 | ||
|
|
7037f2d566 | ||
|
|
dd93a07c0f | ||
|
|
66f3de6262 | ||
|
|
917ef465a5 | ||
|
|
e3b8482891 | ||
|
|
c3cb218975 | ||
|
|
72e7909911 | ||
|
|
52cbe07a78 | ||
|
|
f83bd31fd5 | ||
|
|
9e9142a110 | ||
|
|
411b088418 | ||
|
|
8f389b6a73 | ||
|
|
43cc62fd90 | ||
|
|
2c9a3f643c | ||
|
|
5e448deb03 | ||
|
|
ac0a59835e | ||
|
|
8eef88d3c7 | ||
|
|
d8852cdc34 | ||
|
|
88859cf67d | ||
|
|
867e31c9ff | ||
|
|
c5179e8f1c | ||
|
|
a47d172d60 | ||
|
|
b6995f6e4b | ||
|
|
bb3d274db6 | ||
|
|
af9034355c | ||
|
|
4ecc42744c | ||
|
|
96dda253b0 | ||
|
|
9c5dfd2da7 | ||
|
|
ceba976fe8 | ||
|
|
e8a49c9c9e | ||
|
|
f4f293d5f3 | ||
|
|
4b98920f02 | ||
|
|
f30d54fe88 | ||
|
|
051cbec05f | ||
|
|
cfd7cf0f1e | ||
|
|
0294555e2b | ||
|
|
8211893210 | ||
|
|
bae7939d79 | ||
|
|
3a7c1eb921 | ||
|
|
fc44d4c9f9 | ||
|
|
b3ec605ec3 | ||
|
|
eb353c2c59 | ||
|
|
2f9de0c765 | ||
|
|
c5213dddbf | ||
|
|
2067180328 | ||
|
|
b4b742ca89 | ||
|
|
020cd5cc02 | ||
|
|
847f59369b | ||
|
|
187237b35e | ||
|
|
15fa2f7c91 | ||
|
|
e4c2bba89a | ||
|
|
d73cc8f9b8 | ||
|
|
6bb194de54 | ||
|
|
6d46e5cf77 | ||
|
|
2a86942f07 | ||
|
|
f89a163305 | ||
|
|
e81c2962a0 | ||
|
|
bd35d0fb2a | ||
|
|
53fb516179 | ||
|
|
686bea6e2a | ||
|
|
8b4ba370f7 | ||
|
|
54ccacff97 | ||
|
|
214de03301 | ||
|
|
d9541a7db8 | ||
|
|
733515329a | ||
|
|
cd50b9db1d | ||
|
|
7b6cd6187f | ||
|
|
9d14476a6a | ||
|
|
3b7c943440 | ||
|
|
9cda400c80 | ||
|
|
f3e869ddae | ||
|
|
f1855020ad | ||
|
|
4ea1a173a8 | ||
|
|
b4be9d270c | ||
|
|
d8611506cf | ||
|
|
3e493effaf | ||
|
|
5e14f3ff55 | ||
|
|
83e1d53928 | ||
|
|
8b961ba035 | ||
|
|
c0c23b135c | ||
|
|
9ce13d487b | ||
|
|
bbb49457f9 | ||
|
|
e73581f715 | ||
|
|
496639f5b0 | ||
|
|
b29a50eca6 | ||
|
|
2b1a673e32 | ||
|
|
69016735be | ||
|
|
8950114f7d | ||
|
|
22ccb0fa71 | ||
|
|
fcabc99303 | ||
|
|
14221e78b7 | ||
|
|
9a32c6bcf7 | ||
|
|
3a7182bfb5 | ||
|
|
2db9f6efe7 | ||
|
|
fccd9c32e8 | ||
|
|
58a3a0b7d4 | ||
|
|
2037c83541 | ||
|
|
66513b9893 | ||
|
|
5decad9cf1 | ||
|
|
bebbdbde8a | ||
|
|
b7bbf0ec0b | ||
|
|
b0b04b6f24 | ||
|
|
19c50f5d0c | ||
|
|
0f7fff3d0d | ||
|
|
594c329dbd | ||
|
|
dba80a7e8e | ||
|
|
707398b1d9 | ||
|
|
285860f958 | ||
|
|
8b9dc962ae | ||
|
|
11d2654ffc | ||
|
|
c79976f9bc | ||
|
|
cc637015bc | ||
|
|
bdbc448d13 | ||
|
|
1f4a955787 | ||
|
|
e5c50eb8a1 | ||
|
|
be313b8d78 | ||
|
|
aa8693e8df | ||
|
|
764da890b6 | ||
|
|
521f97d03e | ||
|
|
456705a3d5 | ||
|
|
d5aee2ea58 | ||
|
|
746fac0dfe | ||
|
|
fb19456b61 | ||
|
|
831be69cec | ||
|
|
1751bfea5f | ||
|
|
49daa56a64 | ||
|
|
7462a1e816 | ||
|
|
1f3b1e7074 | ||
|
|
8935eaec3b | ||
|
|
2492f4e81e | ||
|
|
24d18a7b19 | ||
|
|
5e21fd2caf | ||
|
|
b19ef59671 | ||
|
|
1309367884 | ||
|
|
166067f746 | ||
|
|
dae82514dc | ||
|
|
56a719f0d4 | ||
|
|
118dedb441 | ||
|
|
df0a90f69f | ||
|
|
7670f364e3 | ||
|
|
fd5976f378 | ||
|
|
3c4b7d3bd0 | ||
|
|
89ef21e3b0 | ||
|
|
da88e3a3b1 | ||
|
|
dabe5bf7e9 | ||
|
|
aa3ca438a2 | ||
|
|
cd6a6738c2 | ||
|
|
349f37bf57 | ||
|
|
0f7cbb5922 | ||
|
|
f4b981cefe | ||
|
|
ab6bbb9e23 | ||
|
|
2c45c5b13e | ||
|
|
6eace8894a | ||
|
|
b1abf47ce7 | ||
|
|
614b11951b | ||
|
|
786f1d8be8 | ||
|
|
c8f6bc0dab | ||
|
|
417f52359d | ||
|
|
174a8b1b3e | ||
|
|
31f2f6616c | ||
|
|
3ae66e2988 | ||
|
|
92bfcb9b60 | ||
|
|
234ced3c26 | ||
|
|
bcbda6940a | ||
|
|
e6077b03c3 | ||
|
|
db2d391b3a | ||
|
|
8e6f1508ed | ||
|
|
2e0075e79c | ||
|
|
8583b96402 | ||
|
|
01d4d55e78 | ||
|
|
18fe773923 | ||
|
|
62bce14709 | ||
|
|
e7cdc53c7b | ||
|
|
3bc6205150 | ||
|
|
dc43fc68ef | ||
|
|
55f8a641a6 | ||
|
|
192a1bd69e | ||
|
|
8fb0cf3064 | ||
|
|
320ee29e2a | ||
|
|
622eb37dfe | ||
|
|
88a6c312e2 | ||
|
|
27b40053c7 | ||
|
|
4a7bec4e57 | ||
|
|
567c550120 | ||
|
|
1ed06e490c | ||
|
|
3010dc207a | ||
|
|
f2663d37e9 | ||
|
|
72253a1029 | ||
|
|
eeca400fae | ||
|
|
0ea15f1c8a | ||
|
|
89174904bc | ||
|
|
a2eac9fff6 | ||
|
|
92c78218bc | ||
|
|
0163cb7bc1 | ||
|
|
6c5a42e745 | ||
|
|
2fbd09a07e | ||
|
|
91d2c954fc | ||
|
|
a66111ac1f | ||
|
|
0abecffa8b | ||
|
|
dd35f2cce6 | ||
|
|
1cb85c5c76 | ||
|
|
6b639f186d | ||
|
|
b69bd0ee7c | ||
|
|
131c05f18c | ||
|
|
c1667dc43c | ||
|
|
b75184ec8e | ||
|
|
c89374c321 | ||
|
|
d9ab03f086 | ||
|
|
a97fcd9e73 | ||
|
|
6a87f4ade9 | ||
|
|
4c767f16f6 | ||
|
|
a2a1636c10 | ||
|
|
606d7dbc22 | ||
|
|
e60a6cc621 | ||
|
|
d4b146e77a | ||
|
|
406d088421 | ||
|
|
7c89a27e61 | ||
|
|
20aee2deed | ||
|
|
255f19bd23 | ||
|
|
06aeb49625 | ||
|
|
1b014bc3e5 | ||
|
|
a9e13693a5 | ||
|
|
0b99ffa8f9 | ||
|
|
d4e284c859 | ||
|
|
eff9cdd8a7 | ||
|
|
057d1642c8 | ||
|
|
9db2380c20 | ||
|
|
9132c72545 | ||
|
|
4c3d094a45 | ||
|
|
f337459c6e | ||
|
|
e41810f142 | ||
|
|
25f4c8688a | ||
|
|
d9ff2dd471 | ||
|
|
2c2c7d4966 | ||
|
|
2d8e7b4da7 | ||
|
|
786b150ea7 | ||
|
|
47b2e56967 | ||
|
|
e0dce77678 | ||
|
|
4373019b36 | ||
|
|
0dfb9f8291 | ||
|
|
773139b737 | ||
|
|
806a80a1e5 | ||
|
|
450076cfa4 | ||
|
|
253f005e80 | ||
|
|
dddc076d01 | ||
|
|
c97dc7fe93 | ||
|
|
8a09de6b28 | ||
|
|
46ec0303b7 | ||
|
|
55220a31e8 | ||
|
|
cabbe8c308 | ||
|
|
3b1669fb6b | ||
|
|
395e18e584 | ||
|
|
1c3715a43a | ||
|
|
e3aa39e050 | ||
|
|
c4830dcf3a | ||
|
|
cb35ace047 | ||
|
|
d8767fa87b | ||
|
|
5ec10f9ff7 | ||
|
|
f22c32af05 | ||
|
|
b31f09692a | ||
|
|
3a9da78901 | ||
|
|
dea5e6207e | ||
|
|
2cd70b80a2 | ||
|
|
bdaa35d11f | ||
|
|
b934c738a6 | ||
|
|
f3164c9cf2 | ||
|
|
78f061b9db | ||
|
|
14c2f9e47e | ||
|
|
b5bf4e75a6 | ||
|
|
6dcee5aa5c | ||
|
|
519c8b419b | ||
|
|
b7f4cb6433 | ||
|
|
595bf6fc69 | ||
|
|
36f083c189 | ||
|
|
f835421d70 | ||
|
|
756eeb51f3 | ||
|
|
9f5c8f42e0 | ||
|
|
212b2c738b | ||
|
|
92f9392bcf | ||
|
|
bd8db402e6 | ||
|
|
d93ad43c49 | ||
|
|
ab9fcc863f | ||
|
|
c64b3c9c43 | ||
|
|
3acfeb1680 | ||
|
|
e371120c8b | ||
|
|
43ee600fb3 | ||
|
|
b6556c7ff1 | ||
|
|
9d5901a779 | ||
|
|
59b7b0f832 | ||
|
|
035ec0a874 | ||
|
|
9ed6a9701a | ||
|
|
53d24c2ba1 | ||
|
|
62226b985a | ||
|
|
d72ac908f4 | ||
|
|
00be79ce13 | ||
|
|
8261321dac | ||
|
|
4761ff7444 | ||
|
|
d1f1430b84 | ||
|
|
39ee039fcb | ||
|
|
9606ba0454 | ||
|
|
50e3ca19bc | ||
|
|
9a1f5afde9 | ||
|
|
716cb23acb | ||
|
|
e83dd90e07 | ||
|
|
66f1aaf5f7 | ||
|
|
17afbc3c46 | ||
|
|
09591fa4ae | ||
|
|
b495f6cfff | ||
|
|
c3c74c098d | ||
|
|
4769cd420b | ||
|
|
5b8d960b9f | ||
|
|
7dd381bb5c | ||
|
|
a3c2dbbfb5 | ||
|
|
e35f599b6d | ||
|
|
6fc42629c8 | ||
|
|
a8867a8eea | ||
|
|
264a6cda8e | ||
|
|
a675131b80 | ||
|
|
369660ac79 | ||
|
|
b3b0a960af | ||
|
|
1c21cb4d82 | ||
|
|
85ce00adc0 | ||
|
|
036017a6af | ||
|
|
f095863b61 | ||
|
|
49499f3d7d | ||
|
|
cbd07cdbe9 | ||
|
|
b123cbca58 | ||
|
|
61d8b56eee | ||
|
|
e9a97b4717 | ||
|
|
01d7403dc4 | ||
|
|
8f3ca867d2 | ||
|
|
d7222dd56a | ||
|
|
f25518af91 | ||
|
|
3b69a563f8 | ||
|
|
0331f3c61b | ||
|
|
2dae56fc8f | ||
|
|
bec2d9e3fa | ||
|
|
da92988fb8 | ||
|
|
77d4d6e377 | ||
|
|
b796aacf7f | ||
|
|
a974ab00d7 | ||
|
|
4352331b70 | ||
|
|
e4453e9ca8 | ||
|
|
3811b90150 | ||
|
|
003f592ef6 | ||
|
|
a3f3ef4226 | ||
|
|
fbb0cc686e | ||
|
|
c1c8c9c37c | ||
|
|
ff24811676 | ||
|
|
ab3bc4a982 | ||
|
|
b6e4ec7056 | ||
|
|
5619a3390d | ||
|
|
e9fd064624 | ||
|
|
274bfc965f | ||
|
|
672ceb8687 | ||
|
|
a3a9b7fbd3 | ||
|
|
57e533a5ef | ||
|
|
4f9b03a997 | ||
|
|
01d07edfe3 | ||
|
|
4c8a1867f0 | ||
|
|
7d63118941 | ||
|
|
aa5eab746a | ||
|
|
3d0870f414 | ||
|
|
92e8a5dbd6 | ||
|
|
113df68843 | ||
|
|
92792719bd | ||
|
|
47186c0fff | ||
|
|
eb73a8137d | ||
|
|
7cb5b5c8c2 | ||
|
|
6f45208ab6 | ||
|
|
165c4b2c00 | ||
|
|
a4b5a0072d | ||
|
|
ddc899938a | ||
|
|
77c2a7cd71 | ||
|
|
de24131993 | ||
|
|
7b7fe019c0 | ||
|
|
c30ffec1af | ||
|
|
44f560b453 | ||
|
|
5fa8c62305 | ||
|
|
17500fc9c9 | ||
|
|
e3bad795e0 | ||
|
|
1ba559a98b | ||
|
|
3053767c71 | ||
|
|
f2e91f4d62 | ||
|
|
10f4815d34 | ||
|
|
d43eb123b1 | ||
|
|
800bbc4328 | ||
|
|
7a43cac6b3 | ||
|
|
fa5140310f | ||
|
|
1dec3461cd | ||
|
|
0ddabdbf68 | ||
|
|
d78faf1134 | ||
|
|
cb00786f1e | ||
|
|
61e26696aa | ||
|
|
f3b0c6f1e7 | ||
|
|
242538ddce | ||
|
|
64be9baed0 | ||
|
|
bce48dfee9 | ||
|
|
e365139961 | ||
|
|
719c438b41 | ||
|
|
5948a9da0f | ||
|
|
db21be3282 | ||
|
|
096b306bc5 | ||
|
|
e30a03b5c4 | ||
|
|
21d22200a3 | ||
|
|
53227d76d6 | ||
|
|
9cc08aebbe | ||
|
|
ee9bb8286e | ||
|
|
ae92378689 | ||
|
|
714c80bf3f | ||
|
|
947f079735 | ||
|
|
c771135fd8 | ||
|
|
ad970dffda | ||
|
|
dd4f7be3da | ||
|
|
0bcfa2d04f | ||
|
|
170b1b89ba | ||
|
|
b08ead1dce | ||
|
|
05a342009f | ||
|
|
d7247e2db2 | ||
|
|
4550a4459b | ||
|
|
660781afd9 | ||
|
|
1557d0afb8 | ||
|
|
d8264b11e2 | ||
|
|
a5648fb07f | ||
|
|
43316ec355 | ||
|
|
18206e3cf6 | ||
|
|
9107de63b4 | ||
|
|
bbe4824955 | ||
|
|
e7f4ec72b4 | ||
|
|
5cdb9fb748 | ||
|
|
83ebe79a3f | ||
|
|
7f808eaf42 | ||
|
|
fbd6b90bf8 | ||
|
|
d92200a6d6 | ||
|
|
c20311b8a7 | ||
|
|
111d4d0149 | ||
|
|
49012f8352 | ||
|
|
53e54c22fa | ||
|
|
75d516011b | ||
|
|
522ddba3d7 | ||
|
|
fb14ac50b8 | ||
|
|
4ac75243e5 | ||
|
|
417e75b470 | ||
|
|
481783606f | ||
|
|
3b71f985a5 | ||
|
|
9a58b4160b | ||
|
|
207d7e0478 | ||
|
|
84d984bd31 | ||
|
|
4bff55231f | ||
|
|
0890253b4c | ||
|
|
a1b8587ab2 | ||
|
|
e560601815 | ||
|
|
010db2515c | ||
|
|
a785f1f933 | ||
|
|
c0eba65527 | ||
|
|
15a9a4b119 | ||
|
|
da239b8362 | ||
|
|
10f7e976ee | ||
|
|
95b966474f | ||
|
|
3ffe674e80 | ||
|
|
423e7692db | ||
|
|
a279d50212 | ||
|
|
9426f37c3e | ||
|
|
37bc81595a | ||
|
|
a23f59b996 | ||
|
|
f4fcb912e3 | ||
|
|
1c5f339d09 | ||
|
|
7cf3218068 | ||
|
|
7775eb9641 | ||
|
|
ac6b8f3480 | ||
|
|
41bef75d1a | ||
|
|
14e32557d2 | ||
|
|
6d7a29b2cb | ||
|
|
7db4af5578 | ||
|
|
f7747af690 | ||
|
|
4940894324 | ||
|
|
2618d72f1f | ||
|
|
38d5303ccd | ||
|
|
efafc31c9b | ||
|
|
b35c3114c8 | ||
|
|
b9f9fe2927 | ||
|
|
d393cabfe1 | ||
|
|
bf186de56c | ||
|
|
21279769c9 | ||
|
|
bc73ad2e56 | ||
|
|
f882e0b6b6 | ||
|
|
bc012784ef | ||
|
|
f66235f066 | ||
|
|
60710805d5 | ||
|
|
62f8af4891 | ||
|
|
7dd9f93efb | ||
|
|
972b03f842 | ||
|
|
a1cbffd14f | ||
|
|
38c1867a8b | ||
|
|
cb246d3459 | ||
|
|
40656e3ee2 | ||
|
|
ef9fdb93d2 | ||
|
|
02fafd5114 | ||
|
|
58b00e2f4c | ||
|
|
0de176a2ba | ||
|
|
1778269ea8 | ||
|
|
ccea04f391 | ||
|
|
135dfa8026 | ||
|
|
25b7d02540 | ||
|
|
4f0878e267 | ||
|
|
1eb504a640 | ||
|
|
ce9d29828d | ||
|
|
2fe4a51d26 | ||
|
|
452f2a07ac | ||
|
|
cd07eb222e | ||
|
|
a228d1ddaa | ||
|
|
d748ba2c51 | ||
|
|
a5c3fcea6e | ||
|
|
2bd4323b17 | ||
|
|
935fce338a | ||
|
|
366fae41ff | ||
|
|
0b9c961707 | ||
|
|
f14d5886f2 | ||
|
|
ea9e32096b | ||
|
|
121fa40621 | ||
|
|
f9444aa3d3 | ||
|
|
08c6ed04bf | ||
|
|
65c12903e4 | ||
|
|
e0e42a6425 | ||
|
|
b438a1935d | ||
|
|
4ab2f16ed3 | ||
|
|
dc1a35c13c | ||
|
|
1cb847aa80 | ||
|
|
034c5d792b | ||
|
|
0076797b15 | ||
|
|
ee0d3c6742 | ||
|
|
1163c85db6 | ||
|
|
af6dd4194f | ||
|
|
26c89e053d | ||
|
|
751e655d72 | ||
|
|
57c6db6952 | ||
|
|
66ffb253a2 | ||
|
|
ab5cd1cb15 | ||
|
|
4774bc1f47 | ||
|
|
1cc8fd54c0 | ||
|
|
e393ab6044 | ||
|
|
01688b543a | ||
|
|
b2af1948a4 | ||
|
|
0eb473198c | ||
|
|
44c85aff86 | ||
|
|
f8f3ecbf02 | ||
|
|
dd426735a0 | ||
|
|
0de973d293 | ||
|
|
9c6a220810 | ||
|
|
ec41aefeea | ||
|
|
66231c1669 | ||
|
|
f9ba35d928 | ||
|
|
ef83670716 | ||
|
|
949dbb3918 | ||
|
|
eb709508a4 | ||
|
|
eccc90c843 | ||
|
|
ded0f6f0df | ||
|
|
52a1ec9af1 | ||
|
|
b773d516d3 | ||
|
|
6bcd5cb310 | ||
|
|
01d5a97a4f | ||
|
|
afe0d9a266 | ||
|
|
add6e9b14b | ||
|
|
80a033c1cf | ||
|
|
c67c3b0360 | ||
|
|
f635d5b864 | ||
|
|
9205155fc9 | ||
|
|
65b0a002c7 | ||
|
|
2f65d91ea8 | ||
|
|
b846ebeb97 | ||
|
|
66b27bdc97 | ||
|
|
649bb672df | ||
|
|
27fef64cf3 | ||
|
|
e3bf53ea84 | ||
|
|
30aa1dcdcd | ||
|
|
7c7ce072c7 | ||
|
|
6ba888f476 | ||
|
|
bbdc52a7ea | ||
|
|
cb697cf582 | ||
|
|
4c2cd3c8d5 | ||
|
|
1bec974fe6 | ||
|
|
1069ae6525 | ||
|
|
ed41d542bb | ||
|
|
eac31eb323 | ||
|
|
324f5525b5 | ||
|
|
6f3e64f13e | ||
|
|
6f2d2a71f9 | ||
|
|
47dcb1b41f | ||
|
|
fa6eb0e0f2 | ||
|
|
bffe6fb9bf | ||
|
|
9ac526b6b6 | ||
|
|
ca6afd40ad | ||
|
|
8b7dcf4dba | ||
|
|
99dcd7bb27 | ||
|
|
6a7dff1c82 | ||
|
|
82e9658ac3 | ||
|
|
3f6e04697a | ||
|
|
c9b3ab80ca | ||
|
|
7f111f4474 | ||
|
|
f997b7dff2 | ||
|
|
a107dff4d6 | ||
|
|
bb68cfaa81 | ||
|
|
4fd386c3dc | ||
|
|
8648308823 | ||
|
|
2b1e03cc64 | ||
|
|
0f1c0a42a2 | ||
|
|
1a698111a4 | ||
|
|
9f7c9b122f | ||
|
|
9a4198293a | ||
|
|
ac162f9996 | ||
|
|
d7e7152bd3 | ||
|
|
a50b1d69a1 | ||
|
|
30bdfde4cc | ||
|
|
ea3d391df9 | ||
|
|
270e1212ac | ||
|
|
57bb6e611f | ||
|
|
31d73f4659 | ||
|
|
5c3e782d29 | ||
|
|
553d644781 | ||
|
|
7d8a70f99e | ||
|
|
0f550d568d | ||
|
|
0657995b42 | ||
|
|
fe460c022c | ||
|
|
d7c6e2e61c | ||
|
|
c04d3d22af | ||
|
|
164d4a9825 | ||
|
|
596a61ce18 | ||
|
|
40cd5c5a49 | ||
|
|
329f055a97 | ||
|
|
bc3ae901cc | ||
|
|
0ec266abf7 | ||
|
|
f834d6a813 | ||
|
|
4634920866 | ||
|
|
744db4b5ed | ||
|
|
bd3c6f4157 | ||
|
|
4329d9e76d | ||
|
|
311478e725 | ||
|
|
c27d9e11b4 | ||
|
|
de43b47ca8 | ||
|
|
3183a02824 | ||
|
|
0cae0a49e2 | ||
|
|
2366f568b9 | ||
|
|
5e95a1f7af | ||
|
|
6a4574b612 | ||
|
|
f071ea4902 | ||
|
|
0af581f2e6 | ||
|
|
0248a2a989 | ||
|
|
c67c0df762 | ||
|
|
929dc076ec | ||
|
|
58e83f8e4f | ||
|
|
7be4b2145b | ||
|
|
d5ef68336a | ||
|
|
126011c1a7 | ||
|
|
36f09b6cdc | ||
|
|
5728350267 | ||
|
|
e3461f1b58 | ||
|
|
ca5200d1f1 | ||
|
|
16fda89738 | ||
|
|
b2caf821ef | ||
|
|
734fe9fd9d | ||
|
|
03973654b5 | ||
|
|
1b2bd89383 | ||
|
|
1e8d84dbfa | ||
|
|
696e8add00 | ||
|
|
905d8625f8 | ||
|
|
bf4726f91d | ||
|
|
274352beab | ||
|
|
a1449455a2 | ||
|
|
a5241379af | ||
|
|
6f8e3fe366 | ||
|
|
1c2e2c4b06 | ||
|
|
55c22eec8b | ||
|
|
4a5d5fe20c | ||
|
|
12374bd6a3 | ||
|
|
c9e9129373 | ||
|
|
5ee53c222b | ||
|
|
3e1248ff35 | ||
|
|
4f4d2b7c53 | ||
|
|
ecdaeea94f | ||
|
|
d1e151172b | ||
|
|
2a2020b797 | ||
|
|
43b9a9e618 | ||
|
|
aabf12038c | ||
|
|
d3f25fa290 | ||
|
|
be383aa5b2 | ||
|
|
85365da69e | ||
|
|
e44cb42de4 | ||
|
|
ad123b3cce | ||
|
|
1e85a3025c | ||
|
|
c9d4c00708 | ||
|
|
e0c6688709 | ||
|
|
737806a787 | ||
|
|
ac93a1808b | ||
|
|
2d181ba5af | ||
|
|
f880d0631c | ||
|
|
f33654fb9a | ||
|
|
a6fff86099 | ||
|
|
4efee455b1 | ||
|
|
14cc341cc9 | ||
|
|
ce6cc21bcd | ||
|
|
3796a3edea | ||
|
|
f995172c5d | ||
|
|
8e20e27ff9 | ||
|
|
699f24f3dc | ||
|
|
30a39a296d | ||
|
|
b70473ed60 | ||
|
|
54465d36a7 | ||
|
|
802a35d4b6 | ||
|
|
5b7595d9d7 | ||
|
|
d7bab7cf0b | ||
|
|
6422cde5f2 | ||
|
|
8df2f19b5b | ||
|
|
e29a310f7d | ||
|
|
70450fe6b4 | ||
|
|
7faa75d483 | ||
|
|
836ecff785 | ||
|
|
6078c986d3 | ||
|
|
b54f906605 | ||
|
|
4a55425fdb | ||
|
|
fdba255b9a | ||
|
|
1d8ec102f1 | ||
|
|
3a42fe50c6 | ||
|
|
e4dc25dd5c | ||
|
|
f1e6fa8ee2 | ||
|
|
10d979bd65 | ||
|
|
b5390c0922 | ||
|
|
963f538728 | ||
|
|
1bc856c451 | ||
|
|
90827ce4a8 | ||
|
|
c9296cf095 | ||
|
|
963758d8ec | ||
|
|
3c67a5c7d8 | ||
|
|
d4484b13d5 | ||
|
|
2a2f9b5801 | ||
|
|
b15dbb818f | ||
|
|
4e89d41f04 | ||
|
|
a8e7b1a303 | ||
|
|
11a6bd890c | ||
|
|
182a1bf653 | ||
|
|
3a987b0006 | ||
|
|
43967daea5 | ||
|
|
884b3e5cd5 | ||
|
|
ca9753f2e7 | ||
|
|
7894804eed | ||
|
|
99eb971c3d | ||
|
|
410210cf6f | ||
|
|
7db09103e7 | ||
|
|
2a4eddc80f | ||
|
|
97fe50a376 | ||
|
|
eaf6ddd474 | ||
|
|
ecb3c43520 | ||
|
|
1838511766 | ||
|
|
759261b912 | ||
|
|
ff9d4b2f74 | ||
|
|
bcb3f2c256 | ||
|
|
ec6b418a23 | ||
|
|
b9c64053e8 | ||
|
|
f5ba73e7c8 | ||
|
|
5e29528ad4 | ||
|
|
a683a7092d | ||
|
|
42f48ffea2 | ||
|
|
78df3dc484 | ||
|
|
527f044062 | ||
|
|
7dde0b1362 | ||
|
|
b66e73aed5 | ||
|
|
eec7a0a1f6 | ||
|
|
c6e0430aa7 | ||
|
|
065aa0f9b6 | ||
|
|
79de4d77f6 | ||
|
|
d8eb610aab | ||
|
|
2d6de2299c | ||
|
|
327c62337e | ||
|
|
3dba63afbb | ||
|
|
4800dd06e5 | ||
|
|
0fa2a52fac | ||
|
|
aea2f01ef7 | ||
|
|
d17298d3b5 | ||
|
|
09b749eb97 | ||
|
|
5fb3f8a116 | ||
|
|
adf3190859 | ||
|
|
89419c05b2 | ||
|
|
abcd5bc951 | ||
|
|
7aae9987d5 | ||
|
|
b62a050b2c | ||
|
|
0946d50913 | ||
|
|
bb3c6785c9 | ||
|
|
71150f21cd | ||
|
|
11afdf7e24 | ||
|
|
702edfd3d3 | ||
|
|
e675ffcf38 | ||
|
|
32dff28460 | ||
|
|
9954c054a7 | ||
|
|
81109b14b5 | ||
|
|
6061937996 | ||
|
|
71c230b7b7 | ||
|
|
a3fed7d0fb | ||
|
|
df3bbfb416 | ||
|
|
0263a783a6 | ||
|
|
118f354661 | ||
|
|
121a1784a2 | ||
|
|
025bf4a5e7 | ||
|
|
d3e242a7f2 | ||
|
|
95a3565d1c | ||
|
|
c56e45ecef | ||
|
|
c05723ca6a | ||
|
|
a98194bf1b | ||
|
|
857055a9dd | ||
|
|
465531d56c | ||
|
|
9759ca7d24 | ||
|
|
3905185463 | ||
|
|
ebc2566130 | ||
|
|
feba678e03 | ||
|
|
d2784030ec | ||
|
|
804fa33535 | ||
|
|
f1d2398eac | ||
|
|
4917961736 | ||
|
|
e54aa56ee1 | ||
|
|
21d54f2758 | ||
|
|
abc8998b48 | ||
|
|
4a50c49211 | ||
|
|
708fba989a | ||
|
|
1c057818c6 | ||
|
|
161659de5c | ||
|
|
cec3dcec8a | ||
|
|
fa99d9c6fe | ||
|
|
63a814c70e | ||
|
|
3dae18b93c | ||
|
|
9c80403072 | ||
|
|
b3ad04fcb0 | ||
|
|
3c3140a100 | ||
|
|
8d5c9e96e4 | ||
|
|
429f1ad061 | ||
|
|
a7be9be43d | ||
|
|
e27c6abaea | ||
|
|
b049633db7 | ||
|
|
81fccb5656 | ||
|
|
67f3515dc1 | ||
|
|
83b831d975 | ||
|
|
6b44fe165b | ||
|
|
33debe73d5 | ||
|
|
6b109c7b0f | ||
|
|
0a050eac56 | ||
|
|
f90c947036 | ||
|
|
563cb36a8f | ||
|
|
1235969721 | ||
|
|
53fc1235d7 | ||
|
|
b8544814ec | ||
|
|
05c4d6b11e | ||
|
|
425084b596 | ||
|
|
2205c61edf | ||
|
|
02ec5b1dbe | ||
|
|
56c68de5c4 | ||
|
|
5e55b19247 | ||
|
|
4bb04a2c24 | ||
|
|
b811de53b6 | ||
|
|
68f9341e95 | ||
|
|
be1d02a7f8 | ||
|
|
edfded7fb7 | ||
|
|
60fd793bc3 | ||
|
|
0f33864df1 | ||
|
|
3abb0d589d | ||
|
|
1d9a4f68f4 | ||
|
|
992fd76067 | ||
|
|
6712650019 | ||
|
|
a273940348 | ||
|
|
3d46da64a8 | ||
|
|
4702f99c83 | ||
|
|
65b048bb70 | ||
|
|
aaf5bb62ab | ||
|
|
55a578a8df | ||
|
|
02f9e5d6f0 | ||
|
|
4fc2058745 | ||
|
|
7ed0763ad2 | ||
|
|
13b275773b | ||
|
|
d9ac9e6d98 | ||
|
|
b6794b614b | ||
|
|
e3f2d469c0 | ||
|
|
a86e1221a0 | ||
|
|
f03390f0b8 | ||
|
|
bf6cc34961 | ||
|
|
18307c822c | ||
|
|
83ac6742f6 | ||
|
|
13999d953b | ||
|
|
7c5c27cbe3 | ||
|
|
dfeafaf499 | ||
|
|
7d08b936c6 | ||
|
|
95eea58d7c | ||
|
|
fee2878b98 | ||
|
|
a8e779a68c | ||
|
|
d62a55b46f | ||
|
|
39bd71e064 | ||
|
|
037ca92275 | ||
|
|
504cf74b90 | ||
|
|
02a43a310f | ||
|
|
9783f2de67 | ||
|
|
b21b058005 | ||
|
|
6de40cf789 | ||
|
|
657dc15995 | ||
|
|
3f9b7e8b1d | ||
|
|
577f63c4f4 | ||
|
|
5de77405ea | ||
|
|
9f07bd8f46 | ||
|
|
cafd29888d | ||
|
|
88307327e6 | ||
|
|
e0cce893be | ||
|
|
67e1ee41c9 | ||
|
|
ebb4308a5c | ||
|
|
b2a5076d14 | ||
|
|
22bb1a1793 | ||
|
|
4b872856c2 | ||
|
|
98e42ec6ff | ||
|
|
e161b71651 | ||
|
|
89c5fd0931 | ||
|
|
c5699fae53 | ||
|
|
9fc5e8688f | ||
|
|
a29ff7b1fa | ||
|
|
7bd45e5729 | ||
|
|
a975a0971c | ||
|
|
ad860905c6 | ||
|
|
3ea351d8a2 | ||
|
|
f3628946af | ||
|
|
e5a8773bfe | ||
|
|
a6c138600f | ||
|
|
31c73fdfa2 | ||
|
|
bd620a8c77 | ||
|
|
1168e25721 | ||
|
|
7362c2da76 | ||
|
|
dd8cb7846f | ||
|
|
56436b99bb | ||
|
|
a36f54dec2 | ||
|
|
d075ead80a | ||
|
|
9230334a31 | ||
|
|
7154ad5a73 | ||
|
|
c72f5e2773 | ||
|
|
6226e8d902 | ||
|
|
80355fb08e | ||
|
|
fc02f8fc93 | ||
|
|
7a51f0ac94 | ||
|
|
247a9deb02 | ||
|
|
60010bdb0f | ||
|
|
8489afa3d7 | ||
|
|
81e5ff7dce | ||
|
|
4e1b5038fb | ||
|
|
f8c66be130 | ||
|
|
1f222e6cd1 | ||
|
|
0e26fae3bb | ||
|
|
8a5a99f01b | ||
|
|
49b63154df | ||
|
|
38e6202bdc | ||
|
|
a89003b57a | ||
|
|
6ed010b192 | ||
|
|
60391ff37e | ||
|
|
e083205824 | ||
|
|
b00bf5740a | ||
|
|
a00a1fd6b5 | ||
|
|
c5048ee993 | ||
|
|
27b48ef96d | ||
|
|
274ca6f7e6 | ||
|
|
475b7556d8 | ||
|
|
3dc027bcd5 | ||
|
|
766559c6e9 | ||
|
|
1c6d5ddf81 | ||
|
|
5ad42d1d85 | ||
|
|
8f32064fea | ||
|
|
6a44616725 | ||
|
|
9fe0452016 | ||
|
|
747acd025d | ||
|
|
b3ccfa8671 | ||
|
|
c28758ee17 | ||
|
|
050aed6be6 | ||
|
|
74079c7a0c | ||
|
|
12a3c6872f | ||
|
|
25e8228381 | ||
|
|
d0443f9de1 | ||
|
|
36f9fb99ae | ||
|
|
f9bae60357 | ||
|
|
10a23c5555 | ||
|
|
a99cd645bb | ||
|
|
065324d30b | ||
|
|
b9e3267198 | ||
|
|
3f9a914718 | ||
|
|
7e28c396b9 | ||
|
|
1b2ba09be0 | ||
|
|
f23d5a75f4 | ||
|
|
3658f19d98 | ||
|
|
e213c2e844 | ||
|
|
dd86397e85 | ||
|
|
6d33b366f8 | ||
|
|
eac71ae1d7 | ||
|
|
c2cae877ce | ||
|
|
fd13173eaf | ||
|
|
92d249210d | ||
|
|
92762223ea | ||
|
|
29b9d8998a | ||
|
|
84b183a9f6 | ||
|
|
70958a9f77 | ||
|
|
9f3650b0ef | ||
|
|
f02508c259 | ||
|
|
e0c5401241 | ||
|
|
60620bdb25 | ||
|
|
3cf226d534 | ||
|
|
d338ea2591 | ||
|
|
426885bff5 | ||
|
|
ce51ef5df5 | ||
|
|
31e5c5f69a | ||
|
|
ff8313b48b | ||
|
|
02bb36cdc4 | ||
|
|
6b31ea1992 | ||
|
|
31b216f667 | ||
|
|
a671f9102d | ||
|
|
2d2b3edaaf | ||
|
|
1ee757cc5f | ||
|
|
3770bb6576 | ||
|
|
ddd655c0c1 | ||
|
|
e0a4864bea | ||
|
|
d39465085c | ||
|
|
3d4c09510b | ||
|
|
532a2f049f | ||
|
|
0da0980f94 | ||
|
|
3f14887d20 | ||
|
|
911d8e9916 | ||
|
|
0f9bc926f5 | ||
|
|
03dac51e95 | ||
|
|
39e4f2c137 | ||
|
|
55c6f5a740 | ||
|
|
fed59b1b71 | ||
|
|
b3818d9c48 | ||
|
|
f4bd147299 | ||
|
|
44a01c4b5a | ||
|
|
4907dc91f7 | ||
|
|
d268b0e5bb | ||
|
|
0d9f5306cd | ||
|
|
1d193b9a04 | ||
|
|
e598d46c31 | ||
|
|
2c1689c798 | ||
|
|
33c22b5f3e | ||
|
|
16c7ef41fb | ||
|
|
6e50579f9f | ||
|
|
08ff4926c7 | ||
|
|
a7015e6f09 | ||
|
|
fd4ec81bcb | ||
|
|
9c33e6eef7 | ||
|
|
9f7cdb4bc7 | ||
|
|
daa0ca72a7 | ||
|
|
67fc39b8db | ||
|
|
45c457b8b3 | ||
|
|
ec3be7e4d3 | ||
|
|
f8e6f3cc73 | ||
|
|
7f5d189528 | ||
|
|
ff9a074ab6 | ||
|
|
91f4ec3747 | ||
|
|
41c2aed7dc | ||
|
|
b8360313e8 | ||
|
|
403b82277c | ||
|
|
433505df48 | ||
|
|
090f8eff67 | ||
|
|
395fe7eb4b | ||
|
|
c8935b32f8 | ||
|
|
ebb687cde4 | ||
|
|
e47a8bf666 | ||
|
|
408d54f2eb | ||
|
|
f9b5d92176 | ||
|
|
61dfa6d598 | ||
|
|
5abe05d572 | ||
|
|
7722fc4d3f | ||
|
|
6a379b463f | ||
|
|
c03b70c949 | ||
|
|
2375359d12 | ||
|
|
68d462b301 | ||
|
|
6b6464a659 | ||
|
|
4fdfbfd5c4 | ||
|
|
8e5f2690f2 | ||
|
|
99e6ef5996 | ||
|
|
1033e8e57f | ||
|
|
f7030d4a42 | ||
|
|
484e023c0c | ||
|
|
7c781179a1 | ||
|
|
39302bf0ea | ||
|
|
11ccb98c93 | ||
|
|
4e63022a49 | ||
|
|
75da7ab484 | ||
|
|
7314643b8d | ||
|
|
515ab0105a | ||
|
|
6241ed9621 | ||
|
|
1786de8ce0 | ||
|
|
ebe1b78579 | ||
|
|
a8c3e0186a | ||
|
|
7ccb9226ef | ||
|
|
48742dcee1 | ||
|
|
4acfa7a191 | ||
|
|
122d5ea529 | ||
|
|
47795cc683 | ||
|
|
ba66ddd41e | ||
|
|
525b4b6cf4 | ||
|
|
30fe632d54 | ||
|
|
4e139d2aae | ||
|
|
d113aae217 | ||
|
|
a6f6ddc34e | ||
|
|
c7969ef418 | ||
|
|
a3cdb4cca1 | ||
|
|
e6f455a9bb | ||
|
|
fa1a53270e | ||
|
|
17589843da | ||
|
|
8cbfc047bb | ||
|
|
31f0d1d874 | ||
|
|
475cee9029 | ||
|
|
3cac8e0f6f | ||
|
|
bc2c40a6ca | ||
|
|
7a4c3bab7e | ||
|
|
1c67c26bd8 | ||
|
|
41c87074e6 | ||
|
|
889a890ac5 | ||
|
|
ac8c66f5ab | ||
|
|
22b56ac65c | ||
|
|
6f5282058f | ||
|
|
863b6c48f8 | ||
|
|
083b913dd2 | ||
|
|
d0a346ed8a | ||
|
|
725b78349a | ||
|
|
08bace6c7d | ||
|
|
ba9563b983 | ||
|
|
9320c1699a | ||
|
|
ff19640171 | ||
|
|
81ee9025fb | ||
|
|
0d05f05610 | ||
|
|
21de5c4a9c | ||
|
|
131ff24e53 | ||
|
|
b6da0e9b92 | ||
|
|
836ae732f6 | ||
|
|
6f2e93c6a1 | ||
|
|
78736c70f7 | ||
|
|
eb9e6d230f | ||
|
|
aebd77ad38 | ||
|
|
f68b646878 | ||
|
|
c928941d29 | ||
|
|
544b5ba838 | ||
|
|
815c8bf4c8 | ||
|
|
75191a942f | ||
|
|
3e9ac810ba | ||
|
|
caadc0978a | ||
|
|
255dc6334f | ||
|
|
c0bf7cd871 | ||
|
|
2cd2d6522e | ||
|
|
b81b66912d | ||
|
|
cf58a42185 | ||
|
|
a2094054a3 | ||
|
|
db900c8324 | ||
|
|
6cf346b3ea | ||
|
|
19ff9a3b4d | ||
|
|
d1d68c0124 | ||
|
|
fb355abbcf | ||
|
|
c76d14b881 | ||
|
|
865bb89995 | ||
|
|
0a6c9a00bd | ||
|
|
5490d82e3b | ||
|
|
357da2ce3a | ||
|
|
6fc35868ff | ||
|
|
6cd3ff5848 | ||
|
|
a5e5b61fd2 | ||
|
|
4f8495c7ad | ||
|
|
23d3762d04 | ||
|
|
5760799dec | ||
|
|
b9027e1b57 | ||
|
|
60d87e3a68 | ||
|
|
9c36cc8b01 | ||
|
|
a07037affc | ||
|
|
9b8dc4c417 | ||
|
|
26d90cd030 | ||
|
|
39676ad683 | ||
|
|
d57a2b981a | ||
|
|
b929bffea5 | ||
|
|
45c5f0c60a | ||
|
|
513c83e374 | ||
|
|
ec64b5ea0b | ||
|
|
8ca8d77c1e | ||
|
|
0f736e7e9d | ||
|
|
69a801b472 | ||
|
|
939773a5b9 | ||
|
|
2442592ef1 | ||
|
|
c17c42fa05 | ||
|
|
8bb586c1fd | ||
|
|
446e4ce0c3 | ||
|
|
5431b51249 | ||
|
|
476dfb0f35 | ||
|
|
3e31d1fae9 | ||
|
|
e68278f93e | ||
|
|
82f9d5501b | ||
|
|
2939b760d3 | ||
|
|
7f4551b769 | ||
|
|
5448ed643e | ||
|
|
271854e345 | ||
|
|
a4de5aa94b | ||
|
|
b67f1287c6 | ||
|
|
5c5be7f15e | ||
|
|
5d37b7a2ba | ||
|
|
0bd68902f9 | ||
|
|
072799f674 | ||
|
|
dfdb66cf31 | ||
|
|
0893f36f46 | ||
|
|
ba4ef23d6b | ||
|
|
bc9157a03b | ||
|
|
b80ec1fa3f | ||
|
|
645dbebd86 | ||
|
|
a626c69547 | ||
|
|
c8070fc544 | ||
|
|
2e89b21544 | ||
|
|
4cd75e45b9 | ||
|
|
51517cf96c | ||
|
|
4701127946 | ||
|
|
8dcdbddbfb | ||
|
|
a8e8b2e2cf | ||
|
|
94d4f8271e | ||
|
|
d69f7baaf5 | ||
|
|
079425c027 | ||
|
|
39d9c613ac | ||
|
|
e314be5b59 | ||
|
|
d071d18dd7 | ||
|
|
0a882471f3 | ||
|
|
9d301ae89e | ||
|
|
f003289816 | ||
|
|
d51c18d96d | ||
|
|
1576ce2e15 | ||
|
|
2cd25c6f3a | ||
|
|
c1c71c2e79 | ||
|
|
52ab5d8fef | ||
|
|
9202ce6d7c | ||
|
|
c0fd7697b9 | ||
|
|
28a24d30d2 | ||
|
|
9952418b3a | ||
|
|
bd07c7312a | ||
|
|
a28daf7f44 | ||
|
|
65be8daa15 | ||
|
|
9422f88451 | ||
|
|
4e7fa8216e | ||
|
|
dadb960ab0 | ||
|
|
92f5027c3c | ||
|
|
ed9fef408e | ||
|
|
6994136fb3 | ||
|
|
7686fc6f4d | ||
|
|
a1c7c1fb49 | ||
|
|
ec632e6694 | ||
|
|
fcfb5ef0a3 | ||
|
|
5c0f9b1483 | ||
|
|
37cb93be10 | ||
|
|
beb451fd19 | ||
|
|
78ad95d3ad | ||
|
|
0cab102f3a | ||
|
|
fd8f8162e1 | ||
|
|
b6db709e02 | ||
|
|
1dc06f7ad3 | ||
|
|
645cf109e9 | ||
|
|
510de87607 | ||
|
|
59785ea04c | ||
|
|
0cee1dfbd6 | ||
|
|
0d3757f2d3 | ||
|
|
debef43111 | ||
|
|
7492a158d2 | ||
|
|
9d7352a9e4 | ||
|
|
93cb26e879 | ||
|
|
51aad804d6 | ||
|
|
6e7e11e061 | ||
|
|
8d568d533b | ||
|
|
348a5f3d7c | ||
|
|
2de4978a31 | ||
|
|
642a51a558 | ||
|
|
1c6ab5447d | ||
|
|
e7d6bd19eb | ||
|
|
f6e40a9092 | ||
|
|
720d5db041 | ||
|
|
fd3ce321c5 | ||
|
|
7df8cd2b5d | ||
|
|
64f4231283 | ||
|
|
0589171ceb | ||
|
|
3cf9c30974 | ||
|
|
c1f0fa5bd6 | ||
|
|
b01a0325ba | ||
|
|
5531a1fdf2 | ||
|
|
78ee600752 | ||
|
|
bc9525c665 | ||
|
|
b41c1fe3af | ||
|
|
84dffdf510 | ||
|
|
3db78e367b | ||
|
|
b5a20494f6 | ||
|
|
04bafc5aee | ||
|
|
8ab9b92f60 | ||
|
|
287f595239 | ||
|
|
60ce9aa53c | ||
|
|
4219b4dd62 | ||
|
|
dbd46fbeb5 | ||
|
|
dfa9359555 | ||
|
|
418d936044 | ||
|
|
52840faa85 | ||
|
|
74f1090cb0 | ||
|
|
5bf637b978 | ||
|
|
cb6d38713f | ||
|
|
8804f896b0 | ||
|
|
caee136b6b | ||
|
|
67c627e93f | ||
|
|
8e290ba7f6 | ||
|
|
cbce1242b9 | ||
|
|
f3640add23 | ||
|
|
a05f47d5cc | ||
|
|
6c990f3ce7 | ||
|
|
a4b14d54f2 | ||
|
|
2c079a9608 | ||
|
|
233ffe46d5 | ||
|
|
231ac8e323 | ||
|
|
48a169516c | ||
|
|
24a2fff929 | ||
|
|
e60517f53b | ||
|
|
97696b18a6 | ||
|
|
c1aa60bc40 | ||
|
|
8a3bac9e10 | ||
|
|
2a1258e5d9 | ||
|
|
93e3aede35 | ||
|
|
9e6415e76c | ||
|
|
69057b5787 | ||
|
|
14e74beba1 | ||
|
|
9e6d13ce46 | ||
|
|
019529d76c | ||
|
|
57ee704595 | ||
|
|
a44a43ed0f | ||
|
|
41a7ab5024 | ||
|
|
7b7368b815 | ||
|
|
32eb7503b7 | ||
|
|
7308abc21a | ||
|
|
39b377c06f | ||
|
|
6836c8e98e | ||
|
|
54bf280874 | ||
|
|
40abe3d907 | ||
|
|
755189f6f3 | ||
|
|
f9f64a5e4c | ||
|
|
d2b634c349 | ||
|
|
4ff49b0a3f | ||
|
|
2012f4a198 | ||
|
|
d77fa3bb08 | ||
|
|
2bf63b158c | ||
|
|
de81437248 | ||
|
|
043ffe3a2e | ||
|
|
43d9149c8a | ||
|
|
f08a840d7d | ||
|
|
714753d001 | ||
|
|
7f3943f794 | ||
|
|
80ef07222d | ||
|
|
510a1408a2 | ||
|
|
34afa60aff | ||
|
|
71f35d90c5 | ||
|
|
8ba56df54e | ||
|
|
227e603194 | ||
|
|
4021c3c61a | ||
|
|
d549879cd4 | ||
|
|
b7fd9e8c55 | ||
|
|
f278390012 | ||
|
|
fa98dabeec | ||
|
|
1243e6a655 | ||
|
|
7a148e9ffa | ||
|
|
a526f75a3e | ||
|
|
b1b90185c4 | ||
|
|
ab391870ed | ||
|
|
3e6ad67d59 | ||
|
|
39668a21d7 | ||
|
|
85eb00b0a6 | ||
|
|
0c61d052d2 | ||
|
|
e6e339cc3e | ||
|
|
8ea124b999 | ||
|
|
7ee3b4536c | ||
|
|
99fa6e3cd0 | ||
|
|
32ff71a67d | ||
|
|
2ffff0fa61 | ||
|
|
51ca78d496 | ||
|
|
677ed40b40 | ||
|
|
0616534af7 | ||
|
|
7a41dc2a7a | ||
|
|
65f0b195a2 | ||
|
|
170e84360c | ||
|
|
42b611de9b | ||
|
|
015d169423 | ||
|
|
56958d2397 | ||
|
|
b11c00ccdc | ||
|
|
dfc8a09f44 | ||
|
|
127a1320a8 | ||
|
|
4e93f2f360 | ||
|
|
76d0a9cc5d | ||
|
|
99dc38c6e0 | ||
|
|
fe1c8b882a | ||
|
|
0acaa2f3b0 | ||
|
|
78861f8a31 | ||
|
|
05a902f3a5 | ||
|
|
0bab055441 | ||
|
|
adb168dfdc | ||
|
|
8bc7daa3f3 | ||
|
|
b6df8cc1f5 | ||
|
|
b95775041c | ||
|
|
36bfaeba12 | ||
|
|
e40f0800a0 | ||
|
|
154e0fe94a | ||
|
|
c6285944a1 | ||
|
|
037f68858d | ||
|
|
873f24618c | ||
|
|
17c9f6eace | ||
|
|
2a84e5034e | ||
|
|
bc3b3bb1c0 | ||
|
|
b729000687 | ||
|
|
64cf49c378 | ||
|
|
f894d978df | ||
|
|
ce12fc2b67 | ||
|
|
091ef2e240 | ||
|
|
1d17516aa8 | ||
|
|
b5a01217b1 | ||
|
|
b9056a9fd9 | ||
|
|
aa9182bd50 | ||
|
|
c75ff55bbc | ||
|
|
1e7219b043 | ||
|
|
5431f4fb86 | ||
|
|
1cdf9e19a0 | ||
|
|
5e6e1084cf | ||
|
|
a1f2dd7846 | ||
|
|
b2549d98f9 | ||
|
|
b1934d95f2 | ||
|
|
d9fbddc26c | ||
|
|
b818da3b1c | ||
|
|
509dc30ae6 | ||
|
|
8c08be47cb | ||
|
|
691f0d07b9 | ||
|
|
a61507e971 | ||
|
|
70aaf34094 | ||
|
|
d311f74349 | ||
|
|
893fa691a7 | ||
|
|
39270c782a | ||
|
|
adae7cf2ec | ||
|
|
6ae5f76250 | ||
|
|
ca655c0628 | ||
|
|
8d3f9d7e34 | ||
|
|
e7eac5baa7 | ||
|
|
08f673802f | ||
|
|
bdb592539e | ||
|
|
3557741f13 | ||
|
|
9d89314afa | ||
|
|
83b86c745d | ||
|
|
c6088a1cb3 | ||
|
|
88c1874943 | ||
|
|
ec50d657bb | ||
|
|
e8c856924c | ||
|
|
e1317ce098 | ||
|
|
a385bd0227 | ||
|
|
99276028ae | ||
|
|
d7d02cd2bc | ||
|
|
bd52ff905f | ||
|
|
49a655f78e | ||
|
|
c27340eddc | ||
|
|
57c6e7f823 | ||
|
|
6c938905f9 | ||
|
|
767df5967a | ||
|
|
2f8f6431d1 | ||
|
|
aace7a1900 | ||
|
|
00bbd9c7bb | ||
|
|
1bd75619dd | ||
|
|
c7d5da4ec5 | ||
|
|
1cfa30b982 | ||
|
|
f5fcc130bf | ||
|
|
c7bfdea17b | ||
|
|
460e23c2e7 | ||
|
|
a4d5faa789 | ||
|
|
148730dac3 | ||
|
|
e43a8bf88a | ||
|
|
502ccea980 | ||
|
|
deab5bce91 | ||
|
|
6dc01cd109 | ||
|
|
eacb5fea9f | ||
|
|
92c170d540 | ||
|
|
32b0679472 | ||
|
|
71d89fb33e | ||
|
|
81289762bc | ||
|
|
cb0e275db9 | ||
|
|
b53a6bfe0c | ||
|
|
8d7e6ee769 |
179
.config/docker_example.yml
Normal file
179
.config/docker_example.yml
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# Misskey configuration
|
||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# ┌─────┐
|
||||||
|
#───┘ URL └─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Final accessible URL seen by a user.
|
||||||
|
url: https://example.tld/
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# URL SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
# ┌───────────────────────┐
|
||||||
|
#───┘ Port and TLS settings └───────────────────────────────────
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misskey requires a reverse proxy to support HTTPS connections.
|
||||||
|
#
|
||||||
|
# +----- https://example.tld/ ------------+
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# +---------------------------------------+
|
||||||
|
#
|
||||||
|
# You need to set up a reverse proxy. (e.g. nginx)
|
||||||
|
# An encrypted connection with HTTPS is highly recommended
|
||||||
|
# because tokens may be transferred in GET requests.
|
||||||
|
|
||||||
|
# The port that your Misskey server should listen on.
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
# ┌──────────────────────────┐
|
||||||
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
|
|
||||||
|
db:
|
||||||
|
host: db
|
||||||
|
port: 5432
|
||||||
|
|
||||||
|
# Database name
|
||||||
|
db: misskey
|
||||||
|
|
||||||
|
# Auth
|
||||||
|
user: example-misskey-user
|
||||||
|
pass: example-misskey-pass
|
||||||
|
|
||||||
|
# Whether disable Caching queries
|
||||||
|
#disableCache: true
|
||||||
|
|
||||||
|
# Extra Connection options
|
||||||
|
#extra:
|
||||||
|
# ssl: true
|
||||||
|
|
||||||
|
dbReplications: false
|
||||||
|
|
||||||
|
# You can configure any number of replicas here
|
||||||
|
#dbSlaves:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Redis configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: redis
|
||||||
|
port: 6379
|
||||||
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
#pass: example-pass
|
||||||
|
#prefix: example-prefix
|
||||||
|
#db: 1
|
||||||
|
|
||||||
|
#redisForPubsub:
|
||||||
|
# host: redis
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
#redisForJobQueue:
|
||||||
|
# host: redis
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
# ┌───────────────────────────┐
|
||||||
|
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||||
|
|
||||||
|
#meilisearch:
|
||||||
|
# host: meilisearch
|
||||||
|
# port: 7700
|
||||||
|
# apiKey: ''
|
||||||
|
# ssl: true
|
||||||
|
# index: ''
|
||||||
|
|
||||||
|
# ┌───────────────┐
|
||||||
|
#───┘ ID generation └───────────────────────────────────────────
|
||||||
|
|
||||||
|
# You can select the ID generation method.
|
||||||
|
# You don't usually need to change this setting, but you can
|
||||||
|
# change it according to your preferences.
|
||||||
|
|
||||||
|
# Available methods:
|
||||||
|
# aid ... Short, Millisecond accuracy
|
||||||
|
# meid ... Similar to ObjectID, Millisecond accuracy
|
||||||
|
# ulid ... Millisecond accuracy
|
||||||
|
# objectid ... This is left for backward compatibility
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# ID SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
id: 'aid'
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Other configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
# Whether disable HSTS
|
||||||
|
#disableHsts: true
|
||||||
|
|
||||||
|
# Number of worker processes
|
||||||
|
#clusterLimit: 1
|
||||||
|
|
||||||
|
# Job concurrency per worker
|
||||||
|
# deliverJobConcurrency: 128
|
||||||
|
# inboxJobConcurrency: 16
|
||||||
|
|
||||||
|
# Job rate limiter
|
||||||
|
# deliverJobPerSec: 128
|
||||||
|
# inboxJobPerSec: 16
|
||||||
|
|
||||||
|
# Job attempts
|
||||||
|
# deliverJobMaxAttempts: 12
|
||||||
|
# inboxJobMaxAttempts: 8
|
||||||
|
|
||||||
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||||
|
#outgoingAddressFamily: ipv4
|
||||||
|
|
||||||
|
# Proxy for HTTP/HTTPS
|
||||||
|
#proxy: http://127.0.0.1:3128
|
||||||
|
|
||||||
|
proxyBypassHosts:
|
||||||
|
- api.deepl.com
|
||||||
|
- api-free.deepl.com
|
||||||
|
- www.recaptcha.net
|
||||||
|
- hcaptcha.com
|
||||||
|
- challenges.cloudflare.com
|
||||||
|
|
||||||
|
# Proxy for SMTP/SMTPS
|
||||||
|
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||||
|
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||||
|
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
||||||
|
|
||||||
|
# Media Proxy
|
||||||
|
#mediaProxy: https://example.com/proxy
|
||||||
|
|
||||||
|
# Proxy remote files (default: false)
|
||||||
|
#proxyRemoteFiles: true
|
||||||
|
|
||||||
|
# Sign to ActivityPub GET request (default: true)
|
||||||
|
signToActivityPubGet: true
|
||||||
|
|
||||||
|
#allowedPrivateNetworks: [
|
||||||
|
# '127.0.0.1/32'
|
||||||
|
#]
|
||||||
|
|
||||||
|
# Upload or download file size limits (bytes)
|
||||||
|
#maxFileSize: 262144000
|
||||||
@@ -15,10 +15,7 @@ url: https://example.tld/
|
|||||||
#───┘ Port and TLS settings └───────────────────────────────────
|
#───┘ Port and TLS settings └───────────────────────────────────
|
||||||
|
|
||||||
#
|
#
|
||||||
# Misskey supports two deployment options for public.
|
# Misskey requires a reverse proxy to support HTTPS connections.
|
||||||
#
|
|
||||||
|
|
||||||
# Option 1: With Reverse Proxy
|
|
||||||
#
|
#
|
||||||
# +----- https://example.tld/ ------------+
|
# +----- https://example.tld/ ------------+
|
||||||
# +------+ |+-------------+ +----------------+|
|
# +------+ |+-------------+ +----------------+|
|
||||||
@@ -26,30 +23,16 @@ url: https://example.tld/
|
|||||||
# +------+ |+-------------+ +----------------+|
|
# +------+ |+-------------+ +----------------+|
|
||||||
# +---------------------------------------+
|
# +---------------------------------------+
|
||||||
#
|
#
|
||||||
# You need to setup reverse proxy. (eg. nginx)
|
# You need to set up a reverse proxy. (e.g. nginx)
|
||||||
# You do not define 'https' section.
|
# An encrypted connection with HTTPS is highly recommended
|
||||||
|
# because tokens may be transferred in GET requests.
|
||||||
|
|
||||||
# Option 2: Standalone
|
# The port that your Misskey server should listen on.
|
||||||
#
|
port: 3000
|
||||||
# +- https://example.tld/ -+
|
|
||||||
# +------+ | +---------------+ |
|
|
||||||
# | User | ---> | | Misskey (443) | |
|
|
||||||
# +------+ | +---------------+ |
|
|
||||||
# +------------------------+
|
|
||||||
#
|
|
||||||
# You need to run Misskey as root.
|
|
||||||
# You need to set Certificate in 'https' section.
|
|
||||||
|
|
||||||
# To use option 1, uncomment below line.
|
# You can also use UNIX domain socket.
|
||||||
#port: 3000 # A port that your Misskey server should listen.
|
# socket: /path/to/misskey.sock
|
||||||
|
# chmodSocket: '777'
|
||||||
# To use option 2, uncomment below lines.
|
|
||||||
#port: 443
|
|
||||||
|
|
||||||
#https:
|
|
||||||
# # path for certification
|
|
||||||
# key: /etc/letsencrypt/live/example.tld/privkey.pem
|
|
||||||
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
|
|
||||||
|
|
||||||
# ┌──────────────────────────┐
|
# ┌──────────────────────────┐
|
||||||
#───┘ PostgreSQL configuration └────────────────────────────────
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
@@ -72,25 +55,66 @@ db:
|
|||||||
#extra:
|
#extra:
|
||||||
# ssl: true
|
# ssl: true
|
||||||
|
|
||||||
|
dbReplications: false
|
||||||
|
|
||||||
|
# You can configure any number of replicas here
|
||||||
|
#dbSlaves:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
|
||||||
# ┌─────────────────────┐
|
# ┌─────────────────────┐
|
||||||
#───┘ Redis configuration └─────────────────────────────────────
|
#───┘ Redis configuration └─────────────────────────────────────
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
host: localhost
|
host: localhost
|
||||||
port: 6379
|
port: 6379
|
||||||
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
#pass: example-pass
|
#pass: example-pass
|
||||||
#prefix: example-prefix
|
#prefix: example-prefix
|
||||||
#db: 1
|
#db: 1
|
||||||
|
# You can specify more ioredis options...
|
||||||
|
#username: example-username
|
||||||
|
|
||||||
# ┌─────────────────────────────┐
|
#redisForPubsub:
|
||||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
|
||||||
|
|
||||||
#elasticsearch:
|
|
||||||
# host: localhost
|
# host: localhost
|
||||||
# port: 9200
|
# port: 6379
|
||||||
# ssl: false
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
# user:
|
# #pass: example-pass
|
||||||
# pass:
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
# # You can specify more ioredis options...
|
||||||
|
# #username: example-username
|
||||||
|
|
||||||
|
#redisForJobQueue:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
# # You can specify more ioredis options...
|
||||||
|
# #username: example-username
|
||||||
|
|
||||||
|
# ┌───────────────────────────┐
|
||||||
|
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||||
|
|
||||||
|
#meilisearch:
|
||||||
|
# host: localhost
|
||||||
|
# port: 7700
|
||||||
|
# apiKey: ''
|
||||||
|
# ssl: true
|
||||||
|
# index: ''
|
||||||
|
# scope: local
|
||||||
|
|
||||||
# ┌───────────────┐
|
# ┌───────────────┐
|
||||||
#───┘ ID generation └───────────────────────────────────────────
|
#───┘ ID generation └───────────────────────────────────────────
|
||||||
@@ -120,32 +144,33 @@ id: 'aid'
|
|||||||
#clusterLimit: 1
|
#clusterLimit: 1
|
||||||
|
|
||||||
# Job concurrency per worker
|
# Job concurrency per worker
|
||||||
# deliverJobConcurrency: 128
|
#deliverJobConcurrency: 128
|
||||||
# inboxJobConcurrency: 16
|
#inboxJobConcurrency: 16
|
||||||
|
#relashionshipJobConcurrency: 16
|
||||||
|
# What's relashionshipJob?:
|
||||||
|
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
|
||||||
|
|
||||||
# Job rate limiter
|
# Job rate limiter
|
||||||
# deliverJobPerSec: 128
|
#deliverJobPerSec: 128
|
||||||
# inboxJobPerSec: 16
|
#inboxJobPerSec: 16
|
||||||
|
#relashionshipJobPerSec: 64
|
||||||
|
|
||||||
# Job attempts
|
# Job attempts
|
||||||
# deliverJobMaxAttempts: 12
|
#deliverJobMaxAttempts: 12
|
||||||
# inboxJobMaxAttempts: 8
|
#inboxJobMaxAttempts: 8
|
||||||
|
|
||||||
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||||
#outgoingAddressFamily: ipv4
|
#outgoingAddressFamily: ipv4
|
||||||
|
|
||||||
# Syslog option
|
|
||||||
#syslog:
|
|
||||||
# host: localhost
|
|
||||||
# port: 514
|
|
||||||
|
|
||||||
# Proxy for HTTP/HTTPS
|
# Proxy for HTTP/HTTPS
|
||||||
#proxy: http://127.0.0.1:3128
|
#proxy: http://127.0.0.1:3128
|
||||||
|
|
||||||
#proxyBypassHosts: [
|
proxyBypassHosts:
|
||||||
# 'example.com',
|
- api.deepl.com
|
||||||
# '192.0.2.8'
|
- api-free.deepl.com
|
||||||
#]
|
- www.recaptcha.net
|
||||||
|
- hcaptcha.com
|
||||||
|
- challenges.cloudflare.com
|
||||||
|
|
||||||
# Proxy for SMTP/SMTPS
|
# Proxy for SMTP/SMTPS
|
||||||
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||||
@@ -153,10 +178,23 @@ id: 'aid'
|
|||||||
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
||||||
|
|
||||||
# Media Proxy
|
# Media Proxy
|
||||||
|
# Reference Implementation: https://github.com/misskey-dev/media-proxy
|
||||||
|
# * Deliver a common cache between instances
|
||||||
|
# * Perform image compression (on a different server resource than the main process)
|
||||||
#mediaProxy: https://example.com/proxy
|
#mediaProxy: https://example.com/proxy
|
||||||
|
|
||||||
# Sign to ActivityPub GET request (default: false)
|
# Proxy remote files (default: false)
|
||||||
#signToActivityPubGet: true
|
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
|
||||||
|
#proxyRemoteFiles: true
|
||||||
|
|
||||||
|
# Movie Thumbnail Generation URL
|
||||||
|
# There is no reference implementation.
|
||||||
|
# For example, Misskey will point to the following URL:
|
||||||
|
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
|
||||||
|
#videoThumbnailGenerator: https://example.com
|
||||||
|
|
||||||
|
# Sign to ActivityPub GET request (default: true)
|
||||||
|
signToActivityPubGet: true
|
||||||
|
|
||||||
#allowedPrivateNetworks: [
|
#allowedPrivateNetworks: [
|
||||||
# '127.0.0.1/32'
|
# '127.0.0.1/32'
|
||||||
|
|||||||
1
.devcontainer/Dockerfile
Normal file
1
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1 @@
|
|||||||
|
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
|
||||||
27
.devcontainer/devcontainer.json
Normal file
27
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"name": "Misskey",
|
||||||
|
"dockerComposeFile": "docker-compose.yml",
|
||||||
|
"service": "app",
|
||||||
|
"workspaceFolder": "/workspace",
|
||||||
|
"features": {
|
||||||
|
"ghcr.io/devcontainers-contrib/features/pnpm:2": {},
|
||||||
|
"ghcr.io/devcontainers/features/node:1": {
|
||||||
|
"version": "20.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"forwardPorts": [3000],
|
||||||
|
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh",
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"editorconfig.editorconfig",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"Vue.volar",
|
||||||
|
"Vue.vscode-typescript-vue-plugin",
|
||||||
|
"Orta.vscode-jest",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"mrmlnc.vscode-json5"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
179
.devcontainer/devcontainer.yml
Normal file
179
.devcontainer/devcontainer.yml
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# Misskey configuration
|
||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# ┌─────┐
|
||||||
|
#───┘ URL └─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Final accessible URL seen by a user.
|
||||||
|
url: http://127.0.0.1:3000/
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# URL SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
# ┌───────────────────────┐
|
||||||
|
#───┘ Port and TLS settings └───────────────────────────────────
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misskey requires a reverse proxy to support HTTPS connections.
|
||||||
|
#
|
||||||
|
# +----- https://example.tld/ ------------+
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# +---------------------------------------+
|
||||||
|
#
|
||||||
|
# You need to set up a reverse proxy. (e.g. nginx)
|
||||||
|
# An encrypted connection with HTTPS is highly recommended
|
||||||
|
# because tokens may be transferred in GET requests.
|
||||||
|
|
||||||
|
# The port that your Misskey server should listen on.
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
# ┌──────────────────────────┐
|
||||||
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
|
|
||||||
|
db:
|
||||||
|
host: db
|
||||||
|
port: 5432
|
||||||
|
|
||||||
|
# Database name
|
||||||
|
db: misskey
|
||||||
|
|
||||||
|
# Auth
|
||||||
|
user: postgres
|
||||||
|
pass: postgres
|
||||||
|
|
||||||
|
# Whether disable Caching queries
|
||||||
|
#disableCache: true
|
||||||
|
|
||||||
|
# Extra Connection options
|
||||||
|
#extra:
|
||||||
|
# ssl: true
|
||||||
|
|
||||||
|
dbReplications: false
|
||||||
|
|
||||||
|
# You can configure any number of replicas here
|
||||||
|
#dbSlaves:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Redis configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: redis
|
||||||
|
port: 6379
|
||||||
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
#pass: example-pass
|
||||||
|
#prefix: example-prefix
|
||||||
|
#db: 1
|
||||||
|
|
||||||
|
#redisForPubsub:
|
||||||
|
# host: redis
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
#redisForJobQueue:
|
||||||
|
# host: redis
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
# ┌───────────────────────────┐
|
||||||
|
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||||
|
|
||||||
|
#meilisearch:
|
||||||
|
# host: meilisearch
|
||||||
|
# port: 7700
|
||||||
|
# apiKey: ''
|
||||||
|
# ssl: true
|
||||||
|
# index: ''
|
||||||
|
|
||||||
|
# ┌───────────────┐
|
||||||
|
#───┘ ID generation └───────────────────────────────────────────
|
||||||
|
|
||||||
|
# You can select the ID generation method.
|
||||||
|
# You don't usually need to change this setting, but you can
|
||||||
|
# change it according to your preferences.
|
||||||
|
|
||||||
|
# Available methods:
|
||||||
|
# aid ... Short, Millisecond accuracy
|
||||||
|
# meid ... Similar to ObjectID, Millisecond accuracy
|
||||||
|
# ulid ... Millisecond accuracy
|
||||||
|
# objectid ... This is left for backward compatibility
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# ID SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
id: 'aid'
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Other configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
# Whether disable HSTS
|
||||||
|
#disableHsts: true
|
||||||
|
|
||||||
|
# Number of worker processes
|
||||||
|
#clusterLimit: 1
|
||||||
|
|
||||||
|
# Job concurrency per worker
|
||||||
|
# deliverJobConcurrency: 128
|
||||||
|
# inboxJobConcurrency: 16
|
||||||
|
|
||||||
|
# Job rate limiter
|
||||||
|
# deliverJobPerSec: 128
|
||||||
|
# inboxJobPerSec: 16
|
||||||
|
|
||||||
|
# Job attempts
|
||||||
|
# deliverJobMaxAttempts: 12
|
||||||
|
# inboxJobMaxAttempts: 8
|
||||||
|
|
||||||
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||||
|
#outgoingAddressFamily: ipv4
|
||||||
|
|
||||||
|
# Proxy for HTTP/HTTPS
|
||||||
|
#proxy: http://127.0.0.1:3128
|
||||||
|
|
||||||
|
proxyBypassHosts:
|
||||||
|
- api.deepl.com
|
||||||
|
- api-free.deepl.com
|
||||||
|
- www.recaptcha.net
|
||||||
|
- hcaptcha.com
|
||||||
|
- challenges.cloudflare.com
|
||||||
|
|
||||||
|
# Proxy for SMTP/SMTPS
|
||||||
|
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||||
|
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||||
|
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
||||||
|
|
||||||
|
# Media Proxy
|
||||||
|
#mediaProxy: https://example.com/proxy
|
||||||
|
|
||||||
|
# Proxy remote files (default: false)
|
||||||
|
#proxyRemoteFiles: true
|
||||||
|
|
||||||
|
# Sign to ActivityPub GET request (default: true)
|
||||||
|
signToActivityPubGet: true
|
||||||
|
|
||||||
|
allowedPrivateNetworks: [
|
||||||
|
'127.0.0.1/32'
|
||||||
|
]
|
||||||
|
|
||||||
|
# Upload or download file size limits (bytes)
|
||||||
|
#maxFileSize: 262144000
|
||||||
53
.devcontainer/docker-compose.yml
Normal file
53
.devcontainer/docker-compose.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ../:/workspace:cached
|
||||||
|
|
||||||
|
command: sleep infinity
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
- external_network
|
||||||
|
|
||||||
|
redis:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: redis:7-alpine
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
volumes:
|
||||||
|
- redis-data:/data
|
||||||
|
healthcheck:
|
||||||
|
test: "redis-cli ping"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
db:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: postgres:15-alpine
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
POSTGRES_DB: misskey
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
redis-data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
internal_network:
|
||||||
|
internal: true
|
||||||
|
external_network:
|
||||||
11
.devcontainer/init.sh
Executable file
11
.devcontainer/init.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
sudo chown -R node /workspace
|
||||||
|
git submodule update --init
|
||||||
|
pnpm config set store-dir /home/node/.local/share/pnpm/store
|
||||||
|
pnpm install --frozen-lockfile
|
||||||
|
cp .devcontainer/devcontainer.yml .config/default.yml
|
||||||
|
pnpm build
|
||||||
|
pnpm migrate
|
||||||
@@ -8,8 +8,24 @@ build/
|
|||||||
built/
|
built/
|
||||||
db/
|
db/
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
elasticsearch/
|
|
||||||
node_modules/
|
node_modules/
|
||||||
|
packages/*/node_modules
|
||||||
redis/
|
redis/
|
||||||
files/
|
files/
|
||||||
misskey-assets/
|
misskey-assets/
|
||||||
|
fluent-emojis/
|
||||||
|
.pnp.*
|
||||||
|
|
||||||
|
# .yarn関連
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/sdks
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
|
.pnpm-store
|
||||||
|
|
||||||
|
.idea/
|
||||||
|
packages/*/.vscode/
|
||||||
|
packages/backend/test/docker-compose.yml
|
||||||
|
|||||||
3
.dockleignore
Normal file
3
.dockleignore
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
DKL-DI-0005
|
||||||
|
DKL-DI-0006
|
||||||
|
DKL-LI-0003
|
||||||
@@ -5,6 +5,11 @@ indent_style = tab
|
|||||||
indent_size = 2
|
indent_size = 2
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
end_of_line = lf
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
[*.yml]
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[*.{yml,yaml}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
|
|||||||
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -5,3 +5,4 @@
|
|||||||
*.glb -diff -text
|
*.glb -diff -text
|
||||||
*.blend -diff -text
|
*.blend -diff -text
|
||||||
*.afdesign -diff -text
|
*.afdesign -diff -text
|
||||||
|
* text=auto eol=lf
|
||||||
|
|||||||
29
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
29
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
@@ -10,6 +10,7 @@ assignees: ''
|
|||||||
<!--
|
<!--
|
||||||
Thanks for reporting!
|
Thanks for reporting!
|
||||||
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
|
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
|
||||||
|
Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## 💡 Summary
|
## 💡 Summary
|
||||||
@@ -22,7 +23,10 @@ First, in order to avoid duplicate Issues, please search to see if the problem y
|
|||||||
|
|
||||||
## 🤬 Actual Behavior
|
## 🤬 Actual Behavior
|
||||||
|
|
||||||
<!--- Tell us what happens instead of the expected behavior -->
|
<!--
|
||||||
|
Tell us what happens instead of the expected behavior.
|
||||||
|
Please include errors from the developer console and/or server log files if you have access to them.
|
||||||
|
-->
|
||||||
|
|
||||||
## 📝 Steps to Reproduce
|
## 📝 Steps to Reproduce
|
||||||
|
|
||||||
@@ -33,7 +37,24 @@ First, in order to avoid duplicate Issues, please search to see if the problem y
|
|||||||
## 📌 Environment
|
## 📌 Environment
|
||||||
|
|
||||||
<!-- Tell us where on the platform it happens -->
|
<!-- Tell us where on the platform it happens -->
|
||||||
|
<!-- DO NOT WRITE "latest". Please provide the specific version. -->
|
||||||
|
|
||||||
Misskey version:
|
### 💻 Frontend
|
||||||
Your OS:
|
* Model and OS of the device(s):
|
||||||
Your browser:
|
<!-- Example: MacBook Pro (14inch, 2021), macOS Ventura 13.4 -->
|
||||||
|
* Browser:
|
||||||
|
<!-- Example: Chrome 113.0.5672.126 -->
|
||||||
|
* Server URL:
|
||||||
|
<!-- Example: misskey.io -->
|
||||||
|
* Misskey:
|
||||||
|
13.x.x
|
||||||
|
|
||||||
|
### 🛰 Backend (for server admin)
|
||||||
|
<!-- If you are using a managed service, put that after the version. -->
|
||||||
|
|
||||||
|
* Installation Method or Hosting Service: <!-- Example: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment -->
|
||||||
|
* Misskey: 13.x.x
|
||||||
|
* Node: 20.x.x
|
||||||
|
* PostgreSQL: 15.x.x
|
||||||
|
* Redis: 7.x.x
|
||||||
|
* OS and Architecture: <!-- Example: Ubuntu 22.04.2 LTS aarch64 -->
|
||||||
|
|||||||
20
.github/PULL_REQUEST_TEMPLATE.md
vendored
20
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,20 +0,0 @@
|
|||||||
<!-- ℹ お読みください
|
|
||||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
|
||||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
|
||||||
-->
|
|
||||||
<!-- ℹ README
|
|
||||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
|
||||||
https://github.com/misskey-dev/misskey/blob/develop/docs/CONTRIBUTING.en.md
|
|
||||||
-->
|
|
||||||
|
|
||||||
# What
|
|
||||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
|
||||||
<!-- What did you do with this PR? How will it change things? -->
|
|
||||||
|
|
||||||
# Why
|
|
||||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
|
||||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
|
||||||
|
|
||||||
# Additional info (optional)
|
|
||||||
<!-- テスト観点など -->
|
|
||||||
<!-- Test perspective, etc -->
|
|
||||||
23
.github/PULL_REQUEST_TEMPLATE/01_bug.md
vendored
Normal file
23
.github/PULL_REQUEST_TEMPLATE/01_bug.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<!-- ℹ お読みください / README
|
||||||
|
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||||
|
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||||
|
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||||
|
-->
|
||||||
|
|
||||||
|
## What
|
||||||
|
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||||
|
<!-- What did you do with this PR? How will it change things? -->
|
||||||
|
|
||||||
|
## Why
|
||||||
|
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||||
|
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||||
|
|
||||||
|
## Additional info (optional)
|
||||||
|
<!-- テスト観点など -->
|
||||||
|
<!-- Test perspective, etc -->
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||||
|
- [ ] Test working in a local environment
|
||||||
|
- [ ] (If needed) Update CHANGELOG.md
|
||||||
|
- [ ] (If possible) Add tests
|
||||||
23
.github/PULL_REQUEST_TEMPLATE/02_enhance.md
vendored
Normal file
23
.github/PULL_REQUEST_TEMPLATE/02_enhance.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<!-- ℹ お読みください / README
|
||||||
|
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||||
|
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||||
|
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||||
|
-->
|
||||||
|
|
||||||
|
## What
|
||||||
|
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||||
|
<!-- What did you do with this PR? How will it change things? -->
|
||||||
|
|
||||||
|
## Why
|
||||||
|
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||||
|
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||||
|
|
||||||
|
## Additional info (optional)
|
||||||
|
<!-- テスト観点など -->
|
||||||
|
<!-- Test perspective, etc -->
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||||
|
- [ ] Test working in a local environment
|
||||||
|
- [ ] (If needed) Update CHANGELOG.md
|
||||||
|
- [ ] (If possible) Add tests
|
||||||
20
.github/PULL_REQUEST_TEMPLATE/03_release.md
vendored
Normal file
20
.github/PULL_REQUEST_TEMPLATE/03_release.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
## Summary
|
||||||
|
This is a release PR.
|
||||||
|
|
||||||
|
For more information on the release instructions, please see:
|
||||||
|
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md#release
|
||||||
|
|
||||||
|
## For reviewers
|
||||||
|
- CHANGELOGに抜け漏れは無いか
|
||||||
|
- バージョンの上げ方は適切か
|
||||||
|
- 他にこのリリースに含めなければならない変更は無いか
|
||||||
|
- 全体的な変更内容を俯瞰し問題は無いか
|
||||||
|
- レビューされていないコミットがある場合は、それが問題ないか
|
||||||
|
- 最終的な動作確認を行い問題は無いか
|
||||||
|
|
||||||
|
などを確認し、リリースする準備が整っていると思われる場合は approve してください。
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
- [ ] package.jsonのバージョンが正しく更新されている
|
||||||
|
- [ ] CHANGELOGが過不足無く更新されている
|
||||||
|
- [ ] CIが全て通っている
|
||||||
12
.github/dependabot.yml
vendored
12
.github/dependabot.yml
vendored
@@ -5,6 +5,11 @@
|
|||||||
|
|
||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
open-pull-requests-limit: 0
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
@@ -16,7 +21,12 @@ updates:
|
|||||||
interval: daily
|
interval: daily
|
||||||
open-pull-requests-limit: 0
|
open-pull-requests-limit: 0
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: "/packages/client"
|
directory: "/packages/frontend"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
open-pull-requests-limit: 0
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/packages/sw"
|
||||||
schedule:
|
schedule:
|
||||||
interval: daily
|
interval: daily
|
||||||
open-pull-requests-limit: 0
|
open-pull-requests-limit: 0
|
||||||
|
|||||||
21
.github/labeler.yml
vendored
Normal file
21
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
'packages/backend':
|
||||||
|
- packages/backend/**/*
|
||||||
|
|
||||||
|
'packages/backend:test':
|
||||||
|
- packages/backend/test/**/*
|
||||||
|
|
||||||
|
'packages/frontend':
|
||||||
|
- packages/frontend/**/*
|
||||||
|
|
||||||
|
'packages/frontend:test':
|
||||||
|
- cypress/**/*
|
||||||
|
|
||||||
|
'packages/sw':
|
||||||
|
- packages/sw/**/*
|
||||||
|
|
||||||
|
'packages/misskey-js':
|
||||||
|
- packages/misskey-js/**/*
|
||||||
|
|
||||||
|
'packages/misskey-js:test':
|
||||||
|
- packages/misskey-js/test/**/*
|
||||||
|
- packages/misskey-js/test-d/**/*
|
||||||
4
.github/misskey/test.yml
vendored
4
.github/misskey/test.yml
vendored
@@ -4,12 +4,12 @@ url: 'http://misskey.local'
|
|||||||
port: 61812
|
port: 61812
|
||||||
|
|
||||||
db:
|
db:
|
||||||
host: localhost
|
host: 127.0.0.1
|
||||||
port: 54312
|
port: 54312
|
||||||
db: test-misskey
|
db: test-misskey
|
||||||
user: postgres
|
user: postgres
|
||||||
pass: ''
|
pass: ''
|
||||||
redis:
|
redis:
|
||||||
host: localhost
|
host: 127.0.0.1
|
||||||
port: 56312
|
port: 56312
|
||||||
id: aid
|
id: aid
|
||||||
|
|||||||
24
.github/pull_request_template.md
vendored
Normal file
24
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<!-- ℹ お読みください / README
|
||||||
|
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||||
|
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||||
|
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||||
|
-->
|
||||||
|
|
||||||
|
## What
|
||||||
|
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||||
|
<!-- What did you do with this PR? How will it change things? -->
|
||||||
|
|
||||||
|
## Why
|
||||||
|
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||||
|
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||||
|
|
||||||
|
## Additional info (optional)
|
||||||
|
<!-- テスト観点など -->
|
||||||
|
<!-- Test perspective, etc -->
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||||
|
- [ ] Test working in a local environment
|
||||||
|
- [ ] (If needed) Add story of storybook
|
||||||
|
- [ ] (If needed) Update CHANGELOG.md
|
||||||
|
- [ ] (If possible) Add tests
|
||||||
9
.github/reviewer-lottery.yml
vendored
Normal file
9
.github/reviewer-lottery.yml
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
groups:
|
||||||
|
- name: devs
|
||||||
|
reviewers: 2
|
||||||
|
internal_reviewers: 1
|
||||||
|
usernames:
|
||||||
|
- syuilo
|
||||||
|
- acid-chicken
|
||||||
|
- EbiseLutica
|
||||||
|
- tamaina
|
||||||
36
.github/workflows/api-misskey-js.yml
vendored
Normal file
36
.github/workflows/api-misskey-js.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
name: API report (misskey.js)
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
report:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3.3.0
|
||||||
|
|
||||||
|
- run: corepack enable
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version-file: '.node-version'
|
||||||
|
cache: 'pnpm'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm i --frozen-lockfile
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter misskey-js build
|
||||||
|
|
||||||
|
- name: Check files
|
||||||
|
run: ls packages/misskey-js/built
|
||||||
|
|
||||||
|
- name: API report
|
||||||
|
run: pnpm --filter misskey-js api-prod
|
||||||
|
|
||||||
|
- name: Show report
|
||||||
|
if: always()
|
||||||
|
run: cat packages/misskey-js/temp/misskey-js.api.md
|
||||||
18
.github/workflows/check_copyright_year.yml
vendored
Normal file
18
.github/workflows/check_copyright_year.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Check copyright year
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check_copyright_year:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.2.0
|
||||||
|
- run: |
|
||||||
|
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
|
||||||
|
echo "Please change copyright year!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
20
.github/workflows/docker-develop.yml
vendored
20
.github/workflows/docker-develop.yml
vendored
@@ -10,24 +10,34 @@ jobs:
|
|||||||
push_to_registry:
|
push_to_registry:
|
||||||
name: Push Docker image to Docker Hub
|
name: Push Docker image to Docker Hub
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: github.repository == 'misskey-dev/misskey'
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3.3.0
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v2.3.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v3
|
uses: docker/metadata-action@v4
|
||||||
with:
|
with:
|
||||||
images: misskey/misskey
|
images: misskey/misskey
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
- name: Build and Push to Docker Hub
|
- name: Build and Push to Docker Hub
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
|
platforms: ${{ steps.buildx.outputs.platforms }}
|
||||||
|
provenance: false
|
||||||
tags: misskey/misskey:develop
|
tags: misskey/misskey:develop
|
||||||
labels: develop
|
labels: develop
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|||||||
25
.github/workflows/docker.yml
vendored
25
.github/workflows/docker.yml
vendored
@@ -12,21 +12,38 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3.3.0
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v2.3.0
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v3
|
uses: docker/metadata-action@v4
|
||||||
with:
|
with:
|
||||||
images: misskey/misskey
|
images: misskey/misskey
|
||||||
|
tags: |
|
||||||
|
type=edge
|
||||||
|
type=ref,event=pr
|
||||||
|
type=ref,event=branch
|
||||||
|
type=semver,pattern={{version}}
|
||||||
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
|
type=semver,pattern={{major}}
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
- name: Build and Push to Docker Hub
|
- name: Build and Push to Docker Hub
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
|
platforms: ${{ steps.buildx.outputs.platforms }}
|
||||||
|
provenance: false
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|||||||
30
.github/workflows/dockle.yml
vendored
Normal file
30
.github/workflows/dockle.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: Dockle
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
dockle:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DOCKER_CONTENT_TRUST: 1
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.2.0
|
||||||
|
- run: |
|
||||||
|
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v0.4.10/dockle_0.4.10_Linux-64bit.deb"
|
||||||
|
sudo dpkg -i dockle.deb
|
||||||
|
- run: |
|
||||||
|
cp .config/docker_example.env .config/docker.env
|
||||||
|
cp ./docker-compose.yml.example ./docker-compose.yml
|
||||||
|
- run: |
|
||||||
|
docker compose up -d web
|
||||||
|
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
|
||||||
|
- run: |
|
||||||
|
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
|
||||||
|
echo "> ${cmd}"
|
||||||
|
eval "${cmd}"
|
||||||
16
.github/workflows/labeler.yml
vendored
Normal file
16
.github/workflows/labeler.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: "Pull Request Labeler"
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
branches-ignore:
|
||||||
|
- 'l10n_develop'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
triage:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: write
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/labeler@v4
|
||||||
|
with:
|
||||||
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
74
.github/workflows/lint.yml
vendored
74
.github/workflows/lint.yml
vendored
@@ -8,18 +8,74 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
pnpm_install:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3.3.0
|
||||||
with:
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- uses: actions/setup-node@v1
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
with:
|
||||||
node-version: 12.x
|
version: 8
|
||||||
- uses: actions/cache@v2
|
run_install: false
|
||||||
|
- uses: actions/setup-node@v3.6.0
|
||||||
with:
|
with:
|
||||||
path: '**/node_modules'
|
node-version-file: '.node-version'
|
||||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
cache: 'pnpm'
|
||||||
- run: yarn install
|
- run: corepack enable
|
||||||
- run: yarn lint
|
- run: pnpm i --frozen-lockfile
|
||||||
|
|
||||||
|
lint:
|
||||||
|
needs: [pnpm_install]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
workspace:
|
||||||
|
- backend
|
||||||
|
- frontend
|
||||||
|
- sw
|
||||||
|
- misskey-js
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
- uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version-file: '.node-version'
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- run: pnpm --filter ${{ matrix.workspace }} run eslint
|
||||||
|
|
||||||
|
typecheck:
|
||||||
|
needs: [pnpm_install]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
workspace:
|
||||||
|
- backend
|
||||||
|
- misskey-js
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
- uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version-file: '.node-version'
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|
||||||
|
|||||||
36
.github/workflows/ok-to-test.yml
vendored
Normal file
36
.github/workflows/ok-to-test.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# If someone with write access comments "/ok-to-test" on a pull request, emit a repository_dispatch event
|
||||||
|
name: Ok To Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ok-to-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Only run for PRs, not issue comments
|
||||||
|
if: ${{ github.event.issue.pull_request }}
|
||||||
|
steps:
|
||||||
|
# Generate a GitHub App installation access token from an App ID and private key
|
||||||
|
# To create a new GitHub App:
|
||||||
|
# https://developer.github.com/apps/building-github-apps/creating-a-github-app/
|
||||||
|
# See app.yml for an example app manifest
|
||||||
|
- name: Generate token
|
||||||
|
id: generate_token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.DEPLOYBOT_APP_ID }}
|
||||||
|
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Slash Command Dispatch
|
||||||
|
uses: peter-evans/slash-command-dispatch@v1
|
||||||
|
env:
|
||||||
|
TOKEN: ${{ steps.generate_token.outputs.token }}
|
||||||
|
with:
|
||||||
|
token: ${{ env.TOKEN }} # GitHub App installation access token
|
||||||
|
# token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT or OAuth token will also work
|
||||||
|
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-type: pull-request
|
||||||
|
commands: deploy
|
||||||
|
named-args: true
|
||||||
|
permission: write
|
||||||
92
.github/workflows/pr-preview-deploy.yml
vendored
Normal file
92
.github/workflows/pr-preview-deploy.yml
vendored
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
# Run secret-dependent integration tests only after /deploy approval
|
||||||
|
on:
|
||||||
|
repository_dispatch:
|
||||||
|
types: [deploy-command]
|
||||||
|
|
||||||
|
name: Deploy preview environment
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Repo owner has commented /deploy on a (fork-based) pull request
|
||||||
|
deploy-preview-environment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if:
|
||||||
|
github.event.client_payload.slash_command.sha != '' &&
|
||||||
|
contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha)
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@v6.3.3
|
||||||
|
id: check-id
|
||||||
|
env:
|
||||||
|
number: ${{ github.event.client_payload.pull_request.number }}
|
||||||
|
job: ${{ github.job }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
result-encoding: string
|
||||||
|
script: |
|
||||||
|
const { data: pull } = await github.rest.pulls.get({
|
||||||
|
...context.repo,
|
||||||
|
pull_number: process.env.number
|
||||||
|
});
|
||||||
|
const ref = pull.head.sha;
|
||||||
|
|
||||||
|
const { data: checks } = await github.rest.checks.listForRef({
|
||||||
|
...context.repo,
|
||||||
|
ref
|
||||||
|
});
|
||||||
|
|
||||||
|
const check = checks.check_runs.filter(c => c.name === process.env.job);
|
||||||
|
|
||||||
|
return check[0].id;
|
||||||
|
|
||||||
|
- uses: actions/github-script@v6.3.3
|
||||||
|
env:
|
||||||
|
check_id: ${{ steps.check-id.outputs.result }}
|
||||||
|
details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
await github.rest.checks.update({
|
||||||
|
...context.repo,
|
||||||
|
check_run_id: process.env.check_id,
|
||||||
|
status: 'in_progress',
|
||||||
|
details_url: process.env.details_url
|
||||||
|
});
|
||||||
|
|
||||||
|
# Check out merge commit
|
||||||
|
- name: Fork based /deploy checkout
|
||||||
|
uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
|
||||||
|
|
||||||
|
# <insert integration tests needing secrets>
|
||||||
|
- name: Context
|
||||||
|
uses: okteto/context@latest
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.OKTETO_TOKEN }}
|
||||||
|
|
||||||
|
- name: Deploy preview environment
|
||||||
|
uses: ikuradon/deploy-preview@latest
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
name: pr-${{ github.event.client_payload.pull_request.number }}-syuilo
|
||||||
|
timeout: 15m
|
||||||
|
|
||||||
|
# Update check run called "integration-fork"
|
||||||
|
- uses: actions/github-script@v6.3.3
|
||||||
|
id: update-check-run
|
||||||
|
if: ${{ always() }}
|
||||||
|
env:
|
||||||
|
# Conveniently, job.status maps to https://developer.github.com/v3/checks/runs/#update-a-check-run
|
||||||
|
conclusion: ${{ job.status }}
|
||||||
|
check_id: ${{ steps.check-id.outputs.result }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { data: result } = await github.rest.checks.update({
|
||||||
|
...context.repo,
|
||||||
|
check_run_id: process.env.check_id,
|
||||||
|
status: 'completed',
|
||||||
|
conclusion: process.env.conclusion
|
||||||
|
});
|
||||||
|
|
||||||
|
return result;
|
||||||
54
.github/workflows/pr-preview-destroy.yml
vendored
Normal file
54
.github/workflows/pr-preview-destroy.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# file: .github/workflows/preview-closed.yaml
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
|
||||||
|
name: Destroy preview environment
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
destroy-preview-environment:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@v6.3.3
|
||||||
|
id: check-conclusion
|
||||||
|
env:
|
||||||
|
number: ${{ github.event.number }}
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
result-encoding: string
|
||||||
|
script: |
|
||||||
|
const { data: pull } = await github.rest.pulls.get({
|
||||||
|
...context.repo,
|
||||||
|
pull_number: process.env.number
|
||||||
|
});
|
||||||
|
const ref = pull.head.sha;
|
||||||
|
|
||||||
|
const { data: checks } = await github.rest.checks.listForRef({
|
||||||
|
...context.repo,
|
||||||
|
ref
|
||||||
|
});
|
||||||
|
|
||||||
|
const check = checks.check_runs.filter(c => c.name === 'deploy-preview-environment');
|
||||||
|
|
||||||
|
if (check.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { data: result } = await github.rest.checks.get({
|
||||||
|
...context.repo,
|
||||||
|
check_run_id: check[0].id,
|
||||||
|
});
|
||||||
|
|
||||||
|
return result.conclusion;
|
||||||
|
- name: Context
|
||||||
|
if: steps.check-conclusion.outputs.result == 'success'
|
||||||
|
uses: okteto/context@latest
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.OKTETO_TOKEN }}
|
||||||
|
|
||||||
|
- name: Destroy preview environment
|
||||||
|
if: steps.check-conclusion.outputs.result == 'success'
|
||||||
|
uses: okteto/destroy-preview@latest
|
||||||
|
with:
|
||||||
|
name: pr-${{ github.event.number }}-syuilo
|
||||||
13
.github/workflows/reviewer_lottery.yml
vendored
Normal file
13
.github/workflows/reviewer_lottery.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
name: "Reviewer lottery"
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened, ready_for_review, reopened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- uses: uesteibar/reviewer-lottery@v2
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
112
.github/workflows/storybook.yml
vendored
Normal file
112
.github/workflows/storybook.yml
vendored
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
name: Storybook
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request_target:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
NODE_OPTIONS: "--max_old_space_size=7168"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
if: github.event_name != 'pull_request_target'
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
if: github.event_name == 'pull_request_target'
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
ref: "refs/pull/${{ github.event.number }}/merge"
|
||||||
|
- name: Checkout actual HEAD
|
||||||
|
if: github.event_name == 'pull_request_target'
|
||||||
|
id: rev
|
||||||
|
run: |
|
||||||
|
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
|
||||||
|
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
run_install: false
|
||||||
|
- name: Use Node.js 20.x
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version-file: '.node-version'
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- name: Check pnpm-lock.yaml
|
||||||
|
run: git diff --exit-code pnpm-lock.yaml
|
||||||
|
- name: Build misskey-js
|
||||||
|
run: pnpm --filter misskey-js build
|
||||||
|
- name: Build storybook
|
||||||
|
run: pnpm --filter frontend build-storybook
|
||||||
|
- name: Publish to Chromatic
|
||||||
|
if: github.event_name != 'pull_request_target' && github.ref == 'refs/heads/master'
|
||||||
|
run: pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static
|
||||||
|
env:
|
||||||
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||||
|
- name: Publish to Chromatic
|
||||||
|
if: github.event_name != 'pull_request_target' && github.ref != 'refs/heads/master'
|
||||||
|
id: chromatic_push
|
||||||
|
run: |
|
||||||
|
DIFF="${{ github.event.before }} HEAD"
|
||||||
|
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
|
||||||
|
DIFF="HEAD"
|
||||||
|
fi
|
||||||
|
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
|
||||||
|
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
|
||||||
|
echo "skip=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
if pnpm --filter frontend chromatic -d storybook-static $(echo "$CHROMATIC_PARAMETER"); then
|
||||||
|
echo "success=true" >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo "success=false" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
env:
|
||||||
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||||
|
- name: Publish to Chromatic
|
||||||
|
if: github.event_name == 'pull_request_target'
|
||||||
|
id: chromatic_pull_request
|
||||||
|
run: |
|
||||||
|
DIFF="${{ steps.rev.outputs.base }} HEAD"
|
||||||
|
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
|
||||||
|
DIFF="HEAD"
|
||||||
|
fi
|
||||||
|
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
|
||||||
|
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
|
||||||
|
echo "skip=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
BRANCH="${{ github.event.pull_request.head.user.login }}:${{ github.event.pull_request.head.ref }}"
|
||||||
|
if [ "$BRANCH" = "misskey-dev:${{ github.event.pull_request.head.ref }}" ]; then
|
||||||
|
BRANCH="${{ github.event.pull_request.head.ref }}"
|
||||||
|
fi
|
||||||
|
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name $BRANCH $(echo "$CHROMATIC_PARAMETER")
|
||||||
|
env:
|
||||||
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||||
|
- name: Notify that Chromatic detects changes
|
||||||
|
uses: actions/github-script@v6.4.0
|
||||||
|
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
github.rest.repos.createCommitComment({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
commit_sha: context.sha,
|
||||||
|
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
|
||||||
|
})
|
||||||
|
- name: Upload Artifacts
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: storybook
|
||||||
|
path: packages/frontend/storybook-static
|
||||||
59
.github/workflows/test-backend.yml
vendored
Normal file
59
.github/workflows/test-backend.yml
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
name: Test (backend)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
jest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [20.x]
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:13
|
||||||
|
ports:
|
||||||
|
- 54312:5432
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: test-misskey
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
ports:
|
||||||
|
- 56312:6379
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
run_install: false
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- name: Check pnpm-lock.yaml
|
||||||
|
run: git diff --exit-code pnpm-lock.yaml
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
|
- name: Test
|
||||||
|
run: pnpm jest-and-coverage
|
||||||
|
- name: Upload Coverage
|
||||||
|
uses: codecov/codecov-action@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
files: ./packages/backend/coverage/coverage-final.json
|
||||||
120
.github/workflows/test-frontend.yml
vendored
Normal file
120
.github/workflows/test-frontend.yml
vendored
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
name: Test (frontend)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
vitest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [20.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
run_install: false
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- name: Check pnpm-lock.yaml
|
||||||
|
run: git diff --exit-code pnpm-lock.yaml
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter frontend test-and-coverage
|
||||||
|
- name: Upload Coverage
|
||||||
|
uses: codecov/codecov-action@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
files: ./packages/frontend/coverage/coverage-final.json
|
||||||
|
|
||||||
|
e2e:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
node-version: [20.x]
|
||||||
|
browser: [chrome]
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:13
|
||||||
|
ports:
|
||||||
|
- 54312:5432
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: test-misskey
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
ports:
|
||||||
|
- 56312:6379
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
# https://github.com/cypress-io/cypress-docker-images/issues/150
|
||||||
|
#- name: Install mplayer for FireFox
|
||||||
|
# run: sudo apt install mplayer -y
|
||||||
|
# if: ${{ matrix.browser == 'firefox' }}
|
||||||
|
#- uses: browser-actions/setup-firefox@latest
|
||||||
|
# if: ${{ matrix.browser == 'firefox' }}
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 7
|
||||||
|
run_install: false
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
|
# https://github.com/cypress-io/cypress/issues/4351#issuecomment-559489091
|
||||||
|
- name: ALSA Env
|
||||||
|
run: echo -e 'pcm.!default {\n type hw\n card 0\n}\n\nctl.!default {\n type hw\n card 0\n}' > ~/.asoundrc
|
||||||
|
# XXX: This tries reinstalling Cypress if the binary is not cached
|
||||||
|
# Remove this when the cache issue is fixed
|
||||||
|
- name: Cypress install
|
||||||
|
run: pnpm exec cypress install
|
||||||
|
- name: Cypress run
|
||||||
|
uses: cypress-io/github-action@v5
|
||||||
|
with:
|
||||||
|
install: false
|
||||||
|
start: pnpm start:test
|
||||||
|
wait-on: 'http://localhost:61812'
|
||||||
|
headed: true
|
||||||
|
browser: ${{ matrix.browser }}
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.browser }}-cypress-screenshots
|
||||||
|
path: cypress/screenshots
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.browser }}-cypress-videos
|
||||||
|
path: cypress/videos
|
||||||
52
.github/workflows/test-misskey-js.yml
vendored
Normal file
52
.github/workflows/test-misskey-js.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||||
|
|
||||||
|
name: Test (misskey.js)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ develop ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ develop ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [20.x]
|
||||||
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3.3.0
|
||||||
|
|
||||||
|
- run: corepack enable
|
||||||
|
|
||||||
|
- name: Setup Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'pnpm'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm i --frozen-lockfile
|
||||||
|
|
||||||
|
- name: Check pnpm-lock.yaml
|
||||||
|
run: git diff --exit-code pnpm-lock.yaml
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: pnpm --filter misskey-js build
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter misskey-js test
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
|
- name: Upload Coverage
|
||||||
|
uses: codecov/codecov-action@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
files: ./packages/misskey-js/coverage/coverage-final.json
|
||||||
42
.github/workflows/test-production.yml
vendored
Normal file
42
.github/workflows/test-production.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: Test (production install and build)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
NODE_ENV: production
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
production:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [20.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3.3.0
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
run_install: false
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3.6.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'pnpm'
|
||||||
|
- run: corepack enable
|
||||||
|
- run: pnpm i --frozen-lockfile
|
||||||
|
- name: Check pnpm-lock.yaml
|
||||||
|
run: git diff --exit-code pnpm-lock.yaml
|
||||||
|
- name: Copy Configure
|
||||||
|
run: cp .github/misskey/test.yml .config/default.yml
|
||||||
|
- name: Build
|
||||||
|
run: pnpm build
|
||||||
118
.github/workflows/test.yml
vendored
118
.github/workflows/test.yml
vendored
@@ -1,118 +0,0 @@
|
|||||||
name: Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
mocha:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [16.x]
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:13
|
|
||||||
ports:
|
|
||||||
- 54312:5432
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: test-misskey
|
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
|
||||||
redis:
|
|
||||||
image: redis:6
|
|
||||||
ports:
|
|
||||||
- 56312:6379
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
- name: Check yarn.lock
|
|
||||||
run: git diff --exit-code yarn.lock
|
|
||||||
- name: Copy Configure
|
|
||||||
run: cp .github/misskey/test.yml .config
|
|
||||||
- name: Build
|
|
||||||
run: yarn build
|
|
||||||
- name: Test
|
|
||||||
run: yarn mocha
|
|
||||||
|
|
||||||
e2e:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
node-version: [16.x]
|
|
||||||
browser: [chrome]
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:13
|
|
||||||
ports:
|
|
||||||
- 54312:5432
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: test-misskey
|
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
|
||||||
redis:
|
|
||||||
image: redis:6
|
|
||||||
ports:
|
|
||||||
- 56312:6379
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
# https://github.com/cypress-io/cypress-docker-images/issues/150
|
|
||||||
#- name: Install mplayer for FireFox
|
|
||||||
# run: sudo apt install mplayer -y
|
|
||||||
# if: ${{ matrix.browser == 'firefox' }}
|
|
||||||
#- uses: browser-actions/setup-firefox@latest
|
|
||||||
# if: ${{ matrix.browser == 'firefox' }}
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: '**/node_modules'
|
|
||||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
|
||||||
- name: Install dependencies
|
|
||||||
run: yarn install
|
|
||||||
- name: Check yarn.lock
|
|
||||||
run: git diff --exit-code yarn.lock
|
|
||||||
- name: Copy Configure
|
|
||||||
run: cp .github/misskey/test.yml .config
|
|
||||||
- name: Build
|
|
||||||
run: yarn build
|
|
||||||
# https://github.com/cypress-io/cypress/issues/4351#issuecomment-559489091
|
|
||||||
- name: ALSA Env
|
|
||||||
run: echo -e 'pcm.!default {\n type hw\n card 0\n}\n\nctl.!default {\n type hw\n card 0\n}' > ~/.asoundrc
|
|
||||||
- name: Cypress run
|
|
||||||
uses: cypress-io/github-action@v2
|
|
||||||
with:
|
|
||||||
install: false
|
|
||||||
start: npm run start:test
|
|
||||||
wait-on: 'http://localhost:61812'
|
|
||||||
headless: false
|
|
||||||
browser: ${{ matrix.browser }}
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.browser }}-cypress-screenshots
|
|
||||||
path: cypress/screenshots
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.browser }}-cypress-videos
|
|
||||||
path: cypress/videos
|
|
||||||
27
.gitignore
vendored
27
.gitignore
vendored
@@ -9,14 +9,34 @@
|
|||||||
node_modules
|
node_modules
|
||||||
report.*.json
|
report.*.json
|
||||||
|
|
||||||
|
# Yarn
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/sdks
|
||||||
|
!.yarn/versions
|
||||||
|
packages/frontend/.yarn/cache
|
||||||
|
packages/backend/.yarn/cache
|
||||||
|
packages/sw/.yarn/cache
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
.pnpm-store
|
||||||
|
|
||||||
# Cypress
|
# Cypress
|
||||||
cypress/screenshots
|
cypress/screenshots
|
||||||
cypress/videos
|
cypress/videos
|
||||||
|
|
||||||
|
# Coverage
|
||||||
|
coverage
|
||||||
|
|
||||||
# config
|
# config
|
||||||
/.config/*
|
/.config/*
|
||||||
!/.config/example.yml
|
!/.config/example.yml
|
||||||
|
!/.config/docker_example.yml
|
||||||
!/.config/docker_example.env
|
!/.config/docker_example.env
|
||||||
|
docker-compose.yml
|
||||||
|
!/.devcontainer/docker-compose.yml
|
||||||
|
|
||||||
# misskey
|
# misskey
|
||||||
/build
|
/build
|
||||||
@@ -24,7 +44,7 @@ built
|
|||||||
/data
|
/data
|
||||||
/.cache-loader
|
/.cache-loader
|
||||||
/db
|
/db
|
||||||
/elasticsearch
|
/meili_data
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
*.pem
|
*.pem
|
||||||
run.bat
|
run.bat
|
||||||
@@ -35,6 +55,8 @@ api-docs.json
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
/files
|
/files
|
||||||
ormconfig.json
|
ormconfig.json
|
||||||
|
temp
|
||||||
|
/packages/frontend/src/**/*.stories.ts
|
||||||
|
|
||||||
# blender backups
|
# blender backups
|
||||||
*.blend1
|
*.blend1
|
||||||
@@ -42,3 +64,6 @@ ormconfig.json
|
|||||||
*.blend3
|
*.blend3
|
||||||
*.blend4
|
*.blend4
|
||||||
*.blend5
|
*.blend5
|
||||||
|
|
||||||
|
# VSCode addon
|
||||||
|
.favorites.json
|
||||||
|
|||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
|||||||
[submodule "misskey-assets"]
|
[submodule "misskey-assets"]
|
||||||
path = misskey-assets
|
path = misskey-assets
|
||||||
url = https://github.com/misskey-dev/assets.git
|
url = https://github.com/misskey-dev/assets.git
|
||||||
|
[submodule "fluent-emojis"]
|
||||||
|
path = fluent-emojis
|
||||||
|
url = https://github.com/misskey-dev/emojis.git
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v16.13.2
|
20.3.1
|
||||||
|
|||||||
6
.okteto/okteto-pipeline.yml
Normal file
6
.okteto/okteto-pipeline.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
build:
|
||||||
|
misskey:
|
||||||
|
args:
|
||||||
|
- NODE_ENV=development
|
||||||
|
deploy:
|
||||||
|
- helm upgrade --install misskey chart --set image=${OKTETO_BUILD_MISSKEY_IMAGE} --set url="https://misskey-$(kubectl config view --minify -o jsonpath='{..namespace}').cloud.okteto.net" --set environment=development
|
||||||
7
.vscode/extensions.json
vendored
7
.vscode/extensions.json
vendored
@@ -1,8 +1,11 @@
|
|||||||
{
|
{
|
||||||
"recommendations": [
|
"recommendations": [
|
||||||
"editorconfig.editorconfig",
|
"editorconfig.editorconfig",
|
||||||
"eg2.vscode-npm-script",
|
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"johnsoncodehk.volar",
|
"Vue.volar",
|
||||||
|
"Vue.vscode-typescript-vue-plugin",
|
||||||
|
"Orta.vscode-jest",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"mrmlnc.vscode-json5"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
11
.vscode/settings.json
vendored
Normal file
11
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"search.exclude": {
|
||||||
|
"**/node_modules": true
|
||||||
|
},
|
||||||
|
"typescript.tsdk": "node_modules/typescript/lib",
|
||||||
|
"files.associations": {
|
||||||
|
"*.test.ts": "typescript"
|
||||||
|
},
|
||||||
|
"jest.jestCommandLine": "pnpm run jest",
|
||||||
|
"jest.autoRun": "off"
|
||||||
|
}
|
||||||
1293
CHANGELOG.md
1293
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
261
CONTRIBUTING.md
261
CONTRIBUTING.md
@@ -1,17 +1,24 @@
|
|||||||
# Contribution guide
|
# Contribution guide
|
||||||
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
|
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
|
||||||
|
|
||||||
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
> **Note**
|
||||||
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
> This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||||
The accuracy of machine translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
|
> Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||||
It will also allow the reader to use the translation tool of their preference if necessary.
|
> The accuracy of machine translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
|
||||||
|
> It will also allow the reader to use the translation tool of their preference if necessary.
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
See [ROADMAP.md](./ROADMAP.md)
|
||||||
|
|
||||||
## Issues
|
## Issues
|
||||||
Before creating an issue, please check the following:
|
Before creating an issue, please check the following:
|
||||||
- To avoid duplication, please search for similar issues before creating a new issue.
|
- To avoid duplication, please search for similar issues before creating a new issue.
|
||||||
- Do not use Issues to ask questions or troubleshooting.
|
- Do not use Issues to ask questions or troubleshooting.
|
||||||
- Issues should only be used to feature requests, suggestions, and bug tracking.
|
- Issues should only be used to feature requests, suggestions, and bug tracking.
|
||||||
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
|
- Please ask questions or troubleshooting in ~~the [Misskey Forum](https://forum.misskey.io/)~~ [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||||
|
|
||||||
|
> **Warning**
|
||||||
|
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
|
||||||
|
|
||||||
## Before implementation
|
## Before implementation
|
||||||
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
|
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
|
||||||
@@ -37,7 +44,7 @@ Thank you for your PR! Before creating a PR, please check the following:
|
|||||||
- Check if there are any documents that need to be created or updated due to this change.
|
- Check if there are any documents that need to be created or updated due to this change.
|
||||||
- If you have added a feature or fixed a bug, please add a test case if possible.
|
- If you have added a feature or fixed a bug, please add a test case if possible.
|
||||||
- Please make sure that tests and Lint are passed in advance.
|
- Please make sure that tests and Lint are passed in advance.
|
||||||
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
|
- You can run it with `pnpm test` and `pnpm lint`. [See more info](#testing)
|
||||||
- If this PR includes UI changes, please attach a screenshot in the text.
|
- If this PR includes UI changes, please attach a screenshot in the text.
|
||||||
|
|
||||||
Thanks for your cooperation 🤗
|
Thanks for your cooperation 🤗
|
||||||
@@ -59,6 +66,35 @@ Be willing to comment on the good points and not just the things you want fixed
|
|||||||
- Are there any omissions or gaps?
|
- Are there any omissions or gaps?
|
||||||
- Does it check for anomalies?
|
- Does it check for anomalies?
|
||||||
|
|
||||||
|
## Deploy
|
||||||
|
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
|
||||||
|
```
|
||||||
|
/deploy sha=<commit hash>
|
||||||
|
```
|
||||||
|
An actual domain will be assigned so you can test the federation.
|
||||||
|
|
||||||
|
## Merge
|
||||||
|
|
||||||
|
## Release
|
||||||
|
### Release Instructions
|
||||||
|
1. Commit version changes in the `develop` branch ([package.json](https://github.com/misskey-dev/misskey/blob/develop/package.json))
|
||||||
|
2. Create a release PR.
|
||||||
|
- Into `master` from `develop` branch.
|
||||||
|
- The title must be in the format `Release: x.y.z`.
|
||||||
|
- `x.y.z` is the new version you are trying to release.
|
||||||
|
3. Deploy and perform a simple QA check. Also verify that the tests passed.
|
||||||
|
4. Merge it. (Do not squash commit)
|
||||||
|
5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases)
|
||||||
|
- The target branch must be `master`
|
||||||
|
- The tag name must be the version
|
||||||
|
|
||||||
|
> **Note**
|
||||||
|
> Why this instruction is necessary:
|
||||||
|
> - To perform final QA checks
|
||||||
|
> - To distribute responsibility
|
||||||
|
> - To check direct commits to develop
|
||||||
|
> - To celebrate the release together 🎉
|
||||||
|
|
||||||
## Localization (l10n)
|
## Localization (l10n)
|
||||||
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
||||||
You can improve our translations with your Crowdin account.
|
You can improve our translations with your Crowdin account.
|
||||||
@@ -70,37 +106,70 @@ If your language is not listed in Crowdin, please open an issue.
|
|||||||

|

|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
During development, it is useful to use the `npm run dev` command.
|
During development, it is useful to use the
|
||||||
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
|
|
||||||
In addition, it will also automatically start the Misskey server process.
|
```
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
|
command.
|
||||||
|
|
||||||
|
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
|
||||||
|
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
|
||||||
|
- Service Worker is watched by esbuild.
|
||||||
|
|
||||||
|
### Dev Container
|
||||||
|
Instead of running `pnpm` locally, you can use Dev Container to set up your development environment.
|
||||||
|
To use Dev Container, open the project directory on VSCode with Dev Containers installed.
|
||||||
|
**Note:** If you are using Windows, please clone the repository with WSL. Using Git for Windows will result in broken files due to the difference in how newlines are handled.
|
||||||
|
|
||||||
|
It will run the following command automatically inside the container.
|
||||||
|
``` bash
|
||||||
|
git submodule update --init
|
||||||
|
pnpm install --frozen-lockfile
|
||||||
|
cp .devcontainer/devcontainer.yml .config/default.yml
|
||||||
|
pnpm build
|
||||||
|
pnpm migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
After finishing the migration, run the `pnpm dev` command to start the development server.
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
- Test codes are located in [`/test`](/test).
|
- Test codes are located in [`/packages/backend/test`](/packages/backend/test).
|
||||||
|
|
||||||
### Run test
|
### Run test
|
||||||
Create a config file.
|
Create a config file.
|
||||||
```
|
```
|
||||||
cp test/test.yml .config/
|
cp .github/misskey/test.yml .config/
|
||||||
```
|
```
|
||||||
Prepare DB/Redis for testing.
|
Prepare DB/Redis for testing.
|
||||||
```
|
```
|
||||||
docker-compose -f test/docker-compose.yml up
|
docker compose -f packages/backend/test/docker-compose.yml up
|
||||||
```
|
```
|
||||||
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
|
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
|
||||||
|
|
||||||
Run all test.
|
Run all test.
|
||||||
```
|
```
|
||||||
npm run test
|
pnpm test
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Run specify test
|
#### Run specify test
|
||||||
```
|
```
|
||||||
npx cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT="./test/tsconfig.json" npx mocha test/foo.ts --require ts-node/register
|
pnpm jest -- foo.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
### e2e tests
|
### e2e tests
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
|
## Environment Variable
|
||||||
|
|
||||||
|
- `MISSKEY_CONFIG_YML`: Specify the file path of config.yml instead of default.yml (e.g. `2nd.yml`).
|
||||||
|
- `MISSKEY_WEBFINGER_USE_HTTP`: If it's set true, WebFinger requests will be http instead of https, useful for testing federation between servers in localhost. NEVER USE IN PRODUCTION.
|
||||||
|
|
||||||
## Continuous integration
|
## Continuous integration
|
||||||
Misskey uses GitHub Actions for executing automated tests.
|
Misskey uses GitHub Actions for executing automated tests.
|
||||||
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
||||||
@@ -111,10 +180,130 @@ Misskey uses Vue(v3) as its front-end framework.
|
|||||||
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
|
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
|
||||||
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
|
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
|
||||||
|
|
||||||
## Notes
|
## nirax
|
||||||
### How to resolve conflictions occurred at yarn.lock?
|
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
|
||||||
|
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
|
||||||
|
|
||||||
Just execute `yarn` to fix it.
|
### ルート定義
|
||||||
|
ルート定義は、以下の形式のオブジェクトの配列です。
|
||||||
|
|
||||||
|
``` ts
|
||||||
|
{
|
||||||
|
name?: string;
|
||||||
|
path: string;
|
||||||
|
component: Component;
|
||||||
|
query?: Record<string, string>;
|
||||||
|
loginRequired?: boolean;
|
||||||
|
hash?: string;
|
||||||
|
globalCacheKey?: string;
|
||||||
|
children?: RouteDef[];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Warning**
|
||||||
|
> 現状、ルートは定義された順に評価されます。
|
||||||
|
> たとえば、`/foo/:id`ルート定義の次に`/foo/bar`ルート定義がされていた場合、後者がマッチすることはありません。
|
||||||
|
|
||||||
|
### 複数のルーター
|
||||||
|
vue-routerとの最大の違いは、niraxは複数のルーターが存在することを許可している点です。
|
||||||
|
これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。
|
||||||
|
|
||||||
|
## Storybook
|
||||||
|
|
||||||
|
Misskey uses [Storybook](https://storybook.js.org/) for UI development.
|
||||||
|
|
||||||
|
### Setup & Run
|
||||||
|
|
||||||
|
#### Setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter misskey-js build
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --filter frontend storybook-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
When you create a new component (in this example, `MyComponent.vue`), the story file (`MyComponent.stories.ts`) will be automatically generated by the `.storybook/generate.js` script.
|
||||||
|
You can override the default story by creating a impl story file (`MyComponent.stories.impl.ts`).
|
||||||
|
|
||||||
|
```ts
|
||||||
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
||||||
|
import { StoryObj } from '@storybook/vue3';
|
||||||
|
import MyComponent from './MyComponent.vue';
|
||||||
|
export const Default = {
|
||||||
|
render(args) {
|
||||||
|
return {
|
||||||
|
components: {
|
||||||
|
MyComponent,
|
||||||
|
},
|
||||||
|
setup() {
|
||||||
|
return {
|
||||||
|
args,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
props() {
|
||||||
|
return {
|
||||||
|
...this.args,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
template: '<MyComponent v-bind="props" />',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
args: {
|
||||||
|
foo: 'bar',
|
||||||
|
},
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
|
} satisfies StoryObj<typeof MkAvatar>;
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file.
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import MyComponent from './MyComponent.vue';
|
||||||
|
void MyComponent;
|
||||||
|
```
|
||||||
|
|
||||||
|
You can override the component meta by creating a meta story file (`MyComponent.stories.meta.ts`).
|
||||||
|
|
||||||
|
```ts
|
||||||
|
export const argTypes = {
|
||||||
|
scale: {
|
||||||
|
control: {
|
||||||
|
type: 'range',
|
||||||
|
min: 1,
|
||||||
|
max: 4,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { rest } from 'msw';
|
||||||
|
export const handlers = [
|
||||||
|
rest.post('/api/notes/timeline', (req, res, ctx) => {
|
||||||
|
return res(
|
||||||
|
ctx.json([]),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
### How to resolve conflictions occurred at pnpm-lock.yaml?
|
||||||
|
|
||||||
|
Just execute `pnpm` to fix it.
|
||||||
|
|
||||||
### INSERTするときにはsaveではなくinsertを使用する
|
### INSERTするときにはsaveではなくinsertを使用する
|
||||||
#6441
|
#6441
|
||||||
@@ -193,16 +382,40 @@ SQLでは配列のインデックスは**1始まり**。
|
|||||||
### null IN
|
### null IN
|
||||||
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
|
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
|
||||||
|
|
||||||
### `undefined`にご用心
|
### enumの削除は気をつける
|
||||||
MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
|
enumの列挙の内容の削除は、その値をもつレコードを全て削除しないといけない
|
||||||
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
|
|
||||||
|
削除が重たかったり不可能だったりする場合は、削除しないでおく
|
||||||
|
|
||||||
### Migration作成方法
|
### Migration作成方法
|
||||||
```
|
packages/backendで:
|
||||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
|
```sh
|
||||||
|
pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
|
||||||
```
|
```
|
||||||
|
|
||||||
作成されたスクリプトは不必要な変更を含むため除去してください。
|
- 生成後、ファイルをmigration下に移してください
|
||||||
|
- 作成されたスクリプトは不必要な変更を含むため除去してください
|
||||||
|
|
||||||
|
### JSON SchemaのobjectでanyOfを使うとき
|
||||||
|
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
|
||||||
|
バリデーションが効かないため。(SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます)
|
||||||
|
https://github.com/misskey-dev/misskey/pull/10082
|
||||||
|
|
||||||
|
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
|
||||||
|
|
||||||
|
```
|
||||||
|
export const paramDef = {
|
||||||
|
type: 'object',
|
||||||
|
properties: {
|
||||||
|
hoge: { type: 'string', minLength: 1 },
|
||||||
|
fuga: { type: 'string', minLength: 1 },
|
||||||
|
},
|
||||||
|
anyOf: [
|
||||||
|
{ required: ['hoge'] },
|
||||||
|
{ required: ['fuga'] },
|
||||||
|
],
|
||||||
|
} as const;
|
||||||
|
```
|
||||||
|
|
||||||
### コネクションには`markRaw`せよ
|
### コネクションには`markRaw`せよ
|
||||||
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
||||||
|
|||||||
6
COPYING
6
COPYING
@@ -1,5 +1,5 @@
|
|||||||
Unless otherwise stated this repository is
|
Unless otherwise stated this repository is
|
||||||
Copyright © 2014-2020 syuilo and contributers
|
Copyright © 2014-2023 syuilo and contributers
|
||||||
|
|
||||||
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
|
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
|
||||||
|
|
||||||
@@ -13,3 +13,7 @@ https://github.com/muan/emojilib/blob/master/LICENSE
|
|||||||
RsaSignature2017 implementation by Transmute Industries Inc
|
RsaSignature2017 implementation by Transmute Industries Inc
|
||||||
License: MIT
|
License: MIT
|
||||||
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE
|
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE
|
||||||
|
|
||||||
|
Machine learning model for sensitive images by Infinite Red, Inc.
|
||||||
|
License: MIT
|
||||||
|
https://github.com/infinitered/nsfwjs/blob/master/LICENSE
|
||||||
|
|||||||
96
Dockerfile
96
Dockerfile
@@ -1,35 +1,87 @@
|
|||||||
FROM node:16.13.2-alpine3.15 AS base
|
# syntax = docker/dockerfile:1.4
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
ARG NODE_VERSION=20.3.1-bullseye
|
||||||
|
|
||||||
|
# build assets & compile TypeScript
|
||||||
|
|
||||||
|
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||||
|
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||||
|
rm -f /etc/apt/apt.conf.d/docker-clean \
|
||||||
|
; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -yqq --no-install-recommends \
|
||||||
|
build-essential
|
||||||
|
|
||||||
|
RUN corepack enable
|
||||||
|
|
||||||
WORKDIR /misskey
|
WORKDIR /misskey
|
||||||
|
|
||||||
ENV BUILD_DEPS autoconf automake file g++ gcc libc-dev libtool make nasm pkgconfig python3 zlib-dev git
|
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||||
|
COPY --link ["scripts", "./scripts"]
|
||||||
|
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||||
|
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
|
||||||
|
COPY --link ["packages/sw/package.json", "./packages/sw/"]
|
||||||
|
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
||||||
|
|
||||||
FROM base AS builder
|
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||||
|
pnpm i --frozen-lockfile --aggregate-output
|
||||||
|
|
||||||
COPY . ./
|
COPY --link . ./
|
||||||
|
|
||||||
RUN apk add --no-cache $BUILD_DEPS && \
|
ARG NODE_ENV=production
|
||||||
git submodule update --init && \
|
|
||||||
yarn install && \
|
|
||||||
yarn build && \
|
|
||||||
rm -rf .git
|
|
||||||
|
|
||||||
FROM base AS runner
|
RUN git submodule update --init
|
||||||
|
RUN pnpm build
|
||||||
|
RUN rm -rf .git/
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
# build native dependencies for target platform
|
||||||
ffmpeg \
|
|
||||||
tini
|
|
||||||
|
|
||||||
ENTRYPOINT ["/sbin/tini", "--"]
|
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder
|
||||||
|
|
||||||
COPY --from=builder /misskey/node_modules ./node_modules
|
RUN apt-get update \
|
||||||
COPY --from=builder /misskey/built ./built
|
&& apt-get install -yqq --no-install-recommends \
|
||||||
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
build-essential
|
||||||
COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
|
|
||||||
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
|
|
||||||
COPY . ./
|
|
||||||
|
|
||||||
CMD ["npm", "run", "migrateandstart"]
|
RUN corepack enable
|
||||||
|
|
||||||
|
WORKDIR /misskey
|
||||||
|
|
||||||
|
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||||
|
COPY --link ["scripts", "./scripts"]
|
||||||
|
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||||
|
pnpm i --frozen-lockfile --aggregate-output
|
||||||
|
|
||||||
|
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner
|
||||||
|
|
||||||
|
ARG UID="991"
|
||||||
|
ARG GID="991"
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
ffmpeg tini curl \
|
||||||
|
&& corepack enable \
|
||||||
|
&& groupadd -g "${GID}" misskey \
|
||||||
|
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
|
||||||
|
&& find / -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \
|
||||||
|
&& find / -type d -path /proc -prune -o -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \; \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists
|
||||||
|
|
||||||
|
USER misskey
|
||||||
|
WORKDIR /misskey
|
||||||
|
|
||||||
|
COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules
|
||||||
|
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||||
|
COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built
|
||||||
|
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
|
||||||
|
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||||
|
COPY --chown=misskey:misskey . ./
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"]
|
||||||
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||||
|
CMD ["pnpm", "run", "migrateandstart"]
|
||||||
|
|||||||
182
README.md
182
README.md
@@ -1,26 +1,30 @@
|
|||||||
[](https://join.misskey.page/)
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
<a href="https://misskey-hub.net">
|
||||||
|
<img src="./assets/title_float.svg" alt="Misskey logo" style="border-radius:50%" width="400"/>
|
||||||
|
</a>
|
||||||
|
|
||||||
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
**🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀**
|
||||||
|
|
||||||
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
|
|
||||||
|
|
||||||
[Learn more](https://misskey-hub.net/)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[✨ Find an instance](https://misskey-hub.net/instances.html)
|
<a href="https://misskey-hub.net/instances.html">
|
||||||
•
|
<img src="https://custom-icon-badges.herokuapp.com/badge/find_an-instance-acea31?logoColor=acea31&style=for-the-badge&logo=misskey&labelColor=363B40" alt="find an instance"/></a>
|
||||||
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
|
|
||||||
•
|
<a href="https://misskey-hub.net/docs/install.html">
|
||||||
[🛠️ Contribute](./CONTRIBUTING.md)
|
<img src="https://custom-icon-badges.herokuapp.com/badge/create_an-instance-FBD53C?logoColor=FBD53C&style=for-the-badge&logo=server&labelColor=363B40" alt="create an instance"/></a>
|
||||||
•
|
|
||||||
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
|
<a href="./CONTRIBUTING.md">
|
||||||
|
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-contributor-A371F7?logoColor=A371F7&style=for-the-badge&logo=git-merge&labelColor=363B40" alt="become a contributor"/></a>
|
||||||
|
|
||||||
|
<a href="https://discord.gg/Wp8gVStHW3">
|
||||||
|
<img src="https://custom-icon-badges.herokuapp.com/badge/join_the-community-5865F2?logoColor=5865F2&style=for-the-badge&logo=discord&labelColor=363B40" alt="join the community"/></a>
|
||||||
|
|
||||||
|
<a href="https://www.patreon.com/syuilo">
|
||||||
|
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40" alt="become a patron"/></a>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
|
[](https://codecov.io/gh/misskey-dev/misskey)
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -30,139 +34,45 @@
|
|||||||
|
|
||||||
## ✨ Features
|
## ✨ Features
|
||||||
- **ActivityPub support**\
|
- **ActivityPub support**\
|
||||||
It is possible to interact with other software.
|
Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
|
||||||
- **Reactions**\
|
- **Reactions**\
|
||||||
You can add "reactions" to each post, making it easy for you to express your feelings.
|
You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button.
|
||||||
- **Drive**\
|
- **Drive**\
|
||||||
An interface to manage uploaded files such as images, videos, sounds, etc.
|
With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made!
|
||||||
You can also organize your favorite content into folders, making it easy to share again.
|
|
||||||
- **Rich Web UI**\
|
- **Rich Web UI**\
|
||||||
Misskey has a rich WebUI by default.
|
Misskey has a rich and easy to use Web UI!
|
||||||
It is highly customizable by flexibly changing the layout and installing various widgets and themes.
|
It is highly customizable, from changing the layout and adding widgets to making custom themes.
|
||||||
Furthermore, plug-ins can be created using AiScript, a original programming language.
|
Furthermore, plugins can be created using AiScript, an original programming language.
|
||||||
- and more...
|
- And much more...
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="clear: both;"></div>
|
<div style="clear: both;"></div>
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/), some of the links and graphics above also lead to specific portions of it.
|
||||||
|
|
||||||
## Sponsors
|
## Sponsors
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></a>
|
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Backers
|
## Thanks
|
||||||
<!-- PATREON_START -->
|
|
||||||
<table><tr>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/20832595" alt="Roujo " width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/27956229" alt="Oliver Maximilian Seidel" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan " width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/27648259" alt="みなしま " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24430516/b1964ac5b9f746d2a12ff53dbc9aa40a/1.jpg?token-time=2145916800&token-hash=bmEiMGYpp3bS7hCCbymjGGsHBZM3AXuBOFO3Kro37PU%3D" alt="Eduardo Quiros" width="100"></td>
|
|
||||||
</tr><tr>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=20832595">Roujo </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=27956229">Oliver Maximilian Seidel</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/weepjp">weepjp </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=19045173">kiritan </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=27648259">みなしま </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=24430516">Eduardo Quiros</a></td>
|
|
||||||
</tr></table>
|
|
||||||
<table><tr>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/4.jpg?token-time=2145916800&token-hash=BslMqDjTjz8KYANLvxL87agHTugHa0dMPUzT-hwR6Vk%3D" alt="Nesakko" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/776209" alt="Demogrognard" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3075183/c2ae575c604e420297f000ccc396e395/1.jpeg?token-time=2145916800&token-hash=O9qmPtpo6wWb0OuvnkEekhk_1WO2MTdytLr7ZgsAr80%3D" alt="Liaizon Wakest" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/23915207/25428766ecd745478e600b3d7f871eb2/1.png?token-time=2145916800&token-hash=urCLLA4KjJZX92Y1CxcBP4d8bVTHGkiaPnQZp-Tqz68%3D" alt="kabo2468y " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8249688/4aacf36b6b244ab1bc6653591b6640df/2.png?token-time=2145916800&token-hash=1ZEf2w6L34253cZXS_HlVevLEENWS9QqrnxGUAYblPo%3D" alt="AureoleArk " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon " width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/36813045/29876ea679d443bcbba3c3f16edab8c2/2.jpeg?token-time=2145916800&token-hash=YCKWnIhrV9rjUCV9KqtJnEqjy_uGYF3WMXftjUdpi7o%3D" alt="Wataru Manji (manji0)" width="100"></td>
|
|
||||||
</tr><tr>
|
|
||||||
<td><a href="https://www.patreon.com/Nesakko">Nesakko</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=776209">Demogrognard</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/wakest">Liaizon Wakest</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=557245">mkatze </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=23915207">kabo2468y </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/AureoleArk">AureoleArk </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/osapon">osapon </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=36813045">Wataru Manji (manji0)</a></td>
|
|
||||||
</tr></table>
|
|
||||||
<table><tr>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61 " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28779508/3cd4cb7f017f4ee0864341e3464d42f9/1.png?token-time=2145916800&token-hash=eGQtR15be44kgvh8fw2Jx8Db4Bv15YBp2ldxh0EKRxA%3D" alt="S Y" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/38837364/9421361c54c645ac8f5fc442a40c32e9/1.png?token-time=2145916800&token-hash=TUZB48Nem3BeUPLBH6s3P6WyKBnQOy0xKaDSTBBUNzA%3D" alt="xianon" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26340354/08834cf767b3449e93098ef73a434e2f/2.png?token-time=2145916800&token-hash=nyM8DnKRL8hR47HQ619mUzsqVRpkWZjgtgBU9RY15Uc%3D" alt="totokoro " width="100"></td>
|
|
||||||
</tr><tr>
|
|
||||||
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61 </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=28779508">S Y</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=16542964">Takumi Sugita</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=38837364">xianon</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=26340354">totokoro </a></td>
|
|
||||||
</tr></table>
|
|
||||||
<table><tr>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5827393/59893c191dda408f9cabd0f20a3a5627/1.jpeg?token-time=2145916800&token-hash=i9N05vOph-eP1LTLb9_npATjYOpntL0ZsHNaZFSsPmE%3D" alt="motcha " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/20494440/540beaf2445f408ea6597bc61e077bb3/1.png?token-time=2145916800&token-hash=UJ0JQge64Bx9XmN_qYA1inMQhrWf4U91fqz7VAKJeSg%3D" alt="axtuki1 " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpg?token-time=2145916800&token-hash=nVAntpybQrznE0rg05keLrSE6ogPKJXB13rmrJng42c%3D" alt="takimura " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13100201/fc5be4fa90444f09a9c8a06f72385272/1.png?token-time=2145916800&token-hash=i8PjlgfOB2LPEdbtWyx8ZPsBKhGcNZqcw_FQmH71UGU%3D" alt="aqz tamaina" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9109588/e3cffc48d20a4e43afe04123e696781d/3.png?token-time=2145916800&token-hash=T_VIUA0IFIbleZv4pIjiszZGnQonwn34sLCYFIhakBo%3D" alt="nafuchoco " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/619ab87cc08448439222631ebb26802f/1.gif?token-time=2145916800&token-hash=o27K7M02s1z-LkDUEO5Oa7cu-GviRXeOXxryi4o_6VU%3D" alt="Atsuko Tominaga" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3.png?token-time=2145916800&token-hash=FTm3WVom4dJ9NwWMU4OpCL_8Yc13WiwEbKrDPyTZTPs%3D" alt="natalie" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26144593/9514b10a5c1b42a3af58621aee213d1d/1.png?token-time=2145916800&token-hash=v1PYRsjzu4c_mndN4Hvi_dlispZJsuGRCQeNS82pUSM%3D" alt="EBISUME" width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo " width="100"></td>
|
|
||||||
</tr><tr>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=5827393">motcha </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=20494440">axtuki1 </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/takimura">takimura </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/aqz">aqz tamaina</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=9109588">nafuchoco </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=26144593">EBISUME</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/noellabo">noellabo </a></td>
|
|
||||||
</tr></table>
|
|
||||||
<table><tr>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpg?token-time=2145916800&token-hash=7bkMqTwHPRsJPGAq42PYdDXDZBVGLqdgr1ZmBxX8GFQ%3D" alt="Hekovic " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/14661394" alt="Chandler " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1.png?token-time=2145916800&token-hash=hBayGfOmQH3kRMdNnDe4oCZD_9fsJWSt29xXR3KRMVk%3D" alt="Nokotaro Takeda" width="100"></td>
|
|
||||||
<td><img src="https://c8.patreon.com/2/200/23932002" alt="nenohi " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9481273/7fa89168e72943859c3d3c96e424ed31/4.jpeg?token-time=2145916800&token-hash=5w1QV1qXe-NdWbdFmp1H7O_-QBsSiV0haumk3XTHIEg%3D" alt="Efertone " width="100"></td>
|
|
||||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
|
|
||||||
</tr><tr>
|
|
||||||
<td><a href="https://www.patreon.com/Corset">CG </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/hekovic">Hekovic </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=14661394">Chandler </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=23932002">nenohi </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/efertone">Efertone </a></td>
|
|
||||||
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
|
||||||
</tr></table>
|
|
||||||
|
|
||||||
**Last updated:** Sun, 26 Jul 2020 07:00:10 UTC
|
<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" height="30" alt="Chromatic" /></a>
|
||||||
<!-- PATREON_END -->
|
|
||||||
|
|
||||||
[backer-url]: #backers
|
Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.
|
||||||
[backer-badge]: https://opencollective.com/misskey/backers/badge.svg
|
|
||||||
[backers-image]: https://opencollective.com/misskey/backers.svg
|
|
||||||
[sponsor-url]: #sponsors
|
|
||||||
[sponsor-badge]: https://opencollective.com/misskey/sponsors/badge.svg
|
|
||||||
[sponsors-image]: https://opencollective.com/misskey/sponsors.svg
|
|
||||||
[support-url]: https://opencollective.com/misskey#support
|
|
||||||
|
|
||||||
[syuilo-link]: https://syuilo.com
|
<a href="https://about.codecov.io/for/open-source/"><img src="https://about.codecov.io/wp-content/themes/codecov/assets/brand/sentry-cobranding/logos/codecov-by-sentry-logo.svg" height="30" alt="Codecov" /></a>
|
||||||
[syuilo-icon]: https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
|
|
||||||
|
Thanks to [Codecov](https://about.codecov.io/for/open-source/) for providing the code coverage platform that helps us improve our test coverage.
|
||||||
|
|
||||||
|
<a href="https://crowdin.com/"><img src="https://user-images.githubusercontent.com/20679825/230709597-1299a011-171a-4294-a91e-355a9b37c672.svg" height="30" alt="Crowdin" /></a>
|
||||||
|
|
||||||
|
Thanks to [Crowdin](https://crowdin.com/) for providing the localization platform that helps us translate Misskey into many languages.
|
||||||
|
|
||||||
|
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
|
||||||
|
|
||||||
|
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
|
||||||
|
|||||||
39
ROADMAP.md
Normal file
39
ROADMAP.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Roadmap
|
||||||
|
The order of individual tasks is a guide only and is subject to change depending on the situation.
|
||||||
|
Also, the later tasks are more indefinite and are subject to change as development progresses.
|
||||||
|
|
||||||
|
## (1) Improve maintainability \<current phase\>
|
||||||
|
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
|
||||||
|
|
||||||
|
- ~~Make the number of type errors zero (backend)~~ → Done ✔️
|
||||||
|
- Improve CI
|
||||||
|
- ~~Fix tests~~ → Done ✔️
|
||||||
|
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
|
||||||
|
- Add more tests
|
||||||
|
- ~~May need to implement a mechanism that allows for DI~~ → Done ✔️
|
||||||
|
- https://github.com/misskey-dev/misskey/pull/9085
|
||||||
|
- ~~Measure coverage~~ → Done ✔️
|
||||||
|
- https://github.com/misskey-dev/misskey/pull/9081
|
||||||
|
- Improve documentation
|
||||||
|
- Refactoring
|
||||||
|
- Extract the logic of each endpoint definition into a service and just call it
|
||||||
|
|
||||||
|
## (2) Improve functionality
|
||||||
|
Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually.
|
||||||
|
|
||||||
|
- Improve features for moderation
|
||||||
|
- OAuth2 support https://github.com/misskey-dev/misskey/issues/8262
|
||||||
|
- GraphQL support?
|
||||||
|
|
||||||
|
## (3) Improve scalability
|
||||||
|
Once the development of the feature has settled down, this may be an opportunity to make larger modifications.
|
||||||
|
|
||||||
|
- Rewriting in Rust?
|
||||||
|
|
||||||
|
## (4) Change the world
|
||||||
|
It is time to promote Misskey and change the world.
|
||||||
|
|
||||||
|
- Become more major than services such as Twitter and become critical infrastructure for the world
|
||||||
|
- MiOS will be developed and integrated into various systems - What is MiOS?
|
||||||
|
- Letting Ai-chan interfere with the real world
|
||||||
|
- Make Misskey a member of GAFA; Misskey's office must be a reinforced concrete brutalist building with a courtyard.
|
||||||
BIN
assets/backend.png
Normal file
BIN
assets/backend.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
67
assets/title_float.svg
Normal file
67
assets/title_float.svg
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
id="svg10"
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 162.642 54.261"
|
||||||
|
height="205.08"
|
||||||
|
width="614.71">
|
||||||
|
<metadata
|
||||||
|
id="metadata16">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<style>
|
||||||
|
#g8 {
|
||||||
|
animation-name: floating;
|
||||||
|
animation-duration: 3s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-timing-function: ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes floating {
|
||||||
|
0% { transform: translate(0, 0px); }
|
||||||
|
50% { transform: translate(0, -5px); }
|
||||||
|
100% { transform: translate(0, 0px); }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<linearGradient id="myGradient" gradientTransform="rotate(90)">
|
||||||
|
<stop offset="5%" stop-color="#A1CA03" />
|
||||||
|
<stop offset="95%" stop-color="#91BA03" />
|
||||||
|
</linearGradient>
|
||||||
|
<defs
|
||||||
|
id="defs14" />
|
||||||
|
<g
|
||||||
|
id="g8"
|
||||||
|
fill="url('#myGradient')"
|
||||||
|
word-spacing="0"
|
||||||
|
letter-spacing="0"
|
||||||
|
font-family="OTADESIGN Rounded"
|
||||||
|
font-weight="400">
|
||||||
|
<g
|
||||||
|
id="g4"
|
||||||
|
style="line-height:476.69509888px;-inkscape-font-specification:'OTADESIGN Rounded'">
|
||||||
|
<path
|
||||||
|
id="path2"
|
||||||
|
font-size="141.034"
|
||||||
|
aria-label="Mi"
|
||||||
|
d="m 27.595,34.59 c -1.676,0.006 -3.115,-1.004 -3.793,-2.179 -0.363,-0.513 -1.08,-0.696 -1.09,0 v 3.214 c 0,1.291 -0.47,2.408 -1.412,3.35 -0.915,0.914 -2.031,1.371 -3.35,1.371 -1.29,0 -2.407,-0.457 -3.349,-1.372 -0.914,-0.941 -1.372,-2.058 -1.372,-3.349 V 17.95 c 0,-0.995 0.283,-1.896 0.848,-2.703 0.591,-0.834 1.345,-1.413 2.26,-1.735 0.516591,-0.189385 1.062793,-0.285215 1.613,-0.283 1.453,0 2.664,0.565 3.632,1.695 l 4.832,5.608 c 0.108,0.08 0.424,0.697 1.18,0.697 0.758,0 1.115,-0.617 1.222,-0.698 l 4.791,-5.607 c 0.996,-1.13 2.22,-1.695 3.673,-1.695 0.538,0 1.076,0.094 1.614,0.283 0.914,0.322 1.654,0.9 2.22,1.735 0.591,0.807 0.887,1.708 0.887,2.703 v 17.675 c 0,1.291 -0.47,2.408 -1.412,3.35 -0.915,0.914 -2.032,1.371 -3.35,1.371 -1.291,0 -2.407,-0.457 -3.35,-1.372 -0.914,-0.941 -1.371,-2.058 -1.371,-3.349 v -3.214 c -0.08,-0.877 -0.855,-0.324 -1.13,0 -0.726,1.345 -2.118,2.173 -3.793,2.18 z M 47.806,21.38 c -1.13,0 -2.098333,-0.39 -2.905,-1.17 -0.78,-0.806667 -1.17,-1.775 -1.17,-2.905 0,-1.13 0.39,-2.085 1.17,-2.865 0.806667,-0.806667 1.775,-1.21 2.905,-1.21 1.13,0 2.098667,0.403333 2.906,1.21 0.806667,0.78 1.21,1.735 1.21,2.865 0,1.13 -0.403333,2.098333 -1.21,2.905 -0.807333,0.78 -1.776,1.17 -2.906,1.17 z m 0.04,0.808 c 1.13,0 2.085333,0.403333 2.866,1.21 0.806667,0.806667 1.21,1.775333 1.21,2.906 v 9.967 c 0,1.13 -0.403333,2.098333 -1.21,2.905 -0.78,0.78 -1.735333,1.17 -2.866,1.17 -1.129333,0 -2.097667,-0.39 -2.905,-1.17 -0.806667,-0.806667 -1.21,-1.775 -1.21,-2.905 v -9.967 c 0,-1.13 0.403333,-2.098667 1.21,-2.906 0.806667,-0.806667 1.775,-1.21 2.905,-1.21 z"
|
||||||
|
style="font-size:141.03399658px;-inkscape-font-specification:'OTADESIGN Rounded'" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
id="path6"
|
||||||
|
d="M60.925 27.24q.968.243 2.42.525 2.42.403 3.792 1.29 2.582 1.695 2.582 5.083 0 2.743-1.815 4.478-2.098 2.017-5.85 2.017-2.742 0-6.13-.767-1.09-.242-1.776-1.089-.645-.847-.645-1.896 0-1.29.887-2.178.928-.928 2.179-.928.363 0 .685.081 1.17.242 4.478.605.444 0 .968-.04.202 0 .202-.242.04-.202-.242-.283-1.372-.242-2.542-.524-1.33-.282-1.896-.484-1.129-.323-1.895-.847-2.582-1.694-2.622-5.083 0-2.702 1.855-4.477 2.26-2.179 6.414-1.977 2.783.121 5.567.726 1.048.242 1.734 1.09.686.846.686 1.936 0 1.25-.928 2.178-.887.887-2.178.887-.323 0-.645-.08-1.17-.242-4.518-.565-.404-.04-.767 0-.323.04-.323.242.04.242.323.323zm17.555 0q.968.243 2.42.525 2.42.403 3.792 1.29 2.581 1.695 2.581 5.083 0 2.743-1.815 4.478-2.098 2.017-5.849 2.017-2.743 0-6.131-.767-1.09-.242-1.775-1.089-.646-.847-.646-1.896 0-1.29.888-2.178.927-.928 2.178-.928.363 0 .686.081 1.17.242 4.477.605.444 0 .968-.04.202 0 .202-.242.04-.202-.242-.283-1.371-.242-2.541-.524-1.331-.282-1.896-.484-1.13-.323-1.896-.847-2.582-1.694-2.622-5.083 0-2.702 1.855-4.477 2.26-2.179 6.414-1.977 2.784.121 5.567.726 1.049.242 1.735 1.09.685.846.685 1.936 0 1.25-.927 2.178-.888.887-2.179.887-.322 0-.645-.08-1.17-.242-4.518-.565-.403-.04-.767 0-.322.04-.322.242.04.242.322.323zm26.075 3.335q.12.08 2.864 2.783 1.25 1.21 1.25 2.945 0 1.613-1.17 2.864-1.17 1.21-2.904 1.21-1.654 0-2.864-1.17l-4.034-3.913q-.161-.12-.323-.12-.322 0-.322 1.21 0 1.694-1.21 2.904-1.21 1.17-2.905 1.17-1.694 0-2.904-1.17-1.17-1.21-1.17-2.905V17.586q0-1.694 1.17-2.864 1.21-1.21 2.904-1.21t2.904 1.21q1.21 1.17 1.21 2.864v6.293q0 .403.283.524.242.121.524-.08.162-.081 4.841-3.188 1.049-.645 2.259-.645 2.219 0 3.429 1.815.645 1.05.645 2.26 0 2.218-1.815 3.428l-2.541 1.614v.04l-.081.04q-.565.363-.04.888zm15.599 10.058q-4.195 0-7.18-2.945-2.945-2.985-2.945-7.18 0-4.155 2.945-7.1 2.985-2.985 7.18-2.985 4.155 0 6.979 2.784.928.927.928 2.259 0 1.33-.928 2.259l-4.68 4.639q-1.008 1.008-2.016 1.008-1.453 0-2.26-.807-.806-.807-.806-2.138 0-1.29.928-2.218l.806-.847q.162-.121.081-.243-.12-.08-.323-.04-.806.202-1.371.807-1.13 1.09-1.13 2.622 0 1.573 1.09 2.703 1.13 1.089 2.702 1.089 1.533 0 2.622-1.13.928-.927 2.26-.927 1.33 0 2.258.927.928.928.928 2.26 0 1.33-.928 2.258-2.985 2.945-7.14 2.945zm29.259-15.786v5.607q0 .564-.08 1.21v7.382q0 4.518-2.744 7.22-2.702 2.703-7.301 2.703-2.662 0-4.8-1.008-2.138-.968-2.138-3.348 0-.807.363-1.533.968-2.179 3.348-2.179.565 0 1.573.323 1.009.323 1.654.323 1.694 0 2.219-.726.201-.283.08-.444-.161-.242-.564-.161-.686.12-1.493.12-4.074 0-6.979-2.904-2.904-2.904-2.904-6.978v-5.607q0-1.695 1.17-2.864 1.21-1.21 2.904-1.21t2.905 1.21q1.21 1.17 1.21 2.864v5.607q0 .685.484 1.21.524.484 1.21.484.726 0 1.21-.484.484-.525.484-1.21v-5.607q0-1.695 1.21-2.864 1.21-1.21 2.905-1.21 1.694 0 2.864 1.21 1.21 1.17 1.21 2.864z"
|
||||||
|
style="line-height:136.34428406px;-inkscape-font-specification:'OTADESIGN Rounded'" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.1 KiB |
4
chart/Chart.yaml
Normal file
4
chart/Chart.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: misskey
|
||||||
|
version: 0.0.0
|
||||||
|
description: This chart is created for the purpose of previewing Pull Requests. Do not use this for production use.
|
||||||
194
chart/files/default.yml
Normal file
194
chart/files/default.yml
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# Misskey configuration
|
||||||
|
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
# ┌─────┐
|
||||||
|
#───┘ URL └─────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Final accessible URL seen by a user.
|
||||||
|
# url: https://example.tld/
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# URL SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
# ┌───────────────────────┐
|
||||||
|
#───┘ Port and TLS settings └───────────────────────────────────
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misskey supports two deployment options for public.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Option 1: With Reverse Proxy
|
||||||
|
#
|
||||||
|
# +----- https://example.tld/ ------------+
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
|
||||||
|
# +------+ |+-------------+ +----------------+|
|
||||||
|
# +---------------------------------------+
|
||||||
|
#
|
||||||
|
# You need to setup reverse proxy. (eg. nginx)
|
||||||
|
# You do not define 'https' section.
|
||||||
|
|
||||||
|
# Option 2: Standalone
|
||||||
|
#
|
||||||
|
# +- https://example.tld/ -+
|
||||||
|
# +------+ | +---------------+ |
|
||||||
|
# | User | ---> | | Misskey (443) | |
|
||||||
|
# +------+ | +---------------+ |
|
||||||
|
# +------------------------+
|
||||||
|
#
|
||||||
|
# You need to run Misskey as root.
|
||||||
|
# You need to set Certificate in 'https' section.
|
||||||
|
|
||||||
|
# To use option 1, uncomment below line.
|
||||||
|
port: 3000 # A port that your Misskey server should listen.
|
||||||
|
|
||||||
|
# To use option 2, uncomment below lines.
|
||||||
|
#port: 443
|
||||||
|
|
||||||
|
#https:
|
||||||
|
# # path for certification
|
||||||
|
# key: /etc/letsencrypt/live/example.tld/privkey.pem
|
||||||
|
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
|
||||||
|
|
||||||
|
# ┌──────────────────────────┐
|
||||||
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
|
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
|
||||||
|
# Database name
|
||||||
|
db: misskey
|
||||||
|
|
||||||
|
# Auth
|
||||||
|
user: example-misskey-user
|
||||||
|
pass: example-misskey-pass
|
||||||
|
|
||||||
|
# Whether disable Caching queries
|
||||||
|
#disableCache: true
|
||||||
|
|
||||||
|
# Extra Connection options
|
||||||
|
#extra:
|
||||||
|
# ssl: true
|
||||||
|
|
||||||
|
dbReplications: false
|
||||||
|
|
||||||
|
# You can configure any number of replicas here
|
||||||
|
#dbSlaves:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
# -
|
||||||
|
# host:
|
||||||
|
# port:
|
||||||
|
# db:
|
||||||
|
# user:
|
||||||
|
# pass:
|
||||||
|
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Redis configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: localhost
|
||||||
|
port: 6379
|
||||||
|
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
#pass: example-pass
|
||||||
|
#prefix: example-prefix
|
||||||
|
#db: 1
|
||||||
|
|
||||||
|
#redisForPubsub:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
#redisForJobQueue:
|
||||||
|
# host: localhost
|
||||||
|
# port: 6379
|
||||||
|
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||||
|
# #pass: example-pass
|
||||||
|
# #prefix: example-prefix
|
||||||
|
# #db: 1
|
||||||
|
|
||||||
|
# ┌───────────────────────────┐
|
||||||
|
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||||
|
|
||||||
|
#meilisearch:
|
||||||
|
# host: localhost
|
||||||
|
# port: 7700
|
||||||
|
# apiKey: ''
|
||||||
|
# ssl: true
|
||||||
|
# index: ''
|
||||||
|
|
||||||
|
# ┌───────────────┐
|
||||||
|
#───┘ ID generation └───────────────────────────────────────────
|
||||||
|
|
||||||
|
# You can select the ID generation method.
|
||||||
|
# You don't usually need to change this setting, but you can
|
||||||
|
# change it according to your preferences.
|
||||||
|
|
||||||
|
# Available methods:
|
||||||
|
# aid ... Short, Millisecond accuracy
|
||||||
|
# meid ... Similar to ObjectID, Millisecond accuracy
|
||||||
|
# ulid ... Millisecond accuracy
|
||||||
|
# objectid ... This is left for backward compatibility
|
||||||
|
|
||||||
|
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||||
|
# ID SETTINGS AFTER THAT!
|
||||||
|
|
||||||
|
id: "aid"
|
||||||
|
# ┌─────────────────────┐
|
||||||
|
#───┘ Other configuration └─────────────────────────────────────
|
||||||
|
|
||||||
|
# Whether disable HSTS
|
||||||
|
#disableHsts: true
|
||||||
|
|
||||||
|
# Number of worker processes
|
||||||
|
#clusterLimit: 1
|
||||||
|
|
||||||
|
# Job concurrency per worker
|
||||||
|
# deliverJobConcurrency: 128
|
||||||
|
# inboxJobConcurrency: 16
|
||||||
|
|
||||||
|
# Job rate limiter
|
||||||
|
# deliverJobPerSec: 128
|
||||||
|
# inboxJobPerSec: 16
|
||||||
|
|
||||||
|
# Job attempts
|
||||||
|
# deliverJobMaxAttempts: 12
|
||||||
|
# inboxJobMaxAttempts: 8
|
||||||
|
|
||||||
|
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||||
|
#outgoingAddressFamily: ipv4
|
||||||
|
|
||||||
|
# Proxy for HTTP/HTTPS
|
||||||
|
#proxy: http://127.0.0.1:3128
|
||||||
|
|
||||||
|
#proxyBypassHosts: [
|
||||||
|
# 'example.com',
|
||||||
|
# '192.0.2.8'
|
||||||
|
#]
|
||||||
|
|
||||||
|
# Proxy for SMTP/SMTPS
|
||||||
|
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||||
|
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||||
|
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
|
||||||
|
|
||||||
|
# Media Proxy
|
||||||
|
#mediaProxy: https://example.com/proxy
|
||||||
|
|
||||||
|
# Sign to ActivityPub GET request (default: true)
|
||||||
|
signToActivityPubGet: true
|
||||||
|
|
||||||
|
#allowedPrivateNetworks: [
|
||||||
|
# '127.0.0.1/32'
|
||||||
|
#]
|
||||||
|
|
||||||
|
# Upload or download file size limits (bytes)
|
||||||
|
#maxFileSize: 262144000
|
||||||
8
chart/templates/ConfigMap.yml
Normal file
8
chart/templates/ConfigMap.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "misskey.fullname" . }}-configuration
|
||||||
|
data:
|
||||||
|
default.yml: |-
|
||||||
|
{{ .Files.Get "files/default.yml"|nindent 4 }}
|
||||||
|
url: {{ .Values.url }}
|
||||||
47
chart/templates/Deployment.yml
Normal file
47
chart/templates/Deployment.yml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "misskey.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "misskey.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "misskey.selectorLabels" . | nindent 6 }}
|
||||||
|
replicas: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "misskey.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: misskey
|
||||||
|
image: {{ .Values.image }}
|
||||||
|
env:
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: {{ .Values.environment }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: {{ include "misskey.fullname" . }}-configuration
|
||||||
|
mountPath: /misskey/.config
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 3000
|
||||||
|
- name: postgres
|
||||||
|
image: postgres:14-alpine
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_USER
|
||||||
|
value: "example-misskey-user"
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
value: "example-misskey-pass"
|
||||||
|
- name: POSTGRES_DB
|
||||||
|
value: "misskey"
|
||||||
|
ports:
|
||||||
|
- containerPort: 5432
|
||||||
|
- name: redis
|
||||||
|
image: redis:alpine
|
||||||
|
ports:
|
||||||
|
- containerPort: 6379
|
||||||
|
volumes:
|
||||||
|
- name: {{ include "misskey.fullname" . }}-configuration
|
||||||
|
configMap:
|
||||||
|
name: {{ include "misskey.fullname" . }}-configuration
|
||||||
14
chart/templates/Service.yml
Normal file
14
chart/templates/Service.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "misskey.fullname" . }}
|
||||||
|
annotations:
|
||||||
|
dev.okteto.com/auto-ingress: "true"
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 3000
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
{{- include "misskey.selectorLabels" . | nindent 4 }}
|
||||||
62
chart/templates/_helpers.tpl
Normal file
62
chart/templates/_helpers.tpl
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "misskey.chart" . }}
|
||||||
|
{{ include "misskey.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "misskey.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "misskey.serviceAccountName" -}}
|
||||||
|
{{- if .Values.serviceAccount.create }}
|
||||||
|
{{- default (include "misskey.fullname" .) .Values.serviceAccount.name }}
|
||||||
|
{{- else }}
|
||||||
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
3
chart/values.yml
Normal file
3
chart/values.yml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
url: https://example.tld/
|
||||||
|
image: okteto.dev/misskey
|
||||||
|
environment: production
|
||||||
4
codecov.yml
Normal file
4
codecov.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
coverage:
|
||||||
|
status:
|
||||||
|
project: false
|
||||||
|
patch: false
|
||||||
12
cypress.config.ts
Normal file
12
cypress.config.ts
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { defineConfig } from 'cypress'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
e2e: {
|
||||||
|
// We've imported your old cypress plugins here.
|
||||||
|
// You may want to clean this up later by importing these.
|
||||||
|
setupNodeEvents(on, config) {
|
||||||
|
return require('./cypress/plugins/index.js')(on, config)
|
||||||
|
},
|
||||||
|
baseUrl: 'http://localhost:61812',
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"baseUrl": "http://localhost:61812"
|
|
||||||
}
|
|
||||||
240
cypress/e2e/basic.cy.js
Normal file
240
cypress/e2e/basic.cy.js
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
describe('Before setup instance', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('successfully loads', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('setup instance', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
cy.intercept('POST', '/api/admin/accounts/create').as('signup');
|
||||||
|
|
||||||
|
cy.get('[data-cy-admin-username] input').type('admin');
|
||||||
|
cy.get('[data-cy-admin-password] input').type('admin1234');
|
||||||
|
cy.get('[data-cy-admin-ok]').click();
|
||||||
|
|
||||||
|
// なぜか動かない
|
||||||
|
//cy.wait('@signup').should('have.property', 'response.statusCode');
|
||||||
|
cy.wait('@signup');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('After setup instance', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('successfully loads', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('signup', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
cy.intercept('POST', '/api/signup').as('signup');
|
||||||
|
|
||||||
|
cy.get('[data-cy-signup]').click();
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
|
||||||
|
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
|
||||||
|
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||||
|
cy.get('[data-cy-signup-username] input').type('alice');
|
||||||
|
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||||
|
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||||
|
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||||
|
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||||
|
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
|
||||||
|
cy.get('[data-cy-signup-submit]').click();
|
||||||
|
|
||||||
|
cy.wait('@signup');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('signup with duplicated username', () => {
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
// ユーザー名が重複している場合の挙動確認
|
||||||
|
cy.get('[data-cy-signup]').click();
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
|
||||||
|
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
|
||||||
|
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
|
||||||
|
cy.get('[data-cy-signup-rules-continue]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy-signup-username] input').type('alice');
|
||||||
|
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||||
|
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||||
|
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('After user signup', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('successfully loads', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('signin', () => {
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
cy.intercept('POST', '/api/signin').as('signin');
|
||||||
|
|
||||||
|
cy.get('[data-cy-signin]').click();
|
||||||
|
cy.get('[data-cy-signin-username] input').type('alice');
|
||||||
|
// Enterキーでサインインできるかの確認も兼ねる
|
||||||
|
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||||
|
|
||||||
|
cy.wait('@signin');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('suspend', function() {
|
||||||
|
cy.request('POST', '/api/admin/suspend-user', {
|
||||||
|
i: this.admin.token,
|
||||||
|
userId: this.alice.id,
|
||||||
|
});
|
||||||
|
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
cy.get('[data-cy-signin]').click();
|
||||||
|
cy.get('[data-cy-signin-username] input').type('alice');
|
||||||
|
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||||
|
|
||||||
|
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
||||||
|
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('After user signed in', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('successfully loads', () => {
|
||||||
|
cy.get('[data-cy-user-setup-continue]').should('be.visible');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('account setup wizard', () => {
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
|
||||||
|
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
|
||||||
|
// TODO: アイコン設定テスト
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// プライバシー設定
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// フォローはスキップ
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
// プッシュ通知設定はスキップ
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
|
||||||
|
cy.get('[data-cy-user-setup-continue]').click();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('After user setup', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
|
||||||
|
// アカウント初期設定ウィザード
|
||||||
|
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
||||||
|
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('note', () => {
|
||||||
|
cy.get('[data-cy-open-post-form]').should('be.visible');
|
||||||
|
cy.get('[data-cy-open-post-form]').click();
|
||||||
|
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
|
||||||
|
cy.get('[data-cy-open-post-form-submit]').click();
|
||||||
|
|
||||||
|
cy.contains('Hello, Misskey!');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('open note form with hotkey', () => {
|
||||||
|
// Wait until the page loads
|
||||||
|
cy.get('[data-cy-open-post-form]').should('be.visible');
|
||||||
|
// Use trigger() to give different `code` to test if hotkeys also work on non-QWERTY keyboards.
|
||||||
|
cy.document().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "n", code: "KeyL" });
|
||||||
|
// See if the form is opened
|
||||||
|
cy.get('[data-cy-post-form-text]').should('be.visible');
|
||||||
|
// Close it
|
||||||
|
cy.focused().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "Escape", code: "Escape" });
|
||||||
|
// See if the form is closed
|
||||||
|
cy.get('[data-cy-post-form-text]').should('not.be.visible');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// TODO: 投稿フォームの公開範囲指定のテスト
|
||||||
|
// TODO: 投稿フォームのファイル添付のテスト
|
||||||
|
// TODO: 投稿フォームのハッシュタグ保持フィールドのテスト
|
||||||
69
cypress/e2e/widgets.cy.js
Normal file
69
cypress/e2e/widgets.cy.js
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
describe('After user signed in', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
cy.resetState();
|
||||||
|
cy.viewport('macbook-16');
|
||||||
|
|
||||||
|
// インスタンス初期セットアップ
|
||||||
|
cy.registerUser('admin', 'pass', true);
|
||||||
|
|
||||||
|
// ユーザー作成
|
||||||
|
cy.registerUser('alice', 'alice1234');
|
||||||
|
|
||||||
|
cy.login('alice', 'alice1234');
|
||||||
|
|
||||||
|
// アカウント初期設定ウィザード
|
||||||
|
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
||||||
|
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||||
|
// waitを入れることでそれを防止できる
|
||||||
|
cy.wait(1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('widget edit toggle is visible', () => {
|
||||||
|
cy.get('[data-cy-widget-edit]').should('be.visible');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('widget select should be visible in edit mode', () => {
|
||||||
|
cy.get('[data-cy-widget-edit]').click();
|
||||||
|
cy.get('[data-cy-widget-select]').should('be.visible');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('first widget should be removed', () => {
|
||||||
|
cy.get('[data-cy-widget-edit]').click();
|
||||||
|
cy.get('[data-cy-customize-container]:first-child [data-cy-customize-container-remove]._button').click();
|
||||||
|
cy.get('[data-cy-customize-container]').should('have.length', 2);
|
||||||
|
});
|
||||||
|
|
||||||
|
function buildWidgetTest(widgetName) {
|
||||||
|
it(`${widgetName} widget should get added`, () => {
|
||||||
|
cy.get('[data-cy-widget-edit]').click();
|
||||||
|
cy.get('[data-cy-widget-select] select').select(widgetName, { force: true });
|
||||||
|
cy.get('[data-cy-bg]._modalBg[data-cy-transparent]').click({ multiple: true, force: true });
|
||||||
|
cy.get('[data-cy-widget-add]').click({ force: true });
|
||||||
|
cy.get(`[data-cy-mkw-${widgetName}]`).should('exist');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
buildWidgetTest('memo');
|
||||||
|
buildWidgetTest('notifications');
|
||||||
|
buildWidgetTest('timeline');
|
||||||
|
buildWidgetTest('calendar');
|
||||||
|
buildWidgetTest('rss');
|
||||||
|
buildWidgetTest('trends');
|
||||||
|
buildWidgetTest('clock');
|
||||||
|
buildWidgetTest('activity');
|
||||||
|
buildWidgetTest('photos');
|
||||||
|
buildWidgetTest('digitalClock');
|
||||||
|
buildWidgetTest('federation');
|
||||||
|
buildWidgetTest('postForm');
|
||||||
|
buildWidgetTest('slideshow');
|
||||||
|
buildWidgetTest('serverMetric');
|
||||||
|
buildWidgetTest('onlineUsers');
|
||||||
|
buildWidgetTest('jobQueue');
|
||||||
|
buildWidgetTest('button');
|
||||||
|
buildWidgetTest('aiscript');
|
||||||
|
buildWidgetTest('aichan');
|
||||||
|
});
|
||||||
@@ -1,182 +0,0 @@
|
|||||||
describe('Before setup instance', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.request('POST', '/api/reset-db').as('reset');
|
|
||||||
cy.get('@reset').its('status').should('equal', 204);
|
|
||||||
cy.reload(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
|
||||||
// waitを入れることでそれを防止できる
|
|
||||||
cy.wait(1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('successfully loads', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('setup instance', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.intercept('POST', '/api/admin/accounts/create').as('signup');
|
|
||||||
|
|
||||||
cy.get('[data-cy-admin-username] input').type('admin');
|
|
||||||
cy.get('[data-cy-admin-password] input').type('admin1234');
|
|
||||||
cy.get('[data-cy-admin-ok]').click();
|
|
||||||
|
|
||||||
// なぜか動かない
|
|
||||||
//cy.wait('@signup').should('have.property', 'response.statusCode');
|
|
||||||
cy.wait('@signup');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('After setup instance', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.request('POST', '/api/reset-db').as('reset');
|
|
||||||
cy.get('@reset').its('status').should('equal', 204);
|
|
||||||
cy.reload(true);
|
|
||||||
|
|
||||||
// インスタンス初期セットアップ
|
|
||||||
cy.request('POST', '/api/admin/accounts/create', {
|
|
||||||
username: 'admin',
|
|
||||||
password: 'pass',
|
|
||||||
}).its('body').as('admin');
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
|
||||||
// waitを入れることでそれを防止できる
|
|
||||||
cy.wait(1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('successfully loads', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('signup', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.intercept('POST', '/api/signup').as('signup');
|
|
||||||
|
|
||||||
cy.get('[data-cy-signup]').click();
|
|
||||||
cy.get('[data-cy-signup-username] input').type('alice');
|
|
||||||
cy.get('[data-cy-signup-password] input').type('alice1234');
|
|
||||||
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
|
||||||
cy.get('[data-cy-signup-submit]').click();
|
|
||||||
|
|
||||||
cy.wait('@signup');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('After user signup', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.request('POST', '/api/reset-db').as('reset');
|
|
||||||
cy.get('@reset').its('status').should('equal', 204);
|
|
||||||
cy.reload(true);
|
|
||||||
|
|
||||||
// インスタンス初期セットアップ
|
|
||||||
cy.request('POST', '/api/admin/accounts/create', {
|
|
||||||
username: 'admin',
|
|
||||||
password: 'pass',
|
|
||||||
}).its('body').as('admin');
|
|
||||||
|
|
||||||
// ユーザー作成
|
|
||||||
cy.request('POST', '/api/signup', {
|
|
||||||
username: 'alice',
|
|
||||||
password: 'alice1234',
|
|
||||||
}).its('body').as('alice');
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
|
||||||
// waitを入れることでそれを防止できる
|
|
||||||
cy.wait(1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('successfully loads', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('signin', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.intercept('POST', '/api/signin').as('signin');
|
|
||||||
|
|
||||||
cy.get('[data-cy-signin]').click();
|
|
||||||
cy.get('[data-cy-signin-username] input').type('alice');
|
|
||||||
// Enterキーでサインインできるかの確認も兼ねる
|
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
|
||||||
|
|
||||||
cy.wait('@signin');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('suspend', function() {
|
|
||||||
cy.request('POST', '/api/admin/suspend-user', {
|
|
||||||
i: this.admin.token,
|
|
||||||
userId: this.alice.id,
|
|
||||||
});
|
|
||||||
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.get('[data-cy-signin]').click();
|
|
||||||
cy.get('[data-cy-signin-username] input').type('alice');
|
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
|
||||||
|
|
||||||
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
|
||||||
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('After user singed in', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
cy.request('POST', '/api/reset-db').as('reset');
|
|
||||||
cy.get('@reset').its('status').should('equal', 204);
|
|
||||||
cy.reload(true);
|
|
||||||
|
|
||||||
// インスタンス初期セットアップ
|
|
||||||
cy.request('POST', '/api/admin/accounts/create', {
|
|
||||||
username: 'admin',
|
|
||||||
password: 'pass',
|
|
||||||
}).its('body').as('admin');
|
|
||||||
|
|
||||||
// ユーザー作成
|
|
||||||
cy.request('POST', '/api/signup', {
|
|
||||||
username: 'alice',
|
|
||||||
password: 'alice1234',
|
|
||||||
}).its('body').as('alice');
|
|
||||||
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.intercept('POST', '/api/signin').as('signin');
|
|
||||||
|
|
||||||
cy.get('[data-cy-signin]').click();
|
|
||||||
cy.get('[data-cy-signin-username] input').type('alice');
|
|
||||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
|
||||||
|
|
||||||
cy.wait('@signin').as('signedIn');
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
|
||||||
// waitを入れることでそれを防止できる
|
|
||||||
cy.wait(1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('successfully loads', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('note', () => {
|
|
||||||
cy.visit('/');
|
|
||||||
|
|
||||||
cy.get('[data-cy-open-post-form]').click();
|
|
||||||
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
|
|
||||||
cy.get('[data-cy-open-post-form-submit]').click();
|
|
||||||
|
|
||||||
cy.contains('Hello, Misskey!');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// TODO: 投稿フォームの公開範囲指定のテスト
|
|
||||||
// TODO: 投稿フォームのファイル添付のテスト
|
|
||||||
// TODO: 投稿フォームのハッシュタグ保持フィールドのテスト
|
|
||||||
@@ -23,3 +23,38 @@
|
|||||||
//
|
//
|
||||||
// -- This will overwrite an existing command --
|
// -- This will overwrite an existing command --
|
||||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
||||||
|
|
||||||
|
Cypress.Commands.add('visitHome', () => {
|
||||||
|
cy.visit('/');
|
||||||
|
cy.get('button', { timeout: 30000 }).should('be.visible');
|
||||||
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add('resetState', () => {
|
||||||
|
cy.window(win => {
|
||||||
|
win.indexedDB.deleteDatabase('keyval-store');
|
||||||
|
});
|
||||||
|
cy.request('POST', '/api/reset-db', {}).as('reset');
|
||||||
|
cy.get('@reset').its('status').should('equal', 204);
|
||||||
|
cy.reload(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
|
||||||
|
const route = isAdmin ? '/api/admin/accounts/create' : '/api/signup';
|
||||||
|
|
||||||
|
cy.request('POST', route, {
|
||||||
|
username: username,
|
||||||
|
password: password,
|
||||||
|
}).its('body').as(username);
|
||||||
|
});
|
||||||
|
|
||||||
|
Cypress.Commands.add('login', (username, password) => {
|
||||||
|
cy.visitHome();
|
||||||
|
|
||||||
|
cy.intercept('POST', '/api/signin').as('signin');
|
||||||
|
|
||||||
|
cy.get('[data-cy-signin]').click();
|
||||||
|
cy.get('[data-cy-signin-username] input').type(username);
|
||||||
|
cy.get('[data-cy-signin-password] input').type(`${password}{enter}`);
|
||||||
|
|
||||||
|
cy.wait('@signin').as('signedIn');
|
||||||
|
});
|
||||||
|
|||||||
34
cypress/support/e2e.js
Normal file
34
cypress/support/e2e.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// ***********************************************************
|
||||||
|
// This example support/index.js is processed and
|
||||||
|
// loaded automatically before your test files.
|
||||||
|
//
|
||||||
|
// This is a great place to put global configuration and
|
||||||
|
// behavior that modifies Cypress.
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off
|
||||||
|
// automatically serving support files with the
|
||||||
|
// 'supportFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/configuration
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// Import commands.js using ES2015 syntax:
|
||||||
|
import './commands'
|
||||||
|
|
||||||
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
// require('./commands')
|
||||||
|
|
||||||
|
Cypress.on('uncaught:exception', (err, runnable) => {
|
||||||
|
if ([
|
||||||
|
'The source image cannot be decoded',
|
||||||
|
|
||||||
|
// Chrome
|
||||||
|
'ResizeObserver loop limit exceeded',
|
||||||
|
|
||||||
|
// Firefox
|
||||||
|
'ResizeObserver loop completed with undelivered notifications',
|
||||||
|
].some(msg => err.message.includes(msg))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example support/index.js is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands'
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
|
|
||||||
Cypress.on('uncaught:exception', (err, runnable) => {
|
|
||||||
if ([
|
|
||||||
// Chrome
|
|
||||||
'ResizeObserver loop limit exceeded',
|
|
||||||
|
|
||||||
// Firefox
|
|
||||||
'ResizeObserver loop completed with undelivered notifications',
|
|
||||||
].some(msg => err.message.includes(msg))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
version: "3"
|
|
||||||
|
|
||||||
services:
|
|
||||||
web:
|
|
||||||
build: .
|
|
||||||
restart: always
|
|
||||||
links:
|
|
||||||
- db
|
|
||||||
- redis
|
|
||||||
# - es
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:3000:3000"
|
|
||||||
networks:
|
|
||||||
- internal_network
|
|
||||||
- external_network
|
|
||||||
volumes:
|
|
||||||
- ./files:/misskey/files
|
|
||||||
- ./.config:/misskey/.config:ro
|
|
||||||
|
|
||||||
redis:
|
|
||||||
restart: always
|
|
||||||
image: redis:4.0-alpine
|
|
||||||
networks:
|
|
||||||
- internal_network
|
|
||||||
volumes:
|
|
||||||
- ./redis:/data
|
|
||||||
|
|
||||||
db:
|
|
||||||
restart: always
|
|
||||||
image: postgres:12.2-alpine
|
|
||||||
networks:
|
|
||||||
- internal_network
|
|
||||||
env_file:
|
|
||||||
- .config/docker.env
|
|
||||||
volumes:
|
|
||||||
- ./db:/var/lib/postgresql/data
|
|
||||||
|
|
||||||
# es:
|
|
||||||
# restart: always
|
|
||||||
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
|
|
||||||
# environment:
|
|
||||||
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
||||||
# - "TAKE_FILE_OWNERSHIP=111"
|
|
||||||
# networks:
|
|
||||||
# - internal_network
|
|
||||||
# volumes:
|
|
||||||
# - ./elasticsearch:/usr/share/elasticsearch/data
|
|
||||||
|
|
||||||
networks:
|
|
||||||
internal_network:
|
|
||||||
internal: true
|
|
||||||
external_network:
|
|
||||||
67
docker-compose.yml.example
Normal file
67
docker-compose.yml.example
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build: .
|
||||||
|
restart: always
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
- redis
|
||||||
|
# - meilisearch
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
- external_network
|
||||||
|
volumes:
|
||||||
|
- ./files:/misskey/files
|
||||||
|
- ./.config:/misskey/.config:ro
|
||||||
|
|
||||||
|
redis:
|
||||||
|
restart: always
|
||||||
|
image: redis:7-alpine
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
healthcheck:
|
||||||
|
test: "redis-cli ping"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
db:
|
||||||
|
restart: always
|
||||||
|
image: postgres:15-alpine
|
||||||
|
networks:
|
||||||
|
- internal_network
|
||||||
|
env_file:
|
||||||
|
- .config/docker.env
|
||||||
|
volumes:
|
||||||
|
- ./db:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
# meilisearch:
|
||||||
|
# restart: always
|
||||||
|
# image: getmeili/meilisearch:v1.1.1
|
||||||
|
# environment:
|
||||||
|
# - MEILI_NO_ANALYTICS=true
|
||||||
|
# - MEILI_ENV=production
|
||||||
|
# env_file:
|
||||||
|
# - .config/meilisearch.env
|
||||||
|
# networks:
|
||||||
|
# - internal_network
|
||||||
|
# volumes:
|
||||||
|
# - ./meili_data:/meili_data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
internal_network:
|
||||||
|
internal: true
|
||||||
|
external_network:
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
DONATORS
|
|
||||||
========
|
|
||||||
The list of people who have sent donation for Misskey.
|
|
||||||
|
|
||||||
(In random order, honorific titles are omitted.)
|
|
||||||
|
|
||||||
* らふぁ
|
|
||||||
* 俺様
|
|
||||||
* なぎうり
|
|
||||||
* スルメ https://surume.tk/
|
|
||||||
* 藍
|
|
||||||
* 音船 https://otofune.me/
|
|
||||||
* aqz https://misskey.xyz/aqz
|
|
||||||
* kotodu "虚無創作中"
|
|
||||||
* Maya Minatsuki
|
|
||||||
* Knzk https://knzk.me/@Knzk
|
|
||||||
* ねじりわさび https://knzk.me/@y
|
|
||||||
* NCLS https://knzk.me/@imncls]
|
|
||||||
* こじま @skoji@sandbox.skoji.jp
|
|
||||||
|
|
||||||
:heart: Thanks for donating, guys!
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
If your name is missing, please contact us!
|
|
||||||
1
fluent-emojis
Submodule
1
fluent-emojis
Submodule
Submodule fluent-emojis added at cae981eb4c
66
gulpfile.js
66
gulpfile.js
@@ -1,66 +0,0 @@
|
|||||||
/**
|
|
||||||
* Gulp tasks
|
|
||||||
*/
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
const gulp = require('gulp');
|
|
||||||
const replace = require('gulp-replace');
|
|
||||||
const terser = require('gulp-terser');
|
|
||||||
const cssnano = require('gulp-cssnano');
|
|
||||||
|
|
||||||
const locales = require('./locales');
|
|
||||||
const meta = require('./package.json');
|
|
||||||
|
|
||||||
gulp.task('copy:backend:views', () =>
|
|
||||||
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:client:fonts', () =>
|
|
||||||
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:client:fontawesome', () =>
|
|
||||||
gulp.src('./packages/client/node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/'))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:client:locales', cb => {
|
|
||||||
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
|
|
||||||
|
|
||||||
const v = { '_version_': meta.version };
|
|
||||||
|
|
||||||
for (const [lang, locale] of Object.entries(locales)) {
|
|
||||||
fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
|
||||||
}
|
|
||||||
|
|
||||||
cb();
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build:backend:script', () => {
|
|
||||||
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
|
|
||||||
.pipe(replace('VERSION', JSON.stringify(meta.version)))
|
|
||||||
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
|
||||||
.pipe(terser({
|
|
||||||
toplevel: true
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build:backend:style', () => {
|
|
||||||
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css'])
|
|
||||||
.pipe(cssnano({
|
|
||||||
zindex: false
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build', gulp.parallel(
|
|
||||||
'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts', 'copy:client:fontawesome'
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task('default', gulp.task('build'));
|
|
||||||
|
|
||||||
gulp.task('watch', () => {
|
|
||||||
gulp.watch([
|
|
||||||
'./packages/*/src/**/*',
|
|
||||||
], { ignoreInitial: false }, gulp.task('build'));
|
|
||||||
});
|
|
||||||
65
gulpfile.mjs
Normal file
65
gulpfile.mjs
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* Gulp tasks
|
||||||
|
*/
|
||||||
|
|
||||||
|
import * as fs from 'node:fs';
|
||||||
|
import gulp from 'gulp';
|
||||||
|
import replace from 'gulp-replace';
|
||||||
|
import terser from 'gulp-terser';
|
||||||
|
import cssnano from 'gulp-cssnano';
|
||||||
|
|
||||||
|
import locales from './locales/index.js';
|
||||||
|
import meta from './package.json' assert { type: "json" };
|
||||||
|
|
||||||
|
gulp.task('copy:backend:views', () =>
|
||||||
|
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
|
||||||
|
);
|
||||||
|
|
||||||
|
gulp.task('copy:frontend:fonts', () =>
|
||||||
|
gulp.src('./packages/frontend/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_frontend_dist_/fonts/'))
|
||||||
|
);
|
||||||
|
|
||||||
|
gulp.task('copy:frontend:tabler-icons', () =>
|
||||||
|
gulp.src('./packages/frontend/node_modules/@tabler/icons-webfont/**/*').pipe(gulp.dest('./built/_frontend_dist_/tabler-icons/'))
|
||||||
|
);
|
||||||
|
|
||||||
|
gulp.task('copy:frontend:locales', cb => {
|
||||||
|
fs.mkdirSync('./built/_frontend_dist_/locales', { recursive: true });
|
||||||
|
|
||||||
|
const v = { '_version_': meta.version };
|
||||||
|
|
||||||
|
for (const [lang, locale] of Object.entries(locales)) {
|
||||||
|
fs.writeFileSync(`./built/_frontend_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
cb();
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build:backend:script', () => {
|
||||||
|
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
|
||||||
|
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
||||||
|
.pipe(terser({
|
||||||
|
toplevel: true
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build:backend:style', () => {
|
||||||
|
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css', './packages/backend/src/server/web/error.css'])
|
||||||
|
.pipe(cssnano({
|
||||||
|
zindex: false
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('build', gulp.parallel(
|
||||||
|
'copy:frontend:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:frontend:fonts', 'copy:frontend:tabler-icons'
|
||||||
|
));
|
||||||
|
|
||||||
|
gulp.task('default', gulp.task('build'));
|
||||||
|
|
||||||
|
gulp.task('watch', () => {
|
||||||
|
gulp.watch([
|
||||||
|
'./packages/*/src/**/*',
|
||||||
|
], { ignoreInitial: false }, gulp.task('build'));
|
||||||
|
});
|
||||||
4
healthcheck.sh
Normal file
4
healthcheck.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}')
|
||||||
|
curl -s -S -o /dev/null "http://localhost:${PORT}"
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -52,6 +52,7 @@ searchUser: "ব্যবহারকারী খুঁজুন..."
|
|||||||
reply: "জবাব"
|
reply: "জবাব"
|
||||||
loadMore: "আরও দেখুন"
|
loadMore: "আরও দেখুন"
|
||||||
showMore: "আরও দেখুন"
|
showMore: "আরও দেখুন"
|
||||||
|
showLess: "বন্ধ"
|
||||||
youGotNewFollower: "আপনাকে অনুসরণ করছে"
|
youGotNewFollower: "আপনাকে অনুসরণ করছে"
|
||||||
receiveFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
|
receiveFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
|
||||||
followRequestAccepted: "অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
|
followRequestAccepted: "অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
|
||||||
@@ -106,6 +107,7 @@ clickToShow: "দেখার জন্য ক্লিক করুন"
|
|||||||
sensitive: "সংবেদনশীল বিষয়বস্তু"
|
sensitive: "সংবেদনশীল বিষয়বস্তু"
|
||||||
add: "যুক্ত করুন"
|
add: "যুক্ত করুন"
|
||||||
reaction: "প্রতিক্রিয়া"
|
reaction: "প্রতিক্রিয়া"
|
||||||
|
reactions: "প্রতিক্রিয়া"
|
||||||
reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
|
reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
|
||||||
reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।"
|
reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।"
|
||||||
rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন"
|
rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন"
|
||||||
@@ -163,7 +165,6 @@ annotation: "মন্তব্য"
|
|||||||
federation: "ফেডিভার্স"
|
federation: "ফেডিভার্স"
|
||||||
instances: "ইন্সট্যান্স"
|
instances: "ইন্সট্যান্স"
|
||||||
registeredAt: "যোগ দিয়েছেন"
|
registeredAt: "যোগ দিয়েছেন"
|
||||||
latestRequestSentAt: "শেষ রিকুয়েস্ট পাঠানো হয়েছে"
|
|
||||||
latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে"
|
latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে"
|
||||||
latestStatus: "সর্বশেষ অবস্থা"
|
latestStatus: "সর্বশেষ অবস্থা"
|
||||||
storageUsage: "স্টোরেজের ব্যাবহার"
|
storageUsage: "স্টোরেজের ব্যাবহার"
|
||||||
@@ -251,12 +252,12 @@ noMoreHistory: "আর কোন ইতিহাস নেই"
|
|||||||
startMessaging: "চ্যাট শুরু করুন"
|
startMessaging: "চ্যাট শুরু করুন"
|
||||||
nUsersRead: "{n} জন পড়েছেন"
|
nUsersRead: "{n} জন পড়েছেন"
|
||||||
agreeTo: "{0} এর প্রতি আমি সম্মত"
|
agreeTo: "{0} এর প্রতি আমি সম্মত"
|
||||||
tos: "পরিষেবার শর্তাদি"
|
|
||||||
start: "শুরু করুন"
|
start: "শুরু করুন"
|
||||||
home: "মূল পাতা"
|
home: "মূল পাতা"
|
||||||
remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।"
|
remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।"
|
||||||
activity: "কার্যকলাপ"
|
activity: "কার্যকলাপ"
|
||||||
images: "ছবি"
|
images: "ছবি"
|
||||||
|
image: "ছবি"
|
||||||
birthday: "জন্মদিন"
|
birthday: "জন্মদিন"
|
||||||
yearsOld: "{age} বছর"
|
yearsOld: "{age} বছর"
|
||||||
registeredDate: "যোগদানের তারিখ"
|
registeredDate: "যোগদানের তারিখ"
|
||||||
@@ -293,7 +294,6 @@ copyUrl: "URL কপি করুন"
|
|||||||
rename: "পুনঃনামকরণ"
|
rename: "পুনঃনামকরণ"
|
||||||
avatar: "প্রোফাইল ছবি"
|
avatar: "প্রোফাইল ছবি"
|
||||||
banner: "ব্যানার"
|
banner: "ব্যানার"
|
||||||
nsfw: "সংবেদনশীল বিষয়বস্তু"
|
|
||||||
whenServerDisconnected: "সার্ভারের সাথে সংযোগ বিচ্ছিন্ন হয়ে গেলে"
|
whenServerDisconnected: "সার্ভারের সাথে সংযোগ বিচ্ছিন্ন হয়ে গেলে"
|
||||||
disconnectedFromServer: "সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়েছে"
|
disconnectedFromServer: "সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়েছে"
|
||||||
reload: "আবার লোড করুন"
|
reload: "আবার লোড করুন"
|
||||||
@@ -325,8 +325,6 @@ disablingTimelinesInfo: "আপনি এই টাইমলাইনগুল
|
|||||||
registration: "নিবন্ধন"
|
registration: "নিবন্ধন"
|
||||||
enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
|
enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
|
||||||
invite: "আমন্ত্রণ"
|
invite: "আমন্ত্রণ"
|
||||||
proxyRemoteFiles: "রিমোট ফাইলসমুহ প্রক্সি করুন"
|
|
||||||
proxyRemoteFilesDescription: "যখন এই সেটিংটি চালু থাকে, তখন অসংরক্ষিত বা অতিরিক্ত ক্ষমতার কারণে দূরবর্তী ফাইলগুলিকে স্থানীয়ভাবে প্রক্সি করা হবে এবং থাম্বনেলগুলিও তৈরি করা হবে৷ সার্ভার স্টোরেজ ব্যাবহার করে না,"
|
|
||||||
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
|
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
|
||||||
driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
|
driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
|
||||||
inMb: "মেগাবাইটে লিখুন"
|
inMb: "মেগাবাইটে লিখুন"
|
||||||
@@ -348,6 +346,8 @@ recaptcha: "reCAPTCHA"
|
|||||||
enableRecaptcha: "reCAPTCHA চালু করুন"
|
enableRecaptcha: "reCAPTCHA চালু করুন"
|
||||||
recaptchaSiteKey: "সাইট কী"
|
recaptchaSiteKey: "সাইট কী"
|
||||||
recaptchaSecretKey: "সিক্রেট কী"
|
recaptchaSecretKey: "সিক্রেট কী"
|
||||||
|
turnstileSiteKey: "সাইট কী"
|
||||||
|
turnstileSecretKey: "সিক্রেট কী"
|
||||||
avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে একাধিক Captcha চালু রাখতে পারেন।"
|
avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে একাধিক Captcha চালু রাখতে পারেন।"
|
||||||
antennas: "অ্যান্টেনা"
|
antennas: "অ্যান্টেনা"
|
||||||
manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা"
|
manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা"
|
||||||
@@ -381,12 +381,9 @@ about: "আপনার সম্পর্কে"
|
|||||||
aboutMisskey: "Misskey সম্পর্কে"
|
aboutMisskey: "Misskey সম্পর্কে"
|
||||||
administrator: "প্রশাসক"
|
administrator: "প্রশাসক"
|
||||||
token: "টোকেন"
|
token: "টোকেন"
|
||||||
twoStepAuthentication: "২-ধাপ প্রমাণীকরণ"
|
|
||||||
moderator: "মডারেটর"
|
moderator: "মডারেটর"
|
||||||
nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে"
|
nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে"
|
||||||
securityKey: "সিকিউরিটি কী"
|
securityKey: "সিকিউরিটি কী"
|
||||||
securityKeyName: "কী'র নাম"
|
|
||||||
registerSecurityKey: "সিকিউরিটি কী নিবন্ধন করুন"
|
|
||||||
lastUsed: "শেষ ব্যাবহার করা হয়েছে"
|
lastUsed: "শেষ ব্যাবহার করা হয়েছে"
|
||||||
unregister: "নিবন্ধনমুক্ত হন"
|
unregister: "নিবন্ধনমুক্ত হন"
|
||||||
passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন"
|
passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন"
|
||||||
@@ -404,25 +401,15 @@ markAsReadAllTalkMessages: "সমস্ত মেসেজ পঠিত হি
|
|||||||
help: "সহায়তা"
|
help: "সহায়তা"
|
||||||
inputMessageHere: "এখানে মেসেজ লিখুন"
|
inputMessageHere: "এখানে মেসেজ লিখুন"
|
||||||
close: "বন্ধ"
|
close: "বন্ধ"
|
||||||
group: "গ্রুপ"
|
|
||||||
groups: "গ্রুপসমূহ"
|
|
||||||
createGroup: "গ্রুপ তৈরী করুন"
|
|
||||||
ownedGroups: "আপনার গ্রুপগুলি"
|
|
||||||
joinedGroups: "যেসব গ্রুপে আপনি আছেন"
|
|
||||||
invites: "আমন্ত্রণ"
|
invites: "আমন্ত্রণ"
|
||||||
groupName: "গ্রুপের নাম"
|
|
||||||
members: "সদস্যবৃন্দ"
|
members: "সদস্যবৃন্দ"
|
||||||
transfer: "হস্তান্তর"
|
transfer: "হস্তান্তর"
|
||||||
messagingWithUser: "প্রাইভেট চ্যাট"
|
|
||||||
messagingWithGroup: "গ্রুপ চ্যাট"
|
|
||||||
title: "শিরোনাম"
|
title: "শিরোনাম"
|
||||||
text: "পাঠ্য"
|
text: "পাঠ্য"
|
||||||
enable: "সক্রিয়"
|
enable: "সক্রিয়"
|
||||||
next: "পরবর্তী"
|
next: "পরবর্তী"
|
||||||
retype: "পুনঃ প্রবেশ"
|
retype: "পুনঃ প্রবেশ"
|
||||||
noteOf: "{user} এর নোট"
|
noteOf: "{user} এর নোট"
|
||||||
inviteToGroup: "গ্রুপে আমন্ত্রণ জানান"
|
|
||||||
maxNoteTextLength: "নোট এর সর্বোচ্চ দৈর্ঘ্য"
|
|
||||||
quoteAttached: "উদ্ধৃত"
|
quoteAttached: "উদ্ধৃত"
|
||||||
quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
|
quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
|
||||||
noMessagesYet: "কোন মেসেজ নেই"
|
noMessagesYet: "কোন মেসেজ নেই"
|
||||||
@@ -444,19 +431,13 @@ passwordMatched: "মিলেছে"
|
|||||||
passwordNotMatched: "মিলেনি"
|
passwordNotMatched: "মিলেনি"
|
||||||
signinWith: "{x} এর সাহায্যে সাইন ইন করুন"
|
signinWith: "{x} এর সাহায্যে সাইন ইন করুন"
|
||||||
signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন."
|
signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন."
|
||||||
tapSecurityKey: "সিকিউরিটি কী স্পর্শ করুন"
|
|
||||||
or: "অথবা"
|
or: "অথবা"
|
||||||
language: "ভাষা"
|
language: "ভাষা"
|
||||||
uiLanguage: "UI এর ভাষা"
|
uiLanguage: "UI এর ভাষা"
|
||||||
groupInvited: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
|
|
||||||
aboutX: "{x} সম্পর্কে"
|
aboutX: "{x} সম্পর্কে"
|
||||||
useOsNativeEmojis: "অপারেটিং সিস্টেমের নেটিভ ইমোজি ব্যবহার করুন"
|
|
||||||
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
|
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
|
||||||
youHaveNoGroups: "আপনার কোন গ্রুপ নেই "
|
|
||||||
joinOrCreateGroup: "একটি বিদ্যমান গ্রুপের আমন্ত্রণ পান বা একটি নতুন গ্রুপ তৈরি করুন৷"
|
|
||||||
noHistory: "কোনো ইতিহাস নেই"
|
noHistory: "কোনো ইতিহাস নেই"
|
||||||
signinHistory: "প্রবেশ করার ইতিহাস"
|
signinHistory: "প্রবেশ করার ইতিহাস"
|
||||||
disableAnimatedMfm: "অ্যানিমেটেড MFM অক্ষম করুন"
|
|
||||||
doing: "প্রক্রিয়া করছে..."
|
doing: "প্রক্রিয়া করছে..."
|
||||||
category: "বিভাগ"
|
category: "বিভাগ"
|
||||||
tags: "ট্যাগসমূহ"
|
tags: "ট্যাগসমূহ"
|
||||||
@@ -503,6 +484,7 @@ deleteAll: "সব মুছুন"
|
|||||||
showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান"
|
showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান"
|
||||||
newNoteRecived: "নতুন নোট আছে"
|
newNoteRecived: "নতুন নোট আছে"
|
||||||
sounds: "শব্দ"
|
sounds: "শব্দ"
|
||||||
|
sound: "শব্দ"
|
||||||
listen: "শুনুন"
|
listen: "শুনুন"
|
||||||
none: "কিছুই না"
|
none: "কিছুই না"
|
||||||
showInPage: "পেজে দেখান"
|
showInPage: "পেজে দেখান"
|
||||||
@@ -579,7 +561,6 @@ tokenRequested: "অ্যাকাউন্টে অ্যাক্সেস
|
|||||||
pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
|
pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
|
||||||
notificationType: "বিজ্ঞপ্তির ধরন"
|
notificationType: "বিজ্ঞপ্তির ধরন"
|
||||||
edit: "সম্পাদনা"
|
edit: "সম্পাদনা"
|
||||||
useStarForReactionFallback: "রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
|
|
||||||
emailServer: "ইমেইল সার্ভার"
|
emailServer: "ইমেইল সার্ভার"
|
||||||
enableEmail: "ইমেইল বিতরণ চালু করুন"
|
enableEmail: "ইমেইল বিতরণ চালু করুন"
|
||||||
emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
|
emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
|
||||||
@@ -821,8 +802,6 @@ deleteAccountConfirm: "আপনার অ্যাকাউন্ট মুছ
|
|||||||
incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।"
|
incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।"
|
||||||
voteConfirm: "\"{choice}\" এ ভোট দিতে চান?"
|
voteConfirm: "\"{choice}\" এ ভোট দিতে চান?"
|
||||||
hide: "লুকান"
|
hide: "লুকান"
|
||||||
leaveGroup: "গ্রুপ ছেড়ে চলে যান"
|
|
||||||
leaveGroupConfirm: "\"{name}\" গ্রুপ ছেড়ে চলে যেতে চান?"
|
|
||||||
useDrawerReactionPickerForMobile: "মোবাইলে রিঅ্যাকশন পিকারকে ড্রয়ারে প্রদর্শন করুন"
|
useDrawerReactionPickerForMobile: "মোবাইলে রিঅ্যাকশন পিকারকে ড্রয়ারে প্রদর্শন করুন"
|
||||||
welcomeBackWithName: "আবার স্বাগতম, {name}"
|
welcomeBackWithName: "আবার স্বাগতম, {name}"
|
||||||
clickToFinishEmailVerification: " [{ok}] ক্লিক করার মাধ্যমে আপনার ইমেল ঠিকানা নিশ্চিত করুন।"
|
clickToFinishEmailVerification: " [{ok}] ক্লিক করার মাধ্যমে আপনার ইমেল ঠিকানা নিশ্চিত করুন।"
|
||||||
@@ -831,6 +810,39 @@ smartphone: "স্মার্টফোন"
|
|||||||
tablet: "ট্যাবলেট"
|
tablet: "ট্যাবলেট"
|
||||||
auto: "স্বয়ংক্রিয়"
|
auto: "স্বয়ংক্রিয়"
|
||||||
themeColor: "থিমের রং"
|
themeColor: "থিমের রং"
|
||||||
|
size: "আকার"
|
||||||
|
numberOfColumn: "কলামের সংখ্যা"
|
||||||
|
searchByGoogle: "গুগল"
|
||||||
|
instanceDefaultLightTheme: "ইন্সট্যান্সের ডিফল্ট লাইট থিম"
|
||||||
|
instanceDefaultDarkTheme: "ইন্সট্যান্সের ডিফল্ট ডার্ক থিম"
|
||||||
|
instanceDefaultThemeDescription: "অবজেক্ট ফরম্যাটে থিম কোড লিখুন"
|
||||||
|
mutePeriod: "মিউটের সময়কাল"
|
||||||
|
period: "পোলের সময়সীমা"
|
||||||
|
indefinitely: "অনির্দিষ্ট"
|
||||||
|
tenMinutes: "১০ মিনিট"
|
||||||
|
oneHour: "১ ঘণ্টা"
|
||||||
|
oneDay: "একদিন"
|
||||||
|
oneWeek: "এক সপ্তাহ"
|
||||||
|
reflectMayTakeTime: "এটির কাজ দেখা যেতে কিছুটা সময় লাগতে পারে।"
|
||||||
|
failedToFetchAccountInformation: "অ্যাকাউন্টের তথ্য উদ্ধার করা যায়নি"
|
||||||
|
rateLimitExceeded: "রেট লিমিট ছাড়িয়ে গেছে "
|
||||||
|
file: "ফাইলগুলি"
|
||||||
|
reverse: "উল্টান"
|
||||||
|
colored: "রঙ্গিন"
|
||||||
|
label: "লেবেল"
|
||||||
|
localOnly: "শুধুমাত্র লোকাল"
|
||||||
|
account: "অ্যাকাউন্টগুলি"
|
||||||
|
like: "পছন্দ করা"
|
||||||
|
show: "প্রদর্শন"
|
||||||
|
color: "রং"
|
||||||
|
horizontal: "পাশে"
|
||||||
|
youFollowing: "অনুসরণ করা হচ্ছে"
|
||||||
|
_role:
|
||||||
|
priority: "অগ্রাধিকার"
|
||||||
|
_priority:
|
||||||
|
low: "নিম্ন"
|
||||||
|
middle: "মাঝারি"
|
||||||
|
high: "উচ্চ"
|
||||||
_emailUnavailable:
|
_emailUnavailable:
|
||||||
used: "এই ইমেইল ঠিকানাটি ইতোমধ্যে ব্যবহৃত হয়েছে"
|
used: "এই ইমেইল ঠিকানাটি ইতোমধ্যে ব্যবহৃত হয়েছে"
|
||||||
format: "এই ইমেল ঠিকানাটি সঠিকভাবে লিখা হয়নি"
|
format: "এই ইমেল ঠিকানাটি সঠিকভাবে লিখা হয়নি"
|
||||||
@@ -855,6 +867,7 @@ _accountDelete:
|
|||||||
_ad:
|
_ad:
|
||||||
back: "পিছনে"
|
back: "পিছনে"
|
||||||
reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান"
|
reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান"
|
||||||
|
hide: "দেখাবেন না"
|
||||||
_forgotPassword:
|
_forgotPassword:
|
||||||
enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায় একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।"
|
enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায় একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।"
|
||||||
ifNoEmail: "আপনি যদি নিবন্ধনের সময় ই-মেইল ঠিকানা না দিয়ে থাকেন, তাহলে অনুগ্রহ করে প্রশাসকের সাথে যোগাযোগ করুন।"
|
ifNoEmail: "আপনি যদি নিবন্ধনের সময় ই-মেইল ঠিকানা না দিয়ে থাকেন, তাহলে অনুগ্রহ করে প্রশাসকের সাথে যোগাযোগ করুন।"
|
||||||
@@ -888,74 +901,6 @@ _aboutMisskey:
|
|||||||
donate: "Misskey তে দান করুন"
|
donate: "Misskey তে দান করুন"
|
||||||
morePatrons: "আরও অনেকে আমাদের সাহায্য করছেন। তাদের সবাইকে ধন্যবাদ 🥰"
|
morePatrons: "আরও অনেকে আমাদের সাহায্য করছেন। তাদের সবাইকে ধন্যবাদ 🥰"
|
||||||
patrons: "সমর্থনকারী"
|
patrons: "সমর্থনকারী"
|
||||||
_nsfw:
|
|
||||||
respect: "স্পর্শকাতর মিডিয়া লুকান"
|
|
||||||
ignore: "স্পর্শকাতর মিডিয়া লুকাবেন না"
|
|
||||||
force: "সকল মিডিয়া লুকান"
|
|
||||||
_mfm:
|
|
||||||
cheatSheet: "MFM চিটশিট"
|
|
||||||
intro: "MFM একটি মার্কআপ ভাষা যা Misskey-এর মধ্যে বিভিন্ন জায়গায় ব্যবহার করা যেতে পারে। এখানে আপনি MFM-এর সিনট্যাক্সগুলির একটি তালিকা দেখতে পারবেন।"
|
|
||||||
dummy: "মিসকি ফেডিভার্সের বিশ্বকে প্রসারিত করে"
|
|
||||||
mention: "উল্লেখ"
|
|
||||||
mentionDescription: "@ চিহ্ন + ব্যবহারকারীর নাম একটি নির্দিষ্ট ব্যবহারকারীকে নির্দেশ করতে ব্যবহার করা যায়।"
|
|
||||||
hashtag: "হ্যাশট্যাগ"
|
|
||||||
hashtagDescription: "আপনি একটি # চিহ্ন + ট্যাগ সহ একটি হ্যাশট্যাগ নির্দেশ করতে পারেন।"
|
|
||||||
url: "URL"
|
|
||||||
urlDescription: "URL দেখানো সম্ভব।"
|
|
||||||
link: "লিংক"
|
|
||||||
linkDescription: "আপনি পাঠ্যের একটি নির্দিষ্ট অংশকে URL হিসাবে দেখাতে পারেন৷"
|
|
||||||
bold: "গাঢ়"
|
|
||||||
boldDescription: "অক্ষরগুলিকে মোটাকরে প্রদর্শন করা হবে।"
|
|
||||||
small: "ছোট"
|
|
||||||
smallDescription: "লেখা ছোট এবং পাতলা করে দেখানো হবে।"
|
|
||||||
center: "সেন্টার"
|
|
||||||
centerDescription: "লেখা মাঝ বরাবর দেখানো হবে"
|
|
||||||
inlineCode: "কোড (ইনলাইন)"
|
|
||||||
inlineCodeDescription: " প্রোগ্রামের কোডের জন্য ইনলাইন সিনট্যাক্স হাইলাইটিং করা হবে"
|
|
||||||
blockCode: "কোড (ব্লক)"
|
|
||||||
blockCodeDescription: "মাল্টি-লাইন প্রোগ্রামের কোডের জন্য সিনট্যাক্স হাইলাইট করে।"
|
|
||||||
inlineMath: "গাণিতিক সূত্র (ইনলাইন)"
|
|
||||||
inlineMathDescription: "গাণিতিক সূত্র প্রদর্শন করুন (KaTeX) ইনলাইন।"
|
|
||||||
blockMath: "গাণিতিক সূত্র (ব্লক)"
|
|
||||||
blockMathDescription: "একটি ব্লকে একাধিক লাইনের গাণিতিক সূত্র প্রদর্শন করুন (KaTeX)।"
|
|
||||||
quote: "উদ্ধৃতি"
|
|
||||||
quoteDescription: "বিষয়বস্তুকে একটি উদ্ধৃতি হিসাবে দেখানো হবে।"
|
|
||||||
emoji: "স্বনির্ধারিত ইমোজিগুলি"
|
|
||||||
emojiDescription: "আপনি একটি কাস্টম ইমোজির নাম কোলনে আবদ্ধ করে কাস্টম ইমোজিটি দেখাতে পারেন৷"
|
|
||||||
search: "খুঁজুন"
|
|
||||||
searchDescription: "পূর্ব-টাইপ করা পাঠ্য সহ একটি অনুসন্ধান বাক্স প্রদর্শন করে।"
|
|
||||||
flip: "উল্টান"
|
|
||||||
flipDescription: "বিষয়বস্তু উপরে/নীচে বা বাম/ডানে উল্টান।"
|
|
||||||
jelly: "অ্যানিমেশন (জেলি)"
|
|
||||||
jellyDescription: "জেলির মত অ্যানিমেশন দেখায়।"
|
|
||||||
tada: "অ্যানিমেশন (টাডা)"
|
|
||||||
tadaDescription: "\"টাডা!\" এর মত অ্যানিমেশন দেখায়।"
|
|
||||||
jump: "অ্যানিমেশন (লাফ)"
|
|
||||||
jumpDescription: "বিষয়বস্তুতে লাফ মারার মত অ্যানিমেশন দেখায়।"
|
|
||||||
bounce: "অ্যানিমেশন (তিড়িং বিড়িং)"
|
|
||||||
bounceDescription: "তিড়িং বিড়িং করার মত অ্যানিমেশন দেখায়।"
|
|
||||||
shake: "অ্যানিমেশন (ঝাঁকি)"
|
|
||||||
shakeDescription: "ঝাঁকির মত অ্যানিমেশন দেখায়।"
|
|
||||||
twitch: "অ্যানিমেশন (মোচড়ানো)"
|
|
||||||
twitchDescription: "মোচড়ানোর মত অ্যানিমেশন দেখায়।"
|
|
||||||
spin: "অ্যানিমেশন (ঘুরা)"
|
|
||||||
spinDescription: "ঘুরার মত অ্যানিমেশন দেখায়।"
|
|
||||||
x2: "বড়"
|
|
||||||
x2Description: "বিষয়বস্তু বড় করে দেখায়।"
|
|
||||||
x3: "অনেক বড়"
|
|
||||||
x3Description: "বিষয়বস্তু আরও বড় করে দেখায়।"
|
|
||||||
x4: "অস্বাভাবিক বড়"
|
|
||||||
x4Description: "বিষয়বস্তুকে আগের থেকেও আরও বড় করে দেখায়।"
|
|
||||||
blur: "ব্লার"
|
|
||||||
blurDescription: "বিষয়বস্তুকে ব্লার করতে পারেন। আপনি এর উপর মাউস কার্সার রাখলে, এটি পরিষ্কারভাবে দেখতে পাবেন।"
|
|
||||||
font: "ফন্ট"
|
|
||||||
fontDescription: "বিষয়বস্তুকে কোন ফন্টে দেখানো হবে তা নির্ধারণ করে।"
|
|
||||||
rainbow: "রেইনবো"
|
|
||||||
rainbowDescription: "বিষয়বস্তুকে রংধনুর রং গুলিতে প্রদর্শন করে।"
|
|
||||||
sparkle: "চিক চিক"
|
|
||||||
sparkleDescription: "বিষয়বস্তুকে একটি চিকচিকে কণা প্রভাব দেয়।"
|
|
||||||
rotate: "ঘুরান"
|
|
||||||
rotateDescription: "বিষয়বস্তুকে একটি নির্দিষ্ট কোনে ঘুরায়।"
|
|
||||||
_instanceTicker:
|
_instanceTicker:
|
||||||
none: "দেখাবেন না"
|
none: "দেখাবেন না"
|
||||||
remote: "রিমোট ব্যাবহারকারীদের জন্য দেখান"
|
remote: "রিমোট ব্যাবহারকারীদের জন্য দেখান"
|
||||||
@@ -1076,7 +1021,6 @@ _sfx:
|
|||||||
antenna: "অ্যান্টেনাগুলি"
|
antenna: "অ্যান্টেনাগুলি"
|
||||||
channel: "চ্যানেলের বিজ্ঞপ্তি"
|
channel: "চ্যানেলের বিজ্ঞপ্তি"
|
||||||
_ago:
|
_ago:
|
||||||
unknown: "অজানা"
|
|
||||||
future: "ভবিষ্যৎ"
|
future: "ভবিষ্যৎ"
|
||||||
justNow: "এইমাত্র"
|
justNow: "এইমাত্র"
|
||||||
secondsAgo: "{n} সেকেন্ড আগে"
|
secondsAgo: "{n} সেকেন্ড আগে"
|
||||||
@@ -1086,40 +1030,17 @@ _ago:
|
|||||||
weeksAgo: "{n} সপ্তাহ আগে"
|
weeksAgo: "{n} সপ্তাহ আগে"
|
||||||
monthsAgo: "{n} মাস আগে"
|
monthsAgo: "{n} মাস আগে"
|
||||||
yearsAgo: "{n} বছর আগে"
|
yearsAgo: "{n} বছর আগে"
|
||||||
|
invalid: "এখানে কিছুই নাই"
|
||||||
_time:
|
_time:
|
||||||
second: "সেকেন্ড"
|
second: "সেকেন্ড"
|
||||||
minute: "মিনিট"
|
minute: "মিনিট"
|
||||||
hour: "ঘণ্টা"
|
hour: "ঘণ্টা"
|
||||||
day: "দিন"
|
day: "দিন"
|
||||||
_tutorial:
|
|
||||||
title: "Misskey কিভাবে ব্যাবহার করবেন"
|
|
||||||
step1_1: "স্বাগতম!"
|
|
||||||
step1_2: "এই স্ক্রীনটিকে \"টাইমলাইন\" বলা হয় এবং কালানুক্রমিক ক্রমে আপনার এবং আপনি যাদের \"অনুসরণ করেন\" তাদের \"নোটগুলি\" দেখায়৷"
|
|
||||||
step1_3: "আপনি আপনার টাইমলাইনে কিছু দেখতে পাবেন না কারণ আপনি এখনও কোনো নোট পোস্ট করেননি এবং আপনি কাউকে অনুসরণ করছেন না৷"
|
|
||||||
step2_1: "নোট তৈরি করার আগে বা কাউকে অনুসরণ করার আগে প্রথমে আপনার প্রোফাইলটি সম্পূর্ণ করুন।"
|
|
||||||
step2_2: "আপনি কে তা জানা অনেক লোকের জন্য আপনার নোটগুলি দেখা এবং অনুসরণ করাকে সহজ করে তোলে৷"
|
|
||||||
step3_1: "আপনি কি সফলভাবে আপনার প্রোফাইল সেট আপ করেছেন?"
|
|
||||||
step3_2: "এখন, কিছু নোট পোস্ট করার চেষ্টা করুন। পোস্ট ফর্ম খুলতে পেন্সিল চিহ্নযুক্ত বাটনে ক্লিক করুন।"
|
|
||||||
step3_3: "বিষয়বস্তু লেখার পরে, আপনি ফর্মের উপরের ডানদিকের বাটনে ক্লিক করে পোস্ট করতে পারেন।"
|
|
||||||
step3_4: "পোস্ট করার মত কিছু মনে পরছে না? \"আমি মিসকি সেট আপ করছি\" বললে কেমন হয়?"
|
|
||||||
step4_1: "পোস্ট করেছেন?"
|
|
||||||
step4_2: "সাবাশ! এখন আপনার নোট টাইমলাইনে দেখা যাবে।"
|
|
||||||
step5_1: "এখন অন্যদেরকে অনুসরণ করে আপনার টাইমলাইনকে প্রাণবন্ত করে তুলুন।"
|
|
||||||
step5_2: "আপনি {featured}-এ জনপ্রিয় নোটগুলি দেখতে পারেন, যাতে আপনি যে ব্যক্তিকে পছন্দ করেন তাকে বেছে নিতে এবং অনুসরণ করতে পারেন, অথবা {explore}-এ জনপ্রিয় ব্যবহারকারীদের দেখতে পারেন৷"
|
|
||||||
step5_3: "একজন ব্যবহারকারীকে অনুসরণ করতে, ব্যবহারকারীর আইকনে ক্লিক করুন এবং ব্যবহারকারীর পৃষ্ঠাতে \"অনুসরণ করুন\" বাটনে ক্লিক করুন।"
|
|
||||||
step5_4: "যদি ব্যবহারকারীর নামের পাশে একটি লক আইকন থাকে তাহলে আপনার অনুসরণের অনুরোধ গ্রহণ করার জন্য তারা কিছু সময় নিতে পারে।"
|
|
||||||
step6_1: "সবকিছু ঠিক থাকলে আপনি টাইমলাইনে অন্য ব্যবহারকারীদের নোট দেখতে পাবেন।"
|
|
||||||
step6_2: "আপনি সহজেই আপনার প্রতিক্রিয়া জানাতে অন্য ব্যক্তির নোটে \"রিঅ্যাকশন\" যোগ করতে পারেন।"
|
|
||||||
step6_3: "একটি রিঅ্যাকশন যোগ করতে, নোটে \"+\" চিহ্নে ক্লিক করুন এবং আপনার পছন্দের রিঅ্যাকশন নির্বাচন করুন।"
|
|
||||||
step7_1: "অভিনন্দন! আপনি এখন Misskey-র প্রাথমিক টিউটোরিয়ালটি শেষ করেছেন।"
|
|
||||||
step7_2: "আপনি যদি Misskey সম্পর্কে আরও জানতে চান, তাহলে {help} এ দেখুন।"
|
|
||||||
step7_3: "এখন Misskey উপভোগ করুন 🚀"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷"
|
alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷"
|
||||||
registerDevice: "নতুন ডিভাইস নিবন্ধন করুন"
|
|
||||||
registerKey: "সিকিউরিটি কী নিবন্ধন করুন"
|
|
||||||
step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷"
|
step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷"
|
||||||
step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।"
|
step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।"
|
||||||
|
step2Url: "ডেস্কটপ অ্যাপে, নিম্নলিখিত URL লিখুন:"
|
||||||
step3: "অ্যাপে প্রদর্শিত টোকেনটি লিখুন এবং আপনার কাজ শেষ।"
|
step3: "অ্যাপে প্রদর্শিত টোকেনটি লিখুন এবং আপনার কাজ শেষ।"
|
||||||
step4: "আপনাকে এখন থেকে লগ ইন করার সময়, এইভাবে টোকেন লিখতে হবে।"
|
step4: "আপনাকে এখন থেকে লগ ইন করার সময়, এইভাবে টোকেন লিখতে হবে।"
|
||||||
securityKeyInfo: "আপনি একটি হার্ডওয়্যার সিকিউরিটি কী ব্যবহার করে লগ ইন করতে পারেন যা FIDO2 বা ডিভাইসের ফিঙ্গারপ্রিন্ট সেন্সর বা পিন সমর্থন করে৷"
|
securityKeyInfo: "আপনি একটি হার্ডওয়্যার সিকিউরিটি কী ব্যবহার করে লগ ইন করতে পারেন যা FIDO2 বা ডিভাইসের ফিঙ্গারপ্রিন্ট সেন্সর বা পিন সমর্থন করে৷"
|
||||||
@@ -1168,7 +1089,6 @@ _antennaSources:
|
|||||||
homeTimeline: "আপনি অনুসরণ করছেন, এমন ব্যবহারকারীদের নোট"
|
homeTimeline: "আপনি অনুসরণ করছেন, এমন ব্যবহারকারীদের নোট"
|
||||||
users: "এক বা একাধিক নির্দিষ্ট ব্যবহারকারীর নোট"
|
users: "এক বা একাধিক নির্দিষ্ট ব্যবহারকারীর নোট"
|
||||||
userList: "নির্দিষ্ট তালিকায় নাম থাকা ব্যবহারকারীদের নোট"
|
userList: "নির্দিষ্ট তালিকায় নাম থাকা ব্যবহারকারীদের নোট"
|
||||||
userGroup: "নির্দিষ্ট গ্রুপে থাকা ব্যবহারকারীদের নোট"
|
|
||||||
_weekday:
|
_weekday:
|
||||||
sunday: "রবিবার"
|
sunday: "রবিবার"
|
||||||
monday: "সোমবার"
|
monday: "সোমবার"
|
||||||
@@ -1178,6 +1098,8 @@ _weekday:
|
|||||||
friday: "শুক্রবার"
|
friday: "শুক্রবার"
|
||||||
saturday: "শনিবার"
|
saturday: "শনিবার"
|
||||||
_widgets:
|
_widgets:
|
||||||
|
profile: "প্রোফাইল"
|
||||||
|
instanceInfo: "ইন্সট্যান্সের তথ্য"
|
||||||
memo: "স্টিকি নোট"
|
memo: "স্টিকি নোট"
|
||||||
notifications: "বিজ্ঞপ্তি"
|
notifications: "বিজ্ঞপ্তি"
|
||||||
timeline: "টাইমলাইন"
|
timeline: "টাইমলাইন"
|
||||||
@@ -1197,6 +1119,8 @@ _widgets:
|
|||||||
serverMetric: "সার্ভার মেট্রিক্স"
|
serverMetric: "সার্ভার মেট্রিক্স"
|
||||||
aiscript: "AiScript কনসোল"
|
aiscript: "AiScript কনসোল"
|
||||||
aichan: "আই চান"
|
aichan: "আই চান"
|
||||||
|
_userList:
|
||||||
|
chooseList: "লিস্ট নির্বাচন করুন"
|
||||||
_cw:
|
_cw:
|
||||||
hide: "লুকান"
|
hide: "লুকান"
|
||||||
show: "আরও দেখুন"
|
show: "আরও দেখুন"
|
||||||
@@ -1233,8 +1157,6 @@ _visibility:
|
|||||||
followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন"
|
followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন"
|
||||||
specified: "ডাইরেক্ট নোট"
|
specified: "ডাইরেক্ট নোট"
|
||||||
specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান"
|
specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান"
|
||||||
localOnly: "শুধুমাত্র লোকাল"
|
|
||||||
localOnlyDescription: "রিমোট ব্যাবহারকারীদের নিকট দৃশ্যমান নয়"
|
|
||||||
_postForm:
|
_postForm:
|
||||||
replyPlaceholder: "নোটটির জবাব দিন..."
|
replyPlaceholder: "নোটটির জবাব দিন..."
|
||||||
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
|
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
|
||||||
@@ -1297,6 +1219,12 @@ _timelines:
|
|||||||
local: "স্থানীয়"
|
local: "স্থানীয়"
|
||||||
social: "সামাজিক"
|
social: "সামাজিক"
|
||||||
global: "গ্লোবাল"
|
global: "গ্লোবাল"
|
||||||
|
_play:
|
||||||
|
viewSource: "উৎস দেখুন"
|
||||||
|
featured: "জনপ্রিয়"
|
||||||
|
title: "শিরোনাম"
|
||||||
|
script: "স্ক্রিপ্ট"
|
||||||
|
summary: "বর্ণনা"
|
||||||
_pages:
|
_pages:
|
||||||
newPage: "নতুন পৃষ্ঠা বানান"
|
newPage: "নতুন পৃষ্ঠা বানান"
|
||||||
editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
|
editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
|
||||||
@@ -1332,8 +1260,6 @@ _pages:
|
|||||||
eyeCatchingImageRemove: "থাম্বনেইল সরান"
|
eyeCatchingImageRemove: "থাম্বনেইল সরান"
|
||||||
chooseBlock: "ব্লক যোগ করুন"
|
chooseBlock: "ব্লক যোগ করুন"
|
||||||
selectType: "ধরন নির্বাচন করুন"
|
selectType: "ধরন নির্বাচন করুন"
|
||||||
enterVariableName: "চলকের নাম লিখুন"
|
|
||||||
variableNameIsAlreadyUsed: "চলকের নামটি ইতিপূর্বে ব্যাবহৃত হয়েছে"
|
|
||||||
contentBlocks: "বিষয়বস্তু"
|
contentBlocks: "বিষয়বস্তু"
|
||||||
inputBlocks: "ইনপুট"
|
inputBlocks: "ইনপুট"
|
||||||
specialBlocks: "বিশেষ"
|
specialBlocks: "বিশেষ"
|
||||||
@@ -1343,249 +1269,11 @@ _pages:
|
|||||||
section: "বিভাগ"
|
section: "বিভাগ"
|
||||||
image: "ছবি"
|
image: "ছবি"
|
||||||
button: "বাটন"
|
button: "বাটন"
|
||||||
if: "যদি"
|
|
||||||
_if:
|
|
||||||
variable: "চলকগুলি"
|
|
||||||
post: "নোট লিখুন"
|
|
||||||
_post:
|
|
||||||
text: "বিষয়বস্তু"
|
|
||||||
attachCanvasImage: "ক্যানভাস ছবিসহ পোস্ট করুন"
|
|
||||||
canvasId: "ক্যানভাস ID"
|
|
||||||
textInput: "টেক্সট ইনপুট"
|
|
||||||
_textInput:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
text: "শিরোনাম"
|
|
||||||
default: "ডিফল্ট মান"
|
|
||||||
textareaInput: "একাধিক লাইনের টেক্সট ইনপুট"
|
|
||||||
_textareaInput:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
text: "শিরোনাম"
|
|
||||||
default: "ডিফল্ট মান"
|
|
||||||
numberInput: "সংখ্যা ইনপুট"
|
|
||||||
_numberInput:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
text: "শিরোনাম"
|
|
||||||
default: "ডিফল্ট মান"
|
|
||||||
canvas: "ক্যানভাস"
|
|
||||||
_canvas:
|
|
||||||
id: "ক্যানভাস ID"
|
|
||||||
width: "প্রস্থ"
|
|
||||||
height: "উচ্চতা"
|
|
||||||
note: "এম্বেড নোট"
|
note: "এম্বেড নোট"
|
||||||
_note:
|
_note:
|
||||||
id: "নোট ID"
|
id: "নোট ID"
|
||||||
idDescription: "আপনি এর বদলে নোটের URL পেস্ট করতে পারেন."
|
idDescription: "আপনি এর বদলে নোটের URL পেস্ট করতে পারেন."
|
||||||
detailed: "বিস্তারিত দেখুন"
|
detailed: "বিস্তারিত দেখুন"
|
||||||
switch: "সুইচ"
|
|
||||||
_switch:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
text: "শিরোনাম"
|
|
||||||
default: "ডিফল্ট মান"
|
|
||||||
counter: "কাউন্টার"
|
|
||||||
_counter:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
text: "শিরোনাম"
|
|
||||||
inc: "এভাবে মান বাড়ান"
|
|
||||||
_button:
|
|
||||||
text: "শিরোনাম"
|
|
||||||
colored: "রঙ্গিন"
|
|
||||||
action: "বাটনে ক্লিক করলে যা হবে"
|
|
||||||
_action:
|
|
||||||
dialog: "ডায়ালগ দেখান "
|
|
||||||
_dialog:
|
|
||||||
content: "বিষয়বস্তু"
|
|
||||||
resetRandom: "র্যানডম সিড রিসেট করুন"
|
|
||||||
pushEvent: "ইভেন্ট পাঠান"
|
|
||||||
_pushEvent:
|
|
||||||
event: "ইভেন্টের নাম"
|
|
||||||
message: "চালু হলে প্রদর্শনের জন্য বার্তা"
|
|
||||||
variable: "পাঠানো চলক"
|
|
||||||
no-variable: "কিছুই না"
|
|
||||||
callAiScript: "AiScript চালান"
|
|
||||||
_callAiScript:
|
|
||||||
functionName: "ফাংশনের নাম"
|
|
||||||
radioButton: "বহুনির্বাচনী"
|
|
||||||
_radioButton:
|
|
||||||
name: "চলকের নাম"
|
|
||||||
title: "শিরোনাম"
|
|
||||||
values: "বিকল্পগুলিকে আলাদা লাইনে লিখুন"
|
|
||||||
default: "ডিফল্ট মান"
|
|
||||||
script:
|
|
||||||
categories:
|
|
||||||
flow: "নিয়ন্ত্রণ"
|
|
||||||
logical: "লজিক্যাল অপারেশন"
|
|
||||||
operation: "হিসাব-নিকাশ"
|
|
||||||
comparison: "তুলনা"
|
|
||||||
random: "র্যান্ডম"
|
|
||||||
value: "মান"
|
|
||||||
fn: "ফাংশন"
|
|
||||||
text: "টেক্সট ম্যানিপুলেশন"
|
|
||||||
convert: "রুপান্তর"
|
|
||||||
list: "লিস্ট"
|
|
||||||
blocks:
|
|
||||||
text: "লেখা"
|
|
||||||
multiLineText: "লেখা (একাধিক লাইন)"
|
|
||||||
textList: "লেখার লিস্ট"
|
|
||||||
_textList:
|
|
||||||
info: "প্রতিটি এন্ট্রিকে আলাদা লাইনে লিখুন"
|
|
||||||
strLen: "লেখার দৈর্ঘ্য"
|
|
||||||
_strLen:
|
|
||||||
arg1: "লেখা"
|
|
||||||
strPick: "অক্ষর বের করে আনুন"
|
|
||||||
_strPick:
|
|
||||||
arg1: "লেখা"
|
|
||||||
arg2: "অক্ষরের অবস্থান"
|
|
||||||
strReplace: "লেখা প্রতিস্থাপন"
|
|
||||||
_strReplace:
|
|
||||||
arg1: "লেখা"
|
|
||||||
arg2: "যে লেখা প্রতিস্থাপন করা হবে"
|
|
||||||
arg3: "যা দ্বারা প্রতিস্থাপন করা হবে"
|
|
||||||
strReverse: "লেখা উল্টান"
|
|
||||||
_strReverse:
|
|
||||||
arg1: "লেখা"
|
|
||||||
join: "লেখা যুক্ত করুন"
|
|
||||||
_join:
|
|
||||||
arg1: "লিস্ট"
|
|
||||||
arg2: "বিভাজক"
|
|
||||||
add: "যোগ"
|
|
||||||
_add:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
subtract: "বিয়োগ"
|
|
||||||
_subtract:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
multiply: "গুন"
|
|
||||||
_multiply:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
divide: "ভাগ"
|
|
||||||
_divide:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
mod: "ভাগশেষ"
|
|
||||||
_mod:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
round: "দশমিক রাউন্ড করুন"
|
|
||||||
_round:
|
|
||||||
arg1: "সংখ্যা"
|
|
||||||
eq: "A ও B সমান"
|
|
||||||
_eq:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
notEq: "A ও B সমান না"
|
|
||||||
_notEq:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
and: "A এবং B"
|
|
||||||
_and:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
or: "A অথবা B"
|
|
||||||
_or:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
lt: "< A , B হতে কম"
|
|
||||||
_lt:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
gt: "> A , B হতে বেশী"
|
|
||||||
_gt:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
ltEq: "<= A , B হতে কম বা সমান"
|
|
||||||
_ltEq:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
gtEq: ">= A , B হতে বেশী বা সমান"
|
|
||||||
_gtEq:
|
|
||||||
arg1: "A"
|
|
||||||
arg2: "B"
|
|
||||||
if: "যদি"
|
|
||||||
_if:
|
|
||||||
arg1: "যদি"
|
|
||||||
arg2: "তাহলে"
|
|
||||||
arg3: "তাছাড়া"
|
|
||||||
not: "না"
|
|
||||||
_not:
|
|
||||||
arg1: "না"
|
|
||||||
random: "র্যান্ডম"
|
|
||||||
_random:
|
|
||||||
arg1: "সম্ভাব্যতা"
|
|
||||||
rannum: "র্যানডম সংখ্যা"
|
|
||||||
_rannum:
|
|
||||||
arg1: "ন্যূনতম মান"
|
|
||||||
arg2: "সর্বোচ্চ মান"
|
|
||||||
randomPick: "তালিকা থেকে দৈবচয়ন করুন"
|
|
||||||
_randomPick:
|
|
||||||
arg1: "লিস্ট"
|
|
||||||
dailyRandom: "র্যান্ডম সংখ্যা (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
|
|
||||||
_dailyRandom:
|
|
||||||
arg1: "সম্ভাব্যতা"
|
|
||||||
dailyRannum: "র্যান্ডম সংখ্যা (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
|
|
||||||
_dailyRannum:
|
|
||||||
arg1: "ন্যূনতম মান"
|
|
||||||
arg2: "সর্বোচ্চ মান"
|
|
||||||
dailyRandomPick: "তালিকা থেকে এলোমেলোভাবে নির্বাচন করুন (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
|
|
||||||
_dailyRandomPick:
|
|
||||||
arg1: "লিস্ট"
|
|
||||||
seedRandom: "র্যানডম (সীড দ্বারা)"
|
|
||||||
_seedRandom:
|
|
||||||
arg1: "সীড"
|
|
||||||
arg2: "সম্ভাব্যতা"
|
|
||||||
seedRannum: "র্যানডম সংখ্যা (সীড দ্বারা)"
|
|
||||||
_seedRannum:
|
|
||||||
arg1: "সীড"
|
|
||||||
arg2: "ন্যূনতম মান"
|
|
||||||
arg3: "সর্বোচ্চ মান"
|
|
||||||
seedRandomPick: "তালিকা থেকে দৈবচয়ন করুন (সীড দ্বারা)"
|
|
||||||
_seedRandomPick:
|
|
||||||
arg1: "সীড"
|
|
||||||
arg2: "লিস্ট"
|
|
||||||
DRPWPM: "সম্ভাব্যতা সহ একটি তালিকা থেকে এলোমেলোভাবে নির্বাচন করুন (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন)"
|
|
||||||
_DRPWPM:
|
|
||||||
arg1: "লেখার লিস্ট"
|
|
||||||
pick: "তালিকা থেকে নির্বাচন করুন"
|
|
||||||
_pick:
|
|
||||||
arg1: "লিস্ট"
|
|
||||||
arg2: "অবস্থান"
|
|
||||||
listLen: "লিস্টের দৈর্ঘ্য পান"
|
|
||||||
_listLen:
|
|
||||||
arg1: "লিস্ট"
|
|
||||||
number: "সংখ্যা"
|
|
||||||
stringToNumber: "পাঠ্য থেকে সংখ্যা"
|
|
||||||
_stringToNumber:
|
|
||||||
arg1: "লেখা"
|
|
||||||
numberToString: "সংখ্যা থেকে পাঠ্য"
|
|
||||||
_numberToString:
|
|
||||||
arg1: "সংখ্যা"
|
|
||||||
splitStrByLine: "পাঠ্যকে লাইনে বিভক্ত করুন"
|
|
||||||
_splitStrByLine:
|
|
||||||
arg1: "লেখা"
|
|
||||||
ref: "চলক"
|
|
||||||
aiScriptVar: "AiScript চলক"
|
|
||||||
fn: "ফাংশন"
|
|
||||||
_fn:
|
|
||||||
slots: "স্লটগুলি"
|
|
||||||
slots-info: "প্রতিটি স্লটকে আলাদা লাইনে লিখুন"
|
|
||||||
arg1: "আউটপুট"
|
|
||||||
for: "for-লুপ"
|
|
||||||
_for:
|
|
||||||
arg1: "কতবার চলবে"
|
|
||||||
arg2: "অ্যাকশন"
|
|
||||||
typeError: "স্লট {slot}, {expect} ধরনের মান গ্রহণ করে, কিন্তু {actual} ধরনের মান দেওয়া হয়েছে!"
|
|
||||||
thereIsEmptySlot: "স্লট {slot} খালি!"
|
|
||||||
types:
|
|
||||||
string: "লেখা"
|
|
||||||
number: "সংখ্যা"
|
|
||||||
boolean: "ফ্ল্যাগ"
|
|
||||||
array: "লিস্ট"
|
|
||||||
stringArray: "লেখার লিস্ট"
|
|
||||||
emptySlot: "খালি স্লট"
|
|
||||||
enviromentVariables: "এনভাইরনমেন্ট ভ্যারিয়েবল"
|
|
||||||
pageVariables: "পেজের চলক"
|
|
||||||
argVariables: "ইনপুটের জায়গা"
|
|
||||||
_relayStatus:
|
_relayStatus:
|
||||||
requesting: "অপেক্ষমান"
|
requesting: "অপেক্ষমান"
|
||||||
accepted: "অনুমোদিত"
|
accepted: "অনুমোদিত"
|
||||||
@@ -1596,13 +1284,11 @@ _notification:
|
|||||||
youGotReply: "{name} আপনাকে জবাব দিয়েছে"
|
youGotReply: "{name} আপনাকে জবাব দিয়েছে"
|
||||||
youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে"
|
youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে"
|
||||||
youRenoted: "{name} এর Renote"
|
youRenoted: "{name} এর Renote"
|
||||||
youGotPoll: "{name} আপনার পোলে ভোট দিয়েছে"
|
|
||||||
youGotMessagingMessageFromUser: "{name} আপনাকে মেসেজ করেছে"
|
|
||||||
youGotMessagingMessageFromGroup: "{name} গ্রুপে একটি নতুন মেসেজ আছে"
|
|
||||||
youWereFollowed: "আপনাকে অনুসরণ করছে"
|
youWereFollowed: "আপনাকে অনুসরণ করছে"
|
||||||
youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
|
youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
|
||||||
yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
|
yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
|
||||||
youWereInvitedToGroup: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
|
pollEnded: "পোলের ফলাফল দেখা যাবে"
|
||||||
|
emptyPushNotificationMessage: "আপডেট করা পুশ বিজ্ঞপ্তি"
|
||||||
_types:
|
_types:
|
||||||
all: "সকল"
|
all: "সকল"
|
||||||
follow: "অনুসরণ করা হচ্ছে"
|
follow: "অনুসরণ করা হচ্ছে"
|
||||||
@@ -1611,17 +1297,19 @@ _notification:
|
|||||||
renote: "রিনোট"
|
renote: "রিনোট"
|
||||||
quote: "উদ্ধৃতি"
|
quote: "উদ্ধৃতি"
|
||||||
reaction: "প্রতিক্রিয়া"
|
reaction: "প্রতিক্রিয়া"
|
||||||
pollVote: "পোলে ভোট আছে"
|
pollEnded: "পোল শেষ"
|
||||||
receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
|
receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
|
||||||
followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
|
followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
|
||||||
groupInvited: "গ্রুপের আমন্ত্রনসমূহ"
|
|
||||||
app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
|
app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
|
||||||
|
_actions:
|
||||||
|
followBack: "ফলো ব্যাক করেছে"
|
||||||
|
reply: "জবাব"
|
||||||
|
renote: "রিনোট"
|
||||||
_deck:
|
_deck:
|
||||||
alwaysShowMainColumn: "সর্বদা মেইন কলাম দেখান"
|
alwaysShowMainColumn: "সর্বদা মেইন কলাম দেখান"
|
||||||
columnAlign: "কলাম সাজান"
|
columnAlign: "কলাম সাজান"
|
||||||
columnMargin: "কলামের মধ্যবর্তী মার্জিন"
|
|
||||||
columnHeaderHeight: "কলামের হেডারের উচ্চতা"
|
|
||||||
addColumn: "কলাম যুক্ত করুন"
|
addColumn: "কলাম যুক্ত করুন"
|
||||||
|
configureColumn: "কলাম সেটিংস"
|
||||||
swapLeft: "বামে সরান"
|
swapLeft: "বামে সরান"
|
||||||
swapRight: "ডানে সরান"
|
swapRight: "ডানে সরান"
|
||||||
swapUp: "উপরে উঠান"
|
swapUp: "উপরে উঠান"
|
||||||
@@ -1636,5 +1324,9 @@ _deck:
|
|||||||
tl: "টাইমলাইন"
|
tl: "টাইমলাইন"
|
||||||
antenna: "অ্যান্টেনা"
|
antenna: "অ্যান্টেনা"
|
||||||
list: "লিস্ট"
|
list: "লিস্ট"
|
||||||
|
channel: "চ্যানেলগুলি"
|
||||||
mentions: "উল্লেখসমূহ"
|
mentions: "উল্লেখসমূহ"
|
||||||
direct: "ডাইরেক্ট নোটগুলি"
|
direct: "ডাইরেক্ট নোটগুলি"
|
||||||
|
_webhookSettings:
|
||||||
|
name: "নাম"
|
||||||
|
active: "চালু"
|
||||||
|
|||||||
463
locales/ca-ES.yml
Normal file
463
locales/ca-ES.yml
Normal file
@@ -0,0 +1,463 @@
|
|||||||
|
---
|
||||||
|
_lang_: "Català"
|
||||||
|
headlineMisskey: "Una xarxa connectada per notes"
|
||||||
|
introMisskey: "Benvingut! Misskey és un servei de microblogging descentralitzat de codi obert.\nCrea \"notes\" per compartir els teus pensaments amb tots els que t'envolten. 📡\nAmb \"reaccions\", també pots expressar ràpidament els teus sentiments sobre les notes de tothom. 👍\nExplorem un món nou! 🚀"
|
||||||
|
poweredByMisskeyDescription: "{name} És un del serveis (anomenats instàncies de Misskey) que utilitzen la plataforma de codi obert <b>Misskey</b>."
|
||||||
|
monthAndDay: "{day}/{month}"
|
||||||
|
search: "Cercar"
|
||||||
|
notifications: "Notificacions"
|
||||||
|
username: "Nom d'usuari"
|
||||||
|
password: "Contrasenya"
|
||||||
|
forgotPassword: "Contrasenya oblidada"
|
||||||
|
fetchingAsApObject: "Cercant en el Fediverse..."
|
||||||
|
ok: "OK"
|
||||||
|
gotIt: "Ho he entès!"
|
||||||
|
cancel: "Cancel·lar"
|
||||||
|
enterUsername: "Introdueix el teu nom d'usuari"
|
||||||
|
renotedBy: "Impulsat per {usuari}"
|
||||||
|
noNotes: "Cap nota"
|
||||||
|
noNotifications: "Cap notificació"
|
||||||
|
instance: "Servidor"
|
||||||
|
settings: "Preferències"
|
||||||
|
basicSettings: "Configuració bàsica"
|
||||||
|
otherSettings: "Configuració avançada"
|
||||||
|
openInWindow: "Obrir en una nova finestra"
|
||||||
|
profile: "Perfil"
|
||||||
|
timeline: "Línia de temps"
|
||||||
|
noAccountDescription: "Aquest usuari encara no ha escrit la seva biografia."
|
||||||
|
login: "Iniciar sessió"
|
||||||
|
loggingIn: "Identificant-se"
|
||||||
|
logout: "Tancar la sessió"
|
||||||
|
signup: "Registrar-se"
|
||||||
|
uploading: "Pujant..."
|
||||||
|
save: "Desa"
|
||||||
|
users: "Usuaris"
|
||||||
|
addUser: "Afegir un usuari"
|
||||||
|
favorite: "Afegir a preferits"
|
||||||
|
favorites: "Favorits"
|
||||||
|
unfavorite: "Eliminar dels preferits"
|
||||||
|
favorited: "Afegit als preferits."
|
||||||
|
alreadyFavorited: "Ja s'ha afegit als preferits."
|
||||||
|
cantFavorite: "No s'ha pogut afegir als preferits."
|
||||||
|
pin: "Fixar al perfil"
|
||||||
|
unpin: "Para de fixar del perfil"
|
||||||
|
copyContent: "Copiar el contingut"
|
||||||
|
copyLink: "Copiar l'enllaç"
|
||||||
|
delete: "Elimina"
|
||||||
|
deleteAndEdit: "Elimina i edita"
|
||||||
|
deleteAndEditConfirm: "Segur que vols eliminar aquesta publicació i editar-la? Perdràs totes les reaccions, impulsos i respostes."
|
||||||
|
addToList: "Afegir a una llista"
|
||||||
|
sendMessage: "Enviar un missatge"
|
||||||
|
copyUsername: "Copiar nom d'usuari"
|
||||||
|
searchUser: "Cercar un usuari"
|
||||||
|
reply: "Respondre"
|
||||||
|
loadMore: "Carregar més"
|
||||||
|
showMore: "Veure més"
|
||||||
|
showLess: "Mostra menys"
|
||||||
|
youGotNewFollower: "t'ha seguit"
|
||||||
|
receiveFollowRequest: "Sol·licitud de seguiment rebuda"
|
||||||
|
followRequestAccepted: "Sol·licitud de seguiment acceptada"
|
||||||
|
mention: "Menció"
|
||||||
|
mentions: "Mencions"
|
||||||
|
directNotes: "Notes directes"
|
||||||
|
importAndExport: "Importar / Exportar"
|
||||||
|
import: "Importar"
|
||||||
|
export: "Exporta"
|
||||||
|
files: "Fitxers"
|
||||||
|
download: "Baixar"
|
||||||
|
driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer adjunt també se suprimiran."
|
||||||
|
unfollowConfirm: "Estàs segur que vols deixar de seguir {name}?"
|
||||||
|
exportRequested: "Has sol·licitat una exportació. Això pot trigar una estona. S'afegirà a la teva unitat un cop completat."
|
||||||
|
importRequested: "Has sol·licitat una importació. Això pot trigar una estona."
|
||||||
|
lists: "Llistes"
|
||||||
|
noLists: "No tens cap llista"
|
||||||
|
note: "Nota"
|
||||||
|
notes: "Notes"
|
||||||
|
following: "Seguint"
|
||||||
|
followers: "Seguidors"
|
||||||
|
followsYou: "Et segueix"
|
||||||
|
createList: "Crear llista"
|
||||||
|
manageLists: "Gestionar les llistes"
|
||||||
|
error: "Error"
|
||||||
|
somethingHappened: "S'ha produït un error"
|
||||||
|
retry: "Torna-ho a intentar"
|
||||||
|
pageLoadError: "S'ha produït un error en carregar la pàgina"
|
||||||
|
pageLoadErrorDescription: "Això normalment es deu a errors de xarxa o a la memòria cau del navegador. Prova d'esborrar la memòria cau i torna-ho a provar després d'esperar una estona."
|
||||||
|
serverIsDead: "Aquest servidor no respon. Espera una estona i torna-ho a provar."
|
||||||
|
youShouldUpgradeClient: "Per veure aquesta pàgina, actualitzeu-la per actualitzar el vostre client."
|
||||||
|
enterListName: "Introdueix un nom per a la llista"
|
||||||
|
privacy: "Privadesa"
|
||||||
|
makeFollowManuallyApprove: "Les sol·licituds de seguiment requereixen aprovació"
|
||||||
|
defaultNoteVisibility: "Visibilitat per defecte"
|
||||||
|
follow: "Seguint"
|
||||||
|
followRequest: "Enviar la sol·licitud de seguiment"
|
||||||
|
followRequests: "Sol·licituds de seguiment"
|
||||||
|
unfollow: "Deixar de seguir"
|
||||||
|
followRequestPending: "Sol·licituds de seguiment pendents"
|
||||||
|
enterEmoji: "Introduir un emoji"
|
||||||
|
renote: "Impulsa"
|
||||||
|
unrenote: "Anul·la l'impuls"
|
||||||
|
renoted: "S'ha impulsat"
|
||||||
|
cantRenote: "No es pot impulsar aquesta publicació"
|
||||||
|
cantReRenote: "No es pot impulsar l'impuls."
|
||||||
|
quote: "Cita"
|
||||||
|
pinnedNote: "Nota fixada"
|
||||||
|
pinned: "Fixar al perfil"
|
||||||
|
you: "Tu"
|
||||||
|
clickToShow: "Fes clic per mostrar"
|
||||||
|
sensitive: "NSFW"
|
||||||
|
add: "Afegir"
|
||||||
|
reaction: "Reaccions"
|
||||||
|
reactions: "Reaccions"
|
||||||
|
reactionSetting: "Reaccions a mostrar al selector de reaccions"
|
||||||
|
reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem \"+\" per afegir."
|
||||||
|
rememberNoteVisibility: "Recorda la configuració de visibilitat de les notes"
|
||||||
|
attachCancel: "Eliminar el fitxer adjunt"
|
||||||
|
markAsSensitive: "Marcar com a NSFW"
|
||||||
|
unmarkAsSensitive: "Deixar de marcar com a sensible"
|
||||||
|
enterFileName: "Defineix nom del fitxer"
|
||||||
|
mute: "Silencia"
|
||||||
|
unmute: "Deixa de silenciar"
|
||||||
|
block: "Bloqueja"
|
||||||
|
unblock: "Desbloqueja"
|
||||||
|
suspend: "Suspèn"
|
||||||
|
unsuspend: "Deixa de suspendre"
|
||||||
|
blockConfirm: "Vols bloquejar?"
|
||||||
|
unblockConfirm: "Vols desbloquejar-lo?"
|
||||||
|
suspendConfirm: "Estàs segur que vols suspendre aquest compte?"
|
||||||
|
unsuspendConfirm: "Estàs segur que vols treure la suspensió d'aquest compte?"
|
||||||
|
selectList: "Tria una llista"
|
||||||
|
selectAntenna: "Tria una antena"
|
||||||
|
selectWidget: "Triar un giny"
|
||||||
|
editWidgets: "Editar ginys"
|
||||||
|
editWidgetsExit: "Fet"
|
||||||
|
customEmojis: "Emojis personalitzats"
|
||||||
|
emoji: "Emoji"
|
||||||
|
emojis: "Emoji"
|
||||||
|
emojiName: "Nom del emoji"
|
||||||
|
emojiUrl: "URL del emoji"
|
||||||
|
addEmoji: "Afegeix un emoji"
|
||||||
|
settingGuide: "Configuració recomanada"
|
||||||
|
cacheRemoteFiles: "Emmagatzemar fitxers remots"
|
||||||
|
cacheRemoteFilesDescription: "Quan aquesta opció està desactivada, els fitxers remots es carreguen directament des del servidor remot. Si desactiveu això, es reduirà l'ús d'emmagatzematge, però augmentarà el trànsit, ja que no es generaran miniatures."
|
||||||
|
flagAsBot: "Marca aquest compte com a bot"
|
||||||
|
flagAsBotDescription: "Marca aquest compte com a bot"
|
||||||
|
flagAsCat: "Marca aquest compte com a gat"
|
||||||
|
flagAsCatDescription: "Activeu aquesta opció per marcar aquest compte com a gat."
|
||||||
|
flagShowTimelineReplies: "Mostra les respostes a la línia de temps"
|
||||||
|
flagShowTimelineRepliesDescription: "Mostra les respostes a la línia de temps"
|
||||||
|
autoAcceptFollowed: "Aprova automàticament les sol·licituds de seguiment dels usuaris que segueixes"
|
||||||
|
addAccount: "Afegeix un compte"
|
||||||
|
loginFailed: "S'ha produït un error al accedir."
|
||||||
|
showOnRemote: "Navega més en el perfil original"
|
||||||
|
general: "General"
|
||||||
|
wallpaper: "Fons de Pantalla"
|
||||||
|
setWallpaper: "Defineix el fons de pantalla"
|
||||||
|
removeWallpaper: "Elimina el fons de pantalla"
|
||||||
|
searchWith: "Cerca: {q}"
|
||||||
|
youHaveNoLists: "No tens cap llista"
|
||||||
|
followConfirm: "Estàs segur que vols deixar de seguir {name}?"
|
||||||
|
proxyAccount: "Compte de proxy"
|
||||||
|
proxyAccountDescription: "Un compte proxy és un compte que actua com a seguidor remot per als usuaris en determinades condicions. Per exemple, quan un usuari afegeix un usuari remot a la llista, l'activitat de l'usuari remot no es lliurarà al servidor si cap usuari local segueix aquest usuari, de manera que el compte proxy el seguirà."
|
||||||
|
host: "Amfitrió"
|
||||||
|
selectUser: "Selecciona usuari/a"
|
||||||
|
recipient: "Destinatari"
|
||||||
|
annotation: "Comentaris"
|
||||||
|
federation: "Federació"
|
||||||
|
instances: "Servidors"
|
||||||
|
registeredAt: "Registrat a"
|
||||||
|
latestRequestReceivedAt: "Última petició rebuda"
|
||||||
|
latestStatus: "Últim estat"
|
||||||
|
storageUsage: "Emmagatzematge utilitzat"
|
||||||
|
charts: "Gràfics"
|
||||||
|
perHour: "Per hora"
|
||||||
|
perDay: "Per dia"
|
||||||
|
stopActivityDelivery: "Deixa d'enviar activitats"
|
||||||
|
blockThisInstance: "Deixa d'enviar activitats"
|
||||||
|
operations: "Accions"
|
||||||
|
software: "Programari"
|
||||||
|
version: "Versió"
|
||||||
|
metadata: "Metadades"
|
||||||
|
withNFiles: "{n} fitxer(s)"
|
||||||
|
monitor: "Monitor"
|
||||||
|
jobQueue: "Cua de tasques"
|
||||||
|
cpuAndMemory: "CPU i memòria"
|
||||||
|
network: "Xarxa"
|
||||||
|
disk: "Disc"
|
||||||
|
instanceInfo: "Informació del fitxer d'instal·lació"
|
||||||
|
statistics: "Estadístiques"
|
||||||
|
clearQueue: "Esborrar la cua"
|
||||||
|
clearQueueConfirmTitle: "Esteu segur que voleu esborrar la cua?"
|
||||||
|
clearQueueConfirmText: "Les notes no lliurades que quedin a la cua no es federaran. Normalment aquesta operació no és necessària."
|
||||||
|
clearCachedFiles: "Esborra la memòria cau"
|
||||||
|
clearCachedFilesConfirm: "Segur que voleu eliminar tots els fitxers de la memòria cau?"
|
||||||
|
blockedInstances: "Instàncies bloquejades"
|
||||||
|
muteAndBlock: "Silencia i bloca"
|
||||||
|
mutedUsers: "Usuaris silenciats"
|
||||||
|
blockedUsers: "Usuaris bloquejats"
|
||||||
|
noUsers: "No hi ha usuaris"
|
||||||
|
editProfile: "Edita el perfil"
|
||||||
|
noteDeleteConfirm: "Segur que voleu eliminar aquesta publicació?"
|
||||||
|
pinLimitExceeded: "No podeu fixar més publicacions"
|
||||||
|
intro: "La instal·lació de Misskey ha acabat! Crea un usuari d'administrador."
|
||||||
|
done: "Fet"
|
||||||
|
processing: "S'està processant..."
|
||||||
|
preview: "Vista prèvia"
|
||||||
|
default: "Per defecte"
|
||||||
|
defaultValueIs: "Per defecte: {value}"
|
||||||
|
noCustomEmojis: "Cap emoji personalitzat"
|
||||||
|
federating: "Federant"
|
||||||
|
blocked: "Bloquejat"
|
||||||
|
suspended: "Suspés"
|
||||||
|
publishing: "S'està publicant"
|
||||||
|
notResponding: "Sense resposta"
|
||||||
|
instanceFollowing: "Seguits del servidor"
|
||||||
|
instanceFollowers: "Seguidors del servidor"
|
||||||
|
instanceUsers: "Usuaris del servidor"
|
||||||
|
changePassword: "Canvia la contrasenya"
|
||||||
|
security: "Seguretat"
|
||||||
|
retypedNotMatch: "L'entrada no coincideix"
|
||||||
|
currentPassword: "Contrasenya actual"
|
||||||
|
newPassword: "Contrasenya nova"
|
||||||
|
newPasswordRetype: "Contrasenya nou (repeteix-la)"
|
||||||
|
attachFile: "Adjunta fitxers"
|
||||||
|
more: "Més"
|
||||||
|
featured: "Destacat"
|
||||||
|
usernameOrUserId: "Nom o ID d'usuari"
|
||||||
|
noSuchUser: "No s'ha trobat l'usuari"
|
||||||
|
lookup: "Cerca"
|
||||||
|
announcements: "Anuncis"
|
||||||
|
imageUrl: "URL de la imatge"
|
||||||
|
remove: "Eliminar"
|
||||||
|
removed: "Eliminat"
|
||||||
|
removeAreYouSure: "Segur que voleu retirar «{x}»?"
|
||||||
|
deleteAreYouSure: "Segur que voleu retirar «{x}»?"
|
||||||
|
resetAreYouSure: "Segur que voleu restablir-ho?"
|
||||||
|
saved: "S'ha desat"
|
||||||
|
messaging: "Xat"
|
||||||
|
upload: "Puja"
|
||||||
|
start: "Comença"
|
||||||
|
home: "Inici"
|
||||||
|
activity: "Activitat"
|
||||||
|
images: "Imatges"
|
||||||
|
image: "Imatges"
|
||||||
|
birthday: "Aniversari"
|
||||||
|
yearsOld: "{age} anys"
|
||||||
|
registeredDate: "Data de registre"
|
||||||
|
location: "Ubicació"
|
||||||
|
theme: "Tema"
|
||||||
|
themeForLightMode: "Tema del mode clar"
|
||||||
|
themeForDarkMode: "Tema del mode fosc"
|
||||||
|
light: "Clar"
|
||||||
|
dark: "Fosc"
|
||||||
|
lightThemes: "Temes clars"
|
||||||
|
darkThemes: "Temes foscos"
|
||||||
|
syncDeviceDarkMode: "Sincronitza el mode fosc amb la configuració del dispositiu"
|
||||||
|
renameFile: "Canvia el nom del fitxer"
|
||||||
|
folderName: "Nom de la carpeta"
|
||||||
|
createFolder: "Crea una carpeta"
|
||||||
|
renameFolder: "Canvia el nom de la carpeta"
|
||||||
|
deleteFolder: "Elimina la carpeta"
|
||||||
|
addFile: "Afegeix un fitxer"
|
||||||
|
emptyFolder: "La carpeta està buida"
|
||||||
|
unableToDelete: "No es pot eliminar"
|
||||||
|
copyUrl: "Copia l'URL"
|
||||||
|
rename: "Canvia el nom"
|
||||||
|
reload: "Actualitza"
|
||||||
|
doNothing: "Ignora"
|
||||||
|
accept: "Accepta"
|
||||||
|
normal: "Nomal"
|
||||||
|
instanceName: "Nom del servidor"
|
||||||
|
instanceDescription: "Descripció del servidor"
|
||||||
|
maintainerName: "Nom de l'administrador"
|
||||||
|
maintainerEmail: "Correu electrònic de l'administrador"
|
||||||
|
tosUrl: "URL de les Condicions d'ús"
|
||||||
|
thisYear: "Enguany"
|
||||||
|
thisMonth: "Aquest mes"
|
||||||
|
today: "Avui"
|
||||||
|
dayX: "{day}"
|
||||||
|
monthX: "{month}"
|
||||||
|
yearX: "{year}"
|
||||||
|
pages: "Pàgines"
|
||||||
|
integration: "Integració"
|
||||||
|
connectService: "Connecta"
|
||||||
|
disconnectService: "Desconnecta"
|
||||||
|
enableLocalTimeline: "Activa la línia de temps local"
|
||||||
|
enableGlobalTimeline: "Activa la línia de temps global"
|
||||||
|
registration: "Registre"
|
||||||
|
invite: "Convida"
|
||||||
|
basicInfo: "Informació bàsica"
|
||||||
|
pinnedUsers: "Usuaris fixats"
|
||||||
|
pinnedNotes: "Nota fixada"
|
||||||
|
turnstile: "Turnstile"
|
||||||
|
enableTurnstile: "Activar Turnstile"
|
||||||
|
turnstileSiteKey: "Clau del lloc"
|
||||||
|
turnstileSecretKey: "Clau secreta"
|
||||||
|
antennas: "Antena"
|
||||||
|
manageAntennas: "Gestiona les antenes"
|
||||||
|
antennaSource: "Font de l'antena"
|
||||||
|
antennaKeywords: "Paraules clau a seguir"
|
||||||
|
antennaExcludeKeywords: "Paraules clau a excloure"
|
||||||
|
notifyAntenna: "Notifica'm les publicacions noves"
|
||||||
|
withFileAntenna: "Només les publicacions amb fitxers"
|
||||||
|
notesAndReplies: "Amb respostes"
|
||||||
|
silence: "Silencia"
|
||||||
|
silenceConfirm: "Segur que vols silenciar aquest usuari?"
|
||||||
|
unsilence: "Deixa de silenciar"
|
||||||
|
unsilenceConfirm: "Segur que vols deixar de silenciar aquest usuari?"
|
||||||
|
popularUsers: "Usuaris populars"
|
||||||
|
recentlyUpdatedUsers: "Usuaris actius fa poc"
|
||||||
|
recentlyRegisteredUsers: "Usuaris nous"
|
||||||
|
recentlyDiscoveredUsers: "Usuaris descoberts fa poc"
|
||||||
|
exploreUsersCount: "Hi ha {count} usuaris"
|
||||||
|
exploreFediverse: "Explora el fedivers"
|
||||||
|
popularTags: "Etiquetes populars"
|
||||||
|
userList: "Llistes"
|
||||||
|
about: "Informació"
|
||||||
|
aboutMisskey: "Quant a Misskey"
|
||||||
|
administrator: "Administrador/a"
|
||||||
|
moderator: "Moderador/a"
|
||||||
|
moderation: "Moderació"
|
||||||
|
nUsersMentioned: "{n} usuaris mencionats"
|
||||||
|
securityKey: "Clau de seguretat"
|
||||||
|
unregister: "Cancel·la el registre"
|
||||||
|
passwordLessLogin: "Inici de sessió sense contrasenya"
|
||||||
|
resetPassword: "Restableix la contrasenya"
|
||||||
|
newPasswordIs: "La contrasenya nova és «{password}»"
|
||||||
|
reduceUiAnimation: "Redueix les animacions de la interfície"
|
||||||
|
share: "Comparteix"
|
||||||
|
notFound: "No s'ha trobat"
|
||||||
|
markAsReadAllUnreadNotes: "Marca-ho tot com a llegit"
|
||||||
|
help: "Ajuda"
|
||||||
|
invites: "Convida"
|
||||||
|
next: "Següent"
|
||||||
|
noteOf: "Publicació de: {user}"
|
||||||
|
invitations: "Convida"
|
||||||
|
tags: "Etiquetes"
|
||||||
|
docSource: "Font del document"
|
||||||
|
createAccount: "Crea un compte"
|
||||||
|
existingAccount: "Compte existent"
|
||||||
|
regenerate: "Regenera"
|
||||||
|
fontSize: "Mida del text"
|
||||||
|
noFollowRequests: "No tens sol·licituds de seguiment"
|
||||||
|
dashboard: "Panell de control"
|
||||||
|
local: "Local"
|
||||||
|
remote: "Remot"
|
||||||
|
total: "Total"
|
||||||
|
appearance: "Aparença"
|
||||||
|
clientSettings: "Configuració del client"
|
||||||
|
accountSettings: "Configuració del compte"
|
||||||
|
hideThisNote: "Amaga la publicació"
|
||||||
|
showFeaturedNotesInTimeline: "Mostra publicacions destacades en la línia de temps"
|
||||||
|
newNoteRecived: "Hi ha publicacions noves"
|
||||||
|
installedDate: "Data d'instal·lació"
|
||||||
|
state: "Estat"
|
||||||
|
sort: "Ordena"
|
||||||
|
ascendingOrder: "Ascendent"
|
||||||
|
descendingOrder: "Descendent"
|
||||||
|
deletedNote: "Publicacions eliminades"
|
||||||
|
invisibleNote: "Publicacions amagades"
|
||||||
|
smtpHost: "Amfitrió"
|
||||||
|
smtpUser: "Nom d'usuari"
|
||||||
|
smtpPass: "Contrasenya"
|
||||||
|
renotesCount: "Impulsos fets"
|
||||||
|
renotedCount: "Impulsos rebuts"
|
||||||
|
clearCache: "Esborra la memòria cau"
|
||||||
|
showingPastTimeline: "Estàs veient una línia de temps antiga"
|
||||||
|
info: "Informació"
|
||||||
|
user: "Usuaris"
|
||||||
|
global: "Global"
|
||||||
|
searchByGoogle: "Cercar"
|
||||||
|
file: "Fitxers"
|
||||||
|
_email:
|
||||||
|
_follow:
|
||||||
|
title: "t'ha seguit"
|
||||||
|
_instanceMute:
|
||||||
|
instanceMuteDescription: "Silencia tots els impulsos dels servidors seleccionats, també els usuaris que responen a altres d'un servidor silenciat."
|
||||||
|
_theme:
|
||||||
|
keys:
|
||||||
|
mention: "Menció"
|
||||||
|
renote: "Renotar"
|
||||||
|
_sfx:
|
||||||
|
note: "Notes"
|
||||||
|
notification: "Notificacions"
|
||||||
|
chat: "Xat"
|
||||||
|
antenna: "Antenes"
|
||||||
|
_2fa:
|
||||||
|
step2Url: "També pots inserir aquest enllaç i utilitzes una aplicació d'escriptori:"
|
||||||
|
_antennaSources:
|
||||||
|
all: "Totes les publicacions"
|
||||||
|
homeTimeline: "Publicacions dels usuaris seguits"
|
||||||
|
users: "Publicacions d'usuaris específics"
|
||||||
|
userList: "Publicacions d'una llista d'usuaris"
|
||||||
|
_widgets:
|
||||||
|
profile: "Perfil"
|
||||||
|
instanceInfo: "Informació del fitxer d'instal·lació"
|
||||||
|
notifications: "Notificacions"
|
||||||
|
timeline: "Línia de temps"
|
||||||
|
activity: "Activitat"
|
||||||
|
federation: "Federació"
|
||||||
|
jobQueue: "Cua de tasques"
|
||||||
|
_userList:
|
||||||
|
chooseList: "Tria una llista"
|
||||||
|
_cw:
|
||||||
|
show: "Carregar més"
|
||||||
|
_visibility:
|
||||||
|
home: "Inici"
|
||||||
|
followers: "Seguidors"
|
||||||
|
_profile:
|
||||||
|
username: "Nom d'usuari"
|
||||||
|
_exportOrImport:
|
||||||
|
allNotes: "Totes les publicacions"
|
||||||
|
followingList: "Seguint"
|
||||||
|
muteList: "Silencia"
|
||||||
|
blockingList: "Bloqueja"
|
||||||
|
userLists: "Llistes"
|
||||||
|
_charts:
|
||||||
|
federation: "Federació"
|
||||||
|
_timelines:
|
||||||
|
home: "Inici"
|
||||||
|
local: "Local"
|
||||||
|
social: "Social"
|
||||||
|
global: "Global"
|
||||||
|
_pages:
|
||||||
|
contents: "Contingut"
|
||||||
|
blocks:
|
||||||
|
image: "Imatges"
|
||||||
|
_note:
|
||||||
|
id: "ID de la publicació"
|
||||||
|
detailed: "Mostra els detalls"
|
||||||
|
_notification:
|
||||||
|
youRenoted: "Impulsat per {name}"
|
||||||
|
youWereFollowed: "t'ha seguit"
|
||||||
|
_types:
|
||||||
|
all: "Tots"
|
||||||
|
follow: "Seguint"
|
||||||
|
mention: "Menció"
|
||||||
|
renote: "Renotar"
|
||||||
|
quote: "Citar"
|
||||||
|
reaction: "Reaccions"
|
||||||
|
_actions:
|
||||||
|
followBack: "t'ha seguit també"
|
||||||
|
reply: "Respondre"
|
||||||
|
renote: "Renotar"
|
||||||
|
_deck:
|
||||||
|
columnAlign: "Alinea les columnes"
|
||||||
|
addColumn: "Afig una columna"
|
||||||
|
swapLeft: "Mou a l’esquerra"
|
||||||
|
swapRight: "Mou a la dreta"
|
||||||
|
swapUp: "Mou cap amunt"
|
||||||
|
swapDown: "Mou cap avall"
|
||||||
|
popRight: "Col·loca a la dreta"
|
||||||
|
profile: "Perfil"
|
||||||
|
newProfile: "Perfil nou"
|
||||||
|
deleteProfile: "Elimina el perfil"
|
||||||
|
_columns:
|
||||||
|
main: "Principal"
|
||||||
|
widgets: "Ginys"
|
||||||
|
notifications: "Notificacions"
|
||||||
|
tl: "Línia de temps"
|
||||||
|
antenna: "Antena"
|
||||||
|
list: "Llistes"
|
||||||
|
mentions: "Mencions"
|
||||||
|
direct: "Publicacions directes"
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
_lang_: "Čeština"
|
_lang_: "Čeština"
|
||||||
headlineMisskey: "Síť propojená poznámkami"
|
headlineMisskey: "Síť propojená poznámkami"
|
||||||
introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
|
introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
|
||||||
|
poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")."
|
||||||
monthAndDay: "{day}. {month}."
|
monthAndDay: "{day}. {month}."
|
||||||
search: "Vyhledávání"
|
search: "Vyhledávání"
|
||||||
notifications: "Oznámení"
|
notifications: "Oznámení"
|
||||||
@@ -12,12 +13,14 @@ fetchingAsApObject: "Načítám data z Fediversu..."
|
|||||||
ok: "Potvrdit"
|
ok: "Potvrdit"
|
||||||
gotIt: "Rozumím!"
|
gotIt: "Rozumím!"
|
||||||
cancel: "Zrušit"
|
cancel: "Zrušit"
|
||||||
|
noThankYou: "Ne děkuji"
|
||||||
enterUsername: "Zadej uživatelské jméno"
|
enterUsername: "Zadej uživatelské jméno"
|
||||||
renotedBy: "{user} přeposla/a"
|
renotedBy: "{user} přeposla/a"
|
||||||
noNotes: "Žádné poznámky"
|
noNotes: "Žádné poznámky"
|
||||||
noNotifications: "Žádná oznámení"
|
noNotifications: "Žádná oznámení"
|
||||||
instance: "Instance"
|
instance: "Instance"
|
||||||
settings: "Nastavení"
|
settings: "Nastavení"
|
||||||
|
notificationSettings: "Nastavení oznámení"
|
||||||
basicSettings: "Obecná nastavení"
|
basicSettings: "Obecná nastavení"
|
||||||
otherSettings: "Rozšířená nastavení"
|
otherSettings: "Rozšířená nastavení"
|
||||||
openInWindow: "Otevřít v novém okně"
|
openInWindow: "Otevřít v novém okně"
|
||||||
@@ -46,21 +49,34 @@ delete: "Smazat"
|
|||||||
deleteAndEdit: "Smazat a upravit"
|
deleteAndEdit: "Smazat a upravit"
|
||||||
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
|
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
|
||||||
addToList: "Přidat do seznamu"
|
addToList: "Přidat do seznamu"
|
||||||
|
addToAntenna: "Přidat do antény"
|
||||||
sendMessage: "Odeslat zprávu"
|
sendMessage: "Odeslat zprávu"
|
||||||
|
copyRSS: "Kopírovat RSS"
|
||||||
copyUsername: "Kopírovat uživatelské jméno"
|
copyUsername: "Kopírovat uživatelské jméno"
|
||||||
|
copyUserId: "Kopírovat ID uživatele"
|
||||||
|
copyNoteId: "Kopírovat ID poznámky"
|
||||||
|
copyFileId: "Kopírovat ID souboru"
|
||||||
|
copyFolderId: "Kopírovat ID složky"
|
||||||
|
copyProfileUrl: "Kopírovat URL profilu"
|
||||||
searchUser: "Vyhledat uživatele"
|
searchUser: "Vyhledat uživatele"
|
||||||
reply: "Odpovědět"
|
reply: "Odpovědět"
|
||||||
loadMore: "Zobrazit více"
|
loadMore: "Zobrazit více"
|
||||||
showMore: "Zobrazit více"
|
showMore: "Zobrazit více"
|
||||||
|
showLess: "Zavřít"
|
||||||
youGotNewFollower: "Máte nového následovníka"
|
youGotNewFollower: "Máte nového následovníka"
|
||||||
|
receiveFollowRequest: "Žádost o sledování přijata"
|
||||||
|
followRequestAccepted: "Žádost o sledování přijata"
|
||||||
mention: "Zmínění"
|
mention: "Zmínění"
|
||||||
mentions: "Zmínění"
|
mentions: "Zmínění"
|
||||||
|
directNotes: "Přímé poznámky"
|
||||||
importAndExport: "Import a export"
|
importAndExport: "Import a export"
|
||||||
import: "Importovat"
|
import: "Importovat"
|
||||||
export: "Exportovat"
|
export: "Exportovat"
|
||||||
files: "Soubor(ů)"
|
files: "Soubor(ů)"
|
||||||
download: "Stáhnout"
|
download: "Stáhnout"
|
||||||
|
driveFileDeleteConfirm: "Opravdu chcete smazat soubor \"{name}\"? Poznámky, ke kterým je tento soubor připojen, budou také smazány."
|
||||||
unfollowConfirm: "Jste si jisti že už nechcete sledovat {name}?"
|
unfollowConfirm: "Jste si jisti že už nechcete sledovat {name}?"
|
||||||
|
exportRequested: "Požádali jste o export. To může chvíli trvat. Přidáme ho na váš Disk až bude dokončen."
|
||||||
importRequested: "Požádali jste o export. To může chvilku trvat."
|
importRequested: "Požádali jste o export. To může chvilku trvat."
|
||||||
lists: "Seznamy"
|
lists: "Seznamy"
|
||||||
noLists: "Nemáte žádné seznamy"
|
noLists: "Nemáte žádné seznamy"
|
||||||
@@ -75,19 +91,36 @@ error: "Chyba"
|
|||||||
somethingHappened: "Jejda. Něco se nepovedlo."
|
somethingHappened: "Jejda. Něco se nepovedlo."
|
||||||
retry: "Opakovat"
|
retry: "Opakovat"
|
||||||
pageLoadError: "Nepodařilo se načíst stránku"
|
pageLoadError: "Nepodařilo se načíst stránku"
|
||||||
|
pageLoadErrorDescription: "Tohle je obvykle způsobeno chybou sítě nebo mezipaměti prohlížeče. Zkuste vymazat mezipaměť a po chvíli čekání to zkuste znovu."
|
||||||
|
serverIsDead: "Server neodpovídá. Počkejte chvíli a zkuste to znovu."
|
||||||
|
youShouldUpgradeClient: "Pro zobrazení této stránky obnovte stránku pro aktualizaci klienta."
|
||||||
enterListName: "Jméno seznamu"
|
enterListName: "Jméno seznamu"
|
||||||
privacy: "Soukromí"
|
privacy: "Soukromí"
|
||||||
|
makeFollowManuallyApprove: "Žádosti o sledování vyžadují potvrzení"
|
||||||
|
defaultNoteVisibility: "Výchozí viditelnost"
|
||||||
follow: "Sledovaní"
|
follow: "Sledovaní"
|
||||||
|
followRequest: "Odeslat žádost o sledování"
|
||||||
|
followRequests: "Žádosti o sledování"
|
||||||
unfollow: "Přestat sledovat"
|
unfollow: "Přestat sledovat"
|
||||||
|
followRequestPending: "Čekající žádosti o sledování"
|
||||||
|
enterEmoji: "Vložte emoji"
|
||||||
renote: "Přeposlat"
|
renote: "Přeposlat"
|
||||||
|
unrenote: "Zrušit přeposlání"
|
||||||
|
renoted: "Přeposláno"
|
||||||
|
cantRenote: "Tento příspěvek nelze přeposlat."
|
||||||
cantReRenote: "Odpověď nemůže být odstraněna."
|
cantReRenote: "Odpověď nemůže být odstraněna."
|
||||||
quote: "Citovat"
|
quote: "Citovat"
|
||||||
|
inChannelRenote: "Přeposlání v kanálu"
|
||||||
|
inChannelQuote: "Citace v kanálu"
|
||||||
|
pinnedNote: "Připnutá poznámka"
|
||||||
pinned: "Připnout"
|
pinned: "Připnout"
|
||||||
you: "Vy"
|
you: "Vy"
|
||||||
clickToShow: "Klikněte pro zobrazení"
|
clickToShow: "Klikněte pro zobrazení"
|
||||||
sensitive: "NSFW"
|
sensitive: "NSFW"
|
||||||
add: "Přidat"
|
add: "Přidat"
|
||||||
reaction: "Reakce"
|
reaction: "Reakce"
|
||||||
|
reactions: "Reakce"
|
||||||
|
reactionSetting: "Reakce zobrazené ve výběru reakcí"
|
||||||
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
|
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
|
||||||
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
|
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
|
||||||
attachCancel: "Odstranit přílohu"
|
attachCancel: "Odstranit přílohu"
|
||||||
@@ -96,6 +129,8 @@ unmarkAsSensitive: "Odznačit jako NSFW"
|
|||||||
enterFileName: "Zadejte název souboru"
|
enterFileName: "Zadejte název souboru"
|
||||||
mute: "Ztlumit"
|
mute: "Ztlumit"
|
||||||
unmute: "Odmlčet"
|
unmute: "Odmlčet"
|
||||||
|
renoteMute: "Ztlumit poznámky"
|
||||||
|
renoteUnmute: "Zrušit ztlumení poznámek"
|
||||||
block: "Zablokovat"
|
block: "Zablokovat"
|
||||||
unblock: "Odblokovat"
|
unblock: "Odblokovat"
|
||||||
suspend: "Zmrazit"
|
suspend: "Zmrazit"
|
||||||
@@ -105,7 +140,10 @@ unblockConfirm: "Jste si jistí že chcete odblokovat tento účet?"
|
|||||||
suspendConfirm: "Jste si jistí že chcete suspendovat tenhle účet?"
|
suspendConfirm: "Jste si jistí že chcete suspendovat tenhle účet?"
|
||||||
unsuspendConfirm: "Jste si jistí že chcete obnovit tenhle účet?"
|
unsuspendConfirm: "Jste si jistí že chcete obnovit tenhle účet?"
|
||||||
selectList: "Vybrat seznam"
|
selectList: "Vybrat seznam"
|
||||||
|
editList: "Upravit seznam"
|
||||||
|
selectChannel: "Vybrat kanál"
|
||||||
selectAntenna: "Vyberte Anténu"
|
selectAntenna: "Vyberte Anténu"
|
||||||
|
editAntenna: "Upravit anténu"
|
||||||
selectWidget: "Zvolte widget"
|
selectWidget: "Zvolte widget"
|
||||||
editWidgets: "Upravit widget"
|
editWidgets: "Upravit widget"
|
||||||
editWidgetsExit: "Hotovo"
|
editWidgetsExit: "Hotovo"
|
||||||
@@ -118,34 +156,42 @@ addEmoji: "Přidat emoji"
|
|||||||
settingGuide: "Doporučené nastavení"
|
settingGuide: "Doporučené nastavení"
|
||||||
cacheRemoteFiles: "Ukládání vzdálených souborů do mezipaměti"
|
cacheRemoteFiles: "Ukládání vzdálených souborů do mezipaměti"
|
||||||
cacheRemoteFilesDescription: "Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
|
cacheRemoteFilesDescription: "Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
|
||||||
|
cacheRemoteSensitiveFiles: "Uložit do mezipaměti vzdálené citlivé soubory"
|
||||||
|
cacheRemoteSensitiveFilesDescription: "Když je tohle nastavení zrušeno, tak jsou vzdálené citlivé soubory načítány přímo ze vzdálených instancí bez uložení do mezipaměti."
|
||||||
flagAsBot: "Tento účet je bot"
|
flagAsBot: "Tento účet je bot"
|
||||||
flagAsBotDescription: "Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
|
flagAsBotDescription: "Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
|
||||||
flagAsCat: "Tenhle účet je kočka"
|
flagAsCat: "Tenhle účet je kočka"
|
||||||
flagAsCatDescription: "Vyberte tuto možnost aby tento účet byl označen jako kočka."
|
flagAsCatDescription: "Vyberte tuto možnost aby tento účet byl označen jako kočka."
|
||||||
|
flagShowTimelineReplies: "Zobrazovat odpovědi na časové ose"
|
||||||
|
flagShowTimelineRepliesDescription: "Je-li zapnuto, zobrazí odpovědi uživatelů na poznámky jiných uživatelů na vaší časové ose."
|
||||||
autoAcceptFollowed: "Automaticky akceptovat následování od účtů které sledujete"
|
autoAcceptFollowed: "Automaticky akceptovat následování od účtů které sledujete"
|
||||||
addAccount: "Přidat účet"
|
addAccount: "Přidat účet"
|
||||||
|
reloadAccountsList: "Obnovit list účtů"
|
||||||
loginFailed: "Přihlášení se nezdařilo."
|
loginFailed: "Přihlášení se nezdařilo."
|
||||||
showOnRemote: "Více na původním profilu"
|
showOnRemote: "Více na původním profilu"
|
||||||
general: "Obecně"
|
general: "Obecně"
|
||||||
wallpaper: "Obrázek na pozadí"
|
wallpaper: "Obrázek na pozadí"
|
||||||
setWallpaper: "Nastavení obrázku na pozadí"
|
setWallpaper: "Nastavení obrázku na pozadí"
|
||||||
removeWallpaper: "Odstranit pozadí"
|
removeWallpaper: "Odstranit pozadí"
|
||||||
|
searchWith: "Hledat: {q}"
|
||||||
youHaveNoLists: "Nemáte žádné seznamy"
|
youHaveNoLists: "Nemáte žádné seznamy"
|
||||||
|
followConfirm: "Jste si jisti, že chcete sledovat {name}?"
|
||||||
proxyAccount: "Proxy účet"
|
proxyAccount: "Proxy účet"
|
||||||
proxyAccountDescription: "Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
|
proxyAccountDescription: "Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
|
||||||
host: "Hostitel"
|
host: "Hostitel"
|
||||||
selectUser: "Vyberte uživatele"
|
selectUser: "Vyberte uživatele"
|
||||||
recipient: "Pro"
|
recipient: "Pro"
|
||||||
annotation: "Komentáře"
|
annotation: "Komentáře"
|
||||||
|
federation: "Federace"
|
||||||
instances: "Instance"
|
instances: "Instance"
|
||||||
registeredAt: "Registrován"
|
registeredAt: "Registrován"
|
||||||
latestRequestSentAt: "Poslední požadavek poslán"
|
|
||||||
latestRequestReceivedAt: "Poslední požadavek přijat"
|
latestRequestReceivedAt: "Poslední požadavek přijat"
|
||||||
latestStatus: "Poslední status"
|
latestStatus: "Poslední status"
|
||||||
storageUsage: "Využití úložiště"
|
storageUsage: "Využití úložiště"
|
||||||
charts: "Grafy"
|
charts: "Grafy"
|
||||||
perHour: "za hodinu"
|
perHour: "za hodinu"
|
||||||
perDay: "za den"
|
perDay: "za den"
|
||||||
|
stopActivityDelivery: "Přestat zasílat aktivitu"
|
||||||
blockThisInstance: "Blokovat tuto instanci"
|
blockThisInstance: "Blokovat tuto instanci"
|
||||||
operations: "Operace"
|
operations: "Operace"
|
||||||
software: "Software"
|
software: "Software"
|
||||||
@@ -161,17 +207,26 @@ instanceInfo: "Informace o instanci"
|
|||||||
statistics: "Statistiky"
|
statistics: "Statistiky"
|
||||||
clearQueue: "Vyčistit frontu"
|
clearQueue: "Vyčistit frontu"
|
||||||
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
||||||
|
clearQueueConfirmText: "Jakékoliv nedoručené poznámky ve frontě nebudou sdružovány. Většinou tahle operace není zapotřebí."
|
||||||
clearCachedFiles: "Vyprázdnit mezipaměť"
|
clearCachedFiles: "Vyprázdnit mezipaměť"
|
||||||
|
clearCachedFilesConfirm: "Jste jistí že chcete smazat všechny vzdálené soubory v mezipaměti?"
|
||||||
blockedInstances: "Blokované instance"
|
blockedInstances: "Blokované instance"
|
||||||
|
blockedInstancesDescription: "Vypište názvy hostitelů instancí, které chcete blokovat odděleně řádkovými zlomky. Uvedené instance již nebudou moci s touto instancí komunikovat."
|
||||||
|
muteAndBlock: "Ztlumení a blokování"
|
||||||
|
mutedUsers: "Zltumení uživatelé"
|
||||||
|
blockedUsers: "Blokovaní uživatelé"
|
||||||
noUsers: "Žádní uživatelé"
|
noUsers: "Žádní uživatelé"
|
||||||
editProfile: "Upravit můj profil"
|
editProfile: "Upravit můj profil"
|
||||||
|
noteDeleteConfirm: "Jste si jistí že chcete smazat tuhle poznámku?"
|
||||||
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
||||||
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
||||||
done: "Hotovo"
|
done: "Hotovo"
|
||||||
processing: "Zpracovávám"
|
processing: "Zpracovávám"
|
||||||
preview: "Náhled"
|
preview: "Náhled"
|
||||||
default: "Výchozí"
|
default: "Výchozí"
|
||||||
|
defaultValueIs: "Základní hodnota: {value}"
|
||||||
noCustomEmojis: "Bez Emoji"
|
noCustomEmojis: "Bez Emoji"
|
||||||
|
federating: "Sdružování"
|
||||||
blocked: "Blokováno"
|
blocked: "Blokováno"
|
||||||
suspended: "Suspendováno"
|
suspended: "Suspendováno"
|
||||||
all: "Vše"
|
all: "Vše"
|
||||||
@@ -183,6 +238,7 @@ instanceFollowers: "Následovníci na instanci"
|
|||||||
instanceUsers: "Uživatelé této instance"
|
instanceUsers: "Uživatelé této instance"
|
||||||
changePassword: "Změnit heslo"
|
changePassword: "Změnit heslo"
|
||||||
security: "Zabezpečení"
|
security: "Zabezpečení"
|
||||||
|
retypedNotMatch: "Zadané údaje se neshodují."
|
||||||
currentPassword: "Současné heslo"
|
currentPassword: "Současné heslo"
|
||||||
newPassword: "Nové heslo"
|
newPassword: "Nové heslo"
|
||||||
newPasswordRetype: "Nové heslo (znovu)"
|
newPasswordRetype: "Nové heslo (znovu)"
|
||||||
@@ -191,6 +247,7 @@ more: "Více!"
|
|||||||
featured: "Oblíbené poznámky"
|
featured: "Oblíbené poznámky"
|
||||||
usernameOrUserId: "Uživatelské jméno nebo uživatelské id"
|
usernameOrUserId: "Uživatelské jméno nebo uživatelské id"
|
||||||
noSuchUser: "Uživatel nebyl nalezen"
|
noSuchUser: "Uživatel nebyl nalezen"
|
||||||
|
lookup: "Vyhledat"
|
||||||
announcements: "Oznámení"
|
announcements: "Oznámení"
|
||||||
imageUrl: "URL obrázku"
|
imageUrl: "URL obrázku"
|
||||||
remove: "Smazat"
|
remove: "Smazat"
|
||||||
@@ -201,10 +258,13 @@ resetAreYouSure: "Opravdu resetovat?"
|
|||||||
saved: "Uloženo"
|
saved: "Uloženo"
|
||||||
messaging: "Zprávy"
|
messaging: "Zprávy"
|
||||||
upload: "Nahrát soubory"
|
upload: "Nahrát soubory"
|
||||||
|
keepOriginalUploading: "Ponechat originální obrázek"
|
||||||
|
keepOriginalUploadingDescription: "Uloží původní nahraný obrázek jak je. Pokud je to vypnuté, vygeneruje se zobrazení verze na webu při nahrátí."
|
||||||
fromDrive: "Z disku"
|
fromDrive: "Z disku"
|
||||||
fromUrl: "Z URL"
|
fromUrl: "Z URL"
|
||||||
uploadFromUrl: "Nahrát z URL adresy"
|
uploadFromUrl: "Nahrát z URL adresy"
|
||||||
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
|
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
|
||||||
|
uploadFromUrlRequested: "Upload zažádán"
|
||||||
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
|
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
|
||||||
explore: "Objevovat"
|
explore: "Objevovat"
|
||||||
messageRead: "Přečtené"
|
messageRead: "Přečtené"
|
||||||
@@ -212,12 +272,16 @@ noMoreHistory: "To je vše"
|
|||||||
startMessaging: "Zahájit chat"
|
startMessaging: "Zahájit chat"
|
||||||
nUsersRead: "přečteno {n} uživateli"
|
nUsersRead: "přečteno {n} uživateli"
|
||||||
agreeTo: "Souhlasím s {0}"
|
agreeTo: "Souhlasím s {0}"
|
||||||
tos: "Podmínky užívání"
|
agree: "Souhlasím"
|
||||||
|
agreeBelow: "Souhlasím s následným"
|
||||||
|
basicNotesBeforeCreateAccount: "Důležité poznámky"
|
||||||
|
termsOfService: "Podmínky užívání"
|
||||||
start: "Začít"
|
start: "Začít"
|
||||||
home: "Domů"
|
home: "Domů"
|
||||||
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
|
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
|
||||||
activity: "Aktivita"
|
activity: "Aktivita"
|
||||||
images: "Obrázky"
|
images: "Obrázky"
|
||||||
|
image: "Obrázky"
|
||||||
birthday: "Datum narození"
|
birthday: "Datum narození"
|
||||||
yearsOld: "{age} let"
|
yearsOld: "{age} let"
|
||||||
registeredDate: "Datum registrace"
|
registeredDate: "Datum registrace"
|
||||||
@@ -242,17 +306,24 @@ createFolder: "Vytvořit složku"
|
|||||||
renameFolder: "Přejmenovat složku"
|
renameFolder: "Přejmenovat složku"
|
||||||
deleteFolder: "Odstranit složku"
|
deleteFolder: "Odstranit složku"
|
||||||
addFile: "Přidat soubor"
|
addFile: "Přidat soubor"
|
||||||
|
emptyDrive: "Váš disk je prázdný"
|
||||||
emptyFolder: "Tato složka je prázdná"
|
emptyFolder: "Tato složka je prázdná"
|
||||||
unableToDelete: "Nelze smazat"
|
unableToDelete: "Nelze smazat"
|
||||||
inputNewFileName: "Zadejte nový název"
|
inputNewFileName: "Zadejte nový název"
|
||||||
|
inputNewDescription: "Zadejte nový popisek"
|
||||||
|
inputNewFolderName: "Zadejte název nové složky"
|
||||||
|
circularReferenceFolder: "Koncová složka je podsložka složky, kterou chcete přesunout."
|
||||||
|
hasChildFilesOrFolders: "Nemůžete odstranit složku, která není prázdná."
|
||||||
copyUrl: "Kopírovat URL"
|
copyUrl: "Kopírovat URL"
|
||||||
rename: "Přejmenovat"
|
rename: "Přejmenovat"
|
||||||
avatar: "Avatar"
|
avatar: "Avatar"
|
||||||
banner: "Baner"
|
banner: "Baner"
|
||||||
nsfw: "NSFW"
|
displayOfSensitiveMedia: "Zobrazit citlivé média"
|
||||||
|
whenServerDisconnected: "Když ztratíte spojení se serverem"
|
||||||
disconnectedFromServer: "Spojení bylo přerušeno"
|
disconnectedFromServer: "Spojení bylo přerušeno"
|
||||||
reload: "Aktualizovat"
|
reload: "Aktualizovat"
|
||||||
doNothing: "Ignorovat"
|
doNothing: "Ignorovat"
|
||||||
|
reloadConfirm: "Chcete obnovit časovou osu?"
|
||||||
watch: "Sledovat"
|
watch: "Sledovat"
|
||||||
unwatch: "Přestat sledovat"
|
unwatch: "Přestat sledovat"
|
||||||
accept: "Souhlasím"
|
accept: "Souhlasím"
|
||||||
@@ -275,41 +346,81 @@ connectService: "Připojit"
|
|||||||
disconnectService: "Odpojit"
|
disconnectService: "Odpojit"
|
||||||
enableLocalTimeline: "Povolit lokální čas"
|
enableLocalTimeline: "Povolit lokální čas"
|
||||||
enableGlobalTimeline: "Povolit globální čas"
|
enableGlobalTimeline: "Povolit globální čas"
|
||||||
|
disablingTimelinesInfo: "Administrátoři a Moderátoři budou mít stálý přístup ke všem časovým osám i přes to že nejsou zapnuté."
|
||||||
registration: "Registrace"
|
registration: "Registrace"
|
||||||
enableRegistration: "Povolit registraci novým uživatelům"
|
enableRegistration: "Povolit registraci novým uživatelům"
|
||||||
invite: "Pozvat"
|
invite: "Pozvat"
|
||||||
|
driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele"
|
||||||
|
driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele"
|
||||||
inMb: "V megabajtech"
|
inMb: "V megabajtech"
|
||||||
iconUrl: "Favicon URL"
|
iconUrl: "Favicon URL"
|
||||||
bannerUrl: "Baner URL"
|
bannerUrl: "Baner URL"
|
||||||
backgroundImageUrl: "Adresa URL obrázku pozadí"
|
backgroundImageUrl: "Adresa URL obrázku pozadí"
|
||||||
basicInfo: "Základní informace"
|
basicInfo: "Základní informace"
|
||||||
|
pinnedUsers: "Připnutí uživatelé"
|
||||||
|
pinnedUsersDescription: "Seznam uživatelských přezdívek oddělených řádkami bude připnutý v záložce \"Objevit\"."
|
||||||
|
pinnedPages: "Připnutý stránky"
|
||||||
|
pinnedPagesDescription: "Zadejte cesty stránek oddělené řádkami, které si přejete mít přípnutý na vrcholu téhle instance."
|
||||||
|
pinnedClipId: "ID připnutého klipu"
|
||||||
|
pinnedNotes: "Připnutá poznámka"
|
||||||
hcaptcha: "hCaptcha"
|
hcaptcha: "hCaptcha"
|
||||||
enableHcaptcha: "Aktivovat hCaptchu"
|
enableHcaptcha: "Aktivovat hCaptchu"
|
||||||
|
hcaptchaSiteKey: "Klíč stránky"
|
||||||
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||||
recaptcha: "reCAPTCHA"
|
recaptcha: "reCAPTCHA"
|
||||||
enableRecaptcha: "Zapnout ReCAPTCHu"
|
enableRecaptcha: "Zapnout ReCAPTCHu"
|
||||||
|
recaptchaSiteKey: "Klíč stránky"
|
||||||
recaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
recaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||||
|
turnstile: "Turnstile"
|
||||||
|
enableTurnstile: "Povolit Turnstile"
|
||||||
|
turnstileSiteKey: "Klíč stránky"
|
||||||
|
turnstileSecretKey: "Tajný Klíč (Secret Key)"
|
||||||
|
avoidMultiCaptchaConfirm: "Používání několik Captcha systému může způsobit konflikt mezi nimi. Chtěli byste vypnout ostatní aktivní Captcha systémy? Pokud je chcete nechat zapnuté, stiskněte zrušit."
|
||||||
antennas: "Antény"
|
antennas: "Antény"
|
||||||
manageAntennas: "Spravovat Antény"
|
manageAntennas: "Spravovat Antény"
|
||||||
name: "Jméno"
|
name: "Jméno"
|
||||||
antennaSource: "Zdroj Antény"
|
antennaSource: "Zdroj Antény"
|
||||||
|
antennaKeywords: "Klíčová slova na poslech"
|
||||||
|
antennaExcludeKeywords: "Vyloučená klíčová slova"
|
||||||
|
antennaKeywordsDescription: "Oddělte mezerami pro AND kondice nebo řádkami pro OR kondice."
|
||||||
|
notifyAntenna: "Upozornit na nové poznámky"
|
||||||
|
withFileAntenna: "Poznámky jenom se souborama"
|
||||||
enableServiceworker: "Povolit ServiceWorker"
|
enableServiceworker: "Povolit ServiceWorker"
|
||||||
|
antennaUsersDescription: "Vypsat jednoho uživatele na řádek"
|
||||||
caseSensitive: "Rozlišuje malá a velká písmena"
|
caseSensitive: "Rozlišuje malá a velká písmena"
|
||||||
|
withReplies: "Zahrnout odpovědi"
|
||||||
connectedTo: "Následující účty jsou připojeny"
|
connectedTo: "Následující účty jsou připojeny"
|
||||||
|
notesAndReplies: "Poznámky a odpovědi"
|
||||||
|
withFiles: "Včetně souborů"
|
||||||
|
silence: "Ztlumení"
|
||||||
|
silenceConfirm: "Jste si jistí že chcete ztlumit tohoto uživatele?"
|
||||||
|
unsilence: "Zrušit ztlumení"
|
||||||
|
unsilenceConfirm: "Jste jistí že chcete vrátit zltumení tohoto uživatele?"
|
||||||
|
popularUsers: "Populární uživatelé"
|
||||||
|
recentlyUpdatedUsers: "Nedávno aktívni uživatelé"
|
||||||
|
recentlyRegisteredUsers: "Nově připojený uživatelé"
|
||||||
|
recentlyDiscoveredUsers: "Nově objevený uživatelé"
|
||||||
|
exploreUsersCount: "Existuje {count} uživatelů"
|
||||||
|
exploreFediverse: "Objevovat Fediverse"
|
||||||
popularTags: "Populární tagy"
|
popularTags: "Populární tagy"
|
||||||
userList: "Seznamy"
|
userList: "Seznamy"
|
||||||
about: "Informace"
|
about: "Informace"
|
||||||
aboutMisskey: "O Misskey"
|
aboutMisskey: "O Misskey"
|
||||||
administrator: "Administrátor"
|
administrator: "Administrátor"
|
||||||
token: "Token"
|
token: "Token"
|
||||||
twoStepAuthentication: "Dvoufaktorová autentikace"
|
2fa: "Dvoufázové ověření"
|
||||||
|
totp: "Ověřovací aplikace"
|
||||||
|
totpDescription: "Použít ověřovací aplikaci pro použití jednorázových hesel"
|
||||||
moderator: "Moderátor"
|
moderator: "Moderátor"
|
||||||
|
moderation: "Moderování"
|
||||||
nUsersMentioned: "{n} uživatelů zmínilo"
|
nUsersMentioned: "{n} uživatelů zmínilo"
|
||||||
|
securityKeyAndPasskey: "Bezpečnostní klíče a tokeny"
|
||||||
securityKey: "Bezpečnostní klíč"
|
securityKey: "Bezpečnostní klíč"
|
||||||
securityKeyName: "Název klíče"
|
|
||||||
registerSecurityKey: "Registrovat bezpečnostní klíč"
|
|
||||||
lastUsed: "Naposledy použito"
|
lastUsed: "Naposledy použito"
|
||||||
|
lastUsedAt: "Naposledy použito: {t}"
|
||||||
unregister: "Odstranit"
|
unregister: "Odstranit"
|
||||||
|
passwordLessLogin: "Přihlášení bez hesla"
|
||||||
|
passwordLessLoginDescription: "Umožní bez-heslové přihlášení pomocí bezpečnostního klíče či tokenu"
|
||||||
resetPassword: "Resetovat heslo"
|
resetPassword: "Resetovat heslo"
|
||||||
newPasswordIs: "Nové heslo je \"{password}\""
|
newPasswordIs: "Nové heslo je \"{password}\""
|
||||||
reduceUiAnimation: "Snížit UI animace"
|
reduceUiAnimation: "Snížit UI animace"
|
||||||
@@ -324,13 +435,7 @@ markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
|
|||||||
help: "Nápověda"
|
help: "Nápověda"
|
||||||
inputMessageHere: "Sem zadejte zprávu"
|
inputMessageHere: "Sem zadejte zprávu"
|
||||||
close: "Zavřít"
|
close: "Zavřít"
|
||||||
group: "Skupina"
|
|
||||||
groups: "Skupiny"
|
|
||||||
createGroup: "Vytvořit skupinu"
|
|
||||||
ownedGroups: "Vlastněné skupiny"
|
|
||||||
joinedGroups: "Členství ve skupinách"
|
|
||||||
invites: "Pozvat"
|
invites: "Pozvat"
|
||||||
groupName: "Název skupiny"
|
|
||||||
members: "Členové"
|
members: "Členové"
|
||||||
transfer: "Převod"
|
transfer: "Převod"
|
||||||
title: "Titulek"
|
title: "Titulek"
|
||||||
@@ -339,11 +444,14 @@ enable: "Povolit"
|
|||||||
next: "Další"
|
next: "Další"
|
||||||
retype: "Zadejte znovu"
|
retype: "Zadejte znovu"
|
||||||
noteOf: "{user} poznámky"
|
noteOf: "{user} poznámky"
|
||||||
inviteToGroup: "Pozvat do skupiny"
|
quoteAttached: "Citace"
|
||||||
|
quoteQuestion: "Přiložit jako citaci?"
|
||||||
|
noMessagesYet: "Zatím tu nejsou žádné zprávy"
|
||||||
newMessageExists: "Máte novou zprávu"
|
newMessageExists: "Máte novou zprávu"
|
||||||
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
|
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
|
||||||
signinRequired: "Přihlašte se, prosím"
|
signinRequired: "Přihlašte se, prosím"
|
||||||
invitations: "Pozvat"
|
invitations: "Pozvat"
|
||||||
|
invitationCode: "Kód pozvánky"
|
||||||
checking: "Ověřuji"
|
checking: "Ověřuji"
|
||||||
available: "K dispozici"
|
available: "K dispozici"
|
||||||
unavailable: "Není k dispozici"
|
unavailable: "Není k dispozici"
|
||||||
@@ -360,19 +468,26 @@ signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jm
|
|||||||
or: "Nebo"
|
or: "Nebo"
|
||||||
language: "Jazyk"
|
language: "Jazyk"
|
||||||
uiLanguage: "Jazyk uživatelského rozhraní"
|
uiLanguage: "Jazyk uživatelského rozhraní"
|
||||||
groupInvited: "Pozvat do skupiny"
|
|
||||||
aboutX: "O {x}"
|
aboutX: "O {x}"
|
||||||
useOsNativeEmojis: "Použití nativních emoji operačního systému"
|
emojiStyle: "Styl emoji"
|
||||||
youHaveNoGroups: "Nemáte žádné skupiny"
|
native: "Výchozí"
|
||||||
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
|
disableDrawer: "Nepoužívat šuplíkové menu"
|
||||||
|
showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši"
|
||||||
noHistory: "Žádná historie"
|
noHistory: "Žádná historie"
|
||||||
signinHistory: "Historie přihlášení"
|
signinHistory: "Historie přihlášení"
|
||||||
|
enableAdvancedMfm: "Zapnout pokročilé MFM"
|
||||||
|
enableAnimatedMfm: "Zapnout animované MFM"
|
||||||
|
doing: "Procesuju..."
|
||||||
category: "Kategorie"
|
category: "Kategorie"
|
||||||
tags: "Štítky"
|
tags: "Štítky"
|
||||||
|
docSource: "Zdroj tohoto dokumentu"
|
||||||
createAccount: "Vytvořit účet"
|
createAccount: "Vytvořit účet"
|
||||||
existingAccount: "Existující účet"
|
existingAccount: "Existující účet"
|
||||||
regenerate: "Obnovit"
|
regenerate: "Obnovit"
|
||||||
fontSize: "Velikost písma"
|
fontSize: "Velikost písma"
|
||||||
|
mediaListWithOneImageAppearance: "Výška seznamu médií s jedním obrázkem"
|
||||||
|
limitTo: "Omezeno na {x}"
|
||||||
|
noFollowRequests: "Nemáte žádné žádosti o sledování"
|
||||||
openImageInNewTab: "Otevřít obrázek v novém panelu"
|
openImageInNewTab: "Otevřít obrázek v novém panelu"
|
||||||
dashboard: "Přehled"
|
dashboard: "Přehled"
|
||||||
local: "Lokální"
|
local: "Lokální"
|
||||||
@@ -386,9 +501,40 @@ accountSettings: "Nastavení účtu"
|
|||||||
promotion: "Propagace"
|
promotion: "Propagace"
|
||||||
promote: "Propagovat"
|
promote: "Propagovat"
|
||||||
numberOfDays: "Počet dní"
|
numberOfDays: "Počet dní"
|
||||||
|
hideThisNote: "Skrýt tuto poznámku"
|
||||||
|
showFeaturedNotesInTimeline: "Zobrazit významné poznámky v časové ose"
|
||||||
|
objectStorage: "Úložiště objektů"
|
||||||
|
useObjectStorage: "Použít úložiště objektů"
|
||||||
|
objectStorageBaseUrl: "Base URL"
|
||||||
|
objectStorageBaseUrlDesc: "URL použitá jako reference. Upřesněte URL vlastní CDN nebo Proxy pokud používáte jeden z nich. Pro S3 použijte 'https://<bucket>.s3.amazonaws.com' a pro GCS nebo ekvivalentní služby použijte 'https://storage.googleapis.com/<bucket>', apd."
|
||||||
|
objectStorageBucket: "Bucket"
|
||||||
|
objectStorageBucketDesc: "Prosím upřesněte název bucketu používaný poskytovatelem."
|
||||||
|
objectStoragePrefix: "Předpona"
|
||||||
|
objectStoragePrefixDesc: "Soubory budou ukládány pod složkama s tímhle prefixem."
|
||||||
|
objectStorageEndpoint: "Endpoint"
|
||||||
|
objectStorageEndpointDesc: "Ponechte tohle prázdné pokud používáte AWS S3, jinak upřesněte endpoint jako \"<host>\" nebo \"<host>:<port>\", podle toho jakou službu používáte."
|
||||||
|
objectStorageRegion: "Región"
|
||||||
|
objectStorageRegionDesc: "Upřesněte region jako například \"xx-east-1\". Pokud vlastní služba nerozlišuje mezi regiony, zadejte \"us-east-1\". Zanechte prázdné pokud používáte AWS konfiguraci či proměnné veličiny."
|
||||||
|
objectStorageUseSSL: "Použít SSL"
|
||||||
|
objectStorageUseSSLDesc: "Vypněte to pokud nebudete používat HTTPS pro API připojení"
|
||||||
|
objectStorageUseProxy: "Připojení skrze Proxy"
|
||||||
|
objectStorageUseProxyDesc: "Vypněte to pokud nebudete používat Proxy pro API připojení."
|
||||||
|
objectStorageSetPublicRead: "Při nahrátí nastavit na \"public-read\""
|
||||||
|
s3ForcePathStyleDesc: "Pokud je povolena funkce s3ForcePathStyle, musí být název Bucketu zahrnut do cesty k adrese URL, nikoli do názvu hostitele adresy URL. Toto nastavení může být nutné povolit při používání služeb, jako je například samostatně hostovaná instance Minio."
|
||||||
|
serverLogs: "Logy serveru"
|
||||||
deleteAll: "Smazat vše"
|
deleteAll: "Smazat vše"
|
||||||
showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
|
showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
|
||||||
|
showFixedPostFormInChannel: "Zobrazit vkládací formulář na vrcholu časové osy (Kanály)"
|
||||||
|
newNoteRecived: "Jsou k dispozici nové poznámky"
|
||||||
|
sounds: "Zvuky"
|
||||||
|
sound: "Zvuky"
|
||||||
|
listen: "Poslouchat"
|
||||||
|
none: "Žádný"
|
||||||
|
showInPage: "Zobrazit na stránce"
|
||||||
|
popout: "Pop-out"
|
||||||
|
volume: "Hlasitost"
|
||||||
masterVolume: "Celková hlasitost"
|
masterVolume: "Celková hlasitost"
|
||||||
|
details: "Detaily"
|
||||||
chooseEmoji: "Vybrat emotikon"
|
chooseEmoji: "Vybrat emotikon"
|
||||||
unableToProcess: "Operace nebyla dokončena."
|
unableToProcess: "Operace nebyla dokončena."
|
||||||
recentUsed: "Naposledy použité"
|
recentUsed: "Naposledy použité"
|
||||||
@@ -396,35 +542,77 @@ install: "Nainstalovat"
|
|||||||
uninstall: "Odinstalovat"
|
uninstall: "Odinstalovat"
|
||||||
installedApps: "Autorizované aplikace"
|
installedApps: "Autorizované aplikace"
|
||||||
nothing: "Nic nebylo nalezeno"
|
nothing: "Nic nebylo nalezeno"
|
||||||
|
installedDate: "Datum autorizace"
|
||||||
lastUsedDate: "Poslední použití"
|
lastUsedDate: "Poslední použití"
|
||||||
state: "Stav"
|
state: "Stav"
|
||||||
sort: "Seřadit"
|
sort: "Seřadit"
|
||||||
ascendingOrder: "Vzestupně"
|
ascendingOrder: "Vzestupně"
|
||||||
descendingOrder: "Sestupně"
|
descendingOrder: "Sestupně"
|
||||||
scratchpad: "Zápisník"
|
scratchpad: "Zápisník"
|
||||||
|
scratchpadDescription: "Scratchpad poskytuje rozhraní pro AiScript experimenty. Můžete psát, spustit či zkontrolovat výsledky jeho interakce s Misskey."
|
||||||
output: "Výstup"
|
output: "Výstup"
|
||||||
script: "Skript"
|
script: "Skript"
|
||||||
|
disablePagesScript: "Vypnout AiScript na stránkách"
|
||||||
updateRemoteUser: "Aktualizovat informace o vzdáleném účtu"
|
updateRemoteUser: "Aktualizovat informace o vzdáleném účtu"
|
||||||
deleteAllFiles: "Smazat všechny soubory"
|
deleteAllFiles: "Smazat všechny soubory"
|
||||||
deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
|
deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
|
||||||
|
removeAllFollowing: "Přestat sledovat všechny sledované uživatele"
|
||||||
|
removeAllFollowingDescription: "Spuštěním přestanete sledovat všechny účty z {host}. Prosíme spustěte tohle v případě že instance už neexistuje. "
|
||||||
userSuspended: "Tomuto uživateli byl pozastaven účet."
|
userSuspended: "Tomuto uživateli byl pozastaven účet."
|
||||||
|
userSilenced: "Tenhle uživatel je umlčen."
|
||||||
|
yourAccountSuspendedTitle: "Tenhle účet je zmrazený"
|
||||||
|
yourAccountSuspendedDescription: "Tenhle účet byl zmrazen z důvodu porušení smluvní podmínky serveru. Pro přesnější informace kontaktujte administrátora. Prosíme nezakládejte si nový účet."
|
||||||
|
tokenRevoked: "Nesprávný token"
|
||||||
|
tokenRevokedDescription: "Tenhle token vyprchal. Prosíme přihlašte se znova."
|
||||||
|
accountDeleted: "Účet smazán"
|
||||||
|
accountDeletedDescription: "Tenhle účet byl smazán."
|
||||||
menu: "Menu"
|
menu: "Menu"
|
||||||
|
divider: "Dělící čára"
|
||||||
addItem: "Přidat položku"
|
addItem: "Přidat položku"
|
||||||
|
rearrange: "Přeřadit"
|
||||||
|
relays: "Relay"
|
||||||
|
addRelay: "Přidat Relay"
|
||||||
inboxUrl: "Inbox URL"
|
inboxUrl: "Inbox URL"
|
||||||
|
addedRelays: "Přidané přenosy"
|
||||||
|
serviceworkerInfo: "Musí být zapnut pro push notifikace."
|
||||||
deletedNote: "Odstraněné příspěvky"
|
deletedNote: "Odstraněné příspěvky"
|
||||||
invisibleNote: "Skryté příspěvky"
|
invisibleNote: "Skryté příspěvky"
|
||||||
|
enableInfiniteScroll: "Automaticky načítat více"
|
||||||
|
visibility: "Viditelnost"
|
||||||
|
poll: "Anketa"
|
||||||
|
useCw: "Schovat obsah"
|
||||||
|
enablePlayer: "Otevřít video přehrávač"
|
||||||
|
disablePlayer: "Zavřít video přehrávač"
|
||||||
|
expandTweet: "Rozbalit tweet"
|
||||||
|
themeEditor: "Editor témat"
|
||||||
description: "Popis"
|
description: "Popis"
|
||||||
|
describeFile: "Přidat popisek"
|
||||||
|
enterFileDescription: "Vložit popisek"
|
||||||
author: "Autor"
|
author: "Autor"
|
||||||
|
leaveConfirm: "Máte neuložené změny. Opravdu je chcete zahodit?"
|
||||||
manage: "Administrace"
|
manage: "Administrace"
|
||||||
|
plugins: "Pluginy"
|
||||||
|
preferencesBackups: "Zálohy nastavení"
|
||||||
|
deck: "Deck"
|
||||||
|
undeck: "Opustit Deck"
|
||||||
|
useBlurEffectForModal: "Použít efekt rozostření na okna"
|
||||||
|
useFullReactionPicker: "Používat plnou velikost výběru emoji"
|
||||||
|
width: "Šířka"
|
||||||
|
height: "Výška"
|
||||||
|
large: "Velké"
|
||||||
|
medium: "Střední"
|
||||||
small: "Malé"
|
small: "Malé"
|
||||||
generateAccessToken: "Vygenerovat přístupový token"
|
generateAccessToken: "Vygenerovat přístupový token"
|
||||||
permission: "Oprávnění"
|
permission: "Oprávnění"
|
||||||
enableAll: "Povolit vše"
|
enableAll: "Povolit vše"
|
||||||
disableAll: "Vypnout vše"
|
disableAll: "Vypnout vše"
|
||||||
|
tokenRequested: "Povolit přístup k účtu"
|
||||||
|
pluginTokenRequestedDescription: "Tenhle plugin bude moct používat oprávnění nastavená zde."
|
||||||
notificationType: "Typy oznámení"
|
notificationType: "Typy oznámení"
|
||||||
edit: "Upravit"
|
edit: "Upravit"
|
||||||
emailServer: "Mailový server"
|
emailServer: "Mailový server"
|
||||||
enableEmail: "Zapnout email dystribuci"
|
enableEmail: "Zapnout email dystribuci"
|
||||||
|
emailConfigInfo: "Používá se na ověření emailové adresy během registrace nebo při zapomenutí hesla."
|
||||||
email: "Email"
|
email: "Email"
|
||||||
emailAddress: "Emailová adresa"
|
emailAddress: "Emailová adresa"
|
||||||
smtpConfig: "Konfigurace SMTP serveru"
|
smtpConfig: "Konfigurace SMTP serveru"
|
||||||
@@ -432,94 +620,361 @@ smtpHost: "Hostitel"
|
|||||||
smtpPort: "Port"
|
smtpPort: "Port"
|
||||||
smtpUser: "Uživatelské jméno"
|
smtpUser: "Uživatelské jméno"
|
||||||
smtpPass: "Heslo"
|
smtpPass: "Heslo"
|
||||||
|
emptyToDisableSmtpAuth: "Zanechte uživatelské jméno a heslo prázdné pro vypnutí SMTP verifikace."
|
||||||
|
smtpSecure: "Použít implicitní SSL/TLS pro SMTP připojení"
|
||||||
smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
|
smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
|
||||||
|
testEmail: "Otestovat doručení emailů"
|
||||||
|
wordMute: "Ztlumené slova"
|
||||||
|
regexpError: "Chyba v regulérním výrazu"
|
||||||
|
regexpErrorDescription: "Došlo k chybě v regulérním výrazu v řádku {line} tabulky {tab} ztlumených slov:"
|
||||||
|
instanceMute: "Ztlumené instance"
|
||||||
|
userSaysSomething: "{name} řekl/a něco"
|
||||||
makeActive: "Aktivovat"
|
makeActive: "Aktivovat"
|
||||||
display: "Zobrazit"
|
display: "Zobrazit"
|
||||||
copy: "Kopírovat"
|
copy: "Kopírovat"
|
||||||
|
metrics: "Metriky"
|
||||||
|
overview: "Shrnutí"
|
||||||
logs: "Logy"
|
logs: "Logy"
|
||||||
|
delayed: "Prodleva"
|
||||||
database: "Databáze"
|
database: "Databáze"
|
||||||
|
channel: "Kanály"
|
||||||
create: "Vytvořit"
|
create: "Vytvořit"
|
||||||
notificationSetting: "Nastavení oznámení"
|
notificationSetting: "Nastavení oznámení"
|
||||||
|
notificationSettingDesc: "Vyberte typy oznámení k zobrazení."
|
||||||
useGlobalSetting: "Použít globální nastavení"
|
useGlobalSetting: "Použít globální nastavení"
|
||||||
|
useGlobalSettingDesc: "Pokud je to zapnuté, tak nastavení oznámení účtu bude použito. Pokud je to vypnuté, tak se bude moct použít jednotlivá nastavení."
|
||||||
other: "Ostatní"
|
other: "Ostatní"
|
||||||
|
regenerateLoginToken: "Přegenerovat přihlašovací token"
|
||||||
|
regenerateLoginTokenDescription: "Přegeneruje token interně používaný během přihlášení. Běžně tahle akce není nutná. Pokud bude token přegenerovaný, tak se všechna přihlášená zařízení odhlásí."
|
||||||
|
setMultipleBySeparatingWithSpace: "Oddělení více položek mezerami."
|
||||||
fileIdOrUrl: "ID nebo URL souboru"
|
fileIdOrUrl: "ID nebo URL souboru"
|
||||||
behavior: "Chování"
|
behavior: "Chování"
|
||||||
sample: "Ukázka"
|
sample: "Ukázka"
|
||||||
|
abuseReports: "Nahlášení"
|
||||||
|
reportAbuse: "Nahlášení"
|
||||||
|
reportAbuseOf: "Nahlásit {name}"
|
||||||
|
fillAbuseReportDescription: "Prosíme vyplňte všechny detaily ohledně tohodle nahlášení. Pokud jde o specifickou poznámku, prosíme o přiložení její URL."
|
||||||
|
abuseReported: "Nahlášení bylo odesláno. Děkujeme převelice."
|
||||||
|
reporter: "Nahlásil"
|
||||||
|
reporteeOrigin: "Původ nahlášení"
|
||||||
|
reporterOrigin: "Původ nahlasovače"
|
||||||
|
forwardReport: "Přeposlat nahlášení do vzdálené instance"
|
||||||
|
send: "Odeslat"
|
||||||
|
openInNewTab: "Otevřít v nové kartě"
|
||||||
|
openInSideView: "Otevřít v bočním panelu"
|
||||||
|
defaultNavigationBehaviour: "Výchozí chování navigace"
|
||||||
|
instanceTicker: "Informace instance o poznámkách"
|
||||||
|
waitingFor: "Čeká se na {x}"
|
||||||
|
random: "Náhodně"
|
||||||
|
system: "Systém"
|
||||||
|
switchUi: "Přepnout UI"
|
||||||
|
desktop: "Plocha"
|
||||||
|
clip: "Oříznout"
|
||||||
|
createNew: "Vytvořit nový"
|
||||||
|
optional: "Volitelné"
|
||||||
|
createNewClip: "Vytvořit nový klip"
|
||||||
|
unclip: "Odepnout"
|
||||||
|
confirmToUnclipAlreadyClippedNote: "Tahle poznámku je už součásti \"{name}\" klipu. Chcete ji místo toho odepnout z tohodle klipu?"
|
||||||
|
public: "Veřejný"
|
||||||
|
i18nInfo: "Misskey je překládán do jiných jazyků dobrovolníkama. Můžete pomoci na {link}."
|
||||||
|
manageAccessTokens: "Spravovat přístupové tokeny"
|
||||||
|
accountInfo: "Informace o účtu"
|
||||||
|
notesCount: "Počet poznámek"
|
||||||
|
repliesCount: "Počet odeslaných odpovědí"
|
||||||
|
renotesCount: "Počet přeposlaných poznámek"
|
||||||
|
repliedCount: "Počet přijatých odpovědí"
|
||||||
|
renotedCount: "Počet přijatých přeposlaných poznámek"
|
||||||
|
followingCount: "Počet sledovaných účtů"
|
||||||
|
followersCount: "Počet sledujících"
|
||||||
|
sentReactionsCount: "Počet odeslaných reakcí"
|
||||||
|
receivedReactionsCount: "Počet přijatých reakcí"
|
||||||
|
pollVotesCount: "Počet odeslaných anketových hlasů"
|
||||||
|
pollVotedCount: "Počet přijatých anketových hlasů"
|
||||||
|
yes: "Ano"
|
||||||
|
no: "Ne"
|
||||||
|
driveFilesCount: "Počet souborů na disku"
|
||||||
|
driveUsage: "Využití disku"
|
||||||
|
noCrawle: "Odmítat indexování crawleru"
|
||||||
|
lockedAccountInfo: "Pokud nenastavíte viditelnost poznámek na \"Pouze pro sledující\", budou poznámky viditelné všem i přesto že vyžadujete manuální potvrzení pro sledování."
|
||||||
|
alwaysMarkSensitive: "Výchozně označovat jako citlivý"
|
||||||
|
loadRawImages: "Načítat originální obrázky místo náhledů"
|
||||||
|
disableShowingAnimatedImages: "Nepřehrávat animované obrázky"
|
||||||
|
verificationEmailSent: "Ověřovací email byl zaslán. Ověření dokončíte kliknutím na odkaz v emailu."
|
||||||
|
notSet: "Není nastaveno"
|
||||||
|
emailVerified: "Váš e-mail byl ověřen"
|
||||||
|
contact: "Kontakt"
|
||||||
|
useSystemFont: "Použít výchozí font systému"
|
||||||
|
clips: "Oříznout"
|
||||||
|
experimentalFeatures: "Experimentální funkce"
|
||||||
|
developer: "Vývojář"
|
||||||
|
duplicate: "Duplikovat"
|
||||||
|
left: "Vlevo"
|
||||||
|
center: "Uprostřed"
|
||||||
|
wide: "Široké"
|
||||||
|
narrow: "Úzké"
|
||||||
clearCache: "Vyprázdnit mezipaměť"
|
clearCache: "Vyprázdnit mezipaměť"
|
||||||
|
nUsers: "{n} užívatelů"
|
||||||
|
nNotes: "{n} poznámek"
|
||||||
|
myTheme: "Moje vzhledy"
|
||||||
|
backgroundColor: "Pozadí"
|
||||||
|
accentColor: "Akcent"
|
||||||
|
textColor: "Barva textu"
|
||||||
|
saveAs: "Uložit jako…"
|
||||||
|
advanced: "Pokročilé"
|
||||||
|
value: "Hodnota"
|
||||||
|
createdAt: "Vytvořeno"
|
||||||
|
updatedAt: "Upraveno"
|
||||||
|
saveConfirm: "Uložit změny?"
|
||||||
|
deleteConfirm: "Opravdu smazat?"
|
||||||
|
invalidValue: "Neplatná hodnota."
|
||||||
|
registry: "Registr"
|
||||||
info: "Informace"
|
info: "Informace"
|
||||||
|
unknown: "Neznámý"
|
||||||
|
onlineStatus: "Online status"
|
||||||
|
hideOnlineStatus: "Skrýt Váš online status"
|
||||||
|
hideOnlineStatusDescription: "Skrytí vašeho online stavu může snížit funkcionalitu některých funkcí, například vyhledávání."
|
||||||
|
online: "Online"
|
||||||
|
active: "Aktivní"
|
||||||
|
offline: "Offline"
|
||||||
|
notRecommended: "Nedoporučuje se"
|
||||||
|
botProtection: "Bot ochrana"
|
||||||
|
instanceBlocking: "Blokované instance"
|
||||||
|
selectAccount: "Vybrat účet"
|
||||||
|
switchAccount: "Přepnout účet"
|
||||||
|
enabled: "Zapnuto"
|
||||||
|
disabled: "Vypnuto"
|
||||||
|
quickAction: "Rychlé akce"
|
||||||
user: "Uživatelé"
|
user: "Uživatelé"
|
||||||
administration: "Administrace"
|
administration: "Administrace"
|
||||||
|
accounts: "Účty"
|
||||||
|
switch: "Přepnout"
|
||||||
|
configure: "Nastavit"
|
||||||
|
gallery: "Galerie"
|
||||||
|
recentPosts: "Poslední příspěvky"
|
||||||
|
ads: "Reklamy"
|
||||||
|
memo: "Memo"
|
||||||
|
priority: "Priorita"
|
||||||
|
high: "Vysoká"
|
||||||
|
middle: "Střední"
|
||||||
|
low: "Nízká"
|
||||||
|
emailNotConfiguredWarning: "E-mailová adresa není nastavena."
|
||||||
|
ratio: "Poměr"
|
||||||
|
global: "Globální"
|
||||||
|
sent: "Odeslat"
|
||||||
|
hashtags: "Hashtagy"
|
||||||
|
troubleshooting: "Poradce při potížích"
|
||||||
|
whatIsNew: "Zobrazit změny"
|
||||||
|
translate: "Přeložit"
|
||||||
|
hide: "Skrýt"
|
||||||
|
smartphone: "Telefon"
|
||||||
|
tablet: "Tablet"
|
||||||
|
auto: "Auto"
|
||||||
|
size: "Velikost"
|
||||||
|
numberOfColumn: "Počet sloupců"
|
||||||
|
searchByGoogle: "Vyhledávání"
|
||||||
|
indefinitely: "Navždy"
|
||||||
|
tenMinutes: "10 minut"
|
||||||
|
oneHour: "1 hodina"
|
||||||
|
oneDay: "1 den"
|
||||||
|
oneWeek: "1 týden"
|
||||||
|
reflectMayTakeTime: "Může trvat nějakou dobu, než se projeví změny."
|
||||||
|
cropImage: "Oříznout obrázek"
|
||||||
|
file: "Soubor(ů)"
|
||||||
|
recentNHours: "Posledních {n} hodin"
|
||||||
|
recentNDays: "Posledních {n} dnů"
|
||||||
|
recommended: "Doporučeno"
|
||||||
|
deleteAccount: "Odstranit účet"
|
||||||
|
document: "Dokumentace"
|
||||||
|
logoutConfirm: "Opravdu se chcete odhlásit?"
|
||||||
|
pleaseSelect: "Vybrat možnost"
|
||||||
|
reverse: "Otočit"
|
||||||
|
colored: "Barevné"
|
||||||
|
type: "Typ"
|
||||||
|
speed: "Rychlost"
|
||||||
|
slow: "Pomalá"
|
||||||
|
fast: "Rychlá"
|
||||||
|
account: "Účty"
|
||||||
|
show: "Zobrazit"
|
||||||
|
color: "Barva"
|
||||||
|
_role:
|
||||||
|
priority: "Priorita"
|
||||||
|
_priority:
|
||||||
|
low: "Nízká"
|
||||||
|
middle: "Střední"
|
||||||
|
high: "Vysoká"
|
||||||
|
_ad:
|
||||||
|
back: "Zpět"
|
||||||
|
_gallery:
|
||||||
|
my: "Moje galerie"
|
||||||
_email:
|
_email:
|
||||||
_follow:
|
_follow:
|
||||||
title: "Máte nového následovníka"
|
title: "Máte nového následovníka"
|
||||||
_mfm:
|
_plugin:
|
||||||
mention: "Zmínění"
|
install: "Instalovat plugin"
|
||||||
quote: "Citovat"
|
manage: "Správce pluginů"
|
||||||
emoji: "Vlastní emoji"
|
_preferencesBackups:
|
||||||
search: "Vyhledávání"
|
list: "Vytvořit backup"
|
||||||
|
loadFile: "Načíst ze souboru"
|
||||||
|
save: "Uložit změny"
|
||||||
|
_registry:
|
||||||
|
scope: "Rozsah"
|
||||||
|
key: "Klíč"
|
||||||
|
keys: "Klíče"
|
||||||
|
domain: "Doména"
|
||||||
|
createKey: "Vytvořit klíč"
|
||||||
|
_aboutMisskey:
|
||||||
|
allContributors: "Všichni přispěvatelé"
|
||||||
|
source: "Zdrojový kód"
|
||||||
|
_channel:
|
||||||
|
featured: "Trendy"
|
||||||
|
_menuDisplay:
|
||||||
|
top: "Nahoru"
|
||||||
|
hide: "Skrýt"
|
||||||
_theme:
|
_theme:
|
||||||
|
install: "Nainstalovat vzhled"
|
||||||
|
manage: "Správa vzhledů"
|
||||||
|
code: "Kód vzhledu"
|
||||||
description: "Popis"
|
description: "Popis"
|
||||||
|
installedThemes: "Nainstalované vzhledy"
|
||||||
|
constant: "Konstanta"
|
||||||
|
defaultValue: "Výchozí hodnota"
|
||||||
|
color: "Barva"
|
||||||
|
key: "Klíč"
|
||||||
|
func: "Funkce "
|
||||||
keys:
|
keys:
|
||||||
|
shadow: "Stín"
|
||||||
|
header: "Nadpis"
|
||||||
|
link: "Odkaz"
|
||||||
|
hashtag: "Hashtag"
|
||||||
mention: "Zmínění"
|
mention: "Zmínění"
|
||||||
renote: "Přeposlat"
|
renote: "Přeposlat"
|
||||||
|
divider: "Dělící čára"
|
||||||
_sfx:
|
_sfx:
|
||||||
note: "Poznámky"
|
note: "Poznámky"
|
||||||
notification: "Oznámení"
|
notification: "Oznámení"
|
||||||
chat: "Zprávy"
|
chat: "Zprávy"
|
||||||
|
_ago:
|
||||||
|
future: "Budoucí"
|
||||||
|
justNow: "Teď"
|
||||||
|
invalid: "Nic nebylo nalezeno"
|
||||||
|
_time:
|
||||||
|
second: "Sekund"
|
||||||
|
minute: "Minut"
|
||||||
|
hour: "Hodin"
|
||||||
|
_2fa:
|
||||||
|
renewTOTPCancel: "Ne děkuji"
|
||||||
|
_weekday:
|
||||||
|
sunday: "Neděle"
|
||||||
|
monday: "Pondělí"
|
||||||
|
tuesday: "Úterý"
|
||||||
|
wednesday: "Středa"
|
||||||
|
thursday: "Čtvrtek"
|
||||||
|
friday: "Pátek"
|
||||||
|
saturday: "Sobota"
|
||||||
_widgets:
|
_widgets:
|
||||||
|
profile: "Váš profil"
|
||||||
|
instanceInfo: "Informace o instanci"
|
||||||
notifications: "Oznámení"
|
notifications: "Oznámení"
|
||||||
timeline: "Časová osa"
|
timeline: "Časová osa"
|
||||||
|
calendar: "Kalendář"
|
||||||
|
trends: "Trendy"
|
||||||
|
clock: "Hodiny"
|
||||||
|
rss: "RSS čtečka"
|
||||||
activity: "Aktivita"
|
activity: "Aktivita"
|
||||||
|
photos: "Fotky"
|
||||||
|
digitalClock: "Digitální hodiny"
|
||||||
|
federation: "Federace"
|
||||||
|
slideshow: "Prezentace"
|
||||||
|
button: "Tlačítko"
|
||||||
|
onlineUsers: "Online uživatelé"
|
||||||
jobQueue: "Fronta úloh"
|
jobQueue: "Fronta úloh"
|
||||||
|
aiscript: "AiScript conzole"
|
||||||
|
aichan: "Ai"
|
||||||
|
_userList:
|
||||||
|
chooseList: "Vybrat seznam"
|
||||||
_cw:
|
_cw:
|
||||||
|
hide: "Skrýt"
|
||||||
show: "Zobrazit více"
|
show: "Zobrazit více"
|
||||||
|
_poll:
|
||||||
|
noMore: "Více už přidat nemůžete"
|
||||||
|
infinite: "Nikdy"
|
||||||
|
deadlineDate: "Datum ukončení"
|
||||||
|
deadlineTime: "Hodin"
|
||||||
|
duration: "Trvání"
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "Domů"
|
home: "Domů"
|
||||||
followers: "Sledující"
|
followers: "Sledující"
|
||||||
|
_postForm:
|
||||||
|
_placeholders:
|
||||||
|
f: "Čekám, až něco napíšete..."
|
||||||
_profile:
|
_profile:
|
||||||
name: "Jméno"
|
name: "Jméno"
|
||||||
username: "Uživatelské jméno"
|
username: "Uživatelské jméno"
|
||||||
|
description: "O mně"
|
||||||
|
youCanIncludeHashtags: "V popisku o Vás můžete použít i hastagy."
|
||||||
|
metadata: "Doplňující informace"
|
||||||
|
metadataContent: "Obsah"
|
||||||
_exportOrImport:
|
_exportOrImport:
|
||||||
|
allNotes: "Všechny poznámky"
|
||||||
followingList: "Sledovaní"
|
followingList: "Sledovaní"
|
||||||
muteList: "Ztlumit"
|
muteList: "Ztlumit"
|
||||||
blockingList: "Zablokovat"
|
blockingList: "Zablokovat"
|
||||||
userLists: "Seznamy"
|
userLists: "Seznamy"
|
||||||
|
_charts:
|
||||||
|
federation: "Federace"
|
||||||
|
apRequest: "Požadavek"
|
||||||
|
usersTotal: "Celkem uživatelů"
|
||||||
|
activeUsers: "Aktivní uživatelé"
|
||||||
|
notesTotal: "Celkový počet poznámek"
|
||||||
_timelines:
|
_timelines:
|
||||||
home: "Domů"
|
home: "Domů"
|
||||||
|
global: "Globální"
|
||||||
|
_play:
|
||||||
|
script: "Skript"
|
||||||
|
summary: "Popis"
|
||||||
_pages:
|
_pages:
|
||||||
|
newPage: "Vytvořit novou stránku"
|
||||||
|
editPage: "Upravit stránku"
|
||||||
|
created: "Stránka byla úspěšně vytvořena"
|
||||||
|
updated: "Stránka byla úspěšně aktualizována"
|
||||||
|
deleted: "Stránka byla úspěšně smazána"
|
||||||
|
pageSetting: "Nastavení stránky"
|
||||||
|
invalidNameText: "Ujistěte se že jméno stránky je vyplněno"
|
||||||
|
contents: "Obsah"
|
||||||
|
fontSerif: "Serif"
|
||||||
|
fontSansSerif: "Sans Serif"
|
||||||
|
chooseBlock: "Přidat blok"
|
||||||
|
selectType: "Vyberte typ"
|
||||||
|
contentBlocks: "Obsah"
|
||||||
|
inputBlocks: "Vstup"
|
||||||
|
specialBlocks: "Speciální"
|
||||||
blocks:
|
blocks:
|
||||||
|
text: "Text"
|
||||||
|
textarea: "Textové pole"
|
||||||
|
section: "Sekce"
|
||||||
image: "Obrázky"
|
image: "Obrázky"
|
||||||
script:
|
button: "Tlačítko"
|
||||||
categories:
|
|
||||||
list: "Seznamy"
|
|
||||||
blocks:
|
|
||||||
_join:
|
|
||||||
arg1: "Seznamy"
|
|
||||||
_randomPick:
|
|
||||||
arg1: "Seznamy"
|
|
||||||
_dailyRandomPick:
|
|
||||||
arg1: "Seznamy"
|
|
||||||
_seedRandomPick:
|
|
||||||
arg2: "Seznamy"
|
|
||||||
_pick:
|
|
||||||
arg1: "Seznamy"
|
|
||||||
_listLen:
|
|
||||||
arg1: "Seznamy"
|
|
||||||
types:
|
|
||||||
array: "Seznamy"
|
|
||||||
_notification:
|
_notification:
|
||||||
youWereFollowed: "Máte nového následovníka"
|
youWereFollowed: "Máte nového následovníka"
|
||||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
|
||||||
_types:
|
_types:
|
||||||
|
all: "Vše"
|
||||||
follow: "Sledovaní"
|
follow: "Sledovaní"
|
||||||
mention: "Zmínění"
|
mention: "Zmínění"
|
||||||
|
reply: "Odpovědi"
|
||||||
renote: "Přeposlat"
|
renote: "Přeposlat"
|
||||||
quote: "Citovat"
|
quote: "Citovat"
|
||||||
reaction: "Reakce"
|
reaction: "Reakce"
|
||||||
|
_actions:
|
||||||
|
reply: "Odpovědět"
|
||||||
|
renote: "Přeposlat"
|
||||||
_deck:
|
_deck:
|
||||||
_columns:
|
_columns:
|
||||||
notifications: "Oznámení"
|
notifications: "Oznámení"
|
||||||
tl: "Časová osa"
|
tl: "Časová osa"
|
||||||
antenna: "Antény"
|
antenna: "Antény"
|
||||||
list: "Seznamy"
|
list: "Seznamy"
|
||||||
|
channel: "Kanály"
|
||||||
mentions: "Zmínění"
|
mentions: "Zmínění"
|
||||||
|
_webhookSettings:
|
||||||
|
name: "Jméno"
|
||||||
|
active: "Zapnuto"
|
||||||
|
|||||||
1458
locales/de-DE.yml
1458
locales/de-DE.yml
File diff suppressed because it is too large
Load Diff
396
locales/el-GR.yml
Normal file
396
locales/el-GR.yml
Normal file
@@ -0,0 +1,396 @@
|
|||||||
|
---
|
||||||
|
_lang_: "Ελληνικά"
|
||||||
|
monthAndDay: "{day}/{month}"
|
||||||
|
search: "Αναζήτηση"
|
||||||
|
notifications: "Ειδοποιήσεις"
|
||||||
|
username: "Όνομα μέλους"
|
||||||
|
password: "Κωδικός πρόσβασης"
|
||||||
|
forgotPassword: "Ξέχασα τον κωδικό πρόσβασης"
|
||||||
|
fetchingAsApObject: "Μαζεύοντας από το Fediverse..."
|
||||||
|
ok: "Εντάξει"
|
||||||
|
gotIt: "Τό'πιασα!"
|
||||||
|
cancel: "Ακύρωση"
|
||||||
|
enterUsername: "Εισάγετε το όνομα μέλους"
|
||||||
|
renotedBy: "Κοινοποιήθηκε από {user}"
|
||||||
|
noNotes: "Δεν υπάρχουν σημειώματα"
|
||||||
|
noNotifications: "Δεν υπάρχουν ειδοποιήσεις"
|
||||||
|
settings: "Ρυθμίσεις"
|
||||||
|
basicSettings: "Βασικές ρυθμίσεις"
|
||||||
|
otherSettings: "Άλλες ρυθμίσεις"
|
||||||
|
openInWindow: "Άνοιγμα σε παράθυρο"
|
||||||
|
profile: "Προφίλ"
|
||||||
|
timeline: "Χρονολόγιο"
|
||||||
|
noAccountDescription: "Αυτό το μέλος δεν έχει γράψει βιογραφικό ακόμη."
|
||||||
|
login: "Σύνδεση"
|
||||||
|
loggingIn: "Συνδέεστε"
|
||||||
|
logout: "Αποσύνδεση"
|
||||||
|
signup: "Δημιουργία λογαριασμού"
|
||||||
|
uploading: "Ανέβασμα..."
|
||||||
|
save: "Αποθήκευση"
|
||||||
|
users: "Μέλη"
|
||||||
|
addUser: "Προσθήκη μέλους"
|
||||||
|
favorite: "Προσθήκη στα αγαπημένα"
|
||||||
|
favorites: "Αγαπημένα"
|
||||||
|
unfavorite: "Αφαίρεση από αγαπημένα"
|
||||||
|
favorited: "Προστέθηκε στα αγαπημένα."
|
||||||
|
alreadyFavorited: "Έχει ήδη προστεθεί στα αγαπημένα."
|
||||||
|
cantFavorite: "Αδυναμία προσθήκης στα αγαπημένα."
|
||||||
|
pin: "Καρφίτσωμα στο προφίλ"
|
||||||
|
unpin: "Ξεκαρφίτσωμα από το προφίλ"
|
||||||
|
copyContent: "Αντιγραφή περιεχομένων"
|
||||||
|
copyLink: "Αντιγραφή συνδέσμου"
|
||||||
|
delete: "Διαγραφή"
|
||||||
|
deleteAndEdit: "Διαγραφή και επεξεργασία"
|
||||||
|
deleteAndEditConfirm: "Σίγουρα θέλετε να διαγράψετε αυτό το σημείωμα και να το επεξεργαστείτε; Θα χάσετε όλες τις αντιδράσεις, κοινοποιήσεις και απαντήσεις σε αυτό."
|
||||||
|
addToList: "Προσθήκη στη λίστα"
|
||||||
|
sendMessage: "Αποστολή μηνύματος"
|
||||||
|
copyUsername: "Αντιγραφή ονόματος μέλους"
|
||||||
|
searchUser: "Αναζήτηση μέλους"
|
||||||
|
reply: "Απάντηση"
|
||||||
|
loadMore: "Φόρτωσε περισσότερα"
|
||||||
|
showMore: "Δείξε περισσότερα"
|
||||||
|
showLess: "Κλείσιμο"
|
||||||
|
youGotNewFollower: "σε ακολούθησε"
|
||||||
|
receiveFollowRequest: "Λάβατε αίτημα ακολούθησης"
|
||||||
|
followRequestAccepted: "Το αίτημα ακολούθησης έγινε δεκτό"
|
||||||
|
mention: "Επισήμανση"
|
||||||
|
mentions: "Επισημάνσεις"
|
||||||
|
directNotes: "Απευθείας σημειώματα"
|
||||||
|
importAndExport: "Εισαγωγή / Εξαγωγή"
|
||||||
|
import: "Εισαγωγή"
|
||||||
|
export: "Εξαγωγή"
|
||||||
|
files: "Αρχεία"
|
||||||
|
download: "Λήψη"
|
||||||
|
driveFileDeleteConfirm: "Θέλετε σίγουρα να διαγράψετε το αρχείο \"{name}\"; Τα σημειώματα με αυτό το συνημμένο αρχείο επίσης θα διαγραφούν."
|
||||||
|
unfollowConfirm: "Θέλετε σίγουρα να σταματήσετε να ακολουθείτε το μέλος {name};"
|
||||||
|
exportRequested: "Ζητήσατε μία εξαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο. Επίσης θα προστεθεί στον Δίσκο σας μόλις ολοκληρωθεί."
|
||||||
|
importRequested: "Ζητήσατε μία εισαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο."
|
||||||
|
lists: "Λίστες"
|
||||||
|
noLists: "Δεν έχετε λίστες"
|
||||||
|
note: "Σημείωμα"
|
||||||
|
notes: "Σημειώματα"
|
||||||
|
following: "Ακολουθεί"
|
||||||
|
followers: "Ακολουθούν"
|
||||||
|
followsYou: "Σε ακολουθεί"
|
||||||
|
createList: "Δημιουργία λίστας"
|
||||||
|
manageLists: "Διαχείριση λιστών"
|
||||||
|
error: "Σφάλμα"
|
||||||
|
somethingHappened: "Προέκυψε ένα σφάλμα"
|
||||||
|
retry: "Προσπάθεια ξανά"
|
||||||
|
pageLoadError: "Ένα σφάλμα προέκυψε φορτώνοντας τη σελίδα."
|
||||||
|
pageLoadErrorDescription: "Αυτό κανονικά προκαλείται από σφάλματα δικτύου ή από την προσωρινή μνήμη του προγράμματος περιήγησης. Δοκιμάστε να σβήσετε την προσωρινή μνήμη (cache) και ξαναδοκιμάστε μετά από λίγο."
|
||||||
|
serverIsDead: "Αυτός ο server δεν αποκρίνεται. Παρακαλώ περιμέντε λίγο και δοκιμάστε ξανά."
|
||||||
|
youShouldUpgradeClient: "Για να δείτε αυτή τη σελίδα, παρακαλώ επαναφορτώστε για να ενημερωθεί το πρόγραμμα."
|
||||||
|
enterListName: "Πληκτρολογήστε ένα όνομα για τη λίστα"
|
||||||
|
privacy: "Ιδιωτικότητα"
|
||||||
|
makeFollowManuallyApprove: "Τα αιτήματα ακολούθησης χρειάζονται έγκριση"
|
||||||
|
defaultNoteVisibility: "Προεπιλεγμένη ορατότητα"
|
||||||
|
follow: "Ακολουθήστε"
|
||||||
|
followRequest: "Στείλτε αίτημα ακολούθησης"
|
||||||
|
followRequests: "Αιτήματα ακολούθησης"
|
||||||
|
unfollow: "Να μην ακολουθώ"
|
||||||
|
followRequestPending: "Το αίτημα ακολούθησης εκκρεμεί"
|
||||||
|
enterEmoji: "Εισάγετε ένα emoji"
|
||||||
|
renote: "Κοινοποίηση σημειώματος"
|
||||||
|
unrenote: "Ακύρωση κοινοποίησης"
|
||||||
|
renoted: "Κοινοποιήθηκε."
|
||||||
|
cantRenote: "Αυτή η δημοσίευση δεν μπορεί να κοινοποιηθεί."
|
||||||
|
cantReRenote: "Μία κοινοποίηση δεν μπορεί να κοινοποιηθεί."
|
||||||
|
quote: "Παράθεση"
|
||||||
|
pinnedNote: "Καρφιτσωμένο σημείωμα"
|
||||||
|
pinned: "Καρφίτσωμα στο προφίλ"
|
||||||
|
you: "Εσύ"
|
||||||
|
clickToShow: "Κάντε κλικ για εμφάνιση"
|
||||||
|
add: "Προσθέστε"
|
||||||
|
reaction: "Αντιδράσεις"
|
||||||
|
reactions: "Αντιδράσεις"
|
||||||
|
reactionSetting: "Αντιδράσεις για εμφάνιση στην επιλογή αντίδρασης"
|
||||||
|
reactionSettingDescription2: "Σύρετε για να αλλάξετε τη σειρά, κάντε κλικ για να διαγράψετε, πατήστε \"+\" για να προσθέσετε."
|
||||||
|
rememberNoteVisibility: "Θυμήσου τις ρυθμίσεις ορατότητας σημειώματος"
|
||||||
|
attachCancel: "Διαγραφή αρχείου"
|
||||||
|
enterFileName: "Πληκτρολογήστε όνομα αρχείου"
|
||||||
|
mute: "Σίγαση"
|
||||||
|
unmute: "Άρση σίγασης"
|
||||||
|
block: "Μπλοκάρισμα"
|
||||||
|
unblock: "Άρση μπλοκαρίσματος"
|
||||||
|
suspend: "Αποβολή"
|
||||||
|
unsuspend: "Άρση αποβολής"
|
||||||
|
blockConfirm: "Θέλετε σίγουρα να μπλοκάρετε αυτόν τον λογαριασμό;"
|
||||||
|
unblockConfirm: "Θέλετε σίγουρα να ξεμπλοκάρετε αυτόν τον λογαριασμό;"
|
||||||
|
suspendConfirm: "Θέλετε σίγουρα να αποβάλλετε αυτόν τον λογαριασμό;"
|
||||||
|
unsuspendConfirm: "Θέλετε σίγουρα να άρετε την αποβολή αυτού του λογαριασμού;"
|
||||||
|
selectList: "Επιλέξτε μία λίστα"
|
||||||
|
selectAntenna: "Επιλέξτε μία αντένα"
|
||||||
|
selectWidget: "Επιλέξτε ένα μαραφέτι"
|
||||||
|
editWidgets: "Επεξεργασία μαραφετίων"
|
||||||
|
editWidgetsExit: "Ολοκληρώθηκε"
|
||||||
|
customEmojis: "Επιπλέον emoji"
|
||||||
|
emojiName: "Όνομα emoji"
|
||||||
|
addEmoji: "Προσθήκη emoji"
|
||||||
|
settingGuide: "Συνιστώμενες ρυθμίσεις"
|
||||||
|
flagAsBot: "Αυτός ο λογαριασμός είναι bot"
|
||||||
|
flagAsCat: "Αυτός ο λογαριασμός είναι γάτα"
|
||||||
|
flagShowTimelineReplies: "Εμφάνιση απαντήσεων στο χρονολόγιο"
|
||||||
|
addAccount: "Προσθήκη λογαριασμού"
|
||||||
|
general: "Γενικές"
|
||||||
|
wallpaper: "Ταπετσαρία"
|
||||||
|
setWallpaper: "Ορισμός ταπετσαρίας"
|
||||||
|
removeWallpaper: "Διαγραφή ταπετσαρίας"
|
||||||
|
searchWith: "Αναζήτηση: {q}"
|
||||||
|
youHaveNoLists: "Δεν έχετε λίστες"
|
||||||
|
followConfirm: "Θέλετε σίγουρα να ακολουθήσετε τον λογαριασμό {name};"
|
||||||
|
host: "Φιλοξενεί"
|
||||||
|
selectUser: "Επιλέξτε ένα μέλος"
|
||||||
|
recipient: "Αποδέκτης-τρια"
|
||||||
|
annotation: "Σχόλια"
|
||||||
|
federation: "Ομοσπονδία"
|
||||||
|
storageUsage: "Χρήση χώρου"
|
||||||
|
version: "Έκδοση"
|
||||||
|
metadata: "Μεταδεδομένα"
|
||||||
|
network: "Δίκτυο"
|
||||||
|
disk: "Δίσκος"
|
||||||
|
instanceInfo: "Πληροφορίες του instance"
|
||||||
|
statistics: "Στατιστικά"
|
||||||
|
clearQueue: "Εκκαθάριση ουράς"
|
||||||
|
clearQueueConfirmTitle: "Θέλετε να διαγράψετε την ουρά;"
|
||||||
|
clearCachedFiles: "Εκκαθάριση προσωρινής μνήμης"
|
||||||
|
done: "Ολοκληρώθηκε"
|
||||||
|
attachFile: "Επισύναψη αρχείων"
|
||||||
|
more: "Περισσότερα!"
|
||||||
|
noSuchUser: "Το μέλος δεν βρέθηκε"
|
||||||
|
announcements: "Ανακοινώσεις"
|
||||||
|
imageUrl: "URL εικόνας"
|
||||||
|
remove: "Διαγραφή"
|
||||||
|
removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς"
|
||||||
|
saved: "Αποθηκεύτηκε"
|
||||||
|
messaging: "Συνομιλία"
|
||||||
|
upload: "Ανεβάστε"
|
||||||
|
fromDrive: "Από τον Αποθηκευτικό Χώρο"
|
||||||
|
fromUrl: "Από URL"
|
||||||
|
uploadFromUrl: "Ανεβάστε από URL"
|
||||||
|
explore: "Εξερευνήστε"
|
||||||
|
messageRead: "Διαβάστηκε"
|
||||||
|
startMessaging: "Ξεκινήστε μία συνομιλία"
|
||||||
|
nUsersRead: "διαβάστηκε από {n}"
|
||||||
|
start: "Ας αρχίσουμε"
|
||||||
|
home: "Κεντρικό"
|
||||||
|
activity: "Δραστηριότητα"
|
||||||
|
images: "Εικόνες"
|
||||||
|
image: "Εικόνες"
|
||||||
|
birthday: "Γενέθλια"
|
||||||
|
registeredDate: "Έγινε μέλος στις"
|
||||||
|
location: "Τοποθεσία"
|
||||||
|
theme: "Θέματα"
|
||||||
|
light: "Ανοιχτόχρωμο"
|
||||||
|
dark: "Σκούρο"
|
||||||
|
drive: "Αποθηκευτικός Χώρος"
|
||||||
|
fileName: "Όνομα αρχείου"
|
||||||
|
selectFile: "Επιλέξτε ένα αρχείο"
|
||||||
|
selectFiles: "Επιλέξτε αρχεία"
|
||||||
|
selectFolder: "Επιλέξτε φάκελο"
|
||||||
|
selectFolders: "Επιλέξτε φακέλους"
|
||||||
|
renameFile: "Μετονομασία αρχείου"
|
||||||
|
addFile: "Προσθήκη αρχείου"
|
||||||
|
emptyDrive: "Ο Αποθηκευτικός Χώρος σας είναι άδειος"
|
||||||
|
copyUrl: "Αντιγραφή URL"
|
||||||
|
rename: "Αλλαγή ονόματος"
|
||||||
|
avatar: "Εικονίδιο"
|
||||||
|
banner: "Πανό"
|
||||||
|
reload: "Ανανέωση"
|
||||||
|
doNothing: "Αγνόηση"
|
||||||
|
watch: "Παρακολούθηση"
|
||||||
|
unwatch: "Τέλος παρακολούθησης"
|
||||||
|
accept: "Αποδοχή"
|
||||||
|
reject: "Απόρριψη"
|
||||||
|
normal: "Κανονικό"
|
||||||
|
instanceName: "Όνομα instance"
|
||||||
|
thisYear: "Έτος"
|
||||||
|
thisMonth: "Μήνας"
|
||||||
|
today: "Σήμερα"
|
||||||
|
dayX: "{day}"
|
||||||
|
pages: "Σελίδες"
|
||||||
|
connectService: "Σύνδεση"
|
||||||
|
disconnectService: "Αποσύνδεση"
|
||||||
|
registration: "Εγγραφή"
|
||||||
|
pinnedPages: "Καρφιτσωμένες Σελίδες"
|
||||||
|
pinnedNotes: "Καρφιτσωμένα σημειώματα"
|
||||||
|
antennas: "Αντένες"
|
||||||
|
manageAntennas: "Διαχείριση αντενών"
|
||||||
|
name: "Όνομα"
|
||||||
|
antennaSource: "Πηγή αντένας"
|
||||||
|
antennaKeywords: "Λέξεις-κλειδιά για παρακολούθηση"
|
||||||
|
antennaExcludeKeywords: "Λέξεις-κλειδιά για αποκλεισμό"
|
||||||
|
notifyAntenna: "Ειδοποίηση για νέα σημειώματα"
|
||||||
|
withFileAntenna: "Μόνο σημειώματα με αρχεία"
|
||||||
|
caseSensitive: "Διάκριση Πεζών-Κεφαλαίων"
|
||||||
|
popularTags: "Δημοφιλείς ετικέτες"
|
||||||
|
userList: "Λίστες"
|
||||||
|
about: "Πληροφορίες"
|
||||||
|
moderator: "Συντονιστής"
|
||||||
|
moderation: "Συντονισμός"
|
||||||
|
cacheClear: "Εκκαθάριση προσωρινής μνήμης"
|
||||||
|
markAsReadAllNotifications: "Όλες οι ειδοποιήσεις διαβάστηκαν"
|
||||||
|
members: "Μέλη"
|
||||||
|
transfer: "Μεταφορά"
|
||||||
|
title: "Τίτλος"
|
||||||
|
text: "Κείμενο"
|
||||||
|
enable: "Ενεργοποίηση"
|
||||||
|
next: "Επόμενο"
|
||||||
|
noteOf: "Σημείωμα από {user}"
|
||||||
|
quoteAttached: "Παράθεση"
|
||||||
|
signinRequired: "Παρακαλούμε δημιουργήστε λογαριασμό ή συνδεθείτε πριν συνεχίσετε"
|
||||||
|
category: "Κατηγορία"
|
||||||
|
tags: "Ετικέτες"
|
||||||
|
createAccount: "Δημιουργία λογαριασμού"
|
||||||
|
local: "Τοπικό"
|
||||||
|
remote: "Απομακρυσμένo"
|
||||||
|
total: "Σύνολο"
|
||||||
|
appearance: "Εμφάνιση"
|
||||||
|
accountSettings: "Ρυθμίσεις λογαριασμού"
|
||||||
|
sounds: "Ήχοι"
|
||||||
|
sound: "Ήχοι"
|
||||||
|
listen: "Ακρόαση"
|
||||||
|
showInPage: "Εμφάνιση στη σελίδα"
|
||||||
|
volume: "Ένταση"
|
||||||
|
masterVolume: "Κύρια ένταση"
|
||||||
|
details: "Λεπτομέρειες"
|
||||||
|
install: "Εγκατάσταση"
|
||||||
|
uninstall: "Κατάργηση εγκατάστασης"
|
||||||
|
manage: "Διαχείριση"
|
||||||
|
smtpHost: "Φιλοξενεί"
|
||||||
|
smtpUser: "Όνομα μέλους"
|
||||||
|
smtpPass: "Κωδικός πρόσβασης"
|
||||||
|
notificationSetting: "Ρυθμίσεις ειδοποιήσεων"
|
||||||
|
notificationSettingDesc: "Επιλέξτε τους τύπους ειδοποιήσεων που εμφανίζονται"
|
||||||
|
switchUi: "Αλλαγή UI"
|
||||||
|
clip: "Κλιπ"
|
||||||
|
driveFilesCount: "Αριθμός αρχείων Αποθηκευτικού Χώρου"
|
||||||
|
driveUsage: "Χρήση Αποθηκευτικού Χώρου"
|
||||||
|
noteFavoritesCount: "Αριθμός αγαπημένων σημειωμάτων"
|
||||||
|
clips: "Κλιπ"
|
||||||
|
clearCache: "Εκκαθάριση προσωρινής μνήμης"
|
||||||
|
emailNotification: "Ειδοποιήσεις μέσω mail"
|
||||||
|
inChannelSearch: "Αναζήτηση στο κανάλι"
|
||||||
|
info: "Πληροφορίες"
|
||||||
|
notRecommended: "Δεν προτείνεται"
|
||||||
|
switchAccount: "Αλλαγή λογαριασμού"
|
||||||
|
user: "Μέλη"
|
||||||
|
administration: "Διαχείριση"
|
||||||
|
switch: "Εναλλαγή"
|
||||||
|
gallery: "Γκαλερί"
|
||||||
|
global: "Παγκόσμιο"
|
||||||
|
searchResult: "Αποτελέσματα αναζήτησης"
|
||||||
|
learnMore: "Μάθετε περισσότερα"
|
||||||
|
controlPanel: "Πίνακας ελέγχου"
|
||||||
|
manageAccounts: "Διαχείριση Λογαριασμών"
|
||||||
|
searchByGoogle: "Αναζήτηση"
|
||||||
|
file: "Αρχεία"
|
||||||
|
recommended: "Προτεινόμενα"
|
||||||
|
cannotUploadBecauseNoFreeSpace: "Το ανέβασμα απέτυχε λόγω ανεπαρκούς Αποθηκευτικού Χώρου"
|
||||||
|
_email:
|
||||||
|
_follow:
|
||||||
|
title: "Έχετε ένα νέο ακόλουθο"
|
||||||
|
_channel:
|
||||||
|
featured: "Δημοφιλή"
|
||||||
|
_theme:
|
||||||
|
keys:
|
||||||
|
panel: "Πίνακας"
|
||||||
|
mention: "Επισήμανση"
|
||||||
|
renote: "Κοινοποίηση σημειώματος"
|
||||||
|
_sfx:
|
||||||
|
note: "Σημειώματα"
|
||||||
|
notification: "Ειδοποιήσεις"
|
||||||
|
chat: "Συνομιλία"
|
||||||
|
chatBg: "Συνομιλία (Παρασκήνιο)"
|
||||||
|
antenna: "Αντένες"
|
||||||
|
channel: "Ειδοποιήσεις καναλιών"
|
||||||
|
_ago:
|
||||||
|
future: "Μελλοντικό"
|
||||||
|
justNow: "Μόλις τώρα"
|
||||||
|
secondsAgo: "{n} δευτερόλεπτο(α) πριν"
|
||||||
|
minutesAgo: "{n} λεπτό(ά) πριν"
|
||||||
|
hoursAgo: "{n} ώρα(ες) πριν"
|
||||||
|
daysAgo: "{n} μέρα(ες) πριν"
|
||||||
|
weeksAgo: "{n} εβδομάδα(ες) πριν"
|
||||||
|
monthsAgo: "{n} μήνα(ες) πριν"
|
||||||
|
yearsAgo: "{n} έτος(η) πριν"
|
||||||
|
_permissions:
|
||||||
|
"write:drive": "Επεξεργαστείτε ή διαγράψτε τα αρχεία και τους φακέλους του Αποθηκευτικού Χώρου σας"
|
||||||
|
"read:favorites": "Δείτε τη λίστα των αγαπημένων σας"
|
||||||
|
"write:favorites": "Επεξεργαστείτε τη λίστα των αγαπημένων σας"
|
||||||
|
"read:messaging": "Δείτε τις συνομιλίες σας"
|
||||||
|
"write:messaging": "Γράψτε ή διαγράψτε μηνύματα συνομιλίας"
|
||||||
|
"read:notifications": "Δείτε τις ειδοποιήσεις σας"
|
||||||
|
"write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας"
|
||||||
|
"read:pages": "Δείτε τις Σελίδες σας"
|
||||||
|
"write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας"
|
||||||
|
_antennaSources:
|
||||||
|
all: "Όλα τα σημειώματα"
|
||||||
|
homeTimeline: "Σημειώματα από μέλη που ακολουθείτε"
|
||||||
|
users: "Σημειώματα από συγκεκριμένα μέλη"
|
||||||
|
userList: "Σημειώματα από καθορισμένη λίστα μελών"
|
||||||
|
_widgets:
|
||||||
|
profile: "Προφίλ"
|
||||||
|
instanceInfo: "Πληροφορίες του instance"
|
||||||
|
notifications: "Ειδοποιήσεις"
|
||||||
|
timeline: "Χρονολόγιο"
|
||||||
|
calendar: "Ημερολόγιο"
|
||||||
|
trends: "Δημοφιλή"
|
||||||
|
clock: "Ρολόι"
|
||||||
|
activity: "Δραστηριότητα"
|
||||||
|
photos: "Φωτογραφίες"
|
||||||
|
digitalClock: "Ψηφιακό ρολόι"
|
||||||
|
federation: "Ομοσπονδία"
|
||||||
|
postForm: "Φόρμα δημοσίευσης"
|
||||||
|
button: "Κουμπί"
|
||||||
|
onlineUsers: "Συνδεδεμένα μέλη"
|
||||||
|
_userList:
|
||||||
|
chooseList: "Επιλέξτε μία λίστα"
|
||||||
|
_cw:
|
||||||
|
show: "Δείτε περισσότερα"
|
||||||
|
_visibility:
|
||||||
|
home: "Κεντρικό"
|
||||||
|
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
|
||||||
|
followers: "Ακολουθούν"
|
||||||
|
_profile:
|
||||||
|
name: "Όνομα"
|
||||||
|
username: "Όνομα μέλους"
|
||||||
|
_exportOrImport:
|
||||||
|
allNotes: "Όλα τα σημειώματα"
|
||||||
|
followingList: "Ακολουθεί"
|
||||||
|
muteList: "Μέλη σε σίγαση"
|
||||||
|
blockingList: "Μπλοκαρισμένα μέλη"
|
||||||
|
userLists: "Λίστες"
|
||||||
|
_charts:
|
||||||
|
federation: "Ομοσπονδία"
|
||||||
|
_timelines:
|
||||||
|
home: "Κεντρικό"
|
||||||
|
local: "Τοπικό"
|
||||||
|
social: "Κοινωνικό"
|
||||||
|
global: "Παγκόσμιο"
|
||||||
|
_pages:
|
||||||
|
viewPage: "Δείτε τις Σελίδες σας"
|
||||||
|
blocks:
|
||||||
|
image: "Εικόνες"
|
||||||
|
_notification:
|
||||||
|
youWereFollowed: "σε ακολούθησε"
|
||||||
|
_types:
|
||||||
|
follow: "Νέοι ακόλουθοι"
|
||||||
|
mention: "Επισήμανση"
|
||||||
|
renote: "Κοινοποίηση σημειώματος"
|
||||||
|
quote: "Παράθεση"
|
||||||
|
reaction: "Αντιδράσεις"
|
||||||
|
_actions:
|
||||||
|
reply: "Απάντηση"
|
||||||
|
renote: "Κοινοποίηση σημειώματος"
|
||||||
|
_deck:
|
||||||
|
widgetsIntroduction: "Παρακαλούμε επιλέξτε \"Επεξεργασία μαραφετίων\" στο μενού και προσθέστε μαραφέτι."
|
||||||
|
_columns:
|
||||||
|
widgets: "Μαραφέτια"
|
||||||
|
notifications: "Ειδοποιήσεις"
|
||||||
|
tl: "Χρονολόγιο"
|
||||||
|
antenna: "Αντένες"
|
||||||
|
list: "Λίστα"
|
||||||
|
mentions: "Επισημάνσεις"
|
||||||
|
_webhookSettings:
|
||||||
|
name: "Όνομα"
|
||||||
1344
locales/en-US.yml
1344
locales/en-US.yml
File diff suppressed because it is too large
Load Diff
1133
locales/eo-UY.yml
1133
locales/eo-UY.yml
File diff suppressed because it is too large
Load Diff
1279
locales/es-ES.yml
1279
locales/es-ES.yml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
68
locales/generateDTS.js
Normal file
68
locales/generateDTS.js
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import * as fs from 'node:fs';
|
||||||
|
import * as yaml from 'js-yaml';
|
||||||
|
import * as ts from 'typescript';
|
||||||
|
|
||||||
|
function createMembers(record) {
|
||||||
|
return Object.entries(record)
|
||||||
|
.map(([k, v]) => ts.factory.createPropertySignature(
|
||||||
|
undefined,
|
||||||
|
ts.factory.createStringLiteral(k),
|
||||||
|
undefined,
|
||||||
|
typeof v === 'string'
|
||||||
|
? ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)
|
||||||
|
: ts.factory.createTypeLiteralNode(createMembers(v)),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function generateDTS() {
|
||||||
|
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
|
||||||
|
const members = createMembers(locale);
|
||||||
|
const elements = [
|
||||||
|
ts.factory.createInterfaceDeclaration(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||||
|
ts.factory.createIdentifier('Locale'),
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
members,
|
||||||
|
),
|
||||||
|
ts.factory.createVariableStatement(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
|
||||||
|
ts.factory.createVariableDeclarationList(
|
||||||
|
[ts.factory.createVariableDeclaration(
|
||||||
|
ts.factory.createIdentifier('locales'),
|
||||||
|
undefined,
|
||||||
|
ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(
|
||||||
|
undefined,
|
||||||
|
[ts.factory.createParameterDeclaration(
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
ts.factory.createIdentifier('lang'),
|
||||||
|
undefined,
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||||
|
undefined,
|
||||||
|
)],
|
||||||
|
ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('Locale'),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
)]),
|
||||||
|
undefined,
|
||||||
|
)],
|
||||||
|
ts.NodeFlags.Const | ts.NodeFlags.Ambient | ts.NodeFlags.ContextFlags,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
|
||||||
|
];
|
||||||
|
const printed = ts.createPrinter({
|
||||||
|
newLine: ts.NewLineKind.LineFeed,
|
||||||
|
}).printList(
|
||||||
|
ts.ListFormat.MultiLine,
|
||||||
|
ts.factory.createNodeArray(elements),
|
||||||
|
ts.createSourceFile('index.d.ts', '', ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS),
|
||||||
|
);
|
||||||
|
|
||||||
|
fs.writeFileSync(`${__dirname}/index.d.ts`, `/* eslint-disable */
|
||||||
|
// This file is generated by locales/generateDTS.js
|
||||||
|
// Do not edit this file directly.
|
||||||
|
${printed}`, 'utf-8');
|
||||||
|
}
|
||||||
1
locales/hr-HR.yml
Normal file
1
locales/hr-HR.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
---
|
||||||
1
locales/hu-HU.yml
Normal file
1
locales/hu-HU.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
---
|
||||||
1268
locales/id-ID.yml
1268
locales/id-ID.yml
File diff suppressed because it is too large
Load Diff
2190
locales/index.d.ts
vendored
2190
locales/index.d.ts
vendored
File diff suppressed because it is too large
Load Diff
@@ -2,8 +2,8 @@
|
|||||||
* Languages Loader
|
* Languages Loader
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const fs = require('fs');
|
import * as fs from 'node:fs';
|
||||||
const yaml = require('js-yaml');
|
import * as yaml from 'js-yaml';
|
||||||
|
|
||||||
const merge = (...args) => args.reduce((a, c) => ({
|
const merge = (...args) => args.reduce((a, c) => ({
|
||||||
...a,
|
...a,
|
||||||
@@ -19,7 +19,6 @@ const languages = [
|
|||||||
'da-DK',
|
'da-DK',
|
||||||
'de-DE',
|
'de-DE',
|
||||||
'en-US',
|
'en-US',
|
||||||
'eo-UY',
|
|
||||||
'es-ES',
|
'es-ES',
|
||||||
'fr-FR',
|
'fr-FR',
|
||||||
'id-ID',
|
'id-ID',
|
||||||
@@ -34,8 +33,11 @@ const languages = [
|
|||||||
'pl-PL',
|
'pl-PL',
|
||||||
'pt-PT',
|
'pt-PT',
|
||||||
'ru-RU',
|
'ru-RU',
|
||||||
|
'sk-SK',
|
||||||
|
'th-TH',
|
||||||
'ug-CN',
|
'ug-CN',
|
||||||
'uk-UA',
|
'uk-UA',
|
||||||
|
'vi-VN',
|
||||||
'zh-CN',
|
'zh-CN',
|
||||||
'zh-TW',
|
'zh-TW',
|
||||||
];
|
];
|
||||||
@@ -49,9 +51,9 @@ const primaries = {
|
|||||||
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
||||||
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
|
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
|
||||||
|
|
||||||
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8'))) || {}, a), {});
|
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {});
|
||||||
|
|
||||||
module.exports = Object.entries(locales)
|
export default Object.entries(locales)
|
||||||
.reduce((a, [k ,v]) => (a[k] = (() => {
|
.reduce((a, [k ,v]) => (a[k] = (() => {
|
||||||
const [lang] = k.split('-');
|
const [lang] = k.split('-');
|
||||||
switch (k) {
|
switch (k) {
|
||||||
|
|||||||
1477
locales/it-IT.yml
1477
locales/it-IT.yml
File diff suppressed because it is too large
Load Diff
1247
locales/ja-JP.yml
1247
locales/ja-JP.yml
File diff suppressed because it is too large
Load Diff
1579
locales/ja-KS.yml
1579
locales/ja-KS.yml
File diff suppressed because it is too large
Load Diff
@@ -39,10 +39,8 @@ remove: "Kkes"
|
|||||||
connectService: "Qqen"
|
connectService: "Qqen"
|
||||||
userList: "Tibdarin"
|
userList: "Tibdarin"
|
||||||
securityKey: "Tasarutt n tɣellist"
|
securityKey: "Tasarutt n tɣellist"
|
||||||
securityKeyName: "Isem n tsarutt"
|
|
||||||
signinRequired: "Ttxil jerred"
|
signinRequired: "Ttxil jerred"
|
||||||
signinWith: "Tuqqna s {x}"
|
signinWith: "Tuqqna s {x}"
|
||||||
tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
|
|
||||||
uiLanguage: "Tutlayt n wegrudem"
|
uiLanguage: "Tutlayt n wegrudem"
|
||||||
accountSettings: "Iɣewwaṛen n umiḍan"
|
accountSettings: "Iɣewwaṛen n umiḍan"
|
||||||
plugins: "Izegrar"
|
plugins: "Izegrar"
|
||||||
@@ -55,13 +53,12 @@ accountInfo: "Talɣut n umiḍan"
|
|||||||
emailNotification: "Ilɣa imayl"
|
emailNotification: "Ilɣa imayl"
|
||||||
selectAccount: "Fren amiḍan"
|
selectAccount: "Fren amiḍan"
|
||||||
accounts: "Imiḍan"
|
accounts: "Imiḍan"
|
||||||
|
searchByGoogle: "Nadi"
|
||||||
|
file: "Ifuyla"
|
||||||
|
account: "Imiḍan"
|
||||||
_email:
|
_email:
|
||||||
_follow:
|
_follow:
|
||||||
title: "Yeṭṭafaṛ-ik·em-id"
|
title: "Yeṭṭafaṛ-ik·em-id"
|
||||||
_mfm:
|
|
||||||
mention: "Bder"
|
|
||||||
search: "Nadi"
|
|
||||||
font: "Tasefsit"
|
|
||||||
_theme:
|
_theme:
|
||||||
keys:
|
keys:
|
||||||
mention: "Bder"
|
mention: "Bder"
|
||||||
@@ -70,7 +67,10 @@ _sfx:
|
|||||||
_permissions:
|
_permissions:
|
||||||
"write:account": "Ẓreg talɣut n umiḍan-ik·im"
|
"write:account": "Ẓreg talɣut n umiḍan-ik·im"
|
||||||
_widgets:
|
_widgets:
|
||||||
|
profile: "Amaɣnu"
|
||||||
notifications: "Ilɣuyen"
|
notifications: "Ilɣuyen"
|
||||||
|
_userList:
|
||||||
|
chooseList: "Fren tabdart"
|
||||||
_cw:
|
_cw:
|
||||||
show: "Wali ugar"
|
show: "Wali ugar"
|
||||||
_visibility:
|
_visibility:
|
||||||
@@ -92,29 +92,13 @@ _pages:
|
|||||||
contentBlocks: "Agbur"
|
contentBlocks: "Agbur"
|
||||||
inputBlocks: "Anekcum"
|
inputBlocks: "Anekcum"
|
||||||
specialBlocks: "Uzzig"
|
specialBlocks: "Uzzig"
|
||||||
script:
|
|
||||||
categories:
|
|
||||||
list: "Tibdarin"
|
|
||||||
blocks:
|
|
||||||
_join:
|
|
||||||
arg1: "Tibdarin"
|
|
||||||
_randomPick:
|
|
||||||
arg1: "Tibdarin"
|
|
||||||
_dailyRandomPick:
|
|
||||||
arg1: "Tibdarin"
|
|
||||||
_seedRandomPick:
|
|
||||||
arg2: "Tibdarin"
|
|
||||||
_pick:
|
|
||||||
arg1: "Tibdarin"
|
|
||||||
_listLen:
|
|
||||||
arg1: "Tibdarin"
|
|
||||||
types:
|
|
||||||
array: "Tibdarin"
|
|
||||||
_notification:
|
_notification:
|
||||||
youWereFollowed: "Yeṭṭafaṛ-ik·em-id"
|
youWereFollowed: "Yeṭṭafaṛ-ik·em-id"
|
||||||
_types:
|
_types:
|
||||||
follow: "Ig ṭṭafaṛ"
|
follow: "Ig ṭṭafaṛ"
|
||||||
mention: "Bder"
|
mention: "Bder"
|
||||||
|
_actions:
|
||||||
|
reply: "Err"
|
||||||
_deck:
|
_deck:
|
||||||
_columns:
|
_columns:
|
||||||
notifications: "Ilɣuyen"
|
notifications: "Ilɣuyen"
|
||||||
|
|||||||
@@ -59,14 +59,15 @@ remove: "ಅಳಿಸು"
|
|||||||
smtpUser: "ಬಳಕೆಹೆಸರು"
|
smtpUser: "ಬಳಕೆಹೆಸರು"
|
||||||
smtpPass: "ಗುಪ್ತಪದ"
|
smtpPass: "ಗುಪ್ತಪದ"
|
||||||
user: "ಬಳಕೆದಾರ"
|
user: "ಬಳಕೆದಾರ"
|
||||||
|
searchByGoogle: "ಹುಡುಕು"
|
||||||
|
file: "ಕಡತಗಳು"
|
||||||
_email:
|
_email:
|
||||||
_follow:
|
_follow:
|
||||||
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||||
_mfm:
|
|
||||||
search: "ಹುಡುಕು"
|
|
||||||
_sfx:
|
_sfx:
|
||||||
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
||||||
_widgets:
|
_widgets:
|
||||||
|
profile: "ಪ್ರೊಫೈಲು"
|
||||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||||
timeline: "ಸಮಯಸಾಲು"
|
timeline: "ಸಮಯಸಾಲು"
|
||||||
_cw:
|
_cw:
|
||||||
@@ -75,6 +76,8 @@ _profile:
|
|||||||
username: "ಬಳಕೆಹೆಸರು"
|
username: "ಬಳಕೆಹೆಸರು"
|
||||||
_notification:
|
_notification:
|
||||||
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||||
|
_actions:
|
||||||
|
reply: "ಉತ್ತರಿಸು"
|
||||||
_deck:
|
_deck:
|
||||||
_columns:
|
_columns:
|
||||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||||
|
|||||||
1228
locales/ko-KR.yml
1228
locales/ko-KR.yml
File diff suppressed because it is too large
Load Diff
408
locales/lo-LA.yml
Normal file
408
locales/lo-LA.yml
Normal file
@@ -0,0 +1,408 @@
|
|||||||
|
---
|
||||||
|
_lang_: "ພາສາລາວ"
|
||||||
|
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍຫມາຍເຫດ"
|
||||||
|
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນແຫຼ່ງເປີດ, ການບໍລິການ microblogging ກະຈາຍ\nສ້າງ \"ບັນທຶກ\" ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nດ້ວຍ \"ປະຕິກິລິຍາ\", ທ່ານຍັງສາມາດສະແດງຄວາມຮູ້ສຶກຂອງທ່ານຢ່າງໄວວາກ່ຽວກັບບັນທຶກຂອງທຸກໆຄົນ 👍\nມາສຳຫຼວດໂລກໃໝ່! 🚀"
|
||||||
|
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
|
||||||
|
monthAndDay: "{ເດືອນ}/{ມື້}"
|
||||||
|
search: "ຄົ້ນຫາ"
|
||||||
|
notifications: "ການແຈ້ງເຕືອນ"
|
||||||
|
username: "ຊື່ຜູ້ໃຊ້"
|
||||||
|
password: "ລະຫັດຜ່ານ"
|
||||||
|
forgotPassword: "ລືມລະຫັດຜ່ານ"
|
||||||
|
fetchingAsApObject: "ກຳລັງດຶງຂໍ້ມູນຈາກ fediverse..."
|
||||||
|
ok: "ຕົກລົງ"
|
||||||
|
gotIt: "ເຂົ້າໃຈແລ້ວ!"
|
||||||
|
cancel: "ຍົກເລີກ"
|
||||||
|
noThankYou: "ບໍ່ແມ່ນຕອນນີ້"
|
||||||
|
enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້"
|
||||||
|
renotedBy: "Renoted ໂດຍ {ຜູ້ໃຊ້}"
|
||||||
|
noNotes: "ບໍ່ມີຫມາຍເຫດ"
|
||||||
|
noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ"
|
||||||
|
instance: "ອີນສະແຕນ"
|
||||||
|
settings: "ກຳນົດຄ່າ"
|
||||||
|
notificationSettings: "ຕັ້ງຄ່າການແຈ້ງເຕືອນ"
|
||||||
|
basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ"
|
||||||
|
otherSettings: "ການຕັ້ງຄ່າອື່ນໆ"
|
||||||
|
openInWindow: "ເປີດຢູ່ໃນປ່ອງຢ້ຽມ"
|
||||||
|
profile: "ໂພຼຟາຍ"
|
||||||
|
timeline: "ເສັ້ນກຳນົດເວລາ"
|
||||||
|
noAccountDescription: "ຜູ້ໃຊ້ນີ້ຍັງບໍ່ໄດ້ຂຽນໃນຊີວະປະຫວັດຂອງເຂົາເຈົ້າເທື່ອ"
|
||||||
|
login: "ເຂົ້າສູ່ລະບົບ"
|
||||||
|
loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..."
|
||||||
|
logout: "ອອກຈາກລະບົບ"
|
||||||
|
signup: "ລົງທະບຽນ"
|
||||||
|
uploading: "ການອັບໂຫຼດ..."
|
||||||
|
save: "ບັນທຶກ"
|
||||||
|
users: "ຜູ້ໃຊ້ຕ່າງໆ"
|
||||||
|
addUser: "ເພີ່ມຜູ້ໃຊ້"
|
||||||
|
favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ"
|
||||||
|
favorites: "ລາຍການທີ່ມັກ"
|
||||||
|
unfavorite: "ລຶບອອກຈາກລາຍການທີ່ມັກ"
|
||||||
|
favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ"
|
||||||
|
alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ."
|
||||||
|
cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້."
|
||||||
|
pin: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
|
||||||
|
unpin: "ຖອດປັກໝຸດອອກຈາກໂປຣໄຟລ໌"
|
||||||
|
copyContent: "ຄັດລອກເນື້ອຫາ"
|
||||||
|
copyLink: "ສຳເນົາລິ້ງ"
|
||||||
|
delete: "ລຶບ"
|
||||||
|
deleteAndEdit: "ລົບແລະແກ້ໄຂ"
|
||||||
|
deleteAndEditConfirm: "ເຈົ້າແນ່ໃຈບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບບັນທຶກນີ້ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍການໂຕ້ຕອບ, ບັນທຶກ, ແລະການຕອບກັບທັງໝົດ"
|
||||||
|
addToList: "ເພີ່ມໃສ່ລາຍຊື່"
|
||||||
|
addToAntenna: "ເພີ່ມໃສ່ເສົາອາກາດ"
|
||||||
|
sendMessage: "ສົ່ງຂໍ້ຄວາມ"
|
||||||
|
copyRSS: "ສຳເນົາ RSS"
|
||||||
|
copyUsername: "ສຳເນົາຊື່ຜູ້ໃຊ້"
|
||||||
|
copyUserId: "ສຳເນົາ ID ຜູ້ໃຊ້"
|
||||||
|
copyNoteId: "ສຳເນົາ ID ບັນທຶກ"
|
||||||
|
copyFileId: "ສຳເນົາ ID ໄຟລ໌"
|
||||||
|
copyFolderId: "ສຳເນົາ ID ໂຟນເດີ"
|
||||||
|
copyProfileUrl: "ສຳເນົາ URL ໂປຣໄຟລ໌"
|
||||||
|
searchUser: "ຄົ້ນຫາຜູ້ໃຊ້"
|
||||||
|
reply: "ຕອບໄປທີ"
|
||||||
|
loadMore: "ໂຫຼດເພີ່ມເຕີມ"
|
||||||
|
showMore: "ໂຫຼດເພີ່ມເຕີມ"
|
||||||
|
showLess: "ປິດ"
|
||||||
|
youGotNewFollower: "ໄດ້ຕິດຕາມທ່ານ"
|
||||||
|
receiveFollowRequest: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ໄດ້ຮັບ"
|
||||||
|
followRequestAccepted: "ຜູ້ຕິດຕາມໄດ້ຍອມຮັບຄໍາຮ້ອງຂໍຂອງທ່ານ"
|
||||||
|
mention: "ໄດ້ກ່າວມາ"
|
||||||
|
mentions: "ກ່າວເຖິງ"
|
||||||
|
directNotes: "ໂດຍກົງຫມາຍເຫດ"
|
||||||
|
importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ"
|
||||||
|
import: "ນຳເຂົ້າ"
|
||||||
|
export: "ນຳອອກ"
|
||||||
|
files: "ໄຟລ໌"
|
||||||
|
download: "ດາວໂຫລດ"
|
||||||
|
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? ບັນທຶກທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ"
|
||||||
|
unfollowConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເຊົາຕິດຕາມ {name}?"
|
||||||
|
exportRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການສົ່ງອອກ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ ແລະມັນຈະຖືກເພີ່ມໃສ່ drive ຂອງທ່ານເມື່ອມັນສຳເລັດແລ້ວ"
|
||||||
|
importRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການນໍາເຂົ້າ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ"
|
||||||
|
lists: "ລາຍການ"
|
||||||
|
noLists: "ທ່ານບໍ່ມີລາຍການໃດໆ"
|
||||||
|
note: "ບັນທຶກ"
|
||||||
|
notes: "ບັນທຶກ"
|
||||||
|
following: "ກຳລັງຕິດຕາມ"
|
||||||
|
followers: "ຜູ້ຕິດຕາມ"
|
||||||
|
followsYou: "ຕິດຕາມເຈົ້າ"
|
||||||
|
createList: "ສ້າງລາຍຊື່"
|
||||||
|
manageLists: "ການບໍລິຫານບັນຊີລາຍການ"
|
||||||
|
error: "ຂໍ້ຜິດພາດ"
|
||||||
|
somethingHappened: "ອຸຍ, ມີບາງຢ່າງຜິດພາດ"
|
||||||
|
retry: "ລອງໃຫມ່"
|
||||||
|
pageLoadError: "ເກີດຄວາມຜິດພາດໃນການໂຫລດໜ້ານີ້"
|
||||||
|
pageLoadErrorDescription: "ປົກກະຕິແລ້ວມັນເກີດຈາກຄວາມຜິດພາດເຄືອຂ່າຍ ຫຼື cache ຂອງຕົວທ່ອງເວັບ ລອງລຶບລ້າງແຄດແລ້ວລອງໃໝ່ພາຍຫຼັງສອງສາມນາທີ"
|
||||||
|
serverIsDead: "ເຊີບເວີນີ້ບໍ່ຕອບສະໜອງ ກະລຸນາລໍຖ້າຈັກໜ່ອຍແລ້ວລອງໃໝ່ອີກຄັ້ງ"
|
||||||
|
youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ"
|
||||||
|
enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່"
|
||||||
|
privacy: "ຄວາມເປັນສ່ວນຕົວ"
|
||||||
|
makeFollowManuallyApprove: "ປະຕິບັດຕາມການຮ້ອງຂໍຮຽກຮ້ອງໃຫ້ມີການອະນຸມັດ"
|
||||||
|
defaultNoteVisibility: "ເປັນຄ່າເລີ່ມຕົ້ນ"
|
||||||
|
follow: "ກຳລັງຕິດຕາມ"
|
||||||
|
followRequest: "ສົ່ງການຮ້ອງຂໍປະຕິບຕາມ"
|
||||||
|
followRequests: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍ"
|
||||||
|
unfollow: "ເຊົາຕິດຕາມ"
|
||||||
|
followRequestPending: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ລໍຖ້າຢູ່"
|
||||||
|
enterEmoji: "ປ້ອນອີໂມຈິ"
|
||||||
|
renote: "Renote"
|
||||||
|
unrenote: "ເລີກ Renote"
|
||||||
|
renoted: "ເກັບບັນທຶກໄວ້"
|
||||||
|
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
|
||||||
|
pinnedNote: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
|
||||||
|
pinned: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
|
||||||
|
you: "ເຈົ້າ"
|
||||||
|
clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ"
|
||||||
|
sensitive: "NSFW"
|
||||||
|
add: "ເພີ່ມ"
|
||||||
|
reaction: "ປະຕິກິລິຍາ"
|
||||||
|
reactions: "ປະຕິກິລິຍາ"
|
||||||
|
attachCancel: "ເອົາໄຟລ໌ແນບ"
|
||||||
|
mute: "ປີດສຽງ"
|
||||||
|
unmute: "ເປີດສຽງ"
|
||||||
|
block: "ບ໋ອກ"
|
||||||
|
unblock: "ຍົກເລີກກາຮົບລັອກ"
|
||||||
|
suspend: "ລະງັບ"
|
||||||
|
unsuspend: "ເຊົາລະງັບ"
|
||||||
|
selectList: "ເລືອກບັນຊີລາຍການ"
|
||||||
|
editList: "ແກ້ໄຂລາຍຊື່"
|
||||||
|
selectChannel: "ເລືອກຊ່ອງ"
|
||||||
|
selectAntenna: "ເລືອກເສົາອາກາດ"
|
||||||
|
editAntenna: "ແກ້ໄຂເສົາອາກາດ"
|
||||||
|
selectWidget: "ເລືອກວິກເຈັດ"
|
||||||
|
editWidgets: "ແກ້ໄຂ Widget"
|
||||||
|
editWidgetsExit: "ສຳເລັດແລ້ວ"
|
||||||
|
customEmojis: "ອີໂມຈິແບບກຳນົດເອງ"
|
||||||
|
emoji: "ອີໂມຈິ"
|
||||||
|
emojis: "ອີໂມຈິ"
|
||||||
|
emojiName: "ຊື່ Emoji"
|
||||||
|
emojiUrl: "URL ອີໂມຈິ"
|
||||||
|
addEmoji: "ຕື່ມອີໂມຈິ"
|
||||||
|
settingGuide: "ການຕັ້ງຄ່າທີ່ແນະນໍາ"
|
||||||
|
flagAsBot: "ໝາຍບັນຊີນີ້ເປັນບັອດ"
|
||||||
|
flagAsCat: "ໝາຍບັນຊີນີ້ເປັນແມວ"
|
||||||
|
flagAsCatDescription: "ເປີດໃຊ້ຕົວເລືອກນີ້ເພື່ອໝາຍບັນຊີນີ້ເປັນແມວ"
|
||||||
|
flagShowTimelineReplies: "ສະແດງການຕອບກັບໃນທາມລາຍ"
|
||||||
|
flagShowTimelineRepliesDescription: "ສະແດງການຕອບກັບຂອງຜູ້ໃຊ້ຕໍ່ກັບບັນທຶກຂອງຜູ້ໃຊ້ອື່ນໃນທາມລາຍຖ້າເປີດໃຊ້ງານ"
|
||||||
|
autoAcceptFollowed: "ອະນຸມັດອັດຕະໂນມັດຕາມຄຳຮ້ອງຂໍຈາກຜູ້ໃຊ້ທີ່ທ່ານກຳລັງຕິດຕາມຢູ່"
|
||||||
|
addAccount: "ເພີ່ມບັນຊີ"
|
||||||
|
loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ"
|
||||||
|
showOnRemote: "ເບິ່ງຢູ່ໃນຕົວຢ່າງໄລຍະໄກ"
|
||||||
|
general: "ທົ່ວໄປ"
|
||||||
|
wallpaper: "ພາບພື້ນຫລັງ"
|
||||||
|
setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ"
|
||||||
|
removeWallpaper: "ລຶບຮູບວໍເປເປີອອກ"
|
||||||
|
searchWith: "ຊອກຫາ: {q}"
|
||||||
|
youHaveNoLists: "ທ່ານບໍ່ມີລາຍການໃດໆ"
|
||||||
|
proxyAccount: "ບັນຊີພຣັອກຊີ"
|
||||||
|
host: "ໂຮດສ"
|
||||||
|
selectUser: "ເລືອກຜູ້ໃຊ້"
|
||||||
|
recipient: "ເຖິງ"
|
||||||
|
annotation: "ຄຳເຫັນ"
|
||||||
|
federation: "ສະຫະພັນ"
|
||||||
|
instances: "ອີນສະແຕນ"
|
||||||
|
registeredAt: "ລົງທະບຽນຢູ່"
|
||||||
|
storageUsage: "ບ່ອນຈັດເກັບຂໍ້ມູນທີ່ໃຊ້"
|
||||||
|
charts: "ອັນດັບເພງ"
|
||||||
|
perHour: "ຕໍ່ຊົ່ວໂມງ"
|
||||||
|
perDay: "ຕໍ່ມື້"
|
||||||
|
stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ"
|
||||||
|
blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້"
|
||||||
|
operations: "ການດຳເນີນງານ"
|
||||||
|
software: "ຊອບແວ"
|
||||||
|
version: "ສະບັບ"
|
||||||
|
metadata: "Metadata"
|
||||||
|
withNFiles: "{n} ໄຟລ໌(s)"
|
||||||
|
monitor: "ຈໍພາບ"
|
||||||
|
jobQueue: "ຄິວວຽກ"
|
||||||
|
cpuAndMemory: "CPU ແລະ ຫນ່ວຍຄວາມຈໍາ"
|
||||||
|
network: "ເຄືອຂ່າຍ"
|
||||||
|
disk: "ດິສກ໌"
|
||||||
|
instanceInfo: "ອີນສະແຕນ"
|
||||||
|
statistics: "ສະຖິຕິ"
|
||||||
|
clearQueue: "ລ້າງຄິວ"
|
||||||
|
clearCachedFiles: "ລຶບລ້າງແຄສ"
|
||||||
|
noUsers: "ບໍ່ພົບຜູ້ໃຊ້"
|
||||||
|
editProfile: "ແກ້ໄຂໂປຣໄຟລ໌"
|
||||||
|
done: "ສຳເລັດ"
|
||||||
|
processing: "ກຳລັງປະມວນຜົນ"
|
||||||
|
preview: "ສະແດງເປັນຕົວຢ່າງ"
|
||||||
|
default: "ຄ່າເລີ່ມຕົ້ນ"
|
||||||
|
defaultValueIs: "ຄ່າເລີ່ມຕົ້ນ: {value}"
|
||||||
|
noCustomEmojis: "ບໍ່ມີອີໂມຈິ"
|
||||||
|
noJobs: "ບໍ່ມີຊິ້ນວຽກ"
|
||||||
|
federating: "ສະຫະພັນ"
|
||||||
|
blocked: "ບລັອກແລ້ວ "
|
||||||
|
suspended: "ໂຈະ"
|
||||||
|
all: "ທັງໝົດ"
|
||||||
|
subscribing: "ສະໝັກສະມາຊິກແລັວ"
|
||||||
|
publishing: "ການພິມເຜີຍແຜ່"
|
||||||
|
notResponding: "ບໍ່ຕອບສະໜອງ"
|
||||||
|
instanceFollowing: "ກຳລັງຕິດຕາມສຸດຕົວຢ່າງ"
|
||||||
|
instanceFollowers: "ຜູ້ຕິດຕາມຕົວຢ່າງ"
|
||||||
|
instanceUsers: "ຜູ້ຊົມໃຊ້ຂອງຕົວຢ່າງນີ້"
|
||||||
|
changePassword: "ປ່ຽນລະຫັດຜ່ານ"
|
||||||
|
security: "ຄວາມປອດໄພ"
|
||||||
|
retypedNotMatch: "ວັດສະດຸປ້ອນບໍ່ກົງກັນ"
|
||||||
|
currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ"
|
||||||
|
newPassword: "ລະຫັດຜ່ານໃໝ່"
|
||||||
|
newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ"
|
||||||
|
attachFile: "ແນບໄຟລ໌"
|
||||||
|
more: "ເພີ່ມເຕີມ!"
|
||||||
|
featured: "ໄຮໄລທ໌"
|
||||||
|
usernameOrUserId: "ຊື່ຜູ້ໃຊ້ ຫຼື id ຜູ້ໃຊ້"
|
||||||
|
noSuchUser: "ບໍ່ພົບຜູ້ໃຊ້"
|
||||||
|
lookup: "ຄົ້ນຫາ"
|
||||||
|
announcements: "ປະກາດ"
|
||||||
|
imageUrl: "URL ຮູບພາບ"
|
||||||
|
remove: "ລຶບ"
|
||||||
|
removed: "ລຶບແລ້ວ"
|
||||||
|
resetAreYouSure: "ຣີເຊັດບໍ?"
|
||||||
|
saved: "ບັນທຶກແລ້ວ"
|
||||||
|
messaging: "ແຊ໋ດ"
|
||||||
|
upload: "ອັບໂຫຼດ"
|
||||||
|
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
|
||||||
|
fromDrive: "ຈາກ Drive"
|
||||||
|
fromUrl: "ຈາກ URL"
|
||||||
|
uploadFromUrl: "ອັບໂຫຼດຈາກ URL"
|
||||||
|
uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ"
|
||||||
|
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດ"
|
||||||
|
messageRead: "ອ່ານແລ້ວ"
|
||||||
|
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
|
||||||
|
nUsersRead: "ອ່ານໂດຍ {n}"
|
||||||
|
start: "ເລີ່ມຕົ້ນນຳໃຊ້ເລີຍ"
|
||||||
|
home: "ໜ້າຫຼັກ"
|
||||||
|
activity: "ກິດຈະກຳ"
|
||||||
|
images: "ຮູບພາບ"
|
||||||
|
image: "ຮູບພາບ"
|
||||||
|
birthday: "ວັນເກີດ"
|
||||||
|
yearsOld: "{age} ປີ"
|
||||||
|
registeredDate: "ວັນທີ່ເປັນສະມາຊິກ"
|
||||||
|
location: "ທີ່ຕັ້ງ"
|
||||||
|
theme: "ແທ໋ມ"
|
||||||
|
themeForLightMode: "ຮູບແບບສີສັນເພື່ອໃຊ້ໃນໂໝດແສງ"
|
||||||
|
themeForDarkMode: "ຮູບແບບສີສັນທີ່ຈະໃຊ້ຢູ່ໃນໂໝດມືດ"
|
||||||
|
light: "ສະຫວ່າງ"
|
||||||
|
dark: "ມືດ"
|
||||||
|
lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ"
|
||||||
|
darkThemes: "ຮູບແບບສີສັນມືດ"
|
||||||
|
syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ"
|
||||||
|
drive: "ຂັບ"
|
||||||
|
fileName: "ຊື່ໄຟລ໌"
|
||||||
|
selectFile: "ເລືອກໄຟລ໌"
|
||||||
|
selectFiles: "ເລືອກໄຟລ໌"
|
||||||
|
selectFolder: "ເລືອກໂຟລເດີ"
|
||||||
|
selectFolders: "ເລືອກໂຟລເດີ"
|
||||||
|
renameFile: "ປ່ຽນຊື່ໄຟລ໌"
|
||||||
|
folderName: "ຊື່ໂຟນເດີ"
|
||||||
|
createFolder: "ສ້າງໂຟລເດີ"
|
||||||
|
renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້"
|
||||||
|
deleteFolder: "ລົບໂຟລເດີ"
|
||||||
|
addFile: "ເພີ່ມໄຟລ໌"
|
||||||
|
emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ"
|
||||||
|
emptyFolder: "ໂຟນເດີນີ້ເປົ່າຫວ່າງ"
|
||||||
|
unableToDelete: "ບໍ່ສາມາດລົບໄດ້"
|
||||||
|
inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່"
|
||||||
|
inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່"
|
||||||
|
inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່"
|
||||||
|
circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ"
|
||||||
|
rename: "ປ່ຽນຊື່"
|
||||||
|
watch: "ເບິ່ງ"
|
||||||
|
unwatch: "ຢຸດເບິ່ງ"
|
||||||
|
accept: "ອະນຸຍາດ"
|
||||||
|
reject: "ປະຕິເສດ"
|
||||||
|
normal: "ປົກກະຕິ"
|
||||||
|
instanceName: "ຊື່ເຊີເວີ້"
|
||||||
|
instanceDescription: "ຄໍາອະທິບາຍຕົວຢ່າງ"
|
||||||
|
maintainerName: "ຜູ້ດູແລ"
|
||||||
|
maintainerEmail: "ອີເມວ admin"
|
||||||
|
tosUrl: "ເງື່ອນໄຂການໃຫ້ບໍລິການ URL"
|
||||||
|
thisYear: "ປີນີ້"
|
||||||
|
thisMonth: "ເດືອນນີ້"
|
||||||
|
today: "ມື້ນີ້"
|
||||||
|
dayX: "ວັນ {day}"
|
||||||
|
monthX: "ເດືອນ {month}"
|
||||||
|
yearX: "ປີ {year}"
|
||||||
|
pages: "ໜ້າ"
|
||||||
|
integration: "ຄວາມສຳພັນຂອງ"
|
||||||
|
connectService: "ເຊື່ອມຕໍ່"
|
||||||
|
disconnectService: "ຕັດການເຊື່ອມຕໍ່"
|
||||||
|
enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ"
|
||||||
|
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
|
||||||
|
disablingTimelinesInfo: "ຜູ້ເບິ່ງແຍງລະບົບ ແລະຜູ້ຄວບຄຸມຈະມີການເຂົ້າເຖິງທຸກກຳນົດເວລາ, ເຖິງແມ່ນວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ"
|
||||||
|
registration: "ລົງທະບຽນ"
|
||||||
|
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
|
||||||
|
invite: "ເຊີນ"
|
||||||
|
driveCapacityPerLocalAccount: "ຄວາມອາດສາມາດຂັບຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
|
||||||
|
driveCapacityPerRemoteAccount: "ໄດຣຟ໌ຄວາມອາດສາມາດຕໍ່ຜູ້ໃຊ້ທາງໄກ"
|
||||||
|
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
|
||||||
|
turnstileSiteKey: "ກະແຈໄຊທ໌"
|
||||||
|
turnstileSecretKey: "ກະແຈລັບ"
|
||||||
|
name: "ຊື່"
|
||||||
|
userList: "ລາຍການ"
|
||||||
|
about: "ກ່ຽວກັບ"
|
||||||
|
aboutMisskey: "ກ່ຽວກັບ Misskey"
|
||||||
|
administrator: "ຜູ້ບໍລິຫານ"
|
||||||
|
share: "ແບ່ງປັນ"
|
||||||
|
notFound: "ບໍ່ພົບ"
|
||||||
|
cacheClear: "ລຶບລ້າງແຄສ"
|
||||||
|
invites: "ເຊີນ"
|
||||||
|
title: "ຫົວຂໍ້"
|
||||||
|
text: "ຂໍ້ຄວາມ"
|
||||||
|
enable: "ເປີດໃຊ້"
|
||||||
|
next: "ຕໍ່ໄປ"
|
||||||
|
invitations: "ເຊີນ"
|
||||||
|
language: "ພາສາ"
|
||||||
|
native: "ພາສາແມ່"
|
||||||
|
category: "ຫມວດຫມູ່"
|
||||||
|
tags: "ແທ໋ກ"
|
||||||
|
createAccount: "ສ້າງບັນຊີ"
|
||||||
|
existingAccount: "ທີ່ມີຢູ່"
|
||||||
|
dashboard: "ໜ້າປັດ"
|
||||||
|
local: "ທ້ອງຖິ່ນ"
|
||||||
|
objectStorageRegion: "ພາກພື້ນ"
|
||||||
|
sounds: "ສຽງ"
|
||||||
|
sound: "ສຽງ"
|
||||||
|
none: "ບໍ່ມີ"
|
||||||
|
volume: "ລະດັບສຽງ"
|
||||||
|
details: "ລາຍລະອຽດ"
|
||||||
|
install: "ຕິດຕັ້ງ"
|
||||||
|
uninstall: "ຖອນການຕິດຕັ້ງ"
|
||||||
|
state: "ສະຖານະ"
|
||||||
|
sort: "ຈັດຮຽງໂດຍ"
|
||||||
|
ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່"
|
||||||
|
descendingOrder: "ໃຫຍ່ຫານ້ອຍ"
|
||||||
|
output: "ຜົນຜະລິດ"
|
||||||
|
script: "ບົດຄວາມ"
|
||||||
|
smtpHost: "ໂຮດສ"
|
||||||
|
smtpUser: "ຊື່ຜູ້ໃຊ້"
|
||||||
|
smtpPass: "ລະຫັດຜ່ານ"
|
||||||
|
clearCache: "ລຶບລ້າງແຄສ"
|
||||||
|
info: "ກ່ຽວກັບ"
|
||||||
|
user: "ຜູ້ໃຊ້ຕ່າງໆ"
|
||||||
|
searchByGoogle: "ຄົ້ນຫາ"
|
||||||
|
file: "ໄຟລ໌"
|
||||||
|
_email:
|
||||||
|
_follow:
|
||||||
|
title: "ໄດ້ຕິດຕາມທ່ານ"
|
||||||
|
_theme:
|
||||||
|
keys:
|
||||||
|
mention: "ໄດ້ກ່າວມາ"
|
||||||
|
renote: "Renote"
|
||||||
|
_sfx:
|
||||||
|
note: "ບັນທຶກ"
|
||||||
|
notification: "ການແຈ້ງເຕືອນ"
|
||||||
|
chat: "ແຊ໋ດ"
|
||||||
|
_2fa:
|
||||||
|
renewTOTPCancel: "ບໍ່ແມ່ນຕອນນີ້"
|
||||||
|
_widgets:
|
||||||
|
profile: "ໂພຼຟາຍ"
|
||||||
|
instanceInfo: "ອີນສະແຕນ"
|
||||||
|
notifications: "ການແຈ້ງເຕືອນ"
|
||||||
|
timeline: "ເສັ້ນກຳນົດເວລາ"
|
||||||
|
activity: "ກິດຈະກຳ"
|
||||||
|
federation: "ສະຫະພັນ"
|
||||||
|
jobQueue: "ຄິວວຽກ"
|
||||||
|
_userList:
|
||||||
|
chooseList: "ເລືອກບັນຊີລາຍການ"
|
||||||
|
_cw:
|
||||||
|
show: "ໂຫຼດເພີ່ມເຕີມ"
|
||||||
|
_visibility:
|
||||||
|
home: "ໜ້າຫຼັກ"
|
||||||
|
followers: "ຜູ້ຕິດຕາມ"
|
||||||
|
_profile:
|
||||||
|
name: "ຊື່"
|
||||||
|
username: "ຊື່ຜູ້ໃຊ້"
|
||||||
|
_exportOrImport:
|
||||||
|
followingList: "ກຳລັງຕິດຕາມ"
|
||||||
|
muteList: "ປີດສຽງ"
|
||||||
|
blockingList: "ບ໋ອກ"
|
||||||
|
userLists: "ລາຍການ"
|
||||||
|
_charts:
|
||||||
|
federation: "ສະຫະພັນ"
|
||||||
|
_timelines:
|
||||||
|
home: "ໜ້າຫຼັກ"
|
||||||
|
_play:
|
||||||
|
script: "ບົດຄວາມ"
|
||||||
|
_pages:
|
||||||
|
blocks:
|
||||||
|
image: "ຮູບພາບ"
|
||||||
|
_notification:
|
||||||
|
youWereFollowed: "ໄດ້ຕິດຕາມທ່ານ"
|
||||||
|
_types:
|
||||||
|
follow: "ກຳລັງຕິດຕາມ"
|
||||||
|
mention: "ໄດ້ກ່າວມາ"
|
||||||
|
renote: "Renote"
|
||||||
|
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
|
||||||
|
reaction: "ປະຕິກິລິຍາ"
|
||||||
|
_actions:
|
||||||
|
reply: "ຕອບໄປທີ"
|
||||||
|
renote: "Renote"
|
||||||
|
_deck:
|
||||||
|
_columns:
|
||||||
|
notifications: "ການແຈ້ງເຕືອນ"
|
||||||
|
tl: "ເສັ້ນກຳນົດເວລາ"
|
||||||
|
list: "ລາຍການ"
|
||||||
|
channel: "ຊ່ອງ"
|
||||||
|
mentions: "ກ່າວເຖິງ"
|
||||||
|
_webhookSettings:
|
||||||
|
name: "ຊື່"
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user