Compare commits
2566 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae63a1f494 | ||
|
|
117ac53505 | ||
|
|
2c379732d2 | ||
|
|
9ca1197759 | ||
|
|
8d3283e2a5 | ||
|
|
6589e8a390 | ||
|
|
b62894ff56 | ||
|
|
da274cd458 | ||
|
|
a2268a95be | ||
|
|
9fd1b35d95 | ||
|
|
869854eae7 | ||
|
|
238f923b41 | ||
|
|
a5df2b0293 | ||
|
|
e6eae558d3 | ||
|
|
083fa53d9c | ||
|
|
7b73dd2d62 | ||
|
|
7028b7331b | ||
|
|
eefebab530 | ||
|
|
683ddbef3e | ||
|
|
bd23522c76 | ||
|
|
c1dfbe2623 | ||
|
|
ed9facbb33 | ||
|
|
70df8c77fa | ||
|
|
2c52655b17 | ||
|
|
6c4c071ae9 | ||
|
|
b19dba80f4 | ||
|
|
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 | ||
|
|
f8d0902080 | ||
|
|
a69c78e709 | ||
|
|
84b8ffb7d0 | ||
|
|
3feaf39294 | ||
|
|
fe98ad8849 | ||
|
|
65577e43c8 | ||
|
|
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 | ||
|
|
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 | ||
|
|
d9ab03f086 | ||
|
|
a97fcd9e73 | ||
|
|
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 | ||
|
|
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 | ||
|
|
eef8f63dc6 | ||
|
|
de6e3d64b4 | ||
|
|
ed38233044 | ||
|
|
64874417e0 | ||
|
|
b3decdc4e5 | ||
|
|
9f9b8d1cae | ||
|
|
c456825d0e | ||
|
|
32500faf6d | ||
|
|
fd5a304821 | ||
|
|
0ab59a10b3 | ||
|
|
1ce8da66c2 | ||
|
|
c07e4c3476 | ||
|
|
871f1e90d6 | ||
|
|
168682fb7d | ||
|
|
6df063fb0b | ||
|
|
662ecb721b | ||
|
|
b005dc45ec | ||
|
|
2495c1d99e | ||
|
|
88e09ef380 | ||
|
|
bf4cdd71ce | ||
|
|
cc019a217f | ||
|
|
8dd7147888 | ||
|
|
91b2a169b4 | ||
|
|
2dad6ee50d | ||
|
|
43829c3ad3 | ||
|
|
9f417bd50b | ||
|
|
88ac0de0e6 | ||
|
|
9c5643501d | ||
|
|
eb8867d541 | ||
|
|
448a21a85d | ||
|
|
e4aadc1992 | ||
|
|
f25ca768ad | ||
|
|
42149416e1 | ||
|
|
531ee16b7a | ||
|
|
afb6304979 | ||
|
|
108ec412c3 | ||
|
|
0afebcfd9e | ||
|
|
7ba5512a65 | ||
|
|
08da5e9e0d | ||
|
|
25cac33074 | ||
|
|
f512b29443 | ||
|
|
1461da309f | ||
|
|
4ae1a65958 | ||
|
|
624aef6979 | ||
|
|
042b0c2f18 | ||
|
|
04b41248ce | ||
|
|
5f985ee832 | ||
|
|
419072059f | ||
|
|
a032bde131 | ||
|
|
264e72d335 | ||
|
|
429159f919 | ||
|
|
6ef9721dd3 | ||
|
|
5c5d3c1a24 | ||
|
|
ff59984ff4 | ||
|
|
1162f8bcff | ||
|
|
baca9e48d4 | ||
|
|
744c4c7acb | ||
|
|
7b1ec26655 | ||
|
|
3e1de8203d | ||
|
|
12ca0f9a63 | ||
|
|
f9e4901543 | ||
|
|
7fcd9435f3 | ||
|
|
eb894c330f | ||
|
|
f4e28983a1 | ||
|
|
7d494f1ddf | ||
|
|
f7ff39e7ff | ||
|
|
f50dd5d677 | ||
|
|
adf3493af8 | ||
|
|
1da7be6334 | ||
|
|
e9190599ca | ||
|
|
d050d5fb18 | ||
|
|
c9bf8330de | ||
|
|
aa7ab1c1e0 | ||
|
|
535468e5af | ||
|
|
60b6601d3e | ||
|
|
190b47aad2 | ||
|
|
e902178153 | ||
|
|
71a7165ed7 | ||
|
|
3197390ed4 | ||
|
|
5792eea1b1 | ||
|
|
e5d6d1dcf0 | ||
|
|
5416f38eb4 | ||
|
|
cb2110f669 | ||
|
|
b590f352e9 | ||
|
|
ec23e6270b | ||
|
|
5ec78d11d9 | ||
|
|
3ff89fa7ec | ||
|
|
c0ef868ad2 | ||
|
|
6cbd66b534 | ||
|
|
58fa54a9a6 | ||
|
|
efe62eb303 | ||
|
|
cc7a1808ec | ||
|
|
08d0a45ee7 | ||
|
|
be15c8f437 | ||
|
|
80fa92fb97 | ||
|
|
c1b264e4e9 | ||
|
|
0b462feff6 | ||
|
|
bd7662e5e4 | ||
|
|
73de9be6d5 | ||
|
|
fb914db1aa | ||
|
|
d31945e1fd | ||
|
|
3a04c66ee1 | ||
|
|
b8f785b89d | ||
|
|
32f5987263 | ||
|
|
9ee0db95ac | ||
|
|
7168811283 | ||
|
|
6efff48025 | ||
|
|
556abfabb9 | ||
|
|
6caec5b8e2 | ||
|
|
508af8d458 | ||
|
|
b7bbe090e9 | ||
|
|
8c9a13b2b7 | ||
|
|
f69867fcff | ||
|
|
1e14102316 | ||
|
|
92c30739f6 | ||
|
|
ddc0b37d13 | ||
|
|
12678eb1c0 | ||
|
|
435945d09d | ||
|
|
5e198381d3 | ||
|
|
978282404a | ||
|
|
8485559318 | ||
|
|
a4a40f3b5b | ||
|
|
fc9a6a805f | ||
|
|
1fd6c97532 | ||
|
|
74cef67e9f | ||
|
|
9b7b8bb9a1 | ||
|
|
9c2f5ee041 | ||
|
|
c6a15024f5 | ||
|
|
b27e8606ae | ||
|
|
4a2c225c8c | ||
|
|
557003d5c4 | ||
|
|
0cd5dab244 | ||
|
|
ae3abc2126 | ||
|
|
141c999acd | ||
|
|
300047ce5a | ||
|
|
bfc95ccf73 | ||
|
|
522877b8dd | ||
|
|
bd53c28ae1 | ||
|
|
c260343125 | ||
|
|
8560e107bc | ||
|
|
a2dcf2fc41 | ||
|
|
d72f0779b6 | ||
|
|
f2b40b51c2 | ||
|
|
943ff2dfdb | ||
|
|
fccdeaec3f | ||
|
|
ea5148ca0f | ||
|
|
55b3ae22ee | ||
|
|
aa64ff6c94 | ||
|
|
149edaecab | ||
|
|
6eeb7a92b8 | ||
|
|
f0e720931b | ||
|
|
a222e3d054 | ||
|
|
380d14f406 | ||
|
|
3db78e367b | ||
|
|
29b33b37ee | ||
|
|
a6d4868ff0 | ||
|
|
82e81a0984 | ||
|
|
9ffab33037 | ||
|
|
bb6b912aef | ||
|
|
974269b8f1 | ||
|
|
bfc9873fb9 | ||
|
|
b946d89ec1 | ||
|
|
57ec04d9ec | ||
|
|
6ebab5f577 | ||
|
|
2752858c7c | ||
|
|
86931bdafd | ||
|
|
389350ba77 | ||
|
|
a9960ac63a | ||
|
|
2a4f2fba09 | ||
|
|
97885d3def | ||
|
|
990fef5993 | ||
|
|
e5d56a7cfe | ||
|
|
779bd244a6 | ||
|
|
47edc18931 | ||
|
|
1e48d9e15b | ||
|
|
5f5f68cdcd | ||
|
|
40b7230bd4 | ||
|
|
0befca3704 | ||
|
|
f3be43c39c | ||
|
|
2f67ec2f84 | ||
|
|
f6a6766f7d | ||
|
|
69e08abaef | ||
|
|
928c51ba7b | ||
|
|
ea8a94e6e2 | ||
|
|
449709f6cb | ||
|
|
25cac0089f | ||
|
|
5a33789cd1 | ||
|
|
ad2a3eed9b | ||
|
|
110ae539b8 | ||
|
|
f7a90e041c | ||
|
|
0b4a076f66 | ||
|
|
4e1974c6e6 | ||
|
|
65a19f0c75 | ||
|
|
37a4e5f4fc | ||
|
|
91c56ceb6e | ||
|
|
c3f3f118c3 | ||
|
|
e51f59e1b7 | ||
|
|
3f610edc2a | ||
|
|
562c4d99e6 | ||
|
|
fa554f1684 | ||
|
|
7aecf15f94 | ||
|
|
d8905a9588 | ||
|
|
e2cefb7f47 | ||
|
|
4ee859b691 | ||
|
|
b5a20494f6 | ||
|
|
8cdc619f8f | ||
|
|
2c47196600 | ||
|
|
901453ba7d | ||
|
|
10609eebfa | ||
|
|
331afcb96a | ||
|
|
b388b78892 | ||
|
|
51d21fbe66 | ||
|
|
eec7e6500e | ||
|
|
43baafbebb | ||
|
|
e3a5584d0a | ||
|
|
76db7ba781 | ||
|
|
9a4267f01f | ||
|
|
8d502eba59 | ||
|
|
ecca0d69a4 | ||
|
|
e1d69e236f | ||
|
|
cbb7e95d82 | ||
|
|
e2d2a4e2e4 | ||
|
|
7a999f2289 | ||
|
|
1bd7c55c88 | ||
|
|
7627c43dee | ||
|
|
74df9b57ec | ||
|
|
59520c31fd | ||
|
|
53937e09a0 | ||
|
|
8b5a1faaa4 | ||
|
|
2a1d9a7428 | ||
|
|
b5ccac3cb5 | ||
|
|
d7d533f9de | ||
|
|
f14aba65c5 | ||
|
|
7be09a4af9 | ||
|
|
efb0ffc4ec | ||
|
|
a8fad1b61c | ||
|
|
9869f01e7c | ||
|
|
7588397fb8 | ||
|
|
9885c6ba6c | ||
|
|
04bafc5aee | ||
|
|
3e9677904d | ||
|
|
df61e173c1 | ||
|
|
2c36844d34 | ||
|
|
cc6b2d578f | ||
|
|
8322c90834 | ||
|
|
b312846ff6 | ||
|
|
689e75e10a | ||
|
|
133b5c6391 | ||
|
|
ed5c918d70 | ||
|
|
bf51450647 | ||
|
|
7cbeef21e1 | ||
|
|
9693dfb09d | ||
|
|
c17e8fa8a4 | ||
|
|
21c9705a0f | ||
|
|
daba865a94 | ||
|
|
41e18aa993 | ||
|
|
ffc07a08d7 | ||
|
|
7f4fc20f98 | ||
|
|
45462e4a5e | ||
|
|
c8a90ec7d1 | ||
|
|
41ece00789 | ||
|
|
28193f12ca | ||
|
|
27778f839a | ||
|
|
ef4d78dda2 | ||
|
|
bd1f741dad | ||
|
|
2900f998b1 | ||
|
|
7271fbb092 | ||
|
|
861d028d09 | ||
|
|
f96d50bc07 | ||
|
|
25f15677c3 | ||
|
|
d2623a2ef2 | ||
|
|
7782d9e46c | ||
|
|
53fb48537d | ||
|
|
7e5e763584 | ||
|
|
1f2dab0a83 | ||
|
|
60ce9aa53c | ||
|
|
b17726c9da | ||
|
|
b267a504ca | ||
|
|
45211e14b3 | ||
|
|
4219b4dd62 | ||
|
|
2f128bcd3c | ||
|
|
8855a5fffb | ||
|
|
f2cbd26a85 | ||
|
|
06125e6820 | ||
|
|
186a9e3b41 | ||
|
|
f9882a0c5c | ||
|
|
d3315bda11 | ||
|
|
586c11251a | ||
|
|
a10be38d0e | ||
|
|
dbd46fbeb5 | ||
|
|
d8f3622e16 | ||
|
|
0bbde336b3 | ||
|
|
dfa9359555 | ||
|
|
faef125b74 | ||
|
|
f897357b3c | ||
|
|
40075761fa | ||
|
|
298e950e81 | ||
|
|
f02ed78a20 | ||
|
|
82854236f3 | ||
|
|
6558cd2f27 | ||
|
|
f06ded9433 | ||
|
|
1b867cc1a4 | ||
|
|
1622dfcb53 | ||
|
|
3b1961bb3d | ||
|
|
6119945256 | ||
|
|
3148538f3f | ||
|
|
534e71b720 | ||
|
|
b8f8b9e72c | ||
|
|
533955f928 | ||
|
|
418d936044 | ||
|
|
52840faa85 | ||
|
|
74f1090cb0 | ||
|
|
5e4877b8a4 | ||
|
|
1fc2f2e3e4 | ||
|
|
69d7cfc5ce | ||
|
|
76b2561893 | ||
|
|
89053d5747 | ||
|
|
813f63663c | ||
|
|
0ea5b38fb1 | ||
|
|
6c62c0681c | ||
|
|
9693b2166a | ||
|
|
87c429b5bd | ||
|
|
8233f86181 | ||
|
|
efa72e8d14 | ||
|
|
5bf637b978 | ||
|
|
6a5713f5e5 | ||
|
|
cb6d38713f | ||
|
|
333ba491f1 | ||
|
|
23efba6193 | ||
|
|
f25777f2d2 | ||
|
|
6be1db00d1 | ||
|
|
4a64280a7c | ||
|
|
408142647c | ||
|
|
8804f896b0 | ||
|
|
41ed9a1a72 | ||
|
|
caee136b6b | ||
|
|
67c627e93f | ||
|
|
8e290ba7f6 | ||
|
|
92d9ce8117 | ||
|
|
158dd49b3d | ||
|
|
57d994db0c | ||
|
|
87c5c69c87 | ||
|
|
e6c8b83b20 | ||
|
|
48a169516c | ||
|
|
1afafc0c5f | ||
|
|
616b18a9e5 | ||
|
|
24a2fff929 | ||
|
|
e60517f53b | ||
|
|
97696b18a6 | ||
|
|
c1aa60bc40 | ||
|
|
8a3bac9e10 | ||
|
|
5c1e2e5d7a | ||
|
|
2a1258e5d9 | ||
|
|
696f3d19af | ||
|
|
93e3aede35 | ||
|
|
9e6415e76c | ||
|
|
1b526eb573 | ||
|
|
69057b5787 | ||
|
|
14e74beba1 | ||
|
|
9e6d13ce46 | ||
|
|
019529d76c | ||
|
|
57ee704595 | ||
|
|
a44a43ed0f | ||
|
|
41a7ab5024 | ||
|
|
7b7368b815 | ||
|
|
e159f15600 | ||
|
|
32eb7503b7 | ||
|
|
7308abc21a | ||
|
|
39b377c06f | ||
|
|
af6d52e4c8 | ||
|
|
99eb919f4e | ||
|
|
1d640ee118 | ||
|
|
aedbab17cc | ||
|
|
3e00ce0d88 | ||
|
|
6836c8e98e | ||
|
|
54bf280874 | ||
|
|
40abe3d907 | ||
|
|
621fc5a715 | ||
|
|
b14e347da1 | ||
|
|
034b8f09df | ||
|
|
c537a0ba93 | ||
|
|
897d775b14 | ||
|
|
4f43f019e0 | ||
|
|
1ea0aaef76 | ||
|
|
fd1cfcff5f | ||
|
|
c7308f4178 | ||
|
|
5cc65c5bd3 | ||
|
|
f216dd7617 | ||
|
|
af022fd8b8 | ||
|
|
5c7181ca21 | ||
|
|
f9f64a5e4c | ||
|
|
30892ebfa3 | ||
|
|
ae2d71553e | ||
|
|
154e418c34 | ||
|
|
cfd1888969 | ||
|
|
2012f4a198 | ||
|
|
d77fa3bb08 | ||
|
|
d53795184c | ||
|
|
fe3609451e | ||
|
|
3692c9eb64 | ||
|
|
89a532eeac | ||
|
|
85740dd09f | ||
|
|
b05cfe4a84 | ||
|
|
322b64c0b4 | ||
|
|
601bc3e3cc | ||
|
|
c77fe1f2cf | ||
|
|
8e7744a695 | ||
|
|
901d6894de | ||
|
|
b463663175 | ||
|
|
2294e9ffdc | ||
|
|
1122f7281e | ||
|
|
99ced12ac5 | ||
|
|
2e80f9dfba | ||
|
|
3a990dce75 | ||
|
|
cc441258db | ||
|
|
ee144acea9 | ||
|
|
35b7ce1a96 | ||
|
|
dc0e55bf16 | ||
|
|
1b956af855 | ||
|
|
a3dceee7c0 | ||
|
|
7940417d23 | ||
|
|
b1751543aa | ||
|
|
034dcaeb9d | ||
|
|
936fb136d2 | ||
|
|
55ab528c87 | ||
|
|
c544e38f34 | ||
|
|
9b771baa5e | ||
|
|
f607faef0b | ||
|
|
cb16ff866c | ||
|
|
d6e85ffb59 | ||
|
|
f9e3fd7001 | ||
|
|
ba1e14443c | ||
|
|
80c88e13ff | ||
|
|
35cd9e621a | ||
|
|
ea66080197 | ||
|
|
06837662a9 | ||
|
|
f9024a0058 | ||
|
|
493ff2eed5 | ||
|
|
ad9e6a4ec5 | ||
|
|
ac82435014 | ||
|
|
d9257a5c0e | ||
|
|
f7c90b58d6 | ||
|
|
2f8e3559b5 | ||
|
|
e96a914b6b | ||
|
|
6ab2c7780c | ||
|
|
6d6162333e | ||
|
|
58b9dc581e | ||
|
|
fa8eb43eaf | ||
|
|
504f182448 | ||
|
|
cf5fe2d107 | ||
|
|
50f2025421 | ||
|
|
fd5999378b | ||
|
|
1894df882b | ||
|
|
983599bdae | ||
|
|
8451436cb8 | ||
|
|
6319dd1bfb | ||
|
|
d1ea8654e6 | ||
|
|
37628953c5 | ||
|
|
13288e1ed8 | ||
|
|
6d82bbef17 | ||
|
|
a46e2f2868 | ||
|
|
6cbc460c19 | ||
|
|
9cd2b767a9 | ||
|
|
60b9c467e6 | ||
|
|
ceabd7c791 | ||
|
|
0be4e10462 | ||
|
|
d95fafb5b3 | ||
|
|
ef485044ea | ||
|
|
c599a304c8 | ||
|
|
6d918f195a | ||
|
|
31a3748a18 | ||
|
|
48212e7a44 | ||
|
|
0f7241c2c2 | ||
|
|
bd903cdbb5 | ||
|
|
0b038f6477 | ||
|
|
7e26daa51b | ||
|
|
225d7701a4 | ||
|
|
1cae39e281 | ||
|
|
b635b064ee | ||
|
|
640fc337af | ||
|
|
43f2ac56ee | ||
|
|
d3c7c0ebe3 | ||
|
|
d15c8afcdf | ||
|
|
20134a5367 | ||
|
|
46c0280764 | ||
|
|
980a99b6c9 | ||
|
|
c69b72e199 | ||
|
|
0abe2dfee0 | ||
|
|
caf0a219a6 | ||
|
|
4341c4cccc | ||
|
|
054417354c | ||
|
|
b9095995eb | ||
|
|
a60bd33cfc | ||
|
|
7eedb9b19b | ||
|
|
e804a299e0 | ||
|
|
bcf7530eef | ||
|
|
bed982e705 | ||
|
|
d9853d9683 | ||
|
|
fbe4869d1e | ||
|
|
ac04c46d3b | ||
|
|
b1bd7307bb | ||
|
|
8a3f860213 | ||
|
|
e42e9530cb | ||
|
|
b65353bc3c |
151
.config/docker_example.yml
Normal file
151
.config/docker_example.yml
Normal file
@@ -0,0 +1,151 @@
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
# 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
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: redis
|
||||
port: 6379
|
||||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
#pass: example-pass
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ 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
|
||||
|
||||
# Syslog option
|
||||
#syslog:
|
||||
# host: localhost
|
||||
# port: 514
|
||||
|
||||
# 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 └───────────────────────────────────
|
||||
|
||||
#
|
||||
# Misskey supports two deployment options for public.
|
||||
#
|
||||
|
||||
# Option 1: With Reverse Proxy
|
||||
# Misskey requires a reverse proxy to support HTTPS connections.
|
||||
#
|
||||
# +----- https://example.tld/ ------------+
|
||||
# +------+ |+-------------+ +----------------+|
|
||||
@@ -26,30 +23,12 @@ url: https://example.tld/
|
||||
# +------+ |+-------------+ +----------------+|
|
||||
# +---------------------------------------+
|
||||
#
|
||||
# You need to setup reverse proxy. (eg. nginx)
|
||||
# You do not define 'https' section.
|
||||
# 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.
|
||||
|
||||
# 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
|
||||
# The port that your Misskey server should listen on.
|
||||
port: 3000
|
||||
|
||||
# ┌──────────────────────────┐
|
||||
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||
@@ -78,6 +57,7 @@ db:
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
#pass: example-pass
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
@@ -142,10 +122,12 @@ id: 'aid'
|
||||
# Proxy for HTTP/HTTPS
|
||||
#proxy: http://127.0.0.1:3128
|
||||
|
||||
#proxyBypassHosts: [
|
||||
# 'example.com',
|
||||
# '192.0.2.8'
|
||||
#]
|
||||
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
|
||||
@@ -155,8 +137,11 @@ id: 'aid'
|
||||
# Media Proxy
|
||||
#mediaProxy: https://example.com/proxy
|
||||
|
||||
# Sign to ActivityPub GET request (default: false)
|
||||
#signToActivityPubGet: true
|
||||
# Proxy remote files (default: false)
|
||||
#proxyRemoteFiles: true
|
||||
|
||||
# Sign to ActivityPub GET request (default: true)
|
||||
signToActivityPubGet: true
|
||||
|
||||
#allowedPrivateNetworks: [
|
||||
# '127.0.0.1/32'
|
||||
|
||||
@@ -10,6 +10,15 @@ db/
|
||||
docker-compose.yml
|
||||
elasticsearch/
|
||||
node_modules/
|
||||
packages/*/node_modules
|
||||
redis/
|
||||
files/
|
||||
misskey-assets/
|
||||
fluent-emojis/
|
||||
.pnp.*
|
||||
.yarn/*
|
||||
!.yarn/patches
|
||||
!.yarn/plugins
|
||||
!.yarn/releases
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
|
||||
14
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
14
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
@@ -10,19 +10,23 @@ assignees: ''
|
||||
<!--
|
||||
Thanks for reporting!
|
||||
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
|
||||
|
||||
<!-- Tell us what the bug is -->
|
||||
|
||||
## 🙂 Expected Behavior
|
||||
## 🥰 Expected Behavior
|
||||
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
## ☹️ 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
|
||||
|
||||
@@ -33,3 +37,7 @@ First, in order to avoid duplicate Issues, please search to see if the problem y
|
||||
## 📌 Environment
|
||||
|
||||
<!-- Tell us where on the platform it happens -->
|
||||
|
||||
Misskey version:
|
||||
Your OS:
|
||||
Your browser:
|
||||
|
||||
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
7
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,10 +1,7 @@
|
||||
<!-- ℹ お読みください
|
||||
<!-- ℹ お読みください / README
|
||||
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
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
# What
|
||||
|
||||
29
.github/dependabot.yml
vendored
29
.github/dependabot.yml
vendored
@@ -5,7 +5,28 @@
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm" # See documentation for possible values
|
||||
directory: "/" # Location of package manifests
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 0
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 0
|
||||
- package-ecosystem: npm
|
||||
directory: "/packages/backend"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 0
|
||||
- package-ecosystem: npm
|
||||
directory: "/packages/frontend"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 0
|
||||
- package-ecosystem: npm
|
||||
directory: "/packages/sw"
|
||||
schedule:
|
||||
interval: daily
|
||||
open-pull-requests-limit: 0
|
||||
|
||||
12
.github/labeler.yml
vendored
Normal file
12
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
'⚙️Server':
|
||||
- packages/backend/**/*
|
||||
|
||||
'🖥️Client':
|
||||
- packages/frontend/**/*
|
||||
|
||||
'🧪Test':
|
||||
- cypress/**/*
|
||||
- packages/backend/test/**/*
|
||||
|
||||
'‼️ wrong locales':
|
||||
- any: ['locales/*.yml', '!locales/ja-JP.yml']
|
||||
4
.github/misskey/test.yml
vendored
4
.github/misskey/test.yml
vendored
@@ -4,12 +4,12 @@ url: 'http://misskey.local'
|
||||
port: 61812
|
||||
|
||||
db:
|
||||
host: localhost
|
||||
host: 127.0.0.1
|
||||
port: 54312
|
||||
db: test-misskey
|
||||
user: postgres
|
||||
pass: ''
|
||||
redis:
|
||||
host: localhost
|
||||
host: 127.0.0.1
|
||||
port: 56312
|
||||
id: aid
|
||||
|
||||
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
|
||||
10
.github/workflows/docker-develop.yml
vendored
10
.github/workflows/docker-develop.yml
vendored
@@ -10,22 +10,22 @@ jobs:
|
||||
push_to_registry:
|
||||
name: Push Docker image to Docker Hub
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
if: github.repository == 'misskey-dev/misskey'
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3.3.0
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: misskey/misskey
|
||||
- name: Log in to Docker Hub
|
||||
uses: docker/login-action@v1
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Build and Push to Docker Hub
|
||||
uses: docker/build-push-action@v2
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
15
.github/workflows/docker.yml
vendored
15
.github/workflows/docker.yml
vendored
@@ -12,19 +12,26 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3.3.0
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
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
|
||||
uses: docker/login-action@v1
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Build and Push to Docker Hub
|
||||
uses: docker/build-push-action@v2
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
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 }}"
|
||||
79
.github/workflows/lint.yml
vendored
79
.github/workflows/lint.yml
vendored
@@ -1,25 +1,54 @@
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
- run: yarn install
|
||||
- run: yarn lint
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
pnpm_install:
|
||||
runs-on: ubuntu-latest
|
||||
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: 18.x
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
|
||||
lint:
|
||||
needs: [pnpm_install]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
workspace:
|
||||
- backend
|
||||
- frontend
|
||||
- sw
|
||||
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: 18.x
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run lint
|
||||
|
||||
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;
|
||||
22
.github/workflows/pr-preview-destroy.yml
vendored
Normal file
22
.github/workflows/pr-preview-destroy.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
# file: .github/workflows/preview-closed.yaml
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
name: Destroy preview environment
|
||||
|
||||
jobs:
|
||||
destroy-preview-environment:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == github.event.pull_request.head.repo.full_name
|
||||
steps:
|
||||
- name: Context
|
||||
uses: okteto/context@latest
|
||||
with:
|
||||
token: ${{ secrets.OKTETO_TOKEN }}
|
||||
|
||||
- name: Destroy preview environment
|
||||
uses: okteto/destroy-preview@latest
|
||||
with:
|
||||
name: pr-${{ github.event.number }}-syuilo
|
||||
94
.github/workflows/test.yml
vendored
94
.github/workflows/test.yml
vendored
@@ -8,84 +8,122 @@ on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
mocha:
|
||||
jest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x]
|
||||
node-version: [18.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.2-alpine
|
||||
image: postgres:13
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:4.0-alpine
|
||||
image: redis:6
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
submodules: true
|
||||
- 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@v1
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Check yarn.lock
|
||||
run: git diff --exit-code yarn.lock
|
||||
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: yarn build
|
||||
run: pnpm build
|
||||
- name: Test
|
||||
run: yarn mocha
|
||||
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
|
||||
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [16.x]
|
||||
node-version: [18.x]
|
||||
browser: [chrome]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.2-alpine
|
||||
image: postgres:13
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:4.0-alpine
|
||||
image: redis:6
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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@v1
|
||||
uses: actions/setup-node@v3.6.0
|
||||
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
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- name: Copy Configure
|
||||
run: cp .github/misskey/test.yml .config
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn e2e
|
||||
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
|
||||
- name: Cypress run
|
||||
uses: cypress-io/github-action@v4
|
||||
with:
|
||||
install: false
|
||||
start: pnpm 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
|
||||
|
||||
15
.gitignore
vendored
15
.gitignore
vendored
@@ -9,13 +9,28 @@
|
||||
node_modules
|
||||
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
|
||||
|
||||
# Cypress
|
||||
cypress/screenshots
|
||||
cypress/videos
|
||||
|
||||
# Coverage
|
||||
coverage
|
||||
|
||||
# config
|
||||
/.config/*
|
||||
!/.config/example.yml
|
||||
!/.config/docker_example.yml
|
||||
!/.config/docker_example.env
|
||||
|
||||
# misskey
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
||||
[submodule "misskey-assets"]
|
||||
path = misskey-assets
|
||||
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.6.2
|
||||
v18.12.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
|
||||
5
.vscode/extensions.json
vendored
5
.vscode/extensions.json
vendored
@@ -2,9 +2,8 @@
|
||||
"recommendations": [
|
||||
"editorconfig.editorconfig",
|
||||
"eg2.vscode-npm-script",
|
||||
"ms-vscode.typescript-javascript-grammar",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"johnsoncodehk.volar",
|
||||
"sysoev.language-stylus"
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin"
|
||||
]
|
||||
}
|
||||
|
||||
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"search.exclude": {
|
||||
"**/node_modules": true
|
||||
}
|
||||
}
|
||||
730
CHANGELOG.md
730
CHANGELOG.md
@@ -1,12 +1,740 @@
|
||||
<!--
|
||||
## 12.x.x (unreleased)
|
||||
## 13.x.x (unreleased)
|
||||
|
||||
### Improvements
|
||||
|
||||
### Bugfixes
|
||||
-
|
||||
|
||||
You should also include the user name that made the change.
|
||||
-->
|
||||
|
||||
## 13.2.1 (2023/01/24)
|
||||
### Improvements
|
||||
- デザインの調整
|
||||
- サーバーのパフォーマンスを改善
|
||||
|
||||
## 13.2.0 (2023/01/23)
|
||||
|
||||
### Improvements
|
||||
- onlyServer / onlyQueue オプションを復活
|
||||
- 他人の実績閲覧時は獲得条件を表示しないように
|
||||
- アニメーション減らすオプション有効時はリアクションのアニメーションを無効に
|
||||
- カスタム絵文字一覧のパフォーマンスを改善
|
||||
|
||||
### Bugfixes
|
||||
- Aiscript: button is not defined
|
||||
|
||||
## 13.1.7 (2023/01/22)
|
||||
|
||||
### Improvements
|
||||
- 新たな実績を追加
|
||||
- MFMにscaleタグを追加
|
||||
|
||||
## 13.1.4 (2023/01/22)
|
||||
|
||||
### Improvements
|
||||
- 新たな実績を追加
|
||||
|
||||
### Bugfixes
|
||||
- Client: ローカリゼーション更新時にリロードが繰り返されることがあるのを修正
|
||||
|
||||
## 13.1.3 (2023/01/22)
|
||||
|
||||
### Bugfixes
|
||||
- Client: リアクションのカスタム絵文字の表示の問題を修正
|
||||
|
||||
## 13.1.2 (2023/01/22)
|
||||
|
||||
### Bugfixes
|
||||
- Client: リアクションのカスタム絵文字の表示の問題を修正
|
||||
|
||||
## 13.1.1 (2023/01/22)
|
||||
|
||||
### Improvements
|
||||
- ローカルのカスタム絵文字を表示する際のパフォーマンスを改善
|
||||
- Client: 瞬間的に大量の実績を解除した際の挙動を改善
|
||||
|
||||
### Bugfixes
|
||||
- Client: アップデート時にローカリゼーションデータが更新されないことがあるのを修正
|
||||
|
||||
## 13.1.0 (2023/01/21)
|
||||
|
||||
### Improvements
|
||||
- 実績機能
|
||||
- Playのプリセットを追加
|
||||
- Playのscriptの文字数制限を緩和
|
||||
- AiScript GUIの強化
|
||||
- リアクション一覧詳細ダイアログを表示できるように
|
||||
- 存在しないカスタム絵文字をテキストで表示するように
|
||||
- Alt text in image viewer
|
||||
- ジョブキューのプロセスとWebサーバーのプロセスを分離
|
||||
|
||||
### Bugfixes
|
||||
- playを削除する手段がなかったのを修正
|
||||
- The … button on notes does nothing when not logged in
|
||||
- twitterと連携するときに autwh is not a function になるのを修正
|
||||
|
||||
## 13.0.0 (2023/01/16)
|
||||
|
||||
### TL;DR
|
||||
- New features (Role system, Misskey Play, New widgets, New charts, 🍪👈, etc)
|
||||
- Rewriten backend
|
||||
- Better performance (backend and frontend)
|
||||
- Various usability improvements
|
||||
- Various UI tweaks
|
||||
|
||||
### Notable features
|
||||
- ロール機能
|
||||
- 従来より柔軟にユーザーのポリシーを管理できます。例えば、「インスタンスのパトロンはアンテナを30個まで作れる」「基本的にLTLは見れないが、許可した人だけ見れる」「招待制インスタンスだけどユーザーなら誰でも他者を招待できる」のような運用はもちろん、「ローカルユーザーかつアカウント作成から1日未満のユーザーはパブリックな投稿を行えない」のように複数条件を組み合わせて、自動でロールを付与する設定も可能です。
|
||||
- Misskey Play
|
||||
- 従来の動的なPagesに代わる、新しいプラットフォームです。動的なコンテンツ(アプリケーション)に特化していて、Pagesに比べてはるかに柔軟なアプリケーションを作成可能です。
|
||||
|
||||
### Changes
|
||||
#### For server admins
|
||||
- Node.js 18.x or later is required
|
||||
- PostgreSQL 15.x is required
|
||||
- Misskey not using 15 specific features at 13.0.0, but may do so in the future.
|
||||
- Docker環境でPostgreSQLのアップデートを行う際のガイドはこちら: https://github.com/misskey-dev/misskey/pull/9641#issue-1536336620
|
||||
- Elasticsearchのサポートが削除されました
|
||||
- 代わりに今後任意の検索プロバイダを設定できる仕組みを構想しています。その仕組みを使えば今まで通りElasticsearchも利用できます
|
||||
- Yarnからpnpmに移行されました
|
||||
corepackの有効化を推奨します: `sudo corepack enable`
|
||||
- インスタンスブロックはサブドメインにも適用されるようになります
|
||||
- ロールの導入に伴い、いくつかの機能がロールと統合されました
|
||||
- モデレーターはロールに統合されました。今までのモデレーター情報は失われるため、予めモデレーター一覧を記録しておき、アップデート後にモデレーターロールを作りアサインし直してください。
|
||||
- サイレンスはロールに統合されました。今までのユーザーは恩赦されるため、予めサイレンス一覧を記録しておくのをおすすめします。
|
||||
- ユーザーごとのドライブ容量設定はロールに統合されました。
|
||||
- インスタンスデフォルトのドライブ容量設定はロールに統合されました。アップデート後、ベースロールもしくはコンディショナルロールでドライブ容量を編集してください。
|
||||
- LTL/GTLの解放状態はロールに統合されました。
|
||||
- Dockerの実行をrootで行わないようにしました。Dockerかつオブジェクトストレージを使用していない場合は`chown -hR 991.991 ./files`を実行してください。
|
||||
https://github.com/misskey-dev/misskey/pull/9560
|
||||
|
||||
#### For users
|
||||
- ノートのウォッチ機能が削除されました
|
||||
- アンケートに投票された際に通知が作成されなくなりました
|
||||
- ノートの数式埋め込みが削除されました
|
||||
- 新たに動的なPagesを作ることはできなくなりました
|
||||
- 代わりにAiScriptを用いてより柔軟に動的なコンテンツを作成できるMisskey Play機能が実装されています。
|
||||
- AiScriptが0.12.2にアップデートされました
|
||||
- 0.12.xの変更点についてはこちら https://github.com/syuilo/aiscript/blob/master/CHANGELOG.md#0120
|
||||
- 0.12.x未満のプラグインは読み込むことはできません
|
||||
- iOS15以下のデバイスはサポートされなくなりました
|
||||
- Firefox110以下はサポートされなくなりました
|
||||
- 109でもContainerQueriesのフラグを有効にする事で問題なく使用できます
|
||||
|
||||
#### For app developers
|
||||
- API: metaのレスポンスに`emojis`プロパティが含まれなくなりました
|
||||
- カスタム絵文字一覧情報を取得するには、`emojis`エンドポイントにリクエストします
|
||||
- API: カスタム絵文字エンティティに`url`プロパティが含まれなくなりました
|
||||
- 絵文字画像を表示するには、`<instance host>/emoji/<emoji name>.webp`にリクエストすると画像が返ります。
|
||||
- e.g. `https://p1.a9z.dev/emoji/misskey.webp`
|
||||
- remote: `https://p1.a9z.dev/emoji/syuilo_birth_present@mk.f72u.net.webp`
|
||||
- API: `user`および`note`エンティティに`emojis`プロパティが含まれなくなりました
|
||||
- API: `user`エンティティに`avatarColor`および`bannerColor`プロパティが含まれなくなりました
|
||||
- API: `instance`エンティティに`latestStatus`、`lastCommunicatedAt`、`latestRequestSentAt`プロパティが含まれなくなりました
|
||||
- API: `instance`エンティティの`caughtAt`は`firstRetrievedAt`に名前が変わりました
|
||||
|
||||
### Improvements
|
||||
- Role system @syuilo
|
||||
- Misskey Play @syuilo
|
||||
- Introduce retention-rate aggregation @syuilo
|
||||
- Make possible to export favorited notes @syuilo
|
||||
- Add per user pv chart @syuilo
|
||||
- Push notification of Antenna note @tamaina
|
||||
- AVIF support @tamaina
|
||||
- Add Cloudflare Turnstile CAPTCHA support @CyberRex0
|
||||
- レートリミットをユーザーごとに調整可能に @syuilo
|
||||
- 非モデレーターでも、権限を持つロールをアサインされたユーザーはインスタンスの招待コードを発行できるように @syuilo
|
||||
- 非モデレーターでも、権限を持つロールをアサインされたユーザーはカスタム絵文字の追加、編集、削除を行えるように @syuilo
|
||||
- クリップおよびクリップ内のノートの作成可能数を設定可能に @syuilo
|
||||
- ユーザーリストおよびユーザーリスト内のユーザーの作成可能数を設定可能に @syuilo
|
||||
- ハードワードミュートの最大文字数を設定可能に @syuilo
|
||||
- Webhookの作成可能数を設定可能に @syuilo
|
||||
- ノートをピン留めできる数を設定可能に @syuilo
|
||||
- Server: signToActivityPubGet is set to true by default @syuilo
|
||||
- Server: improve syslog performance @syuilo
|
||||
- Server: Use undici instead of node-fetch and got @tamaina
|
||||
- Server: Judge instance block by endsWith @tamaina
|
||||
- Server: improve note scoring for featured notes @CyberRex0
|
||||
- Server: アンケート選択肢の文字数制限を緩和 @syuilo
|
||||
- Server: プロフィールの文字数制限を緩和 @syuilo
|
||||
- Server: add rate limits for some endpoints @syuilo
|
||||
- Server: improve stats api performance @syuilo
|
||||
- Server: improve nodeinfo performance @syuilo
|
||||
- Server: delete outdated notifications regularly to improve db performance @syuilo
|
||||
- Server: delete outdated hard-mutes regularly to improve db performance @syuilo
|
||||
- Server: delete outdated notes of antenna regularly to improve db performance @syuilo
|
||||
- Server: improve activitypub deliver performance @syuilo
|
||||
- Client: use tabler-icons instead of fontawesome to better design @syuilo
|
||||
- Client: Add new gabber kick sounds (thanks for noizenecio)
|
||||
- Client: Add link to user RSS feed in profile menu @ssmucny
|
||||
- Client: Compress non-animated PNG files @saschanaz
|
||||
- Client: YouTube window player @sim1222
|
||||
- Client: show readable error when rate limit exceeded @syuilo
|
||||
- Client: enhance dashboard of control panel @syuilo
|
||||
- Client: Vite is upgraded to v4 @syuilo, @tamaina
|
||||
- Client: HMR is available while yarn dev @tamaina
|
||||
- Client: Implement the button to subscribe push notification @tamaina
|
||||
- Client: Implement the toggle to or not to close push notifications when notifications or messages are read @tamaina
|
||||
- Client: show Unicode emoji tooltip with its name in MkReactionsViewer.reaction @saschanaz
|
||||
- Client: OpenSearch support @SoniEx2 @chaoticryptidz
|
||||
- Client: Support remote objects in search @SoniEx2
|
||||
- Client: user activity page @syuilo
|
||||
- Client: Make widgets of universal/classic sync between devices @tamaina
|
||||
- Client: add user list widget @syuilo
|
||||
- Client: Add AiScript App widget
|
||||
- Client: add profile widget @syuilo
|
||||
- Client: add instance info widget @syuilo
|
||||
- Client: Improve RSS widget @tamaina
|
||||
- Client: add heatmap of daily active users to about page @syuilo
|
||||
- Client: introduce fluent emoji @syuilo
|
||||
- Client: add new theme @syuilo
|
||||
- Client: add new mfm function (position, fg, bg) @syuilo
|
||||
- Client: show fireworks when visit user who today is birthday @syuilo
|
||||
- Client: show bot warning on screen when logged in as bot account @syuilo
|
||||
- Client: AiScriptからカスタム絵文字一覧を参照できるように @syuilo
|
||||
- Client: improve overall performance of client @syuilo
|
||||
- Client: ui tweaks @syuilo
|
||||
- Client: clicker game @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- Server: Fix @tensorflow/tfjs-core's MODULE_NOT_FOUND error @ikuradon
|
||||
- Server: 引用内の文章がnyaizeされてしまう問題を修正 @kabo2468
|
||||
- Server: Bug fix for Pinned Users lookup on instance @squidicuzz
|
||||
- Server: Fix peers API returning suspended instances @ineffyble
|
||||
- Server: trim long text of note from ap @syuilo
|
||||
- Server: Ap inboxの最大ペイロードサイズを64kbに制限 @syuilo
|
||||
- Server: アンテナの作成数上限を追加 @syuilo
|
||||
- Server: pages/likeのエラーIDが重複しているのを修正 @syuilo
|
||||
- Server: pages/updateのパラメータによってはsummaryの値が更新されないのを修正 @syuilo
|
||||
- Server: Escape SQL LIKE @mei23
|
||||
- Server: 特定のPNG画像のアップロードに失敗する問題を修正 @usbharu
|
||||
- Server: 非公開のクリップのURLでOGPレンダリングされる問題を修正 @syuilo
|
||||
- Server: アンテナタイムライン(ストリーミング)が、フォローしていないユーザーの鍵投稿も拾ってしまう @syuilo
|
||||
- Server: follow request list api pagination @sim1222
|
||||
- Server: ドライブ容量超過時のエラーが適切にレスポンスされない問題を修正 @syuilo
|
||||
- Client: パスワードマネージャーなどでユーザー名がオートコンプリートされない問題を修正 @massongit
|
||||
- Client: 日付形式の文字列などがカスタム絵文字として表示されるのを修正 @syuilo
|
||||
- Client: case insensitive emoji search @saschanaz
|
||||
- Client: 画面の幅が狭いとウィジェットドロワーを閉じる手段がなくなるのを修正 @syuilo
|
||||
- Client: InAppウィンドウが操作できなくなることがあるのを修正 @tamaina
|
||||
- Client: use proxied image for instance icon @syuilo
|
||||
- Client: Webhookの編集画面で、内容を保存することができない問題を修正 @m-hayabusa
|
||||
- Client: Page編集でブロックの移動が行えない問題を修正 @syuilo
|
||||
- Client: update emoji picker immediately on all input @saschanaz
|
||||
- Client: チャートのツールチップが画面に残ることがあるのを修正 @syuilo
|
||||
- Client: fix wrong link in tutorial @syuilo
|
||||
|
||||
### Special thanks
|
||||
- All contributors
|
||||
- All who have created instances for the beta test
|
||||
- All who participated in the beta test
|
||||
|
||||
## 12.119.1 (2022/12/03)
|
||||
### Bugfixes
|
||||
- Server: Mitigate AP reference chain DoS vector @skehmatics
|
||||
|
||||
## 12.119.0 (2022/09/10)
|
||||
|
||||
### Improvements
|
||||
- Client: Add following badge to user preview popup @nvisser
|
||||
- Client: mobile twitter url can be used as widget @caipira113
|
||||
- Client: Improve clock widget @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- マイグレーションに失敗する問題を修正
|
||||
- Server: 他人の通知を既読にできる可能性があるのを修正 @syuilo
|
||||
- Client: アクセストークン管理画面、アカウント管理画面表示できないのを修正 @futchitwo
|
||||
|
||||
## 12.118.1 (2022/08/08)
|
||||
|
||||
### Bugfixes
|
||||
- Client: can not show some setting pages @syuilo
|
||||
|
||||
## 12.118.0 (2022/08/07)
|
||||
|
||||
### Improvements
|
||||
- Client: 設定のバックアップ/リストア機能
|
||||
- Client: Add vi-VN language support
|
||||
- Client: Add unix time widget @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- Server: リモートユーザーを正しくブロックできるように修正する @xianonn
|
||||
- Client: 一度作ったwebhookの設定画面を開こうとするとページがフリーズする @syuilo
|
||||
- Client: MiAuth認証ページが機能していない @syuilo
|
||||
- Client: 一部のアプリからファイルを投稿フォームへドロップできない場合がある問題を修正 @m-hayabusa
|
||||
|
||||
## 12.117.1 (2022/07/19)
|
||||
|
||||
### Improvements
|
||||
- Client: UIのブラッシュアップ @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- Server: ファイルのアップロードに失敗することがある問題を修正 @acid-chicken
|
||||
- Client: リアクションピッカーがアプリ内ウィンドウの後ろに表示されてしまう問題を修正 @syuilo
|
||||
- Client: ユーザー情報の取得の再試行を修正 @xianonn
|
||||
- Client: MFMチートシートの挙動を修正 @syuilo
|
||||
- Client: 「インスタンスからのお知らせを受け取る」の設定を変更できない問題を修正 @syuilo
|
||||
|
||||
## 12.117.0 (2022/07/18)
|
||||
|
||||
### Improvements
|
||||
- Client: ウィンドウを最大化できるように @syuilo
|
||||
- Client: Shiftキーを押した状態でリンクをクリックするとアプリ内ウィンドウで開くように @syuilo
|
||||
- Client: デッキを使用している際、Ctrlキーを押した状態でリンクをクリックするとページ遷移を強制できるように @syuilo
|
||||
- Client: UIのブラッシュアップ @syuilo
|
||||
|
||||
## 12.116.1 (2022/07/17)
|
||||
|
||||
### Bugfixes
|
||||
- Client: デッキUI時に ページで表示 ボタンが機能しない問題を修正 @syuilo
|
||||
- Error During Migration Run to 12.111.x
|
||||
|
||||
## 12.116.0 (2022/07/16)
|
||||
|
||||
### Improvements
|
||||
- Client: registry editor @syuilo
|
||||
- Client: UIのブラッシュアップ @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- Error During Migration Run to 12.111.x
|
||||
- Server: TypeError: Cannot convert undefined or null to object @syuilo
|
||||
|
||||
## 12.115.0 (2022/07/16)
|
||||
|
||||
### Improvements
|
||||
- Client: Deckのプロファイル切り替えを簡単に @syuilo
|
||||
- Client: UIのブラッシュアップ @syuilo
|
||||
|
||||
## 12.114.0 (2022/07/15)
|
||||
|
||||
### Improvements
|
||||
- RSSティッカーで表示順序をシャッフルできるように @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- クライアントが起動しなくなることがある問題を修正 @syuilo
|
||||
|
||||
## 12.113.0 (2022/07/13)
|
||||
|
||||
### Improvements
|
||||
- Support <plain> syntax for MFM
|
||||
|
||||
### Bugfixes
|
||||
- Server: Fix crash at startup if TensorFlow is not supported @mei23
|
||||
- Client: URLエンコードされたルーティングを修正
|
||||
|
||||
## 12.112.3 (2022/07/09)
|
||||
|
||||
### Improvements
|
||||
- Make active email validation configurable
|
||||
|
||||
### Bugfixes
|
||||
- Server: Fix Attempts to update all notifications @mei23
|
||||
|
||||
## 12.112.2 (2022/07/08)
|
||||
|
||||
### Bugfixes
|
||||
- Fix Docker doesn't work @mei23
|
||||
Still not working on arm64 environment. (See 12.112.0)
|
||||
|
||||
## 12.112.1 (2022/07/07)
|
||||
same as 12.112.0
|
||||
|
||||
## 12.112.0 (2022/07/07)
|
||||
|
||||
### Known issues
|
||||
- 現在arm64環境ではインストールに失敗します。これは次のバージョンで修正される予定です。
|
||||
|
||||
### Changes
|
||||
- ハイライトがみつけるに統合されました
|
||||
- カスタム絵文字ページはインスタンス情報ページに統合されました
|
||||
- 連合ページはインスタンス情報ページに統合されました
|
||||
- メンション一覧ページは通知一覧ページに統合されました
|
||||
- ダイレクト投稿一覧ページは通知一覧ページに統合されました
|
||||
- メニューからアンテナタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました
|
||||
- メニューからリストタイムラインを表示する方法は廃止され、タイムライン上部のアイコンからアクセスするようになりました
|
||||
|
||||
### Improvements
|
||||
- Server: Allow GET method for some endpoints @syuilo
|
||||
- Server: Auto NSFW detection @syuilo
|
||||
- Server: Add rate limit to i/notifications @tamaina
|
||||
- Client: Improve control panel @syuilo
|
||||
- Client: Show warning in control panel when there is an unresolved abuse report @syuilo
|
||||
- Client: Statusbars @syuilo
|
||||
- Client: Add instance-cloud widget @syuilo
|
||||
- Client: Add rss-ticker widget @syuilo
|
||||
- Client: Removing entries from a clip @futchitwo
|
||||
- Client: Poll highlights in explore page @syuilo
|
||||
- Client: Improve deck UI @syuilo
|
||||
- Client: Word mute also checks content warnings @Johann150
|
||||
- Client: メニューからページをリロードできるように @syuilo
|
||||
- Client: Improve emoji picker performance @syuilo
|
||||
- Client: For notes with specified visibility, show recipients when hovering over visibility symbol. @Johann150
|
||||
- Client: Make widgets available again on a tablet @syuilo
|
||||
- ユーザーにモデレーションメモを残せる機能 @syuilo
|
||||
- Make possible to delete an account by admin @syuilo
|
||||
- Improve player detection in URL preview @mei23
|
||||
- Add Badge Image to Push Notification #8012 @tamaina
|
||||
- Server: Improve performance
|
||||
- Server: Supports IPv6 on Redis transport. @mei23
|
||||
IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`.
|
||||
- Server: Add possibility to log IP addresses of users @syuilo
|
||||
- Add additional drive capacity change support @CyberRex0
|
||||
|
||||
### Bugfixes
|
||||
- Server: Fix GenerateVideoThumbnail failed @mei23
|
||||
- Server: Ensure temp directory cleanup @Johann150
|
||||
- favicons of federated instances not showing @syuilo
|
||||
- Admin: The checkbox for blocking an instance works again @Johann150
|
||||
- Client: Prevent access to user pages when not logged in @pixeldesu @Johann150
|
||||
- Client: Disable some hotkeys (e.g. for creating a post) for not logged in users @pixeldesu
|
||||
- Client: Ask users that are not logged in to log in when trying to vote in a poll @Johann150
|
||||
- Instance mutes also apply in antennas etc. @Johann150
|
||||
|
||||
## 12.111.1 (2022/06/13)
|
||||
|
||||
### Bugfixes
|
||||
- some fixes of multiple notification read @tamaina
|
||||
- some GenerateVideoThumbnail failed @Johann150
|
||||
- Client: デッキでウィジェットの情報が保存されない問題を修正 @syuilo
|
||||
- Client: ギャラリーの投稿を開こうとすると編集画面が表示される @futchitwo
|
||||
|
||||
## 12.111.0 (2022/06/11)
|
||||
### Note
|
||||
- Node.js 16.15.0 or later is required
|
||||
|
||||
### Improvements
|
||||
- Supports Unicode Emoji 14.0 @mei23
|
||||
- プッシュ通知を複数アカウント対応に #7667 @tamaina
|
||||
- プッシュ通知にクリックやactionを設定 #7667 @tamaina
|
||||
- ドライブに画像ファイルをアップロードするときオリジナル画像を破棄してwebpublicのみ保持するオプション @tamaina
|
||||
- Server: always remove completed tasks of job queue @Johann150
|
||||
- Client: アバターの設定で画像をクロップできるように @syuilo
|
||||
- Client: make emoji stand out more on reaction button @Johann150
|
||||
- Client: display URL of QR code for TOTP registration @tamaina
|
||||
- Client: render quote renote CWs as MFM @pixeldesu
|
||||
- API: notifications/readは配列でも受け付けるように #7667 @tamaina
|
||||
- API: ユーザー検索で、クエリがusernameの条件を満たす場合はusernameもLIKE検索するように @tamaina
|
||||
- MFM: Allow speed changes in all animated MFMs @Johann150
|
||||
- The theme color is now better validated. @Johann150
|
||||
Your own theme color may be unset if it was in an invalid format.
|
||||
Admins should check their instance settings if in doubt.
|
||||
- Perform port diagnosis at startup only when Listen fails @mei23
|
||||
- Rate limiting is now also usable for non-authenticated users. @Johann150 @mei23
|
||||
Admins should make sure the reverse proxy sets the `X-Forwarded-For` header to the original address.
|
||||
|
||||
### Bugfixes
|
||||
- Server: keep file order of note attachement @Johann150
|
||||
- Server: fix missing foreign key for reports leading to reports page being unusable @Johann150
|
||||
- Server: fix internal in-memory caching @Johann150
|
||||
- Server: prevent crash when processing certain PNGs @syuilo
|
||||
- Server: Fix unable to generate video thumbnails @mei23
|
||||
- Server: Fix `Cannot find module` issue @mei23
|
||||
- Federation: Add rel attribute to host-meta @mei23
|
||||
- Federation: add id for activitypub follows @Johann150
|
||||
- Federation: use `source` instead of `_misskey_content` @Johann150
|
||||
- Federation: ensure resolver does not fetch local resources via HTTP(S) @Johann150
|
||||
- Federation: correctly render empty note text @Johann150
|
||||
- Federation: Fix quote renotes containing no text being federated correctly @Johann150
|
||||
- Federation: remove duplicate br tag/newline @Johann150
|
||||
- Federation: add missing authorization checks @Johann150
|
||||
- Client: fix profile picture height in mentions @tamaina
|
||||
- Client: fix abuse reports page to be able to show all reports @Johann150
|
||||
- Client: fix settings page @tamaina
|
||||
- Client: fix profile tabs @futchitwo
|
||||
- Client: fix popout URL @futchitwo
|
||||
- Client: correctly handle MiAuth URLs with query string @sn0w
|
||||
- Client: ノート詳細ページの新しいノートを表示する機能の動作が正しくなるように修正する @xianonn
|
||||
- MFM: more animated functions support `speed` parameter @futchitwo
|
||||
- MFM: limit large MFM @Johann150
|
||||
|
||||
## 12.110.1 (2022/04/23)
|
||||
|
||||
### Bugfixes
|
||||
- Fix GOP rendering @syuilo
|
||||
- Improve performance of antenna, clip, and list @xianonn
|
||||
|
||||
## 12.110.0 (2022/04/11)
|
||||
|
||||
### Improvements
|
||||
- Improve webhook @syuilo
|
||||
- Client: Show loading icon on splash screen @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- API: parameter validation of users/show was wrong
|
||||
- Federation: リモートインスタンスへのダイレクト投稿が届かない問題を修正 @syuilo
|
||||
|
||||
## 12.109.2 (2022/04/03)
|
||||
|
||||
### Bugfixes
|
||||
- API: admin/update-meta was not working @syuilo
|
||||
- Client: テーマを切り替えたり読み込んだりするとmeta[name="theme-color"]のcontentがundefinedになる問題を修正 @tamaina
|
||||
|
||||
## 12.109.1 (2022/04/02)
|
||||
|
||||
### Bugfixes
|
||||
- API: Renoteが行えない問題を修正
|
||||
|
||||
## 12.109.0 (2022/04/02)
|
||||
|
||||
### Improvements
|
||||
- Webhooks @syuilo
|
||||
- Bull Dashboardを組み込み、ジョブキューの確認や操作を行えるように @syuilo
|
||||
- Bull Dashboardを開くには、最初だけ一旦ログアウトしてから再度管理者権限を持つアカウントでログインする必要があります
|
||||
- Check that installed Node.js version fulfills version requirement @ThatOneCalculator
|
||||
- Server: overall performance improvements @syuilo
|
||||
- Federation: avoid duplicate activity delivery @Johann150
|
||||
- Federation: limit federation of reactions on direct notes @Johann150
|
||||
- Client: タッチパッド・タッチスクリーンでのデッキの操作性を向上 @tamaina
|
||||
|
||||
### Bugfixes
|
||||
- email address validation was not working @ybw2016v
|
||||
- API: fix endpoint endpoint @Johann150
|
||||
- API: fix admin/meta endpoint @syuilo
|
||||
- API: improved validation and documentation for endpoints that accept different variants of input @Johann150
|
||||
- API: `notes/create`: The `mediaIds` property is now deprecated. @Johann150
|
||||
- Use `fileIds` instead, it has the same behaviour.
|
||||
- Client: URIエンコーディングが異常でdecodeURIComponentが失敗するとURLが表示できなくなる問題を修正 @tamaina
|
||||
|
||||
## 12.108.1 (2022/03/12)
|
||||
|
||||
### Bugfixes
|
||||
- リレーが動作しない問題を修正 @xianonn
|
||||
- ulidを使用していると動作しない問題を修正 @syuilo
|
||||
- 外部からOGPが正しく取得できない問題を修正 @syuilo
|
||||
- instance can not get the files from other instance when there are items in allowedPrivateNetworks in .config/default.yml @ybw2016v
|
||||
|
||||
## 12.108.0 (2022/03/09)
|
||||
|
||||
### NOTE
|
||||
このバージョンからNode v16.14.0以降が必要です
|
||||
|
||||
### Changes
|
||||
- ノートの最大文字数を設定できる機能が廃止され、デフォルトで一律3000文字になりました @syuilo
|
||||
- Misskey can no longer terminate HTTPS connections. @Johann150
|
||||
- If you did not use a reverse proxy (e.g. nginx) before, you will probably need to adjust
|
||||
your configuration file and set up a reverse proxy. The `https` configuration key is no
|
||||
longer recognized!
|
||||
|
||||
### Improvements
|
||||
- インスタンスデフォルトテーマを設定できるように @syuilo
|
||||
- ミュートに期限を設定できるように @syuilo
|
||||
- アンケートが終了したときに通知が作成されるように @syuilo
|
||||
- プロフィールの追加情報を最大16まで保存できるように @syuilo
|
||||
- 連合チャートにPub&Subを追加 @syuilo
|
||||
- 連合チャートにActiveを追加 @syuilo
|
||||
- デフォルトで10秒以上時間がかかるデータベースへのクエリは中断されるように @syuilo
|
||||
- 設定ファイルの`db.extra`に`statement_timeout`を設定することでタイムアウト時間を変更できます
|
||||
- Client: スプラッシュスクリーンにインスタンスのアイコンを表示するように @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- Client: リアクションピッカーの高さが低くなったまま戻らないことがあるのを修正 @syuilo
|
||||
- Client: ユーザー名オートコンプリートが正しく動作しない問題を修正 @syuilo
|
||||
- Client: タッチ操作だとウィジェットの編集がしにくいのを修正 @xianonn
|
||||
- Client: register_note_view_interruptor()が動かないのを修正 @syuilo
|
||||
- Client: iPhone X以降(?)でページの内容が全て表示しきれないのを修正 @tamaina
|
||||
- Client: fix image caption on mobile @nullobsi
|
||||
|
||||
## 12.107.0 (2022/02/12)
|
||||
|
||||
### Improvements
|
||||
- クライアント: テーマを追加 @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- API: stats APIで内部エラーが発生する問題を修正 @syuilo
|
||||
- クライアント: ソフトミュートですべてがマッチしてしまう場合があるのを修正 @tamaina
|
||||
- クライアント: デバイスのスクリーンのセーフエリアを考慮するように @syuilo
|
||||
- クライアント: 一部環境でサイドバーの投稿ボタンが表示されない問題を修正 @syuilo
|
||||
|
||||
## 12.106.3 (2022/02/11)
|
||||
|
||||
### Improvements
|
||||
- クライアント: スマートフォンでの余白を調整 @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ノートの詳細が表示されない問題を修正 @syuilo
|
||||
|
||||
## 12.106.2 (2022/02/11)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: 削除したノートがタイムラインから自動で消えない問題を修正 @syuilo
|
||||
- クライアント: リアクション数が正しくないことがある問題を修正 @syuilo
|
||||
- 一部環境でマイグレーションが動作しない問題を修正 @syuilo
|
||||
|
||||
## 12.106.1 (2022/02/11)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ワードミュートが保存できない問題を修正 @syuilo
|
||||
|
||||
## 12.106.0 (2022/02/11)
|
||||
|
||||
### Improvements
|
||||
- Improve federation chart @syuilo
|
||||
- クライアント: リアクションピッカーのサイズを設定できるように @syuilo
|
||||
- クライアント: リアクションピッカーの幅、高さ制限を緩和 @syuilo
|
||||
- Docker: Update to Node v16.13.2 @mei23
|
||||
- Update dependencies
|
||||
|
||||
### Bugfixes
|
||||
- validate regular expressions in word mutes @Johann150
|
||||
|
||||
## 12.105.0 (2022/02/09)
|
||||
|
||||
### Improvements
|
||||
- インスタンスのテーマカラーを設定できるように @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- 一部環境でマイグレーションが失敗する問題を修正 @syuilo
|
||||
|
||||
## 12.104.0 (2022/02/09)
|
||||
|
||||
### Note
|
||||
ビルドする前に`yarn clean`を実行してください。
|
||||
|
||||
このリリースはマイグレーションの規模が大きいため、インスタンスによってはマイグレーションに時間がかかる可能性があります。
|
||||
マイグレーションが終わらない場合は、チャートの情報はリセットされてしまいますが`__chart__`で始まるテーブルの**レコード**を全て削除(テーブル自体は消さないでください)してから再度試す方法もあります。
|
||||
|
||||
### Improvements
|
||||
- チャートエンジンの強化 @syuilo
|
||||
- テーブルサイズの削減
|
||||
- notes/instance/perUserNotesチャートに添付ファイル付きノートの数を追加
|
||||
- activeUsersチャートに新しい項目を追加
|
||||
- federationチャートに新しい項目を追加
|
||||
- apRequestチャートを追加
|
||||
- networkチャート廃止
|
||||
- クライアント: 自インスタンス情報ページでチャートを見れるように @syuilo
|
||||
- クライアント: デバイスの種類を手動指定できるように @syuilo
|
||||
- クライアント: UIのアイコンを更新 @syuilo
|
||||
- クライアント: UIのアイコンをセルフホスティングするように @syuilo
|
||||
- NodeInfo のユーザー数と投稿数の内容を見直す @xianonn
|
||||
|
||||
### Bugfixes
|
||||
- Client: タイムライン種別を切り替えると「新しいノートがあります」の表示が残留してしまうのを修正 @tamaina
|
||||
- Client: UIのサイズがおかしくなる問題の修正 @tamaina
|
||||
- Client: Setting instance information of notes to always show breaks the timeline @Johann150
|
||||
- Client: 環境に依っては返信する際のカーソル位置が正しくない問題を修正 @syuilo
|
||||
- Client: コントロールパネルのユーザー、ファイルにて、インスタンスの表示範囲切り替えが機能しない問題を修正 @syuilo
|
||||
- Client: アップデートお知らせダイアログが出ないのを修正 @syuilo
|
||||
- Client: Follows/Followers Visibility changes won't be saved unless clicking on an other checkbox @Johann150
|
||||
- API: Fix API cast @mei23
|
||||
- add instance favicon where it's missing @solfisher
|
||||
- チャートの定期resyncが動作していない問題を修正 @syuilo
|
||||
|
||||
## 12.103.1 (2022/02/02)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ツールチップの表示位置が正しくない問題を修正
|
||||
|
||||
## 12.103.0 (2022/02/02)
|
||||
|
||||
### Improvements
|
||||
- クライアント: 連合インスタンスページからインスタンス情報再取得を行えるように
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: 投稿のNSFW画像を表示したあとにリアクションが更新されると画像が非表示になる問題を修正
|
||||
- クライアント: 「クリップ」ページが開かない問題を修正
|
||||
- クライアント: トレンドウィジェットが動作しないのを修正
|
||||
- クライアント: フェデレーションウィジェットが動作しないのを修正
|
||||
- クライアント: リアクション設定で絵文字ピッカーが開かないのを修正
|
||||
- クライアント: DMページでメンションが含まれる問題を修正
|
||||
- クライアント: 投稿フォームのハッシュタグ保持フィールドが動作しない問題を修正
|
||||
- クライアント: サイドビューが動かないのを修正
|
||||
- クライアント: ensure that specified users does not get duplicates
|
||||
- Add `img-src` and `media-src` directives to `Content-Security-Policy` for
|
||||
files and media proxy
|
||||
|
||||
## 12.102.1 (2022/01/27)
|
||||
### Bugfixes
|
||||
- チャットが表示できない問題を修正
|
||||
|
||||
## 12.102.0 (2022/01/27)
|
||||
|
||||
### NOTE
|
||||
アップデート後、一部カスタム絵文字が表示できなくなる場合があります。その場合、一旦絵文字管理ページから絵文字を一括エクスポートし、再度コントロールパネルから一括インポートすると直ります。
|
||||
⚠ 12.102.0以前にエクスポートされたzipとは互換性がありません。アップデートしてからエクスポートを行なってください。
|
||||
|
||||
### Changes
|
||||
- Room機能が削除されました
|
||||
- 後日別リポジトリとして復活予定です
|
||||
- リバーシ機能が削除されました
|
||||
- 後日別リポジトリとして復活予定です
|
||||
- Chat UIが削除されました
|
||||
- ノートに添付できるファイルの数が16に増えました
|
||||
- カスタム絵文字にSVGを指定した場合、PNGに変換されて表示されるようになりました
|
||||
|
||||
### Improvements
|
||||
- カスタム絵文字一括編集機能
|
||||
- カスタム絵文字一括インポート
|
||||
- 投稿フォームで一時的に投稿するアカウントを切り替えられるように
|
||||
- Unifying Misskey-specific IRIs in JSON-LD `@context`
|
||||
- クライアントのパフォーマンス向上
|
||||
- セキュリティの向上
|
||||
|
||||
### Bugfixes
|
||||
- アップロードエラー時の処理を修正
|
||||
|
||||
## 12.101.1 (2021/12/29)
|
||||
|
||||
### Bugfixes
|
||||
- SVG絵文字が表示できないのを修正
|
||||
- エクスポートした絵文字の拡張子がfalseになることがあるのを修正
|
||||
|
||||
## 12.101.0 (2021/12/29)
|
||||
|
||||
### Improvements
|
||||
- クライアント: ノートプレビューの精度を改善
|
||||
- クライアント: MFM sparkleエフェクトの改善
|
||||
- クライアント: デザインの調整
|
||||
- セキュリティの向上
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||
- fix html blockquote conversion
|
||||
|
||||
## 12.100.2 (2021/12/18)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: Deckカラムの増減がページをリロードするまで正しく反映されない問題を修正
|
||||
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||
- クライアント: カスタム絵文字一覧ページの負荷が高いのを修正
|
||||
|
||||
## 12.100.1 (2021/12/17)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: デザインの調整
|
||||
|
||||
## 12.100.0 (2021/12/17)
|
||||
|
||||
### Improvements
|
||||
- クライアント: モバイルでの各種メニュー、リアクションピッカーの表示を改善
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: 一部のコンポーネントが裏に隠れるのを修正
|
||||
|
||||
## 12.99.3 (2021/12/14)
|
||||
### Bugfixes
|
||||
- クライアント: オートコンプリートがダイアログの裏に隠れる問題を修正
|
||||
|
||||
## 12.99.2 (2021/12/14)
|
||||
|
||||
## 12.99.1 (2021/12/14)
|
||||
|
||||
## 12.99.0 (2021/12/14)
|
||||
|
||||
### Improvements
|
||||
- Added a user-level instance mute in user settings
|
||||
- フォローエクスポートでミュートしているユーザーを含めないオプションを追加
|
||||
- フォローエクスポートで使われていないアカウントを含めないオプションを追加
|
||||
- カスタム絵文字エクスポート機能
|
||||
- チャートのパフォーマンスの改善
|
||||
- グループから抜けられるように
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: タッチ機能付きディスプレイを使っていてマウス操作をしている場合に一部機能が動作しない問題を修正
|
||||
- クライアント: クリップの設定を編集できない問題を修正
|
||||
- クライアント: メニューなどがウィンドウの裏に隠れる問題を修正
|
||||
|
||||
## 12.98.0 (2021/12/03)
|
||||
|
||||
### Improvements
|
||||
|
||||
133
CONTRIBUTING.md
133
CONTRIBUTING.md
@@ -1,10 +1,14 @@
|
||||
# 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.
|
||||
|
||||
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||
The accuracy of 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.
|
||||
> **Note**
|
||||
> This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||
> Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||
> 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
|
||||
Before creating an issue, please check the following:
|
||||
@@ -13,9 +17,15 @@ Before creating an issue, please check the following:
|
||||
- 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).
|
||||
|
||||
> **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
|
||||
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.
|
||||
|
||||
At this point, you also need to clarify the goals of the PR you will create, and make sure that the other members of the team are aware of them.
|
||||
PRs that do not have a clear set of do's and don'ts tend to be bloated and difficult to review.
|
||||
|
||||
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
|
||||
|
||||
## Well-known branches
|
||||
@@ -34,11 +44,50 @@ 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.
|
||||
- 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.
|
||||
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
|
||||
- You can run it with `yarn test` and `yarn lint`. [See more info](#testing)
|
||||
- If this PR includes UI changes, please attach a screenshot in the text.
|
||||
|
||||
Thanks for your cooperation 🤗
|
||||
|
||||
## Reviewers guide
|
||||
Be willing to comment on the good points and not just the things you want fixed 💯
|
||||
|
||||
### Review perspective
|
||||
- Scope
|
||||
- Are the goals of the PR clear?
|
||||
- Is the granularity of the PR appropriate?
|
||||
- Security
|
||||
- Does merging this PR create a vulnerability?
|
||||
- Performance
|
||||
- Will merging this PR cause unexpected performance degradation?
|
||||
- Is there a more efficient way?
|
||||
- Testing
|
||||
- Does the test ensure the expected behavior?
|
||||
- Are there any omissions or gaps?
|
||||
- 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.
|
||||
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
|
||||
|
||||
## Localization (l10n)
|
||||
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
||||
You can improve our translations with your Crowdin account.
|
||||
@@ -50,9 +99,17 @@ If your language is not listed in Crowdin, please open an issue.
|
||||

|
||||
|
||||
## Development
|
||||
During development, it is useful to use the `npm run dev` command.
|
||||
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.
|
||||
During development, it is useful to use the
|
||||
|
||||
```
|
||||
yarn 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.
|
||||
|
||||
## Testing
|
||||
- Test codes are located in [`/test`](/test).
|
||||
@@ -60,22 +117,22 @@ In addition, it will also automatically start the Misskey server process.
|
||||
### Run test
|
||||
Create a config file.
|
||||
```
|
||||
cp test/test.yml .config/
|
||||
cp .github/misskey/test.yml .config/
|
||||
```
|
||||
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`.
|
||||
|
||||
Run all test.
|
||||
```
|
||||
npm run test
|
||||
yarn 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
|
||||
yarn jest -- foo.ts
|
||||
```
|
||||
|
||||
### e2e tests
|
||||
@@ -85,22 +142,48 @@ TODO
|
||||
Misskey uses GitHub Actions for executing automated tests.
|
||||
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
||||
|
||||
## Adding MisskeyRoom items
|
||||
* Use English for material, object and texture names.
|
||||
* Use meter for unit of length.
|
||||
* Your PR should include all source files (e.g. `.png`, `.blend`) of your models (for later editing).
|
||||
* Your PR must include the glTF binary files (`.glb`) of your models.
|
||||
* Add a locale key `room.furnitures.YOUR_ITEM` at [`/locales/ja-JP.yml`](/locales/ja-JP.yml).
|
||||
* Add a furniture definition at [`src/client/scripts/room/furnitures.json5`](src/client/scripts/room/furnitures.json5).
|
||||
## Vue
|
||||
Misskey uses Vue(v3) as its front-end framework.
|
||||
- Use TypeScript.
|
||||
- **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.
|
||||
|
||||
If you have no experience on 3D modeling, we suggest to use the free 3DCG software [Blender](https://www.blender.org/).
|
||||
You can find information on glTF 2.0 at [glTF 2.0 — Blender Manual]( https://docs.blender.org/manual/en/dev/addons/io_scene_gltf2.html).
|
||||
## nirax
|
||||
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
|
||||
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
|
||||
|
||||
### ルート定義
|
||||
ルート定義は、以下の形式のオブジェクトの配列です。
|
||||
|
||||
``` 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は複数のルーターが存在することを許可している点です。
|
||||
これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。
|
||||
|
||||
## Notes
|
||||
### How to resolve conflictions occurred at yarn.lock?
|
||||
|
||||
Just execute `yarn` to fix it.
|
||||
|
||||
### INSERTするときにはsaveではなくinsertを使用する
|
||||
#6441
|
||||
|
||||
### placeholder
|
||||
SQLをクエリビルダで組み立てる際、使用するプレースホルダは重複してはならない
|
||||
例えば
|
||||
@@ -180,11 +263,13 @@ MongoDBの時とは違い、findOneでレコードを取得する時に対象レ
|
||||
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
|
||||
|
||||
### Migration作成方法
|
||||
```
|
||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
|
||||
packages/backendで:
|
||||
```sh
|
||||
yarn dlx typeorm migration:generate -d ormconfig.js -o <migration name>
|
||||
```
|
||||
|
||||
作成されたスクリプトは不必要な変更を含むため除去してください。
|
||||
- 生成後、ファイルをmigration下に移してください
|
||||
- 作成されたスクリプトは不必要な変更を含むため除去してください
|
||||
|
||||
### コネクションには`markRaw`せよ
|
||||
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
||||
|
||||
6
COPYING
6
COPYING
@@ -1,5 +1,5 @@
|
||||
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.
|
||||
|
||||
@@ -13,3 +13,7 @@ https://github.com/muan/emojilib/blob/master/LICENSE
|
||||
RsaSignature2017 implementation by Transmute Industries Inc
|
||||
License: MIT
|
||||
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
|
||||
|
||||
62
Dockerfile
62
Dockerfile
@@ -1,35 +1,55 @@
|
||||
FROM node:16.6.2-alpine3.13 AS base
|
||||
ARG NODE_VERSION=18.13.0-bullseye
|
||||
|
||||
ENV NODE_ENV=production
|
||||
FROM node:${NODE_VERSION} AS builder
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
WORKDIR /misskey
|
||||
|
||||
ENV BUILD_DEPS autoconf automake file g++ gcc libc-dev libtool make nasm pkgconfig python3 zlib-dev git
|
||||
COPY ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||
COPY ["scripts", "./scripts"]
|
||||
COPY ["packages/backend/package.json", "./packages/backend/"]
|
||||
COPY ["packages/frontend/package.json", "./packages/frontend/"]
|
||||
COPY ["packages/sw/package.json", "./packages/sw/"]
|
||||
|
||||
FROM base AS builder
|
||||
RUN pnpm i --frozen-lockfile
|
||||
|
||||
COPY . ./
|
||||
|
||||
RUN apk add --no-cache $BUILD_DEPS && \
|
||||
git submodule update --init && \
|
||||
yarn install && \
|
||||
yarn build && \
|
||||
rm -rf .git
|
||||
ARG NODE_ENV=production
|
||||
|
||||
FROM base AS runner
|
||||
RUN git submodule update --init
|
||||
RUN pnpm build
|
||||
|
||||
RUN apk add --no-cache \
|
||||
ffmpeg \
|
||||
tini
|
||||
FROM node:${NODE_VERSION}-slim AS runner
|
||||
|
||||
ENTRYPOINT ["/sbin/tini", "--"]
|
||||
ARG UID="991"
|
||||
ARG GID="991"
|
||||
|
||||
COPY --from=builder /misskey/node_modules ./node_modules
|
||||
COPY --from=builder /misskey/built ./built
|
||||
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
|
||||
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
|
||||
COPY . ./
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ffmpeg tini \
|
||||
&& apt-get -y clean \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& corepack enable \
|
||||
&& groupadd -g "${GID}" misskey \
|
||||
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey
|
||||
|
||||
CMD ["npm", "run", "migrateandstart"]
|
||||
USER misskey
|
||||
WORKDIR /misskey
|
||||
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/node_modules ./node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/built ./built
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/backend/built ./packages/backend/built
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/frontend/node_modules ./packages/frontend/node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||
COPY --chown=misskey:misskey . ./
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||
CMD ["pnpm", "run", "migrateandstart"]
|
||||
|
||||
175
README.md
175
README.md
@@ -1,27 +1,29 @@
|
||||
[](https://join.misskey.page/)
|
||||
|
||||
<div align="center">
|
||||
|
||||
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
||||
|
||||
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
|
||||
|
||||
[Learn more](https://misskey-hub.net/)
|
||||
|
||||
<a href="https://misskey-hub.net">
|
||||
<img src="./assets/title_float.svg" alt="Misskey logo" style="border-radius:50%" width="400"/>
|
||||
</a>
|
||||
|
||||
**🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀**
|
||||
|
||||
---
|
||||
|
||||
[✨ Find an instance](https://misskey-hub.net/instances.html)
|
||||
•
|
||||
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
|
||||
•
|
||||
[🛠️ Contribute](./CONTRIBUTING.md)
|
||||
•
|
||||
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
|
||||
<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>
|
||||
|
||||
<a href="https://misskey-hub.net/docs/install.html">
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -30,139 +32,26 @@
|
||||
|
||||
## ✨ Features
|
||||
- **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**\
|
||||
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**\
|
||||
An interface to manage uploaded files such as images, videos, sounds, etc.
|
||||
You can also organize your favorite content into folders, making it easy to share again.
|
||||
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!
|
||||
- **Rich Web UI**\
|
||||
Misskey has a rich WebUI by default.
|
||||
It is highly customizable by flexibly changing the layout and installing various widgets and themes.
|
||||
Furthermore, plug-ins can be created using AiScript, a original programming language.
|
||||
- and more...
|
||||
Misskey has a rich and easy to use Web UI!
|
||||
It is highly customizable, from changing the layout and adding widgets to making custom themes.
|
||||
Furthermore, plugins can be created using AiScript, an original programming language.
|
||||
- And much more...
|
||||
|
||||
</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
|
||||
<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>
|
||||
|
||||
## Backers
|
||||
<!-- 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
|
||||
<!-- PATREON_END -->
|
||||
|
||||
[backer-url]: #backers
|
||||
[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
|
||||
[syuilo-icon]: https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
|
||||
|
||||
42
ROADMAP.md
Normal file
42
ROADMAP.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# 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)
|
||||
- Probably need to switch some libraries to others that make it difficult to reduce type errors
|
||||
- e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537
|
||||
- Improve CI
|
||||
- Fix tests
|
||||
- mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work.
|
||||
- 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
|
||||
- https://github.com/misskey-dev/misskey/pull/9085
|
||||
- Measure coverage
|
||||
- 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 |
3
chart/Chart.yaml
Normal file
3
chart/Chart.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
apiVersion: v2
|
||||
name: misskey
|
||||
version: 0.0.0
|
||||
165
chart/files/default.yml
Normal file
165
chart/files/default.yml
Normal file
@@ -0,0 +1,165 @@
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
# 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
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
#pass: example-pass
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ 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
|
||||
|
||||
# Syslog option
|
||||
#syslog:
|
||||
# host: localhost
|
||||
# port: 514
|
||||
|
||||
# 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
|
||||
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"
|
||||
}
|
||||
149
cypress/e2e/basic.cy.js
Normal file
149
cypress/e2e/basic.cy.js
Normal file
@@ -0,0 +1,149 @@
|
||||
describe('Before setup instance', () => {
|
||||
beforeEach(() => {
|
||||
cy.resetState();
|
||||
});
|
||||
|
||||
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.resetState();
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.registerUser('admin', 'pass', true);
|
||||
});
|
||||
|
||||
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.resetState();
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.registerUser('admin', 'pass', true);
|
||||
|
||||
// ユーザー作成
|
||||
cy.registerUser('alice', 'alice1234');
|
||||
});
|
||||
|
||||
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.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-open-post-form]').should('be.visible');
|
||||
});
|
||||
|
||||
it('note', () => {
|
||||
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: 投稿フォームのハッシュタグ保持フィールドのテスト
|
||||
65
cypress/e2e/widgets.cy.js
Normal file
65
cypress/e2e/widgets.cy.js
Normal file
@@ -0,0 +1,65 @@
|
||||
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');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('widget edit toggle is visible', () => {
|
||||
cy.get('.mk-widget-edit').should('be.visible');
|
||||
});
|
||||
|
||||
it('widget select should be visible in edit mode', () => {
|
||||
cy.get('.mk-widget-edit').click();
|
||||
cy.get('.mk-widget-select').should('be.visible');
|
||||
});
|
||||
|
||||
it('first widget should be removed', () => {
|
||||
cy.get('.mk-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('.mk-widget-edit').click();
|
||||
cy.get('.mk-widget-select select').select(widgetName, { force: true });
|
||||
cy.get('.data-cy-bg._modalBg.data-cy-transparent').click({ multiple: true, force: true });
|
||||
cy.get('.mk-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,190 +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');
|
||||
|
||||
cy.get('@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.get('@admin').then(() => {
|
||||
// ユーザー作成
|
||||
cy.request('POST', '/api/signup', {
|
||||
username: 'alice',
|
||||
password: 'alice1234',
|
||||
}).its('body').as('alice');
|
||||
});
|
||||
|
||||
cy.get('@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.get('@admin').then(() => {
|
||||
// ユーザー作成
|
||||
cy.request('POST', '/api/signup', {
|
||||
username: 'alice',
|
||||
password: 'alice1234',
|
||||
}).its('body').as('alice');
|
||||
});
|
||||
|
||||
cy.get('@alice').then(() => {
|
||||
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');
|
||||
});
|
||||
|
||||
cy.get('@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!');
|
||||
});
|
||||
});
|
||||
@@ -23,3 +23,33 @@
|
||||
//
|
||||
// -- This will overwrite an existing command --
|
||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
||||
|
||||
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.visit('/');
|
||||
|
||||
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');
|
||||
});
|
||||
|
||||
32
cypress/support/e2e.js
Normal file
32
cypress/support/e2e.js
Normal file
@@ -0,0 +1,32 @@
|
||||
// ***********************************************************
|
||||
// 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,20 +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')
|
||||
@@ -8,8 +8,13 @@ services:
|
||||
- db
|
||||
- redis
|
||||
# - es
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "127.0.0.1:3000:3000"
|
||||
- "3000:3000"
|
||||
networks:
|
||||
- internal_network
|
||||
- external_network
|
||||
@@ -19,27 +24,36 @@ services:
|
||||
|
||||
redis:
|
||||
restart: always
|
||||
image: redis:4.0-alpine
|
||||
image: redis:7-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
volumes:
|
||||
- ./redis:/data
|
||||
healthcheck:
|
||||
test: "redis-cli ping"
|
||||
interval: 5s
|
||||
retries: 20
|
||||
|
||||
db:
|
||||
restart: always
|
||||
image: postgres:12.2-alpine
|
||||
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
|
||||
|
||||
# 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:
|
||||
|
||||
1
fluent-emojis
Submodule
1
fluent-emojis
Submodule
Submodule fluent-emojis added at cae981eb4c
17
gulpfile.js
17
gulpfile.js
@@ -15,17 +15,21 @@ 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:frontend:fonts', () =>
|
||||
gulp.src('./packages/frontend/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_frontend_dist_/fonts/'))
|
||||
);
|
||||
|
||||
gulp.task('copy:client:locales', cb => {
|
||||
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
|
||||
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/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||
fs.writeFileSync(`./built/_frontend_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||
}
|
||||
|
||||
cb();
|
||||
@@ -33,7 +37,6 @@ gulp.task('copy:client:locales', 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
|
||||
@@ -50,7 +53,7 @@ gulp.task('build:backend:style', () => {
|
||||
});
|
||||
|
||||
gulp.task('build', gulp.parallel(
|
||||
'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts'
|
||||
'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'));
|
||||
|
||||
@@ -12,6 +12,7 @@ fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…"
|
||||
ok: " حسناً"
|
||||
gotIt: "فهِمت"
|
||||
cancel: " إلغاء"
|
||||
noThankYou: "ليس اﻵن"
|
||||
enterUsername: "أدخِل إسم مسخدم"
|
||||
renotedBy: "أعاد نشرها {user}"
|
||||
noNotes: "لم يُعثر على أية ملاحظات"
|
||||
@@ -32,7 +33,7 @@ uploading: "يرفع..."
|
||||
save: "حفظ"
|
||||
users: "المستخدمون"
|
||||
addUser: "اضافة مستخدم"
|
||||
favorite: "إضافة إلى المفضلة"
|
||||
favorite: "أضفها للمفضلة"
|
||||
favorites: "المفضلات"
|
||||
unfavorite: "إزالة من المفضلة"
|
||||
favorited: "أُضيف إلى المفضلة."
|
||||
@@ -52,6 +53,7 @@ searchUser: "ابحث عن مستخدمين"
|
||||
reply: "رد"
|
||||
loadMore: "عرض المزيد"
|
||||
showMore: "عرض المزيد"
|
||||
showLess: "اغلق"
|
||||
youGotNewFollower: "يتابعك"
|
||||
receiveFollowRequest: "تلقيت طلب متابعة"
|
||||
followRequestAccepted: "قُبل طلب المتابعة"
|
||||
@@ -106,7 +108,8 @@ clickToShow: "اضغط للعرض"
|
||||
sensitive: "محتوى حساس"
|
||||
add: "إضافة"
|
||||
reaction: "التفاعلات"
|
||||
reactionSettingDescription: "اختر التفاعلات المفضلة التي تريد تثبيتها في منتقي التفاعلات."
|
||||
reactions: "التفاعلات"
|
||||
reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات."
|
||||
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
|
||||
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
|
||||
attachCancel: "أزل المرفق"
|
||||
@@ -140,6 +143,8 @@ flagAsBot: "علّمه كحساب آلي"
|
||||
flagAsBotDescription: "فعّل هذا الخيار إذا كان هذا الحساب يُدار عبر برمجية. إذا فُعل فسيكون بمثابة علامة للمطورين الآخرين لتجنب سلاسل لا متناهية من التفاعل بين حسابات الآلية وضبط أنظمة ميسكي للتعامل مع هذا الحساب كآلي."
|
||||
flagAsCat: "علّم هذا الحساب كحساب قط"
|
||||
flagAsCatDescription: "فعّل هذا الخيار لوضع علامة على الحساب لتوضيح أنه حساب قط."
|
||||
flagShowTimelineReplies: "أظهر التعليقات في الخيط الزمني"
|
||||
flagShowTimelineRepliesDescription: "يظهر الردود في الخيط الزمني"
|
||||
autoAcceptFollowed: "اقبل طلبات المتابعة تلقائيا من الحسابات المتابَعة"
|
||||
addAccount: "أضف حساباً"
|
||||
loginFailed: "فشل الولوج"
|
||||
@@ -160,7 +165,6 @@ annotation: "التعليقات"
|
||||
federation: "الفديرالية"
|
||||
instances: "مثيل الخادم"
|
||||
registeredAt: "مسجل منذ"
|
||||
latestRequestSentAt: "آخر طلب أرسِل في"
|
||||
latestRequestReceivedAt: "آخر طلب تُلقي في"
|
||||
latestStatus: "الحالات الأخيرة"
|
||||
storageUsage: "مساحة التخزين المستخدمة"
|
||||
@@ -187,7 +191,7 @@ clearCachedFiles: "امسح التخزين المؤقت"
|
||||
clearCachedFilesConfirm: "أتريد حذف التخزين المؤقت للملفات البعيدة؟"
|
||||
blockedInstances: "المثلاء المحجوبون"
|
||||
blockedInstancesDescription: "قائمة بالمثلاء التي تريد حظرها بحيث كل نطاق في سطر لوحده. بعد إدراجهم لن يتمكنوا من التفاعل مع هذا المثيل."
|
||||
muteAndBlock: "تم كتمها / تم حجبها"
|
||||
muteAndBlock: "المكتومون والمحجوبون"
|
||||
mutedUsers: "الحسابات المكتومة"
|
||||
blockedUsers: "الحسابات المحجوبة"
|
||||
noUsers: "ليس هناك مستخدمون"
|
||||
@@ -199,6 +203,7 @@ done: "تمّ"
|
||||
processing: "المعالجة جارية"
|
||||
preview: "معاينة"
|
||||
default: "افتراضي"
|
||||
defaultValueIs: "الافتراضي: {value}"
|
||||
noCustomEmojis: "ليس هناك إيموجي"
|
||||
noJobs: "لا توجد مهام"
|
||||
federating: "الفديرالية جارية"
|
||||
@@ -231,6 +236,8 @@ resetAreYouSure: "هل تريد إعادة التعيين؟"
|
||||
saved: "حُفظ"
|
||||
messaging: "المحادثة"
|
||||
upload: "ارفع"
|
||||
keepOriginalUploading: "ابق الصورة الأصلية"
|
||||
keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة."
|
||||
fromDrive: "من المخزن"
|
||||
fromUrl: "عبر رابط"
|
||||
uploadFromUrl: "ارفع عبر رابط"
|
||||
@@ -238,7 +245,6 @@ uploadFromUrlDescription: "رابط الملف المراد رفعه"
|
||||
uploadFromUrlRequested: "الرفع مطلوب"
|
||||
uploadFromUrlMayTakeTime: "سيستغرق بعض الوقت لاتمام الرفع "
|
||||
explore: "استكشاف"
|
||||
games: "ألعاب ميسكي"
|
||||
messageRead: "مقروءة"
|
||||
noMoreHistory: "لا يوجد المزيد من التاريخ"
|
||||
startMessaging: "ابدأ محادثة"
|
||||
@@ -278,6 +284,7 @@ emptyDrive: "قرص التخزين فارغ"
|
||||
emptyFolder: "هذا المجلد فارغ"
|
||||
unableToDelete: "لا يمكن حذفه"
|
||||
inputNewFileName: "ادخل الإسم الجديد للملف"
|
||||
inputNewDescription: "أدخل تعليقًا توضيحيًا"
|
||||
inputNewFolderName: "ادخل الإسم الجديد للمجلد"
|
||||
circularReferenceFolder: "المجلد المستهدف ينتمي للمجلد الذي تريد حذفه"
|
||||
hasChildFilesOrFolders: "الان الملف غير فارغ. لا يمكن حذفه"
|
||||
@@ -308,17 +315,15 @@ dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "الصفحات"
|
||||
integration: "دمج"
|
||||
integration: "التكامل"
|
||||
connectService: "اتصل"
|
||||
disconnectService: "اقطع الاتصال"
|
||||
enableLocalTimeline: "تفعيل الخيط المحلي"
|
||||
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
|
||||
disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخطوط الزمنية حتى وإن لم تفعّل."
|
||||
disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل."
|
||||
registration: "إنشاء حساب"
|
||||
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
|
||||
invite: "دعوة"
|
||||
proxyRemoteFiles: "جلب الملفات البعيدة عبر وكيل"
|
||||
proxyRemoteFilesDescription: "إذا فُعّل هذا الإعداد ، ستُجلب الملفات البعيدة غير الموجودة في التخزين المحلي للخادم عبر وكيل وتُنشأ لها صور مصغرة. لن يأثر على تخزين الخادم."
|
||||
driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
|
||||
driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد"
|
||||
inMb: "بالميغابايت"
|
||||
@@ -340,6 +345,8 @@ recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "تمكين reCAPTCHA"
|
||||
recaptchaSiteKey: "مفتاح الموقع"
|
||||
recaptchaSecretKey: "المفتاح السري"
|
||||
turnstileSiteKey: "مفتاح الموقع"
|
||||
turnstileSecretKey: "المفتاح السري"
|
||||
avoidMultiCaptchaConfirm: "يمكن أن يتسبب استخدام عدة خدمات لكلمات التحقق في حدوث تداخل. هل ترغب في إلغاء تنشيط الخدمات الأخرى؟ يمكنك ترك هذه الخدمات نشطة بالضغط على \"ألغ\"."
|
||||
antennas: "الهوائيات"
|
||||
manageAntennas: "إدارة الهوائيات"
|
||||
@@ -347,6 +354,7 @@ name: "الإسم"
|
||||
antennaSource: "مصدر الهوائي"
|
||||
antennaKeywords: "الكلمات المفتاحية للإستقبال"
|
||||
antennaExcludeKeywords: "الكلمات المفتاحية المستثناة"
|
||||
antennaKeywordsDescription: "افصل بينهم بمسافة لاستخدام معامل \"و\" أو بسطر لاستخدام معامل \"أو\""
|
||||
notifyAntenna: "نبهني بصول ملاحظات جديدة"
|
||||
withFileAntenna: "ملاحظات تحوي ملفات فقط"
|
||||
antennaUsersDescription: "اكتب اسم مستخدم لكل سطر"
|
||||
@@ -373,6 +381,7 @@ administrator: "المدير"
|
||||
token: "الرمز المميز"
|
||||
twoStepAuthentication: "الإستيثاق بعاملَيْن"
|
||||
moderator: "مشرِف"
|
||||
moderation: "الإشراف"
|
||||
nUsersMentioned: "{n} مستخدمين أُشير إليهم"
|
||||
securityKey: "مفتاح الأمان"
|
||||
securityKeyName: "اسم المفتاح"
|
||||
@@ -412,7 +421,6 @@ next: "التالية"
|
||||
retype: "أعد الكتابة"
|
||||
noteOf: "ملاحظات {user}"
|
||||
inviteToGroup: "دعوة إلى فريق"
|
||||
maxNoteTextLength: "حد عدد المحارف لكل ملاحظة"
|
||||
quoteAttached: "اِقتُبسَ"
|
||||
quoteQuestion: "أتريد تضمينها كاقتباس"
|
||||
noMessagesYet: "ليس هناك رسائل بعد"
|
||||
@@ -440,7 +448,6 @@ language: "اللغة"
|
||||
uiLanguage: "لغة واجهة المستخدم"
|
||||
groupInvited: "دُعيت إلى فريقٍ"
|
||||
aboutX: "عن {x}"
|
||||
useOsNativeEmojis: "استخدم الإيموجي الخاصة بنظام التشغيل"
|
||||
youHaveNoGroups: "لا تمتلك أية فِرَق"
|
||||
joinOrCreateGroup: "احصل على دعوة لفريق أو أنشئ واحدًا."
|
||||
noHistory: "السجل فارغ"
|
||||
@@ -471,6 +478,7 @@ hideThisNote: "إخفاء هذه الملاحظة"
|
||||
showFeaturedNotesInTimeline: "أظهر الملاحظات الشائعة في الخيط الزمني"
|
||||
objectStorageBaseUrl: "الرابط الأساسي"
|
||||
objectStoragePrefix: "البادئة"
|
||||
objectStoragePrefixDesc: "ستُحفظ الملفات في مجلدات تحوي اسماءها هذه البادئة."
|
||||
objectStorageEndpoint: "نقطة النهاية"
|
||||
objectStorageRegion: "المنطقة"
|
||||
objectStorageUseSSL: "استخدم SSL"
|
||||
@@ -482,12 +490,13 @@ deleteAll: "حذف الكل"
|
||||
showFixedPostForm: "أظهر نموذج الكتابة في أعلى الصفحة"
|
||||
newNoteRecived: "هناك ملاحظات جديدة"
|
||||
sounds: "الرنات"
|
||||
sound: "الرنات"
|
||||
listen: "استمع"
|
||||
none: "لا شيء"
|
||||
showInPage: "اعرض في الصفحة"
|
||||
popout: "منبثقة"
|
||||
volume: "مستوى الصوت"
|
||||
masterVolume: "القرص الرئيسي"
|
||||
masterVolume: "حجم الصوت الرئيس"
|
||||
details: "التفاصيل"
|
||||
chooseEmoji: "اختر إيموجي"
|
||||
unableToProcess: "يتعذر إكمال العملية"
|
||||
@@ -516,9 +525,9 @@ yourAccountSuspendedDescription: "عُلق الحساب بسبب انتهاك ش
|
||||
menu: "القائمة"
|
||||
divider: "فاصل"
|
||||
addItem: "إضافة عنصر"
|
||||
rooms: "الغرفة"
|
||||
relays: "المُرَحلات"
|
||||
addRelay: "إضافة مُرحّل"
|
||||
inboxUrl: "رابط صندوق الوارد"
|
||||
addedRelays: "المرحلات المضافة"
|
||||
serviceworkerInfo: "يجب أن يفعل لإرسال الإشعارات."
|
||||
deletedNote: "ملاحظة محذوفة"
|
||||
@@ -529,8 +538,11 @@ poll: "استطلاع رأي"
|
||||
useCw: "إخفاء المحتوى"
|
||||
enablePlayer: "افتح مشغل الفيديو"
|
||||
disablePlayer: "أغلق مشغل الفيديو"
|
||||
expandTweet: "وسّع التغريدة"
|
||||
themeEditor: "مصمم القوالب"
|
||||
description: "الوصف"
|
||||
describeFile: "أضف تعليقًا توضيحيًا"
|
||||
enterFileDescription: "أدخل تعليقًا توضيحيًا"
|
||||
author: "الكاتب"
|
||||
leaveConfirm: "لديك تغييرات غير محفوظة. أتريد المتابعة دون حفظها؟"
|
||||
manage: "إدارة "
|
||||
@@ -562,6 +574,9 @@ smtpPass: "الكلمة السرية"
|
||||
emptyToDisableSmtpAuth: "اترك اسم المستخدم وكلمة المرور فارغين لتعطيل التحقق من SMTP"
|
||||
smtpSecureInfo: "عطل هذا الخيار عند استخدام STARTTLS"
|
||||
wordMute: "حظر الكلمات"
|
||||
regexpError: "خطأ في التعبير النمطي"
|
||||
instanceMute: "المثلاء المكتومون"
|
||||
userSaysSomething: "كتب {name} شيءً"
|
||||
makeActive: "تفعيل"
|
||||
display: "المظهر"
|
||||
copy: "نسخ"
|
||||
@@ -581,7 +596,6 @@ regenerateLoginToken: "أعد توليد الرمز"
|
||||
regenerateLoginTokenDescription: "ينشئ رمز استيثاق جديد في العادة هذا ليس ضروريًا ؛ عند إنشاء رمز جديد ستُخرج جميع الأجهزة."
|
||||
setMultipleBySeparatingWithSpace: "يمكنك ادخال أكثر من مدخل واحد وذلك بفصلها بمسافات."
|
||||
fileIdOrUrl: "معرف الملف أو رابط"
|
||||
chatOpenBehavior: "سلوك نفاذة المحادثة عند فتحها"
|
||||
behavior: "السلوك"
|
||||
sample: "مثال"
|
||||
abuseReports: "البلاغات"
|
||||
@@ -589,10 +603,16 @@ reportAbuse: "أبلغ"
|
||||
reportAbuseOf: "أبلغ عن {name}"
|
||||
fillAbuseReportDescription: "أكتب بالتفصيل سبب البلاغ، إذا كنت تبلغ عن ملاحظة أرفق رابط لها."
|
||||
abuseReported: "أُرسل البلاغ، شكرًا لك"
|
||||
reporter: "المُبلّغ"
|
||||
reporteeOrigin: "أصل البلاغ"
|
||||
reporterOrigin: "أصل المُبلّغ"
|
||||
forwardReport: "وجّه البلاغ إلى المثيل البعيد"
|
||||
forwardReportIsAnonymous: "في المثيل البعيد سيظهر المبلّغ كحساب مجهول."
|
||||
send: "أرسل"
|
||||
abuseMarkAsResolved: "علّم البلاغ كمحلول"
|
||||
openInNewTab: "افتح في لسان جديد"
|
||||
defaultNavigationBehaviour: "سلوك الملاحة الافتراضي"
|
||||
editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك"
|
||||
instanceTicker: "معلومات المثيل الأصلي للملاحظات"
|
||||
waitingFor: "في انتظار {x}"
|
||||
random: "عشوائي"
|
||||
@@ -622,11 +642,17 @@ yes: "نعم"
|
||||
no: "لا"
|
||||
driveFilesCount: "عدد الملفات في قرص التخزين"
|
||||
driveUsage: "المستغل من قرص التخزين"
|
||||
noCrawle: "ارفض فهرسة زاحف الويب"
|
||||
noCrawleDescription: "يطلب من محركات البحث ألّا يُفهرسوا ملفك الشخصي وملاحظات وصفحاتك وما شابه."
|
||||
alwaysMarkSensitive: "علّم افتراضيًا جميع ملاحظاتي كذات محتوى حساس"
|
||||
loadRawImages: "حمّل الصور الأصلية بدلًا من المصغرات"
|
||||
disableShowingAnimatedImages: "لا تشغّل الصور المتحركة"
|
||||
verificationEmailSent: "أُرسل بريد التحقق. أنقر على الرابط المضمن لإكمال التحقق."
|
||||
notSet: "لم يعيّن"
|
||||
emailVerified: "تُحقّق من بريدك الإلكتروني"
|
||||
noteFavoritesCount: "عدد الملاحظات المفضلة"
|
||||
pageLikesCount: "عدد الصفحات التي أعجبت بها"
|
||||
pageLikedCount: "عدد صفحاتك المُعجب بها"
|
||||
contact: "التواصل"
|
||||
useSystemFont: "استخدم الخط الافتراضية للنظام"
|
||||
clips: "مشابك"
|
||||
@@ -634,7 +660,11 @@ experimentalFeatures: "ميّزات اختبارية"
|
||||
developer: "المطور"
|
||||
makeExplorable: "أظهر الحساب في صفحة \"استكشاف\""
|
||||
makeExplorableDescription: "بتعطيل هذا الخيار لن يظهر حسابك في صفحة \"استكشاف\""
|
||||
showGapBetweenNotesInTimeline: "أظهر فجوات بين المشاركات في الخيط الزمني"
|
||||
wide: "عريض"
|
||||
narrow: "رفيع"
|
||||
reloadToApplySetting: "سيُطبق هذا الإعداد بعد إعادة تحميل الصفحة، أتريد إعادة تحميلها الآن؟"
|
||||
needReloadToApply: "سيطبق هذا بعد إعادة التحميل."
|
||||
showTitlebar: "اعرض شريط العنوان"
|
||||
clearCache: "امسح التخزين المؤقت"
|
||||
onlineUsersCount: "{n} مستخدم متصل"
|
||||
@@ -665,6 +695,7 @@ capacity: "السعة"
|
||||
inUse: "مستخدم"
|
||||
editCode: "حرر الشفرة"
|
||||
apply: "تطبيق"
|
||||
receiveAnnouncementFromInstance: "استلم إشعارات من هذا المثيل"
|
||||
emailNotification: "إشعارات البريد الكتروني"
|
||||
inChannelSearch: "ابحث عن قناة"
|
||||
useReactionPickerForContextMenu: "افتح منتقي التفاعلات عند النقر بالزر الأيمن"
|
||||
@@ -678,6 +709,7 @@ unlikeConfirm: "أتريد إلغاء إعجابك؟"
|
||||
fullView: "ملء الشاشة"
|
||||
quitFullView: "اخرج من وضع ملء للشاشة"
|
||||
addDescription: "أضف وصفًا"
|
||||
userPagePinTip: "لعرض ملاحظة هنا اختر \"دبسها على الصفحة الشخصية\" من قائمة تلك الملاحظة."
|
||||
notSpecifiedMentionWarning: "في الملاحظة ذكر لمستخدمين لن يستلموها."
|
||||
info: "عن"
|
||||
userInfo: "معلومات المستخدم"
|
||||
@@ -692,6 +724,7 @@ notRecommended: "غير مستحسن"
|
||||
botProtection: "الحماية من الحسابات الآلية"
|
||||
instanceBlocking: "المثيلات المحجوبة"
|
||||
selectAccount: "اختر حسابًا"
|
||||
switchAccount: "تغيير الحساب"
|
||||
enabled: "مفعّل"
|
||||
disabled: "معطّل"
|
||||
quickAction: "الإجراءات السّريعة"
|
||||
@@ -738,6 +771,7 @@ keepCw: "أبقِ على تحذيرات المحتوى"
|
||||
lastCommunication: "آخر تواصل"
|
||||
resolved: "عولج"
|
||||
unresolved: "لم يعالج"
|
||||
breakFollow: "إلغاء الاشتراك"
|
||||
itsOn: "مفعّل"
|
||||
itsOff: "معطّل"
|
||||
emailRequiredForSignup: "عنوان البريد الإلكتروني إلزامي للتسجيل"
|
||||
@@ -750,8 +784,47 @@ makeReactionsPublicDescription: "هذا سيجعل قائمة تفاعلاتك
|
||||
classic: "تقليدي"
|
||||
muteThread: "اكتم النقاش"
|
||||
unmuteThread: "ارفع الكتم عن النقاش"
|
||||
ffVisibility: "مرئية المتابِعين/المتابَعين"
|
||||
ffVisibilityDescription: "يسمح لك بتحديد من يمكنهم رؤية متابِعيك ومتابَعيك."
|
||||
deleteAccountConfirm: "سيحذف حسابك نهائيًا، أتريد المتابعة؟"
|
||||
incorrectPassword: "كلمة السر خاطئة."
|
||||
voteConfirm: "متيقِّن من تصويتك لـ {choice}؟"
|
||||
hide: "إخفاء"
|
||||
leaveGroup: "مغادرة الفريق"
|
||||
leaveGroupConfirm: "متيقن من مغادرة \"{name}\"؟"
|
||||
welcomeBackWithName: "مرحبًا بك مجددًا {name}"
|
||||
clickToFinishEmailVerification: "انقر [{ok}] لاستيثاق بريدك الإلكتروني."
|
||||
overridedDeviceKind: "نوع الجهاز"
|
||||
smartphone: "هاتف ذكي"
|
||||
tablet: "جهاز لوحي"
|
||||
auto: "تلقائي"
|
||||
themeColor: "لون السمة"
|
||||
size: "الحجم"
|
||||
numberOfColumn: "عدد الأعمدة"
|
||||
searchByGoogle: "غوغل"
|
||||
mutePeriod: "مدة الكتم"
|
||||
indefinitely: "أبدًا"
|
||||
tenMinutes: "10 دقائق"
|
||||
oneHour: "ساعة"
|
||||
oneDay: "يوم"
|
||||
oneWeek: "أسبوع"
|
||||
failedToFetchAccountInformation: "تعذر جلب معلومات الحساب"
|
||||
file: "الملفات"
|
||||
reverse: "اقلب"
|
||||
colored: "ملوّن"
|
||||
label: "التسمية"
|
||||
localOnly: "المحلي فقط"
|
||||
account: "الحسابات"
|
||||
cannotLoad: "تعذر التحميل"
|
||||
like: "أعجبني"
|
||||
show: "المظهر"
|
||||
color: "اللون"
|
||||
_role:
|
||||
priority: "الأولوية"
|
||||
_priority:
|
||||
low: "منخفضة"
|
||||
middle: "متوسط"
|
||||
high: "عالية"
|
||||
_emailUnavailable:
|
||||
used: "هذا البريد الإلكتروني مستخدم"
|
||||
format: "صيغة البريد الإلكتروني غير صالحة"
|
||||
@@ -759,6 +832,7 @@ _emailUnavailable:
|
||||
smtp: "خادم البريد الإلكتروتي لا يستجيب"
|
||||
_ffVisibility:
|
||||
public: "علني"
|
||||
followers: "مرئية لمتابِعيك فقط"
|
||||
private: "خاص"
|
||||
_signup:
|
||||
almostThere: "كدت تنتهي"
|
||||
@@ -773,6 +847,8 @@ _accountDelete:
|
||||
inProgress: "عملية الحذف جارية"
|
||||
_ad:
|
||||
back: "رجوع"
|
||||
reduceFrequencyOfThisAd: "قلل عرض هذا الإعلان"
|
||||
hide: "لا تظهره بتاتًا"
|
||||
_forgotPassword:
|
||||
enterEmail: "أدخل البريد الإلكتروني المرتبط بحسابك لكي يرسل إليك رابط لإعادة تعيين كلمة المرور."
|
||||
ifNoEmail: "إذا لم تربط حسابك ببريد إلكتروني سيتوجب عليك التواصل مع مدير الموقع."
|
||||
@@ -799,7 +875,7 @@ _registry:
|
||||
createKey: "أنشئ مفتاحًا"
|
||||
_aboutMisskey:
|
||||
about: "ميسكي هو برمجية مفتوحة المصدر يطورها syuilo منذ 2014."
|
||||
contributors: "المساهم الرئيسي"
|
||||
contributors: "المساهمون الرئيسيون"
|
||||
allContributors: "كل المساهمين"
|
||||
source: "الشفرة المصدرية"
|
||||
translation: "ترجم ميسكي"
|
||||
@@ -821,11 +897,17 @@ _mfm:
|
||||
urlDescription: "يمكن عرض الروابط"
|
||||
link: "رابط"
|
||||
bold: "عريض"
|
||||
boldDescription: "جعل الحروف أثخن لإبرازها."
|
||||
small: "صغير"
|
||||
smallDescription: "يعرض المحتوى صغيرًا ورفيعًا."
|
||||
center: "وسط"
|
||||
centerDescription: "يمركز المحتوى في الوَسَط."
|
||||
quote: "اقتبس"
|
||||
quoteDescription: "يعرض المحتوى كاقتباس"
|
||||
emoji: "إيموجي مخصص"
|
||||
emojiDescription: "إحاطة اسم الإيموجي بنقطتي تفسير سيستبدله بصورة الإيموجي."
|
||||
search: "البحث"
|
||||
searchDescription: "يعرض نصًا في صندوق البحث"
|
||||
flip: "اقلب"
|
||||
flipDescription: "يقلب المحتوى عموديًا أو أفقيًا"
|
||||
jelly: "تأثير (هلام)"
|
||||
@@ -836,43 +918,28 @@ _mfm:
|
||||
jumpDescription: "يمنح للمحتوى حركة قفز."
|
||||
bounce: "تأثير (ارتداد)"
|
||||
bounceDescription: "يمنح للمحتوى حركة ارتدادية"
|
||||
shake: "تأثير (اهتزاز)"
|
||||
shakeDescription: "يمنح المحتوى حركة اهتزازية."
|
||||
spin: "تأثير (دوران)"
|
||||
spinDescription: "يمنح المحتوى حركة دورانية."
|
||||
x2: "كبير"
|
||||
x2Description: "يُكبر المحتوى"
|
||||
x3: "كبير جداً"
|
||||
x3Description: "يُضخم المحتوى"
|
||||
x4: "هائل"
|
||||
x4Description: "يُضخم المحتوى أكثر مما سبق."
|
||||
blur: "طمس"
|
||||
blurDescription: "يطمس المحتوى، لكن بالتمرير فوقه سيظهر بوضوح."
|
||||
font: "الخط"
|
||||
fontDescription: "الخط المستخدم لعرض المحتوى."
|
||||
rainbow: "قوس قزح"
|
||||
rainbowDescription: "اجعل المحتوى يظهر بألوان الطيف"
|
||||
rotate: "تدوير"
|
||||
_reversi:
|
||||
gameSettings: "إعدادات اللعبة"
|
||||
chooseBoard: "اختر اللوح"
|
||||
blackOrWhite: "أسود/أبيض"
|
||||
blackIs: "{name} سيلعب بالأسود"
|
||||
rules: "القوانين"
|
||||
botSettings: "خيارات الحسابات الآلية"
|
||||
thisGameIsStartedSoon: "ستبدأ اللعبة خلال بضع ثوانٍ"
|
||||
waitingForOther: "ينتظر دور الخصم"
|
||||
waitingForMe: "ينتظر دورك"
|
||||
waitingBoth: "استعد"
|
||||
ready: "جاهز"
|
||||
cancelReady: "ألغ الجهوزية"
|
||||
opponentTurn: "دور الخصم"
|
||||
myTurn: "دورك"
|
||||
turnOf: "دور {name}"
|
||||
pastTurnOf: "دور {name}"
|
||||
surrender: "استسلم"
|
||||
drawn: "تعادل"
|
||||
won: "فاز {name}"
|
||||
black: "أسود"
|
||||
white: "أبيض"
|
||||
total: "المجموع"
|
||||
turnCount: "الدور {count}"
|
||||
myGames: "جولاتي"
|
||||
allGames: "كل الجولات"
|
||||
ended: "انتهت"
|
||||
playing: "يُلعب الآن"
|
||||
rotateDescription: "يُدير المحتوى بزاوية معيّنة."
|
||||
_instanceTicker:
|
||||
none: "لا تظهره بتاتًا"
|
||||
remote: "أظهر للمستخدمين البِعاد"
|
||||
always: "أظهره دائمًا"
|
||||
_serverDisconnectedBehavior:
|
||||
reload: "إعادة تحميل تلقائية"
|
||||
dialog: "أظهر مربع حوار التحذيرات"
|
||||
@@ -887,15 +954,23 @@ _channel:
|
||||
usersCount: "{n} منتسب"
|
||||
notesCount: "{n} ملاحظة"
|
||||
_menuDisplay:
|
||||
sideFull: "جانبي"
|
||||
top: "الأعلى"
|
||||
hide: "إخفاء"
|
||||
_wordMute:
|
||||
muteWords: "الكلمات المحظورة"
|
||||
muteWordsDescription: "افصل بينهم بمسافة لاستخدام معامل \"و\" أو بسطر لاستخدام معامل \"أو\"."
|
||||
muteWordsDescription2: "احصر الكلمات المفتاحية بين بين شرطتين مائلتين لاستخدامها كتعابير نمطية"
|
||||
softDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني."
|
||||
hardDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني.بالإضافة إلى أن هذه الملاحظات ستبقى مخفية حتى وإن تغيرت الشروط."
|
||||
soft: "لينة"
|
||||
hard: "قاسية"
|
||||
mutedNotes: "الملاحظات المكتومة"
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "هذه سيحجب كل ملاحظات الخوادم المحجوبة ومشاركاتها والردود على تلك الملاحظات حتى وإن كانت من خادم غير محجوب."
|
||||
instanceMuteDescription2: "مدخلة لكل سطر"
|
||||
title: "يخفي ملاحظات الخوادم المسرودة."
|
||||
heading: "قائمة الخوادم المحجوبة"
|
||||
_theme:
|
||||
explore: "استكشف قوالب المظهر"
|
||||
install: "تنصيب قالب"
|
||||
@@ -955,7 +1030,6 @@ _sfx:
|
||||
antenna: "الهوائيات"
|
||||
channel: "إشعارات القنات"
|
||||
_ago:
|
||||
unknown: "مجهول"
|
||||
future: "المستقبَل"
|
||||
justNow: "اللحظة"
|
||||
secondsAgo: "منذ {n} ثوانٍ"
|
||||
@@ -982,12 +1056,12 @@ _tutorial:
|
||||
step3_3: "املأ النموذج وانقر الزرّ الموجود في أعلى اليمين للإرسال."
|
||||
step3_4: "ليس لديك ما تقوله؟ إذا اكتب \"بدأتُ استخدم ميسكي\"."
|
||||
step4_1: "هل نشرت ملاحظتك الأولى؟"
|
||||
step4_2: "مرحى! يمكنك الآن رؤية ملاحظتك في الخط الزمني."
|
||||
step5_1: "والآن، لنجعل الخط الزمني أكثر حيوية وذلك بمتابعة بعض المستخدمين."
|
||||
step4_2: "مرحى! يمكنك الآن رؤية ملاحظتك في الخيط الزمني."
|
||||
step5_1: "والآن، لنجعل الخيط الزمني أكثر حيوية وذلك بمتابعة بعض المستخدمين."
|
||||
step5_2: "تعرض صفحة {features} الملاحظات المتداولة في هذا المثيل ويتيح لك {Explore} العثور على المستخدمين الرائدين. اعثر على الأشخاص الذين يثيرون إهتمامك وتابعهم!"
|
||||
step5_3: "لمتابعة مستخدمين ادخل ملفهم الشخصي بالنقر على صورتهم الشخصية ثم اضغط زر 'تابع'."
|
||||
step5_4: "إذا كان لدى المستخدم رمز قفل بجوار اسمه ، وجب عليك انتظاره ليقبل طلب المتابعة يدويًا."
|
||||
step6_1: "الآن ستتمكن من رؤية ملاحظات المستخدمين المتابَعين في الخط الزمني."
|
||||
step6_1: "الآن ستتمكن من رؤية ملاحظات المستخدمين المتابَعين في الخيط الزمني."
|
||||
step6_2: "يمكنك التفاعل بسرعة مع الملاحظات عن طريق إضافة \"تفاعل\"."
|
||||
step6_3: "لإضافة تفاعل لملاحظة ، انقر فوق علامة \"+\" أسفل للملاحظة واختر الإيموجي المطلوب."
|
||||
step7_1: "مبارك ! أنهيت الدورة التعليمية الأساسية لاستخدام ميسكي."
|
||||
@@ -1052,6 +1126,8 @@ _weekday:
|
||||
friday: "الجمعة"
|
||||
saturday: "السبت"
|
||||
_widgets:
|
||||
profile: "الملف التعريفي"
|
||||
instanceInfo: "معلومات مثيل الخادم"
|
||||
memo: "ملاحظة لاصقة"
|
||||
notifications: "الإشعارات"
|
||||
timeline: "الخيط الزمني"
|
||||
@@ -1069,6 +1145,8 @@ _widgets:
|
||||
onlineUsers: "المتّصلون"
|
||||
jobQueue: "قائمة الانتظار"
|
||||
serverMetric: "إحصائيات الخادم"
|
||||
_userList:
|
||||
chooseList: "اختر قائمة"
|
||||
_cw:
|
||||
hide: "إخفاء"
|
||||
show: "عرض المزيد"
|
||||
@@ -1112,9 +1190,12 @@ _postForm:
|
||||
quotePlaceholder: "اقتبس هذه الملاحظة…"
|
||||
channelPlaceholder: "انشر في قناة..."
|
||||
_placeholders:
|
||||
a: "ما الذي تنوي فعله؟"
|
||||
b: "ماذا يحدث حولك ؟"
|
||||
c: "ما الذي تفكر فيه؟"
|
||||
d: "ما الذي تريد قوله؟"
|
||||
e: "أكتب..."
|
||||
f: "بانتظارك لتكتب..."
|
||||
_profile:
|
||||
name: "الإسم"
|
||||
username: "اسم المستخدم"
|
||||
@@ -1133,70 +1214,40 @@ _exportOrImport:
|
||||
muteList: "المستخدمون المكتومون"
|
||||
blockingList: "المستخدمون المحجوبون"
|
||||
userLists: "القوائم"
|
||||
excludeMutingUsers: "استثن الحسابات المكتومة"
|
||||
excludeInactiveUsers: "استثن المستخدمين الخاملين"
|
||||
_charts:
|
||||
usersIncDec: "اختلاف عدد المستخدمين"
|
||||
federation: "الفديرالية"
|
||||
apRequest: "الطلبات"
|
||||
usersIncDec: "تباين عدد المستخدمين"
|
||||
usersTotal: "مجموع عدد المستخدمين والمستخدمات"
|
||||
activeUsers: "المستخدمون النشطون"
|
||||
notesIncDec: "اختلاف عدد الملاحظات"
|
||||
localNotesIncDec: "اختلاف عدد الملاحظات المحلية"
|
||||
remoteNotesIncDec: "اختلاف عدد الملاحظات البعيدة"
|
||||
notesIncDec: "تباين عدد الملاحظات"
|
||||
localNotesIncDec: "تباين عدد الملاحظات المحلية"
|
||||
remoteNotesIncDec: "تباين عدد الملاحظات البعيدة"
|
||||
notesTotal: "إجمالي الملاحظات"
|
||||
filesIncDec: "اختلاف عدد الملفات"
|
||||
filesIncDec: "تباين عدد الملفات"
|
||||
filesTotal: "العدد الإجمالي للملفات"
|
||||
_instanceCharts:
|
||||
requests: "الطلبات"
|
||||
users: "اختلاف عدد المستخدمين"
|
||||
notes: "اختلاف عدد الملاحظات"
|
||||
files: "اختلاف عدد الملفات"
|
||||
users: "تباين عدد المستخدمين"
|
||||
usersTotal: "تباين عدد المستخدمين"
|
||||
notes: "تباين عدد الملاحظات"
|
||||
notesTotal: "تباين عدد الملاحظات"
|
||||
ff: "تباين عدد حسابات المتابَعة/المتابِعة"
|
||||
ffTotal: "تباين عدد حسابات المتابَعة/المتابِعة"
|
||||
files: "تباين عدد الملفات"
|
||||
filesTotal: "تباين عدد الملفات"
|
||||
_timelines:
|
||||
home: "الرئيسي"
|
||||
local: "المحلي"
|
||||
social: "الاجتماعي"
|
||||
global: "الشامل"
|
||||
_rooms:
|
||||
roomOf: "غرفة {user}"
|
||||
translate: "أنقل"
|
||||
rotate: "تدوير"
|
||||
exit: "رجوع"
|
||||
remove: "أزل"
|
||||
clear: "أزل الكل"
|
||||
clearConfirm: "أتريد إزالة كل الأثاث من الغرفة؟"
|
||||
leaveConfirm: "لديك تغييرات غير محفوظة. أتريد المتابعة دون حفظها؟"
|
||||
chooseImage: "اختر صورة"
|
||||
roomType: "نوع الغرفة"
|
||||
carpetColor: "لون السّجاد"
|
||||
_roomType:
|
||||
default: "افتراضي"
|
||||
washitsu: "الأسلوب الياباني"
|
||||
_furnitures:
|
||||
milk: "علبة حليب"
|
||||
bed: "سرير"
|
||||
low-table: "طاولة قصيرة"
|
||||
desk: "مكتب"
|
||||
chair: "كرسي"
|
||||
chair2: "كرسي 2"
|
||||
fan: "مروحة"
|
||||
pc: "حاسوب"
|
||||
plant: "نبات زينة"
|
||||
plant2: "نبات زينة 2"
|
||||
eraser: "ممحاة"
|
||||
pencil: "قلم رصاص"
|
||||
pudding: "بودينغ"
|
||||
book: "كتاب"
|
||||
book2: "كتاب 2"
|
||||
piano: "بيانو"
|
||||
server: "خادم"
|
||||
moon: "قمر"
|
||||
monitor: "شاشة التحكم"
|
||||
keyboard: "لوحة مفاتيح"
|
||||
wall-clock: "ساعة حائط"
|
||||
photoframe: "إطار صورة"
|
||||
cube: "مكعب"
|
||||
tv: "تلفاز"
|
||||
pinguin: "بطريق"
|
||||
sofa: "أريكة"
|
||||
bin: "سلة مهملات"
|
||||
banknote: "أوراق نقدية"
|
||||
_play:
|
||||
viewSource: "اظهر المصدر"
|
||||
featured: "الأكثر شعبية"
|
||||
title: "العنوان"
|
||||
summary: "الوصف"
|
||||
_pages:
|
||||
newPage: "أنشئ صفحة جديدة"
|
||||
editPage: "عدّل الصفحة"
|
||||
@@ -1205,244 +1256,45 @@ _pages:
|
||||
updated: "نجح تعديل الصفحة"
|
||||
deleted: "نجح حذف الصفحة"
|
||||
pageSetting: "إعدادات الصفحة"
|
||||
nameAlreadyExists: "رابط الصفحة موجود مسبقًا"
|
||||
invalidNameTitle: "رابط الصفحة ليس صالحًا"
|
||||
invalidNameText: "تأكد أن عنوان الصفحة ليس فارغًا"
|
||||
editThisPage: "عدّل هذه الصفحة"
|
||||
viewSource: "اظهر المصدر"
|
||||
viewPage: "اعرض صفحاتك"
|
||||
like: "أعجبني"
|
||||
unlike: "أزل الإعجاب"
|
||||
my: "صفحاتي"
|
||||
liked: "الصفحات المُعجب بها"
|
||||
featured: "الأكثر شعبية"
|
||||
contents: "المحتوى"
|
||||
variables: "متغيّرات"
|
||||
title: "العنوان"
|
||||
url: "رابط الصفحة"
|
||||
summary: "ملخص الصفحة"
|
||||
alignCenter: "توسيط العناصر"
|
||||
hideTitleWhenPinned: "اخف عنوان الصفحة عند تدبيسها في ملف الشخصي"
|
||||
font: "الخط"
|
||||
fontSerif: "Serif"
|
||||
fontSansSerif: "Sans Serif"
|
||||
eyeCatchingImageSet: "عيّن صورة مصغّرة"
|
||||
eyeCatchingImageRemove: "احذف صورة مصغّرة"
|
||||
chooseBlock: "إضافة كتلة"
|
||||
selectType: "اختر النوع"
|
||||
enterVariableName: "أدخل اسم المتغيّر"
|
||||
variableNameIsAlreadyUsed: "هذا الاسم محجوز"
|
||||
contentBlocks: "المحتوى"
|
||||
inputBlocks: "مُدخل"
|
||||
specialBlocks: "خاص"
|
||||
blocks:
|
||||
text: "نص"
|
||||
textarea: "حقل نصي"
|
||||
section: "قسم"
|
||||
image: "الصور"
|
||||
button: "زرّ"
|
||||
_if:
|
||||
variable: "متغيّر"
|
||||
post: "أنشئ ملاحظة"
|
||||
_post:
|
||||
text: "المحتوى"
|
||||
textInput: "مُدخل نصي"
|
||||
_textInput:
|
||||
name: "اسم المتغير"
|
||||
text: "العنوان"
|
||||
default: "القيمة الافتراضية"
|
||||
textareaInput: "مدخل نصي متعدد الأسطر"
|
||||
_textareaInput:
|
||||
name: "اسم المتغير"
|
||||
text: "العنوان"
|
||||
default: "القيمة الافتراضية"
|
||||
numberInput: "مُدخل رقمي"
|
||||
_numberInput:
|
||||
name: "اسم المتغير"
|
||||
text: "العنوان"
|
||||
default: "القيمة الافتراضية"
|
||||
_canvas:
|
||||
width: "العُرض"
|
||||
height: "الإرتفاع"
|
||||
note: "ملاحظة مضمّنة"
|
||||
_note:
|
||||
id: "معرّف الملاحظة"
|
||||
idDescription: "كبديل يمكنك إدخال رابك الملاحظة هنا"
|
||||
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:
|
||||
functionName: "اسم الدالة"
|
||||
radioButton: "الخيار "
|
||||
_radioButton:
|
||||
name: "اسم المتغير"
|
||||
title: "العنوان"
|
||||
values: "قائمة الخيارات (كل خيار في سطر لوحده)"
|
||||
default: "القيمة الافتراضية"
|
||||
script:
|
||||
categories:
|
||||
logical: "عمليّة منطقيّة"
|
||||
operation: "حساب"
|
||||
comparison: "مقارنة"
|
||||
random: "عشوائي"
|
||||
value: "القيم"
|
||||
fn: "دوال"
|
||||
convert: "تحويل"
|
||||
list: "القوائم"
|
||||
blocks:
|
||||
text: "نص"
|
||||
textList: "قائمة نصية"
|
||||
_textList:
|
||||
info: "اجعل كل مدخل في سطر لوحده"
|
||||
strLen: "طول النص"
|
||||
_strLen:
|
||||
arg1: "نص"
|
||||
strPick: "استخرج محرفًا"
|
||||
_strPick:
|
||||
arg1: "نص"
|
||||
arg2: "موضع المحرف"
|
||||
strReplace: "استبدال النّص"
|
||||
_strReplace:
|
||||
arg1: "نص"
|
||||
arg2: "استُبدِل بـ"
|
||||
arg3: "استُبدِل بـ"
|
||||
strReverse: "اقلب النص"
|
||||
_strReverse:
|
||||
arg1: "نص"
|
||||
_join:
|
||||
arg1: "القوائم"
|
||||
arg2: "فاصل"
|
||||
add: "إضافة"
|
||||
_add:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
subtract: "اطرح"
|
||||
_subtract:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
multiply: "اضرب"
|
||||
_multiply:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
divide: "اقسم"
|
||||
_divide:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
mod: "الباقي"
|
||||
_mod:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
round: "تقريب عدد عشري"
|
||||
_round:
|
||||
arg1: "رقم"
|
||||
eq: "أ و ب متساويان"
|
||||
_eq:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
notEq: "أ و ب مختلفان"
|
||||
_notEq:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
and: "أ و ب"
|
||||
_and:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
or: "أ أو ب"
|
||||
_or:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
lt: "أ أصغر من ب"
|
||||
_lt:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
gt: "أ أكبر من ب"
|
||||
_gt:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
ltEq: "أ أصغر من أو يساوي ب"
|
||||
_ltEq:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
gtEq: "أ أكبر من أو يساوي ب"
|
||||
_gtEq:
|
||||
arg1: "أ"
|
||||
arg2: "ب"
|
||||
if: "فرع"
|
||||
random: "عشوائي"
|
||||
rannum: "رقم عشوائي"
|
||||
_rannum:
|
||||
arg1: "أدنى قيمة"
|
||||
arg2: "أقصى قيمة"
|
||||
randomPick: "اختر عشوائيًا من القائمة"
|
||||
_randomPick:
|
||||
arg1: "القوائم"
|
||||
dailyRandom: "عشوائي (يتغير مرة يوميًا لكل مستخدم)"
|
||||
dailyRannum: "رقم عشوائي (يتغير مرة يوميًا لكل مستخدم)"
|
||||
_dailyRannum:
|
||||
arg1: "أدنى قيمة"
|
||||
arg2: "أقصى قيمة"
|
||||
dailyRandomPick: "اختيار عشوائي من قائمة (يتغير مرة يوميًا لكل مستخدم)"
|
||||
_dailyRandomPick:
|
||||
arg1: "القوائم"
|
||||
seedRandom: "عشوائي (عبر بذرة)"
|
||||
_seedRandom:
|
||||
arg1: "البذرة"
|
||||
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:
|
||||
arg1: "نص"
|
||||
ref: "متغيّر"
|
||||
aiScriptVar: "متغيّر AiScript"
|
||||
fn: "دالة"
|
||||
_fn:
|
||||
slots: "خانات"
|
||||
arg1: "المُخرج"
|
||||
for: "حلقة تكرار"
|
||||
_for:
|
||||
arg1: "عدد مرات التكرار"
|
||||
arg2: "الإجراء"
|
||||
typeError: "الخانة {slot} تقبل \"{expect}\" لكن القيمة المعطاة هي \"{actual}\"!"
|
||||
thereIsEmptySlot: "الخانة {slot} فارغة!"
|
||||
types:
|
||||
string: "نص"
|
||||
number: "رقم"
|
||||
array: "القوائم"
|
||||
stringArray: "قائمة نصية"
|
||||
emptySlot: "خانة فارغة"
|
||||
enviromentVariables: "متغيرات البيئة"
|
||||
pageVariables: "متغيرات الصفحة"
|
||||
argVariables: "خانة إدخال"
|
||||
_relayStatus:
|
||||
requesting: "مُعلّق"
|
||||
accepted: "مقبول"
|
||||
@@ -1453,13 +1305,14 @@ _notification:
|
||||
youGotReply: "ردّ عليك {name}"
|
||||
youGotQuote: "اقتبس منك {name}"
|
||||
youRenoted: "إعادت نشر من {name}"
|
||||
youGotPoll: "شارك {name} في استطلاع الرأي"
|
||||
youGotMessagingMessageFromUser: "لقد تلقيت رسالة مِن {name}"
|
||||
youGotMessagingMessageFromGroup: "لقد أرسِلَت رسالة إلى الفريق {name}"
|
||||
youWereFollowed: "يتابعك"
|
||||
youReceivedFollowRequest: "تلقيتَ طلب متابعة"
|
||||
yourFollowRequestAccepted: "قُبل طلب المتابعة"
|
||||
youWereInvitedToGroup: "دُعيت إلى فريقٍ"
|
||||
pollEnded: "ظهرت نتائج الاستطلاع"
|
||||
unreadAntennaNote: "هوائي {name}"
|
||||
_types:
|
||||
all: "الكل"
|
||||
follow: "متابِعون جدد"
|
||||
@@ -1470,7 +1323,12 @@ _notification:
|
||||
reaction: "التفاعلات"
|
||||
receiveFollowRequest: "طلبات المتابعة المتلقاة"
|
||||
followRequestAccepted: "طلبات المتابعة المقبولة"
|
||||
groupInvited: "دعوات الفريق"
|
||||
app: "إشعارات التطبيقات المرتبطة"
|
||||
_actions:
|
||||
followBack: "تابعك بالمثل"
|
||||
reply: "رد"
|
||||
renote: "أعد النشر"
|
||||
_deck:
|
||||
alwaysShowMainColumn: "أظهر العمود الرئيسي دائمًا"
|
||||
columnAlign: "حاذِ الأعمدة"
|
||||
|
||||
1445
locales/bn-BD.yml
Normal file
1445
locales/bn-BD.yml
Normal file
File diff suppressed because it is too large
Load Diff
472
locales/ca-ES.yml
Normal file
472
locales/ca-ES.yml
Normal file
@@ -0,0 +1,472 @@
|
||||
---
|
||||
_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"
|
||||
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"
|
||||
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"
|
||||
nsfw: "NSFW"
|
||||
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"
|
||||
twoStepAuthentication: "Verificació en dos passos"
|
||||
moderator: "Moderador/a"
|
||||
moderation: "Moderació"
|
||||
nUsersMentioned: "{n} usuaris mencionats"
|
||||
securityKey: "Clau de seguretat"
|
||||
securityKeyName: "Nom de la clau"
|
||||
registerSecurityKey: "Registra la 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}"
|
||||
inviteToGroup: "Convida'l al grup"
|
||||
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"
|
||||
_mfm:
|
||||
mention: "Menció"
|
||||
quote: "Citar"
|
||||
emoji: "Emojis personalitzats"
|
||||
search: "Cercar"
|
||||
_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"
|
||||
userGroup: "Publicacions d'usuaris d'un grup"
|
||||
_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"
|
||||
@@ -52,7 +52,10 @@ searchUser: "Vyhledat uživatele"
|
||||
reply: "Odpovědět"
|
||||
loadMore: "Zobrazit více"
|
||||
showMore: "Zobrazit více"
|
||||
showLess: "Zavřít"
|
||||
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í"
|
||||
mentions: "Zmínění"
|
||||
importAndExport: "Import a export"
|
||||
@@ -60,7 +63,9 @@ import: "Importovat"
|
||||
export: "Exportovat"
|
||||
files: "Soubor(ů)"
|
||||
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}?"
|
||||
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."
|
||||
lists: "Seznamy"
|
||||
noLists: "Nemáte žádné seznamy"
|
||||
@@ -75,20 +80,32 @@ error: "Chyba"
|
||||
somethingHappened: "Jejda. Něco se nepovedlo."
|
||||
retry: "Opakovat"
|
||||
pageLoadError: "Nepodařilo se načíst stránku"
|
||||
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"
|
||||
privacy: "Soukromí"
|
||||
makeFollowManuallyApprove: "Žádosti o sledování vyžadují potvrzení"
|
||||
defaultNoteVisibility: "Výchozí viditelnost"
|
||||
follow: "Sledovaní"
|
||||
followRequest: "Odeslat žádost o sledování"
|
||||
followRequests: "Žádosti o sledování"
|
||||
unfollow: "Přestat sledovat"
|
||||
followRequestPending: "Čekající žádosti o sledování"
|
||||
enterEmoji: "Vložte emoji"
|
||||
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."
|
||||
quote: "Citovat"
|
||||
pinnedNote: "Připnutá poznámka"
|
||||
pinned: "Připnout"
|
||||
you: "Vy"
|
||||
clickToShow: "Klikněte pro zobrazení"
|
||||
sensitive: "NSFW"
|
||||
add: "Přidat"
|
||||
reaction: "Reakce"
|
||||
reactionSettingDescription: "Vyberte Vaší oblíbenou reakci, kterou chcete připnout ve výběru."
|
||||
reactions: "Reakce"
|
||||
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"
|
||||
attachCancel: "Odstranit přílohu"
|
||||
@@ -123,6 +140,8 @@ 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."
|
||||
flagAsCat: "Tenhle účet je 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"
|
||||
addAccount: "Přidat účet"
|
||||
loginFailed: "Přihlášení se nezdařilo."
|
||||
@@ -131,22 +150,25 @@ general: "Obecně"
|
||||
wallpaper: "Obrázek na pozadí"
|
||||
setWallpaper: "Nastavení obrázku na pozadí"
|
||||
removeWallpaper: "Odstranit pozadí"
|
||||
searchWith: "Hledat: {q}"
|
||||
youHaveNoLists: "Nemáte žádné seznamy"
|
||||
followConfirm: "Jste si jisti, že chcete sledovat {name}?"
|
||||
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."
|
||||
host: "Hostitel"
|
||||
selectUser: "Vyberte uživatele"
|
||||
recipient: "Pro"
|
||||
annotation: "Komentáře"
|
||||
federation: "Federace"
|
||||
instances: "Instance"
|
||||
registeredAt: "Registrován"
|
||||
latestRequestSentAt: "Poslední požadavek poslán"
|
||||
latestRequestReceivedAt: "Poslední požadavek přijat"
|
||||
latestStatus: "Poslední status"
|
||||
storageUsage: "Využití úložiště"
|
||||
charts: "Grafy"
|
||||
perHour: "za hodinu"
|
||||
perDay: "za den"
|
||||
stopActivityDelivery: "Přestat zasílat aktivitu"
|
||||
blockThisInstance: "Blokovat tuto instanci"
|
||||
operations: "Operace"
|
||||
software: "Software"
|
||||
@@ -184,6 +206,7 @@ instanceFollowers: "Následovníci na instanci"
|
||||
instanceUsers: "Uživatelé této instance"
|
||||
changePassword: "Změnit heslo"
|
||||
security: "Zabezpečení"
|
||||
retypedNotMatch: "Zadané údaje se neshodují."
|
||||
currentPassword: "Současné heslo"
|
||||
newPassword: "Nové heslo"
|
||||
newPasswordRetype: "Nové heslo (znovu)"
|
||||
@@ -208,7 +231,6 @@ uploadFromUrl: "Nahrát z URL adresy"
|
||||
uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
|
||||
uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
|
||||
explore: "Objevovat"
|
||||
games: "Misskey hry"
|
||||
messageRead: "Přečtené"
|
||||
noMoreHistory: "To je vše"
|
||||
startMessaging: "Zahájit chat"
|
||||
@@ -247,6 +269,7 @@ addFile: "Přidat soubor"
|
||||
emptyFolder: "Tato složka je prázdná"
|
||||
unableToDelete: "Nelze smazat"
|
||||
inputNewFileName: "Zadejte nový název"
|
||||
inputNewFolderName: "Zadejte název nové složky"
|
||||
copyUrl: "Kopírovat URL"
|
||||
rename: "Přejmenovat"
|
||||
avatar: "Avatar"
|
||||
@@ -273,6 +296,8 @@ monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Stránky"
|
||||
integration: "Integrace"
|
||||
connectService: "Připojit"
|
||||
disconnectService: "Odpojit"
|
||||
enableLocalTimeline: "Povolit lokální čas"
|
||||
enableGlobalTimeline: "Povolit globální čas"
|
||||
registration: "Registrace"
|
||||
@@ -281,12 +306,20 @@ invite: "Pozvat"
|
||||
inMb: "V megabajtech"
|
||||
iconUrl: "Favicon URL"
|
||||
bannerUrl: "Baner URL"
|
||||
backgroundImageUrl: "Adresa URL obrázku pozadí"
|
||||
basicInfo: "Základní informace"
|
||||
pinnedUsers: "Připnutí uživatelé"
|
||||
pinnedNotes: "Připnutá poznámka"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Aktivovat hCaptchu"
|
||||
hcaptchaSiteKey: "Klíč stránky"
|
||||
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Zapnout ReCAPTCHu"
|
||||
recaptchaSiteKey: "Klíč stránky"
|
||||
recaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
turnstileSiteKey: "Klíč stránky"
|
||||
turnstileSecretKey: "Tajný Klíč (Secret Key)"
|
||||
antennas: "Antény"
|
||||
manageAntennas: "Spravovat Antény"
|
||||
name: "Jméno"
|
||||
@@ -294,6 +327,11 @@ antennaSource: "Zdroj Antény"
|
||||
enableServiceworker: "Povolit ServiceWorker"
|
||||
caseSensitive: "Rozlišuje malá a velká písmena"
|
||||
connectedTo: "Následující účty jsou připojeny"
|
||||
notesAndReplies: "Poznámky a odpovědi"
|
||||
withFiles: "Včetně souborů"
|
||||
popularUsers: "Populární uživatelé"
|
||||
recentlyUpdatedUsers: "Nedávno aktívni uživatelé"
|
||||
popularTags: "Populární tagy"
|
||||
userList: "Seznamy"
|
||||
about: "Informace"
|
||||
aboutMisskey: "O Misskey"
|
||||
@@ -337,7 +375,14 @@ next: "Další"
|
||||
retype: "Zadejte znovu"
|
||||
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"
|
||||
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
|
||||
signinRequired: "Přihlašte se, prosím"
|
||||
invitations: "Pozvat"
|
||||
invitationCode: "Kód pozvánky"
|
||||
checking: "Ověřuji"
|
||||
available: "K dispozici"
|
||||
unavailable: "Není k dispozici"
|
||||
@@ -351,12 +396,12 @@ passwordMatched: "Hesla se schodují"
|
||||
passwordNotMatched: "Hesla se neschodují"
|
||||
signinWith: "Přihlásit se s {x}"
|
||||
signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo."
|
||||
tapSecurityKey: "Ťukněte na bezpečnostní klíč"
|
||||
or: "Nebo"
|
||||
language: "Jazyk"
|
||||
uiLanguage: "Jazyk uživatelského rozhraní"
|
||||
groupInvited: "Pozvat do skupiny"
|
||||
aboutX: "O {x}"
|
||||
useOsNativeEmojis: "Použití nativních emoji operačního systému"
|
||||
youHaveNoGroups: "Nemáte žádné skupiny"
|
||||
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
|
||||
noHistory: "Žádná historie"
|
||||
@@ -364,10 +409,13 @@ signinHistory: "Historie přihlášení"
|
||||
category: "Kategorie"
|
||||
tags: "Štítky"
|
||||
createAccount: "Vytvořit účet"
|
||||
existingAccount: "Existující účet"
|
||||
regenerate: "Obnovit"
|
||||
fontSize: "Velikost písma"
|
||||
openImageInNewTab: "Otevřít obrázek v novém panelu"
|
||||
dashboard: "Přehled"
|
||||
local: "Lokální"
|
||||
remote: "Vzdálené"
|
||||
total: "Celkem"
|
||||
weekOverWeekChanges: "Týdně"
|
||||
dayOverDayChanges: "Denně"
|
||||
@@ -377,6 +425,20 @@ accountSettings: "Nastavení účtu"
|
||||
promotion: "Propagace"
|
||||
promote: "Propagovat"
|
||||
numberOfDays: "Počet dní"
|
||||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStoragePrefix: "Předpona"
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageRegion: "Región"
|
||||
objectStorageUseSSL: "Použít SSL"
|
||||
deleteAll: "Smazat vše"
|
||||
showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
|
||||
listen: "Poslouchat"
|
||||
showInPage: "Zobrazit na stránce"
|
||||
popout: "Pop-out"
|
||||
volume: "Hlasitost"
|
||||
masterVolume: "Celková hlasitost"
|
||||
details: "Detaily"
|
||||
chooseEmoji: "Vybrat emotikon"
|
||||
unableToProcess: "Operace nebyla dokončena."
|
||||
recentUsed: "Naposledy použité"
|
||||
@@ -386,98 +448,356 @@ installedApps: "Autorizované aplikace"
|
||||
nothing: "Nic nebylo nalezeno"
|
||||
lastUsedDate: "Poslední použití"
|
||||
state: "Stav"
|
||||
sort: "Seřadit"
|
||||
ascendingOrder: "Vzestupně"
|
||||
descendingOrder: "Sestupně"
|
||||
scratchpad: "Zápisník"
|
||||
output: "Výstup"
|
||||
script: "Skript"
|
||||
updateRemoteUser: "Aktualizovat informace o vzdáleném účtu"
|
||||
deleteAllFiles: "Smazat všechny soubory"
|
||||
deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
|
||||
userSuspended: "Tomuto uživateli byl pozastaven účet."
|
||||
menu: "Menu"
|
||||
divider: "Dělící čára"
|
||||
addItem: "Přidat položku"
|
||||
rooms: "Místnost"
|
||||
relays: "Relay"
|
||||
addRelay: "Přidat Relay"
|
||||
inboxUrl: "Inbox URL"
|
||||
deletedNote: "Odstraněné příspěvky"
|
||||
invisibleNote: "Skryté příspěvky"
|
||||
description: "Popis"
|
||||
author: "Autor"
|
||||
manage: "Administrace"
|
||||
width: "Šířka"
|
||||
height: "Výška"
|
||||
large: "Velké"
|
||||
medium: "Střední"
|
||||
small: "Malé"
|
||||
generateAccessToken: "Vygenerovat přístupový token"
|
||||
permission: "Oprávnění"
|
||||
enableAll: "Povolit vše"
|
||||
disableAll: "Vypnout vše"
|
||||
notificationType: "Typy oznámení"
|
||||
edit: "Upravit"
|
||||
emailServer: "Mailový server"
|
||||
enableEmail: "Zapnout email dystribuci"
|
||||
email: "Email"
|
||||
emailAddress: "Emailová adresa"
|
||||
smtpConfig: "Konfigurace SMTP serveru"
|
||||
smtpHost: "Hostitel"
|
||||
smtpPort: "Port"
|
||||
smtpUser: "Uživatelské jméno"
|
||||
smtpPass: "Heslo"
|
||||
smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
|
||||
testEmail: "Otestovat doručení emailů"
|
||||
makeActive: "Aktivovat"
|
||||
display: "Zobrazit"
|
||||
copy: "Kopírovat"
|
||||
metrics: "Metriky"
|
||||
overview: "Shrnutí"
|
||||
logs: "Logy"
|
||||
delayed: "Prodleva"
|
||||
database: "Databáze"
|
||||
channel: "Kanály"
|
||||
create: "Vytvořit"
|
||||
notificationSetting: "Nastavení oznámení"
|
||||
useGlobalSetting: "Použít globální nastavení"
|
||||
other: "Ostatní"
|
||||
fileIdOrUrl: "ID nebo URL souboru"
|
||||
behavior: "Chování"
|
||||
sample: "Ukázka"
|
||||
send: "Odeslat"
|
||||
openInNewTab: "Otevřít v nové kartě"
|
||||
random: "Náhodně"
|
||||
system: "Systém"
|
||||
desktop: "Plocha"
|
||||
clip: "Oříznout"
|
||||
createNew: "Vytvořit nový"
|
||||
optional: "Volitelné"
|
||||
yes: "Ano"
|
||||
no: "Ne"
|
||||
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ěť"
|
||||
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"
|
||||
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é"
|
||||
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:
|
||||
_follow:
|
||||
title: "Máte nového následovníka"
|
||||
_plugin:
|
||||
install: "Instalovat plugin"
|
||||
manage: "Správce pluginů"
|
||||
_preferencesBackups:
|
||||
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"
|
||||
_mfm:
|
||||
mention: "Zmínění"
|
||||
hashtag: "Hashtag"
|
||||
link: "Odkaz"
|
||||
bold: "Tučně"
|
||||
quote: "Citovat"
|
||||
emoji: "Vlastní emoji"
|
||||
search: "Vyhledávání"
|
||||
_reversi:
|
||||
total: "Celkem"
|
||||
flip: "Otočit"
|
||||
tada: "Animace (tadá)"
|
||||
blur: "Rozmazání"
|
||||
font: "Font"
|
||||
rainbow: "Duha"
|
||||
_channel:
|
||||
featured: "Trendy"
|
||||
_menuDisplay:
|
||||
top: "Nahoru"
|
||||
hide: "Skrýt"
|
||||
_theme:
|
||||
install: "Nainstalovat vzhled"
|
||||
manage: "Správa vzhledů"
|
||||
code: "Kód vzhledu"
|
||||
description: "Popis"
|
||||
installedThemes: "Nainstalované vzhledy"
|
||||
constant: "Konstanta"
|
||||
defaultValue: "Výchozí hodnota"
|
||||
color: "Barva"
|
||||
key: "Klíč"
|
||||
func: "Funkce "
|
||||
keys:
|
||||
shadow: "Stín"
|
||||
header: "Nadpis"
|
||||
link: "Odkaz"
|
||||
hashtag: "Hashtag"
|
||||
mention: "Zmínění"
|
||||
renote: "Přeposlat"
|
||||
divider: "Dělící čára"
|
||||
_sfx:
|
||||
note: "Poznámky"
|
||||
notification: "Oznámení"
|
||||
chat: "Zprávy"
|
||||
_ago:
|
||||
future: "Budoucí"
|
||||
justNow: "Teď"
|
||||
_time:
|
||||
second: "Sekund"
|
||||
minute: "Minut"
|
||||
hour: "Hodin"
|
||||
_2fa:
|
||||
registerDevice: "Přidat zařízení"
|
||||
registerKey: "Přidat bezpečnostní klíč"
|
||||
_weekday:
|
||||
sunday: "Neděle"
|
||||
monday: "Pondělí"
|
||||
tuesday: "Úterý"
|
||||
wednesday: "Středa"
|
||||
thursday: "Čtvrtek"
|
||||
friday: "Pátek"
|
||||
saturday: "Sobota"
|
||||
_widgets:
|
||||
profile: "Váš profil"
|
||||
instanceInfo: "Informace o instanci"
|
||||
notifications: "Oznámení"
|
||||
timeline: "Časová osa"
|
||||
calendar: "Kalendář"
|
||||
trends: "Trendy"
|
||||
clock: "Hodiny"
|
||||
rss: "RSS čtečka"
|
||||
activity: "Aktivita"
|
||||
photos: "Fotky"
|
||||
digitalClock: "Digitální hodiny"
|
||||
federation: "Federace"
|
||||
slideshow: "Prezentace"
|
||||
button: "Tlačítko"
|
||||
onlineUsers: "Online uživatelé"
|
||||
jobQueue: "Fronta úloh"
|
||||
aiscript: "AiScript conzole"
|
||||
aichan: "Ai"
|
||||
_userList:
|
||||
chooseList: "Vybrat seznam"
|
||||
_cw:
|
||||
hide: "Skrýt"
|
||||
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:
|
||||
home: "Domů"
|
||||
followers: "Sledující"
|
||||
_postForm:
|
||||
_placeholders:
|
||||
f: "Čekám, až něco napíšete..."
|
||||
_profile:
|
||||
name: "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:
|
||||
allNotes: "Všechny poznámky"
|
||||
followingList: "Sledovaní"
|
||||
muteList: "Ztlumit"
|
||||
blockingList: "Zablokovat"
|
||||
userLists: "Seznamy"
|
||||
_charts:
|
||||
federation: "Federace"
|
||||
apRequest: "Požadavek"
|
||||
usersTotal: "Celkem uživatelů"
|
||||
activeUsers: "Aktivní uživatelé"
|
||||
notesTotal: "Celkový počet poznámek"
|
||||
_timelines:
|
||||
home: "Domů"
|
||||
_rooms:
|
||||
_roomType:
|
||||
default: "Výchozí"
|
||||
_furnitures:
|
||||
monitor: "Monitorovat"
|
||||
global: "Globální"
|
||||
_play:
|
||||
script: "Skript"
|
||||
summary: "Popis"
|
||||
_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:
|
||||
text: "Text"
|
||||
textarea: "Textové pole"
|
||||
section: "Sekce"
|
||||
image: "Obrázky"
|
||||
script:
|
||||
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"
|
||||
button: "Tlačítko"
|
||||
_notification:
|
||||
youWereFollowed: "Máte nového následovníka"
|
||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
||||
_types:
|
||||
all: "Vše"
|
||||
follow: "Sledovaní"
|
||||
mention: "Zmínění"
|
||||
reply: "Odpovědi"
|
||||
renote: "Přeposlat"
|
||||
quote: "Citovat"
|
||||
reaction: "Reakce"
|
||||
_actions:
|
||||
reply: "Odpovědět"
|
||||
renote: "Přeposlat"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Oznámení"
|
||||
|
||||
1194
locales/de-DE.yml
1194
locales/de-DE.yml
File diff suppressed because it is too large
Load Diff
409
locales/el-GR.yml
Normal file
409
locales/el-GR.yml
Normal file
@@ -0,0 +1,409 @@
|
||||
---
|
||||
_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}"
|
||||
tos: "Όροι χρήσης"
|
||||
start: "Ας αρχίσουμε"
|
||||
home: "Κεντρικό"
|
||||
activity: "Δραστηριότητα"
|
||||
images: "Εικόνες"
|
||||
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: "Όλες οι ειδοποιήσεις διαβάστηκαν"
|
||||
group: "Ομάδα"
|
||||
groups: "Ομάδες"
|
||||
createGroup: "Δημιουργία ομάδας"
|
||||
ownedGroups: "Οι ομάδες σας"
|
||||
groupName: "Όνομα ομάδας"
|
||||
members: "Μέλη"
|
||||
transfer: "Μεταφορά"
|
||||
messagingWithUser: "Ιδιωτική συνομιλία"
|
||||
messagingWithGroup: "Ομαδική συνομιλία"
|
||||
title: "Τίτλος"
|
||||
text: "Κείμενο"
|
||||
enable: "Ενεργοποίηση"
|
||||
next: "Επόμενο"
|
||||
noteOf: "Σημείωμα από {user}"
|
||||
inviteToGroup: "Πρόσκληση στην ομάδα"
|
||||
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: "Έχετε ένα νέο ακόλουθο"
|
||||
_mfm:
|
||||
mention: "Επισήμανση"
|
||||
quote: "Παράθεση"
|
||||
emoji: "Επιπλέον emoji"
|
||||
search: "Αναζήτηση"
|
||||
_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: "Σημειώματα από καθορισμένη λίστα μελών"
|
||||
userGroup: "Σημειώματα από μέλη καθορισμένης ομάδας"
|
||||
_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:
|
||||
youGotMessagingMessageFromUser: "{name} σάς έστειλε ένα μήνυμα συνομιλίας"
|
||||
youWereFollowed: "σε ακολούθησε"
|
||||
_types:
|
||||
follow: "Νέοι ακόλουθοι"
|
||||
mention: "Επισήμανση"
|
||||
renote: "Κοινοποίηση σημειώματος"
|
||||
quote: "Παράθεση"
|
||||
reaction: "Αντιδράσεις"
|
||||
_actions:
|
||||
reply: "Απάντηση"
|
||||
renote: "Κοινοποίηση σημειώματος"
|
||||
_deck:
|
||||
widgetsIntroduction: "Παρακαλούμε επιλέξτε \"Επεξεργασία μαραφετίων\" στο μενού και προσθέστε μαραφέτι."
|
||||
_columns:
|
||||
widgets: "Μαραφέτια"
|
||||
notifications: "Ειδοποιήσεις"
|
||||
tl: "Χρονολόγιο"
|
||||
antenna: "Αντένες"
|
||||
list: "Λίστα"
|
||||
mentions: "Επισημάνσεις"
|
||||
1075
locales/en-US.yml
1075
locales/en-US.yml
File diff suppressed because it is too large
Load Diff
1012
locales/eo-UY.yml
1012
locales/eo-UY.yml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@
|
||||
_lang_: "Français"
|
||||
headlineMisskey: "Réseau relié par des notes"
|
||||
introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à l’instant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également d’ajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀"
|
||||
poweredByMisskeyDescription: "{nom} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Rechercher"
|
||||
notifications: "Notifications"
|
||||
@@ -12,6 +13,7 @@ fetchingAsApObject: "Récupération depuis le fédiverse …"
|
||||
ok: "OK"
|
||||
gotIt: "J’ai compris !"
|
||||
cancel: "Annuler"
|
||||
noThankYou: "Pas maintenant"
|
||||
enterUsername: "Entrer un nom d’utilisateur·rice"
|
||||
renotedBy: "Renoté par {user}"
|
||||
noNotes: "Aucune note"
|
||||
@@ -19,7 +21,7 @@ noNotifications: "Aucune notification"
|
||||
instance: "Instance"
|
||||
settings: "Paramètres"
|
||||
basicSettings: "Paramètres généraux"
|
||||
otherSettings: "Autres paramètres"
|
||||
otherSettings: "Paramètres avancés"
|
||||
openInWindow: "Ouvrir dans une nouvelle fenêtre"
|
||||
profile: "Profil"
|
||||
timeline: "Fil"
|
||||
@@ -47,11 +49,13 @@ deleteAndEdit: "Supprimer et réécrire"
|
||||
deleteAndEditConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note et la reformuler ? Vous perdrez toutes les réactions, renotes et réponses y afférentes."
|
||||
addToList: "Ajouter à une liste"
|
||||
sendMessage: "Envoyer un message"
|
||||
copyRSS: "Copier le RSS"
|
||||
copyUsername: "Copier le nom d’utilisateur·rice"
|
||||
searchUser: "Chercher un·e utilisateur·rice"
|
||||
reply: "Répondre"
|
||||
loadMore: "Afficher plus …"
|
||||
showMore: "Afficher plus …"
|
||||
showLess: "Fermer"
|
||||
youGotNewFollower: "Vous suit"
|
||||
receiveFollowRequest: "Demande d’abonnement reçue"
|
||||
followRequestAccepted: "La demande d’abonnement a été acceptée"
|
||||
@@ -106,7 +110,8 @@ clickToShow: "Cliquer pour afficher"
|
||||
sensitive: "Contenu sensible"
|
||||
add: "Ajouter"
|
||||
reaction: "Réactions"
|
||||
reactionSettingDescription: "Choisissez vos réactions préférées que vous souhaitez épingler dans le sélecteur de réactions."
|
||||
reactions: "Réactions"
|
||||
reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
|
||||
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
|
||||
rememberNoteVisibility: "Activer l'option \" se souvenir de la visibilité des notes \" vous permet de réutiliser automatiquement la visibilité utilisée lors de la publication de votre note précédente."
|
||||
attachCancel: "Supprimer le fichier attaché"
|
||||
@@ -141,6 +146,8 @@ flagAsBot: "Ce compte est un robot"
|
||||
flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
|
||||
flagAsCat: "Ce compte est un chat"
|
||||
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
|
||||
flagShowTimelineReplies: "Afficher les réponses dans le fil"
|
||||
flagShowTimelineRepliesDescription: "Affiche les réponses des utilisateurs aux notes des autres utilisateurs dans la timeline si cette option est activée."
|
||||
autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez"
|
||||
addAccount: "Ajouter un compte"
|
||||
loginFailed: "Échec de la connexion"
|
||||
@@ -161,7 +168,6 @@ annotation: "Commentaires"
|
||||
federation: "Fédération"
|
||||
instances: "Instance"
|
||||
registeredAt: "Premier contact le"
|
||||
latestRequestSentAt: "Dernière requête envoyée"
|
||||
latestRequestReceivedAt: "Dernière requête reçue"
|
||||
latestStatus: "Dernier statut"
|
||||
storageUsage: "Stockage utilisé"
|
||||
@@ -201,6 +207,7 @@ done: "Terminé"
|
||||
processing: "Traitement en cours"
|
||||
preview: "Aperçu"
|
||||
default: "Par défaut"
|
||||
defaultValueIs: "Par défaut : {value}"
|
||||
noCustomEmojis: "Il n'y a pas d’émoji"
|
||||
noJobs: "Il n’y a aucune tâche planifiée"
|
||||
federating: "En cours de fédération"
|
||||
@@ -235,6 +242,8 @@ resetAreYouSure: "Voulez-vous réinitialiser ?"
|
||||
saved: "Enregistré"
|
||||
messaging: "Discuter"
|
||||
upload: "Téléverser"
|
||||
keepOriginalUploading: "Garder l’image d’origine"
|
||||
keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement."
|
||||
fromDrive: "Depuis le Drive"
|
||||
fromUrl: "Depuis une URL"
|
||||
uploadFromUrl: "Téléverser via une URL"
|
||||
@@ -242,7 +251,6 @@ uploadFromUrlDescription: "URL du fichier que vous souhaitez téléverser"
|
||||
uploadFromUrlRequested: "Téléversement demandé"
|
||||
uploadFromUrlMayTakeTime: "Le téléversement de votre fichier peut prendre un certain temps."
|
||||
explore: "Découvrir"
|
||||
games: "Jeux de Misskey"
|
||||
messageRead: "Lu"
|
||||
noMoreHistory: "Il n’y a plus d’historique"
|
||||
startMessaging: "Commencer à discuter"
|
||||
@@ -322,8 +330,6 @@ disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur
|
||||
registration: "S’inscrire"
|
||||
enableRegistration: "Autoriser les nouvelles inscriptions"
|
||||
invite: "Inviter"
|
||||
proxyRemoteFiles: "Utiliser les fichiers distants comme proxy"
|
||||
proxyRemoteFilesDescription: "Si vous activez ce paramètre, les fichiers distants non stockés ou supprimés en raison d'une capacité excédentaire seront affichés via un proxy local et généreront une miniature. Cela n'affectera pas le stockage du serveur."
|
||||
driveCapacityPerLocalAccount: "Volume du Drive par utilisateur local"
|
||||
driveCapacityPerRemoteAccount: "Volume du Drive par utilisateur distant"
|
||||
inMb: "en mégaoctets"
|
||||
@@ -345,6 +351,10 @@ recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Activer reCAPTCHA"
|
||||
recaptchaSiteKey: "Clé du site"
|
||||
recaptchaSecretKey: "Clé secrète"
|
||||
turnstile: "Tourniquet"
|
||||
enableTurnstile: "Activer le tourniquet"
|
||||
turnstileSiteKey: "Clé du site"
|
||||
turnstileSecretKey: "Clé secrète"
|
||||
avoidMultiCaptchaConfirm: "L’utilisation de plusieurs Captchas peut provoquer des interférences. Souhaitez-vous désactiver l’autre Captcha ? Vous pouvez laisser plusieurs Captcha activés en appuyant sur Annuler."
|
||||
antennas: "Antennes"
|
||||
manageAntennas: "Gestion des antennes"
|
||||
@@ -380,6 +390,7 @@ administrator: "Administrateur"
|
||||
token: "Jeton"
|
||||
twoStepAuthentication: "Authentification à deux facteurs"
|
||||
moderator: "Modérateur·rice·s"
|
||||
moderation: "Modérations"
|
||||
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
|
||||
securityKey: "Clé de sécurité"
|
||||
securityKeyName: "Nom de la clé"
|
||||
@@ -419,7 +430,6 @@ next: "Suivant"
|
||||
retype: "Confirmation"
|
||||
noteOf: "Notes de {user}"
|
||||
inviteToGroup: "Inviter dans un groupe"
|
||||
maxNoteTextLength: "Limite du nombre de caractères pour les notes"
|
||||
quoteAttached: "Avec citation"
|
||||
quoteQuestion: "Souhaitez-vous ajouter une citation ?"
|
||||
noMessagesYet: "Pas encore de discussion"
|
||||
@@ -447,7 +457,9 @@ language: "Langue"
|
||||
uiLanguage: "Langue d’affichage de l’interface"
|
||||
groupInvited: "Invité au groupe"
|
||||
aboutX: "À propos de {x}"
|
||||
useOsNativeEmojis: "Utiliser les émojis natifs du système"
|
||||
emojiStyle: "Style des émojis"
|
||||
native: "Natif"
|
||||
disableDrawer: "Les menus ne s'affichent pas dans le tiroir"
|
||||
youHaveNoGroups: "Vous n’avez aucun groupe"
|
||||
joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes existants ou créer votre propre nouveau groupe."
|
||||
noHistory: "Pas d'historique"
|
||||
@@ -499,6 +511,7 @@ deleteAll: "Supprimer tout"
|
||||
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
|
||||
newNoteRecived: "Voir les nouvelles notes"
|
||||
sounds: "Sons"
|
||||
sound: "Sons"
|
||||
listen: "Écouter"
|
||||
none: "Rien"
|
||||
showInPage: "Afficher dans la page"
|
||||
@@ -536,7 +549,6 @@ yourAccountSuspendedDescription: "Ce compte est suspendu car vous avez enfreint
|
||||
menu: "Menu"
|
||||
divider: "Séparateur"
|
||||
addItem: "Ajouter un élément"
|
||||
rooms: "Chambre"
|
||||
relays: "Relais"
|
||||
addRelay: "Ajouter un relais"
|
||||
inboxUrl: "Inbox URL"
|
||||
@@ -559,6 +571,7 @@ author: "Auteur·rice"
|
||||
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
|
||||
manage: "Gestion"
|
||||
plugins: "Extensions"
|
||||
preferencesBackups: "Sauvegarder les paramètres"
|
||||
deck: "Deck"
|
||||
undeck: "Quitter le deck"
|
||||
useBlurEffectForModal: "Utiliser un effet de flou pour les modals"
|
||||
@@ -592,6 +605,9 @@ smtpSecure: "Utiliser SSL/TLS implicitement dans les connexions SMTP"
|
||||
smtpSecureInfo: "Désactiver cette option lorsque STARTTLS est utilisé"
|
||||
testEmail: "Tester la distribution de courriel"
|
||||
wordMute: "Filtre de mots"
|
||||
regexpError: "Erreur d’expression régulière"
|
||||
regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {ligne} de votre mot muet {tab} :"
|
||||
instanceMute: "Instance en sourdine"
|
||||
userSaysSomething: "{name} a dit quelque chose"
|
||||
makeActive: "Activer"
|
||||
display: "Affichage"
|
||||
@@ -612,7 +628,6 @@ regenerateLoginToken: "Régénérer le jeton de connexion"
|
||||
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
|
||||
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
|
||||
fileIdOrUrl: "ID du fichier ou URL"
|
||||
chatOpenBehavior: "Comportement de la fenêtre de discussion lors de son ouverture"
|
||||
behavior: "Comportement"
|
||||
sample: "Exemple"
|
||||
abuseReports: "Signalements"
|
||||
@@ -620,6 +635,11 @@ reportAbuse: "Signaler"
|
||||
reportAbuseOf: "Signaler {name}"
|
||||
fillAbuseReportDescription: "Veuillez expliquer les raisons du signalement. S'il s'agit d'une note précise, veuillez en donner le lien."
|
||||
abuseReported: "Le rapport est envoyé. Merci."
|
||||
reporter: "Signalé par"
|
||||
reporteeOrigin: "Origine du signalement"
|
||||
reporterOrigin: "Signalé par"
|
||||
forwardReport: "Transférer le signalement à l’instance distante"
|
||||
forwardReportIsAnonymous: "L'instance distante ne sera pas en mesure de voir vos informations et apparaîtra comme un compte anonyme du système."
|
||||
send: "Envoyer"
|
||||
abuseMarkAsResolved: "Marquer le signalement comme résolu"
|
||||
openInNewTab: "Ouvrir dans un nouvel onglet"
|
||||
@@ -667,7 +687,6 @@ emailVerified: "Votre adresse e-mail a été vérifiée."
|
||||
noteFavoritesCount: "Nombre de notes dans les favoris"
|
||||
pageLikesCount: "Nombre de pages aimées"
|
||||
pageLikedCount: "Nombre de vos pages aimées"
|
||||
reversiCount: "Nombre de parties de Reversi"
|
||||
contact: "Contact"
|
||||
useSystemFont: "Utiliser la police par défaut du système"
|
||||
clips: "Clips"
|
||||
@@ -682,6 +701,7 @@ center: "Centrer"
|
||||
wide: "Large"
|
||||
narrow: "Condensé"
|
||||
reloadToApplySetting: "Vos paramètres seront appliqués lorsque vous rechargerez la page. Souhaitez-vous recharger ?"
|
||||
needReloadToApply: "Ce paramètre s'appliquera après un rechargement."
|
||||
showTitlebar: "Afficher la barre de titre"
|
||||
clearCache: "Vider le cache"
|
||||
onlineUsersCount: "{n} utilisateur(s) en ligne"
|
||||
@@ -695,6 +715,7 @@ accentColor: "Accentuation"
|
||||
textColor: "Texte"
|
||||
saveAs: "Enregistrer sous ..."
|
||||
advanced: "Avancé"
|
||||
advancedSettings: "Paramètres avancés"
|
||||
value: "Valeur"
|
||||
createdAt: "Date de création"
|
||||
updatedAt: "Mis à jour le"
|
||||
@@ -742,6 +763,7 @@ notRecommended: "Déconseillé"
|
||||
botProtection: "Protection contre les bots"
|
||||
instanceBlocking: "Instances bloquées"
|
||||
selectAccount: "Sélectionner un compte"
|
||||
switchAccount: "Changer de compte"
|
||||
enabled: "Activé"
|
||||
disabled: "Désactivé"
|
||||
quickAction: "Actions rapides"
|
||||
@@ -790,6 +812,7 @@ pubSub: "Comptes Pub/Sub"
|
||||
lastCommunication: "Dernière communication"
|
||||
resolved: "Résolu"
|
||||
unresolved: "En attente"
|
||||
breakFollow: "Ne plus suivre"
|
||||
itsOn: "Activé"
|
||||
itsOff: "Désactivé"
|
||||
emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte"
|
||||
@@ -797,9 +820,121 @@ unread: "Non lu"
|
||||
filter: "Filtre"
|
||||
controlPanel: "Panneau de contrôle"
|
||||
manageAccounts: "Gérer les comptes"
|
||||
makeReactionsPublic: "Rendre les réactions publiques"
|
||||
makeReactionsPublicDescription: "Ceci rendra la liste de toutes vos réactions données publique."
|
||||
classic: "Classique"
|
||||
muteThread: "Masquer cette discussion"
|
||||
unmuteThread: "Ne plus masquer le fil"
|
||||
ffVisibility: "Visibilité des abonnés/abonnements"
|
||||
ffVisibilityDescription: "Permet de configurer qui peut voir les personnes que tu suis et les personnes qui te suivent."
|
||||
continueThread: "Afficher la suite du fil"
|
||||
deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
|
||||
incorrectPassword: "Le mot de passe est incorrect."
|
||||
voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
|
||||
hide: "Masquer"
|
||||
leaveGroup: "Quitter le groupe"
|
||||
leaveGroupConfirm: "Êtes vous sûr de vouloir quitter \"{name}\" ?"
|
||||
useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile"
|
||||
welcomeBackWithName: "Heureux de vous revoir, {name}"
|
||||
clickToFinishEmailVerification: "Veuillez cliquer sur [{ok}] afin de compléter la vérification par courriel."
|
||||
overridedDeviceKind: "Type d’appareil"
|
||||
smartphone: "Smartphone"
|
||||
tablet: "Tablette"
|
||||
auto: "Automatique"
|
||||
themeColor: "Couleur du thème"
|
||||
size: "Taille"
|
||||
numberOfColumn: "Nombre de colonnes"
|
||||
searchByGoogle: "Google"
|
||||
instanceDefaultLightTheme: "Thème clair par défaut sur toute l’instance"
|
||||
instanceDefaultDarkTheme: "Thème sombre par défaut sur toute l’instance"
|
||||
instanceDefaultThemeDescription: "Saisissez le code du thème en format objet."
|
||||
mutePeriod: "Durée de mise en sourdine"
|
||||
indefinitely: "Illimité"
|
||||
tenMinutes: "10 minutes"
|
||||
oneHour: "1 heure"
|
||||
oneDay: "1 jour"
|
||||
oneWeek: "1 semaine"
|
||||
reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine."
|
||||
failedToFetchAccountInformation: "Impossible de récupérer les informations du compte."
|
||||
rateLimitExceeded: "Limite de taux dépassée"
|
||||
cropImage: "Recadrer l'image"
|
||||
cropImageAsk: "Voulez-vous recadrer cette image ?"
|
||||
file: "Fichiers"
|
||||
recentNHours: "Dernières {n} heures"
|
||||
noEmailServerWarning: "Serveur de courrier non configuré."
|
||||
thereIsUnresolvedAbuseReportWarning: "Il n’y a aucun rapport non résolu."
|
||||
recommended: "Recommandé"
|
||||
check: "Vérifier"
|
||||
driveCapOverrideLabel: "Modifier la capacité de stockage du drive de cet·te utilisateur·rice"
|
||||
driveCapOverrideCaption: "Si une valeur inférieure à 0 est spécifiée, elle est annulée."
|
||||
requireAdminForView: "Vous devez être connecté avec un compte administrateur pour les visualiser."
|
||||
isSystemAccount: "Ces comptes sont automatiquement créés et gérés par le système."
|
||||
typeToConfirm: "Pour effectuer cette opération, tapez {x}"
|
||||
deleteAccount: "Supprimer le compte"
|
||||
document: "Documentation"
|
||||
numberOfPageCache: "Nombre de pages en cache"
|
||||
numberOfPageCacheDescription: "Plus de confort, mais aussi plus de poids et d'utilisation de la mémoire."
|
||||
logoutConfirm: "Se déconnecter ?"
|
||||
lastActiveDate: "Dernière utilisation"
|
||||
statusbar: "Barre d’état"
|
||||
pleaseSelect: "Choisir une option"
|
||||
reverse: "Inverser"
|
||||
colored: "Coloré"
|
||||
refreshInterval: "Intervalle de mise à jour"
|
||||
label: "Étiquette"
|
||||
type: "Type"
|
||||
speed: "Vitesse"
|
||||
slow: "Lente"
|
||||
fast: "Rapide"
|
||||
sensitiveMediaDetection: "Détection des médias sensibles"
|
||||
localOnly: "Local seulement"
|
||||
remoteOnly: "Distant uniquement"
|
||||
failedToUpload: "Échec du transfert"
|
||||
cannotUploadBecauseInappropriate: "Impossible de télécharger le document car il a été déterminé qu'il pouvait contenir un contenu inapproprié."
|
||||
cannotUploadBecauseNoFreeSpace: "Impossible de télécharger en raison d'un manque d'espace libre sur le disque.\n"
|
||||
beta: "Bêta"
|
||||
enableAutoSensitive: "Détermination automatique de NSFW"
|
||||
enableAutoSensitiveDescription: "S'il est disponible, le drapeau NSFW est automatiquement défini sur le média en utilisant l'apprentissage automatique. Même si cette fonction est désactivée, elle peut être réglée automatiquement dans certains cas."
|
||||
activeEmailValidationDescription: "Valide l'adresse électronique d'un utilisateur de manière plus agressive en déterminant s'il s'agit d'une adresse électronique jetable et si l'on peut effectivement communiquer avec elle. Si cette option n'est pas cochée, l'adresse électronique n'est vérifiée que sous forme de chaîne de caractères."
|
||||
navbar: "Barre de navigation"
|
||||
shuffle: "Lecture aléatoire"
|
||||
account: "Comptes"
|
||||
move: "Déplacer"
|
||||
pushNotification: "Notifications push"
|
||||
subscribePushNotification: "Autoriser les notifications push"
|
||||
unsubscribePushNotification: "Désactiver les notifications push"
|
||||
pushNotificationAlreadySubscribed: "Les notifications push sont déjà activées"
|
||||
pushNotificationNotSupported: "Votre navigateur ou votre instance ne prend pas en charge les notifications push"
|
||||
sendPushNotificationReadMessage: "Supprimer les notifications push une fois que les notifications ou messages pertinents ont été lus."
|
||||
windowRestore: "Restaurer"
|
||||
caption: "Libellé"
|
||||
loggedInAsBot: "Connecté actuellement en tant que bot"
|
||||
tools: "Outils"
|
||||
cannotLoad: "Chargement impossible"
|
||||
like: "J'aime"
|
||||
numberOfLikes: "Favoris"
|
||||
show: "Affichage"
|
||||
neverShow: "Ne plus afficher"
|
||||
remindMeLater: "Peut-être plus tard"
|
||||
color: "Couleur"
|
||||
_role:
|
||||
priority: "Priorité"
|
||||
_priority:
|
||||
low: "Basse"
|
||||
middle: "Moyen"
|
||||
high: "Haute"
|
||||
_sensitiveMediaDetection:
|
||||
description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement."
|
||||
sensitivity: "Sensibilité de la détection"
|
||||
sensitivityDescription: "Une sensibilité plus faible réduit les faux positifs. Une sensibilité plus élevée réduit les omissions (faux négatifs)."
|
||||
setSensitiveFlagAutomatically: "Définir le drapeau NSFW."
|
||||
setSensitiveFlagAutomaticallyDescription: "Même si ce paramètre est désactivé, le résultat de la décision est conservé en interne."
|
||||
analyzeVideos: "Activer l’analyse de vidéos"
|
||||
analyzeVideosDescription: "Veillez à ce que les vidéos soient analysées en plus des images fixes. La sollicitation des serveurs augmentera légèrement."
|
||||
_emailUnavailable:
|
||||
used: "Non disponible"
|
||||
format: "Le format de cette adresse de courriel est invalide"
|
||||
disposable: "Les adresses e-mail jetables ne peuvent pas être utilisées"
|
||||
mx: "Ce serveur de courriels est invalide"
|
||||
smtp: "Ce serveur de courriels ne répond pas"
|
||||
_ffVisibility:
|
||||
@@ -820,6 +955,7 @@ _accountDelete:
|
||||
_ad:
|
||||
back: "Retour"
|
||||
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
|
||||
hide: "Cacher "
|
||||
_forgotPassword:
|
||||
enterEmail: "Entrez ici l'adresse e-mail que vous avez enregistrée pour votre compte. Un lien vous permettant de réinitialiser votre mot de passe sera envoyé à cette adresse."
|
||||
ifNoEmail: "Si vous n'avez pas enregistré d'adresse e-mail, merci de contacter l'administrateur·rice de votre instance."
|
||||
@@ -838,6 +974,24 @@ _plugin:
|
||||
install: "Installation de plugin"
|
||||
installWarn: "N’installez que des extensions provenant de sources de confiance."
|
||||
manage: "Gestion des plugins"
|
||||
_preferencesBackups:
|
||||
list: "Sauvegardes créées"
|
||||
saveNew: "Nouvelle sauvegarde"
|
||||
loadFile: "Importer à partir d’un fichier"
|
||||
apply: "Appliquer à cet appareil"
|
||||
save: "Sauvegarder les changements"
|
||||
inputName: "Entrez le nom de la sauvegarde"
|
||||
cannotSave: "Impossible de sauvegarder"
|
||||
nameAlreadyExists: "Le nom de sauvegarde \"{name}\" existe déjà. Veuillez spécifier un autre nom."
|
||||
applyConfirm: "Voulez-vous appliquer la sauvegarde '{name}' au dispositif actuel ? La configuration actuelle de l'appareil sera perdue."
|
||||
saveConfirm: "Voulez-vous écraser {name} ?"
|
||||
deleteConfirm: "Voulez-vous supprimer {name} ?"
|
||||
renameConfirm: "Voulez-vous remplacer \"{old}\" par \"{new}\" ?"
|
||||
noBackups: "Aucune sauvegarde n'est disponible. L'option \"Nouvelle sauvegarde\" vous permet de sauvegarder la configuration actuelle du client sur le serveur."
|
||||
createdAt: "Créé : {date} {time}"
|
||||
updatedAt: "Mis à jour : {date} {time}"
|
||||
cannotLoad: "Échec du chargement"
|
||||
invalidFile: "Format de fichier non valide"
|
||||
_registry:
|
||||
scope: "Portée"
|
||||
key: "Clé "
|
||||
@@ -920,39 +1074,9 @@ _mfm:
|
||||
sparkle: "Paillettes"
|
||||
sparkleDescription: "Ajoute un effet scintillant au contenu."
|
||||
rotate: "Pivoter"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Réglages de la partie"
|
||||
chooseBoard: "Choix du plateau"
|
||||
blackOrWhite: "Pions blancs/Pions noirs"
|
||||
blackIs: "{name} joue les pions noirs"
|
||||
rules: "Règles"
|
||||
botSettings: "Options du bot"
|
||||
thisGameIsStartedSoon: "La partie commencera dans quelques secondes"
|
||||
waitingForOther: "En attente que l'adversaire soit prêt"
|
||||
waitingForMe: "En attente que vous soyez prêt"
|
||||
waitingBoth: "Préparez-vous"
|
||||
ready: "Prêt"
|
||||
cancelReady: "Recommencer la préparation"
|
||||
opponentTurn: "Tour de l’adversaire"
|
||||
myTurn: "C’est votre tour"
|
||||
turnOf: "Tour de {name}"
|
||||
pastTurnOf: "Tour de {name}"
|
||||
surrender: "Abandonner"
|
||||
surrendered: "Par abandon"
|
||||
drawn: "Match nul"
|
||||
won: "{name} a gagné"
|
||||
black: "Noirs"
|
||||
white: "Blancs"
|
||||
total: "Total"
|
||||
turnCount: "Tour {count}"
|
||||
myGames: "Mes parties"
|
||||
allGames: "Toutes les parties"
|
||||
ended: "Fin de partie"
|
||||
playing: "En cours"
|
||||
isLlotheo: "Celui ou celle qui a le moins de pièces gagne (Llotheo)"
|
||||
loopedMap: "Carte en boucle"
|
||||
canPutEverywhere: "Les pions peuvent être placés partout "
|
||||
rotateDescription: "Faire pivoter à un angle spécifié."
|
||||
plain: "Vu texte non formaté"
|
||||
plainDescription: "Désactive toute la syntaxe interne."
|
||||
_instanceTicker:
|
||||
none: "Cacher "
|
||||
remote: "Montrer pour les utilisateur·ice·s distant·e·s"
|
||||
@@ -985,6 +1109,11 @@ _wordMute:
|
||||
soft: "Doux"
|
||||
hard: "Strict"
|
||||
mutedNotes: "Notes filtrées"
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "Met en sourdine toutes les notes et renotes de l'instance configurée, y compris les réponses aux utilisateurs de l'instance muette."
|
||||
instanceMuteDescription2: "Séparer avec de nouvelles lignes"
|
||||
title: "Masque les notes venant des instances listées."
|
||||
heading: "Instances à mettre en sourdine"
|
||||
_theme:
|
||||
explore: "Explorer les thèmes"
|
||||
install: "Installer un thème"
|
||||
@@ -1067,10 +1196,7 @@ _sfx:
|
||||
chatBg: "Discussion (arrière-plan)"
|
||||
antenna: "Réception de l’antenne"
|
||||
channel: "Notifications de canal"
|
||||
reversiPutBlack: "Reversi : les pions noirs ont joué"
|
||||
reversiPutWhite: "Reversi : les pions blancs ont joué"
|
||||
_ago:
|
||||
unknown: "Inconnu"
|
||||
future: "Futur"
|
||||
justNow: "à l’instant"
|
||||
secondsAgo: "Il y a {n}s"
|
||||
@@ -1108,12 +1234,15 @@ _tutorial:
|
||||
step7_1: "Félicitations ! Vous avez atteint la fin du tutoriel de base pour l’utilisation de Misskey."
|
||||
step7_2: "Si vous désirez en savoir plus sur Misskey, jetez un œil sur la section {help}."
|
||||
step7_3: "Bon courage et amusez-vous bien sur Misskey ! 🚀"
|
||||
step8_1: "Enfin, souhaitez-vous activer les notifications push ?"
|
||||
step8_2: "En les activant, vous recevrez des notifications pour les mentions, les réactions, les suivis, etc., même lorsque Misskey n'est pas ouvert."
|
||||
_2fa:
|
||||
alreadyRegistered: "Configuration déjà achevée."
|
||||
registerDevice: "Ajouter un nouvel appareil"
|
||||
registerKey: "Enregistrer une clef"
|
||||
step1: "Tout d'abord, installez une application d'authentification, telle que {a} ou {b}, sur votre appareil."
|
||||
step2: "Ensuite, scannez le code QR affiché sur l’écran."
|
||||
step2Url: "Vous pouvez également saisir cette URL si vous utilisez un programme de bureau :"
|
||||
step3: "Entrez le jeton affiché sur votre application pour compléter la configuration."
|
||||
step4: "À partir de maintenant, ce même jeton vous sera demandé à chacune de vos connexions."
|
||||
securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion grâce à une clé de sécurité matérielle qui prend en charge FIDO2, ou bien en configurant l'authentification par empreinte digitale ou par code PIN sur votre appareil."
|
||||
@@ -1172,6 +1301,8 @@ _weekday:
|
||||
friday: "Vendredi"
|
||||
saturday: "Samedi"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Informations sur l’instance"
|
||||
memo: "Note collante"
|
||||
notifications: "Notifications"
|
||||
timeline: "Fil"
|
||||
@@ -1179,9 +1310,11 @@ _widgets:
|
||||
trends: "Tendances"
|
||||
clock: "Horloge"
|
||||
rss: "Lecteur de flux RSS"
|
||||
rssTicker: "Filtre RSS"
|
||||
activity: "Activité"
|
||||
photos: "Photos"
|
||||
digitalClock: "Horloge numérique"
|
||||
unixClock: "Horloge UNIX"
|
||||
federation: "Fédération"
|
||||
postForm: "Formulaire de publication"
|
||||
slideshow: "Diaporama"
|
||||
@@ -1191,6 +1324,9 @@ _widgets:
|
||||
serverMetric: "Statistiques du serveur"
|
||||
aiscript: "Console AiScript"
|
||||
aichan: "Ai"
|
||||
userList: "Liste utilisateur"
|
||||
_userList:
|
||||
chooseList: "Sélectionner une liste"
|
||||
_cw:
|
||||
hide: "Masquer"
|
||||
show: "Afficher plus …"
|
||||
@@ -1211,7 +1347,7 @@ _poll:
|
||||
votesCount: "{n} votes"
|
||||
totalVotes: "{n} votes au total"
|
||||
vote: "Voter"
|
||||
showResult: "Voir les résultats"
|
||||
showResult: "Voir résultats"
|
||||
voted: "Déjà voté"
|
||||
closed: "Terminé"
|
||||
remainingDays: "{d} jours, {h} heures restantes"
|
||||
@@ -1258,9 +1394,11 @@ _exportOrImport:
|
||||
muteList: "Comptes masqués"
|
||||
blockingList: "Comptes bloqués"
|
||||
userLists: "Listes"
|
||||
excludeMutingUsers: "Exclure les utilisateur·rice·s mis en sourdine"
|
||||
excludeInactiveUsers: "Exclure les utilisateur·rice·s inactifs"
|
||||
_charts:
|
||||
federationInstancesIncDec: "Variation du nombre d'instances fédérées"
|
||||
federationInstancesTotal: "Nombre total d'instances fédérées"
|
||||
federation: "Fédération"
|
||||
apRequest: "Requêtes"
|
||||
usersIncDec: "Variation du nombre d'utilisateur·rice·s"
|
||||
usersTotal: "Nombre des utilisateur·rice·s au total"
|
||||
activeUsers: "Nombre d'utilisateurices actif·ve·s"
|
||||
@@ -1289,68 +1427,12 @@ _timelines:
|
||||
local: "Local"
|
||||
social: "Social"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "Chambre de {user}"
|
||||
addFurniture: "Placer des meubles"
|
||||
translate: "Déplacer"
|
||||
rotate: "Pivoter"
|
||||
exit: "Retour"
|
||||
remove: "Enlever"
|
||||
clear: "Tout enlever"
|
||||
clearConfirm: "Souhaitez-vous enlever tous les meubles de votre chambre ?"
|
||||
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous vraiment quitter ?"
|
||||
chooseImage: "Sélectionnez une image"
|
||||
roomType: "Type de chambre"
|
||||
carpetColor: "Couleur du tapis"
|
||||
_roomType:
|
||||
default: "Par défaut"
|
||||
washitsu: "Style japonnais"
|
||||
_furnitures:
|
||||
milk: "Brique de lait"
|
||||
bed: "Lit"
|
||||
low-table: "Table basse"
|
||||
desk: "Bureau"
|
||||
chair: "Chaise"
|
||||
chair2: "Chaise 2"
|
||||
fan: "Ventilateur"
|
||||
pc: "Ordinateur"
|
||||
plant: "Plante d’intérieur"
|
||||
plant2: "Plante d’intérieur 2"
|
||||
eraser: "Gomme"
|
||||
pencil: "Crayon"
|
||||
pudding: "Pudding"
|
||||
cardboard-box: "Boîte en carton"
|
||||
cardboard-box2: "Boîte en carton 2"
|
||||
cardboard-box3: "Boîte en carton 3"
|
||||
book: "Livre"
|
||||
book2: "Livre 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Boîte de mouchoirs"
|
||||
server: "Serveurs"
|
||||
moon: "Lune"
|
||||
corkboard: "Tableau en liège"
|
||||
mousepad: "Tapis de souris"
|
||||
monitor: "Écran de contrôle"
|
||||
keyboard: "Clavier"
|
||||
carpet-stripe: "Tapis (zébré)"
|
||||
mat: "Tapis"
|
||||
color-box: "Étagère"
|
||||
wall-clock: "Horloge murale"
|
||||
photoframe: "Cadre photo"
|
||||
cube: "Cube"
|
||||
tv: "Télé"
|
||||
pinguin: "Pingouin"
|
||||
rubik-cube: "Cube de Rubik"
|
||||
poster-h: "Affiche (horizontale)"
|
||||
poster-v: "Affiche (verticale)"
|
||||
sofa: "Canapé"
|
||||
spiral: "Escaliers en spirale"
|
||||
bin: "Corbeille"
|
||||
cup-noodle: "Bol de nouilles"
|
||||
holo-display: "Affichage holographique"
|
||||
energy-drink: "Boisson énergétique"
|
||||
doll-ai: "Poupée Ai"
|
||||
banknote: "Billets de banque"
|
||||
_play:
|
||||
viewSource: "Afficher la source"
|
||||
featured: "Populaire"
|
||||
title: "Titre"
|
||||
script: "Script"
|
||||
summary: "Description"
|
||||
_pages:
|
||||
newPage: "Créer une page"
|
||||
editPage: "Modifier une page"
|
||||
@@ -1386,8 +1468,6 @@ _pages:
|
||||
eyeCatchingImageRemove: "Supprimer l'image attractive"
|
||||
chooseBlock: "Ajouter un bloc"
|
||||
selectType: "Choisir un type"
|
||||
enterVariableName: "Veuillez entrer un nom pour votre variable"
|
||||
variableNameIsAlreadyUsed: "Ce nom de variable est déjà utilisé"
|
||||
contentBlocks: "Contenu"
|
||||
inputBlocks: "Blocs d'entrée"
|
||||
specialBlocks: "Spécial"
|
||||
@@ -1397,249 +1477,11 @@ _pages:
|
||||
section: "Section"
|
||||
image: "Images"
|
||||
button: "Bouton"
|
||||
if: "Si"
|
||||
_if:
|
||||
variable: "Variables"
|
||||
post: "Formulaire de publication"
|
||||
_post:
|
||||
text: "Contenu"
|
||||
attachCanvasImage: "Publier avec Toile comme image"
|
||||
canvasId: "Toile ID"
|
||||
textInput: "Entrée textuelle"
|
||||
_textInput:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
default: "Valeur par défaut"
|
||||
textareaInput: "Entrée textuelle multi-ligne"
|
||||
_textareaInput:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
default: "Valeur par défaut"
|
||||
numberInput: "Entrée numérique"
|
||||
_numberInput:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
default: "Valeur par défaut"
|
||||
canvas: "Toile"
|
||||
_canvas:
|
||||
id: "Toile ID"
|
||||
width: "Largeur"
|
||||
height: "Hauteur"
|
||||
note: "Note intégrée"
|
||||
_note:
|
||||
id: "Identifiant de la note"
|
||||
idDescription: "Pour configurer la note, vous pouvez aussi coller ici l'URL correspondante."
|
||||
detailed: "Afficher les détails"
|
||||
switch: "Interrupteur"
|
||||
_switch:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
default: "Valeur par défaut"
|
||||
counter: "Compteur"
|
||||
_counter:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
inc: "Augmenter de"
|
||||
_button:
|
||||
text: "Titre"
|
||||
colored: "Coloré"
|
||||
action: "Opération à effectuer lorsque le bouton est pressé"
|
||||
_action:
|
||||
dialog: "Afficher une fenêtre de dialogue"
|
||||
_dialog:
|
||||
content: "Contenu"
|
||||
resetRandom: "Réinitialiser un nombre aléatoire"
|
||||
pushEvent: "Envoyer un évènement"
|
||||
_pushEvent:
|
||||
event: "Nom de l’évènement"
|
||||
message: "Message à afficher lorsqu’il est activé"
|
||||
variable: "Variable à envoyer"
|
||||
no-variable: "Rien"
|
||||
callAiScript: "Appeler AiScript"
|
||||
_callAiScript:
|
||||
functionName: "Nom de la fonction"
|
||||
radioButton: "Choix"
|
||||
_radioButton:
|
||||
name: "Nom de la variable"
|
||||
title: "Titre"
|
||||
values: "Liste des choix (un par ligne)"
|
||||
default: "Valeur par défaut"
|
||||
script:
|
||||
categories:
|
||||
flow: "Contrôle"
|
||||
logical: "Opération logique"
|
||||
operation: "Calculer"
|
||||
comparison: "Comparer"
|
||||
random: "Aléatoire"
|
||||
value: "Valeur"
|
||||
fn: "Fonction"
|
||||
text: "Manipulation de texte"
|
||||
convert: "Convertir"
|
||||
list: "Listes"
|
||||
blocks:
|
||||
text: "Texte"
|
||||
multiLineText: "Texte (multi-ligne)"
|
||||
textList: "Liste de texte"
|
||||
_textList:
|
||||
info: "Veuillez séparer chaque entrée avec un saut de ligne"
|
||||
strLen: "Longueur du texte"
|
||||
_strLen:
|
||||
arg1: "Texte"
|
||||
strPick: "Extraire un caractère"
|
||||
_strPick:
|
||||
arg1: "Texte"
|
||||
arg2: "Position du joueur"
|
||||
strReplace: "Remplacement de texte"
|
||||
_strReplace:
|
||||
arg1: "Texte"
|
||||
arg2: "Avant le remplacement"
|
||||
arg3: "Après le remplacement"
|
||||
strReverse: "Inverser le texte"
|
||||
_strReverse:
|
||||
arg1: "Texte"
|
||||
join: "Concaténer du texte"
|
||||
_join:
|
||||
arg1: "Listes"
|
||||
arg2: "Séparateur"
|
||||
add: "Ajouter"
|
||||
_add:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
subtract: "Soustraire"
|
||||
_subtract:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
multiply: "Multiplier par"
|
||||
_multiply:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
divide: "Diviser par"
|
||||
_divide:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
mod: "Reste"
|
||||
_mod:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
round: "Arrondir les décimales"
|
||||
_round:
|
||||
arg1: "Numérique"
|
||||
eq: "A et B sont égaux"
|
||||
_eq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
notEq: "A et B sont différents"
|
||||
_notEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
and: "A et B"
|
||||
_and:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
or: "A ou B"
|
||||
_or:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
lt: "A est inférieur à B"
|
||||
_lt:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
gt: "A est supérieur à B"
|
||||
_gt:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
ltEq: "A est inférieur ou égal à B"
|
||||
_ltEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
gtEq: "A est supérieur ou égal à B"
|
||||
_gtEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
if: "Branche"
|
||||
_if:
|
||||
arg1: "Si"
|
||||
arg2: "Si"
|
||||
arg3: "Sinon"
|
||||
not: "Nier"
|
||||
_not:
|
||||
arg1: "Nier"
|
||||
random: "Aléatoire"
|
||||
_random:
|
||||
arg1: "Probabilité"
|
||||
rannum: "Nombre aléatoire"
|
||||
_rannum:
|
||||
arg1: "Minimum"
|
||||
arg2: "Maximum"
|
||||
randomPick: "Sélectionner au hasard dans la liste"
|
||||
_randomPick:
|
||||
arg1: "Listes"
|
||||
dailyRandom: "Aléatoire (Quotidien pour chaque utilisateur)"
|
||||
_dailyRandom:
|
||||
arg1: "Probabilité"
|
||||
dailyRannum: "Numéros aléatoires (Quotidien pour chaque utilisateur)"
|
||||
_dailyRannum:
|
||||
arg1: "Minimum"
|
||||
arg2: "Maximum"
|
||||
dailyRandomPick: "Sélectionné au hasard dans la liste (Quotidien pour chaque utilisateur)"
|
||||
_dailyRandomPick:
|
||||
arg1: "Listes"
|
||||
seedRandom: "Aléatoire (graine)"
|
||||
_seedRandom:
|
||||
arg1: "Graine"
|
||||
arg2: "Probabilité"
|
||||
seedRannum: "Nombre aléatoire (Graine)"
|
||||
_seedRannum:
|
||||
arg1: "Graine"
|
||||
arg2: "Minimum"
|
||||
arg3: "Maximum"
|
||||
seedRandomPick: "Sélectionné au hasard dans la liste (graine)"
|
||||
_seedRandomPick:
|
||||
arg1: "Graine"
|
||||
arg2: "Listes"
|
||||
DRPWPM: "Sélectionné au hasard dans une liste de probabilités (Quotidien pour chaque utilisateur)"
|
||||
_DRPWPM:
|
||||
arg1: "Liste de texte"
|
||||
pick: "Sélectionner dans la liste"
|
||||
_pick:
|
||||
arg1: "Listes"
|
||||
arg2: "Position"
|
||||
listLen: "Longueur de la liste"
|
||||
_listLen:
|
||||
arg1: "Listes"
|
||||
number: "Numérique"
|
||||
stringToNumber: "Convertir du texte en numérique"
|
||||
_stringToNumber:
|
||||
arg1: "Texte"
|
||||
numberToString: "Convertir du numérique en texte"
|
||||
_numberToString:
|
||||
arg1: "Numérique"
|
||||
splitStrByLine: "Séparer le texte par des sauts de lignes"
|
||||
_splitStrByLine:
|
||||
arg1: "Texte"
|
||||
ref: "Variables"
|
||||
aiScriptVar: "Variable d'AiScript"
|
||||
fn: "Fonction"
|
||||
_fn:
|
||||
slots: "Slots"
|
||||
slots-info: "Veuillez insérer un seul slot par ligne"
|
||||
arg1: "Sortie"
|
||||
for: "Répéter"
|
||||
_for:
|
||||
arg1: "Compter"
|
||||
arg2: "Action"
|
||||
typeError: "Le slot {slot} accepte \"{expect}\" mais a \"{actual}\" !"
|
||||
thereIsEmptySlot: "Slot {slot} est vide !"
|
||||
types:
|
||||
string: "Texte"
|
||||
number: "Numérique"
|
||||
boolean: "Marqueur"
|
||||
array: "Listes"
|
||||
stringArray: "Liste de texte"
|
||||
emptySlot: "Slot vide"
|
||||
enviromentVariables: "Variables d'environnement"
|
||||
pageVariables: "Élément de page"
|
||||
argVariables: "Entrée slot"
|
||||
_relayStatus:
|
||||
requesting: "En attente"
|
||||
accepted: "Accepté"
|
||||
@@ -1650,13 +1492,15 @@ _notification:
|
||||
youGotReply: "Réponse de {name}"
|
||||
youGotQuote: "Cité·e par {name}"
|
||||
youRenoted: "{name} vous a Renoté"
|
||||
youGotPoll: "{name} a participé à votre sondage"
|
||||
youGotMessagingMessageFromUser: "{name} vous envoyé un message"
|
||||
youGotMessagingMessageFromGroup: "Un message a été envoyé au groupe {name}"
|
||||
youWereFollowed: "Vous suit"
|
||||
youReceivedFollowRequest: "Vous avez reçu une demande d’abonnement"
|
||||
yourFollowRequestAccepted: "Votre demande d’abonnement a été accepté"
|
||||
youWereInvitedToGroup: "Invité·e au groupe"
|
||||
pollEnded: "Les résultats du sondage sont disponibles"
|
||||
unreadAntennaNote: "Antenne {name}"
|
||||
emptyPushNotificationMessage: "Les notifications push ont été mises à jour"
|
||||
_types:
|
||||
all: "Toutes"
|
||||
follow: "Nouvel·le abonné·e"
|
||||
@@ -1665,17 +1509,20 @@ _notification:
|
||||
renote: "Renotes"
|
||||
quote: "Citations"
|
||||
reaction: "Réactions"
|
||||
pollVote: "Votes dans des sondages"
|
||||
pollEnded: "Sondages se cloturant"
|
||||
receiveFollowRequest: "Demande d'abonnement reçue"
|
||||
followRequestAccepted: "Demande d'abonnement acceptée"
|
||||
groupInvited: "Invitation à un groupe"
|
||||
app: "Notifications provenant des apps"
|
||||
_actions:
|
||||
followBack: "Suivre"
|
||||
reply: "Répondre"
|
||||
renote: "Renoter"
|
||||
_deck:
|
||||
alwaysShowMainColumn: "Toujours afficher la colonne principale"
|
||||
columnAlign: "Aligner les colonnes"
|
||||
columnMargin: "Marge entre les colonnes"
|
||||
columnHeaderHeight: "Taille de l'en-tête de colonne"
|
||||
addColumn: "Ajouter une colonne"
|
||||
configureColumn: "Configuration de la colonne"
|
||||
swapLeft: "Déplacer à gauche"
|
||||
swapRight: "Déplacer à droite"
|
||||
swapUp: "Déplacer vers le haut"
|
||||
@@ -1683,6 +1530,10 @@ _deck:
|
||||
stackLeft: "Empiler à gauche"
|
||||
popRight: "Extraire à droite"
|
||||
profile: "Profil"
|
||||
newProfile: "Nouveau profil"
|
||||
deleteProfile: "Supprimer le profil"
|
||||
introduction: "Créez l’interface parfaite qui vous sied en arrangeant librement les colonnes !"
|
||||
introduction2: "Cliquez sur le + à droite de l'écran pour ajouter de nouvelles colonnes quand vous le souhaitez."
|
||||
_columns:
|
||||
main: "Principale"
|
||||
widgets: "Widgets"
|
||||
|
||||
1
locales/hr-HR.yml
Normal file
1
locales/hr-HR.yml
Normal file
@@ -0,0 +1 @@
|
||||
---
|
||||
@@ -2,6 +2,7 @@
|
||||
_lang_: "Bahasa Indonesia"
|
||||
headlineMisskey: "Jaringan terhubung melalui catatan"
|
||||
introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersifat sumber terbuka.\nMulailah menuliskan catatan, bagikan peristiwa terkini, serta ceritakan segala tentangmu.📡\nTunjukkan juga reaksimu pada catatan pengguna lain.👍\nMari jelajahi dunia baru🚀"
|
||||
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
|
||||
monthAndDay: "{day} {month}"
|
||||
search: "Penelusuran"
|
||||
notifications: "Pemberitahuan"
|
||||
@@ -47,11 +48,13 @@ deleteAndEdit: "Hapus dan sunting"
|
||||
deleteAndEditConfirm: "Apakah kamu yakin ingin menghapus note ini dan menyuntingnya? Kamu akan kehilangan semua reaksi, renote dan balasan di note ini."
|
||||
addToList: "Tambahkan ke daftar"
|
||||
sendMessage: "Kirim pesan"
|
||||
copyRSS: "Salin RSS"
|
||||
copyUsername: "Salin nama pengguna"
|
||||
searchUser: "Cari pengguna"
|
||||
reply: "Balas"
|
||||
loadMore: "Selebihnya"
|
||||
showMore: "Selebihnya"
|
||||
showLess: "Tutup"
|
||||
youGotNewFollower: "Mengikuti kamu"
|
||||
receiveFollowRequest: "Ingin mengikuti kamu"
|
||||
followRequestAccepted: "Permintaan mengikuti telah disetujui"
|
||||
@@ -81,7 +84,7 @@ somethingHappened: "Terjadi kesalahan"
|
||||
retry: "Coba lagi"
|
||||
pageLoadError: "Gagal memuat halaman."
|
||||
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
|
||||
serverIsDead: "Tidak ada respon dari server. Mohon tunggu dan coba beberapa saat lagi."
|
||||
serverIsDead: "Tidak ada respon dari peladen. Mohon tunggu dan coba beberapa saat lagi."
|
||||
youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
|
||||
enterListName: "Masukkan nama daftar"
|
||||
privacy: "Privasi"
|
||||
@@ -106,7 +109,8 @@ clickToShow: "Klik untuk melihat"
|
||||
sensitive: "Konten sensitif"
|
||||
add: "Tambahkan"
|
||||
reaction: "Reaksi"
|
||||
reactionSettingDescription: "Masukkan reaksi favorit yang ingin kamu sematkan pada bilah reaksi"
|
||||
reactions: "Reaksi"
|
||||
reactionSetting: "Reaksi untuk dimunculkan di bilah reaksi"
|
||||
reactionSettingDescription2: "Geser untuk memindah urutkan, klik untuk menghapus, tekan \"+\" untuk menambahkan"
|
||||
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
|
||||
attachCancel: "Hapus lampiran"
|
||||
@@ -141,6 +145,8 @@ flagAsBot: "Atur akun ini sebagai Bot"
|
||||
flagAsBotDescription: "Jika akun ini dikendalikan oleh program, tetapkanlah opsi ini. Jika diaktifkan, ini akan berfungsi sebagai tanda bagi pengembang lain untuk mencegah interaksi berantai dengan bot lain dan menyesuaikan sistem internal Misskey untuk memperlakukan akun ini sebagai bot."
|
||||
flagAsCat: "Atur akun ini sebagai kucing"
|
||||
flagAsCatDescription: "Nyalakan tanda ini untuk menandai akun ini sebagai kucing."
|
||||
flagShowTimelineReplies: "Tampilkan balasan di linimasa"
|
||||
flagShowTimelineRepliesDescription: "Menampilkan balasan pengguna dari note pengguna lain di linimasa apabila dinyalakan."
|
||||
autoAcceptFollowed: "Setujui otomatis permintaan mengikuti dari pengguna yang kamu ikuti"
|
||||
addAccount: "Tambahkan akun"
|
||||
loginFailed: "Gagal untuk masuk"
|
||||
@@ -161,7 +167,6 @@ annotation: "Keterangan konten"
|
||||
federation: "Federasi"
|
||||
instances: "Instansi"
|
||||
registeredAt: "Terdaftar"
|
||||
latestRequestSentAt: "Permintaan terakhir dikirim pada"
|
||||
latestRequestReceivedAt: "Permintaan terakhir diterima pada"
|
||||
latestStatus: "Status terakhir"
|
||||
storageUsage: "Penggunaan penyimpanan"
|
||||
@@ -235,6 +240,8 @@ resetAreYouSure: "Yakin mau atur ulang?"
|
||||
saved: "Telah disimpan"
|
||||
messaging: "Pesan"
|
||||
upload: "Unggah"
|
||||
keepOriginalUploading: "Simpan gambar asli"
|
||||
keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah."
|
||||
fromDrive: "Dari Drive"
|
||||
fromUrl: "Dari URL"
|
||||
uploadFromUrl: "Unggah dari URL"
|
||||
@@ -242,7 +249,6 @@ uploadFromUrlDescription: "URL berkas yang ingin kamu unggah"
|
||||
uploadFromUrlRequested: "Pengunggahan telah diminta"
|
||||
uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesai"
|
||||
explore: "Jelajahi"
|
||||
games: "Permainan Misskey"
|
||||
messageRead: "Telah dibaca"
|
||||
noMoreHistory: "Tidak ada sejarah lagi"
|
||||
startMessaging: "Mulai mengirim pesan"
|
||||
@@ -291,8 +297,8 @@ rename: "Ubah nama"
|
||||
avatar: "Avatar"
|
||||
banner: "Banner"
|
||||
nsfw: "Konten sensitif"
|
||||
whenServerDisconnected: "Ketika kehilangan koneksi dengan server"
|
||||
disconnectedFromServer: "Terputus koneksi dari server"
|
||||
whenServerDisconnected: "Ketika kehilangan koneksi dengan peladen"
|
||||
disconnectedFromServer: "Terputus koneksi dari peladen"
|
||||
reload: "Muat ulang"
|
||||
doNothing: "Abaikan"
|
||||
reloadConfirm: "Apakah kamu ingin memuat ulang linimasa?"
|
||||
@@ -322,8 +328,6 @@ disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua
|
||||
registration: "Pendaftaran"
|
||||
enableRegistration: "Nyalakan pendaftaran pengguna baru"
|
||||
invite: "Undang"
|
||||
proxyRemoteFiles: "Proksi berkas remote"
|
||||
proxyRemoteFilesDescription: "Jika diaktifkan, berkas luar yang (1) tidak disimpan secara lokal atau (2) terhapus dari melewati batas penyimpanan akan diproksi secara lokal (dengan thumbnail). Ini tidak akan mempengaruhi server penyimpanan."
|
||||
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
|
||||
driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote"
|
||||
inMb: "dalam Megabytes"
|
||||
@@ -345,6 +349,8 @@ recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Nyalakan reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
recaptchaSecretKey: "Secret Key"
|
||||
turnstileSiteKey: "Site key"
|
||||
turnstileSecretKey: "Secret Key"
|
||||
avoidMultiCaptchaConfirm: "Menggunakan banyak Captcha dapat menyebabkan gangguan. Apakah kamu ingin untuk menonaktifkan Captcha yang lain? Kamu dapat membiarkan fitur ini tetap aktif dengan menekan tombol batal."
|
||||
antennas: "Antena"
|
||||
manageAntennas: "Pengelola Antena"
|
||||
@@ -380,6 +386,7 @@ administrator: "Admin"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Otentikasi dua faktor"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderasi"
|
||||
nUsersMentioned: "{n} pengguna disebut"
|
||||
securityKey: "Kunci keamanan"
|
||||
securityKeyName: "Nama kunci"
|
||||
@@ -419,7 +426,6 @@ next: "Selanjutnya"
|
||||
retype: "Masukkan ulang"
|
||||
noteOf: "Catatan milik {user}"
|
||||
inviteToGroup: "Undang ke grup"
|
||||
maxNoteTextLength: "Batas karakter catatan"
|
||||
quoteAttached: "Dikutip"
|
||||
quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
|
||||
noMessagesYet: "Tidak ada pesan"
|
||||
@@ -447,7 +453,8 @@ language: "Bahasa"
|
||||
uiLanguage: "Bahasa antarmuka pengguna"
|
||||
groupInvited: "Telah diundang ke grup"
|
||||
aboutX: "Tentang {x}"
|
||||
useOsNativeEmojis: "Gunakan Emoji bawaan sistem operasi"
|
||||
emojiStyle: "Gaya emoji"
|
||||
disableDrawer: "Jangan gunakan menu bergaya laci"
|
||||
youHaveNoGroups: "Kamu tidak memiliki grup"
|
||||
joinOrCreateGroup: "Bergabunglah dengan grup atau kamu dapat membuat grupmu sendiri."
|
||||
noHistory: "Tidak ada riwayat"
|
||||
@@ -494,11 +501,12 @@ objectStorageUseSSLDesc: "Matikan ini jika kamu tidak akan menggunakan HTTPS unt
|
||||
objectStorageUseProxy: "Hubungkan melalui Proxy"
|
||||
objectStorageUseProxyDesc: "Matikan ini jika kamu tidak akan menggunakan Proxy untuk koneksi ObjectStorage"
|
||||
objectStorageSetPublicRead: "Setel \"public-read\" disaat mengunggah"
|
||||
serverLogs: "Log Server"
|
||||
serverLogs: "Log Peladen"
|
||||
deleteAll: "Hapus semua"
|
||||
showFixedPostForm: "Tampilkan form posting di atas linimasa."
|
||||
newNoteRecived: "Kamu mendapat catatan baru"
|
||||
sounds: "Bunyi"
|
||||
sound: "Bunyi"
|
||||
listen: "Dengarkan"
|
||||
none: "Tidak ada"
|
||||
showInPage: "Tampilkan di halaman"
|
||||
@@ -532,11 +540,10 @@ removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon ja
|
||||
userSuspended: "Pengguna ini telah dibekukan."
|
||||
userSilenced: "Pengguna ini telah dibungkam."
|
||||
yourAccountSuspendedTitle: "Akun ini dibekukan"
|
||||
yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan server atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
|
||||
yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan peladen atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
|
||||
menu: "Menu"
|
||||
divider: "Pembagi"
|
||||
addItem: "Tambahkan item"
|
||||
rooms: "Ruang"
|
||||
relays: "Relay"
|
||||
addRelay: "Tambahkan relay"
|
||||
inboxUrl: "URL Kotak masuk"
|
||||
@@ -559,6 +566,7 @@ author: "Pembuat"
|
||||
leaveConfirm: "Ada perubahan yang belum disimpan. Apakah kamu ingin membuangnya?"
|
||||
manage: "Manajemen"
|
||||
plugins: "Plugin"
|
||||
preferencesBackups: "Aturan pencadangan"
|
||||
deck: "Dek"
|
||||
undeck: "Keluar dari dek"
|
||||
useBlurEffectForModal: "Gunakan efek buram untuk modal"
|
||||
@@ -577,12 +585,12 @@ pluginTokenRequestedDescription: "Plugin ini dapat menggunakan setelan ijin disi
|
||||
notificationType: "Jenis pemberitahuan"
|
||||
edit: "Sunting"
|
||||
useStarForReactionFallback: "Gunakan ★ sebagai fallback jika reaksi emoji tidak diketahui"
|
||||
emailServer: "Server surel"
|
||||
emailServer: "Peladen surel"
|
||||
enableEmail: "Nyalakan distribusi surel"
|
||||
emailConfigInfo: "Digunakan untuk mengonfirmasi surel kamu disaat mendaftar dan lupa kata sandi"
|
||||
email: "Surel"
|
||||
emailAddress: "Alamat surel"
|
||||
smtpConfig: "Konfigurasi server SMTP"
|
||||
smtpConfig: "Konfigurasi peladen SMTP"
|
||||
smtpHost: "Host"
|
||||
smtpPort: "Port"
|
||||
smtpUser: "Nama Pengguna"
|
||||
@@ -592,6 +600,9 @@ smtpSecure: "Gunakan SSL/TLS implisit untuk koneksi SMTP"
|
||||
smtpSecureInfo: "Matikan ini ketika menggunakan STARTTLS"
|
||||
testEmail: "Tes pengiriman surel"
|
||||
wordMute: "Bisukan kata"
|
||||
regexpError: "Kesalahan ekspresi reguler"
|
||||
regexpErrorDescription: "Galat terjadi pada baris {line} ekspresi reguler dari {tab} kata yang dibisukan:"
|
||||
instanceMute: "Bisuka instansi"
|
||||
userSaysSomething: "{name} mengatakan sesuatu"
|
||||
makeActive: "Aktifkan"
|
||||
display: "Tampilkan"
|
||||
@@ -612,7 +623,6 @@ regenerateLoginToken: "Perbarui token login"
|
||||
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
|
||||
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
|
||||
fileIdOrUrl: "File-ID atau URL"
|
||||
chatOpenBehavior: "Perilaku jendelan obrolan ketika dibuka"
|
||||
behavior: "Perilaku"
|
||||
sample: "Contoh"
|
||||
abuseReports: "Laporkan"
|
||||
@@ -620,8 +630,11 @@ reportAbuse: "Laporkan"
|
||||
reportAbuseOf: "Laporkan {name}"
|
||||
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
|
||||
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
|
||||
reporter: "Pelapor"
|
||||
reporteeOrigin: "Yang dilaporkan"
|
||||
reporterOrigin: "Pelapor"
|
||||
forwardReport: "Teruskan laporan ke instansi luar"
|
||||
forwardReportIsAnonymous: "Untuk melindungi privasi akun kamu, akun anonim dari sistem akan digunakan sebagai pelapor pada instansi luar."
|
||||
send: "Kirim"
|
||||
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
|
||||
openInNewTab: "Buka di tab baru"
|
||||
@@ -638,6 +651,8 @@ clip: "Klip"
|
||||
createNew: "Buat baru"
|
||||
optional: "Opsional"
|
||||
createNewClip: "Buat klip baru"
|
||||
unclip: "Batalkan klip"
|
||||
confirmToUnclipAlreadyClippedNote: "Catatan ini sudah disertakan di klip \"{name}\". Yakin ingin membatalkan catatan dari klip ini?"
|
||||
public: "Publik"
|
||||
i18nInfo: "Misskey diterjemahkan ke dalam banyak bahasa oleh sukarelawan. Kamu dapat ikut membantu di {link}."
|
||||
manageAccessTokens: "Kelola access token"
|
||||
@@ -669,7 +684,6 @@ emailVerified: "Surel telah diverifikasi"
|
||||
noteFavoritesCount: "Jumlah catatan yang difavoritkan"
|
||||
pageLikesCount: "Jumlah suka yang diterima Halaman"
|
||||
pageLikedCount: "Jumlah Halaman yang disukai"
|
||||
reversiCount: "Jumlah pertandingan Reversi"
|
||||
contact: "Kontak"
|
||||
useSystemFont: "Gunakan font bawaan sistem operasi"
|
||||
clips: "Klip"
|
||||
@@ -684,6 +698,7 @@ center: "Tengah"
|
||||
wide: "Lebar"
|
||||
narrow: "Sempit"
|
||||
reloadToApplySetting: "Pengaturan ini akan diterapkan saat memuat halaman kembali. Apakah kamu ingin memuat halaman kembali sekarang?"
|
||||
needReloadToApply: "Pengaturan ini hanya akan diterapkan setelah memuat ulang halaman."
|
||||
showTitlebar: "Tampilkan bilah judul"
|
||||
clearCache: "Hapus tembolok"
|
||||
onlineUsersCount: "{n} orang sedang daring"
|
||||
@@ -697,6 +712,7 @@ accentColor: "Aksen"
|
||||
textColor: "Teks"
|
||||
saveAs: "Simpan sebagai…"
|
||||
advanced: "Tingkat lanjut"
|
||||
advancedSettings: "Pengaturan Lanjut"
|
||||
value: "Nilai"
|
||||
createdAt: "Dibuat pada"
|
||||
updatedAt: "Diperbarui pada"
|
||||
@@ -744,6 +760,7 @@ notRecommended: "Tidak disarankan"
|
||||
botProtection: "Perlindungan Bot"
|
||||
instanceBlocking: "Instansi yang diblokir"
|
||||
selectAccount: "Pilih akun"
|
||||
switchAccount: "Ganti akun"
|
||||
enabled: "Aktif"
|
||||
disabled: "Nonaktif"
|
||||
quickAction: "Aksi cepat"
|
||||
@@ -785,19 +802,20 @@ whatIsNew: "Lihat perubahan pemutakhiran"
|
||||
translate: "Terjemahkan"
|
||||
translatedFrom: "Terjemahkan dari {x}"
|
||||
accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
|
||||
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
|
||||
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada peladen ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
|
||||
aiChanMode: "Mode Ai"
|
||||
keepCw: "Biarkan Peringatan Konten"
|
||||
pubSub: "Akun Pub/Sub"
|
||||
lastCommunication: "Komunikasi terakhir"
|
||||
resolved: "Selesai"
|
||||
unresolved: "Belum selesai"
|
||||
breakFollow: "Batalkan mengikuti"
|
||||
itsOn: "Aktif"
|
||||
itsOff: "Nonaktif"
|
||||
emailRequiredForSignup: "Membutuhkan alamat surel untuk mendaftar"
|
||||
unread: "Belum dibaca"
|
||||
filter: "Saring"
|
||||
controlPanel: "Panel kontrol"
|
||||
controlPanel: "Panel kendali"
|
||||
manageAccounts: "Kelola Akun"
|
||||
makeReactionsPublic: "Tampilkan riwayat reaksi ke publik"
|
||||
makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua reaksi masa lalu kamu ditampilkan secara publik."
|
||||
@@ -810,12 +828,68 @@ continueThread: "Lihat lanjutan thread"
|
||||
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
|
||||
incorrectPassword: "Kata sandi salah."
|
||||
voteConfirm: "Konfirmasi suara kamu untuk ({choice})?"
|
||||
hide: "Sembunyikan"
|
||||
leaveGroup: "Keluar grup"
|
||||
leaveGroupConfirm: "Apakah kamu yakin untuk keluar dari \"{name}\"?"
|
||||
useDrawerReactionPickerForMobile: "Tampilkan bilah reaksi sebagai laci di ponsel"
|
||||
welcomeBackWithName: "Selamat datang kembali, {name}."
|
||||
clickToFinishEmailVerification: "Mohon klik [{ok}] untuk menyelesaikan verifikasi email."
|
||||
overridedDeviceKind: "Tipe perangkat"
|
||||
smartphone: "Ponsel"
|
||||
tablet: "Tablet"
|
||||
auto: "Otomatis"
|
||||
themeColor: "Warna Tema"
|
||||
size: "Ukuran"
|
||||
numberOfColumn: "Jumlah per kolom"
|
||||
searchByGoogle: "Penelusuran"
|
||||
instanceDefaultLightTheme: "Bawaan instan tema terang"
|
||||
instanceDefaultDarkTheme: "Bawaan instan tema gelap"
|
||||
instanceDefaultThemeDescription: "Masukkan kode tema di format obyek."
|
||||
mutePeriod: "Batas waktu bisu"
|
||||
indefinitely: "Selamanya"
|
||||
tenMinutes: "10 Menit"
|
||||
oneHour: "1 Jam"
|
||||
oneDay: "1 Hari"
|
||||
oneWeek: "1 Bulan"
|
||||
reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
|
||||
failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
|
||||
rateLimitExceeded: "Batas sudah terlampaui"
|
||||
cropImage: "potong gambar"
|
||||
cropImageAsk: "Ingin memotong gambar?"
|
||||
file: "Berkas"
|
||||
noEmailServerWarning: "Mail Server tidak disetel."
|
||||
recommended: "Disarankan"
|
||||
check: "Cek"
|
||||
deleteAccount: "Hapus Akun"
|
||||
logoutConfirm: "Anda yakin ingin keluar?"
|
||||
lastActiveDate: "Terakhir digunakan"
|
||||
statusbar: "Bilah status"
|
||||
pleaseSelect: "Pilih opsi..."
|
||||
reverse: "Balik"
|
||||
colored: "Diwarnai"
|
||||
refreshInterval: "Jeda pembaharuan"
|
||||
label: "Label"
|
||||
type: "Tipe"
|
||||
localOnly: "Hanya lokal"
|
||||
shuffle: "Acak"
|
||||
account: "Akun"
|
||||
like: "Suka"
|
||||
unlike: "Tidak Suka"
|
||||
numberOfLikes: "Jumlah yang disukai"
|
||||
show: "Tampilkan"
|
||||
color: "Warna"
|
||||
_role:
|
||||
priority: "Prioritas"
|
||||
_priority:
|
||||
low: "Rendah"
|
||||
middle: "Sedang"
|
||||
high: "Tinggi"
|
||||
_emailUnavailable:
|
||||
used: "Alamat surel ini telah digunakan"
|
||||
format: "Format tidak valid."
|
||||
disposable: "Alamat surel temporer tidak dapat digunakan"
|
||||
mx: "Server alamat surel ini tidak valid"
|
||||
smtp: "Server alamat surel ini tidak merespon"
|
||||
mx: "Peladen alamat surel ini tidak valid"
|
||||
smtp: "Peladen alamat surel ini tidak merespon"
|
||||
_ffVisibility:
|
||||
public: "Terbitkan"
|
||||
followers: "Tampil untuk pengikut saja"
|
||||
@@ -834,6 +908,7 @@ _accountDelete:
|
||||
_ad:
|
||||
back: "Kembali"
|
||||
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
|
||||
hide: "Jangan tampilkan"
|
||||
_forgotPassword:
|
||||
enterEmail: "Masukkan alamat surel yang kamu gunakan pada saat mendaftar. Sebuah tautan untuk mengatur ulang kata sandi kamu akan dikirimkan ke alamat surel tersebut."
|
||||
ifNoEmail: "Apabila kamu tidak menggunakan surel pada saat pendaftaran, mohon hubungi admin segera."
|
||||
@@ -935,39 +1010,6 @@ _mfm:
|
||||
sparkleDescription: "Memberikan konten efek partikel kelap-kelip."
|
||||
rotate: "Putar"
|
||||
rotateDescription: "Putar konten sesuai sudut yang ditentukan."
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Pengaturan permainan"
|
||||
chooseBoard: "Pilih papan"
|
||||
blackOrWhite: "Hitam/Putih"
|
||||
blackIs: "{name} bermain Hitam"
|
||||
rules: "Peraturan"
|
||||
botSettings: "Opsi bot"
|
||||
thisGameIsStartedSoon: "Permainan akan mulai dalam beberapa detik"
|
||||
waitingForOther: "Menunggu giliran lawan"
|
||||
waitingForMe: "Menunggu giliran kamu"
|
||||
waitingBoth: "Bersiap"
|
||||
ready: "Siap"
|
||||
cancelReady: "Batalkan siap"
|
||||
opponentTurn: "Giliran lawan"
|
||||
myTurn: "Giliran kamu"
|
||||
turnOf: "Giliran {name}"
|
||||
pastTurnOf: "Giliran {name}"
|
||||
surrender: "Menyerah"
|
||||
surrendered: "Karena menyerah"
|
||||
drawn: "Seri"
|
||||
won: "Kemenangan {name}"
|
||||
black: "Hitam"
|
||||
white: "Putih"
|
||||
total: "Jumlah"
|
||||
turnCount: "Giliran {count}"
|
||||
myGames: "Rondeku"
|
||||
allGames: "Semua ronde"
|
||||
ended: "Selesai"
|
||||
playing: "Sedang bermain"
|
||||
isLlotheo: "Pemain dengan batu paling sedikitlah yang menang (Llotheo)"
|
||||
loopedMap: "Peta melingkar"
|
||||
canPutEverywhere: "Keping dapat ditaruh dimana saja"
|
||||
_instanceTicker:
|
||||
none: "Jangan tampilkan"
|
||||
remote: "Tampilkan untuk pengguna luar"
|
||||
@@ -1000,6 +1042,11 @@ _wordMute:
|
||||
soft: "Lembut"
|
||||
hard: "Keras"
|
||||
mutedNotes: "Catatan yang dibisukan"
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "Pengaturan ini akan membisukan note/renote apa saja dari instansi yang terdaftar, termasuk pengguna yang membalas pengguna lain dalam instansi yang dibisukan."
|
||||
instanceMuteDescription2: "Pisah dengan baris baru"
|
||||
title: "Sembunyikan note dari instansi terdaftar."
|
||||
heading: "Daftar instansi yang akan dibisukan"
|
||||
_theme:
|
||||
explore: "Jelajahi tema"
|
||||
install: "Pasang tema"
|
||||
@@ -1082,10 +1129,7 @@ _sfx:
|
||||
chatBg: "Obrolan (Latar Belakang)"
|
||||
antenna: "Penerimaan Antenna"
|
||||
channel: "Pemberitahuan saluran"
|
||||
reversiPutBlack: "Reversi: Hitam bergerak"
|
||||
reversiPutWhite: "Reversi: Putih bergerak"
|
||||
_ago:
|
||||
unknown: "Tidak diketahui"
|
||||
future: "Masa depan"
|
||||
justNow: "Baru saja"
|
||||
secondsAgo: "{n} detik lalu"
|
||||
@@ -1129,6 +1173,7 @@ _2fa:
|
||||
registerKey: "Daftarkan kunci keamanan baru"
|
||||
step1: "Pertama, pasang aplikasi otentikasi (seperti {a} atau {b}) di perangkat kamu."
|
||||
step2: "Lalu, pindai kode QR yang ada di layar."
|
||||
step2Url: "Di aplikasi desktop, masukkan URL berikut:"
|
||||
step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
|
||||
step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi otentikasi kamu."
|
||||
securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu."
|
||||
@@ -1187,6 +1232,8 @@ _weekday:
|
||||
friday: "Jumat"
|
||||
saturday: "Sabtu"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Informasi Instansi"
|
||||
memo: "Catatan memo"
|
||||
notifications: "Pemberitahuan"
|
||||
timeline: "Linimasa"
|
||||
@@ -1203,9 +1250,12 @@ _widgets:
|
||||
button: "Tombol"
|
||||
onlineUsers: "Pengguna online"
|
||||
jobQueue: "Antrian kerja"
|
||||
serverMetric: "Statistik server"
|
||||
serverMetric: "Statistik peladen"
|
||||
aiscript: "Konsol AiScript"
|
||||
aiscriptApp: "Aplikasi AiScript"
|
||||
aichan: "Ai"
|
||||
_userList:
|
||||
chooseList: "Pilih daftar"
|
||||
_cw:
|
||||
hide: "Sembunyikan"
|
||||
show: "Lihat konten"
|
||||
@@ -1273,9 +1323,11 @@ _exportOrImport:
|
||||
muteList: "Bisukan"
|
||||
blockingList: "Blokir"
|
||||
userLists: "Daftar"
|
||||
excludeMutingUsers: "Kecualikan pengguna yang dibisukan"
|
||||
excludeInactiveUsers: "Kecualikan pengguna tidak aktif"
|
||||
_charts:
|
||||
federationInstancesIncDec: "Perbedaan jumlah # instansi yang memfederasi"
|
||||
federationInstancesTotal: "Jumlah # instansi yang memfederasi"
|
||||
federation: "Federasi"
|
||||
apRequest: "Permintaan"
|
||||
usersIncDec: "Perbedaan dalam # pengguna"
|
||||
usersTotal: "Jumlah # pengguna"
|
||||
activeUsers: "Pengguna aktif"
|
||||
@@ -1304,68 +1356,21 @@ _timelines:
|
||||
local: "Lokal"
|
||||
social: "Sosial"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "Ruangan {user}"
|
||||
addFurniture: "Letakkan perabotan"
|
||||
translate: "Pindah"
|
||||
rotate: "Putar"
|
||||
exit: "Kembali"
|
||||
remove: "Hapus"
|
||||
clear: "Bersihkan"
|
||||
clearConfirm: "Apakah kamu yakin ingin menghapus semua perabotan di ruanganmu?"
|
||||
leaveConfirm: "Ada perubahan yang belum tersimpan. Apakah kamu ingin pergi?"
|
||||
chooseImage: "Pilih gambar"
|
||||
roomType: "Tipe ruangan"
|
||||
carpetColor: "Warna karpet"
|
||||
_roomType:
|
||||
default: "Bawaan"
|
||||
washitsu: "Gaya Jepang"
|
||||
_furnitures:
|
||||
milk: "Kardus susu"
|
||||
bed: "Tempat tidur"
|
||||
low-table: "Meja pendek"
|
||||
desk: "Meja tulis"
|
||||
chair: "Kursi"
|
||||
chair2: "Kursi 2"
|
||||
fan: "Kipas angin"
|
||||
pc: "Komputer"
|
||||
plant: "Tanaman"
|
||||
plant2: "Tanaman 2"
|
||||
eraser: "Karet Penghapus"
|
||||
pencil: "Pensil"
|
||||
pudding: "Puding"
|
||||
cardboard-box: "Kotak Kardus"
|
||||
cardboard-box2: "Kotak Kardus 2"
|
||||
cardboard-box3: "Kotak Kardus 3"
|
||||
book: "Buku"
|
||||
book2: "Buku 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Tisu Wajah"
|
||||
server: "Server"
|
||||
moon: "Bulan"
|
||||
corkboard: "Papan buletin"
|
||||
mousepad: "Mousepad"
|
||||
monitor: "Layar Monitor"
|
||||
keyboard: "Papan tombol"
|
||||
carpet-stripe: "Karpet (Bergaris)"
|
||||
mat: "Keset"
|
||||
color-box: "Rak buku"
|
||||
wall-clock: "Jam dinding"
|
||||
photoframe: "Bingkai foto"
|
||||
cube: "Kubus"
|
||||
tv: "Televisi"
|
||||
pinguin: "Pinguin"
|
||||
rubik-cube: "Rubik"
|
||||
poster-h: "Poster (Horizontal)"
|
||||
poster-v: "Poster (Vertical)"
|
||||
sofa: "Sofa"
|
||||
spiral: "Tangga spiral"
|
||||
bin: "Tempat sampah"
|
||||
cup-noodle: "Migelas"
|
||||
holo-display: "Layar hologram"
|
||||
energy-drink: "Minuman energi"
|
||||
doll-ai: "Boneka Ai"
|
||||
banknote: "Uang"
|
||||
_play:
|
||||
new: "Membuat Permainan"
|
||||
edit: "Menyunting Permainan"
|
||||
created: "Permainan sudah dibuat"
|
||||
updated: "Permainan sudah diperbaharui"
|
||||
deleted: "Hapus permainan"
|
||||
pageSetting: "Pengaturan permainan"
|
||||
editThisPage: "Sunting Permainan ini"
|
||||
viewSource: "Lihat sumber"
|
||||
my: "Permainan saya"
|
||||
liked: "Permainan Disukai"
|
||||
featured: "Populer"
|
||||
title: "Judul"
|
||||
script: "Script"
|
||||
summary: "Deskripsi"
|
||||
_pages:
|
||||
newPage: "Buat halaman baru"
|
||||
editPage: "Sunting halaman"
|
||||
@@ -1401,8 +1406,6 @@ _pages:
|
||||
eyeCatchingImageRemove: "Hapus gambar yang menarik"
|
||||
chooseBlock: "Tambahkan blokir"
|
||||
selectType: "Pilih jenis"
|
||||
enterVariableName: "Mohon masukkan nama untuk variabel kamu"
|
||||
variableNameIsAlreadyUsed: "Nama ini sudah digunakan oleh variabel lain"
|
||||
contentBlocks: "Konten"
|
||||
inputBlocks: "Masukan"
|
||||
specialBlocks: "Khusus"
|
||||
@@ -1412,249 +1415,11 @@ _pages:
|
||||
section: "Bagian"
|
||||
image: "Gambar"
|
||||
button: "Tombol"
|
||||
if: "Jika"
|
||||
_if:
|
||||
variable: "Variabel"
|
||||
post: "Buat catatan"
|
||||
_post:
|
||||
text: "Isi"
|
||||
attachCanvasImage: "Posting dengan kanvas sebagai gambar"
|
||||
canvasId: "ID Kanvas"
|
||||
textInput: "Masukan teks"
|
||||
_textInput:
|
||||
name: "Nama variabel"
|
||||
text: "Judul"
|
||||
default: "Nilai bawaan"
|
||||
textareaInput: "Masukan teks multibaris"
|
||||
_textareaInput:
|
||||
name: "Nama variabel"
|
||||
text: "Judul"
|
||||
default: "Nilai bawaan"
|
||||
numberInput: "Masukan angka"
|
||||
_numberInput:
|
||||
name: "Nama variabel"
|
||||
text: "Judul"
|
||||
default: "Nilai bawaan"
|
||||
canvas: "Kanvas"
|
||||
_canvas:
|
||||
id: "ID Kanvas"
|
||||
width: "Lebar"
|
||||
height: "Tinggi"
|
||||
note: "Catatan yang ditanam"
|
||||
_note:
|
||||
id: "ID Catatan"
|
||||
idDescription: "Kamu dapat menyetel ini dengan menempelkan tautan URL Catatan."
|
||||
detailed: "Tampilan rincian"
|
||||
switch: "Beralih"
|
||||
_switch:
|
||||
name: "Nama variabel"
|
||||
text: "Judul"
|
||||
default: "Nilai bawaan"
|
||||
counter: "Penghitung"
|
||||
_counter:
|
||||
name: "Nama variabel"
|
||||
text: "Judul"
|
||||
inc: "Meningkat dengan"
|
||||
_button:
|
||||
text: "Judul"
|
||||
colored: "Diwarnai"
|
||||
action: "Operasi akan dimulai ketika tombol ditekan"
|
||||
_action:
|
||||
dialog: "Tampilkan dialog"
|
||||
_dialog:
|
||||
content: "Isi"
|
||||
resetRandom: "Atur ulang benih acak"
|
||||
pushEvent: "Kirim event"
|
||||
_pushEvent:
|
||||
event: "Nama event"
|
||||
message: "Pesan yang tampil ketika diaktifkan"
|
||||
variable: "Variable untuk kirim"
|
||||
no-variable: "Tidak ada"
|
||||
callAiScript: "Panggil AiScript"
|
||||
_callAiScript:
|
||||
functionName: "Nama fungsi"
|
||||
radioButton: "Pilihan"
|
||||
_radioButton:
|
||||
name: "Nama variabel"
|
||||
title: "Judul"
|
||||
values: "Daftar pilihan (dipisahkan dengan garis baru)"
|
||||
default: "Nilai bawaan"
|
||||
script:
|
||||
categories:
|
||||
flow: "Arus kendali"
|
||||
logical: "Operasi logis"
|
||||
operation: "Menghitung"
|
||||
comparison: "Membandingkan"
|
||||
random: "Acak"
|
||||
value: "Nilai"
|
||||
fn: "Fungsi"
|
||||
text: "Operasi teks"
|
||||
convert: "Mengubah"
|
||||
list: "Daftar"
|
||||
blocks:
|
||||
text: "Teks"
|
||||
multiLineText: "Teks (multibaris)"
|
||||
textList: "Daftar teks"
|
||||
_textList:
|
||||
info: "Pisahkan setiap entri dengan baris baru"
|
||||
strLen: "Panjang teks"
|
||||
_strLen:
|
||||
arg1: "Teks"
|
||||
strPick: "Ekstrak karakter"
|
||||
_strPick:
|
||||
arg1: "Teks"
|
||||
arg2: "Lokasi karakter"
|
||||
strReplace: "Penggantian teks"
|
||||
_strReplace:
|
||||
arg1: "Teks"
|
||||
arg2: "Teks yang akan diganti"
|
||||
arg3: "Diganti dengan"
|
||||
strReverse: "Balikkan teks"
|
||||
_strReverse:
|
||||
arg1: "Teks"
|
||||
join: "Rangkaian teks"
|
||||
_join:
|
||||
arg1: "Daftar"
|
||||
arg2: "Pemisah"
|
||||
add: "Tambah"
|
||||
_add:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
subtract: "Kurangi"
|
||||
_subtract:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
multiply: "Kali"
|
||||
_multiply:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
divide: "Bagi"
|
||||
_divide:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
mod: "Sisa"
|
||||
_mod:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
round: "Bulat desimal"
|
||||
_round:
|
||||
arg1: "Angka"
|
||||
eq: "A dan B adalah sama"
|
||||
_eq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
notEq: "A dan B adalah berbeda"
|
||||
_notEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
and: "A DAN B"
|
||||
_and:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
or: "A ATAU B"
|
||||
_or:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
lt: "< A ikurang dari B"
|
||||
_lt:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
gt: "> A lebih dari B"
|
||||
_gt:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
ltEq: "<= A kurang dari sama dengan B"
|
||||
_ltEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
gtEq: ">= A lebih dari sama dengan B"
|
||||
_gtEq:
|
||||
arg1: "A"
|
||||
arg2: "B"
|
||||
if: "Cabang"
|
||||
_if:
|
||||
arg1: "Jika"
|
||||
arg2: "Jika benar"
|
||||
arg3: "Jika salah"
|
||||
not: "BUKAN"
|
||||
_not:
|
||||
arg1: "NOT"
|
||||
random: "Acak"
|
||||
_random:
|
||||
arg1: "Probabilitas"
|
||||
rannum: "Angka acak"
|
||||
_rannum:
|
||||
arg1: "Nilai minimum"
|
||||
arg2: "Nilai maksimum"
|
||||
randomPick: "Pilih secara acak dari daftar"
|
||||
_randomPick:
|
||||
arg1: "Daftar"
|
||||
dailyRandom: "Acak (bertahan sehari)"
|
||||
_dailyRandom:
|
||||
arg1: "Probabilitas"
|
||||
dailyRannum: "Angka acak (bertahan sehari)"
|
||||
_dailyRannum:
|
||||
arg1: "Nilai minimum"
|
||||
arg2: "Nilai maksimum"
|
||||
dailyRandomPick: "Pilih secara acak dari daftar (bertahan sehari)"
|
||||
_dailyRandomPick:
|
||||
arg1: "Daftar"
|
||||
seedRandom: "Acak (dengan seed)"
|
||||
_seedRandom:
|
||||
arg1: "Seed"
|
||||
arg2: "Probabilitas"
|
||||
seedRannum: "Angka acak (dengan seed)"
|
||||
_seedRannum:
|
||||
arg1: "Seed"
|
||||
arg2: "Nilai minimum"
|
||||
arg3: "Nilai maksimum"
|
||||
seedRandomPick: "Pilih secara acak dari daftar (dengan seed)"
|
||||
_seedRandomPick:
|
||||
arg1: "Seed"
|
||||
arg2: "Daftar"
|
||||
DRPWPM: "Pilih secara acak dari daftar berbobot (bertahan sehari)"
|
||||
_DRPWPM:
|
||||
arg1: "Daftar teks"
|
||||
pick: "Pilih dari daftar"
|
||||
_pick:
|
||||
arg1: "Daftar"
|
||||
arg2: "Posisi"
|
||||
listLen: "Dapatkan panjangnya dari daftar"
|
||||
_listLen:
|
||||
arg1: "Daftar"
|
||||
number: "Angka"
|
||||
stringToNumber: "Teks ke angka"
|
||||
_stringToNumber:
|
||||
arg1: "Teks"
|
||||
numberToString: "Angka ke teks"
|
||||
_numberToString:
|
||||
arg1: "Angka"
|
||||
splitStrByLine: "Pisahkan teks dengan baris baru"
|
||||
_splitStrByLine:
|
||||
arg1: "Teks"
|
||||
ref: "Variabel"
|
||||
aiScriptVar: "Variabel AiScript"
|
||||
fn: "Fungsi"
|
||||
_fn:
|
||||
slots: "Slot"
|
||||
slots-info: "Pisahkan setiap slot dengan baris baru"
|
||||
arg1: "Keluaran"
|
||||
for: "Ulangi"
|
||||
_for:
|
||||
arg1: "Jumlah angka untuk diulangi"
|
||||
arg2: "Aksi"
|
||||
typeError: "Slot {slot} menerima tipe \"{expect}\", sayangnya nilai yang disediakan adalah \"{actual}\"!"
|
||||
thereIsEmptySlot: "Slot {slot} kosong!"
|
||||
types:
|
||||
string: "Teks"
|
||||
number: "Angka"
|
||||
boolean: "Markah"
|
||||
array: "Daftar"
|
||||
stringArray: "Daftar teks"
|
||||
emptySlot: "Slot kosong"
|
||||
enviromentVariables: "Variabel Lingkungan"
|
||||
pageVariables: "Elemen halaman"
|
||||
argVariables: "Masukan slot"
|
||||
_relayStatus:
|
||||
requesting: "Menunggu"
|
||||
accepted: "Disetujui"
|
||||
@@ -1665,13 +1430,14 @@ _notification:
|
||||
youGotReply: "{name} membalas kamu"
|
||||
youGotQuote: "{name} mengutip kamu"
|
||||
youRenoted: "{name} me-renote kamu"
|
||||
youGotPoll: "{name} memilih di angket kamu"
|
||||
youGotMessagingMessageFromUser: "{name} mengirimi kamu pesan"
|
||||
youGotMessagingMessageFromGroup: "Sebuah pesan telah dikirim ke grup {name}"
|
||||
youWereFollowed: "Mengikuti kamu"
|
||||
youReceivedFollowRequest: "Kamu menerima permintaan mengikuti"
|
||||
yourFollowRequestAccepted: "Permintaan mengikuti kamu telah diterima"
|
||||
youWereInvitedToGroup: "Telah diundang ke grup"
|
||||
pollEnded: "Hasil Kuesioner telah keluar"
|
||||
emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
|
||||
_types:
|
||||
all: "Semua"
|
||||
follow: "Ikuti"
|
||||
@@ -1680,16 +1446,18 @@ _notification:
|
||||
renote: "Renote"
|
||||
quote: "Kutip"
|
||||
reaction: "Reaksi"
|
||||
pollVote: "Memilih di angket"
|
||||
pollEnded: "Jajak pendapat berakhir"
|
||||
receiveFollowRequest: "Permintaan mengikuti diterima"
|
||||
followRequestAccepted: "Permintaan mengikuti disetujui"
|
||||
groupInvited: "Diundang ke grup"
|
||||
app: "Pemberitahuan dari aplikasi"
|
||||
_actions:
|
||||
followBack: "Ikuti Kembali"
|
||||
reply: "Balas"
|
||||
renote: "Renote"
|
||||
_deck:
|
||||
alwaysShowMainColumn: "Selalu tampilkan kolom utama"
|
||||
columnAlign: "Luruskan kolom"
|
||||
columnMargin: "Batas antar kolom"
|
||||
columnHeaderHeight: "Tinggi kolom header"
|
||||
addColumn: "Tambahkan kolom"
|
||||
swapLeft: "Pindah ke kiri"
|
||||
swapRight: "Pindah ke kanan"
|
||||
|
||||
@@ -19,7 +19,6 @@ const languages = [
|
||||
'da-DK',
|
||||
'de-DE',
|
||||
'en-US',
|
||||
'eo-UY',
|
||||
'es-ES',
|
||||
'fr-FR',
|
||||
'id-ID',
|
||||
@@ -34,8 +33,10 @@ const languages = [
|
||||
'pl-PL',
|
||||
'pt-PT',
|
||||
'ru-RU',
|
||||
'sk-SK',
|
||||
'ug-CN',
|
||||
'uk-UA',
|
||||
'vi-VN',
|
||||
'zh-CN',
|
||||
'zh-TW',
|
||||
];
|
||||
@@ -46,7 +47,10 @@ const primaries = {
|
||||
'zh': 'CN',
|
||||
};
|
||||
|
||||
const locales = languages.reduce((a, c) => (a[c] = yaml.load(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8')) || {}, a), {});
|
||||
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
||||
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), {});
|
||||
|
||||
module.exports = Object.entries(locales)
|
||||
.reduce((a, [k ,v]) => (a[k] = (() => {
|
||||
|
||||
1143
locales/it-IT.yml
1143
locales/it-IT.yml
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -55,6 +55,9 @@ accountInfo: "Talɣut n umiḍan"
|
||||
emailNotification: "Ilɣa imayl"
|
||||
selectAccount: "Fren amiḍan"
|
||||
accounts: "Imiḍan"
|
||||
searchByGoogle: "Nadi"
|
||||
file: "Ifuyla"
|
||||
account: "Imiḍan"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Yeṭṭafaṛ-ik·em-id"
|
||||
@@ -70,7 +73,10 @@ _sfx:
|
||||
_permissions:
|
||||
"write:account": "Ẓreg talɣut n umiḍan-ik·im"
|
||||
_widgets:
|
||||
profile: "Amaɣnu"
|
||||
notifications: "Ilɣuyen"
|
||||
_userList:
|
||||
chooseList: "Fren tabdart"
|
||||
_cw:
|
||||
show: "Wali ugar"
|
||||
_visibility:
|
||||
@@ -92,29 +98,13 @@ _pages:
|
||||
contentBlocks: "Agbur"
|
||||
inputBlocks: "Anekcum"
|
||||
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:
|
||||
youWereFollowed: "Yeṭṭafaṛ-ik·em-id"
|
||||
_types:
|
||||
follow: "Ig ṭṭafaṛ"
|
||||
mention: "Bder"
|
||||
_actions:
|
||||
reply: "Err"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Ilɣuyen"
|
||||
|
||||
@@ -59,6 +59,8 @@ remove: "ಅಳಿಸು"
|
||||
smtpUser: "ಬಳಕೆಹೆಸರು"
|
||||
smtpPass: "ಗುಪ್ತಪದ"
|
||||
user: "ಬಳಕೆದಾರ"
|
||||
searchByGoogle: "ಹುಡುಕು"
|
||||
file: "ಕಡತಗಳು"
|
||||
_email:
|
||||
_follow:
|
||||
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
@@ -67,6 +69,7 @@ _mfm:
|
||||
_sfx:
|
||||
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
_widgets:
|
||||
profile: "ಪ್ರೊಫೈಲು"
|
||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
timeline: "ಸಮಯಸಾಲು"
|
||||
_cw:
|
||||
@@ -75,6 +78,8 @@ _profile:
|
||||
username: "ಬಳಕೆಹೆಸರು"
|
||||
_notification:
|
||||
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
_actions:
|
||||
reply: "ಉತ್ತರಿಸು"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@
|
||||
_lang_: "Nederlands"
|
||||
headlineMisskey: "Netwerk verbonden door notities"
|
||||
introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀"
|
||||
poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")."
|
||||
monthAndDay: "{day} {month}"
|
||||
search: "Zoeken"
|
||||
notifications: "Meldingen"
|
||||
@@ -12,6 +13,7 @@ fetchingAsApObject: "Ophalen vanuit de Fediverse"
|
||||
ok: "Ok"
|
||||
gotIt: "Begrepen"
|
||||
cancel: "Annuleren"
|
||||
noThankYou: "Nee, bedankt"
|
||||
enterUsername: "Voer een gebruikersnaam in"
|
||||
renotedBy: "Hergedeeld door {user}"
|
||||
noNotes: "Geen notities"
|
||||
@@ -52,6 +54,7 @@ searchUser: "Zoeken een gebruiker"
|
||||
reply: "Antwoord"
|
||||
loadMore: "Laad meer"
|
||||
showMore: "Toon meer"
|
||||
showLess: "Sluiten"
|
||||
youGotNewFollower: "volgde jou"
|
||||
receiveFollowRequest: "Volgverzoek ontvangen"
|
||||
followRequestAccepted: "Volgverzoek geaccepteerd"
|
||||
@@ -106,7 +109,8 @@ clickToShow: "Klik om te bekijken"
|
||||
sensitive: "NSFW"
|
||||
add: "Toevoegen"
|
||||
reaction: "Reacties"
|
||||
reactionSettingDescription: "Configureer welke reacties je wilt weergeven in de reactiekiezer."
|
||||
reactions: "Reacties"
|
||||
reactionSetting: "Reacties die in de reactie-selector worden getoond"
|
||||
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
|
||||
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
|
||||
attachCancel: "Verwijder bijlage"
|
||||
@@ -120,22 +124,313 @@ unblock: "Deblokkeren"
|
||||
suspend: "Opschorten"
|
||||
unsuspend: "Heractiveren"
|
||||
blockConfirm: "Weet je zeker dat je dit account wil blokkeren?"
|
||||
unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?"
|
||||
suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?"
|
||||
unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?"
|
||||
selectList: "Kies een lijst."
|
||||
selectAntenna: "Kies een antenne"
|
||||
selectWidget: "Kies een widget"
|
||||
editWidgets: "Bewerk widgets"
|
||||
editWidgetsExit: "Klaar"
|
||||
customEmojis: "Maatwerk emoji"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emoji"
|
||||
emojiName: "Naam emoji"
|
||||
emojiUrl: "URL emoji"
|
||||
addEmoji: "Toevoegen emoji"
|
||||
settingGuide: "Aanbevolen instellingen"
|
||||
cacheRemoteFiles: "Externe bestanden cachen"
|
||||
flagAsBot: "Markeer dit account als een robot."
|
||||
flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken."
|
||||
flagAsCat: "Markeer dit account als een kat."
|
||||
flagAsCatDescription: "Zet deze vlag aan als je wilt aangeven dat dit account een kat is."
|
||||
flagShowTimelineReplies: "Toon antwoorden op de tijdlijn."
|
||||
flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities."
|
||||
autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt."
|
||||
addAccount: "Account toevoegen"
|
||||
loginFailed: "Aanmelding mislukt."
|
||||
showOnRemote: "Toon op de externe instantie."
|
||||
general: "Algemeen"
|
||||
wallpaper: "Achtergrond"
|
||||
setWallpaper: "Achtergrond instellen"
|
||||
removeWallpaper: "Achtergrond verwijderen"
|
||||
searchWith: "Zoeken: {q}"
|
||||
youHaveNoLists: "Je hebt geen lijsten"
|
||||
followConfirm: "Weet je zeker dat je {name} wilt volgen?"
|
||||
proxyAccount: "Proxy account"
|
||||
proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan."
|
||||
host: "Server"
|
||||
selectUser: "Kies een gebruiker"
|
||||
recipient: "Ontvanger"
|
||||
annotation: "Reacties"
|
||||
federation: "Federatie"
|
||||
instances: "Server"
|
||||
registeredAt: "Geregistreerd op"
|
||||
latestRequestReceivedAt: "Laatste aanvraag ontvangen"
|
||||
latestStatus: "Laatste status"
|
||||
storageUsage: "Gebruikte opslagruimte"
|
||||
charts: "Grafieken"
|
||||
perHour: "Per uur"
|
||||
perDay: "Per dag"
|
||||
stopActivityDelivery: "Stop met versturen activiteiten"
|
||||
blockThisInstance: "Blokkeer deze server"
|
||||
operations: "Verwerkingen"
|
||||
software: "Software"
|
||||
version: "Versie"
|
||||
metadata: "Metadata"
|
||||
withNFiles: "{n} bestand(en)"
|
||||
monitor: "Monitor"
|
||||
jobQueue: "Job Queue"
|
||||
cpuAndMemory: "CPU en geheugen"
|
||||
network: "Netwerk"
|
||||
disk: "Schijfruimte"
|
||||
instanceInfo: "Serverinformatie"
|
||||
statistics: "Statistieken"
|
||||
clearQueue: "Wachtrij wissen"
|
||||
clearQueueConfirmTitle: "Weet je zeker dat je de wachtrji leeg wil maken?"
|
||||
clearQueueConfirmText: "Niet-bezorgde biljetten die nog in de wachtrij staan, worden niet gefedereerd. Meestal is deze operatie niet nodig."
|
||||
clearCachedFiles: "Cache opschonen"
|
||||
clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
|
||||
blockedInstances: "Geblokkeerde servers"
|
||||
blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server."
|
||||
muteAndBlock: "Gedempt en geblokkeerd"
|
||||
mutedUsers: "Gedempte gebruikers"
|
||||
blockedUsers: "Geblokkeerde gebruikers"
|
||||
noUsers: "Er zijn geen gebruikers."
|
||||
editProfile: "Bewerk Profiel"
|
||||
noteDeleteConfirm: "Ben je zeker dat je dit bericht wil verwijderen?"
|
||||
pinLimitExceeded: "Je kunt geen berichten meer vastprikken"
|
||||
intro: "Installatie van Misskey geëindigd! Maak nu een beheerder aan."
|
||||
done: "Klaar"
|
||||
processing: "Bezig met verwerken"
|
||||
preview: "Voorbeeld"
|
||||
default: "Standaard"
|
||||
defaultValueIs: "Standaard: {value}"
|
||||
noCustomEmojis: "Er zijn geen emojis"
|
||||
noJobs: "Er zijn geen taken"
|
||||
federating: "Federeren"
|
||||
blocked: "Geblokkeerd"
|
||||
suspended: "Opgeschort"
|
||||
all: "Alle"
|
||||
subscribing: "Abonneren"
|
||||
publishing: "Publiceren"
|
||||
notResponding: "Reageert niet"
|
||||
instanceFollowing: "Volgend op server"
|
||||
instanceFollowers: "Volgers op server"
|
||||
instanceUsers: "Gebruikers van deze server"
|
||||
changePassword: "Wachtwoord wijzigen"
|
||||
security: "Beveiliging"
|
||||
retypedNotMatch: "Invoer komt niet overeen"
|
||||
currentPassword: "Huidig wachtwoord"
|
||||
newPassword: "Nieuwe wachtwoord"
|
||||
newPasswordRetype: "Nieuw wachtwoord (herhalen)"
|
||||
attachFile: "Bestanden toevoegen"
|
||||
more: "Meer!"
|
||||
featured: "Uitgelicht"
|
||||
usernameOrUserId: "Gebruikersnaam of id"
|
||||
noSuchUser: "Gebruiker niet gevonden"
|
||||
lookup: "Opzoeken"
|
||||
announcements: "Aankondigingen"
|
||||
imageUrl: "AfbeeldingsURL"
|
||||
remove: "Verwijderen"
|
||||
removed: "Succesvol verwijderd"
|
||||
removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
|
||||
deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
|
||||
resetAreYouSure: "Resetten?"
|
||||
saved: "Opgeslagen"
|
||||
messaging: "Chat"
|
||||
upload: "Uploaden"
|
||||
keepOriginalUploading: "Origineel beeld behouden."
|
||||
keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert."
|
||||
fromDrive: "Van schijf"
|
||||
fromUrl: "Van URL"
|
||||
uploadFromUrl: "Uploaden vanaf een URL"
|
||||
uploadFromUrlDescription: "URL van het bestand dat je wil uploaden"
|
||||
uploadFromUrlRequested: "Uploadverzoek"
|
||||
uploadFromUrlMayTakeTime: "Het kan even duren voordat het uploaden voltooid is."
|
||||
explore: "Verkennen"
|
||||
messageRead: "Lezen"
|
||||
noMoreHistory: "Er is geen verdere geschiedenis"
|
||||
startMessaging: "Start een gesprek"
|
||||
nUsersRead: "gelezen door {n}"
|
||||
agreeTo: "Ik stem in met {0}"
|
||||
tos: "Gebruiksvoorwaarden"
|
||||
start: "Aan de slag"
|
||||
home: "Startpagina"
|
||||
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
|
||||
activity: "Activiteit"
|
||||
images: "Afbeeldingen"
|
||||
birthday: "Geboortedatum"
|
||||
yearsOld: "{age} jaar"
|
||||
registeredDate: "Inschrijvingsdatum"
|
||||
location: "Locatie"
|
||||
theme: "Thema's"
|
||||
themeForLightMode: "Thema voor gebruik in de lichte modus"
|
||||
themeForDarkMode: "Thema voor gebruik in de donkere modus"
|
||||
light: "Licht"
|
||||
dark: "Donker"
|
||||
lightThemes: "Licht thema's"
|
||||
darkThemes: "Donkere thema's"
|
||||
syncDeviceDarkMode: "Synchroniseer donkere modus met je apparaatinstellingen"
|
||||
drive: "Schijf"
|
||||
fileName: "Bestandsnaam"
|
||||
selectFile: "Kies een bestand"
|
||||
selectFiles: "Selecteer bestanden"
|
||||
selectFolder: "Kies een map"
|
||||
selectFolders: "Kies mappen"
|
||||
renameFile: "Wijzig bestandsnaam"
|
||||
folderName: "Mapnaam"
|
||||
createFolder: "Map aanmaken"
|
||||
renameFolder: "Map hernoemen"
|
||||
deleteFolder: "Map verwijderen"
|
||||
addFile: "Bestand toevoegen"
|
||||
emptyDrive: "Jouw Drive is leeg."
|
||||
emptyFolder: "Deze map is leeg"
|
||||
unableToDelete: "Kan niet worden verwijderd"
|
||||
inputNewFileName: "Voer een nieuwe naam in"
|
||||
inputNewDescription: "Voer hier het onderschrift in"
|
||||
inputNewFolderName: "Naam invoeren voor nieuwe map"
|
||||
circularReferenceFolder: "De bestemmingsmap is een submap van de map die je wilt verplaatsen."
|
||||
hasChildFilesOrFolders: "Omdat deze map niet leeg is, kan die niet worden verwijderd."
|
||||
copyUrl: "URL kopiëren"
|
||||
rename: "Hernoemen"
|
||||
avatar: "Avatar"
|
||||
banner: "Banner"
|
||||
nsfw: "NSFW"
|
||||
whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
|
||||
disconnectedFromServer: "Verbinding met de server onderbroken."
|
||||
reload: "Verversen"
|
||||
doNothing: "Negeren"
|
||||
reloadConfirm: "Weet je zeker dat je je tijdlijn wil verversen?"
|
||||
watch: "Volgen"
|
||||
unwatch: "Niet meer volgen"
|
||||
accept: "Accepteren"
|
||||
reject: "Weigeren"
|
||||
normal: "Normaal"
|
||||
instanceName: "Naam van de server"
|
||||
instanceDescription: "Beschrijving van de server"
|
||||
maintainerName: "Onderhouder"
|
||||
maintainerEmail: "E-mailadres beheerder"
|
||||
tosUrl: "URL gebruiksvoorwaarden"
|
||||
thisYear: "Jaar"
|
||||
thisMonth: "Maand"
|
||||
today: "Vandaag"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Pagina's"
|
||||
integration: "Integraties"
|
||||
connectService: "Verbinden"
|
||||
disconnectService: "Verbinding verbreken"
|
||||
enableLocalTimeline: "Inschakelen lokale tijdlijn"
|
||||
enableGlobalTimeline: "Inschakelen globale tijdlijn "
|
||||
disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn."
|
||||
registration: "Registreren"
|
||||
enableRegistration: "Inschakelen registratie nieuwe gebruikers "
|
||||
invite: "Uitnodigen"
|
||||
driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker"
|
||||
driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker"
|
||||
inMb: "in megabytes"
|
||||
iconUrl: "Pictogram URL"
|
||||
bannerUrl: "Banner URL"
|
||||
backgroundImageUrl: "URL afbeelding"
|
||||
basicInfo: "Basisinformatie"
|
||||
pinnedUsers: "Vastgeprikte gebruikers"
|
||||
pinnedPages: "Vastgeprikte pagina's"
|
||||
pinnedNotes: "Vastgemaakte notitie"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Inschakelen hCaptcha"
|
||||
hcaptchaSiteKey: "Site sleutel"
|
||||
hcaptchaSecretKey: "Geheime sleutel"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Inschakelen reCAPTCHA"
|
||||
recaptchaSiteKey: "Site sleutel"
|
||||
recaptchaSecretKey: "Geheime sleutel"
|
||||
turnstile: "Tourniquet"
|
||||
enableTurnstile: "Inschakelen tourniquet"
|
||||
turnstileSiteKey: "Site sleutel"
|
||||
turnstileSecretKey: "Geheime sleutel"
|
||||
antennas: "Antennes"
|
||||
manageAntennas: "Antennes beheren"
|
||||
name: "Naam"
|
||||
antennaSource: "Bron antenne"
|
||||
antennaKeywords: "Sleutelwoorden"
|
||||
antennaExcludeKeywords: "Blokkeerwoorden"
|
||||
withReplies: "Antwoorden toevoegen"
|
||||
connectedTo: "De volgende accounts zijn verbonden"
|
||||
notesAndReplies: "Berichten en reacties"
|
||||
withFiles: "Bestanden toevoegen"
|
||||
silence: "Dempen"
|
||||
silenceConfirm: "Weet je zeker dat je deze gebruiker wil dempen?"
|
||||
unsilence: "Dempen uitschakelen"
|
||||
unsilenceConfirm: "Weet je zeker dat je deze gebruiker niet meer wil dempen?"
|
||||
popularUsers: "Populaire gebruikers"
|
||||
recentlyUpdatedUsers: "Recent actieve gebruikers"
|
||||
recentlyRegisteredUsers: "Recent geregistreerde gebruikers"
|
||||
recentlyDiscoveredUsers: "Nieuw ontdekte gebruikers "
|
||||
exploreUsersCount: "Er zijn {count} gebruikers"
|
||||
exploreFediverse: "Ontdek de Fediverse"
|
||||
popularTags: "Populaire tags"
|
||||
userList: "Lijsten"
|
||||
about: "Over"
|
||||
aboutMisskey: "Over Misskey"
|
||||
administrator: "Beheerder"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Tweestapsverificatie"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderatie"
|
||||
nUsersMentioned: "Vermeld door {n} gebruikers"
|
||||
securityKey: "Beveiligingssleutel"
|
||||
securityKeyName: "Sleutelnaam"
|
||||
registerSecurityKey: "Zekerheids-Sleutel registreren"
|
||||
lastUsed: "Laatst gebruikt"
|
||||
unregister: "Uitschrijven"
|
||||
passwordLessLogin: "Inloggen zonder wachtwoord"
|
||||
resetPassword: "Wachtwoord terugzetten"
|
||||
newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
|
||||
reduceUiAnimation: "Verminder beweging in de UI"
|
||||
share: "Delen"
|
||||
notFound: "Niet gevonden"
|
||||
uploadFolder: "Standaardmap voor uploaden"
|
||||
cacheClear: "Cache verwijderen"
|
||||
markAsReadAllNotifications: "Markeer alle meldingen als gelezen"
|
||||
markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen"
|
||||
markAsReadAllTalkMessages: "Markeer alle berichten als gelezen"
|
||||
help: "Help"
|
||||
inputMessageHere: "Voer hier je bericht in"
|
||||
close: "Sluiten"
|
||||
group: "Groep"
|
||||
groups: "Groepen"
|
||||
invites: "Uitnodigen"
|
||||
invitations: "Uitnodigen"
|
||||
sound: "Geluid"
|
||||
smtpHost: "Server"
|
||||
smtpUser: "Gebruikersnaam"
|
||||
smtpPass: "Wachtwoord"
|
||||
clearCache: "Cache opschonen"
|
||||
info: "Over"
|
||||
user: "Gebruikers"
|
||||
muteThread: "Discussies dempen "
|
||||
unmuteThread: "Dempen van discussie ongedaan maken"
|
||||
hide: "Verbergen"
|
||||
searchByGoogle: "Zoeken"
|
||||
cropImage: "Afbeelding bijsnijden"
|
||||
cropImageAsk: "Bijsnijdengevraagd"
|
||||
file: "Bestanden"
|
||||
pushNotification: "Pushberichten"
|
||||
subscribePushNotification: "Push meldingen inschakelen"
|
||||
unsubscribePushNotification: "Pushberichten uitschakelen"
|
||||
pushNotificationAlreadySubscribed: "Pushberichtrn al ingeschakeld"
|
||||
windowMaximize: "Maximaliseren"
|
||||
windowRestore: "Herstellen"
|
||||
loggedInAsBot: "Momenteel als bot ingelogd"
|
||||
_email:
|
||||
_follow:
|
||||
title: "volgde jou"
|
||||
_mfm:
|
||||
mention: "Vermelding"
|
||||
quote: "Quote"
|
||||
emoji: "Maatwerk emoji"
|
||||
search: "Zoeken"
|
||||
_theme:
|
||||
keys:
|
||||
@@ -144,50 +439,55 @@ _theme:
|
||||
_sfx:
|
||||
note: "Notities"
|
||||
notification: "Meldingen"
|
||||
chat: "Chat"
|
||||
_widgets:
|
||||
profile: "Profiel"
|
||||
instanceInfo: "Serverinformatie"
|
||||
notifications: "Meldingen"
|
||||
timeline: "Tijdlijn"
|
||||
activity: "Activiteit"
|
||||
federation: "Federatie"
|
||||
jobQueue: "Job Queue"
|
||||
_userList:
|
||||
chooseList: "Kies een lijst."
|
||||
_cw:
|
||||
show: "Laad meer"
|
||||
_visibility:
|
||||
home: "Startpagina"
|
||||
followers: "Volgers"
|
||||
_profile:
|
||||
name: "Naam"
|
||||
username: "Gebruikersnaam"
|
||||
_exportOrImport:
|
||||
followingList: "Volgend"
|
||||
muteList: "Dempen"
|
||||
blockingList: "Blokkeren"
|
||||
userLists: "Lijsten"
|
||||
excludeMutingUsers: "Negeer gedempte gebruikers"
|
||||
excludeInactiveUsers: "Negeer inactieve gebruikers"
|
||||
_charts:
|
||||
federation: "Federatie"
|
||||
_timelines:
|
||||
home: "Startpagina"
|
||||
_pages:
|
||||
script:
|
||||
categories:
|
||||
list: "Lijsten"
|
||||
blocks:
|
||||
_join:
|
||||
arg1: "Lijsten"
|
||||
_randomPick:
|
||||
arg1: "Lijsten"
|
||||
_dailyRandomPick:
|
||||
arg1: "Lijsten"
|
||||
_seedRandomPick:
|
||||
arg2: "Lijsten"
|
||||
_pick:
|
||||
arg1: "Lijsten"
|
||||
_listLen:
|
||||
arg1: "Lijsten"
|
||||
types:
|
||||
array: "Lijsten"
|
||||
blocks:
|
||||
image: "Afbeeldingen"
|
||||
_notification:
|
||||
youWereFollowed: "volgde jou"
|
||||
unreadAntennaNote: "Antenne {name}"
|
||||
_types:
|
||||
follow: "Volgend"
|
||||
mention: "Vermelding"
|
||||
renote: "Herdelen"
|
||||
quote: "Quote"
|
||||
reaction: "Reacties"
|
||||
_actions:
|
||||
reply: "Antwoord"
|
||||
renote: "Herdelen"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Meldingen"
|
||||
tl: "Tijdlijn"
|
||||
antenna: "Antennes"
|
||||
list: "Lijsten"
|
||||
mentions: "Vermeldingen"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,13 @@
|
||||
---
|
||||
_lang_: "Português"
|
||||
headlineMisskey: "Rede conectada por notas"
|
||||
headlineMisskey: "Uma rede ligada por notas"
|
||||
introMisskey: "Bem-vindo! Misskey é um serviço de microblogue descentralizado de código aberto.\nCria \"notas\" e partilha o que te ocorre com todos à tua volta. 📡\nCom \"reações\" podes também expressar logo o que sentes às notas de todos. 👍\nExploremos um novo mundo! 🚀"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Pesquisar"
|
||||
search: "Buscar"
|
||||
notifications: "Notificações"
|
||||
username: "Nome de usuário"
|
||||
password: "Senha"
|
||||
forgotPassword: "Esqueci a senha"
|
||||
forgotPassword: "Esqueci-me da senha"
|
||||
fetchingAsApObject: "Buscando no Fediverso"
|
||||
ok: "OK"
|
||||
gotIt: "Entendi"
|
||||
@@ -22,6 +23,7 @@ otherSettings: "Outras configurações"
|
||||
openInWindow: "Abrir numa janela"
|
||||
profile: "Perfil"
|
||||
timeline: "Timeline"
|
||||
noAccountDescription: "Este usuário não tem uma descrição."
|
||||
login: "Iniciar sessão"
|
||||
loggingIn: "Iniciando sessão…"
|
||||
logout: "Sair"
|
||||
@@ -29,61 +31,543 @@ signup: "Registrar-se"
|
||||
uploading: "Enviando…"
|
||||
save: "Guardar"
|
||||
users: "Usuários"
|
||||
addUser: "Adicionar usuário"
|
||||
favorite: "Favoritar"
|
||||
favorites: "Favoritar"
|
||||
unfavorite: "Remover dos favoritos"
|
||||
favorited: "Adicionado aos favoritos."
|
||||
alreadyFavorited: "Já adicionado aos favoritos."
|
||||
cantFavorite: "Não foi possível adicionar aos favoritos."
|
||||
pin: "Afixar no perfil"
|
||||
unpin: "Desafixar do perfil"
|
||||
copyContent: "Copiar conteúdos"
|
||||
copyLink: "Copiar hiperligação"
|
||||
delete: "Eliminar"
|
||||
deleteAndEdit: "Eliminar e editar"
|
||||
deleteAndEditConfirm: "Tens a certeza que pretendes eliminar esta nota e editá-la? Irás perder todas as suas reações, renotas e respostas."
|
||||
addToList: "Adicionar a lista"
|
||||
sendMessage: "Enviar uma mensagem"
|
||||
copyUsername: "Copiar nome de utilizador"
|
||||
searchUser: "Pesquisar utilizador"
|
||||
reply: "Responder"
|
||||
loadMore: "Carregar mais"
|
||||
showMore: "Ver mais"
|
||||
showLess: "Fechar"
|
||||
youGotNewFollower: "Você tem um novo seguidor"
|
||||
receiveFollowRequest: "Pedido de seguimento recebido"
|
||||
followRequestAccepted: "Pedido de seguir aceito"
|
||||
mention: "Menção"
|
||||
mentions: "Menções"
|
||||
directNotes: "Notas diretas"
|
||||
importAndExport: "Importar/Exportar"
|
||||
import: "Importar"
|
||||
export: "Exportar"
|
||||
files: "Ficheiros"
|
||||
download: "Descarregar"
|
||||
driveFileDeleteConfirm: "Tens a certeza que pretendes apagar o ficheiro \"{name}\"? As notas que tenham este ficheiro anexado serão também apagadas."
|
||||
unfollowConfirm: "Tens a certeza que queres deixar de seguir {name}?"
|
||||
exportRequested: "Pediste uma exportação. Este processo pode demorar algum tempo. Será adicionado à tua Drive após a conclusão do processo."
|
||||
importRequested: "Pediste uma importação. Este processo pode demorar algum tempo."
|
||||
lists: "Listas"
|
||||
noLists: "Não tens nenhuma lista"
|
||||
note: "Post"
|
||||
notes: "Posts"
|
||||
following: "Seguindo"
|
||||
followers: "Seguidores"
|
||||
followsYou: "Segue-te"
|
||||
createList: "Criar lista"
|
||||
manageLists: "Gerir listas"
|
||||
error: "Erro"
|
||||
somethingHappened: "Ocorreu um erro"
|
||||
retry: "Tentar novamente"
|
||||
pageLoadError: "Ocorreu um erro ao carregar a página."
|
||||
pageLoadErrorDescription: "Isto é normalmente causado por erros de rede ou pela cache do browser. Experimenta limpar a cache e tenta novamente após algum tempo."
|
||||
serverIsDead: "O servidor não está respondendo. Por favor espere um pouco e tente novamente."
|
||||
youShouldUpgradeClient: "Para visualizar essa página, por favor recarregue-a para atualizar seu cliente."
|
||||
enterListName: "Insira um nome para a lista"
|
||||
privacy: "Privacidade"
|
||||
makeFollowManuallyApprove: "Pedidos de seguimento precisam ser aprovados"
|
||||
defaultNoteVisibility: "Visibilidade padrão"
|
||||
follow: "Seguindo"
|
||||
followRequest: "Mandar pedido de seguimento"
|
||||
followRequests: "Pedidos de seguimento"
|
||||
unfollow: "Deixar de seguir"
|
||||
followRequestPending: "Pedido de seguimento pendente"
|
||||
enterEmoji: "Inserir emoji"
|
||||
renote: "Repostar"
|
||||
unrenote: "Desmarcar"
|
||||
renoted: "Repostado"
|
||||
cantRenote: "Não pode repostar"
|
||||
cantReRenote: "Não pode repostar este repost"
|
||||
quote: "Citar"
|
||||
pinnedNote: "Post fixado"
|
||||
pinned: "Afixar no perfil"
|
||||
you: "Você"
|
||||
clickToShow: "Clique para ver"
|
||||
sensitive: "Conteúdo sensível"
|
||||
add: "Adicionar"
|
||||
reaction: "Reações"
|
||||
reactions: "Reações"
|
||||
reactionSetting: "Quais reações a mostrar no selecionador de reações"
|
||||
reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar."
|
||||
rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas"
|
||||
attachCancel: "Remover anexo"
|
||||
markAsSensitive: "Marcar como sensível"
|
||||
unmarkAsSensitive: "Desmarcar como sensível"
|
||||
enterFileName: "Digite o nome do ficheiro"
|
||||
mute: "Silenciar"
|
||||
unmute: "Dessilenciar"
|
||||
block: "Bloquear"
|
||||
unblock: "Desbloquear"
|
||||
suspend: "Suspender"
|
||||
unsuspend: "Cancelar suspensão"
|
||||
blockConfirm: "Tem certeza que gostaria de bloquear essa conta?"
|
||||
unblockConfirm: "Tem certeza que gostaria de desbloquear essa conta?"
|
||||
suspendConfirm: "Tem certeza que gostaria de suspender essa conta?"
|
||||
unsuspendConfirm: "Tem certeza que gostaria de cancelar a suspensão dessa conta?"
|
||||
selectList: "Escolhe uma lista"
|
||||
selectAntenna: "Escolhe uma antena"
|
||||
selectWidget: "Escolhe um widget"
|
||||
editWidgets: "Editar widgets"
|
||||
editWidgetsExit: "Pronto"
|
||||
customEmojis: "Emoji personalizado"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emojis"
|
||||
emojiName: "Nome do Emoji"
|
||||
emojiUrl: "URL do Emoji"
|
||||
addEmoji: "Adicionar um Emoji"
|
||||
settingGuide: "Guia de configuração"
|
||||
cacheRemoteFiles: "Memória transitória de arquivos remotos"
|
||||
cacheRemoteFilesDescription: "Se você desabilitar essa configuração, os arquivos remotos não serão armazenados em memória transitória e serão vinculados diretamente. Economiza o armazenamento do servidor, mas não gera miniaturas, o que aumenta o tráfego."
|
||||
flagAsBot: "Marcar conta como robô"
|
||||
flagAsBotDescription: "Se esta conta for operada por um programa, ative este sinalizador. Quando ativado, serve como um sinalizador para evitar o encadeamento de reações para outros programadores, e o manuseio do sistema do Misskey é adequado para ‘bots’."
|
||||
flagAsCat: "Marcar conta como gato"
|
||||
flagAsCatDescription: "Ative essa opção para marcar essa conta como gato."
|
||||
flagShowTimelineReplies: "Mostrar respostas na linha de tempo"
|
||||
flagShowTimelineRepliesDescription: "Quando ativado, a linha do tempo mostra as respostas às outras notas do utilizador, além da nota do utilizador."
|
||||
autoAcceptFollowed: "Aprove automaticamente os seguidores dos seguintes utilizadores"
|
||||
addAccount: "Adicionar Conta"
|
||||
loginFailed: "Não consegui logar"
|
||||
showOnRemote: "Exibir remotamente"
|
||||
general: "Geral"
|
||||
wallpaper: "Papel de parede"
|
||||
setWallpaper: "Definir papel de parede"
|
||||
removeWallpaper: "Remover papel de parede"
|
||||
searchWith: "Buscar: {q}"
|
||||
youHaveNoLists: "Não tem nenhuma lista"
|
||||
followConfirm: "Tem certeza que quer deixar de seguir {name}?"
|
||||
proxyAccount: "Conta proxy"
|
||||
proxyAccountDescription: "Uma conta proxy é uma conta que atua como seguidora remota para utilizadores sob determinadas condições. Por exemplo, quando um utilizador lista um utilizador remoto, a atividade não será entregue à instância, a menos que alguém esteja seguindo o utilizador listado, portanto, a conta proxy deve seguir."
|
||||
host: "hospedeiro"
|
||||
selectUser: "Selecionar utilizador"
|
||||
recipient: "Morada"
|
||||
annotation: "Anotação"
|
||||
federation: "União"
|
||||
instances: "Instância"
|
||||
registeredAt: "Registrado em"
|
||||
latestRequestReceivedAt: "Recebeu a última solicitação"
|
||||
latestStatus: "Status mais recente"
|
||||
storageUsage: "Uso de armazenamento"
|
||||
charts: "gráfico"
|
||||
perHour: "por hora"
|
||||
perDay: "por dia"
|
||||
stopActivityDelivery: "Parar a entrega de atividades"
|
||||
blockThisInstance: "Bloquear esta instância"
|
||||
operations: "operar"
|
||||
software: "Programas"
|
||||
version: "versão"
|
||||
metadata: "Metadados"
|
||||
withNFiles: "{n} Um arquivo"
|
||||
monitor: "monitor"
|
||||
jobQueue: "Fila de trabalhos"
|
||||
cpuAndMemory: "CPU e memória"
|
||||
network: "rede"
|
||||
disk: "disco"
|
||||
instanceInfo: "Informações da instância"
|
||||
statistics: "Estatisticas"
|
||||
clearQueue: "Limpar a fila"
|
||||
clearQueueConfirmTitle: "Quer limpar a fila?"
|
||||
clearQueueConfirmText: "Postagens não entregues não serão mais entregues. Normalmente você não precisa fazer isso."
|
||||
clearCachedFiles: "Limpar memória transitória"
|
||||
clearCachedFilesConfirm: "Tem certeza de que deseja excluir todos os arquivos remotos armazenados em memória transitória?"
|
||||
blockedInstances: "Instância bloqueada"
|
||||
blockedInstancesDescription: "Defina os anfitriões das instâncias que deseja bloquear, separados por quebras de linha. Uma instância bloqueada não poderá interagir com esta instância."
|
||||
muteAndBlock: "Silenciar e bloquear"
|
||||
mutedUsers: "Silenciar utilizador"
|
||||
blockedUsers: "Utilizadores bloqueados"
|
||||
noUsers: "Sem usuários"
|
||||
editProfile: "Editar Perfil"
|
||||
noteDeleteConfirm: "Deseja excluir esta nota?"
|
||||
pinLimitExceeded: "Não consigo mais fixar"
|
||||
intro: "A instalação do Misskey está completa! Crie uma conta de administrador."
|
||||
done: "Concluído"
|
||||
processing: "Em Progresso"
|
||||
preview: "Pré-visualizar"
|
||||
default: "Padrão"
|
||||
noCustomEmojis: "Não há emojis"
|
||||
noJobs: "Sem trabalho"
|
||||
federating: "federar"
|
||||
blocked: "Bloqueado"
|
||||
suspended: "Cancelar subscrição"
|
||||
all: "Todos"
|
||||
subscribing: "Subscrito"
|
||||
publishing: "Executando"
|
||||
notResponding: "Sem resposta"
|
||||
instanceFollowing: "Seguir a instância"
|
||||
instanceFollowers: "Seguidores da instância"
|
||||
instanceUsers: "Utilizador da instância"
|
||||
changePassword: "Mudar senha"
|
||||
security: "Segurança"
|
||||
retypedNotMatch: "As entradas não coincidem."
|
||||
currentPassword: "Palavra-passe atual"
|
||||
newPassword: "Nova palavra-passe"
|
||||
newPasswordRetype: "Nova senha (redigite)"
|
||||
attachFile: "Anexar arquivo"
|
||||
more: "Mais!"
|
||||
featured: "Destaques"
|
||||
usernameOrUserId: "Nome de utilizador ou ID de utilizador"
|
||||
noSuchUser: "Utilizador não encontrado"
|
||||
lookup: "Buscando"
|
||||
announcements: "Notícia"
|
||||
imageUrl: "URL da imagem"
|
||||
remove: "Eliminar"
|
||||
removed: "Foi deletado"
|
||||
removeAreYouSure: "Deseja excluir \"{x}\"?"
|
||||
deleteAreYouSure: "Deseja excluir \"{x}\"?"
|
||||
resetAreYouSure: "Redefinir agora?"
|
||||
saved: "Salvo"
|
||||
messaging: "Chat"
|
||||
upload: "Enviando"
|
||||
keepOriginalUploading: "Manter a imagem original"
|
||||
keepOriginalUploadingDescription: "Mantenha a versão original ao carregar a imagem. Quando desligado, a imagem para publicação na web será gerada no navegador no momento do upload."
|
||||
fromDrive: "\nDa unidade"
|
||||
fromUrl: "Da URL"
|
||||
uploadFromUrl: "Carregamento de URL"
|
||||
uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
|
||||
uploadFromUrlRequested: "Upload solicitado"
|
||||
uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
|
||||
explore: "Explorar"
|
||||
messageRead: "Lida"
|
||||
noMoreHistory: "Sem mais história"
|
||||
startMessaging: "Iniciar conversação"
|
||||
nUsersRead: "{n} Pessoas leem"
|
||||
agreeTo: "Eu concordo com {0}"
|
||||
tos: "Termos de serviço"
|
||||
start: "começar"
|
||||
home: "casa"
|
||||
remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto."
|
||||
activity: "atividade"
|
||||
images: "imagem"
|
||||
birthday: "aniversário"
|
||||
yearsOld: "{age} anos"
|
||||
registeredDate: "Data de registro"
|
||||
location: "Lugar, colocar"
|
||||
theme: "tema"
|
||||
themeForLightMode: "Temas usados no modo de luz"
|
||||
themeForDarkMode: "Temas usados no modo escuro"
|
||||
light: "Claro"
|
||||
dark: "Escuro"
|
||||
lightThemes: "Tema claro"
|
||||
darkThemes: "Tema escuro"
|
||||
syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
|
||||
drive: "Unidades"
|
||||
fileName: "Nome do Ficheiro"
|
||||
selectFile: "Selecione os arquivos"
|
||||
selectFiles: "Selecione os arquivos"
|
||||
selectFolder: "Selecionar uma pasta"
|
||||
selectFolders: "Selecionar uma pasta"
|
||||
renameFile: "Renomear ficheiro"
|
||||
folderName: "Nome da pasta"
|
||||
createFolder: "Criar pasta"
|
||||
renameFolder: "Renomear Pasta"
|
||||
deleteFolder: "Eliminar Pasta"
|
||||
addFile: "Adicionar arquivo"
|
||||
emptyDrive: "A unidade está vazia"
|
||||
emptyFolder: "A pasta está vazia"
|
||||
unableToDelete: "Não é possível eliminar"
|
||||
inputNewFileName: "Por favor, digite um novo nome para a pasta!"
|
||||
inputNewDescription: "Insira uma nova legenda"
|
||||
inputNewFolderName: "Por favor, digite um novo nome para a pasta!"
|
||||
circularReferenceFolder: "A pasta de destino é uma subpasta da pasta que você deseja mover."
|
||||
hasChildFilesOrFolders: "Esta pasta não está vazia e não pode ser excluída."
|
||||
copyUrl: "Copiar URL"
|
||||
rename: "Renomear"
|
||||
avatar: "Avatar"
|
||||
banner: "Capa"
|
||||
nsfw: "Conteúdo sensível"
|
||||
whenServerDisconnected: "Quando a conexão com o servidor é perdida"
|
||||
disconnectedFromServer: "Desconectado do servidor"
|
||||
reload: "Recarregar"
|
||||
doNothing: "Nenhuma ação adicional"
|
||||
reloadConfirm: "Quer recarregar?"
|
||||
watch: "ver"
|
||||
unwatch: "Não observar"
|
||||
accept: "Aceitar"
|
||||
reject: "Rejeitar"
|
||||
normal: "Normal"
|
||||
instanceName: "Nome da instância"
|
||||
instanceDescription: "Descrição da instância"
|
||||
maintainerName: "Nome do administrador"
|
||||
maintainerEmail: "E-mail do Administrador:"
|
||||
tosUrl: "URL dos Termos de Uso"
|
||||
thisYear: "Este ano"
|
||||
thisMonth: "Este mês"
|
||||
today: "Hoje"
|
||||
dayX: " Dia {day}"
|
||||
monthX: "mês de {month}"
|
||||
yearX: "Ano {year}"
|
||||
pages: "Páginas"
|
||||
integration: "Integração"
|
||||
connectService: "Conectar"
|
||||
disconnectService: "Desconectar"
|
||||
enableLocalTimeline: "Ativar linha do tempo local"
|
||||
enableGlobalTimeline: "Ativar linha do tempo global"
|
||||
disablingTimelinesInfo: "Se você desabilitar essas linhas do tempo, administradores e moderadores ainda poderão usá-las por conveniência."
|
||||
registration: "Registar"
|
||||
enableRegistration: "Permitir que qualquer pessoa se registre"
|
||||
invite: "Convidar"
|
||||
driveCapacityPerLocalAccount: "Capacidade da unidade por utilizador local"
|
||||
driveCapacityPerRemoteAccount: "Capacidade da unidade por utilizador remoto"
|
||||
inMb: "Em ‘megabytes’"
|
||||
iconUrl: "URL da imagem do ícone (favicon, etc.)"
|
||||
bannerUrl: "URL da imagem do ‘banner’"
|
||||
backgroundImageUrl: "URL da imagem de fundo"
|
||||
basicInfo: "Informações básicas"
|
||||
pinnedUsers: "Utilizador fixado"
|
||||
pinnedUsersDescription: "Descreva os utilizadores que você deseja fixar na página \"Localizar\", etc., separados por quebras de linha."
|
||||
pinnedPages: "Página fixada"
|
||||
pinnedPagesDescription: "Descreva o caminho da página que você deseja fixar na página superior da instância, separada por quebras de linha."
|
||||
pinnedClipId: "ID do clipe a ser fixado"
|
||||
pinnedNotes: "Post fixado"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Ativar hCaptcha"
|
||||
hcaptchaSiteKey: "Chave do sítio ‘web’"
|
||||
hcaptchaSecretKey: "Chave secreta"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Habilitar reCAPTCHA"
|
||||
recaptchaSiteKey: "Chave do sítio ‘web’"
|
||||
recaptchaSecretKey: "Chave secreta"
|
||||
turnstileSiteKey: "Chave do sítio ‘web’"
|
||||
turnstileSecretKey: "Chave secreta"
|
||||
avoidMultiCaptchaConfirm: "O uso de vários captchas pode causar interferência. Deseja desativar outros captchas? Você também pode cancelar e deixar vários captchas ativados."
|
||||
antennas: "Antenas"
|
||||
manageAntennas: "Gestão de antena"
|
||||
name: "Nome"
|
||||
antennaSource: "Origem de entrada"
|
||||
antennaKeywords: "Palavras-chave recebidas"
|
||||
antennaExcludeKeywords: "Palavras-chave negativas"
|
||||
antennaKeywordsDescription: "Se você separá-lo com um espaço, será uma especificação AND, e se você separá-lo com uma quebra de linha, será uma especificação OR."
|
||||
notifyAntenna: "Notificar novas notas"
|
||||
withFileAntenna: "Apenas notas com arquivos anexados"
|
||||
enableServiceworker: "Ative as notificações push para o seu navegador"
|
||||
antennaUsersDescription: "Especificar nomes de utilizador separados por quebras de linha"
|
||||
caseSensitive: "Maiúsculas e minúsculas"
|
||||
withReplies: "Incluindo resposta"
|
||||
connectedTo: "Você está conectado à seguinte conta"
|
||||
notesAndReplies: "Publicações e respostas"
|
||||
withFiles: "Com arquivo"
|
||||
silence: "Silenciado"
|
||||
silenceConfirm: "Quer silenciar?"
|
||||
unsilence: "Liberar silenciar"
|
||||
unsilenceConfirm: "Quer liberar o silêncio?"
|
||||
popularUsers: "Utilizadores populares"
|
||||
recentlyUpdatedUsers: "Utilizadores postados recentemente"
|
||||
recentlyRegisteredUsers: "Utilizadores registrados recentemente"
|
||||
recentlyDiscoveredUsers: "Utilizadores descobertos recentemente"
|
||||
exploreUsersCount: "Há um utilizador de {count}"
|
||||
exploreFediverse: "Explorar Fediverse"
|
||||
popularTags: "Tags populares"
|
||||
userList: "Listas"
|
||||
about: "Informações"
|
||||
aboutMisskey: "Sobre Misskey"
|
||||
administrator: "Administrador"
|
||||
token: "Símbolo"
|
||||
twoStepAuthentication: "Verificação em duas etapas"
|
||||
moderator: "Moderador"
|
||||
nUsersMentioned: "Postado por {n} pessoas"
|
||||
securityKey: "Chave de segurança"
|
||||
securityKeyName: "Nome chave"
|
||||
registerSecurityKey: "Registre a chave de segurança"
|
||||
lastUsed: "Último uso"
|
||||
unregister: "Cancelar registro"
|
||||
passwordLessLogin: "Entrar sem senha"
|
||||
resetPassword: "Redefinir senha"
|
||||
newPasswordIs: "A nova senha é \"{password}\""
|
||||
reduceUiAnimation: "Reduzir a animação da ‘interface’ do utilizador"
|
||||
share: "Compartilhar"
|
||||
notFound: "Não encontrado"
|
||||
notFoundDescription: "Não havia página correspondente ao URL especificado."
|
||||
uploadFolder: "Destino de ‘upload’ padrão"
|
||||
cacheClear: "Excluir memória transitória"
|
||||
markAsReadAllNotifications: "Marcar todas as notificações como lidas"
|
||||
markAsReadAllUnreadNotes: "Marcar todas as postagens como lidas"
|
||||
markAsReadAllTalkMessages: "Marcar todas as conversas como lidas"
|
||||
help: "Ajuda"
|
||||
inputMessageHere: "Escrever mensagem aqui"
|
||||
close: "Fechar"
|
||||
group: "Grupos"
|
||||
groups: "Grupos"
|
||||
createGroup: "Criar grupo"
|
||||
ownedGroups: "Grupo próprio"
|
||||
invites: "Convidar"
|
||||
invitations: "Convidar"
|
||||
tags: "Etiquetas"
|
||||
docSource: "Fonte deste documento"
|
||||
createAccount: "Criar conta"
|
||||
existingAccount: "Contas existentes"
|
||||
regenerate: "Gerar novamente"
|
||||
fontSize: "Tamanho do texto"
|
||||
noFollowRequests: "Não há aplicação de acompanhamento"
|
||||
openImageInNewTab: "Abrir a imagem numa nova aba"
|
||||
dashboard: "Painel de controle"
|
||||
local: "Local"
|
||||
remote: "Remoto"
|
||||
total: "Total"
|
||||
weekOverWeekChanges: "Em comparação com a semana anterior"
|
||||
dayOverDayChanges: "Dia anterior"
|
||||
appearance: "Aparência"
|
||||
clientSettings: "Configurações do cliente"
|
||||
accountSettings: "Configurações da conta"
|
||||
promotion: "Promoção"
|
||||
promote: "Promover"
|
||||
numberOfDays: "Dias"
|
||||
hideThisNote: "Ocultar esta nota"
|
||||
showFeaturedNotesInTimeline: "Mostrar notas recomendadas na linha do tempo"
|
||||
objectStorage: "Armazenamento de objetos"
|
||||
useObjectStorage: "Usar armazenamento de objetos"
|
||||
objectStorageBaseUrl: "URL base"
|
||||
objectStorageBaseUrlDesc: "O URL usado para referência. Se você estiver usando um CDN ou Proxy, seu URL, S3:'https: // <bucket> .s3.amazonaws.com', GCS, etc .:'https://storage.googleapis.com/ <bucket>' ."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "Especifique o nome do bucket do serviço a ser usado."
|
||||
objectStoragePrefix: "Prefixo"
|
||||
objectStoragePrefixDesc: "Ele é armazenado neste diretório de prefixo."
|
||||
objectStorageEndpoint: "Ponto final"
|
||||
objectStorageEndpointDesc: "Especifique vazio para S3, caso contrário, especifique o ponto final para cada serviço. Especifique como'<host>'ou'<host>: <port>'."
|
||||
objectStorageRegion: "Região"
|
||||
objectStorageRegionDesc: "Especifique uma região como 'xx-east-1'. Caso seu serviço não tenha o conceito de região, ele deve estar vazio ou 'us-east-1'."
|
||||
objectStorageUseSSL: "Usar SSL"
|
||||
objectStorageUseSSLDesc: "Desative-o se não quiser usar https para conexões de API"
|
||||
objectStorageUseProxy: "Usar proxy"
|
||||
objectStorageUseProxyDesc: "Se você não usa proxy para conexão de API, desative-o."
|
||||
objectStorageSetPublicRead: "Definir 'public-read' ao fazer o upload"
|
||||
serverLogs: "Registro do servidor"
|
||||
deleteAll: "Apagar Tudo"
|
||||
showFixedPostForm: "Exibir o formulário de postagem na parte superior da linha do tempo"
|
||||
newNoteRecived: "Nova nota recebida"
|
||||
sounds: "Sons"
|
||||
sound: "Sons"
|
||||
listen: "Ouvir"
|
||||
none: "Nenhum"
|
||||
showInPage: "Ver na página"
|
||||
popout: "Sair"
|
||||
volume: "Volume"
|
||||
masterVolume: "volume principal"
|
||||
details: "Detalhes"
|
||||
output: "Resultado"
|
||||
smtpHost: "hospedeiro"
|
||||
smtpUser: "Nome de usuário"
|
||||
smtpPass: "Senha"
|
||||
clearCache: "Limpar memória transitória"
|
||||
info: "Informações"
|
||||
user: "Usuários"
|
||||
searchByGoogle: "Buscar"
|
||||
file: "Ficheiros"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Você tem um novo seguidor"
|
||||
_mfm:
|
||||
search: "Pesquisar"
|
||||
mention: "Menção"
|
||||
quote: "Citar"
|
||||
emoji: "Emoji personalizado"
|
||||
search: "Buscar"
|
||||
_theme:
|
||||
keys:
|
||||
mention: "Menção"
|
||||
renote: "Repostar"
|
||||
_sfx:
|
||||
note: "Posts"
|
||||
notification: "Notificações"
|
||||
chat: "Chat"
|
||||
_widgets:
|
||||
profile: "Perfil"
|
||||
instanceInfo: "Informações da instância"
|
||||
notifications: "Notificações"
|
||||
timeline: "Timeline"
|
||||
activity: "atividade"
|
||||
federation: "União"
|
||||
jobQueue: "Fila de trabalhos"
|
||||
_userList:
|
||||
chooseList: "Escolhe uma lista"
|
||||
_cw:
|
||||
show: "Carregar mais"
|
||||
_visibility:
|
||||
home: "casa"
|
||||
followers: "Seguidores"
|
||||
_profile:
|
||||
name: "Nome"
|
||||
username: "Nome de usuário"
|
||||
_exportOrImport:
|
||||
followingList: "Seguindo"
|
||||
muteList: "Silenciar"
|
||||
blockingList: "Bloquear"
|
||||
userLists: "Listas"
|
||||
_charts:
|
||||
federation: "União"
|
||||
_timelines:
|
||||
home: "casa"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "imagem"
|
||||
_relayStatus:
|
||||
requesting: "Pendente"
|
||||
accepted: "Aprovado"
|
||||
rejected: "Recusado"
|
||||
_notification:
|
||||
fileUploaded: "Carregamento de arquivo efetuado com sucesso"
|
||||
youGotMention: "{name} te mencionou"
|
||||
youGotReply: "{name} te respondeu"
|
||||
youGotQuote: "{name} te citou"
|
||||
youGotMessagingMessageFromUser: "{name} te mandou uma mensagem de bate-papo"
|
||||
youGotMessagingMessageFromGroup: "Uma mensagem foi mandada para o grupo {name}"
|
||||
youWereFollowed: "Você tem um novo seguidor"
|
||||
youReceivedFollowRequest: "Você recebeu um pedido de seguimento"
|
||||
yourFollowRequestAccepted: "Seu pedido de seguimento foi aceito"
|
||||
youWereInvitedToGroup: "{userName} te convidou para um grupo"
|
||||
pollEnded: "Os resultados da enquete agora estão disponíveis"
|
||||
emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
|
||||
_types:
|
||||
all: "Todos"
|
||||
follow: "Seguindo"
|
||||
mention: "Menção"
|
||||
reply: "Respostas"
|
||||
renote: "Repostar"
|
||||
quote: "Citar"
|
||||
reaction: "Reações"
|
||||
pollEnded: "Enquetes terminando"
|
||||
receiveFollowRequest: "Recebeu pedidos de seguimento"
|
||||
followRequestAccepted: "Aceitou pedidos de seguimento"
|
||||
groupInvited: "Convites de grupo"
|
||||
app: "Notificações de aplicativos conectados"
|
||||
_actions:
|
||||
followBack: "te seguiu de volta"
|
||||
reply: "Responder"
|
||||
renote: "Repostar"
|
||||
_deck:
|
||||
alwaysShowMainColumn: "Sempre mostrar a coluna principal"
|
||||
columnAlign: "Alinhar colunas"
|
||||
addColumn: "Adicionar coluna"
|
||||
swapLeft: "Trocar de posição com a coluna à esquerda"
|
||||
swapRight: "Trocar de posição com a coluna à direita"
|
||||
swapUp: "Trocar de posição com a coluna acima"
|
||||
swapDown: "Trocar de posição com a coluna abaixo"
|
||||
popRight: "Acoplar coluna à direita"
|
||||
profile: "Perfil"
|
||||
_columns:
|
||||
main: "Principal"
|
||||
widgets: "Widgets"
|
||||
notifications: "Notificações"
|
||||
tl: "Timeline"
|
||||
antenna: "Antenas"
|
||||
list: "Listas"
|
||||
mentions: "Menções"
|
||||
direct: "Notas diretas"
|
||||
|
||||
724
locales/ro-RO.yml
Normal file
724
locales/ro-RO.yml
Normal file
@@ -0,0 +1,724 @@
|
||||
---
|
||||
_lang_: "Română"
|
||||
headlineMisskey: "O rețea conectată prin note"
|
||||
introMisskey: "Bine ai venit! Misskey este un serviciu de microblogging open source și decentralizat.\nCreează \"note\" cu care să îți poți împărți gândurile cu oricine din jurul tău. 📡\nCu \"reacții\" îți poți expirma rapid părerea despre notele oricui. 👍\nHai să explorăm o lume nouă! 🚀"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Caută"
|
||||
notifications: "Notificări"
|
||||
username: "Nume de utilizator"
|
||||
password: "Parolă"
|
||||
forgotPassword: "Am uitat parola"
|
||||
fetchingAsApObject: "Se aduce din Fediverse..."
|
||||
ok: "OK"
|
||||
gotIt: "Am înțeles!"
|
||||
cancel: "Anulează"
|
||||
enterUsername: "Introdu numele de utilizator"
|
||||
renotedBy: "Re-notat de {user}"
|
||||
noNotes: "Nicio notă"
|
||||
noNotifications: "Nicio notificare"
|
||||
instance: "Instanță"
|
||||
settings: "Setări"
|
||||
basicSettings: "Setări generale"
|
||||
otherSettings: "Alte Setări"
|
||||
openInWindow: "Deschide într-o fereastră"
|
||||
profile: "Profil"
|
||||
timeline: "Cronologie"
|
||||
noAccountDescription: "Acest utilizator încă nu a scris un bio."
|
||||
login: "Autentifică-te"
|
||||
loggingIn: "Se autentifică"
|
||||
logout: "Deconectează-te"
|
||||
signup: "Înregistrează-te"
|
||||
uploading: "Se încarcă"
|
||||
save: "Salvează"
|
||||
users: "Utilizatori"
|
||||
addUser: "Adăugă utilizator"
|
||||
favorite: "Adaugă la favorite"
|
||||
favorites: "Favorite"
|
||||
unfavorite: "Elimină din favorite"
|
||||
favorited: "Adăugat la favorite."
|
||||
alreadyFavorited: "Deja adăugat la favorite."
|
||||
cantFavorite: "Nu se poate adăuga la favorite."
|
||||
pin: "Fixează pe profil"
|
||||
unpin: "Anulati fixare"
|
||||
copyContent: "Copiază conținutul"
|
||||
copyLink: "Copiază link-ul"
|
||||
delete: "Şterge"
|
||||
deleteAndEdit: "Șterge și editează"
|
||||
deleteAndEditConfirm: "Ești sigur că vrei să ștergi această notă și să o editezi? Vei pierde reacțiile, re-notele și răspunsurile acesteia."
|
||||
addToList: "Adaugă în listă"
|
||||
sendMessage: "Trimite un mesaj"
|
||||
copyUsername: "Copiază numele de utilizator"
|
||||
searchUser: "Caută un utilizator"
|
||||
reply: "Răspunde"
|
||||
loadMore: "Incarcă mai mult"
|
||||
showMore: "Arată mai mult"
|
||||
showLess: "Închide"
|
||||
youGotNewFollower: "te-a urmărit"
|
||||
receiveFollowRequest: "Cerere de urmărire primită"
|
||||
followRequestAccepted: "Cerere de urmărire acceptată"
|
||||
mention: "Mențiune"
|
||||
mentions: "Mențiuni"
|
||||
directNotes: "Note directe"
|
||||
importAndExport: "Importă / Exportă"
|
||||
import: "Importă"
|
||||
export: "Exportă"
|
||||
files: "Fișiere"
|
||||
download: "Descarcă"
|
||||
driveFileDeleteConfirm: "Ești sigur ca vrei să ștergi fișierul \"{name}\"? Notele atașate fișierului vor fi șterse și ele."
|
||||
unfollowConfirm: "Ești sigur ca vrei să nu mai urmărești pe {name}?"
|
||||
exportRequested: "Ai cerut un export. S-ar putea să ia un pic. Va fi adăugat in Drive-ul tău odată completat."
|
||||
importRequested: "Ai cerut un import. S-ar putea să ia un pic."
|
||||
lists: "Liste"
|
||||
noLists: "Nu ai nici o listă"
|
||||
note: "Notă"
|
||||
notes: "Note"
|
||||
following: "Urmărești"
|
||||
followers: "Urmăritori"
|
||||
followsYou: "Te urmărește"
|
||||
createList: "Creează listă"
|
||||
manageLists: "Gestionează listele"
|
||||
error: "Eroare"
|
||||
somethingHappened: "A survenit o eroare"
|
||||
retry: "Reîncearcă"
|
||||
pageLoadError: "A apărut o eroare la încărcarea paginii."
|
||||
pageLoadErrorDescription: "De obicei asta este cauzat de o eroare de rețea sau cache-ul browser-ului. Încearcă să cureți cache-ul și apoi să încerci din nou puțin mai târziu."
|
||||
serverIsDead: "Serverul nu răspunde. Te rugăm să aștepți o perioadă și să încerci din nou."
|
||||
youShouldUpgradeClient: "Pentru a vedea această pagină, te rugăm să îți actualizezi clientul."
|
||||
enterListName: "Introdu un nume pentru listă"
|
||||
privacy: "Confidenţialitate"
|
||||
makeFollowManuallyApprove: "Fă cererile de urmărire să necesite aprobare"
|
||||
defaultNoteVisibility: "Vizibilitate implicită"
|
||||
follow: "Urmărești"
|
||||
followRequest: "Trimite cerere de urmărire"
|
||||
followRequests: "Cereri de urmărire"
|
||||
unfollow: "Nu mai urmări"
|
||||
followRequestPending: "Cerere de urmărire în așteptare"
|
||||
enterEmoji: "Introdu un emoji"
|
||||
renote: "Re-notează"
|
||||
unrenote: "Ia înapoi re-nota"
|
||||
renoted: "Re-notat."
|
||||
cantRenote: "Această postare nu poate fi re-notată."
|
||||
cantReRenote: "O re-notă nu poate fi re-notată."
|
||||
quote: "Citează"
|
||||
pinnedNote: "Notă fixată"
|
||||
pinned: "Fixat pe profil"
|
||||
you: "Tu"
|
||||
clickToShow: "Click pentru a afișa"
|
||||
sensitive: "NSFW"
|
||||
add: "Adaugă"
|
||||
reaction: "Reacție"
|
||||
reactions: "Reacție"
|
||||
reactionSetting: "Reacții care să apară in selectorul de reacții"
|
||||
reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga."
|
||||
rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor"
|
||||
attachCancel: "Înlătură atașament"
|
||||
markAsSensitive: "Marchează ca NSFW"
|
||||
unmarkAsSensitive: "Demarchează ca NSFW"
|
||||
enterFileName: "Introduceţi numele fişierului"
|
||||
mute: "Amuțește"
|
||||
unmute: "Înlătură amuțirea"
|
||||
block: "Blochează"
|
||||
unblock: "Deblochează"
|
||||
suspend: "Suspendă"
|
||||
unsuspend: "Anulează suspendare"
|
||||
blockConfirm: "Ești sigur că vrei să blochezi acest cont?"
|
||||
unblockConfirm: "Ești sigur ca vrei să deblochezi acest cont?"
|
||||
suspendConfirm: "Ești sigur ca vrei să suspendezi acest cont?"
|
||||
unsuspendConfirm: "Ești sigur ca vrei să nu mai suspendezi acest cont?"
|
||||
selectList: "Selectează o listă"
|
||||
selectAntenna: "Selectează o antenă"
|
||||
selectWidget: "Selectați un widget"
|
||||
editWidgets: "Editează widget-urile"
|
||||
editWidgetsExit: "Terminat"
|
||||
customEmojis: "Emoji personalizat"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emoji-uri"
|
||||
emojiName: "Numele emoji-ului"
|
||||
emojiUrl: "URL-ul emoji-ului"
|
||||
addEmoji: "Adaugă un emoji"
|
||||
settingGuide: "Setări recomandate"
|
||||
cacheRemoteFiles: "Ține fișierele externe in cache"
|
||||
cacheRemoteFilesDescription: "Când această setare este dezactivată, fișierele externe sunt încărcate direct din instanța externă. Dezactivarea va scădea utilizarea spațiului de stocare, dar va crește traficul, deoarece thumbnail-urile nu vor fi generate."
|
||||
flagAsBot: "Marchează acest cont ca bot"
|
||||
flagAsBotDescription: "Activează această opțiune dacă acest cont este controlat de un program. Daca e activată, aceasta va juca rolul unui indicator pentru dezvoltatori pentru a preveni interacțiunea în lanțuri infinite cu ceilalți boți și ajustează sistemele interne al Misskey pentru a trata acest cont drept un bot."
|
||||
flagAsCat: "Marchează acest cont ca pisică"
|
||||
flagAsCatDescription: "Activează această opțiune dacă acest cont este o pisică."
|
||||
flagShowTimelineReplies: "Arată răspunsurile în cronologie"
|
||||
flagShowTimelineRepliesDescription: "Dacă e activată vor fi arătate în cronologie răspunsurile utilizatorilor către alte notele altor utilizatori."
|
||||
autoAcceptFollowed: "Aprobă automat cererile de urmărire de la utilizatorii pe care îi urmărești"
|
||||
addAccount: "Adaugă un cont"
|
||||
loginFailed: "Autentificare eșuată"
|
||||
showOnRemote: "Vezi mai multe pe instanța externă"
|
||||
general: "General"
|
||||
wallpaper: "Imagine de fundal"
|
||||
setWallpaper: "Setați imaginea de fundal"
|
||||
removeWallpaper: "Șterge imagine de fundal"
|
||||
searchWith: "Caută: {q}"
|
||||
youHaveNoLists: "Nu ai nici o listă"
|
||||
followConfirm: "Ești sigur ca vrei să urmărești pe {name}?"
|
||||
proxyAccount: "Cont proxy"
|
||||
proxyAccountDescription: "Un cont proxy este un cont care se comportă ca un urmăritor extern pentru utilizatorii puși sub anumite condiții. De exemplu, când un cineva adaugă un utilizator extern intr-o listă, activitatea utilizatorului extern nu va fi adusă în instanță daca nici un utilizator local nu urmărește acel utilizator, așa că în schimb contul proxy îl va urmări."
|
||||
host: "Gazdă"
|
||||
selectUser: "Selectează un utilizator"
|
||||
recipient: "Destinatar"
|
||||
annotation: "Adnotări"
|
||||
federation: "Federație"
|
||||
instances: "Instanțe"
|
||||
registeredAt: "Înregistrat în"
|
||||
latestRequestReceivedAt: "Ultima cerere primită"
|
||||
latestStatus: "Ultimul status"
|
||||
storageUsage: "Utilizare stocare"
|
||||
charts: "Diagrame"
|
||||
perHour: "Pe oră"
|
||||
perDay: "Pe zi"
|
||||
stopActivityDelivery: "Nu mai trimite activități"
|
||||
blockThisInstance: "Blochează această instanță"
|
||||
operations: "Operațiuni"
|
||||
software: "Software"
|
||||
version: "Versiune"
|
||||
metadata: "Metadata"
|
||||
withNFiles: "{n} fișier(e)"
|
||||
monitor: "Monitor"
|
||||
jobQueue: "coada de job-uri"
|
||||
cpuAndMemory: "CPU și memorie"
|
||||
network: "Rețea"
|
||||
disk: "Disk"
|
||||
instanceInfo: "Informații despre instanță"
|
||||
statistics: "Statistici"
|
||||
clearQueue: "Șterge coada"
|
||||
clearQueueConfirmTitle: "Ești sigur că vrei să cureți coada?"
|
||||
clearQueueConfirmText: "Orice notă rămasă în coadă nu va fi federată. De obicei această operație nu este necesară."
|
||||
clearCachedFiles: "Golește cache-ul"
|
||||
clearCachedFilesConfirm: "Ești sigur că vrei să ștergi toate fișierele externe din cache?"
|
||||
blockedInstances: "Instanțe blocate"
|
||||
blockedInstancesDescription: "Scrie hostname-urile instanțelor pe care dorești să le blochezi. Instanțele listate nu vor mai putea să comunice cu această instanță."
|
||||
muteAndBlock: "Amuțiri și Blocări"
|
||||
mutedUsers: "Utilizatori amuțiți"
|
||||
blockedUsers: "Utilizatori blocați"
|
||||
noUsers: "Niciun utilizator"
|
||||
editProfile: "Editează profilul"
|
||||
noteDeleteConfirm: "Ești sigur că vrei să ștergi această notă?"
|
||||
pinLimitExceeded: "Nu poți mai fixa mai multe note"
|
||||
intro: "Misskey s-a instalat! Te rog crează un utilizator admin."
|
||||
done: "Gata"
|
||||
processing: "Se procesează"
|
||||
preview: "Previzualizare"
|
||||
default: "Prestabilit"
|
||||
noCustomEmojis: "Nu e niciun emoji"
|
||||
noJobs: "Nu e niciun job"
|
||||
federating: "Federație"
|
||||
blocked: "Blocat"
|
||||
suspended: "Suspendat"
|
||||
all: "Tot"
|
||||
subscribing: "Abonare"
|
||||
publishing: "Publicare"
|
||||
notResponding: "Nu răspunde"
|
||||
instanceFollowing: "Urmărind în instanță"
|
||||
instanceFollowers: "Urmăritori ai instanței"
|
||||
instanceUsers: "Utilizatori ai acestei instanțe"
|
||||
changePassword: "Schimbă parolă"
|
||||
security: "Securitate"
|
||||
retypedNotMatch: "Intrările nu corespund"
|
||||
currentPassword: "Parola curentă"
|
||||
newPassword: "Parola nouă"
|
||||
newPasswordRetype: "Rescrie parola nouă"
|
||||
attachFile: "Atașează fișiere"
|
||||
more: "Mai mult!"
|
||||
featured: "Evidențiat"
|
||||
usernameOrUserId: "Nume sau ID de utilizator"
|
||||
noSuchUser: "Utilizatorul nu a fost găsit"
|
||||
lookup: "Privire"
|
||||
announcements: "Anunțuri"
|
||||
imageUrl: "URL-ul imaginii"
|
||||
remove: "Şterge"
|
||||
removed: "Șterș cu succes"
|
||||
removeAreYouSure: "Ești sigur că vrei să înlături {x}?"
|
||||
deleteAreYouSure: "Ești sigur că vrei să ștergi {x}?"
|
||||
resetAreYouSure: "Sigur vrei să resetezi?"
|
||||
saved: "Salvat"
|
||||
messaging: "Chat"
|
||||
upload: "Încarcă"
|
||||
keepOriginalUploading: "Păstrează imaginea originală"
|
||||
keepOriginalUploadingDescription: "Salvează imaginea originala încărcată fără modificări. Dacă e oprită, o versiune pentru afișarea pe web va fi generată la încărcare."
|
||||
fromDrive: "Din Drive"
|
||||
fromUrl: "Din URL"
|
||||
uploadFromUrl: "Încarcă dintr-un URL"
|
||||
uploadFromUrlDescription: "URL-ul fișierului pe care dorești să îl încarci"
|
||||
uploadFromUrlRequested: "Încărcare solicitată"
|
||||
uploadFromUrlMayTakeTime: "S-ar putea să ia puțin până se finalizează încărcarea."
|
||||
explore: "Explorează"
|
||||
messageRead: "Citit"
|
||||
noMoreHistory: "Nu există mai mult istoric"
|
||||
startMessaging: "Începe un chat nou"
|
||||
nUsersRead: "citit de {n}"
|
||||
agreeTo: "Sunt de acord cu {0}"
|
||||
tos: "Termenii de utilizare"
|
||||
start: "Să începem"
|
||||
home: "Acasă"
|
||||
remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă, informația afișată poate fi incompletă."
|
||||
activity: "Activitate"
|
||||
images: "Imagini"
|
||||
birthday: "Zi de naștere"
|
||||
yearsOld: "{age} ani"
|
||||
registeredDate: "Data înregistrării"
|
||||
location: "Locație"
|
||||
theme: "Teme"
|
||||
themeForLightMode: "Temă folosită pentru Modul Luminat"
|
||||
themeForDarkMode: "Temă folosită pentru Modul Întunecat"
|
||||
light: "Luminos"
|
||||
dark: "Întunecat"
|
||||
lightThemes: "Teme luminoase"
|
||||
darkThemes: "Teme întunecate"
|
||||
syncDeviceDarkMode: "Sincronizează Modul Întunecat cu setările dispozitivului"
|
||||
drive: "Drive"
|
||||
fileName: "Nume fișier"
|
||||
selectFile: "Alege un fisier"
|
||||
selectFiles: "Alege fișiere"
|
||||
selectFolder: "Selectează un folder"
|
||||
selectFolders: "Selectează folderele"
|
||||
renameFile: "Redenumește fișier"
|
||||
folderName: "Nume folder"
|
||||
createFolder: "Crează folder"
|
||||
renameFolder: "Redenumește acest folder"
|
||||
deleteFolder: "Șterge acest folder"
|
||||
addFile: "Adăugați un fișier"
|
||||
emptyDrive: "Drive-ul tău e gol"
|
||||
emptyFolder: "Folder-ul acesta este gol"
|
||||
unableToDelete: "Nu se poate șterge"
|
||||
inputNewFileName: "Introdu un nou nume de fișier"
|
||||
inputNewDescription: "Introdu o descriere nouă"
|
||||
inputNewFolderName: "Introdu un nume de folder nou"
|
||||
circularReferenceFolder: "Destinația folderului este un subfolder al folderului pe care dorești să îl muți."
|
||||
hasChildFilesOrFolders: "Acest folder nu este gol, așa că nu poate fi șters."
|
||||
copyUrl: "Copiază URL"
|
||||
rename: "Redenumește"
|
||||
avatar: "Avatar"
|
||||
banner: "Banner"
|
||||
nsfw: "NSFW"
|
||||
whenServerDisconnected: "Când pierzi conexiunea cu serverul"
|
||||
disconnectedFromServer: "Conecțiunea cu serverul a fost pierdută"
|
||||
reload: "Reîncarcă"
|
||||
doNothing: "Ignoră"
|
||||
reloadConfirm: "Ai dori să reîmprospătezi cronologia?"
|
||||
watch: "Vezi"
|
||||
unwatch: "Oprește-te din văzut"
|
||||
accept: "Acceptă"
|
||||
reject: "Respinge"
|
||||
normal: "Normal"
|
||||
instanceName: "Numele instanței"
|
||||
instanceDescription: "Descrierea instanței"
|
||||
maintainerName: "Administrator"
|
||||
maintainerEmail: "Email-ul administratorului"
|
||||
tosUrl: "URL-ul Termenilor de utilizare"
|
||||
thisYear: "An"
|
||||
thisMonth: "Lună"
|
||||
today: "Azi"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Pagini"
|
||||
integration: "Integrare"
|
||||
connectService: "Conectează"
|
||||
disconnectService: "Deconectează"
|
||||
enableLocalTimeline: "Activează cronologia locală"
|
||||
enableGlobalTimeline: "Activeaza cronologia globală"
|
||||
disablingTimelinesInfo: "Administratorii și Moderatorii vor avea mereu access la toate cronologiile, chiar dacă nu sunt activate."
|
||||
registration: "Inregistrare"
|
||||
enableRegistration: "Activează înregistrările pentru utilizatori noi"
|
||||
invite: "Invită"
|
||||
driveCapacityPerLocalAccount: "Capacitatea Drive-ului per utilizator local"
|
||||
driveCapacityPerRemoteAccount: "Capacitatea Drive-ului per utilizator extern"
|
||||
inMb: "În megabytes"
|
||||
iconUrl: "URL-ul iconiței"
|
||||
bannerUrl: "URL-ul imaginii de banner"
|
||||
backgroundImageUrl: "URL-ul imaginii de fundal"
|
||||
basicInfo: "Informații de bază"
|
||||
pinnedUsers: "Utilizatori fixați"
|
||||
pinnedUsersDescription: "Scrie utilizatorii, separați prin pauză de rând, care vor fi fixați pe pagina \"Explorează\"."
|
||||
pinnedPages: "Pagini fixate"
|
||||
pinnedPagesDescription: "Introdu linkurile Paginilor pe care le vrei fixate in vâruful paginii acestei instanțe, separate de pauze de rând."
|
||||
pinnedClipId: "ID-ul clip-ului pe care să îl fixezi"
|
||||
pinnedNotes: "Notă fixată"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Activează hCaptcha"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Activează reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
recaptchaSecretKey: "Secret key"
|
||||
turnstileSiteKey: "Site key"
|
||||
turnstileSecretKey: "Secret key"
|
||||
avoidMultiCaptchaConfirm: "Folosirea mai multor sisteme Captcha poate cauza interferență între acestea. Ai dori să dezactivezi alte sisteme Captcha acum active? Dacă preferi să rămână activate, apasă Anulare."
|
||||
antennas: "Antene"
|
||||
manageAntennas: "Gestionează Antenele"
|
||||
name: "Nume"
|
||||
antennaSource: "Sursa antenei"
|
||||
antennaKeywords: "Cuvinte cheie ascultate"
|
||||
antennaExcludeKeywords: "Cuvinte cheie excluse"
|
||||
antennaKeywordsDescription: "Separă cu spații pentru o condiție ȘI sau cu o întrerupere de rând pentru o condiție SAU."
|
||||
notifyAntenna: "Notifică-mă pentru note noi"
|
||||
withFileAntenna: "Doar note cu fișiere"
|
||||
enableServiceworker: "Activează ServiceWorker"
|
||||
antennaUsersDescription: "Scrie un nume de utilizator per linie"
|
||||
caseSensitive: "Sensibil la majuscule și minuscule"
|
||||
withReplies: "Include răspunsuri"
|
||||
connectedTo: "Următoarele conturi sunt conectate"
|
||||
notesAndReplies: "Note și răspunsuri"
|
||||
withFiles: "Incluzând fișiere"
|
||||
silence: "Amuțește"
|
||||
silenceConfirm: "Ești sigur că vrei să amuțești acest utilizator?"
|
||||
unsilence: "Anulează amuțirea"
|
||||
unsilenceConfirm: "Ești sigur că vrei să anulezi amuțirea acestui utilizator?"
|
||||
popularUsers: "Utilizatori populari"
|
||||
recentlyUpdatedUsers: "Utilizatori activi recent"
|
||||
recentlyRegisteredUsers: "Utilizatori ce s-au alăturat recent"
|
||||
recentlyDiscoveredUsers: "Utilizatori descoperiți recent"
|
||||
exploreUsersCount: "Aici sunt {count} utilizatori"
|
||||
exploreFediverse: "Explorează Fediverse-ul"
|
||||
popularTags: "Taguri populare"
|
||||
userList: "Liste"
|
||||
about: "Despre"
|
||||
aboutMisskey: "Despre Misskey"
|
||||
administrator: "Administrator"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Autentificare în doi pași"
|
||||
moderator: "Moderator"
|
||||
nUsersMentioned: "Menționat de {n} utilizatori"
|
||||
securityKey: "Cheie de securitate"
|
||||
securityKeyName: "Numele cheii"
|
||||
registerSecurityKey: "Înregistrează o cheie de securitate"
|
||||
lastUsed: "Ultima utilizată"
|
||||
unregister: "Dezînregistrează"
|
||||
passwordLessLogin: "Autentificare fără parolă"
|
||||
resetPassword: "Resetează parola"
|
||||
newPasswordIs: "Noua parolă este \"{password}\""
|
||||
reduceUiAnimation: "Redu animațiile interfeței"
|
||||
share: "Distribuie"
|
||||
notFound: "Nu a fost găsit"
|
||||
notFoundDescription: "N-a fost găsită nicio pagină cu acest URL."
|
||||
uploadFolder: "Folder implicit pentru încărcări"
|
||||
cacheClear: "Golește cache-ul"
|
||||
markAsReadAllNotifications: "Marchează toate notificările drept citit"
|
||||
markAsReadAllUnreadNotes: "Marchează toate notele drept citit"
|
||||
markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
|
||||
help: "Ajutor"
|
||||
inputMessageHere: "Introdu un mesaj aici"
|
||||
close: "Închide"
|
||||
group: "Grup"
|
||||
groups: "Grupuri"
|
||||
createGroup: "Crează un grup"
|
||||
ownedGroups: "Grupuri deținute"
|
||||
joinedGroups: "Grupuri alăturate"
|
||||
invites: "Invită"
|
||||
groupName: "Numele grupului"
|
||||
members: "Membri"
|
||||
transfer: "Transferă"
|
||||
messagingWithUser: "Chat privat"
|
||||
messagingWithGroup: "Chat de grup"
|
||||
title: "Titlu"
|
||||
text: "Text"
|
||||
enable: "Activează"
|
||||
next: "Următorul"
|
||||
retype: "Introdu din nou"
|
||||
noteOf: "Notă de {user}"
|
||||
inviteToGroup: "Invită în grup"
|
||||
quoteAttached: "Citat"
|
||||
quoteQuestion: "Vrei să adaugi ca citat?"
|
||||
noMessagesYet: "Niciun mesaj încă"
|
||||
newMessageExists: "Ai mesaje noi"
|
||||
onlyOneFileCanBeAttached: "Poți atașa un singur fișier la un mesaj"
|
||||
signinRequired: "Te rog autentifică-te"
|
||||
invitations: "Invită"
|
||||
invitationCode: "Cod de invitație"
|
||||
checking: "Se verifică..."
|
||||
available: "Disponibil"
|
||||
unavailable: "Indisponibil"
|
||||
usernameInvalidFormat: "Poți folosi litere mari și mici, numere și underscore-uri."
|
||||
tooShort: "Prea scurt"
|
||||
tooLong: "Prea lung"
|
||||
weakPassword: "Parolă slabă"
|
||||
normalPassword: "Parolă medie"
|
||||
strongPassword: "Parolă puternică"
|
||||
passwordMatched: "Se potrivește!"
|
||||
passwordNotMatched: "Nu se potrivește"
|
||||
signinWith: "Autentifică-te cu {x}"
|
||||
signinFailed: "Nu se poate autentifica. Numele de utilizator sau parola introduse sunt incorecte."
|
||||
tapSecurityKey: "Apasă pe cheia ta de securitate."
|
||||
or: "Sau"
|
||||
language: "Limbă"
|
||||
uiLanguage: "Limba interfeței"
|
||||
groupInvited: "Ai fost invitat într-un grup"
|
||||
aboutX: "Despre {x}"
|
||||
disableDrawer: "Nu folosi meniuri în stil sertar"
|
||||
youHaveNoGroups: "Nu ai niciun grup"
|
||||
joinOrCreateGroup: "Primește o invitație într-un grup sau creează unul nou."
|
||||
noHistory: "Nu există istoric"
|
||||
signinHistory: "Istoric autentificări"
|
||||
disableAnimatedMfm: "Dezactivează MFM cu animații"
|
||||
doing: "Se procesează..."
|
||||
category: "Categorie"
|
||||
tags: "Etichete"
|
||||
docSource: "Sursa acestui document"
|
||||
createAccount: "Creează un cont"
|
||||
existingAccount: "Cont existent"
|
||||
regenerate: "Regenerează"
|
||||
fontSize: "Mărimea fontului"
|
||||
noFollowRequests: "Nu ai nicio cerere de urmărire în așteptare"
|
||||
openImageInNewTab: "Deschide imaginile în taburi noi"
|
||||
dashboard: "Panou de control"
|
||||
local: "Local"
|
||||
remote: "Extern"
|
||||
total: "Total"
|
||||
weekOverWeekChanges: "Schimbări până săptămâna trecută"
|
||||
dayOverDayChanges: "Schimbări până ieri"
|
||||
appearance: "Aspect"
|
||||
clientSettings: "Setări client"
|
||||
accountSettings: "Setări cont"
|
||||
promotion: "Promovat"
|
||||
promote: "Promovează"
|
||||
numberOfDays: "Numărul zilelor"
|
||||
hideThisNote: "Ascunde această notă"
|
||||
showFeaturedNotesInTimeline: "Arată notele recomandate în cronologii"
|
||||
objectStorage: "Object Storage"
|
||||
useObjectStorage: "Folosește Object Storage"
|
||||
objectStorageBaseUrl: "URL de bază"
|
||||
objectStorageBaseUrlDesc: "URL-ul este folosit pentru referință. Specifică URL-ul CDN-ului sau Proxy-ului tău dacă folosești unul. Pentru S3 folosește 'https://<bucket>.s3.amazonaws.com' și pentru GCS sau servicii echivalente folosește 'https://storage.googleapis.com/<bucket>', etc."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "Te rog specifică numele bucket-ului furnizorului tău."
|
||||
objectStoragePrefix: "Prefix"
|
||||
objectStoragePrefixDesc: "Fișierele vor fi stocate sub directoare cu acest prefix."
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "Lasă acest câmp gol dacă folosești AWS S3, dacă nu specifică endpoint-ul ca '<host>' sau '<host>:<port>', depinzând de ce serviciu folosești."
|
||||
objectStorageRegion: "Regiune"
|
||||
objectStorageRegionDesc: "Specifică o regiune precum 'xx-east-1'. Dacă serviciul tău nu face distincția între regiuni lasă acest câmp gol sau introdu 'us-east-1'."
|
||||
objectStorageUseSSL: "Folosește SSl"
|
||||
objectStorageUseSSLDesc: "Oprește această opțiune dacă nu vei folosi HTTPS pentru conexiunile API-ului"
|
||||
objectStorageUseProxy: "Conectează-te prin Proxy"
|
||||
objectStorageUseProxyDesc: "Oprește această opțiune dacă vei nu folosi un Proxy pentru conexiunile API-ului"
|
||||
objectStorageSetPublicRead: "Setează \"public-read\" pentru încărcare"
|
||||
serverLogs: "Loguri server"
|
||||
deleteAll: "Șterge tot"
|
||||
showFixedPostForm: "Arată caseta de postare în vârful cronologie"
|
||||
newNoteRecived: "Sunt note noi"
|
||||
sounds: "Sunete"
|
||||
sound: "Sunete"
|
||||
listen: "Ascultă"
|
||||
none: "Nimic"
|
||||
showInPage: "Arată în pagină"
|
||||
popout: "Scoate în afară"
|
||||
volume: "Volum"
|
||||
masterVolume: "Volumul principal"
|
||||
details: "Detalii"
|
||||
chooseEmoji: "Alege un emoji"
|
||||
unableToProcess: "Această operație nu poate fi completată"
|
||||
recentUsed: "Folosit recent"
|
||||
install: "Instalează"
|
||||
uninstall: "Dezinstalează"
|
||||
installedApps: "Aplicații autorizate"
|
||||
nothing: "Nu e nimic de văzut aici"
|
||||
installedDate: "Autorizat la data de"
|
||||
lastUsedDate: "Folosit ultima oara la"
|
||||
state: "Stare"
|
||||
sort: "Sortează"
|
||||
ascendingOrder: "Crescător"
|
||||
descendingOrder: "Descrescător"
|
||||
scratchpad: "Scratchpad"
|
||||
scratchpadDescription: "Scratchpad-ul oferă un mediu de experimentare în AiScript. Poți scrie, executa și verifica rezultatele acestuia interacționând cu Misskey în el."
|
||||
output: "Ieșire"
|
||||
script: "Script"
|
||||
disablePagesScript: "Dezactivează AiScript în Pagini"
|
||||
updateRemoteUser: "Actualizează informațiile utilizatorului extern"
|
||||
deleteAllFiles: "Șterge toate fișierele"
|
||||
deleteAllFilesConfirm: "Ești sigur că vrei să ștergi toate fișierele?"
|
||||
removeAllFollowing: "Dezurmărește toți utilizatorii urmăriți"
|
||||
removeAllFollowingDescription: "Asta va dez-urmări toate conturile din {host}. Te rog execută asta numai dacă instanța, de ex., nu mai există."
|
||||
userSuspended: "Acest utilizator a fost suspendat."
|
||||
userSilenced: "Acest utilizator a fost setat silențios."
|
||||
yourAccountSuspendedTitle: "Acest cont a fost suspendat"
|
||||
yourAccountSuspendedDescription: "Acest cont a fost suspendat din cauza încălcării termenilor de serviciu al serverului sau ceva similar. Contactează administratorul dacă ai dori să afli un motiv mai detaliat. Te rog nu crea un cont nou."
|
||||
menu: "Meniu"
|
||||
divider: "Separator"
|
||||
addItem: "Adaugă element"
|
||||
relays: "Relee"
|
||||
addRelay: "Adaugă Releu"
|
||||
inboxUrl: "URL-ul inbox-ului"
|
||||
addedRelays: "Relee adăugate"
|
||||
serviceworkerInfo: "Trebuie să fie activat pentru notificări push."
|
||||
deletedNote: "Notă ștearsă"
|
||||
invisibleNote: "Note ascunse"
|
||||
enableInfiniteScroll: "Încarcă mai mult automat"
|
||||
visibility: "Vizibilitate"
|
||||
poll: "Sondaj"
|
||||
useCw: "Ascunde conținutul"
|
||||
enablePlayer: "Deschide player-ul video"
|
||||
disablePlayer: "Închide player-ul video"
|
||||
expandTweet: "Expandează tweet"
|
||||
themeEditor: "Editor de teme"
|
||||
description: "Descriere"
|
||||
describeFile: "Adaugă titrări"
|
||||
enterFileDescription: "Introdu titrările"
|
||||
author: "Autor"
|
||||
leaveConfirm: "Ai schimbări nesalvate. Vrei să renunți la ele?"
|
||||
manage: "Gestionare"
|
||||
plugins: "Pluginuri"
|
||||
deck: "Deck"
|
||||
undeck: "Părăsește Deck"
|
||||
useBlurEffectForModal: "Folosește efect de blur pentru modale"
|
||||
width: "Lăţime"
|
||||
height: "Înălţime"
|
||||
large: "Mare"
|
||||
medium: "Mediu"
|
||||
small: "Mic"
|
||||
generateAccessToken: "Generează token de acces"
|
||||
permission: "Permisiuni"
|
||||
enableAll: "Actevează tot"
|
||||
disableAll: "Dezactivează tot"
|
||||
tokenRequested: "Acordă acces la cont"
|
||||
pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile setate aici."
|
||||
notificationType: "Tipul notificării"
|
||||
edit: "Editează"
|
||||
useStarForReactionFallback: "Folosește ★ ca fallback dacă emoji-ul este necunoscut"
|
||||
emailServer: "Server email"
|
||||
enableEmail: "Activează distribuția de emailuri"
|
||||
emailConfigInfo: "Folosit pentru a confirma emailul tău în timpul logări dacă îți uiți parola"
|
||||
email: "Email"
|
||||
emailAddress: "Adresă de email"
|
||||
smtpConfig: "Configurare Server SMTP"
|
||||
smtpHost: "Gazdă"
|
||||
smtpPort: "Port"
|
||||
smtpUser: "Nume de utilizator"
|
||||
smtpPass: "Parolă"
|
||||
emptyToDisableSmtpAuth: "Lasă username-ul și parola necompletate pentru a dezactiva verificarea SMTP"
|
||||
smtpSecure: "Folosește SSL/TLS implicit pentru conecțiunile SMTP"
|
||||
smtpSecureInfo: "Oprește opțiunea asta dacă STARTTLS este folosit"
|
||||
testEmail: "Testează livrarea emailurilor"
|
||||
wordMute: "Cuvinte pe mut"
|
||||
regexpError: "Eroare de Expresie Regulată"
|
||||
regexpErrorDescription: "A apărut o eroare în expresia regulată pe linia {line} al cuvintelor {tab} setate pe mut:"
|
||||
instanceMute: "Instanțe pe mut"
|
||||
userSaysSomething: "{name} a spus ceva"
|
||||
makeActive: "Activează"
|
||||
display: "Arată"
|
||||
copy: "Copiază"
|
||||
metrics: "Metrici"
|
||||
overview: "Privire de ansamblu"
|
||||
logs: "Log-uri"
|
||||
delayed: "Întârziate"
|
||||
database: "Baza de date"
|
||||
channel: "Canale"
|
||||
create: "Crează"
|
||||
notificationSetting: "Setări notificări"
|
||||
notificationSettingDesc: "Selectează tipurile de notificări care să fie arătate"
|
||||
useGlobalSetting: "Folosește setările globale"
|
||||
useGlobalSettingDesc: "Dacă opțiunea e pornită, notificările contului tău vor fi folosite. Dacă e oprită, configurația va fi individuală."
|
||||
other: "Altele"
|
||||
regenerateLoginToken: "Regenerează token de login"
|
||||
regenerateLoginTokenDescription: "Regenerează token-ul folosit intern în timpul logări. În mod normal asta nu este necesar. Odată regenerat, toate dispozitivele vor fi delogate."
|
||||
setMultipleBySeparatingWithSpace: "Separă mai multe intrări cu spații."
|
||||
fileIdOrUrl: "Introdu ID sau URL"
|
||||
behavior: "Comportament"
|
||||
sample: "exemplu"
|
||||
abuseReports: "Rapoarte"
|
||||
reportAbuse: "Raportează"
|
||||
reportAbuseOf: "Raportează {name}"
|
||||
fillAbuseReportDescription: "Te rog scrie detaliile legate de acest raport. Dacă este despre o notă specifică, te rog introdu URL-ul ei."
|
||||
abuseReported: "Raportul tău a fost trimis. Mulțumim."
|
||||
reporter: "Raportorul"
|
||||
reporteeOrigin: "Originea raportatului"
|
||||
reporterOrigin: "Originea raportorului"
|
||||
forwardReport: "Redirecționează raportul către instanța externă"
|
||||
forwardReportIsAnonymous: "În locul contului tău, va fi afișat un cont anonim, de sistem, ca raportor către instanța externă."
|
||||
send: "Trimite"
|
||||
abuseMarkAsResolved: "Marchează raportul ca rezolvat"
|
||||
openInNewTab: "Deschide în tab nou"
|
||||
openInSideView: "Deschide în vedere laterală"
|
||||
defaultNavigationBehaviour: "Comportament de navigare implicit"
|
||||
editTheseSettingsMayBreakAccount: "Editarea acestor setări îți pot defecta contul."
|
||||
waitingFor: "Așteptând pentru {x}"
|
||||
random: "Aleator"
|
||||
system: "Sistem"
|
||||
switchUi: "Schimbă UI"
|
||||
desktop: "Desktop"
|
||||
clearCache: "Golește cache-ul"
|
||||
info: "Despre"
|
||||
user: "Utilizatori"
|
||||
administration: "Gestionare"
|
||||
middle: "Mediu"
|
||||
sent: "Trimite"
|
||||
searchByGoogle: "Caută"
|
||||
file: "Fișiere"
|
||||
show: "Arată"
|
||||
_role:
|
||||
_priority:
|
||||
middle: "Mediu"
|
||||
_email:
|
||||
_follow:
|
||||
title: "te-a urmărit"
|
||||
_mfm:
|
||||
mention: "Mențiune"
|
||||
quote: "Citează"
|
||||
emoji: "Emoji personalizat"
|
||||
search: "Caută"
|
||||
_theme:
|
||||
description: "Descriere"
|
||||
keys:
|
||||
mention: "Mențiune"
|
||||
renote: "Re-notează"
|
||||
divider: "Separator"
|
||||
_sfx:
|
||||
note: "Note"
|
||||
notification: "Notificări"
|
||||
chat: "Chat"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Informații despre instanță"
|
||||
notifications: "Notificări"
|
||||
timeline: "Cronologie"
|
||||
activity: "Activitate"
|
||||
federation: "Federație"
|
||||
jobQueue: "coada de job-uri"
|
||||
_userList:
|
||||
chooseList: "Selectează o listă"
|
||||
_cw:
|
||||
show: "Incarcă mai mult"
|
||||
_visibility:
|
||||
home: "Acasă"
|
||||
followers: "Urmăritori"
|
||||
_profile:
|
||||
name: "Nume"
|
||||
username: "Nume de utilizator"
|
||||
_exportOrImport:
|
||||
followingList: "Urmărești"
|
||||
muteList: "Amuțește"
|
||||
blockingList: "Blochează"
|
||||
userLists: "Liste"
|
||||
_charts:
|
||||
federation: "Federație"
|
||||
_timelines:
|
||||
home: "Acasă"
|
||||
_play:
|
||||
script: "Script"
|
||||
summary: "Descriere"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "Imagini"
|
||||
_notification:
|
||||
youWereFollowed: "te-a urmărit"
|
||||
youWereInvitedToGroup: "Ai fost invitat într-un grup"
|
||||
_types:
|
||||
follow: "Urmărești"
|
||||
mention: "Mențiune"
|
||||
renote: "Re-notează"
|
||||
quote: "Citează"
|
||||
reaction: "Reacție"
|
||||
_actions:
|
||||
reply: "Răspunde"
|
||||
renote: "Re-notează"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Notificări"
|
||||
tl: "Cronologie"
|
||||
antenna: "Antene"
|
||||
list: "Liste"
|
||||
mentions: "Mențiuni"
|
||||
File diff suppressed because it is too large
Load Diff
1
locales/si-LK.yml
Normal file
1
locales/si-LK.yml
Normal file
@@ -0,0 +1 @@
|
||||
---
|
||||
1549
locales/sk-SK.yml
Normal file
1549
locales/sk-SK.yml
Normal file
File diff suppressed because it is too large
Load Diff
448
locales/sv-SE.yml
Normal file
448
locales/sv-SE.yml
Normal file
@@ -0,0 +1,448 @@
|
||||
---
|
||||
_lang_: "Svenska"
|
||||
headlineMisskey: "Ett nätverk kopplat av noter"
|
||||
introMisskey: "Välkommen! Misskey är en öppen och decentraliserad mikrobloggningstjänst.\nSkapa en \"not\" och dela dina tankar med alla runtomkring dig. 📡\nMed \"reaktioner\" kan du snabbt uttrycka dina känslor kring andras noter. 👍\nLåt oss utforska en ny värld! 🚀"
|
||||
poweredByMisskeyDescription: "{name} är en tjänst driven av den öppna källkodsplatformen <b>Misskey</b> (benämns \"Misskey instans\")."
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Sök"
|
||||
notifications: "Notifikationer"
|
||||
username: "Användarnamn"
|
||||
password: "Lösenord"
|
||||
forgotPassword: "Glömt lösenord"
|
||||
fetchingAsApObject: "Hämtar från Fediversum..."
|
||||
ok: "OK"
|
||||
gotIt: "Uppfattat!"
|
||||
cancel: "Avbryt"
|
||||
noThankYou: "Nej tack"
|
||||
enterUsername: "Ange användarnamn"
|
||||
renotedBy: "Omnoterad av {user}"
|
||||
noNotes: "Inga noteringar"
|
||||
noNotifications: "Inga notifikationer"
|
||||
instance: "Instanser"
|
||||
settings: "Inställningar"
|
||||
basicSettings: "Basinställningar"
|
||||
otherSettings: "Andra inställningar"
|
||||
openInWindow: "Öppna i ett fönster"
|
||||
profile: "Profil"
|
||||
timeline: "Tidslinje"
|
||||
noAccountDescription: "Användaren har inte skrivit en biografi än."
|
||||
login: "Logga in"
|
||||
loggingIn: "Loggar in"
|
||||
logout: "Logga ut"
|
||||
signup: "Registrera"
|
||||
uploading: "Laddar upp..."
|
||||
save: "Spara"
|
||||
users: "Användare"
|
||||
addUser: "Lägg till användare"
|
||||
favorite: "Lägg till i favoriter"
|
||||
favorites: "Favoriter"
|
||||
unfavorite: "Ta bort från favoriter"
|
||||
favorited: "Tillagd i favoriter."
|
||||
alreadyFavorited: "Redan tillagd i favoriter."
|
||||
cantFavorite: "Gick inte att lägga till i favoriter."
|
||||
pin: "Fäst till profil"
|
||||
unpin: "Lossa från profil"
|
||||
copyContent: "Kopiera innehåll"
|
||||
copyLink: "Kopiera länk"
|
||||
delete: "Radera"
|
||||
deleteAndEdit: "Radera och ändra"
|
||||
deleteAndEditConfirm: "Är du säker att du vill radera denna not och ändra den? Du kommer förlora alla reaktioner, omnoteringar och svar till den."
|
||||
addToList: "Lägg till i lista"
|
||||
sendMessage: "Skicka ett meddelande"
|
||||
copyRSS: "Kopiera RSS"
|
||||
copyUsername: "Kopiera användarnamn"
|
||||
searchUser: "Sök användare"
|
||||
reply: "Svara"
|
||||
loadMore: "Ladda mer"
|
||||
showMore: "Visa mer"
|
||||
showLess: "Stäng"
|
||||
youGotNewFollower: "följde dig"
|
||||
receiveFollowRequest: "Följarförfrågan mottagen"
|
||||
followRequestAccepted: "Följarförfrågan accepterad"
|
||||
mention: "Nämn"
|
||||
mentions: "Omnämningar"
|
||||
directNotes: "Direktnoter"
|
||||
importAndExport: "Importera / Exportera"
|
||||
import: "Importera"
|
||||
export: "Exportera"
|
||||
files: "Filer"
|
||||
download: "Nedladdning"
|
||||
driveFileDeleteConfirm: "Är du säker att du vill radera filen \"{name}\"? Noter med denna fil bifogad kommer också raderas."
|
||||
unfollowConfirm: "Är du säker att du vill avfölja {name}?"
|
||||
exportRequested: "Du har begärt en export. Detta kan ta lite tid. Den kommer läggas till i din Drive när den blir klar."
|
||||
importRequested: "Du har begärt en import. Detta kan ta lite tid."
|
||||
lists: "Listor"
|
||||
noLists: "Du har inga listor"
|
||||
note: "Not"
|
||||
notes: "Noter"
|
||||
following: "Följer"
|
||||
followers: "Följare"
|
||||
followsYou: "Följer dig"
|
||||
createList: "Skapa lista"
|
||||
manageLists: "Hantera lista"
|
||||
error: "Fel!"
|
||||
somethingHappened: "Ett fel har uppstått"
|
||||
retry: "Försök igen"
|
||||
pageLoadError: "Det gick inte att ladda sidan."
|
||||
pageLoadErrorDescription: "Detta händer oftast p.g.a. nätverksfel eller din webbläsarcache. Försök tömma din cache och testa sedan igen efter en liten stund."
|
||||
serverIsDead: "Servern svarar inte. Vänta ett litet tag och försök igen."
|
||||
youShouldUpgradeClient: "För att kunna se denna sida, vänligen ladda om sidan för att uppdatera din klient."
|
||||
enterListName: "Skriv ett namn till listan"
|
||||
privacy: "Integritet"
|
||||
makeFollowManuallyApprove: "Följarförfrågningar kräver manuellt godkännande"
|
||||
defaultNoteVisibility: "Standardsynlighet"
|
||||
follow: "Följ"
|
||||
followRequest: "Skicka följarförfrågan"
|
||||
followRequests: "Följarförfrågningar"
|
||||
unfollow: "Avfölj"
|
||||
followRequestPending: "Följarförfrågning avvaktar för svar"
|
||||
enterEmoji: "Skriv en emoji"
|
||||
renote: "Omnotera"
|
||||
unrenote: "Ta tillbaka omnotering"
|
||||
renoted: "Omnoterad."
|
||||
cantRenote: "Inlägget kunde inte bli omnoterat."
|
||||
cantReRenote: "En omnotering kan inte bli omnoterad."
|
||||
quote: "Citat"
|
||||
pinnedNote: "Fästad not"
|
||||
pinned: "Fäst till profil"
|
||||
you: "Du"
|
||||
clickToShow: "Klicka för att visa"
|
||||
sensitive: "Känsligt innehåll"
|
||||
add: "Lägg till"
|
||||
reaction: "Reaktioner"
|
||||
reactions: "Reaktioner"
|
||||
reactionSetting: "Reaktioner som ska visas i reaktionsväljaren"
|
||||
reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till."
|
||||
rememberNoteVisibility: "Komihåg notvisningsinställningar"
|
||||
attachCancel: "Ta bort bilaga"
|
||||
markAsSensitive: "Markera som känsligt innehåll"
|
||||
unmarkAsSensitive: "Avmarkera som känsligt innehåll"
|
||||
enterFileName: "Ange filnamn"
|
||||
mute: "Tysta"
|
||||
unmute: "Avtysta"
|
||||
block: "Blockera"
|
||||
unblock: "Avblockera"
|
||||
suspend: "Suspendera"
|
||||
unsuspend: "Ta bort suspenderingen"
|
||||
blockConfirm: "Är du säker att du vill blockera kontot?"
|
||||
unblockConfirm: "Är du säkert att du vill avblockera kontot?"
|
||||
suspendConfirm: "Är du säker att du vill suspendera detta konto?"
|
||||
unsuspendConfirm: "Är du säker att du vill avsuspendera detta konto?"
|
||||
selectList: "Välj lista"
|
||||
selectAntenna: "Välj en antenn"
|
||||
selectWidget: "Välj en widget"
|
||||
editWidgets: "Redigera widgets"
|
||||
editWidgetsExit: "Avsluta redigering"
|
||||
customEmojis: "Anpassa emoji"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emoji"
|
||||
emojiName: "Emoji namn"
|
||||
emojiUrl: "Emoji länk"
|
||||
addEmoji: "Lägg till emoji"
|
||||
settingGuide: "Rekommenderade inställningar"
|
||||
cacheRemoteFiles: "Spara externa filer till cachen"
|
||||
cacheRemoteFilesDescription: "När denna inställning är avstängd kommer externa filer laddas direkt från den externa instansen. Genom att stänga av detta kommer lagringsutrymme minska i användning men kommer öka datatrafiken eftersom miniatyrer inte kommer genereras."
|
||||
flagAsBot: "Markera konto som bot"
|
||||
flagAsBotDescription: "Aktivera det här alternativet om kontot är kontrollerat av ett program. Om aktiverat kommer den fungera som en flagga för andra utvecklare för att hindra ändlösa kedjor med andra bottar. Det kommer också få Misskeys interna system att hantera kontot som en bot."
|
||||
flagAsCat: "Markera konto som katt"
|
||||
flagAsCatDescription: "Aktivera denna inställning för att markera kontot som en katt."
|
||||
flagShowTimelineReplies: "Visa svar i tidslinje"
|
||||
flagShowTimelineRepliesDescription: "Visar användarsvar till andra användares noter i tidslinjen om aktiverad."
|
||||
autoAcceptFollowed: "Godkänn följarförfrågningar från användare du följer automatiskt"
|
||||
addAccount: "Lägg till konto"
|
||||
loginFailed: "Inloggningen misslyckades"
|
||||
showOnRemote: "Se på extern instans"
|
||||
general: "Allmänt"
|
||||
wallpaper: "Bakgrundsbild"
|
||||
setWallpaper: "Välj bakgrund"
|
||||
removeWallpaper: "Ta bort bakgrund"
|
||||
searchWith: "Sök: {q}"
|
||||
youHaveNoLists: "Du har inga listor"
|
||||
followConfirm: "Är du säker att du vill följa {name}?"
|
||||
proxyAccount: "Proxykonto"
|
||||
proxyAccountDescription: "Ett proxykonto är ett konto som agerar som en extern följare för användare under vissa villkor. Till exempel, när en användare lägger till en extern användare till en lista så kommer den externa användarens aktivitet inte levireras till instansen om ingen lokal användare följer det kontot, så proxykontot används istället."
|
||||
host: "Värd"
|
||||
selectUser: "Välj användare"
|
||||
recipient: "Mottagare"
|
||||
annotation: "Kommentarer"
|
||||
federation: "Federation"
|
||||
instances: "Instanser"
|
||||
registeredAt: "Registrerad på"
|
||||
latestRequestReceivedAt: "Senaste begäran mottagen"
|
||||
latestStatus: "Senaste status"
|
||||
storageUsage: "Använt lagringsutrymme"
|
||||
charts: "Diagram"
|
||||
perHour: "Per timme"
|
||||
perDay: "Per dag"
|
||||
stopActivityDelivery: "Sluta skicka aktiviteter"
|
||||
blockThisInstance: "Blockera instans"
|
||||
operations: "Operationer"
|
||||
software: "Mjukvara"
|
||||
version: "Version"
|
||||
metadata: "Metadata"
|
||||
withNFiles: "{n} fil(er)"
|
||||
monitor: "Övervakning"
|
||||
jobQueue: "Jobbkö"
|
||||
cpuAndMemory: "CPU och minne"
|
||||
network: "Nätverk"
|
||||
disk: "Disk"
|
||||
instanceInfo: "Instansinformation"
|
||||
statistics: "Statistik"
|
||||
clearQueue: "Rensa kö"
|
||||
clearQueueConfirmTitle: "Är du säker att du vill rensa kön?"
|
||||
clearQueueConfirmText: "Om någon not är olevererad i kön kommer den inte federeras. Vanligtvis behövs inte denna handling."
|
||||
clearCachedFiles: "Rensa cache"
|
||||
clearCachedFilesConfirm: "Är du säker att du vill radera alla cachade externa filer?"
|
||||
blockedInstances: "Blockerade instanser"
|
||||
blockedInstancesDescription: "Lista adressnamn av instanser som du vill blockera. Listade instanser kommer inte längre kommunicera med denna instans."
|
||||
muteAndBlock: "Tystningar och blockeringar"
|
||||
mutedUsers: "Tystade användare"
|
||||
blockedUsers: "Blockerade användare"
|
||||
noUsers: "Det finns inga användare"
|
||||
editProfile: "Redigera profil"
|
||||
noteDeleteConfirm: "Är du säker på att du vill ta bort denna not?"
|
||||
pinLimitExceeded: "Du kan inte fästa fler noter"
|
||||
intro: "Misskey har installerats! Vänligen skapa en adminanvändare."
|
||||
done: "Klar"
|
||||
processing: "Bearbetar..."
|
||||
preview: "Förhandsvisning"
|
||||
default: "Standard"
|
||||
defaultValueIs: "Standard: {value}"
|
||||
noCustomEmojis: "Det finns ingen emoji"
|
||||
noJobs: "Det finns inga jobb"
|
||||
federating: "Federerar"
|
||||
blocked: "Blockerad"
|
||||
suspended: "Suspenderad"
|
||||
all: "Allt"
|
||||
subscribing: "Prenumererar"
|
||||
publishing: "Publiceras"
|
||||
notResponding: "Svarar inte"
|
||||
instanceFollowing: "Följer på instans"
|
||||
instanceFollowers: "Följare av instans"
|
||||
instanceUsers: "Användare av denna instans"
|
||||
changePassword: "Ändra lösenord"
|
||||
security: "Säkerhet"
|
||||
retypedNotMatch: "Inmatningen matchar inte"
|
||||
currentPassword: "Nuvarande lösenord"
|
||||
newPassword: "Nytt lösenord"
|
||||
newPasswordRetype: "Bekräfta lösenord"
|
||||
attachFile: "Bifoga filer"
|
||||
more: "Mer!"
|
||||
featured: "Utvalda"
|
||||
usernameOrUserId: "Användarnamn eller användar-id"
|
||||
noSuchUser: "Kan inte hitta användaren"
|
||||
lookup: "Sökning"
|
||||
announcements: "Nyheter"
|
||||
imageUrl: "Bild-URL"
|
||||
remove: "Radera"
|
||||
removed: "Borttaget"
|
||||
removeAreYouSure: "Är du säker att du vill radera \"{x}\"?"
|
||||
deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?"
|
||||
resetAreYouSure: "Vill du återställa?"
|
||||
saved: "Sparad"
|
||||
messaging: "Chatt"
|
||||
upload: "Ladda upp"
|
||||
keepOriginalUploading: "Behåll originalbild"
|
||||
keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning."
|
||||
fromDrive: "Från Drive"
|
||||
fromUrl: "Från en länk"
|
||||
uploadFromUrl: "Ladda upp från länk"
|
||||
uploadFromUrlDescription: "Länken av filen du vill ladda upp"
|
||||
uploadFromUrlRequested: "Uppladdning begärd"
|
||||
uploadFromUrlMayTakeTime: "Det kan ta tid tills att uppladdningen blir klar."
|
||||
explore: "Utforska"
|
||||
messageRead: "Läs"
|
||||
noMoreHistory: "Det finns ingen mer historik"
|
||||
startMessaging: "Starta en chatt"
|
||||
nUsersRead: "läst av {n}"
|
||||
agreeTo: "Jag accepterar {0}"
|
||||
tos: "Användarvillkor"
|
||||
home: "Hem"
|
||||
remoteUserCaution: "Då denna användaren kommer från en fjärrinstans, kan informationen visad vara ofullständig."
|
||||
activity: "Aktivitet"
|
||||
images: "Bilder"
|
||||
birthday: "Födelsedag"
|
||||
yearsOld: "{age} år gammal"
|
||||
registeredDate: "Gick med"
|
||||
location: "Plats"
|
||||
theme: "Teman"
|
||||
themeForLightMode: "Tema att använda i Ljust Läge"
|
||||
themeForDarkMode: "Tema att använda i Mörkt Läge"
|
||||
light: "Ljust"
|
||||
dark: "Mörk"
|
||||
lightThemes: "Ljusa teman"
|
||||
darkThemes: "Mörka teman"
|
||||
syncDeviceDarkMode: "Synka Mörkt Läge med din enhets inställningar"
|
||||
drive: "Drive"
|
||||
fileName: "Filnamn"
|
||||
selectFile: "Välj en fil"
|
||||
selectFiles: "Välj filer"
|
||||
selectFolder: "Välj en mapp"
|
||||
selectFolders: "Välj mappar"
|
||||
renameFile: "Byt namn på filen"
|
||||
folderName: "Mappnamn"
|
||||
createFolder: "Skapa en mapp"
|
||||
renameFolder: "Byt namn på mappen"
|
||||
deleteFolder: "Ta bort mappen"
|
||||
addFile: "Lägg till fil"
|
||||
emptyDrive: "Din Drive är tom"
|
||||
emptyFolder: "Denna mappen är tom"
|
||||
unableToDelete: "Kunde inte ta bort"
|
||||
inputNewFileName: "Ange nytt filnamn"
|
||||
inputNewDescription: "Ange ny bildtext"
|
||||
inputNewFolderName: "Ange nytt mappnamn"
|
||||
circularReferenceFolder: "Destinationsmappen är en undermapp av mappen du vill flytta."
|
||||
hasChildFilesOrFolders: "Då denna mappen inte är tom, kan den inte tas bort."
|
||||
copyUrl: "Kopiera URL"
|
||||
rename: "Byt namn"
|
||||
avatar: "Profilbild"
|
||||
banner: "Banner"
|
||||
nsfw: "Känsligt innehåll"
|
||||
reload: "Ladda om"
|
||||
doNothing: "Ignorera"
|
||||
reloadConfirm: "Vill du ladda om tidslinjen?"
|
||||
accept: "Tillåt"
|
||||
reject: "Neka"
|
||||
normal: "Normal"
|
||||
instanceName: "Instansnamn"
|
||||
instanceDescription: "Instansbeskrivning"
|
||||
maintainerEmail: "Administratörens epost"
|
||||
tosUrl: "URL till användarvillkår"
|
||||
thisYear: "Detta året"
|
||||
thisMonth: "Denna månaden"
|
||||
today: "Idag"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Sidor"
|
||||
integration: "Integrationer"
|
||||
connectService: "Anslut"
|
||||
disconnectService: "Koppla från"
|
||||
enableLocalTimeline: "Aktivera lokal tidslinje"
|
||||
enableGlobalTimeline: "Aktivera global tidslinje"
|
||||
enableRegistration: "Aktivera registrering av nya användare"
|
||||
inMb: "I megabyte"
|
||||
iconUrl: "URL till profilbilden"
|
||||
bannerUrl: "URL till banner-bilden"
|
||||
pinnedNotes: "Fästad not"
|
||||
enableHcaptcha: "Aktivera hCaptcha"
|
||||
enableRecaptcha: "Aktivera reCAPTCHA"
|
||||
enableTurnstile: "Aktivera Turnstile"
|
||||
antennas: "Antenner"
|
||||
manageAntennas: "Hantera Antenner"
|
||||
antennaSource: "Antennkälla"
|
||||
antennaKeywords: "Nyckelord att lyssna efter"
|
||||
antennaExcludeKeywords: "Nyckelord att exkludera"
|
||||
antennaKeywordsDescription: "Separera med mellanslag för en AND kondition, eller med nya linjer för en OR kondition"
|
||||
notifyAntenna: "Notifiera om nya noter"
|
||||
withFileAntenna: "Endast noter med filer"
|
||||
enableServiceworker: "Aktivera pushnotiser i denna webbläsaren"
|
||||
antennaUsersDescription: "Ange ett användarnamn per linje"
|
||||
recentlyUpdatedUsers: "Nyligen aktiva användare"
|
||||
recentlyRegisteredUsers: "Nyligen registrerade användare"
|
||||
userList: "Listor"
|
||||
aboutMisskey: "Om Misskey"
|
||||
administrator: "Administratör"
|
||||
newPasswordIs: "Det nya lösenordet är \"{password}\""
|
||||
share: "Dela"
|
||||
enable: "Aktivera"
|
||||
serviceworkerInfo: "Måste vara aktiverad för pushnotiser."
|
||||
enableInfiniteScroll: "Ladda mer automatiskt"
|
||||
enablePlayer: "Öppna videospelare"
|
||||
enableAll: "Aktivera alla"
|
||||
enableEmail: "Aktivera epost-utskick"
|
||||
smtpHost: "Värd"
|
||||
smtpUser: "Användarnamn"
|
||||
smtpPass: "Lösenord"
|
||||
clearCache: "Rensa cache"
|
||||
enabled: "Aktiverad"
|
||||
user: "Användare"
|
||||
global: "Global"
|
||||
squareAvatars: "Visa fyrkantiga profilbilder"
|
||||
searchByGoogle: "Sök"
|
||||
file: "Filer"
|
||||
enableAutoSensitive: "Automatisk NSFW markering"
|
||||
enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen."
|
||||
pushNotification: "Pushnotiser"
|
||||
subscribePushNotification: "Aktivera pushnotiser"
|
||||
unsubscribePushNotification: "Avaktivera pushnotiser"
|
||||
pushNotificationAlreadySubscribed: "Pushnotiser är redan aktiverade"
|
||||
pushNotificationNotSupported: "Din webbläsare eller instans har inte stöd för pushnotiser"
|
||||
_email:
|
||||
_follow:
|
||||
title: "följde dig"
|
||||
_mfm:
|
||||
mention: "Nämn"
|
||||
quote: "Citat"
|
||||
emoji: "Anpassa emoji"
|
||||
search: "Sök"
|
||||
_channel:
|
||||
setBanner: "Välj banner"
|
||||
removeBanner: "Ta bort banner"
|
||||
_theme:
|
||||
keys:
|
||||
mention: "Nämn"
|
||||
renote: "Omnotera"
|
||||
_sfx:
|
||||
note: "Noter"
|
||||
notification: "Notifikationer"
|
||||
chat: "Chatt"
|
||||
antenna: "Antenner"
|
||||
_antennaSources:
|
||||
all: "Alla noter"
|
||||
homeTimeline: "Noter från följda användare"
|
||||
users: "Noter från specifika användare"
|
||||
userList: "Noter från en specificerad lista av användare"
|
||||
userGroup: "Noter från användare i en specificerad grupp"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Instansinformation"
|
||||
notifications: "Notifikationer"
|
||||
timeline: "Tidslinje"
|
||||
activity: "Aktivitet"
|
||||
federation: "Federation"
|
||||
jobQueue: "Jobbkö"
|
||||
_userList:
|
||||
chooseList: "Välj lista"
|
||||
_cw:
|
||||
show: "Ladda mer"
|
||||
_visibility:
|
||||
home: "Hem"
|
||||
followers: "Följare"
|
||||
_profile:
|
||||
username: "Användarnamn"
|
||||
changeAvatar: "Ändra profilbild"
|
||||
changeBanner: "Ändra banner"
|
||||
_exportOrImport:
|
||||
allNotes: "Alla noter"
|
||||
followingList: "Följer"
|
||||
muteList: "Tysta"
|
||||
blockingList: "Blockera"
|
||||
userLists: "Listor"
|
||||
_charts:
|
||||
federation: "Federation"
|
||||
_timelines:
|
||||
home: "Hem"
|
||||
global: "Global"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "Bilder"
|
||||
_notification:
|
||||
youWereFollowed: "följde dig"
|
||||
unreadAntennaNote: "Antenn {name}"
|
||||
_types:
|
||||
follow: "Följer"
|
||||
mention: "Nämn"
|
||||
renote: "Omnotera"
|
||||
quote: "Citat"
|
||||
reaction: "Reaktioner"
|
||||
_actions:
|
||||
reply: "Svara"
|
||||
renote: "Omnotera"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Notifikationer"
|
||||
tl: "Tidslinje"
|
||||
antenna: "Antenner"
|
||||
list: "Listor"
|
||||
mentions: "Omnämningar"
|
||||
1681
locales/th-TH.yml
1681
locales/th-TH.yml
File diff suppressed because it is too large
Load Diff
@@ -47,11 +47,13 @@ remove: "Sil"
|
||||
smtpUser: "Kullanıcı Adı"
|
||||
smtpPass: "Şifre"
|
||||
user: "Kullanıcı"
|
||||
searchByGoogle: "Arama"
|
||||
_mfm:
|
||||
search: "Arama"
|
||||
_sfx:
|
||||
notification: "Bildirim"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
notifications: "Bildirim"
|
||||
timeline: "Zaman çizelgesi"
|
||||
_profile:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
_lang_: "ياپونچە"
|
||||
search: "ئىزدەش"
|
||||
searchByGoogle: "ئىزدەش"
|
||||
_mfm:
|
||||
search: "ئىزدەش"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1524
locales/vi-VN.yml
Normal file
1524
locales/vi-VN.yml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1029
locales/zh-TW.yml
1029
locales/zh-TW.yml
File diff suppressed because it is too large
Load Diff
74
package.json
74
package.json
@@ -1,53 +1,67 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"version": "12.98.0",
|
||||
"codename": "indigo",
|
||||
"version": "13.2.1",
|
||||
"codename": "nasubi",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/misskey-dev/misskey.git"
|
||||
},
|
||||
"packageManager": "pnpm@7.24.3",
|
||||
"workspaces": [
|
||||
"packages/frontend",
|
||||
"packages/backend",
|
||||
"packages/sw"
|
||||
],
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"postinstall": "node ./scripts/install-packages.js",
|
||||
"build": "node ./scripts/build.js",
|
||||
"start": "cd packages/backend && node --experimental-json-modules ./built/index.js",
|
||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js",
|
||||
"init": "npm run migrate",
|
||||
"ormconfig": "node ./packages/backend/ormconfig.js",
|
||||
"migrate": "cd packages/backend && npx typeorm migration:run",
|
||||
"migrateandstart": "npm run migrate && npm run start",
|
||||
"gulp": "gulp build",
|
||||
"watch": "npm run dev",
|
||||
"build-pre": "node ./scripts/build-pre.js",
|
||||
"build": "pnpm build-pre && pnpm -r build && pnpm gulp",
|
||||
"start": "cd packages/backend && node ./built/boot/index.js",
|
||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/index.js",
|
||||
"init": "pnpm migrate",
|
||||
"migrate": "cd packages/backend && pnpm typeorm migration:run -d ormconfig.js",
|
||||
"migrateandstart": "pnpm migrate && pnpm start",
|
||||
"gulp": "pnpm exec gulp build",
|
||||
"watch": "pnpm dev",
|
||||
"dev": "node ./scripts/dev.js",
|
||||
"lint": "node ./scripts/lint.js",
|
||||
"cy:open": "cypress open",
|
||||
"cy:run": "cypress run",
|
||||
"e2e": "start-server-and-test start:test http://localhost:61812 cy:run",
|
||||
"mocha": "cd packages/backend && cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" npx mocha",
|
||||
"test": "npm run mocha",
|
||||
"format": "gulp format",
|
||||
"lint": "pnpm -r lint",
|
||||
"cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts",
|
||||
"cy:run": "pnpm cypress run",
|
||||
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
|
||||
"jest": "cd packages/backend && pnpm cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --runInBand",
|
||||
"jest-and-coverage": "cd packages/backend && pnpm cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --coverage --forceExit --runInBand",
|
||||
"test": "pnpm jest",
|
||||
"test-and-coverage": "pnpm jest-and-coverage",
|
||||
"format": "pnpm exec gulp format",
|
||||
"clean": "node ./scripts/clean.js",
|
||||
"clean-all": "node ./scripts/clean-all.js",
|
||||
"cleanall": "npm run clean-all"
|
||||
"cleanall": "pnpm clean-all"
|
||||
},
|
||||
"resolutions": {
|
||||
"chokidar": "^3.5.3",
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/gulp": "4.0.9",
|
||||
"@types/gulp-rename": "2.0.1",
|
||||
"execa": "5.1.1",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-cssnano": "2.1.3",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.1.3",
|
||||
"gulp-replace": "1.1.4",
|
||||
"gulp-terser": "2.1.0",
|
||||
"js-yaml": "4.1.0"
|
||||
"js-yaml": "4.1.0",
|
||||
"typescript": "4.9.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@redocly/openapi-core": "1.0.0-beta.54",
|
||||
"@types/fluent-ffmpeg": "2.1.17",
|
||||
"@typescript-eslint/parser": "5.4.0",
|
||||
"@types/gulp": "4.0.10",
|
||||
"@types/gulp-rename": "2.0.1",
|
||||
"@typescript-eslint/eslint-plugin": "5.49.0",
|
||||
"@typescript-eslint/parser": "5.49.0",
|
||||
"cross-env": "7.0.3",
|
||||
"cypress": "9.1.0",
|
||||
"start-server-and-test": "1.14.0",
|
||||
"typescript": "4.5.2"
|
||||
"cypress": "12.3.0",
|
||||
"eslint": "^8.32.0",
|
||||
"start-server-and-test": "1.15.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@tensorflow/tfjs-core": "^4.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
32
packages/backend/.eslintrc.cjs
Normal file
32
packages/backend/.eslintrc.cjs
Normal file
@@ -0,0 +1,32 @@
|
||||
module.exports = {
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ['./tsconfig.json'],
|
||||
},
|
||||
extends: [
|
||||
'../shared/.eslintrc.js',
|
||||
],
|
||||
rules: {
|
||||
'import/order': ['warn', {
|
||||
'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'],
|
||||
'pathGroups': [
|
||||
{
|
||||
'pattern': '@/**',
|
||||
'group': 'external',
|
||||
'position': 'after'
|
||||
}
|
||||
],
|
||||
}],
|
||||
'no-restricted-globals': [
|
||||
'error',
|
||||
{
|
||||
'name': '__dirname',
|
||||
'message': 'Not in ESModule. Use `import.meta.url` instead.'
|
||||
},
|
||||
{
|
||||
'name': '__filename',
|
||||
'message': 'Not in ESModule. Use `import.meta.url` instead.'
|
||||
}
|
||||
]
|
||||
},
|
||||
};
|
||||
@@ -1,9 +0,0 @@
|
||||
module.exports = {
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ['./tsconfig.json'],
|
||||
},
|
||||
extends: [
|
||||
'../shared/.eslintrc.js',
|
||||
],
|
||||
};
|
||||
3
packages/backend/.madgerc
Normal file
3
packages/backend/.madgerc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"tsConfig": "./tsconfig.json"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"extension": ["ts","js","cjs","mjs"],
|
||||
"require": ["ts-node/register", "tsconfig-paths/register"],
|
||||
"slow": 1000,
|
||||
"timeout": 35000,
|
||||
"exit": true
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
save-exact = true
|
||||
package-lock = false
|
||||
25
packages/backend/.swcrc
Normal file
25
packages/backend/.swcrc
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/swcrc",
|
||||
"jsc": {
|
||||
"parser": {
|
||||
"syntax": "typescript",
|
||||
"dynamicImport": true,
|
||||
"decorators": true
|
||||
},
|
||||
"transform": {
|
||||
"legacyDecorator": true,
|
||||
"decoratorMetadata": true
|
||||
},
|
||||
"experimental": {
|
||||
"keepImportAssertions": true
|
||||
},
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./src/*"
|
||||
]
|
||||
},
|
||||
"target": "es2021"
|
||||
},
|
||||
"minify": false
|
||||
}
|
||||
4
packages/backend/.vscode/settings.json
vendored
4
packages/backend/.vscode/settings.json
vendored
@@ -2,5 +2,9 @@
|
||||
"typescript.tsdk": "node_modules\\typescript\\lib",
|
||||
"path-intellisense.mappings": {
|
||||
"@": "${workspaceRoot}/packages/backend/src/"
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
network-timeout 600000
|
||||
800
packages/backend/@types/jsrsasign.d.ts
vendored
800
packages/backend/@types/jsrsasign.d.ts
vendored
@@ -1,800 +0,0 @@
|
||||
// Attention: Partial Type Definition
|
||||
|
||||
declare module 'jsrsasign' {
|
||||
//// HELPER TYPES
|
||||
|
||||
/**
|
||||
* Attention: The value might be changed by the function.
|
||||
*/
|
||||
type Mutable<T> = T;
|
||||
|
||||
/**
|
||||
* Deprecated: The function might be deleted in future release.
|
||||
*/
|
||||
type Deprecated<T> = T;
|
||||
|
||||
//// COMMON TYPES
|
||||
|
||||
/**
|
||||
* byte number
|
||||
*/
|
||||
type ByteNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255;
|
||||
|
||||
/**
|
||||
* hexadecimal string /[0-9A-F]/
|
||||
*/
|
||||
type HexString = string;
|
||||
|
||||
/**
|
||||
* binary string /[01]/
|
||||
*/
|
||||
type BinString = string;
|
||||
|
||||
/**
|
||||
* base64 string /[A-Za-z0-9+/]=+/
|
||||
*/
|
||||
type Base64String = string;
|
||||
|
||||
/**
|
||||
* base64 URL encoded string /[A-Za-z0-9_-]/
|
||||
*/
|
||||
type Base64URLString = string;
|
||||
|
||||
/**
|
||||
* time value (ex. "151231235959Z")
|
||||
*/
|
||||
type TimeValue = string;
|
||||
|
||||
/**
|
||||
* OID string (ex. '1.2.3.4.567')
|
||||
*/
|
||||
type OID = string;
|
||||
|
||||
/**
|
||||
* OID name
|
||||
*/
|
||||
type OIDName = string;
|
||||
|
||||
/**
|
||||
* PEM formatted string
|
||||
*/
|
||||
type PEM = string;
|
||||
|
||||
//// ASN1 TYPES
|
||||
|
||||
class ASN1Object {
|
||||
public isModified: boolean;
|
||||
|
||||
public hTLV: ASN1TLV;
|
||||
|
||||
public hT: ASN1T;
|
||||
|
||||
public hL: ASN1L;
|
||||
|
||||
public hV: ASN1V;
|
||||
|
||||
public getLengthHexFromValue(): HexString;
|
||||
|
||||
public getEncodedHex(): ASN1TLV;
|
||||
|
||||
public getValueHex(): ASN1V;
|
||||
|
||||
public getFreshValueHex(): ASN1V;
|
||||
}
|
||||
|
||||
class DERAbstractStructured extends ASN1Object {
|
||||
constructor(params?: Partial<Record<'array', ASN1Object[]>>);
|
||||
|
||||
public setByASN1ObjectArray(asn1ObjectArray: ASN1Object[]): void;
|
||||
|
||||
public appendASN1Object(asn1Object: ASN1Object): void;
|
||||
}
|
||||
|
||||
class DERSequence extends DERAbstractStructured {
|
||||
constructor(params?: Partial<Record<'array', ASN1Object[]>>);
|
||||
|
||||
public getFreshValueHex(): ASN1V;
|
||||
}
|
||||
|
||||
//// ASN1HEX TYPES
|
||||
|
||||
/**
|
||||
* ASN.1 DER encoded data (hexadecimal string)
|
||||
*/
|
||||
type ASN1S = HexString;
|
||||
|
||||
/**
|
||||
* index of something
|
||||
*/
|
||||
type Idx<T extends { [idx: string]: unknown } | { [idx: number]: unknown }> = ASN1S extends { [idx: string]: unknown } ? string : ASN1S extends { [idx: number]: unknown } ? number : never;
|
||||
|
||||
/**
|
||||
* byte length of something
|
||||
*/
|
||||
type ByteLength<T extends { length: unknown }> = T['length'];
|
||||
|
||||
/**
|
||||
* ASN.1 L(length) (hexadecimal string)
|
||||
*/
|
||||
type ASN1L = HexString;
|
||||
|
||||
/**
|
||||
* ASN.1 T(tag) (hexadecimal string)
|
||||
*/
|
||||
type ASN1T = HexString;
|
||||
|
||||
/**
|
||||
* ASN.1 V(value) (hexadecimal string)
|
||||
*/
|
||||
type ASN1V = HexString;
|
||||
|
||||
/**
|
||||
* ASN.1 TLV (hexadecimal string)
|
||||
*/
|
||||
type ASN1TLV = HexString;
|
||||
|
||||
/**
|
||||
* ASN.1 object string
|
||||
*/
|
||||
type ASN1ObjectString = string;
|
||||
|
||||
/**
|
||||
* nth
|
||||
*/
|
||||
type Nth = number;
|
||||
|
||||
/**
|
||||
* ASN.1 DER encoded OID value (hexadecimal string)
|
||||
*/
|
||||
type ASN1OIDV = HexString;
|
||||
|
||||
class ASN1HEX {
|
||||
public static getLblen(s: ASN1S, idx: Idx<ASN1S>): ByteLength<ASN1L>;
|
||||
|
||||
public static getL(s: ASN1S, idx: Idx<ASN1S>): ASN1L;
|
||||
|
||||
public static getVblen(s: ASN1S, idx: Idx<ASN1S>): ByteLength<ASN1V>;
|
||||
|
||||
public static getVidx(s: ASN1S, idx: Idx<ASN1S>): Idx<ASN1V>;
|
||||
|
||||
public static getV(s: ASN1S, idx: Idx<ASN1S>): ASN1V;
|
||||
|
||||
public static getTLV(s: ASN1S, idx: Idx<ASN1S>): ASN1TLV;
|
||||
|
||||
public static getNextSiblingIdx(s: ASN1S, idx: Idx<ASN1S>): Idx<ASN1ObjectString>;
|
||||
|
||||
public static getChildIdx(h: ASN1S, pos: Idx<ASN1S>): Idx<ASN1ObjectString>[];
|
||||
|
||||
public static getNthChildIdx(h: ASN1S, idx: Idx<ASN1S>, nth: Nth): Idx<ASN1ObjectString>;
|
||||
|
||||
public static getIdxbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string): Idx<Mutable<Nth[]>>;
|
||||
|
||||
public static getTLVbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string): ASN1TLV;
|
||||
|
||||
// eslint:disable-next-line:bool-param-default
|
||||
public static getVbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string, removeUnusedbits?: boolean): ASN1V;
|
||||
|
||||
public static hextooidstr(hex: ASN1OIDV): OID;
|
||||
|
||||
public static dump(hexOrObj: ASN1S | ASN1Object, flags?: Record<string, unknown>, idx?: Idx<ASN1S>, indent?: string): string;
|
||||
|
||||
public static isASN1HEX(hex: string): hex is HexString;
|
||||
|
||||
public static oidname(oidDotOrHex: OID | ASN1OIDV): OIDName;
|
||||
}
|
||||
|
||||
//// BIG INTEGER TYPES (PARTIAL)
|
||||
|
||||
class BigInteger {
|
||||
constructor(a: null);
|
||||
|
||||
constructor(a: number, b: SecureRandom);
|
||||
|
||||
constructor(a: number, b: number, c: SecureRandom);
|
||||
|
||||
constructor(a: unknown);
|
||||
|
||||
constructor(a: string, b: number);
|
||||
|
||||
public am(i: number, x: number, w: number, j: number, c: number, n: number): number;
|
||||
|
||||
public DB: number;
|
||||
|
||||
public DM: number;
|
||||
|
||||
public DV: number;
|
||||
|
||||
public FV: number;
|
||||
|
||||
public F1: number;
|
||||
|
||||
public F2: number;
|
||||
|
||||
protected copyTo(r: Mutable<BigInteger>): void;
|
||||
|
||||
protected fromInt(x: number): void;
|
||||
|
||||
protected fromString(s: string, b: number): void;
|
||||
|
||||
protected clamp(): void;
|
||||
|
||||
public toString(b: number): string;
|
||||
|
||||
public negate(): BigInteger;
|
||||
|
||||
public abs(): BigInteger;
|
||||
|
||||
public compareTo(a: BigInteger): number;
|
||||
|
||||
public bitLength(): number;
|
||||
|
||||
protected dlShiftTo(n: number, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected drShiftTo(n: number, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected lShiftTo(n: number, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected rShiftTo(n: number, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected subTo(a: BigInteger, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected multiplyTo(a: BigInteger, r: Mutable<BigInteger>): void;
|
||||
|
||||
protected squareTo(r: Mutable<BigInteger>): void;
|
||||
|
||||
protected divRemTo(m: BigInteger, q: Mutable<BigInteger>, r: Mutable<BigInteger>): void;
|
||||
|
||||
public mod(a: BigInteger): BigInteger;
|
||||
|
||||
protected invDigit(): number;
|
||||
|
||||
protected isEven(): boolean;
|
||||
|
||||
protected exp(e: number, z: Classic | Montgomery): BigInteger;
|
||||
|
||||
public modPowInt(e: number, m: BigInteger): BigInteger;
|
||||
|
||||
public static ZERO: BigInteger;
|
||||
|
||||
public static ONE: BigInteger;
|
||||
}
|
||||
|
||||
class Classic {
|
||||
constructor(m: BigInteger);
|
||||
|
||||
public convert(x: BigInteger): BigInteger;
|
||||
|
||||
public revert(x: BigInteger): BigInteger;
|
||||
|
||||
public reduce(x: Mutable<BigInteger>): void;
|
||||
|
||||
public mulTo(x: BigInteger, r: Mutable<BigInteger>): void;
|
||||
|
||||
public sqrTo(x: BigInteger, y: BigInteger, r: Mutable<BigInteger>): void;
|
||||
}
|
||||
|
||||
class Montgomery {
|
||||
constructor(m: BigInteger);
|
||||
|
||||
public convert(x: BigInteger): BigInteger;
|
||||
|
||||
public revert(x: BigInteger): BigInteger;
|
||||
|
||||
public reduce(x: Mutable<BigInteger>): void;
|
||||
|
||||
public mulTo(x: BigInteger, r: Mutable<BigInteger>): void;
|
||||
|
||||
public sqrTo(x: BigInteger, y: BigInteger, r: Mutable<BigInteger>): void;
|
||||
}
|
||||
|
||||
//// KEYUTIL TYPES
|
||||
|
||||
type DecryptAES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type Decrypt3DES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type DecryptDES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type EncryptAES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type Encrypt3DES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type EncryptDES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
|
||||
|
||||
type AlgList = {
|
||||
'AES-256-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 32; ivlen: 16; };
|
||||
'AES-192-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 24; ivlen: 16; };
|
||||
'AES-128-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 16; ivlen: 16; };
|
||||
'DES-EDE3-CBC': { 'proc': Decrypt3DES; 'eproc': Encrypt3DES; keylen: 24; ivlen: 8; };
|
||||
'DES-CBC': { 'proc': DecryptDES; 'eproc': EncryptDES; keylen: 8; ivlen: 8; };
|
||||
};
|
||||
|
||||
type AlgName = keyof AlgList;
|
||||
|
||||
type PEMHeadAlgName = 'RSA' | 'EC' | 'DSA';
|
||||
|
||||
type GetKeyRSAParam = RSAKey | {
|
||||
n: BigInteger;
|
||||
e: number;
|
||||
} | Record<'n' | 'e', HexString> | Record<'n' | 'e', HexString> & Record<'d' | 'p' | 'q' | 'dp' | 'dq' | 'co', HexString | null> | {
|
||||
n: BigInteger;
|
||||
e: number;
|
||||
d: BigInteger;
|
||||
} | {
|
||||
kty: 'RSA';
|
||||
} & Record<'n' | 'e', Base64URLString> | {
|
||||
kty: 'RSA';
|
||||
} & Record<'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi', Base64URLString> | {
|
||||
kty: 'RSA';
|
||||
} & Record<'n' | 'e' | 'd', Base64URLString>;
|
||||
|
||||
type GetKeyECDSAParam = KJUR.crypto.ECDSA | {
|
||||
curve: KJUR.crypto.CurveName;
|
||||
xy: HexString;
|
||||
} | {
|
||||
curve: KJUR.crypto.CurveName;
|
||||
d: HexString;
|
||||
} | {
|
||||
kty: 'EC';
|
||||
crv: KJUR.crypto.CurveName;
|
||||
x: Base64URLString;
|
||||
y: Base64URLString;
|
||||
} | {
|
||||
kty: 'EC';
|
||||
crv: KJUR.crypto.CurveName;
|
||||
x: Base64URLString;
|
||||
y: Base64URLString;
|
||||
d: Base64URLString;
|
||||
};
|
||||
|
||||
type GetKeyDSAParam = KJUR.crypto.DSA | Record<'p' | 'q' | 'g', BigInteger> & Record<'y', BigInteger | null> | Record<'p' | 'q' | 'g' | 'x', BigInteger> & Record<'y', BigInteger | null>;
|
||||
|
||||
type GetKeyParam = GetKeyRSAParam | GetKeyECDSAParam | GetKeyDSAParam | string;
|
||||
|
||||
class KEYUTIL {
|
||||
public version: '1.0.0';
|
||||
|
||||
public parsePKCS5PEM(sPKCS5PEM: PEM): Partial<Record<'type' | 's', string>> & (Record<'cipher' | 'ivsalt', string> | Record<'cipher' | 'ivsalt', undefined>);
|
||||
|
||||
public getKeyAndUnusedIvByPasscodeAndIvsalt(algName: AlgName, passcode: string, ivsaltHex: HexString): Record<'keyhex' | 'ivhex', HexString>;
|
||||
|
||||
public decryptKeyB64(privateKeyB64: Base64String, sharedKeyAlgName: AlgName, sharedKeyHex: HexString, ivsaltHex: HexString): Base64String;
|
||||
|
||||
public getDecryptedKeyHex(sEncryptedPEM: PEM, passcode: string): HexString;
|
||||
|
||||
public getEncryptedPKCS5PEMFromPrvKeyHex(pemHeadAlg: PEMHeadAlgName, hPrvKey: string, passcode: string, sharedKeyAlgName?: AlgName | null, ivsaltHex?: HexString | null): PEM;
|
||||
|
||||
public parseHexOfEncryptedPKCS8(sHEX: HexString): {
|
||||
ciphertext: ASN1V;
|
||||
encryptionSchemeAlg: 'TripleDES';
|
||||
encryptionSchemeIV: ASN1V;
|
||||
pbkdf2Salt: ASN1V;
|
||||
pbkdf2Iter: number;
|
||||
};
|
||||
|
||||
public getPBKDF2KeyHexFromParam(info: ReturnType<this['parseHexOfEncryptedPKCS8']>, passcode: string): HexString;
|
||||
|
||||
private _getPlainPKCS8HexFromEncryptedPKCS8PEM(pkcs8PEM: PEM, passcode: string): HexString;
|
||||
|
||||
public getKeyFromEncryptedPKCS8PEM(prvKeyHex: HexString): ReturnType<this['getKeyFromPlainPrivatePKCS8Hex']>;
|
||||
|
||||
public parsePlainPrivatePKCS8Hex(pkcs8PrvHex: HexString): {
|
||||
algparam: ASN1V | null;
|
||||
algoid: ASN1V;
|
||||
keyidx: Idx<ASN1V>;
|
||||
};
|
||||
|
||||
public getKeyFromPlainPrivatePKCS8PEM(prvKeyHex: HexString): ReturnType<this['getKeyFromPlainPrivatePKCS8Hex']>;
|
||||
|
||||
public getKeyFromPlainPrivatePKCS8Hex(prvKeyHex: HexString): RSAKey | KJUR.crypto.DSA | KJUR.crypto.ECDSA;
|
||||
|
||||
private _getKeyFromPublicPKCS8Hex(h: HexString): RSAKey | KJUR.crypto.DSA | KJUR.crypto.ECDSA;
|
||||
|
||||
public parsePublicRawRSAKeyHex(pubRawRSAHex: HexString): Record<'n' | 'e', ASN1V>;
|
||||
|
||||
public parsePublicPKCS8Hex(pkcs8PubHex: HexString): {
|
||||
algparam: ASN1V | Record<'p' | 'q' | 'g', ASN1V> | null;
|
||||
algoid: ASN1V;
|
||||
key: ASN1V;
|
||||
};
|
||||
|
||||
public static getKey(param: GetKeyRSAParam): RSAKey;
|
||||
|
||||
public static getKey(param: GetKeyECDSAParam): KJUR.crypto.ECDSA;
|
||||
|
||||
public static getKey(param: GetKeyDSAParam): KJUR.crypto.DSA;
|
||||
|
||||
public static getKey(param: string, passcode?: string, hextype?: string): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
|
||||
|
||||
public static generateKeypair(alg: 'RSA', keylen: number): Record<'prvKeyObj' | 'pubKeyObj', RSAKey>;
|
||||
|
||||
public static generateKeypair(alg: 'EC', curve: KJUR.crypto.CurveName): Record<'prvKeyObj' | 'pubKeyObj', KJUR.crypto.ECDSA>;
|
||||
|
||||
public static getPEM(keyObjOrHex: RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA, formatType?: 'PKCS1PRV' | 'PKCS5PRV' | 'PKCS8PRV', passwd?: string, encAlg?: 'DES-CBC' | 'DES-EDE3-CBC' | 'AES-128-CBC' | 'AES-192-CBC' | 'AES-256-CBC', hexType?: string, ivsaltHex?: HexString): object; // To Do
|
||||
|
||||
public static getKeyFromCSRPEM(csrPEM: PEM): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
|
||||
|
||||
public static getKeyFromCSRHex(csrHex: HexString): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
|
||||
|
||||
public static parseCSRHex(csrHex: HexString): Record<'p8pubkeyhex', ASN1TLV>;
|
||||
|
||||
public static getJWKFromKey(keyObj: RSAKey): {
|
||||
kty: 'RSA';
|
||||
} & Record<'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi', Base64URLString> | {
|
||||
kty: 'RSA';
|
||||
} & Record<'n' | 'e', Base64URLString>;
|
||||
|
||||
public static getJWKFromKey(keyObj: KJUR.crypto.ECDSA): {
|
||||
kty: 'EC';
|
||||
crv: KJUR.crypto.CurveName;
|
||||
x: Base64URLString;
|
||||
y: Base64URLString;
|
||||
d: Base64URLString;
|
||||
} | {
|
||||
kty: 'EC';
|
||||
crv: KJUR.crypto.CurveName;
|
||||
x: Base64URLString;
|
||||
y: Base64URLString;
|
||||
};
|
||||
}
|
||||
|
||||
//// KJUR NAMESPACE (PARTIAL)
|
||||
|
||||
namespace KJUR {
|
||||
namespace crypto {
|
||||
type CurveName = 'secp128r1' | 'secp160k1' | 'secp160r1' | 'secp192k1' | 'secp192r1' | 'secp224r1' | 'secp256k1' | 'secp256r1' | 'secp384r1' | 'secp521r1';
|
||||
|
||||
class DSA {
|
||||
public p: BigInteger | null;
|
||||
|
||||
public q: BigInteger | null;
|
||||
|
||||
public g: BigInteger | null;
|
||||
|
||||
public y: BigInteger | null;
|
||||
|
||||
public x: BigInteger | null;
|
||||
|
||||
public type: 'DSA';
|
||||
|
||||
public isPrivate: boolean;
|
||||
|
||||
public isPublic: boolean;
|
||||
|
||||
public setPrivate(p: BigInteger, q: BigInteger, g: BigInteger, y: BigInteger | null, x: BigInteger): void;
|
||||
|
||||
public setPrivateHex(hP: HexString, hQ: HexString, hG: HexString, hY: HexString | null, hX: HexString): void;
|
||||
|
||||
public setPublic(p: BigInteger, q: BigInteger, g: BigInteger, y: BigInteger): void;
|
||||
|
||||
public setPublicHex(hP: HexString, hQ: HexString, hG: HexString, hY: HexString): void;
|
||||
|
||||
public signWithMessageHash(sHashHex: HexString): HexString;
|
||||
|
||||
public verifyWithMessageHash(sHashHex: HexString, hSigVal: HexString): boolean;
|
||||
|
||||
public parseASN1Signature(hSigVal: HexString): [BigInteger, BigInteger];
|
||||
|
||||
public readPKCS5PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PubKeyHex(h: HexString): void;
|
||||
|
||||
public readCertPubKeyHex(h: HexString, nthPKI: number): void;
|
||||
}
|
||||
|
||||
class ECDSA {
|
||||
constructor(params?: {
|
||||
curve?: CurveName;
|
||||
prv?: HexString;
|
||||
pub?: HexString;
|
||||
});
|
||||
|
||||
public p: BigInteger | null;
|
||||
|
||||
public q: BigInteger | null;
|
||||
|
||||
public g: BigInteger | null;
|
||||
|
||||
public y: BigInteger | null;
|
||||
|
||||
public x: BigInteger | null;
|
||||
|
||||
public type: 'EC';
|
||||
|
||||
public isPrivate: boolean;
|
||||
|
||||
public isPublic: boolean;
|
||||
|
||||
public getBigRandom(limit: BigInteger): BigInteger;
|
||||
|
||||
public setNamedCurve(curveName: CurveName): void;
|
||||
|
||||
public setPrivateKeyHex(prvKeyHex: HexString): void;
|
||||
|
||||
public setPublicKeyHex(pubKeyHex: HexString): void;
|
||||
|
||||
public getPublicKeyXYHex(): Record<'x' | 'y', HexString>;
|
||||
|
||||
public getShortNISTPCurveName(): 'P-256' | 'P-384' | null;
|
||||
|
||||
public generateKeyPairHex(): Record<'ecprvhex' | 'ecpubhex', HexString>;
|
||||
|
||||
public signWithMessageHash(hashHex: HexString): HexString;
|
||||
|
||||
public signHex(hashHex: HexString, privHex: HexString): HexString;
|
||||
|
||||
public verifyWithMessageHash(sHashHex: HexString, hSigVal: HexString): boolean;
|
||||
|
||||
public parseASN1Signature(hSigVal: HexString): [BigInteger, BigInteger];
|
||||
|
||||
public readPKCS5PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PubKeyHex(h: HexString): void;
|
||||
|
||||
public readCertPubKeyHex(h: HexString, nthPKI: number): void;
|
||||
|
||||
public static parseSigHex(sigHex: HexString): Record<'r' | 's', BigInteger>;
|
||||
|
||||
public static parseSigHexInHexRS(sigHex: HexString): Record<'r' | 's', ASN1V>;
|
||||
|
||||
public static asn1SigToConcatSig(asn1Sig: HexString): HexString;
|
||||
|
||||
public static concatSigToASN1Sig(concatSig: HexString): ASN1TLV;
|
||||
|
||||
public static hexRSSigToASN1Sig(hR: HexString, hS: HexString): ASN1TLV;
|
||||
|
||||
public static biRSSigToASN1Sig(biR: BigInteger, biS: BigInteger): ASN1TLV;
|
||||
|
||||
public static getName(s: CurveName | HexString): 'secp256r1' | 'secp256k1' | 'secp384r1' | null;
|
||||
}
|
||||
|
||||
class Signature {
|
||||
constructor(params?: ({
|
||||
alg: string;
|
||||
prov?: string;
|
||||
} | {}) & ({
|
||||
psssaltlen: number;
|
||||
} | {}) & ({
|
||||
prvkeypem: PEM;
|
||||
prvkeypas?: never;
|
||||
} | {}));
|
||||
|
||||
private _setAlgNames(): void;
|
||||
|
||||
private _zeroPaddingOfSignature(hex: HexString, bitLength: number): HexString;
|
||||
|
||||
public setAlgAndProvider(alg: string, prov: string): void;
|
||||
|
||||
public init(key: GetKeyParam, pass?: string): void;
|
||||
|
||||
public updateString(str: string): void;
|
||||
|
||||
public updateHex(hex: HexString): void;
|
||||
|
||||
public sign(): HexString;
|
||||
|
||||
public signString(str: string): HexString;
|
||||
|
||||
public signHex(hex: HexString): HexString;
|
||||
|
||||
public verify(hSigVal: string): boolean | 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//// RSAKEY TYPES
|
||||
|
||||
class RSAKey {
|
||||
public n: BigInteger | null;
|
||||
|
||||
public e: number;
|
||||
|
||||
public d: BigInteger | null;
|
||||
|
||||
public p: BigInteger | null;
|
||||
|
||||
public q: BigInteger | null;
|
||||
|
||||
public dmp1: BigInteger | null;
|
||||
|
||||
public dmq1: BigInteger | null;
|
||||
|
||||
public coeff: BigInteger | null;
|
||||
|
||||
public type: 'RSA';
|
||||
|
||||
public isPrivate?: boolean;
|
||||
|
||||
public isPublic?: boolean;
|
||||
|
||||
//// RSA PUBLIC
|
||||
|
||||
protected doPublic(x: BigInteger): BigInteger;
|
||||
|
||||
public setPublic(N: BigInteger, E: number): void;
|
||||
|
||||
public setPublic(N: HexString, E: HexString): void;
|
||||
|
||||
public encrypt(text: string): HexString | null;
|
||||
|
||||
public encryptOAEP(text: string, hash?: string | ((s: string) => string), hashLen?: number): HexString | null;
|
||||
|
||||
//// RSA PRIVATE
|
||||
|
||||
protected doPrivate(x: BigInteger): BigInteger;
|
||||
|
||||
public setPrivate(N: BigInteger, E: number, D: BigInteger): void;
|
||||
|
||||
public setPrivate(N: HexString, E: HexString, D: HexString): void;
|
||||
|
||||
public setPrivateEx(N: HexString, E: HexString, D?: HexString | null, P?: HexString | null, Q?: HexString | null, DP?: HexString | null, DQ?: HexString | null, C?: HexString | null): void;
|
||||
|
||||
public generate(B: number, E: HexString): void;
|
||||
|
||||
public decrypt(ctext: HexString): string;
|
||||
|
||||
public decryptOAEP(ctext: HexString, hash?: string | ((s: string) => string), hashLen?: number): string | null;
|
||||
|
||||
//// RSA PEM
|
||||
|
||||
public getPosArrayOfChildrenFromHex(hPrivateKey: PEM): Idx<ASN1ObjectString>[];
|
||||
|
||||
public getHexValueArrayOfChildrenFromHex(hPrivateKey: PEM): Idx<ASN1ObjectString>[];
|
||||
|
||||
public readPrivateKeyFromPEMString(keyPEM: PEM): void;
|
||||
|
||||
public readPKCS5PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PrvKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS5PubKeyHex(h: HexString): void;
|
||||
|
||||
public readPKCS8PubKeyHex(h: HexString): void;
|
||||
|
||||
public readCertPubKeyHex(h: HexString, nthPKI: Nth): void;
|
||||
|
||||
//// RSA SIGN
|
||||
|
||||
public sign(s: string, hashAlg: string): HexString;
|
||||
|
||||
public signWithMessageHash(sHashHex: HexString, hashAlg: string): HexString;
|
||||
|
||||
public signPSS(s: string, hashAlg: string, sLen: number): HexString;
|
||||
|
||||
public signWithMessageHashPSS(hHash: HexString, hashAlg: string, sLen: number): HexString;
|
||||
|
||||
public verify(sMsg: string, hSig: HexString): boolean | 0;
|
||||
|
||||
public verifyWithMessageHash(sHashHex: HexString, hSig: HexString): boolean | 0;
|
||||
|
||||
public verifyPSS(sMsg: string, hSig: HexString, hashAlg: string, sLen: number): boolean;
|
||||
|
||||
public verifyWithMessageHashPSS(hHash: HexString, hSig: HexString, hashAlg: string, sLen: number): boolean;
|
||||
|
||||
public static SALT_LEN_HLEN: -1;
|
||||
|
||||
public static SALT_LEN_MAX: -2;
|
||||
|
||||
public static SALT_LEN_RECOVER: -2;
|
||||
}
|
||||
|
||||
/// RNG TYPES
|
||||
class SecureRandom {
|
||||
public nextBytes(ba: Mutable<ByteNumber[]>): void;
|
||||
}
|
||||
|
||||
//// X509 TYPES
|
||||
|
||||
type ExtInfo = {
|
||||
critical: boolean;
|
||||
oid: OID;
|
||||
vidx: Idx<ASN1V>;
|
||||
};
|
||||
|
||||
type ExtAIAInfo = Record<'ocsp' | 'caissuer', string>;
|
||||
|
||||
type ExtCertificatePolicy = {
|
||||
id: OIDName;
|
||||
} & Partial<{
|
||||
cps: string;
|
||||
} | {
|
||||
unotice: string;
|
||||
}>;
|
||||
|
||||
class X509 {
|
||||
public hex: HexString | null;
|
||||
|
||||
public version: number;
|
||||
|
||||
public foffset: number;
|
||||
|
||||
public aExtInfo: null;
|
||||
|
||||
public getVersion(): number;
|
||||
|
||||
public getSerialNumberHex(): ASN1V;
|
||||
|
||||
public getSignatureAlgorithmField(): OIDName;
|
||||
|
||||
public getIssuerHex(): ASN1TLV;
|
||||
|
||||
public getIssuerString(): HexString;
|
||||
|
||||
public getSubjectHex(): ASN1TLV;
|
||||
|
||||
public getSubjectString(): HexString;
|
||||
|
||||
public getNotBefore(): TimeValue;
|
||||
|
||||
public getNotAfter(): TimeValue;
|
||||
|
||||
public getPublicKeyHex(): ASN1TLV;
|
||||
|
||||
public getPublicKeyIdx(): Idx<Mutable<Nth[]>>;
|
||||
|
||||
public getPublicKeyContentIdx(): Idx<Mutable<Nth[]>>;
|
||||
|
||||
public getPublicKey(): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
|
||||
|
||||
public getSignatureAlgorithmName(): OIDName;
|
||||
|
||||
public getSignatureValueHex(): ASN1V;
|
||||
|
||||
public verifySignature(pubKey: GetKeyParam): boolean | 0;
|
||||
|
||||
public parseExt(): void;
|
||||
|
||||
public getExtInfo(oidOrName: OID | string): ExtInfo | undefined;
|
||||
|
||||
public getExtBasicConstraints(): ExtInfo | {} | {
|
||||
cA: true;
|
||||
pathLen?: number;
|
||||
};
|
||||
|
||||
public getExtKeyUsageBin(): BinString;
|
||||
|
||||
public getExtKeyUsageString(): string;
|
||||
|
||||
public getExtSubjectKeyIdentifier(): ASN1V | undefined;
|
||||
|
||||
public getExtAuthorityKeyIdentifier(): {
|
||||
kid: ASN1V;
|
||||
} | undefined;
|
||||
|
||||
public getExtExtKeyUsageName(): OIDName[] | undefined;
|
||||
|
||||
public getExtSubjectAltName(): Deprecated<string[]>;
|
||||
|
||||
public getExtSubjectAltName2(): ['MAIL' | 'DNS' | 'DN' | 'URI' | 'IP', string][] | undefined;
|
||||
|
||||
public getExtCRLDistributionPointsURI(): string[] | undefined;
|
||||
|
||||
public getExtAIAInfo(): ExtAIAInfo | undefined;
|
||||
|
||||
public getExtCertificatePolicies(): ExtCertificatePolicy[] | undefined;
|
||||
|
||||
public readCertPEM(sCertPEM: PEM): void;
|
||||
|
||||
public readCertHex(sCertHex: HexString): void;
|
||||
|
||||
public getInfo(): string;
|
||||
|
||||
public static hex2dn(hex: HexString, idx?: Idx<HexString>): string;
|
||||
|
||||
public static hex2rdn(hex: HexString, idx?: Idx<HexString>): string;
|
||||
|
||||
public static hex2attrTypeValue(hex: HexString, idx?: Idx<HexString>): string;
|
||||
|
||||
public static getPublicKeyFromCertPEM(sCertPEM: PEM): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
|
||||
|
||||
public static getPublicKeyInfoPropOfCertPEM(sCertPEM: PEM): {
|
||||
algparam: ASN1V | null;
|
||||
leyhex: ASN1V;
|
||||
algoid: ASN1V;
|
||||
};
|
||||
}
|
||||
}
|
||||
15
packages/backend/@types/koa-json-body.d.ts
vendored
15
packages/backend/@types/koa-json-body.d.ts
vendored
@@ -1,15 +0,0 @@
|
||||
declare module 'koa-json-body' {
|
||||
import { Middleware } from 'koa';
|
||||
|
||||
interface IKoaJsonBodyOptions {
|
||||
strict: boolean;
|
||||
limit: string;
|
||||
fallback: boolean;
|
||||
}
|
||||
|
||||
function koaJsonBody(opt?: IKoaJsonBodyOptions): Middleware;
|
||||
|
||||
namespace koaJsonBody {} // Hack
|
||||
|
||||
export = koaJsonBody;
|
||||
}
|
||||
14
packages/backend/@types/koa-slow.d.ts
vendored
14
packages/backend/@types/koa-slow.d.ts
vendored
@@ -1,14 +0,0 @@
|
||||
declare module 'koa-slow' {
|
||||
import { Middleware } from 'koa';
|
||||
|
||||
interface ISlowOptions {
|
||||
url?: RegExp;
|
||||
delay?: number;
|
||||
}
|
||||
|
||||
function slow(options?: ISlowOptions): Middleware;
|
||||
|
||||
namespace slow {} // Hack
|
||||
|
||||
export = slow;
|
||||
}
|
||||
10
packages/backend/@types/langmap.d.ts
vendored
10
packages/backend/@types/langmap.d.ts
vendored
@@ -1,10 +0,0 @@
|
||||
declare module 'langmap' {
|
||||
type Lang = {
|
||||
nativeName: string;
|
||||
englishName: string;
|
||||
};
|
||||
|
||||
const langmap: { [lang: string]: Lang };
|
||||
|
||||
export = langmap;
|
||||
}
|
||||
2
packages/backend/README.md
Normal file
2
packages/backend/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Misskey Backend
|
||||

|
||||
BIN
packages/backend/assets/emoji-unknown.png
Normal file
BIN
packages/backend/assets/emoji-unknown.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user