mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-16 21:40:23 +01:00
Compare commits
668 Commits
protocol-v
...
v1.14.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c0eb70046 | ||
|
|
28302c55dc | ||
|
|
fe908cc022 | ||
|
|
5a713d85df | ||
|
|
6cb31791ff | ||
|
|
eb9704f85e | ||
|
|
e80100b5b0 | ||
|
|
a1a5424047 | ||
|
|
bbd8504946 | ||
|
|
19f9af94ee | ||
|
|
6931f29d53 | ||
|
|
e7ec5550f3 | ||
|
|
706fc118f2 | ||
|
|
05a6f424a5 | ||
|
|
6bb0070d03 | ||
|
|
1b1e9b6725 | ||
|
|
e66b526ca0 | ||
|
|
fd400a008d | ||
|
|
e09ab3dc19 | ||
|
|
0d0b951380 | ||
|
|
37b6b8fd48 | ||
|
|
f0ce309d03 | ||
|
|
2355d9d5dd | ||
|
|
903673d24c | ||
|
|
c0857f6390 | ||
|
|
5c7d37c0ae | ||
|
|
d40720f9e6 | ||
|
|
023de94ef8 | ||
|
|
9b20d0ce20 | ||
|
|
e53a18f219 | ||
|
|
e0d285032d | ||
|
|
6bb0241daf | ||
|
|
bffb830d87 | ||
|
|
c3c8b19a36 | ||
|
|
0d112b3605 | ||
|
|
c1991abe6f | ||
|
|
c718b7293e | ||
|
|
ed4b5caf2c | ||
|
|
3349274439 | ||
|
|
6a8f54fd6b | ||
|
|
a860a793ef | ||
|
|
272b4992c2 | ||
|
|
0482fb2998 | ||
|
|
a2c62f2e11 | ||
|
|
f01ac65c5a | ||
|
|
8482a54a68 | ||
|
|
00d8ce2663 | ||
|
|
c07cca574f | ||
|
|
226620140c | ||
|
|
2ee196b4da | ||
|
|
b3c4db621a | ||
|
|
4f6b6c5631 | ||
|
|
d50f7c7dfa | ||
|
|
0ddfb6b088 | ||
|
|
6aecc1770c | ||
|
|
b5a68a4440 | ||
|
|
3ffb6fded3 | ||
|
|
f03ca0867b | ||
|
|
8383992dcc | ||
|
|
54310d69e4 | ||
|
|
569b7664ed | ||
|
|
11244348ae | ||
|
|
fd628570c5 | ||
|
|
48b41debe6 | ||
|
|
76c577fa3c | ||
|
|
e80379dc0e | ||
|
|
55f8f99bcd | ||
|
|
040e6a9a4c | ||
|
|
af790e3f5e | ||
|
|
d1c1cb2cc1 | ||
|
|
e8f0da6e42 | ||
|
|
757cfe80be | ||
|
|
79a7f89235 | ||
|
|
2bcf7f72d2 | ||
|
|
bef37e27cb | ||
|
|
f0526bff9f | ||
|
|
a680a95e73 | ||
|
|
157e744473 | ||
|
|
f5b3713313 | ||
|
|
bfd7eafe5b | ||
|
|
592b880b1c | ||
|
|
553dbd73ba | ||
|
|
b459592a4e | ||
|
|
f70d1648c6 | ||
|
|
056f85f864 | ||
|
|
4cae893f49 | ||
|
|
365996e7e6 | ||
|
|
35a06a8419 | ||
|
|
7fe9c1a26d | ||
|
|
6721d4151e | ||
|
|
64c0e1433b | ||
|
|
5a367ecbb4 | ||
|
|
f909ed2541 | ||
|
|
2515aa77ba | ||
|
|
b3115ea813 | ||
|
|
cdf81159df | ||
|
|
225cac1855 | ||
|
|
d5af976915 | ||
|
|
d5578c9906 | ||
|
|
42466d3c6e | ||
|
|
cb5ba76b08 | ||
|
|
58b3d608fc | ||
|
|
d142e7c86a | ||
|
|
5acf5acb3a | ||
|
|
7ed1a0140a | ||
|
|
18d892398f | ||
|
|
8f81651e2f | ||
|
|
3c3e1515aa | ||
|
|
904463659e | ||
|
|
44273a64d0 | ||
|
|
90570660f0 | ||
|
|
102a60040e | ||
|
|
53a9517d54 | ||
|
|
78b7382c3f | ||
|
|
f4bace03d4 | ||
|
|
2ae68f9bda | ||
|
|
3a80a1651a | ||
|
|
0041c02465 | ||
|
|
830c59eb4f | ||
|
|
60ba66c0a3 | ||
|
|
96cb94dcc6 | ||
|
|
ad6e3634a5 | ||
|
|
eec03de81e | ||
|
|
908467400d | ||
|
|
6349fa03e1 | ||
|
|
4b38533b15 | ||
|
|
066b442e18 | ||
|
|
bb3aa54006 | ||
|
|
a024cc1344 | ||
|
|
0595e71078 | ||
|
|
89b010249d | ||
|
|
8591f5d2cc | ||
|
|
5fd05dc942 | ||
|
|
c4bdeae06e | ||
|
|
87ce31d1f5 | ||
|
|
cd1375cbd5 | ||
|
|
dde830db9a | ||
|
|
a255c8f6fd | ||
|
|
470835e6f7 | ||
|
|
7b4d726c5d | ||
|
|
cf0f8f64a9 | ||
|
|
8627bee541 | ||
|
|
6a96944247 | ||
|
|
e97a2b71fe | ||
|
|
4acb3fb210 | ||
|
|
2287963388 | ||
|
|
3be4d5f7d5 | ||
|
|
a49b774800 | ||
|
|
0569c27c88 | ||
|
|
d92032dad1 | ||
|
|
ccac6a3568 | ||
|
|
daeceb45bd | ||
|
|
4d60eac60f | ||
|
|
942cc4b132 | ||
|
|
036e6ef51b | ||
|
|
7caeb27310 | ||
|
|
67aca822e6 | ||
|
|
4b577a527a | ||
|
|
aeefc60beb | ||
|
|
656b391fc5 | ||
|
|
9ae7fd3edb | ||
|
|
8019d316e2 | ||
|
|
50703db879 | ||
|
|
0c265a41d4 | ||
|
|
a82e9bd7f6 | ||
|
|
7f6ff0b1a5 | ||
|
|
6b2ea07745 | ||
|
|
30cc83c033 | ||
|
|
09184f4027 | ||
|
|
fd6bf0c927 | ||
|
|
2d582df74f | ||
|
|
260a482caa | ||
|
|
73055bfccc | ||
|
|
124125f7dd | ||
|
|
3a078f59ec | ||
|
|
771ea194b3 | ||
|
|
f8ee981bee | ||
|
|
d2463bb454 | ||
|
|
1b5d5425b4 | ||
|
|
2100a03c1a | ||
|
|
f6b92d241a | ||
|
|
4e1c26becb | ||
|
|
5aea87ade2 | ||
|
|
c1d8b9bb5a | ||
|
|
7786187e84 | ||
|
|
5dc8982da3 | ||
|
|
842b8abb84 | ||
|
|
dcb85ee7a1 | ||
|
|
023942da7d | ||
|
|
d93eba9f3b | ||
|
|
626def8b31 | ||
|
|
f6ad9605c6 | ||
|
|
cb28e6cfd1 | ||
|
|
8ea1634824 | ||
|
|
6b1d1acb48 | ||
|
|
331b1a85bb | ||
|
|
922d49be0b | ||
|
|
d7ab0894d4 | ||
|
|
d135b6f763 | ||
|
|
75b3a81dad | ||
|
|
5a2b515431 | ||
|
|
e603ebc0c6 | ||
|
|
de7ec47f13 | ||
|
|
b31482092d | ||
|
|
da90fd562e | ||
|
|
98dffa3af8 | ||
|
|
bad23159d2 | ||
|
|
2c9e865763 | ||
|
|
d7b2f163f2 | ||
|
|
0633ad3277 | ||
|
|
a83f4259e8 | ||
|
|
c40471793f | ||
|
|
a51fff8bd1 | ||
|
|
d1df08269f | ||
|
|
27ab36ac84 | ||
|
|
dabff9728f | ||
|
|
a10b5eade8 | ||
|
|
8224127fcf | ||
|
|
3338c3112e | ||
|
|
5b009e0712 | ||
|
|
9ffcb6f7ba | ||
|
|
f12d448ef5 | ||
|
|
bb1a56f0fe | ||
|
|
47d73a2ab4 | ||
|
|
a9315aee7d | ||
|
|
84c20f919b | ||
|
|
5781a2dc65 | ||
|
|
938c232377 | ||
|
|
f0e59c149d | ||
|
|
a66fe01377 | ||
|
|
7d484fc0ad | ||
|
|
0009f54e6e | ||
|
|
2727f472ed | ||
|
|
ec5582b53c | ||
|
|
a0e243eea1 | ||
|
|
cf00cda07c | ||
|
|
8d995d1eb6 | ||
|
|
256ee45d37 | ||
|
|
d2edf0c371 | ||
|
|
a20af6e21e | ||
|
|
f3afba6156 | ||
|
|
1b9e8928eb | ||
|
|
ecaa9b76f3 | ||
|
|
e62d892af6 | ||
|
|
31edcdee7d | ||
|
|
8eb89156fb | ||
|
|
a015af4a41 | ||
|
|
0a31e3e6b0 | ||
|
|
11bb6abb51 | ||
|
|
9600ede579 | ||
|
|
d6c2764fe7 | ||
|
|
69a8793306 | ||
|
|
6f78113ee3 | ||
|
|
78d562b3a0 | ||
|
|
cc206b4d9c | ||
|
|
7f24200c73 | ||
|
|
478c8dd72b | ||
|
|
3ec05eeaf8 | ||
|
|
3b6d57e497 | ||
|
|
4ee3543ea4 | ||
|
|
6f504c4142 | ||
|
|
01bff2ae05 | ||
|
|
827d42a931 | ||
|
|
ada45a34d5 | ||
|
|
e5228179c1 | ||
|
|
a26011e756 | ||
|
|
d484731d8c | ||
|
|
6108064ea8 | ||
|
|
e327d1247e | ||
|
|
f2907908c9 | ||
|
|
feb748a44d | ||
|
|
a665881b35 | ||
|
|
cb662e15ce | ||
|
|
2a00b0e973 | ||
|
|
bf8a2c2e9e | ||
|
|
4263efa091 | ||
|
|
2203398efc | ||
|
|
12c6bc2e07 | ||
|
|
a532e2bb83 | ||
|
|
ae2db423ee | ||
|
|
0437ecc2ea | ||
|
|
7a801abade | ||
|
|
8bf980cb63 | ||
|
|
a0d76ff0a6 | ||
|
|
2587112f9d | ||
|
|
981db6429a | ||
|
|
a032e12b7e | ||
|
|
81e33b9391 | ||
|
|
526b3cd9ec | ||
|
|
5fd81c5c04 | ||
|
|
f0323b6cfa | ||
|
|
1d3fa3bc4e | ||
|
|
dfae664e29 | ||
|
|
bdda022238 | ||
|
|
5e3760d276 | ||
|
|
a219285e10 | ||
|
|
40b5cbab2c | ||
|
|
765b8156d5 | ||
|
|
83b5a20c7c | ||
|
|
45dfeeb033 | ||
|
|
1ba6929cb3 | ||
|
|
0e58fa33eb | ||
|
|
bfad457275 | ||
|
|
e20ad5c56e | ||
|
|
1f992cf371 | ||
|
|
c47a1c4df4 | ||
|
|
97c086aba9 | ||
|
|
28df9abadd | ||
|
|
aa4ae78b63 | ||
|
|
9fd5c439b2 | ||
|
|
4e14cb5767 | ||
|
|
f246057a73 | ||
|
|
337be368eb | ||
|
|
928a94426b | ||
|
|
a73c755b05 | ||
|
|
6d57d8446a | ||
|
|
edf9fe3b7f | ||
|
|
8c8cdc9946 | ||
|
|
6a5e86dc66 | ||
|
|
b4494cb876 | ||
|
|
aad0880f7c | ||
|
|
7e42988489 | ||
|
|
c4545381d7 | ||
|
|
87c1687d17 | ||
|
|
ee583e80d1 | ||
|
|
d09bd2cfdf | ||
|
|
7d08184372 | ||
|
|
64c3310aa4 | ||
|
|
6765de3db3 | ||
|
|
dd2bc18927 | ||
|
|
158d923196 | ||
|
|
2e57d8ac31 | ||
|
|
a969c5cec9 | ||
|
|
f2c725c658 | ||
|
|
6567e47494 | ||
|
|
0431d75f0d | ||
|
|
fcb81cb8ca | ||
|
|
89d1764715 | ||
|
|
16a98eaf50 | ||
|
|
b25b51bd97 | ||
|
|
5e1404542c | ||
|
|
be305410fb | ||
|
|
a69f0b29af | ||
|
|
6c59683b16 | ||
|
|
ecd622fdf5 | ||
|
|
3a23ddaba5 | ||
|
|
a72e44290b | ||
|
|
51933c1fcb | ||
|
|
478ed6c16f | ||
|
|
0053e779e8 | ||
|
|
a6bb9f4364 | ||
|
|
3d0db9630f | ||
|
|
84383d3995 | ||
|
|
9839346ec3 | ||
|
|
2cf0a9b62d | ||
|
|
5ebcdb1806 | ||
|
|
919034a7db | ||
|
|
2d07634494 | ||
|
|
4f1128fd2b | ||
|
|
9d153fd388 | ||
|
|
4d6b2ec3ce | ||
|
|
0391856d7d | ||
|
|
c0e441d3b2 | ||
|
|
3fcbd69149 | ||
|
|
0ca84bd9f4 | ||
|
|
17d664e098 | ||
|
|
275e837bcf | ||
|
|
25d509c42c | ||
|
|
4855f1deca | ||
|
|
0c7c70edaf | ||
|
|
fe03effe7d | ||
|
|
7cab2b0fea | ||
|
|
98b70c6b8e | ||
|
|
9f9267ce54 | ||
|
|
39a861f182 | ||
|
|
75aaba3f4e | ||
|
|
87a6ff0dce | ||
|
|
e80b81010c | ||
|
|
5ed4a1087c | ||
|
|
23a0b8c54c | ||
|
|
a1b050e28d | ||
|
|
9ffdab02d0 | ||
|
|
5a1c6ee7ed | ||
|
|
ccc6118d30 | ||
|
|
6edf02d4a5 | ||
|
|
442fe65f5a | ||
|
|
4eafe0f057 | ||
|
|
267567a086 | ||
|
|
c1429fbbf1 | ||
|
|
47e7e9572c | ||
|
|
6e5ebb6184 | ||
|
|
51eccef58b | ||
|
|
d09c6ae0de | ||
|
|
f172073551 | ||
|
|
153456278b | ||
|
|
d342a28c16 | ||
|
|
ef52461fb6 | ||
|
|
058a15dbb2 | ||
|
|
bae88e089a | ||
|
|
5bcaf71501 | ||
|
|
8387178b25 | ||
|
|
ba6d3fd372 | ||
|
|
c7ea84a2ae | ||
|
|
ab4bd7e146 | ||
|
|
d678793cd4 | ||
|
|
b0c30ceba0 | ||
|
|
2395d2be2e | ||
|
|
28777f676c | ||
|
|
803d083e0b | ||
|
|
492360673d | ||
|
|
1b425ef108 | ||
|
|
bcbf98aa4c | ||
|
|
14aed18449 | ||
|
|
e68156e1f2 | ||
|
|
f2f6fbf15a | ||
|
|
e440d617d4 | ||
|
|
e6a1741c2e | ||
|
|
3ce885fff2 | ||
|
|
d77036dbd1 | ||
|
|
d387cc231e | ||
|
|
30a2598364 | ||
|
|
92b55ef580 | ||
|
|
0a65011833 | ||
|
|
a9e686397e | ||
|
|
23dd2727f2 | ||
|
|
c939f8c66d | ||
|
|
55d0a9ffea | ||
|
|
646fac1e53 | ||
|
|
ac579f9dc2 | ||
|
|
1cf62095dc | ||
|
|
3a5c6e07f9 | ||
|
|
bb70cebb2c | ||
|
|
0252e149d9 | ||
|
|
65c78de6fe | ||
|
|
cd5065572c | ||
|
|
2425f4533f | ||
|
|
64d79fe5f6 | ||
|
|
ae3e90d693 | ||
|
|
390dbb1bf3 | ||
|
|
442c018ec0 | ||
|
|
eade13f928 | ||
|
|
7ae7647704 | ||
|
|
683e58511b | ||
|
|
1af5507ac7 | ||
|
|
32985eb12e | ||
|
|
7b31fb34a7 | ||
|
|
9987813f30 | ||
|
|
bbddaadf51 | ||
|
|
03739b6f83 | ||
|
|
ac98775f23 | ||
|
|
a3789e28f8 | ||
|
|
e1919c90d0 | ||
|
|
455d42bcfa | ||
|
|
1136a369f3 | ||
|
|
c82a263788 | ||
|
|
240d90919b | ||
|
|
7b155dab74 | ||
|
|
59cf0e80d2 | ||
|
|
e93578b81d | ||
|
|
0d1b5a7fb1 | ||
|
|
15d6975e96 | ||
|
|
740e598a5d | ||
|
|
8e23dec84b | ||
|
|
00e299e93e | ||
|
|
944a6f5850 | ||
|
|
bb565b0a81 | ||
|
|
30bd233bfc | ||
|
|
811c3aee09 | ||
|
|
c5a7242dbe | ||
|
|
b92c1600f5 | ||
|
|
0ad4b55628 | ||
|
|
f497ee6268 | ||
|
|
14458087ca | ||
|
|
22681945cf | ||
|
|
23571224b5 | ||
|
|
aabddea2b7 | ||
|
|
5e849c6b52 | ||
|
|
080317300a | ||
|
|
071506eb7d | ||
|
|
8f4b99a41c | ||
|
|
dd660c8778 | ||
|
|
68afd01f67 | ||
|
|
c535654142 | ||
|
|
0b5fac75b0 | ||
|
|
fc06f90346 | ||
|
|
ee6cb412bc | ||
|
|
5535c50c39 | ||
|
|
b0864e7c24 | ||
|
|
93acd13999 | ||
|
|
5aa76cdf2f | ||
|
|
d080c7b04c | ||
|
|
776fe9d2ea | ||
|
|
13d8f6f117 | ||
|
|
4cdb31318c | ||
|
|
fbd95a504b | ||
|
|
2052f14c19 | ||
|
|
2f9c7c626f | ||
|
|
f07f4f8e1a | ||
|
|
266061c31a | ||
|
|
af5c6b8824 | ||
|
|
6d98d5a100 | ||
|
|
2de9e5a7cf | ||
|
|
21e91c91fc | ||
|
|
d0075ed9a3 | ||
|
|
1efb238a9a | ||
|
|
b67af70da4 | ||
|
|
41572be879 | ||
|
|
e1c6c3b267 | ||
|
|
22ee2b8d06 | ||
|
|
5e91a67e78 | ||
|
|
07e7872622 | ||
|
|
e01f05e321 | ||
|
|
cba5b23e23 | ||
|
|
80f1bcad20 | ||
|
|
476f6717c4 | ||
|
|
05bee6291d | ||
|
|
bc9e92a11c | ||
|
|
cf6eadb91a | ||
|
|
4083a6e39b | ||
|
|
6e5de39ba0 | ||
|
|
32ada7c4e7 | ||
|
|
ac241fb830 | ||
|
|
53720354de | ||
|
|
d2bd746c99 | ||
|
|
1e1467aa0d | ||
|
|
f0db240a1d | ||
|
|
7eb0053bd4 | ||
|
|
da111b7cc4 | ||
|
|
d38f7e7973 | ||
|
|
c71e4de8a8 | ||
|
|
e72a29b3fd | ||
|
|
14e7866745 | ||
|
|
307c72a58b | ||
|
|
8f2029faed | ||
|
|
9daa21ffcf | ||
|
|
7d6a983be8 | ||
|
|
326367556f | ||
|
|
3acc24b0b6 | ||
|
|
bc93b5676c | ||
|
|
41c20761e1 | ||
|
|
3c9689a5ac | ||
|
|
7cc63f7d2c | ||
|
|
667608a02c | ||
|
|
307f8716b7 | ||
|
|
eddbd86837 | ||
|
|
630f5d5b85 | ||
|
|
316913b9bb | ||
|
|
f1d58989d8 | ||
|
|
067034082f | ||
|
|
20fbab9723 | ||
|
|
4d0636f847 | ||
|
|
f4ed35c998 | ||
|
|
4b90713717 | ||
|
|
5a0c7c1497 | ||
|
|
a5f3c2a2c2 | ||
|
|
e74954407f | ||
|
|
7fde180a28 | ||
|
|
99a3ca7582 | ||
|
|
b73aa84ddc | ||
|
|
dd3893b134 | ||
|
|
4abe5eb7ff | ||
|
|
300c04cef9 | ||
|
|
690bb69d03 | ||
|
|
f23bc347b1 | ||
|
|
03a02e5d1d | ||
|
|
ef964b11a8 | ||
|
|
1037de0216 | ||
|
|
d8efc6b653 | ||
|
|
236e1e6859 | ||
|
|
2e79480179 | ||
|
|
398f0120b8 | ||
|
|
9ecdb92f7c | ||
|
|
0b9ad416cb | ||
|
|
79737c53fd | ||
|
|
14655f8745 | ||
|
|
d6e3f3f058 | ||
|
|
0885ec6858 | ||
|
|
146388aac8 | ||
|
|
beafd6139f | ||
|
|
a5ef6b53b8 | ||
|
|
c35a21d7f0 | ||
|
|
1e50616c13 | ||
|
|
157832131d | ||
|
|
d5b3d56296 | ||
|
|
976e26a958 | ||
|
|
eb4a1a5772 | ||
|
|
cdfbcbb9ce | ||
|
|
87225a90c3 | ||
|
|
5ed7fc0ffa | ||
|
|
16ab641dd1 | ||
|
|
726ba71c57 | ||
|
|
f07b4bfa62 | ||
|
|
b370333c6a | ||
|
|
b959c24a2b | ||
|
|
111ed802cf | ||
|
|
6d7131fbc5 | ||
|
|
8c48f94b96 | ||
|
|
9969dd6335 | ||
|
|
d927b763c1 | ||
|
|
66febb8071 | ||
|
|
3cca929a88 | ||
|
|
df2c785127 | ||
|
|
0ae1eb4f6e | ||
|
|
dd440ce902 | ||
|
|
027f3f2256 | ||
|
|
23810cc64b | ||
|
|
30c503611c | ||
|
|
cd1fa27a8b | ||
|
|
ee4304b443 | ||
|
|
f799f017ab | ||
|
|
418c174d56 | ||
|
|
51236df4ed | ||
|
|
1f13ab8a19 | ||
|
|
236a173009 | ||
|
|
82ace391cb | ||
|
|
3077eb9428 | ||
|
|
ecc579a29c | ||
|
|
594cd7e176 | ||
|
|
106c141ff5 | ||
|
|
c510a2c4f2 | ||
|
|
0e49cfb98d | ||
|
|
66992a556c | ||
|
|
1b08f37612 | ||
|
|
bfaba89557 | ||
|
|
8bb5e71ebe | ||
|
|
3fac09b1ab | ||
|
|
8e5a2276af | ||
|
|
ddce77b343 | ||
|
|
6a63c1a100 | ||
|
|
c8fb7f9246 | ||
|
|
8c6a7954cf | ||
|
|
d74eecfbe8 | ||
|
|
153b1a0eaa | ||
|
|
1656738359 | ||
|
|
01d1ae78c8 | ||
|
|
b0f3e48ac2 | ||
|
|
3e52557689 | ||
|
|
09d55581d8 | ||
|
|
16e8f49655 | ||
|
|
e3952674ba | ||
|
|
b7a57996f7 | ||
|
|
ca10f8f073 | ||
|
|
842916ea42 | ||
|
|
4eb9652a2a | ||
|
|
740de034fa | ||
|
|
879acc85ae | ||
|
|
e06c1bfcd2 | ||
|
|
df5e3a7394 | ||
|
|
61da8c29ac | ||
|
|
48f086279c | ||
|
|
5a8217de01 | ||
|
|
527745310d | ||
|
|
5e6233969e | ||
|
|
81c5ca15eb | ||
|
|
ac567bc10a | ||
|
|
5410b5d6da | ||
|
|
223225378e | ||
|
|
10989cccaa | ||
|
|
0aae421417 | ||
|
|
fd056b58fb | ||
|
|
bb1515ce56 | ||
|
|
c1b1ee61f3 | ||
|
|
9d074731f4 | ||
|
|
b9679df784 | ||
|
|
f6d7a24a67 | ||
|
|
9a4a48bc45 | ||
|
|
2edc6960d0 | ||
|
|
cc6758a0f1 |
@@ -24,7 +24,7 @@
|
||||
"consistent-return": "off",
|
||||
"func-names": "off",
|
||||
"no-tabs": "off",
|
||||
"indent": ["error", "tab"],
|
||||
"indent": ["error", "tab", { "SwitchCase": 1 }],
|
||||
"no-eq-null": "off",
|
||||
"camelcase": "off",
|
||||
"no-new": "off",
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
dist/
|
||||
yarn.lock
|
||||
npm-debug.log
|
||||
node_modules/
|
||||
@@ -66,3 +67,4 @@ test/files/normalise.jpg.png
|
||||
test/files/normalise-resized.jpg
|
||||
package-lock.json
|
||||
/package.json
|
||||
*.mongodb
|
||||
4
.mocharc.yml
Normal file
4
.mocharc.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
reporter: dot
|
||||
timeout: 25000
|
||||
exit: true
|
||||
bail: true
|
||||
@@ -14,7 +14,7 @@ before_script:
|
||||
- "mongo mydb_test --eval 'db.createUser({user:\"travis\", pwd: \"test\", roles: []});'"
|
||||
- sh -c "if [ '$DB' = 'mongodb' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"mongo\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":27017,\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
|
||||
- sh -c "if [ '$DB' = 'redis' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567/forum\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"redis\\\",\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":6379,\\\"database\\\":1}\"; fi"
|
||||
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database nodebb;' -U postgres; psql -c 'create database travis_ci_test;' -U postgres; node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"postgres\\\",\\\"postgres:host\\\":\\\"127.0.0.1\\\",\\\"postgres:port\\\":5432,\\\"postgres:password\\\":\\\"\\\",\\\"postgres:database\\\":\\\"nodebb\\\",\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":5432,\\\"username\\\":\\\"postgres\\\",\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
|
||||
- sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database nodebb;' -U postgres; psql -c 'create database travis_ci_test;' -U postgres; node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"postgres\\\",\\\"postgres:host\\\":\\\"127.0.0.1\\\",\\\"postgres:port\\\":5433,\\\"postgres:password\\\":\\\"\\\",\\\"postgres:database\\\":\\\"nodebb\\\",\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"hAN3Eg8W\\\",\\\"admin:password:confirm\\\":\\\"hAN3Eg8W\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":5433,\\\"username\\\":\\\"postgres\\\",\\\"database\\\":\\\"travis_ci_test\\\"}\"; fi"
|
||||
after_success:
|
||||
- "npm run coveralls"
|
||||
language: node_js
|
||||
@@ -23,7 +23,7 @@ dist: xenial
|
||||
env:
|
||||
global:
|
||||
- PGUSER=postgres
|
||||
- PGPORT=5432
|
||||
- PGPORT=5433
|
||||
- CXX=g++-4.8
|
||||
jobs:
|
||||
- "DB=mongodb TEST_ENV=production"
|
||||
|
||||
564
.tx/config
564
.tx/config
@@ -1850,304 +1850,304 @@ trans.zh_CN = public/language/zh-CN/admin/extend/widgets.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/extend/widgets.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-dashboard]
|
||||
file_filter = public/language/<lang>/admin/general/dashboard.json
|
||||
source_file = public/language/en-GB/admin/general/dashboard.json
|
||||
[nodebb.admin-dashboard]
|
||||
file_filter = public/language/<lang>/admin/dashboard.json
|
||||
source_file = public/language/en-GB/admin/dashboard.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/dashboard.json
|
||||
trans.bg = public/language/bg/admin/general/dashboard.json
|
||||
trans.bn = public/language/bn/admin/general/dashboard.json
|
||||
trans.cs = public/language/cs/admin/general/dashboard.json
|
||||
trans.da = public/language/da/admin/general/dashboard.json
|
||||
trans.de = public/language/de/admin/general/dashboard.json
|
||||
trans.el = public/language/el/admin/general/dashboard.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/dashboard.json
|
||||
trans.en_US = public/language/en-US/admin/general/dashboard.json
|
||||
trans.es = public/language/es/admin/general/dashboard.json
|
||||
trans.et = public/language/et/admin/general/dashboard.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/dashboard.json
|
||||
trans.fi = public/language/fi/admin/general/dashboard.json
|
||||
trans.fr = public/language/fr/admin/general/dashboard.json
|
||||
trans.gl = public/language/gl/admin/general/dashboard.json
|
||||
trans.he = public/language/he/admin/general/dashboard.json
|
||||
trans.hr = public/language/hr/admin/general/dashboard.json
|
||||
trans.hu = public/language/hu/admin/general/dashboard.json
|
||||
trans.id = public/language/id/admin/general/dashboard.json
|
||||
trans.it = public/language/it/admin/general/dashboard.json
|
||||
trans.ja = public/language/ja/admin/general/dashboard.json
|
||||
trans.ko = public/language/ko/admin/general/dashboard.json
|
||||
trans.lt = public/language/lt/admin/general/dashboard.json
|
||||
trans.lv = public/language/lv/admin/general/dashboard.json
|
||||
trans.ms = public/language/ms/admin/general/dashboard.json
|
||||
trans.nb = public/language/nb/admin/general/dashboard.json
|
||||
trans.nl = public/language/nl/admin/general/dashboard.json
|
||||
trans.pl = public/language/pl/admin/general/dashboard.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/dashboard.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/dashboard.json
|
||||
trans.ro = public/language/ro/admin/general/dashboard.json
|
||||
trans.ru = public/language/ru/admin/general/dashboard.json
|
||||
trans.rw = public/language/rw/admin/general/dashboard.json
|
||||
trans.sc = public/language/sc/admin/general/dashboard.json
|
||||
trans.sk = public/language/sk/admin/general/dashboard.json
|
||||
trans.sl = public/language/sl/admin/general/dashboard.json
|
||||
trans.sr = public/language/sr/admin/general/dashboard.json
|
||||
trans.sv = public/language/sv/admin/general/dashboard.json
|
||||
trans.th = public/language/th/admin/general/dashboard.json
|
||||
trans.tr = public/language/tr/admin/general/dashboard.json
|
||||
trans.uk = public/language/uk/admin/general/dashboard.json
|
||||
trans.vi = public/language/vi/admin/general/dashboard.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/dashboard.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/dashboard.json
|
||||
trans.ar = public/language/ar/admin/dashboard.json
|
||||
trans.bg = public/language/bg/admin/dashboard.json
|
||||
trans.bn = public/language/bn/admin/dashboard.json
|
||||
trans.cs = public/language/cs/admin/dashboard.json
|
||||
trans.da = public/language/da/admin/dashboard.json
|
||||
trans.de = public/language/de/admin/dashboard.json
|
||||
trans.el = public/language/el/admin/dashboard.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/dashboard.json
|
||||
trans.en_US = public/language/en-US/admin/dashboard.json
|
||||
trans.es = public/language/es/admin/dashboard.json
|
||||
trans.et = public/language/et/admin/dashboard.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/dashboard.json
|
||||
trans.fi = public/language/fi/admin/dashboard.json
|
||||
trans.fr = public/language/fr/admin/dashboard.json
|
||||
trans.gl = public/language/gl/admin/dashboard.json
|
||||
trans.he = public/language/he/admin/dashboard.json
|
||||
trans.hr = public/language/hr/admin/dashboard.json
|
||||
trans.hu = public/language/hu/admin/dashboard.json
|
||||
trans.id = public/language/id/admin/dashboard.json
|
||||
trans.it = public/language/it/admin/dashboard.json
|
||||
trans.ja = public/language/ja/admin/dashboard.json
|
||||
trans.ko = public/language/ko/admin/dashboard.json
|
||||
trans.lt = public/language/lt/admin/dashboard.json
|
||||
trans.lv = public/language/lv/admin/dashboard.json
|
||||
trans.ms = public/language/ms/admin/dashboard.json
|
||||
trans.nb = public/language/nb/admin/dashboard.json
|
||||
trans.nl = public/language/nl/admin/dashboard.json
|
||||
trans.pl = public/language/pl/admin/dashboard.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/dashboard.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/dashboard.json
|
||||
trans.ro = public/language/ro/admin/dashboard.json
|
||||
trans.ru = public/language/ru/admin/dashboard.json
|
||||
trans.rw = public/language/rw/admin/dashboard.json
|
||||
trans.sc = public/language/sc/admin/dashboard.json
|
||||
trans.sk = public/language/sk/admin/dashboard.json
|
||||
trans.sl = public/language/sl/admin/dashboard.json
|
||||
trans.sr = public/language/sr/admin/dashboard.json
|
||||
trans.sv = public/language/sv/admin/dashboard.json
|
||||
trans.th = public/language/th/admin/dashboard.json
|
||||
trans.tr = public/language/tr/admin/dashboard.json
|
||||
trans.uk = public/language/uk/admin/dashboard.json
|
||||
trans.vi = public/language/vi/admin/dashboard.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/dashboard.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/dashboard.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-homepage]
|
||||
file_filter = public/language/<lang>/admin/general/homepage.json
|
||||
source_file = public/language/en-GB/admin/general/homepage.json
|
||||
[nodebb.admin-settings-homepage]
|
||||
file_filter = public/language/<lang>/admin/settings/homepage.json
|
||||
source_file = public/language/en-GB/admin/settings/homepage.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/homepage.json
|
||||
trans.bg = public/language/bg/admin/general/homepage.json
|
||||
trans.bn = public/language/bn/admin/general/homepage.json
|
||||
trans.cs = public/language/cs/admin/general/homepage.json
|
||||
trans.da = public/language/da/admin/general/homepage.json
|
||||
trans.de = public/language/de/admin/general/homepage.json
|
||||
trans.el = public/language/el/admin/general/homepage.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/homepage.json
|
||||
trans.en_US = public/language/en-US/admin/general/homepage.json
|
||||
trans.es = public/language/es/admin/general/homepage.json
|
||||
trans.et = public/language/et/admin/general/homepage.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/homepage.json
|
||||
trans.fi = public/language/fi/admin/general/homepage.json
|
||||
trans.fr = public/language/fr/admin/general/homepage.json
|
||||
trans.gl = public/language/gl/admin/general/homepage.json
|
||||
trans.he = public/language/he/admin/general/homepage.json
|
||||
trans.hr = public/language/hr/admin/general/homepage.json
|
||||
trans.hu = public/language/hu/admin/general/homepage.json
|
||||
trans.id = public/language/id/admin/general/homepage.json
|
||||
trans.it = public/language/it/admin/general/homepage.json
|
||||
trans.ja = public/language/ja/admin/general/homepage.json
|
||||
trans.ko = public/language/ko/admin/general/homepage.json
|
||||
trans.lt = public/language/lt/admin/general/homepage.json
|
||||
trans.lv = public/language/lv/admin/general/homepage.json
|
||||
trans.ms = public/language/ms/admin/general/homepage.json
|
||||
trans.nb = public/language/nb/admin/general/homepage.json
|
||||
trans.nl = public/language/nl/admin/general/homepage.json
|
||||
trans.pl = public/language/pl/admin/general/homepage.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/homepage.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/homepage.json
|
||||
trans.ro = public/language/ro/admin/general/homepage.json
|
||||
trans.ru = public/language/ru/admin/general/homepage.json
|
||||
trans.rw = public/language/rw/admin/general/homepage.json
|
||||
trans.sc = public/language/sc/admin/general/homepage.json
|
||||
trans.sk = public/language/sk/admin/general/homepage.json
|
||||
trans.sl = public/language/sl/admin/general/homepage.json
|
||||
trans.sr = public/language/sr/admin/general/homepage.json
|
||||
trans.sv = public/language/sv/admin/general/homepage.json
|
||||
trans.th = public/language/th/admin/general/homepage.json
|
||||
trans.tr = public/language/tr/admin/general/homepage.json
|
||||
trans.uk = public/language/uk/admin/general/homepage.json
|
||||
trans.vi = public/language/vi/admin/general/homepage.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/homepage.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/homepage.json
|
||||
trans.ar = public/language/ar/admin/settings/homepage.json
|
||||
trans.bg = public/language/bg/admin/settings/homepage.json
|
||||
trans.bn = public/language/bn/admin/settings/homepage.json
|
||||
trans.cs = public/language/cs/admin/settings/homepage.json
|
||||
trans.da = public/language/da/admin/settings/homepage.json
|
||||
trans.de = public/language/de/admin/settings/homepage.json
|
||||
trans.el = public/language/el/admin/settings/homepage.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/homepage.json
|
||||
trans.en_US = public/language/en-US/admin/settings/homepage.json
|
||||
trans.es = public/language/es/admin/settings/homepage.json
|
||||
trans.et = public/language/et/admin/settings/homepage.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/settings/homepage.json
|
||||
trans.fi = public/language/fi/admin/settings/homepage.json
|
||||
trans.fr = public/language/fr/admin/settings/homepage.json
|
||||
trans.gl = public/language/gl/admin/settings/homepage.json
|
||||
trans.he = public/language/he/admin/settings/homepage.json
|
||||
trans.hr = public/language/hr/admin/settings/homepage.json
|
||||
trans.hu = public/language/hu/admin/settings/homepage.json
|
||||
trans.id = public/language/id/admin/settings/homepage.json
|
||||
trans.it = public/language/it/admin/settings/homepage.json
|
||||
trans.ja = public/language/ja/admin/settings/homepage.json
|
||||
trans.ko = public/language/ko/admin/settings/homepage.json
|
||||
trans.lt = public/language/lt/admin/settings/homepage.json
|
||||
trans.lv = public/language/lv/admin/settings/homepage.json
|
||||
trans.ms = public/language/ms/admin/settings/homepage.json
|
||||
trans.nb = public/language/nb/admin/settings/homepage.json
|
||||
trans.nl = public/language/nl/admin/settings/homepage.json
|
||||
trans.pl = public/language/pl/admin/settings/homepage.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/settings/homepage.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/settings/homepage.json
|
||||
trans.ro = public/language/ro/admin/settings/homepage.json
|
||||
trans.ru = public/language/ru/admin/settings/homepage.json
|
||||
trans.rw = public/language/rw/admin/settings/homepage.json
|
||||
trans.sc = public/language/sc/admin/settings/homepage.json
|
||||
trans.sk = public/language/sk/admin/settings/homepage.json
|
||||
trans.sl = public/language/sl/admin/settings/homepage.json
|
||||
trans.sr = public/language/sr/admin/settings/homepage.json
|
||||
trans.sv = public/language/sv/admin/settings/homepage.json
|
||||
trans.th = public/language/th/admin/settings/homepage.json
|
||||
trans.tr = public/language/tr/admin/settings/homepage.json
|
||||
trans.uk = public/language/uk/admin/settings/homepage.json
|
||||
trans.vi = public/language/vi/admin/settings/homepage.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/settings/homepage.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/settings/homepage.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-languages]
|
||||
file_filter = public/language/<lang>/admin/general/languages.json
|
||||
source_file = public/language/en-GB/admin/general/languages.json
|
||||
[nodebb.admin-settings-languages]
|
||||
file_filter = public/language/<lang>/admin/settings/languages.json
|
||||
source_file = public/language/en-GB/admin/settings/languages.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/languages.json
|
||||
trans.bg = public/language/bg/admin/general/languages.json
|
||||
trans.bn = public/language/bn/admin/general/languages.json
|
||||
trans.cs = public/language/cs/admin/general/languages.json
|
||||
trans.da = public/language/da/admin/general/languages.json
|
||||
trans.de = public/language/de/admin/general/languages.json
|
||||
trans.el = public/language/el/admin/general/languages.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/languages.json
|
||||
trans.en_US = public/language/en-US/admin/general/languages.json
|
||||
trans.es = public/language/es/admin/general/languages.json
|
||||
trans.et = public/language/et/admin/general/languages.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/languages.json
|
||||
trans.fi = public/language/fi/admin/general/languages.json
|
||||
trans.fr = public/language/fr/admin/general/languages.json
|
||||
trans.gl = public/language/gl/admin/general/languages.json
|
||||
trans.he = public/language/he/admin/general/languages.json
|
||||
trans.hr = public/language/hr/admin/general/languages.json
|
||||
trans.hu = public/language/hu/admin/general/languages.json
|
||||
trans.id = public/language/id/admin/general/languages.json
|
||||
trans.it = public/language/it/admin/general/languages.json
|
||||
trans.ja = public/language/ja/admin/general/languages.json
|
||||
trans.ko = public/language/ko/admin/general/languages.json
|
||||
trans.lt = public/language/lt/admin/general/languages.json
|
||||
trans.lv = public/language/lv/admin/general/languages.json
|
||||
trans.ms = public/language/ms/admin/general/languages.json
|
||||
trans.nb = public/language/nb/admin/general/languages.json
|
||||
trans.nl = public/language/nl/admin/general/languages.json
|
||||
trans.pl = public/language/pl/admin/general/languages.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/languages.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/languages.json
|
||||
trans.ro = public/language/ro/admin/general/languages.json
|
||||
trans.ru = public/language/ru/admin/general/languages.json
|
||||
trans.rw = public/language/rw/admin/general/languages.json
|
||||
trans.sc = public/language/sc/admin/general/languages.json
|
||||
trans.sk = public/language/sk/admin/general/languages.json
|
||||
trans.sl = public/language/sl/admin/general/languages.json
|
||||
trans.sr = public/language/sr/admin/general/languages.json
|
||||
trans.sv = public/language/sv/admin/general/languages.json
|
||||
trans.th = public/language/th/admin/general/languages.json
|
||||
trans.tr = public/language/tr/admin/general/languages.json
|
||||
trans.uk = public/language/uk/admin/general/languages.json
|
||||
trans.vi = public/language/vi/admin/general/languages.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/languages.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/languages.json
|
||||
trans.ar = public/language/ar/admin/settings/languages.json
|
||||
trans.bg = public/language/bg/admin/settings/languages.json
|
||||
trans.bn = public/language/bn/admin/settings/languages.json
|
||||
trans.cs = public/language/cs/admin/settings/languages.json
|
||||
trans.da = public/language/da/admin/settings/languages.json
|
||||
trans.de = public/language/de/admin/settings/languages.json
|
||||
trans.el = public/language/el/admin/settings/languages.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/languages.json
|
||||
trans.en_US = public/language/en-US/admin/settings/languages.json
|
||||
trans.es = public/language/es/admin/settings/languages.json
|
||||
trans.et = public/language/et/admin/settings/languages.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/settings/languages.json
|
||||
trans.fi = public/language/fi/admin/settings/languages.json
|
||||
trans.fr = public/language/fr/admin/settings/languages.json
|
||||
trans.gl = public/language/gl/admin/settings/languages.json
|
||||
trans.he = public/language/he/admin/settings/languages.json
|
||||
trans.hr = public/language/hr/admin/settings/languages.json
|
||||
trans.hu = public/language/hu/admin/settings/languages.json
|
||||
trans.id = public/language/id/admin/settings/languages.json
|
||||
trans.it = public/language/it/admin/settings/languages.json
|
||||
trans.ja = public/language/ja/admin/settings/languages.json
|
||||
trans.ko = public/language/ko/admin/settings/languages.json
|
||||
trans.lt = public/language/lt/admin/settings/languages.json
|
||||
trans.lv = public/language/lv/admin/settings/languages.json
|
||||
trans.ms = public/language/ms/admin/settings/languages.json
|
||||
trans.nb = public/language/nb/admin/settings/languages.json
|
||||
trans.nl = public/language/nl/admin/settings/languages.json
|
||||
trans.pl = public/language/pl/admin/settings/languages.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/settings/languages.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/settings/languages.json
|
||||
trans.ro = public/language/ro/admin/settings/languages.json
|
||||
trans.ru = public/language/ru/admin/settings/languages.json
|
||||
trans.rw = public/language/rw/admin/settings/languages.json
|
||||
trans.sc = public/language/sc/admin/settings/languages.json
|
||||
trans.sk = public/language/sk/admin/settings/languages.json
|
||||
trans.sl = public/language/sl/admin/settings/languages.json
|
||||
trans.sr = public/language/sr/admin/settings/languages.json
|
||||
trans.sv = public/language/sv/admin/settings/languages.json
|
||||
trans.th = public/language/th/admin/settings/languages.json
|
||||
trans.tr = public/language/tr/admin/settings/languages.json
|
||||
trans.uk = public/language/uk/admin/settings/languages.json
|
||||
trans.vi = public/language/vi/admin/settings/languages.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/settings/languages.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/settings/languages.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-navigation]
|
||||
file_filter = public/language/<lang>/admin/general/navigation.json
|
||||
source_file = public/language/en-GB/admin/general/navigation.json
|
||||
[nodebb.admin-settings-navigation]
|
||||
file_filter = public/language/<lang>/admin/settings/navigation.json
|
||||
source_file = public/language/en-GB/admin/settings/navigation.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/navigation.json
|
||||
trans.bg = public/language/bg/admin/general/navigation.json
|
||||
trans.bn = public/language/bn/admin/general/navigation.json
|
||||
trans.cs = public/language/cs/admin/general/navigation.json
|
||||
trans.da = public/language/da/admin/general/navigation.json
|
||||
trans.de = public/language/de/admin/general/navigation.json
|
||||
trans.el = public/language/el/admin/general/navigation.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/navigation.json
|
||||
trans.en_US = public/language/en-US/admin/general/navigation.json
|
||||
trans.es = public/language/es/admin/general/navigation.json
|
||||
trans.et = public/language/et/admin/general/navigation.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/navigation.json
|
||||
trans.fi = public/language/fi/admin/general/navigation.json
|
||||
trans.fr = public/language/fr/admin/general/navigation.json
|
||||
trans.gl = public/language/gl/admin/general/navigation.json
|
||||
trans.he = public/language/he/admin/general/navigation.json
|
||||
trans.hr = public/language/hr/admin/general/navigation.json
|
||||
trans.hu = public/language/hu/admin/general/navigation.json
|
||||
trans.id = public/language/id/admin/general/navigation.json
|
||||
trans.it = public/language/it/admin/general/navigation.json
|
||||
trans.ja = public/language/ja/admin/general/navigation.json
|
||||
trans.ko = public/language/ko/admin/general/navigation.json
|
||||
trans.lt = public/language/lt/admin/general/navigation.json
|
||||
trans.lv = public/language/lv/admin/general/navigation.json
|
||||
trans.ms = public/language/ms/admin/general/navigation.json
|
||||
trans.nb = public/language/nb/admin/general/navigation.json
|
||||
trans.nl = public/language/nl/admin/general/navigation.json
|
||||
trans.pl = public/language/pl/admin/general/navigation.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/navigation.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/navigation.json
|
||||
trans.ro = public/language/ro/admin/general/navigation.json
|
||||
trans.ru = public/language/ru/admin/general/navigation.json
|
||||
trans.rw = public/language/rw/admin/general/navigation.json
|
||||
trans.sc = public/language/sc/admin/general/navigation.json
|
||||
trans.sk = public/language/sk/admin/general/navigation.json
|
||||
trans.sl = public/language/sl/admin/general/navigation.json
|
||||
trans.sr = public/language/sr/admin/general/navigation.json
|
||||
trans.sv = public/language/sv/admin/general/navigation.json
|
||||
trans.th = public/language/th/admin/general/navigation.json
|
||||
trans.tr = public/language/tr/admin/general/navigation.json
|
||||
trans.uk = public/language/uk/admin/general/navigation.json
|
||||
trans.vi = public/language/vi/admin/general/navigation.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/navigation.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/navigation.json
|
||||
trans.ar = public/language/ar/admin/settings/navigation.json
|
||||
trans.bg = public/language/bg/admin/settings/navigation.json
|
||||
trans.bn = public/language/bn/admin/settings/navigation.json
|
||||
trans.cs = public/language/cs/admin/settings/navigation.json
|
||||
trans.da = public/language/da/admin/settings/navigation.json
|
||||
trans.de = public/language/de/admin/settings/navigation.json
|
||||
trans.el = public/language/el/admin/settings/navigation.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/navigation.json
|
||||
trans.en_US = public/language/en-US/admin/settings/navigation.json
|
||||
trans.es = public/language/es/admin/settings/navigation.json
|
||||
trans.et = public/language/et/admin/settings/navigation.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/settings/navigation.json
|
||||
trans.fi = public/language/fi/admin/settings/navigation.json
|
||||
trans.fr = public/language/fr/admin/settings/navigation.json
|
||||
trans.gl = public/language/gl/admin/settings/navigation.json
|
||||
trans.he = public/language/he/admin/settings/navigation.json
|
||||
trans.hr = public/language/hr/admin/settings/navigation.json
|
||||
trans.hu = public/language/hu/admin/settings/navigation.json
|
||||
trans.id = public/language/id/admin/settings/navigation.json
|
||||
trans.it = public/language/it/admin/settings/navigation.json
|
||||
trans.ja = public/language/ja/admin/settings/navigation.json
|
||||
trans.ko = public/language/ko/admin/settings/navigation.json
|
||||
trans.lt = public/language/lt/admin/settings/navigation.json
|
||||
trans.lv = public/language/lv/admin/settings/navigation.json
|
||||
trans.ms = public/language/ms/admin/settings/navigation.json
|
||||
trans.nb = public/language/nb/admin/settings/navigation.json
|
||||
trans.nl = public/language/nl/admin/settings/navigation.json
|
||||
trans.pl = public/language/pl/admin/settings/navigation.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/settings/navigation.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/settings/navigation.json
|
||||
trans.ro = public/language/ro/admin/settings/navigation.json
|
||||
trans.ru = public/language/ru/admin/settings/navigation.json
|
||||
trans.rw = public/language/rw/admin/settings/navigation.json
|
||||
trans.sc = public/language/sc/admin/settings/navigation.json
|
||||
trans.sk = public/language/sk/admin/settings/navigation.json
|
||||
trans.sl = public/language/sl/admin/settings/navigation.json
|
||||
trans.sr = public/language/sr/admin/settings/navigation.json
|
||||
trans.sv = public/language/sv/admin/settings/navigation.json
|
||||
trans.th = public/language/th/admin/settings/navigation.json
|
||||
trans.tr = public/language/tr/admin/settings/navigation.json
|
||||
trans.uk = public/language/uk/admin/settings/navigation.json
|
||||
trans.vi = public/language/vi/admin/settings/navigation.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/settings/navigation.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/settings/navigation.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-social]
|
||||
file_filter = public/language/<lang>/admin/general/social.json
|
||||
source_file = public/language/en-GB/admin/general/social.json
|
||||
[nodebb.admin-settings-social]
|
||||
file_filter = public/language/<lang>/admin/settings/social.json
|
||||
source_file = public/language/en-GB/admin/settings/social.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/social.json
|
||||
trans.bg = public/language/bg/admin/general/social.json
|
||||
trans.bn = public/language/bn/admin/general/social.json
|
||||
trans.cs = public/language/cs/admin/general/social.json
|
||||
trans.da = public/language/da/admin/general/social.json
|
||||
trans.de = public/language/de/admin/general/social.json
|
||||
trans.el = public/language/el/admin/general/social.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/social.json
|
||||
trans.en_US = public/language/en-US/admin/general/social.json
|
||||
trans.es = public/language/es/admin/general/social.json
|
||||
trans.et = public/language/et/admin/general/social.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/social.json
|
||||
trans.fi = public/language/fi/admin/general/social.json
|
||||
trans.fr = public/language/fr/admin/general/social.json
|
||||
trans.gl = public/language/gl/admin/general/social.json
|
||||
trans.he = public/language/he/admin/general/social.json
|
||||
trans.hr = public/language/hr/admin/general/social.json
|
||||
trans.hu = public/language/hu/admin/general/social.json
|
||||
trans.id = public/language/id/admin/general/social.json
|
||||
trans.it = public/language/it/admin/general/social.json
|
||||
trans.ja = public/language/ja/admin/general/social.json
|
||||
trans.ko = public/language/ko/admin/general/social.json
|
||||
trans.lt = public/language/lt/admin/general/social.json
|
||||
trans.lv = public/language/lv/admin/general/social.json
|
||||
trans.ms = public/language/ms/admin/general/social.json
|
||||
trans.nb = public/language/nb/admin/general/social.json
|
||||
trans.nl = public/language/nl/admin/general/social.json
|
||||
trans.pl = public/language/pl/admin/general/social.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/social.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/social.json
|
||||
trans.ro = public/language/ro/admin/general/social.json
|
||||
trans.ru = public/language/ru/admin/general/social.json
|
||||
trans.rw = public/language/rw/admin/general/social.json
|
||||
trans.sc = public/language/sc/admin/general/social.json
|
||||
trans.sk = public/language/sk/admin/general/social.json
|
||||
trans.sl = public/language/sl/admin/general/social.json
|
||||
trans.sr = public/language/sr/admin/general/social.json
|
||||
trans.sv = public/language/sv/admin/general/social.json
|
||||
trans.th = public/language/th/admin/general/social.json
|
||||
trans.tr = public/language/tr/admin/general/social.json
|
||||
trans.uk = public/language/uk/admin/general/social.json
|
||||
trans.vi = public/language/vi/admin/general/social.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/social.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/social.json
|
||||
trans.ar = public/language/ar/admin/settings/social.json
|
||||
trans.bg = public/language/bg/admin/settings/social.json
|
||||
trans.bn = public/language/bn/admin/settings/social.json
|
||||
trans.cs = public/language/cs/admin/settings/social.json
|
||||
trans.da = public/language/da/admin/settings/social.json
|
||||
trans.de = public/language/de/admin/settings/social.json
|
||||
trans.el = public/language/el/admin/settings/social.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/social.json
|
||||
trans.en_US = public/language/en-US/admin/settings/social.json
|
||||
trans.es = public/language/es/admin/settings/social.json
|
||||
trans.et = public/language/et/admin/settings/social.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/settings/social.json
|
||||
trans.fi = public/language/fi/admin/settings/social.json
|
||||
trans.fr = public/language/fr/admin/settings/social.json
|
||||
trans.gl = public/language/gl/admin/settings/social.json
|
||||
trans.he = public/language/he/admin/settings/social.json
|
||||
trans.hr = public/language/hr/admin/settings/social.json
|
||||
trans.hu = public/language/hu/admin/settings/social.json
|
||||
trans.id = public/language/id/admin/settings/social.json
|
||||
trans.it = public/language/it/admin/settings/social.json
|
||||
trans.ja = public/language/ja/admin/settings/social.json
|
||||
trans.ko = public/language/ko/admin/settings/social.json
|
||||
trans.lt = public/language/lt/admin/settings/social.json
|
||||
trans.lv = public/language/lv/admin/settings/social.json
|
||||
trans.ms = public/language/ms/admin/settings/social.json
|
||||
trans.nb = public/language/nb/admin/settings/social.json
|
||||
trans.nl = public/language/nl/admin/settings/social.json
|
||||
trans.pl = public/language/pl/admin/settings/social.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/settings/social.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/settings/social.json
|
||||
trans.ro = public/language/ro/admin/settings/social.json
|
||||
trans.ru = public/language/ru/admin/settings/social.json
|
||||
trans.rw = public/language/rw/admin/settings/social.json
|
||||
trans.sc = public/language/sc/admin/settings/social.json
|
||||
trans.sk = public/language/sk/admin/settings/social.json
|
||||
trans.sl = public/language/sl/admin/settings/social.json
|
||||
trans.sr = public/language/sr/admin/settings/social.json
|
||||
trans.sv = public/language/sv/admin/settings/social.json
|
||||
trans.th = public/language/th/admin/settings/social.json
|
||||
trans.tr = public/language/tr/admin/settings/social.json
|
||||
trans.uk = public/language/uk/admin/settings/social.json
|
||||
trans.vi = public/language/vi/admin/settings/social.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/settings/social.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/settings/social.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-general-sounds]
|
||||
file_filter = public/language/<lang>/admin/general/sounds.json
|
||||
source_file = public/language/en-GB/admin/general/sounds.json
|
||||
[nodebb.admin-settings-sounds]
|
||||
file_filter = public/language/<lang>/admin/settings/sounds.json
|
||||
source_file = public/language/en-GB/admin/settings/sounds.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/admin/general/sounds.json
|
||||
trans.bg = public/language/bg/admin/general/sounds.json
|
||||
trans.bn = public/language/bn/admin/general/sounds.json
|
||||
trans.cs = public/language/cs/admin/general/sounds.json
|
||||
trans.da = public/language/da/admin/general/sounds.json
|
||||
trans.de = public/language/de/admin/general/sounds.json
|
||||
trans.el = public/language/el/admin/general/sounds.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/general/sounds.json
|
||||
trans.en_US = public/language/en-US/admin/general/sounds.json
|
||||
trans.es = public/language/es/admin/general/sounds.json
|
||||
trans.et = public/language/et/admin/general/sounds.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/general/sounds.json
|
||||
trans.fi = public/language/fi/admin/general/sounds.json
|
||||
trans.fr = public/language/fr/admin/general/sounds.json
|
||||
trans.gl = public/language/gl/admin/general/sounds.json
|
||||
trans.he = public/language/he/admin/general/sounds.json
|
||||
trans.hr = public/language/hr/admin/general/sounds.json
|
||||
trans.hu = public/language/hu/admin/general/sounds.json
|
||||
trans.id = public/language/id/admin/general/sounds.json
|
||||
trans.it = public/language/it/admin/general/sounds.json
|
||||
trans.ja = public/language/ja/admin/general/sounds.json
|
||||
trans.ko = public/language/ko/admin/general/sounds.json
|
||||
trans.lt = public/language/lt/admin/general/sounds.json
|
||||
trans.lv = public/language/lv/admin/general/sounds.json
|
||||
trans.ms = public/language/ms/admin/general/sounds.json
|
||||
trans.nb = public/language/nb/admin/general/sounds.json
|
||||
trans.nl = public/language/nl/admin/general/sounds.json
|
||||
trans.pl = public/language/pl/admin/general/sounds.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/general/sounds.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/general/sounds.json
|
||||
trans.ro = public/language/ro/admin/general/sounds.json
|
||||
trans.ru = public/language/ru/admin/general/sounds.json
|
||||
trans.rw = public/language/rw/admin/general/sounds.json
|
||||
trans.sc = public/language/sc/admin/general/sounds.json
|
||||
trans.sk = public/language/sk/admin/general/sounds.json
|
||||
trans.sl = public/language/sl/admin/general/sounds.json
|
||||
trans.sr = public/language/sr/admin/general/sounds.json
|
||||
trans.sv = public/language/sv/admin/general/sounds.json
|
||||
trans.th = public/language/th/admin/general/sounds.json
|
||||
trans.tr = public/language/tr/admin/general/sounds.json
|
||||
trans.uk = public/language/uk/admin/general/sounds.json
|
||||
trans.vi = public/language/vi/admin/general/sounds.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/general/sounds.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/general/sounds.json
|
||||
trans.ar = public/language/ar/admin/settings/sounds.json
|
||||
trans.bg = public/language/bg/admin/settings/sounds.json
|
||||
trans.bn = public/language/bn/admin/settings/sounds.json
|
||||
trans.cs = public/language/cs/admin/settings/sounds.json
|
||||
trans.da = public/language/da/admin/settings/sounds.json
|
||||
trans.de = public/language/de/admin/settings/sounds.json
|
||||
trans.el = public/language/el/admin/settings/sounds.json
|
||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/sounds.json
|
||||
trans.en_US = public/language/en-US/admin/settings/sounds.json
|
||||
trans.es = public/language/es/admin/settings/sounds.json
|
||||
trans.et = public/language/et/admin/settings/sounds.json
|
||||
trans.fa_IR = public/language/fa-IR/admin/settings/sounds.json
|
||||
trans.fi = public/language/fi/admin/settings/sounds.json
|
||||
trans.fr = public/language/fr/admin/settings/sounds.json
|
||||
trans.gl = public/language/gl/admin/settings/sounds.json
|
||||
trans.he = public/language/he/admin/settings/sounds.json
|
||||
trans.hr = public/language/hr/admin/settings/sounds.json
|
||||
trans.hu = public/language/hu/admin/settings/sounds.json
|
||||
trans.id = public/language/id/admin/settings/sounds.json
|
||||
trans.it = public/language/it/admin/settings/sounds.json
|
||||
trans.ja = public/language/ja/admin/settings/sounds.json
|
||||
trans.ko = public/language/ko/admin/settings/sounds.json
|
||||
trans.lt = public/language/lt/admin/settings/sounds.json
|
||||
trans.lv = public/language/lv/admin/settings/sounds.json
|
||||
trans.ms = public/language/ms/admin/settings/sounds.json
|
||||
trans.nb = public/language/nb/admin/settings/sounds.json
|
||||
trans.nl = public/language/nl/admin/settings/sounds.json
|
||||
trans.pl = public/language/pl/admin/settings/sounds.json
|
||||
trans.pt_BR = public/language/pt-BR/admin/settings/sounds.json
|
||||
trans.pt_PT = public/language/pt-PT/admin/settings/sounds.json
|
||||
trans.ro = public/language/ro/admin/settings/sounds.json
|
||||
trans.ru = public/language/ru/admin/settings/sounds.json
|
||||
trans.rw = public/language/rw/admin/settings/sounds.json
|
||||
trans.sc = public/language/sc/admin/settings/sounds.json
|
||||
trans.sk = public/language/sk/admin/settings/sounds.json
|
||||
trans.sl = public/language/sl/admin/settings/sounds.json
|
||||
trans.sr = public/language/sr/admin/settings/sounds.json
|
||||
trans.sv = public/language/sv/admin/settings/sounds.json
|
||||
trans.th = public/language/th/admin/settings/sounds.json
|
||||
trans.tr = public/language/tr/admin/settings/sounds.json
|
||||
trans.uk = public/language/uk/admin/settings/sounds.json
|
||||
trans.vi = public/language/vi/admin/settings/sounds.json
|
||||
trans.zh_CN = public/language/zh-CN/admin/settings/sounds.json
|
||||
trans.zh_TW = public/language/zh-TW/admin/settings/sounds.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.admin-manage-admins-mods]
|
||||
|
||||
400
CHANGELOG.md
400
CHANGELOG.md
@@ -1,3 +1,403 @@
|
||||
#### 1.13.3 (2020-05-08)
|
||||
|
||||
##### Chores
|
||||
|
||||
* incrementing version number - v1.13.3 (ee583e80)
|
||||
* bump persona (d2bd746c)
|
||||
* incrementing version number - v1.13.2 (beafd613)
|
||||
* **deps:**
|
||||
* update dependency coveralls to v3.1.0 (5ed4a108)
|
||||
* pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5)
|
||||
* update dependency husky to v4.2.5 (30a25983)
|
||||
* update dependency husky to v4.2.4 (0a650118)
|
||||
* update dependency lint-staged to v10.1.3 (a9e68639)
|
||||
* update dependency nyc to v15.0.1 (#8231) (a3789e28)
|
||||
* update dependency lint-staged to v10.1.2 (#8235) (e1919c90)
|
||||
* update dependency lint-staged to v10.1.1 (944a6f58)
|
||||
* update dependency lint-staged to v10.1.0 (30bd233b)
|
||||
* update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee)
|
||||
* update dependency jsdom to v16.2.2 (c5a7242d)
|
||||
* update dependency eslint-plugin-import to v2.20.2 (b92c1600)
|
||||
* update dependency lint-staged to v10.0.10 (0ad4b556)
|
||||
* update dependency coveralls to v3.0.11 (14458087)
|
||||
* update dependency smtp-server to v3.6.0 (22681945)
|
||||
* update dependency mocha to v7.1.1 (#8215) (c5356541)
|
||||
* update dependency grunt to v1.1.0 (#8214) (b0864e7c)
|
||||
* update dependency husky to v4.2.3 (#8162) (776fe9d2)
|
||||
* update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1)
|
||||
* update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131)
|
||||
* update dependency jsdom to v16.2.1 (#8165) (fbd95a50)
|
||||
* update dependency husky to v4.2.2 (#8160) (f4ed35c9)
|
||||
* update dependency jsdom to v16 (#8114) (1037de02)
|
||||
|
||||
##### Documentation Changes
|
||||
|
||||
* updated changelog (146388aa)
|
||||
|
||||
##### New Features
|
||||
|
||||
* allow activating additional plugins for testing via config.json (a969c5ce)
|
||||
* move plugin tests to separate file (3a23ddab)
|
||||
* remove node14 for now (a72e4429)
|
||||
* reduce infinite scroll area (3fcbd691)
|
||||
* manifest.json improvements from #8126 (#8264) (6e5ebb61)
|
||||
* show error if json is invalid (15345627)
|
||||
* moved component specs into separate files (cd506557)
|
||||
* added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5)
|
||||
* added some summary and descriptions (ae3e90d6)
|
||||
* add some descriptions (442c018e)
|
||||
* common schema (eade13f9)
|
||||
* openapi component (1af5507a)
|
||||
* add page query param to docs (9987813f)
|
||||
* tag route doc (bbddaadf)
|
||||
* local redoc view on development mode only (1136a369)
|
||||
* added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab)
|
||||
* add parent cids to body class (23571224)
|
||||
* add 2 hooks for modifying privileges (d080c7b0)
|
||||
* add user ip to admin/dev/info (5e91a67e)
|
||||
* change option name (cba5b23e)
|
||||
* add no-build to ./nodebb setup (476f6717)
|
||||
* add awaitable socket.emit (4083a6e3)
|
||||
* settings sorted list (#8170) (3c9689a5)
|
||||
* guard against accidental ommision (79737c53)
|
||||
* **openapi:**
|
||||
* merging openapi-test branch into master (8387178b)
|
||||
* move all commonprops out for commonprops component (65c78de6)
|
||||
* added template to commonprops (2425f453)
|
||||
|
||||
##### Bug Fixes
|
||||
|
||||
* #8302, send string to writeFileSync (d09bd2cf)
|
||||
* winston showing json object (7d081843)
|
||||
* sortable topics even if only 1 pinned topic (6765de3d)
|
||||
* #8298, use class name added by jQueryUI instead (dd2bc189)
|
||||
* topic search shortcut for macs (f2c725c6)
|
||||
* #8297, uids.length is different than topics.length (0431d75f)
|
||||
* #8297 guest handles shown in category.tpl (fcb81cb8)
|
||||
* only add to set if numRecentReplies>0 (16a98eaf)
|
||||
* #8293, don't show error if there are no self messages (be305410)
|
||||
* failing tests @julianlam (ecd622fd)
|
||||
* #3321, run plugin tests for installed plugins (a6bb9f43)
|
||||
* remove deprecated mocha.opts (3d0db963)
|
||||
* spec (84383d39)
|
||||
* #8290, if there are no filters go to ?reset=1 (9839346e)
|
||||
* #8283, update gdpr link again (2d076344)
|
||||
* add missing await (4f1128fd)
|
||||
* #8287, dont readd user after deletion (9d153fd3)
|
||||
* missing await (4d6b2ec3)
|
||||
* #8286, rescind notif when its resolved/rejected (0391856d)
|
||||
* #8284, parse ToS on register (0ca84bd9)
|
||||
* #8283, point to official site (17d664e0)
|
||||
* jquery xhtml violations (275e837b)
|
||||
* #8274 Don't escape HTML in manage users (#8275) (4855f1de)
|
||||
* crash in topic controller (0c7c70ed)
|
||||
* crash when res.locals.linkTags is undefined (7cab2b0f)
|
||||
* #8272 user link in digest email (e80b8101)
|
||||
* tag of /api/unread/total (9ffdab02)
|
||||
* response hook logic (5a1c6ee7)
|
||||
* remove upload picture test (avatars) (6edf02d4)
|
||||
* remove tests related to group covers, as route is gone (442fe65f)
|
||||
* #8269, return array of topics from hook (4eafe0f0)
|
||||
* remove dead picture upload code #8260 (ef52461f)
|
||||
* path.resolve to logs file (5bcaf715)
|
||||
* only trigger infinitescroll on scroll end (ba6d3fd3)
|
||||
* wrong data returned in available.groups (c7ea84a2)
|
||||
* no focus on find user modal (1b425ef1)
|
||||
* accidental fp precision on flag and acp dash graphs (bcbf98aa)
|
||||
* #8232, unresolvable session mismatch on register cancel (f2f6fbf1)
|
||||
* pin jquery to 3.4.1, #8252 (e440d617)
|
||||
* #8249, don't send move notifications for deleted posts/topics (d77036db)
|
||||
* missing descriptions for common properties (7b31fb34)
|
||||
* some definitions in read API spec (03739b6f)
|
||||
* tagged all routes in read api spec (455d42bc)
|
||||
* override ACAO header for read API spec file (240d9091)
|
||||
* throw error if topic does not exist (59cf0e80)
|
||||
* hookname (e93578b8)
|
||||
* #8230, add hook getUserDataByUserSlug (0d1b5a7f)
|
||||
* ignore case for group details route (15d6975e)
|
||||
* lint (740e598a)
|
||||
* lint (8e23dec8)
|
||||
* #8221, fix parent selection (08031730)
|
||||
* invite properly (071506eb)
|
||||
* admins not seeing invite button (8f4b99a4)
|
||||
* #8217, add missing lang key (0b5fac75)
|
||||
* #8206 first message in chat has false `newSet` (93acd139)
|
||||
* #8203, fix user invites refreshing page (2f9c7c62)
|
||||
* #8202, filter non-existing users in search by uid (f07f4f8e)
|
||||
* notification bodyShort truncated if there is a comma in topic title (266061c3)
|
||||
* hsts max-age missing translation (b67af70d)
|
||||
* call next (80f1bcad)
|
||||
* try travis fix again (05bee629)
|
||||
* try fixing psql on travis (bc9e92a1)
|
||||
* dont let regular users see other users watched categories (cf6eadb9)
|
||||
* also fix updating bookmark if sorting is newest_to_oldest (6e5de39b)
|
||||
* #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4)
|
||||
* duplicate ID + label (ac241fb8)
|
||||
* #8184 global mods unable to revoke other user sessions (f0db240a)
|
||||
* return null if field does not exist (e72a29b3)
|
||||
* #8179, limit length of location/website/fullname, check grouptitle (14e78667)
|
||||
* tag key (32636755)
|
||||
* #8175 (bc93b567)
|
||||
* #8168 re-allowing slashes in homePageRoute (667608a0)
|
||||
* tweak to session validation in addHeaders (eddbd868)
|
||||
* only call clearCookie for logged in users (630f5d5b)
|
||||
* #6422, update deleted/restored messages (06703408)
|
||||
* #8163, prevent account deletion (4d0636f8)
|
||||
* register (5a0c7c14)
|
||||
* #8157, update recent tid when post is moved (e7495440)
|
||||
* tests (b73aa84d)
|
||||
* move start/stop every iteration (dd3893b1)
|
||||
* #8154, move start/stop every iteration (300c04ce)
|
||||
* #8154, respect stop (690bb69d)
|
||||
* #8156 dont allow loading members from hidden groups (f23bc347)
|
||||
* #8155, don't validate name on update if groupName didn't change (03a02e5d)
|
||||
* return correct number of suggested topics (236e1e68)
|
||||
* #8151, don't crash if taskbar doesn't have element (2e794801)
|
||||
* logic for determining dailyStats hour vars (398f0120)
|
||||
* fix daily analytics being one day off (9ecdb92f)
|
||||
* remove debug line (0b9ad416)
|
||||
* no decimal places for category analytics (14655f87)
|
||||
* #8142, broken site if no server-side session (#8148) (d6e3f3f0)
|
||||
* #8144 pluginHooks in maintenance mode middleware (0885ec68)
|
||||
* **deps:**
|
||||
* #8298 bump persona (158d9231)
|
||||
* update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647)
|
||||
* update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29)
|
||||
* update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7)
|
||||
* update dependency mongodb to v3.5.7 (#8279) (25d509c4)
|
||||
* actually, swagger-parser is a dev dependency (d09c6ae0)
|
||||
* missing @apidevtools/swagger-parser (f1720735)
|
||||
* update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb)
|
||||
* update dependency archiver to v4 (28777f67)
|
||||
* update dependency mongodb to v3.5.6 (#8256) (49236067)
|
||||
* bump dependencies (#8239) (e68156e1)
|
||||
* update dependency jsesc to v3.0.1 (#8243) (92b55ef5)
|
||||
* update dependency jsesc to v3 (bb70cebb)
|
||||
* update dependency pg to v8 (#8227) (ac98775f)
|
||||
* update dependency validator to v13 (f497ee62)
|
||||
* update dependency sharp to v0.25.2 (#8220) (dd660c87)
|
||||
* bump markdown (ee6cb412)
|
||||
* update dependency mongodb to v3.5.5 (#8205) (5535c50c)
|
||||
* update dependency sitemap to v6 (#8198) (2052f14c)
|
||||
* update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1)
|
||||
* update dependency sharp to v0.25.1 (#8199) (21e91c91)
|
||||
* update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3)
|
||||
* update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff)
|
||||
* update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b)
|
||||
* update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0)
|
||||
* update dependency sharp to v0.24.1 (#8164) (7cc63f7d)
|
||||
* update dependency mongodb to v3.5.3 (#8161) (4b907137)
|
||||
* update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2)
|
||||
* update dependency request to v2.88.2 (#8158) (7fde180a)
|
||||
* update dependency redis to v3 (#8152) (ef964b11)
|
||||
* update dependency rimraf to v3.0.2 (#8153) (d8efc6b6)
|
||||
* **openapi:**
|
||||
* v14 test fix (23a0b8c5)
|
||||
* remove account and group upload routes (d342a28c)
|
||||
* more fleshing out (058a15db)
|
||||
* fleshed out admin routes (bae88e08)
|
||||
* added some descriptions (ab4bd7e1)
|
||||
* added PostsObject component (2395d2be)
|
||||
* finished moving all category objects out (23dd2727)
|
||||
* changed some descriptions (c939f8c6)
|
||||
* added CategoryObject component (55d0a9ff)
|
||||
* removed repeated breadcrumb blocks in favour of $ref (646fac1e)
|
||||
* remove all repeated pagination blocks in favour of (ac579f9d)
|
||||
* removed warning for category mods route (1cf62095)
|
||||
* normalising the file for programmatic updates (3a5c6e07)
|
||||
|
||||
##### Other Changes
|
||||
|
||||
* #8298 (2e57d8ac)
|
||||
* post.updatePostVoteCount (b25b51bd)
|
||||
* //github.com/NodeBB/NodeBB (5e140454)
|
||||
* categories.updateRecentTid (6c59683b)
|
||||
* categories.updateRecentTid (51933c1f)
|
||||
* router.page, dep. filter variant (0053e779)
|
||||
* flags as well (5ebcdb18)
|
||||
* crash when res.locals.linkTags is undefined" (fe03effe)
|
||||
* //github.com/NodeBB/NodeBB (87a6ff0d)
|
||||
* cnpm and pnpm (#8222) (e6a1741c)
|
||||
* //github.com/NodeBB/NodeBB (7ae76477)
|
||||
* openapi component" (683e5851)
|
||||
* override ACAO header for read API spec file" (c82a2637)
|
||||
* password.change (00e299e9)
|
||||
* topic.tools.load (5aa76cdf)
|
||||
* #8154, move start/stop every iteration" (4abe5eb7)
|
||||
|
||||
##### Refactors
|
||||
|
||||
* match core field name pinned (478ed6c1)
|
||||
* getUsersCSV to use batch lib (1efb238a)
|
||||
* reorganized socket.io admin modules (e1c6c3b2)
|
||||
|
||||
#### 1.13.2 (2020-02-05)
|
||||
|
||||
##### Chores
|
||||
|
||||
* incrementing version number - v1.13.2 (71f4607d)
|
||||
* bump themes (027f3f22)
|
||||
* bump vanilla (236a1730)
|
||||
* bump persona (82ace391)
|
||||
* incrementing version number - v1.13.1 (cc6758a0)
|
||||
* **deps:**
|
||||
* update dependency eslint to v6.8.0 (#8062) (15783213)
|
||||
* update dependency nyc to v15 (#8094) (976e26a9)
|
||||
* update commitlint monorepo (#8100) (eb4a1a57)
|
||||
* update dependency lint-staged to v10.0.7 (#8132) (cdfbcbb9)
|
||||
* update dependency mocha to v7 (#8106) (b370333c)
|
||||
* update dependency husky to v4 (dd440ce9)
|
||||
* update dependency lint-staged to v10.0.1 (66992a55)
|
||||
* update dependency lint-staged to v10 (d74eecfb)
|
||||
|
||||
##### Documentation Changes
|
||||
|
||||
* updated changelog (2edc6960)
|
||||
|
||||
##### New Features
|
||||
|
||||
* add test for isOnline (66febb80)
|
||||
* add test for change post owner (df2c7851)
|
||||
* check flag values on save (assignee and state) (#8122) (8e5a2276)
|
||||
|
||||
##### Bug Fixes
|
||||
|
||||
* admin relogin (a5ef6b53)
|
||||
* #8135 (c35a21d7)
|
||||
* handle mkdirp0.5->1.0x so it doesn't break upgrade (1e50616c)
|
||||
* #8134, upgrade mkdirp to 1.0.x (87225a90)
|
||||
* onSuccessfulLogin not working (111ed802)
|
||||
* #8139, dont allow restore if not deleted by self (8c48f94b)
|
||||
* use view_deleted when filtering, closes #8137 (9969dd63)
|
||||
* escape invalid rules (d927b763)
|
||||
* add missing await (3cca929a)
|
||||
* missing await in SocketPosts.changeOwner (0ae1eb4f)
|
||||
* #8133, check if user is in room before removing (23810cc6)
|
||||
* add missing await (cd1fa27a)
|
||||
* missing await (f799f017)
|
||||
* dont return flag data to client (418c174d)
|
||||
* check if user has read priv before flagging (51236df4)
|
||||
* restrict getUsersInRoom to members (1f13ab8a)
|
||||
* remove unused conditional, dont add dupe messages (3077eb94)
|
||||
* tests for messaging (ecc579a2)
|
||||
* #8127 user join system message duplicated (594cd7e1)
|
||||
* background-size in taskbar images (106c141f)
|
||||
* tests, was using hardcoded message id (1b08f376)
|
||||
* typo in #8116 (8bb5e71e)
|
||||
* build step defaults to series instead of parallel (3fac09b1)
|
||||
* escape system message, don't allow editing system messages (6a63c1a1)
|
||||
* escape register query param (c8fb7f92)
|
||||
* delete upload (8c6a7954)
|
||||
* check uploadName (153b1a0e)
|
||||
* #8120, bubble errors from static hooks (01d1ae78)
|
||||
* escape bootswatchSkin and homepageRoute (b0f3e48a)
|
||||
* change owner missing await (3e525576)
|
||||
* hsts always enabled (e3952674)
|
||||
* escape topic.thumb (b7a57996)
|
||||
* #8112, don't crash hook returns no data (4eb9652a)
|
||||
* escape config.userLang/acpLang, don't allow invalid language codes (e06c1bfc)
|
||||
* group create/join/update name validation (61da8c29)
|
||||
* don't crash if groupData is missing (48f08627)
|
||||
* #8105, fix export json on page load (5a8217de)
|
||||
* #8103, fix advanced menu not displaying in ACP (52774531)
|
||||
* meta description missing if url doesn't have post index (10989ccc)
|
||||
* create user modal instantly closing (c1b1ee61)
|
||||
* login with weak password (9d074731)
|
||||
* dont check password strength on login (f6d7a24a)
|
||||
* **deps:**
|
||||
* update dependency connect-redis to v4.0.4 (#8143) (16ab641d)
|
||||
* update dependency rimraf to v3.0.1 (#8138) (726ba71c)
|
||||
* update dependency validator to v12.2.0 (#8136) (f07b4bfa)
|
||||
* update dependency nodebb-theme-persona to v10.1.34 (#8140) (6d7131fb)
|
||||
* update dependency nodebb-theme-persona to v10.1.31 (#8129) (c510a2c4)
|
||||
* update dependency mongodb to v3.5.2 (#8092) (0e49cfb9)
|
||||
* update dependency sharp to v0.24.0 (#8121) (16e8f496)
|
||||
* update dependency nodebb-plugin-composer-default to v6.3.21 (#8119) (ca10f8f0)
|
||||
* update dependency nodebb-widget-essentials to v4.0.18 (#8111) (df5e3a73)
|
||||
|
||||
##### Other Changes
|
||||
|
||||
* NodeBB/NodeBB (b959c24a)
|
||||
* //github.com/NodeBB/NodeBB (ee4304b4)
|
||||
* //github.com/NodeBB/NodeBB (bfaba895)
|
||||
* save disableLeave (#8123) (09d55581)
|
||||
* //github.com/NodeBB/NodeBB (842916ea)
|
||||
|
||||
##### Refactors
|
||||
|
||||
* messaging (30c50361)
|
||||
|
||||
#### 1.13.1 (2019-12-19)
|
||||
|
||||
##### Chores
|
||||
|
||||
* incrementing version number - v1.13.1 (d1e0672f)
|
||||
* incrementing version number - v1.13.0 (c38b2d23)
|
||||
* **deps:**
|
||||
* update dependency husky to v3.1.0 (#8046) (c3418c26)
|
||||
* update dependency coveralls to v3.0.9 (#8067) (0aeee144)
|
||||
* update dependency eslint to v6.7.0 (32cfe96f)
|
||||
* update dependency coveralls to v3.0.8 (#8054) (8ba26104)
|
||||
|
||||
##### Documentation Changes
|
||||
|
||||
* updated changelog (94499da3)
|
||||
|
||||
##### New Features
|
||||
|
||||
* better output for cli plugins list, closes #8075 (4fc69443)
|
||||
* #5272, allow changing user groups from manage users page (05c9fe27)
|
||||
* merge social authentication into plugins menu in ACP (f9a8ebfc)
|
||||
* convert middleware.isAdmin to async/await (efd1e88b)
|
||||
|
||||
##### Bug Fixes
|
||||
|
||||
* #8085, fix cookie name (dec157d6)
|
||||
* #8058, fix incorrect digest setting display in ACP (1b992d82)
|
||||
* remove select version (6a17e32d)
|
||||
* travis config (3ae98300)
|
||||
* travis :dog: (3731dc4e)
|
||||
* #8078, dont mark notifications read without a mergeId (a8df6d62)
|
||||
* #8077, show continue chat on all profile pages (7af1c873)
|
||||
* profile showing posts from deleted topics (2679f37d)
|
||||
* #8073, configurable necroThreshold (4d669783)
|
||||
* allow members to search as well (b323df2f)
|
||||
* #8069, dont show hidden groups in search (c2cd7de8)
|
||||
* missing await (33fd4a1c)
|
||||
* #8064, break-word on post-queue (1bda92e3)
|
||||
* #6711 (7ed002a1)
|
||||
* #8061, don't crash if there is a network problem (de404102)
|
||||
* #8059, properly mark topic unread when using mark unread for all (a688aaae)
|
||||
* #8042, dont show errors after clearing form (3811e0a3)
|
||||
* unhandled promise rejection error on reset error (51073772)
|
||||
* #8050, fix redirect after registration (366ad5cd)
|
||||
* make _csrf a secure cookie if the website is using https (#8045) (0efe27b1)
|
||||
* #8034 (0a96c923)
|
||||
* serialize (a2545204)
|
||||
* show login fields if user has local password (1eca5b3d)
|
||||
* use the correct attribute name for widgets (6c404b81)
|
||||
* **deps:**
|
||||
* update dependency semver to v7 (483d7535)
|
||||
* update dependency nodebb-theme-vanilla to v11.1.12 (610ecf35)
|
||||
* update dependency sharp to v0.23.4 (#8076) (eb18c182)
|
||||
* update dependency nodebb-theme-persona to v10.1.30 (0514383a)
|
||||
* update dependency nodebb-plugin-markdown to v8.11.0 (702ca164)
|
||||
* update dependency connect-mongo to v3.2.0 (2aef7a5b)
|
||||
* update dependency mongodb to v3.3.5 (#8065) (68118e43)
|
||||
* update dependency nodebb-theme-persona to v10.1.29 (#8057) (34933091)
|
||||
* update dependency sharp to v0.23.3 (#8044) (6fa88823)
|
||||
* update dependency validator to v12.1.0 (#8055) (488ea394)
|
||||
* update dependency nodebb-theme-slick to v1.2.28 (#8041) (b3511f71)
|
||||
* update dependency nodebb-theme-vanilla to v11.1.11 (#8040) (d567c4ae)
|
||||
* update dependency nodebb-theme-persona to v10.1.28 (#8039) (6c87bed5)
|
||||
* update dependency nodebb-plugin-dbsearch to v4.0.7 (#8038) (1e2e16b4)
|
||||
|
||||
##### Refactors
|
||||
|
||||
* async/await middleware (a227cbe3)
|
||||
* change to const/let (3454a24b)
|
||||
* shorter returns (cec00795)
|
||||
|
||||
### 1.13.0 (2019-11-13)
|
||||
|
||||
##### Chores
|
||||
|
||||
@@ -19,5 +19,4 @@ ENV NODE_ENV=production \
|
||||
|
||||
EXPOSE 4567
|
||||
|
||||
CMD ./nodebb start
|
||||
|
||||
CMD node ./nodebb build ; node ./nodebb start
|
||||
|
||||
359
Gruntfile.js
359
Gruntfile.js
@@ -1,95 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
|
||||
var async = require('async');
|
||||
var fork = require('child_process').fork;
|
||||
var env = process.env;
|
||||
const path = require('path');
|
||||
const nconf = require('nconf');
|
||||
nconf.argv().env({
|
||||
separator: '__',
|
||||
});
|
||||
const winston = require('winston');
|
||||
const fork = require('child_process').fork;
|
||||
const env = process.env;
|
||||
var worker;
|
||||
var updateWorker;
|
||||
var initWorker;
|
||||
var incomplete = [];
|
||||
var running = 0;
|
||||
|
||||
env.NODE_ENV = env.NODE_ENV || 'development';
|
||||
|
||||
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
|
||||
const prestart = require('./src/prestart');
|
||||
prestart.loadConfig(configFile);
|
||||
|
||||
var nconf = require('nconf');
|
||||
nconf.file({
|
||||
file: 'config.json',
|
||||
});
|
||||
|
||||
nconf.defaults({
|
||||
base_dir: __dirname,
|
||||
views_dir: './build/public/templates',
|
||||
});
|
||||
var winston = require('winston');
|
||||
winston.configure({
|
||||
transports: [
|
||||
new winston.transports.Console({
|
||||
handleExceptions: true,
|
||||
}),
|
||||
],
|
||||
});
|
||||
var db = require('./src/database');
|
||||
|
||||
module.exports = function (grunt) {
|
||||
var args = [];
|
||||
var initArgs = ['--build'];
|
||||
|
||||
if (!grunt.option('verbose')) {
|
||||
args.push('--log-level=info');
|
||||
initArgs.push('--log-level=info');
|
||||
}
|
||||
|
||||
function update(action, filepath, target) {
|
||||
var updateArgs = args.slice();
|
||||
var compiling;
|
||||
var time = Date.now();
|
||||
|
||||
if (target === 'lessUpdated_Client') {
|
||||
compiling = 'clientCSS';
|
||||
} else if (target === 'lessUpdated_Admin') {
|
||||
compiling = 'acpCSS';
|
||||
} else if (target === 'clientUpdated') {
|
||||
compiling = 'js';
|
||||
} else if (target === 'templatesUpdated') {
|
||||
compiling = 'tpl';
|
||||
} else if (target === 'langUpdated') {
|
||||
compiling = 'lang';
|
||||
} else if (target === 'serverUpdated') {
|
||||
// Do nothing, just restart
|
||||
}
|
||||
|
||||
if (compiling && !incomplete.includes(compiling)) {
|
||||
incomplete.push(compiling);
|
||||
}
|
||||
|
||||
updateArgs.push('--build');
|
||||
updateArgs.push(incomplete.join(','));
|
||||
|
||||
worker.kill();
|
||||
if (updateWorker) {
|
||||
updateWorker.kill('SIGKILL');
|
||||
}
|
||||
updateWorker = fork('app.js', updateArgs, { env: env });
|
||||
running += 1;
|
||||
updateWorker.on('exit', function () {
|
||||
running -= 1;
|
||||
if (running === 0) {
|
||||
worker = fork('app.js', args, {
|
||||
env: env,
|
||||
});
|
||||
worker.on('message', function () {
|
||||
if (incomplete.length) {
|
||||
incomplete = [];
|
||||
|
||||
if (grunt.option('verbose')) {
|
||||
grunt.log.writeln('NodeBB restarted in ' + (Date.now() - time) + ' ms');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
nconf.set('log-level', 'info');
|
||||
}
|
||||
prestart.setupWinston();
|
||||
|
||||
grunt.initConfig({
|
||||
watch: {},
|
||||
@@ -99,148 +35,169 @@ module.exports = function (grunt) {
|
||||
|
||||
grunt.registerTask('default', ['watch']);
|
||||
|
||||
grunt.registerTask('init', function () {
|
||||
grunt.registerTask('init', async function () {
|
||||
var done = this.async();
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
db.init(next);
|
||||
},
|
||||
function (next) {
|
||||
db.getSortedSetRange('plugins:active', 0, -1, next);
|
||||
},
|
||||
function (plugins, next) {
|
||||
addBaseThemes(plugins, next);
|
||||
},
|
||||
function (plugins, next) {
|
||||
if (!plugins.includes('nodebb-plugin-composer-default')) {
|
||||
plugins.push('nodebb-plugin-composer-default');
|
||||
}
|
||||
let plugins = [];
|
||||
if (!process.argv.includes('--core')) {
|
||||
await db.init();
|
||||
plugins = await db.getSortedSetRange('plugins:active', 0, -1);
|
||||
addBaseThemes(plugins);
|
||||
if (!plugins.includes('nodebb-plugin-composer-default')) {
|
||||
plugins.push('nodebb-plugin-composer-default');
|
||||
}
|
||||
if (!plugins.includes('nodebb-theme-persona')) {
|
||||
plugins.push('nodebb-theme-persona');
|
||||
}
|
||||
}
|
||||
|
||||
if (process.argv.includes('--core')) {
|
||||
plugins = [];
|
||||
}
|
||||
const styleUpdated_Client = plugins.map(p => 'node_modules/' + p + '/*.less')
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/*.css'))
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static|less)/**/*.less'))
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.css'));
|
||||
|
||||
const lessUpdated_Client = plugins.map(p => 'node_modules/' + p + '/**/*.less');
|
||||
const lessUpdated_Admin = plugins.map(p => 'node_modules/' + p + '/**/*.less');
|
||||
const clientUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.js');
|
||||
const templatesUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.tpl');
|
||||
const langUpdated = plugins.map(p => 'node_modules/' + p + '/**/*.json');
|
||||
const styleUpdated_Admin = plugins.map(p => 'node_modules/' + p + '/*.less')
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/*.css'))
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static|less)/**/*.less'))
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.css'));
|
||||
|
||||
grunt.config(['watch'], {
|
||||
lessUpdated_Client: {
|
||||
files: [
|
||||
'public/less/*.less',
|
||||
'!public/less/admin/**/*.less',
|
||||
...lessUpdated_Client,
|
||||
'!node_modules/nodebb-*/node_modules/**',
|
||||
'!node_modules/nodebb-*/.git/**',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
lessUpdated_Admin: {
|
||||
files: [
|
||||
'public/less/admin/**/*.less',
|
||||
...lessUpdated_Admin,
|
||||
'!node_modules/nodebb-*/node_modules/**',
|
||||
'!node_modules/nodebb-*/.git/**',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
clientUpdated: {
|
||||
files: [
|
||||
'public/src/**/*.js',
|
||||
...clientUpdated,
|
||||
'!node_modules/nodebb-*/node_modules/**',
|
||||
'node_modules/benchpressjs/build/benchpress.js',
|
||||
'!node_modules/nodebb-*/.git/**',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
serverUpdated: {
|
||||
files: ['*.js', 'install/*.js', 'src/**/*.js', '!src/upgrades/**'],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
templatesUpdated: {
|
||||
files: [
|
||||
'src/views/**/*.tpl',
|
||||
...templatesUpdated,
|
||||
'!node_modules/nodebb-*/node_modules/**',
|
||||
'!node_modules/nodebb-*/.git/**',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
langUpdated: {
|
||||
files: [
|
||||
'public/language/en-GB/*.json',
|
||||
'public/language/en-GB/**/*.json',
|
||||
...langUpdated,
|
||||
'!node_modules/nodebb-*/node_modules/**',
|
||||
'!node_modules/nodebb-*/.git/**',
|
||||
'!node_modules/nodebb-*/plugin.json',
|
||||
'!node_modules/nodebb-*/package.json',
|
||||
'!node_modules/nodebb-*/theme.json',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
});
|
||||
next();
|
||||
const clientUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static)/**/*.js');
|
||||
const serverUpdated = plugins.map(p => 'node_modules/' + p + '/*.js')
|
||||
.concat(plugins.map(p => 'node_modules/' + p + '/+(lib|src)/**/*.js'));
|
||||
|
||||
const templatesUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static|templates)/**/*.tpl');
|
||||
const langUpdated = plugins.map(p => 'node_modules/' + p + '/+(public|static|languages)/**/*.json');
|
||||
|
||||
grunt.config(['watch'], {
|
||||
styleUpdated_Client: {
|
||||
files: [
|
||||
'public/less/**/*.less',
|
||||
...styleUpdated_Client,
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
], done);
|
||||
styleUpdated_Admin: {
|
||||
files: [
|
||||
'public/less/**/*.less',
|
||||
...styleUpdated_Admin,
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
clientUpdated: {
|
||||
files: [
|
||||
'public/src/**/*.js',
|
||||
...clientUpdated,
|
||||
'node_modules/benchpressjs/build/benchpress.js',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
serverUpdated: {
|
||||
files: [
|
||||
'app.js',
|
||||
'install/*.js',
|
||||
'src/**/*.js',
|
||||
'public/src/modules/translator.js',
|
||||
'public/src/modules/helpers.js',
|
||||
'public/src/utils.js',
|
||||
serverUpdated,
|
||||
'!src/upgrades/**',
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
templatesUpdated: {
|
||||
files: [
|
||||
'src/views/**/*.tpl',
|
||||
...templatesUpdated,
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
langUpdated: {
|
||||
files: [
|
||||
'public/language/en-GB/*.json',
|
||||
'public/language/en-GB/**/*.json',
|
||||
...langUpdated,
|
||||
],
|
||||
options: {
|
||||
interval: 1000,
|
||||
},
|
||||
},
|
||||
});
|
||||
const build = require('./src/meta/build');
|
||||
if (!grunt.option('skip')) {
|
||||
await build.build(true);
|
||||
}
|
||||
run();
|
||||
done();
|
||||
});
|
||||
|
||||
grunt.task.run('init');
|
||||
|
||||
env.NODE_ENV = 'development';
|
||||
|
||||
if (grunt.option('skip')) {
|
||||
function run() {
|
||||
if (worker) {
|
||||
worker.kill();
|
||||
}
|
||||
worker = fork('app.js', args, {
|
||||
env: env,
|
||||
});
|
||||
} else {
|
||||
initWorker = fork('app.js', initArgs, {
|
||||
env: env,
|
||||
});
|
||||
|
||||
initWorker.on('exit', function () {
|
||||
worker = fork('app.js', args, {
|
||||
env: env,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
grunt.event.on('watch', update);
|
||||
grunt.task.run('init');
|
||||
|
||||
grunt.event.removeAllListeners('watch');
|
||||
grunt.event.on('watch', function update(action, filepath, target) {
|
||||
var compiling;
|
||||
if (target === 'styleUpdated_Client') {
|
||||
compiling = 'clientCSS';
|
||||
} else if (target === 'styleUpdated_Admin') {
|
||||
compiling = 'acpCSS';
|
||||
} else if (target === 'clientUpdated') {
|
||||
compiling = 'js';
|
||||
} else if (target === 'templatesUpdated') {
|
||||
compiling = 'tpl';
|
||||
} else if (target === 'langUpdated') {
|
||||
compiling = 'lang';
|
||||
} else if (target === 'serverUpdated') {
|
||||
// empty require cache
|
||||
const paths = ['./src/meta/build.js', './src/meta/index.js'];
|
||||
paths.forEach(p => delete require.cache[require.resolve(p)]);
|
||||
return run();
|
||||
}
|
||||
|
||||
require('./src/meta/build').build([compiling], function (err) {
|
||||
if (err) {
|
||||
winston.error(err.stack);
|
||||
}
|
||||
if (worker) {
|
||||
worker.send({ compiling: compiling });
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function addBaseThemes(plugins, callback) {
|
||||
const themeId = plugins.find(p => p.startsWith('nodebb-theme-'));
|
||||
function addBaseThemes(plugins) {
|
||||
let themeId = plugins.find(p => p.includes('nodebb-theme-'));
|
||||
if (!themeId) {
|
||||
return setImmediate(callback, null, plugins);
|
||||
return plugins;
|
||||
}
|
||||
function getBaseRecursive(themeId) {
|
||||
let baseTheme;
|
||||
do {
|
||||
try {
|
||||
const baseTheme = require(themeId + '/theme').baseTheme;
|
||||
|
||||
if (baseTheme) {
|
||||
plugins.push(baseTheme);
|
||||
getBaseRecursive(baseTheme);
|
||||
}
|
||||
baseTheme = require(themeId + '/theme').baseTheme;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
|
||||
getBaseRecursive(themeId);
|
||||
callback(null, plugins);
|
||||
if (baseTheme) {
|
||||
plugins.push(baseTheme);
|
||||
themeId = baseTheme;
|
||||
}
|
||||
} while (baseTheme);
|
||||
return plugins;
|
||||
}
|
||||
|
||||
3
app.js
3
app.js
@@ -31,10 +31,11 @@ const path = require('path');
|
||||
|
||||
const file = require('./src/file');
|
||||
|
||||
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
|
||||
global.env = process.env.NODE_ENV || 'production';
|
||||
|
||||
// Alternate configuration file support
|
||||
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
|
||||
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
|
||||
|
||||
const configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));
|
||||
|
||||
|
||||
@@ -32,9 +32,8 @@
|
||||
"registrationType": "normal",
|
||||
"registrationApprovalType": "normal",
|
||||
"allowAccountDelete": 1,
|
||||
"allowFileUploads": 0,
|
||||
"privateUploads": 0,
|
||||
"allowedFileExtensions": "png,jpg,bmp",
|
||||
"allowedFileExtensions": "png,jpg,bmp,txt",
|
||||
"allowUserHomePage": 1,
|
||||
"allowMultipleBadges": 0,
|
||||
"maximumFileSize": 2048,
|
||||
@@ -81,9 +80,11 @@
|
||||
"notificationType_upvote": "notification",
|
||||
"notificationType_new-topic": "notification",
|
||||
"notificationType_new-reply": "notification",
|
||||
"notificationType_post-edit": "notification",
|
||||
"notificationType_follow": "notification",
|
||||
"notificationType_new-chat": "notification",
|
||||
"notificationType_group-invite": "notification",
|
||||
"notificationType_group-request-membership": "notification",
|
||||
"notificationType_mention": "notification",
|
||||
"notificationType_new-register": "notification",
|
||||
"notificationType_post-queue": "notification",
|
||||
@@ -109,7 +110,9 @@
|
||||
"email:sendmail:rateLimit": 2,
|
||||
"email:sendmail:rateDelta": 1000,
|
||||
"hideFullname": 0,
|
||||
"hideEmail": 0,
|
||||
"allowGuestHandles": 0,
|
||||
"recentMaxTopics": 200,
|
||||
"disableRecentCategoryFilter": 0,
|
||||
"maximumRelatedTopics": 0,
|
||||
"disableEmailSubscriptions": 0,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "nodebb",
|
||||
"license": "GPL-3.0",
|
||||
"description": "NodeBB Forum",
|
||||
"version": "1.13.0",
|
||||
"version": "1.14.0",
|
||||
"homepage": "http://www.nodebb.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -29,123 +29,125 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"ace-builds": "^1.2.9",
|
||||
"archiver": "^3.0.0",
|
||||
"async": "^3.0.1",
|
||||
"autoprefixer": "^9.4.6",
|
||||
"ace-builds": "^1.4.9",
|
||||
"archiver": "^4.0.0",
|
||||
"async": "^3.2.0",
|
||||
"autoprefixer": "^9.7.6",
|
||||
"bcryptjs": "2.4.3",
|
||||
"benchpressjs": "^2.0.0",
|
||||
"body-parser": "^1.18.2",
|
||||
"bootstrap": "^3.4.0",
|
||||
"benchpressjs": "^2.0.2",
|
||||
"body-parser": "^1.19.0",
|
||||
"bootstrap": "^3.4.1",
|
||||
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
|
||||
"chart.js": "^2.7.1",
|
||||
"chart.js": "^2.9.3",
|
||||
"cli-graph": "^3.2.2",
|
||||
"clipboard": "^2.0.1",
|
||||
"colors": "^1.1.2",
|
||||
"commander": "^3.0.0",
|
||||
"compression": "^1.7.1",
|
||||
"clipboard": "^2.0.6",
|
||||
"colors": "^1.4.0",
|
||||
"commander": "^5.0.0",
|
||||
"compression": "^1.7.4",
|
||||
"connect-ensure-login": "^0.1.1",
|
||||
"connect-flash": "^0.1.1",
|
||||
"connect-mongo": "3.2.0",
|
||||
"connect-multiparty": "^2.1.0",
|
||||
"connect-pg-simple": "^6.0.0",
|
||||
"connect-redis": "4.0.3",
|
||||
"cookie-parser": "^1.4.3",
|
||||
"cron": "^1.3.0",
|
||||
"cropperjs": "^1.2.2",
|
||||
"csurf": "^1.9.0",
|
||||
"connect-multiparty": "^2.2.0",
|
||||
"connect-pg-simple": "^6.1.0",
|
||||
"connect-redis": "4.0.4",
|
||||
"cookie-parser": "^1.4.5",
|
||||
"cron": "^1.8.2",
|
||||
"cropperjs": "^1.5.6",
|
||||
"csurf": "^1.11.0",
|
||||
"daemon": "^1.1.0",
|
||||
"diff": "^4.0.1",
|
||||
"express": "^4.16.2",
|
||||
"express-session": "^1.15.6",
|
||||
"express-useragent": "^1.0.12",
|
||||
"graceful-fs": "^4.1.11",
|
||||
"helmet": "^3.11.0",
|
||||
"html-to-text": "^5.0.0",
|
||||
"ipaddr.js": "^1.5.4",
|
||||
"jquery": "^3.2.1",
|
||||
"jsesc": "2.5.2",
|
||||
"json-2-csv": "^3.0.0",
|
||||
"jsonwebtoken": "^8.4.0",
|
||||
"less": "^3.10.3",
|
||||
"diff": "^4.0.2",
|
||||
"express": "^4.17.1",
|
||||
"express-session": "^1.17.0",
|
||||
"express-useragent": "^1.0.13",
|
||||
"graceful-fs": "^4.2.3",
|
||||
"helmet": "^3.22.0",
|
||||
"html-to-text": "^5.1.1",
|
||||
"ipaddr.js": "^1.9.1",
|
||||
"jquery": "3.5.1",
|
||||
"jsesc": "3.0.1",
|
||||
"json2csv": "5.0.1",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"less": "^3.11.1",
|
||||
"lodash": "^4.17.15",
|
||||
"logrotate-stream": "^0.2.5",
|
||||
"logrotate-stream": "^0.2.6",
|
||||
"lru-cache": "5.1.1",
|
||||
"material-design-lite": "^1.3.0",
|
||||
"mime": "^2.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mongodb": "3.4.0",
|
||||
"morgan": "^1.9.1",
|
||||
"mousetrap": "^1.6.1",
|
||||
"mubsub-nbb": "^1.5.1",
|
||||
"mime": "^2.4.4",
|
||||
"mkdirp": "^1.0.4",
|
||||
"mongodb": "3.5.9",
|
||||
"morgan": "^1.10.0",
|
||||
"mousetrap": "^1.6.5",
|
||||
"@nodebb/mubsub": "^1.6.0",
|
||||
"@nodebb/socket.io-adapter-mongo": "3.0.0",
|
||||
"nconf": "^0.10.0",
|
||||
"nodebb-plugin-composer-default": "6.3.20",
|
||||
"nodebb-plugin-composer-default": "6.3.46",
|
||||
"nodebb-plugin-dbsearch": "4.0.7",
|
||||
"nodebb-plugin-emoji": "^3.0.0",
|
||||
"nodebb-plugin-emoji": "^3.3.0",
|
||||
"nodebb-plugin-emoji-android": "2.0.0",
|
||||
"nodebb-plugin-markdown": "8.11.0",
|
||||
"nodebb-plugin-mentions": "2.7.3",
|
||||
"nodebb-plugin-markdown": "8.11.2",
|
||||
"nodebb-plugin-mentions": "2.8.3",
|
||||
"nodebb-plugin-soundpack-default": "1.0.0",
|
||||
"nodebb-plugin-spam-be-gone": "0.6.7",
|
||||
"nodebb-rewards-essentials": "0.1.2",
|
||||
"nodebb-plugin-spam-be-gone": "0.7.2",
|
||||
"nodebb-rewards-essentials": "0.1.3",
|
||||
"nodebb-theme-lavender": "5.0.11",
|
||||
"nodebb-theme-persona": "10.1.30",
|
||||
"nodebb-theme-slick": "1.2.28",
|
||||
"nodebb-theme-vanilla": "11.1.12",
|
||||
"nodebb-widget-essentials": "4.0.17",
|
||||
"nodemailer": "^6.0.0",
|
||||
"passport": "^0.4.0",
|
||||
"nodebb-theme-persona": "10.1.58",
|
||||
"nodebb-theme-slick": "1.2.29",
|
||||
"nodebb-theme-vanilla": "11.1.32",
|
||||
"nodebb-widget-essentials": "4.1.0",
|
||||
"nodemailer": "^6.4.6",
|
||||
"passport": "^0.4.1",
|
||||
"passport-local": "1.0.0",
|
||||
"pg": "^7.4.0",
|
||||
"pg-cursor": "^2.0.0",
|
||||
"postcss": "7.0.21",
|
||||
"pg": "^8.0.2",
|
||||
"pg-cursor": "^2.1.9",
|
||||
"postcss": "7.0.32",
|
||||
"postcss-clean": "1.1.0",
|
||||
"promise-polyfill": "^8.0.0",
|
||||
"promise-polyfill": "^8.1.3",
|
||||
"prompt": "^1.0.0",
|
||||
"redis": "2.8.0",
|
||||
"request": "2.88.0",
|
||||
"rimraf": "3.0.0",
|
||||
"redis": "3.0.2",
|
||||
"request": "2.88.2",
|
||||
"request-promise-native": "^1.0.8",
|
||||
"rimraf": "3.0.2",
|
||||
"rss": "^1.2.2",
|
||||
"sanitize-html": "^1.16.3",
|
||||
"semver": "^7.0.0",
|
||||
"serve-favicon": "^2.4.5",
|
||||
"sharp": "0.23.4",
|
||||
"sitemap": "^5.0.0",
|
||||
"sanitize-html": "^1.23.0",
|
||||
"semver": "^7.2.1",
|
||||
"serve-favicon": "^2.5.0",
|
||||
"sharp": "0.25.4",
|
||||
"sitemap": "^6.1.0",
|
||||
"socket.io": "2.3.0",
|
||||
"socket.io-adapter-cluster": "^1.0.1",
|
||||
"socket.io-adapter-mongo": "^2.0.4",
|
||||
"socket.io-adapter-postgres": "^1.2.1",
|
||||
"socket.io-client": "2.3.0",
|
||||
"socket.io-redis": "5.2.0",
|
||||
"socket.io-redis": "5.3.0",
|
||||
"socketio-wildcard": "2.0.0",
|
||||
"spdx-license-list": "^6.0.0",
|
||||
"spdx-license-list": "^6.1.0",
|
||||
"spider-detector": "2.0.0",
|
||||
"textcomplete": "^0.17.1",
|
||||
"textcomplete.contenteditable": "^0.1.1",
|
||||
"toobusy-js": "^0.5.1",
|
||||
"uglify-es": "^3.3.9",
|
||||
"validator": "12.1.0",
|
||||
"winston": "3.2.1",
|
||||
"validator": "13.1.1",
|
||||
"winston": "3.3.3",
|
||||
"xml": "^1.0.1",
|
||||
"xregexp": "^4.1.1",
|
||||
"xregexp": "^4.3.0",
|
||||
"zxcvbn": "^4.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "8.2.0",
|
||||
"@commitlint/config-angular": "8.2.0",
|
||||
"coveralls": "3.0.9",
|
||||
"eslint": "6.7.0",
|
||||
"eslint-config-airbnb-base": "14.0.0",
|
||||
"eslint-plugin-import": "2.18.2",
|
||||
"grunt": "1.0.4",
|
||||
"@apidevtools/swagger-parser": "9.0.1",
|
||||
"@commitlint/cli": "9.0.1",
|
||||
"@commitlint/config-angular": "9.0.1",
|
||||
"coveralls": "3.1.0",
|
||||
"eslint": "7.3.1",
|
||||
"eslint-config-airbnb-base": "14.1.0",
|
||||
"eslint-plugin-import": "2.21.1",
|
||||
"grunt": "1.1.0",
|
||||
"grunt-contrib-watch": "1.1.0",
|
||||
"husky": "3.1.0",
|
||||
"jsdom": "15.2.1",
|
||||
"lint-staged": "9.4.2",
|
||||
"mocha": "6.2.2",
|
||||
"husky": "4.2.5",
|
||||
"jsdom": "16.2.2",
|
||||
"lint-staged": "10.2.11",
|
||||
"mocha": "8.0.1",
|
||||
"mocha-lcov-reporter": "1.3.0",
|
||||
"nyc": "14.1.1",
|
||||
"smtp-server": "3.5.0"
|
||||
"nyc": "15.0.1",
|
||||
"smtp-server": "3.7.0"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/NodeBB/NodeBB/issues"
|
||||
|
||||
@@ -81,7 +81,7 @@ web.install = function (port) {
|
||||
|
||||
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
|
||||
if (err) {
|
||||
winston.error(err);
|
||||
winston.error(err.stack);
|
||||
}
|
||||
setupRoutes();
|
||||
launchExpress(port);
|
||||
@@ -225,12 +225,12 @@ function launch(req, res) {
|
||||
function compileLess(callback) {
|
||||
fs.readFile(path.join(__dirname, '../public/less/install.less'), function (err, style) {
|
||||
if (err) {
|
||||
return winston.error('Unable to read LESS install file: ', err);
|
||||
return winston.error('Unable to read LESS install file: ', err.stack);
|
||||
}
|
||||
|
||||
less.render(style.toString(), function (err, css) {
|
||||
if (err) {
|
||||
return winston.error('Unable to compile LESS: ', err);
|
||||
return winston.error('Unable to compile LESS: ', err.stack);
|
||||
}
|
||||
|
||||
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);
|
||||
|
||||
32
loader.js
32
loader.js
@@ -87,22 +87,22 @@ Loader.addWorkerEvents = function (worker) {
|
||||
worker.on('message', function (message) {
|
||||
if (message && typeof message === 'object' && message.action) {
|
||||
switch (message.action) {
|
||||
case 'restart':
|
||||
console.log('[cluster] Restarting...');
|
||||
Loader.restart();
|
||||
break;
|
||||
case 'pubsub':
|
||||
workers.forEach(function (w) {
|
||||
w.send(message);
|
||||
});
|
||||
break;
|
||||
case 'socket.io':
|
||||
workers.forEach(function (w) {
|
||||
if (w !== worker) {
|
||||
case 'restart':
|
||||
console.log('[cluster] Restarting...');
|
||||
Loader.restart();
|
||||
break;
|
||||
case 'pubsub':
|
||||
workers.forEach(function (w) {
|
||||
w.send(message);
|
||||
}
|
||||
});
|
||||
break;
|
||||
});
|
||||
break;
|
||||
case 'socket.io':
|
||||
workers.forEach(function (w) {
|
||||
if (w !== worker) {
|
||||
w.send(message);
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -231,7 +231,7 @@ fs.open(pathToConfig, 'r', function (err) {
|
||||
cwd: process.cwd(),
|
||||
});
|
||||
|
||||
fs.writeFileSync(pidFilePath, process.pid);
|
||||
fs.writeFileSync(pidFilePath, String(process.pid));
|
||||
}
|
||||
|
||||
async.series([
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Excessive Load Warning</title>
|
||||
<link href='https://fonts.googleapis.com/css?family=Ubuntu:400,500,700' rel='stylesheet' type='text/css'>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background: #00A9EA;
|
||||
color: white;
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
/* see public/less/admin/vars.less for documentation on system font family */
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
text-align: center;
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"events": "أحداث",
|
||||
"no-events": "لا توجد أحداث",
|
||||
"control-panel": "لوحة تحكم الأحداث",
|
||||
"delete-events": "Delete Events",
|
||||
"filters": "Filters",
|
||||
"filters-apply": "Apply Filters",
|
||||
"filter-type": "Event Type",
|
||||
|
||||
79
public/language/ar/admin/dashboard.json
Normal file
79
public/language/ar/admin/dashboard.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"forum-traffic": "Forum Traffic",
|
||||
"page-views": "مشاهدات الصفحات",
|
||||
"unique-visitors": "زائرين فريدين",
|
||||
"new-users": "New Users",
|
||||
"posts": "مشاركات",
|
||||
"topics": "مواضيع",
|
||||
"page-views-seven": "آخر 7 ايام",
|
||||
"page-views-thirty": "آخر 30 يوماً",
|
||||
"page-views-last-day": "آخر 24 ساعة",
|
||||
"page-views-custom": "مدة زمنية مخصصة",
|
||||
"page-views-custom-start": "بداية المدة",
|
||||
"page-views-custom-end": "نهاية المده",
|
||||
"page-views-custom-help": "أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
|
||||
"page-views-custom-error": "الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
|
||||
|
||||
"stats.yesterday": "Yesterday",
|
||||
"stats.today": "Today",
|
||||
"stats.last-week": "Last Week",
|
||||
"stats.this-week": "This Week",
|
||||
"stats.last-month": "Last Month",
|
||||
"stats.this-month": "This Month",
|
||||
"stats.all": "كل الوقت",
|
||||
|
||||
"updates": "تحديثات",
|
||||
"running-version": "المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
|
||||
"keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
|
||||
"up-to-date": "<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
|
||||
"upgrade-available": "<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
|
||||
"prerelease-upgrade-available": "<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
|
||||
"prerelease-warning": "<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
|
||||
"running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
|
||||
"latest-lookup-failed": "<p>Failed to look up latest available version of NodeBB</p>",
|
||||
|
||||
"notices": "إشعارات",
|
||||
"restart-not-required": "إعادة التشغيل غير مطلوب",
|
||||
"restart-required": "إعادة التشغيل مطلوبة",
|
||||
"search-plugin-installed": "إضافة البحث منصبة",
|
||||
"search-plugin-not-installed": "إضافة البحث غير منصبة",
|
||||
"search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
|
||||
|
||||
"control-panel": "التحكم بالنظام",
|
||||
"rebuild-and-restart": "Rebuild & Restart",
|
||||
"restart": "Restart",
|
||||
"restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.",
|
||||
"restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
|
||||
"maintenance-mode": "وضع الصيانة",
|
||||
"maintenance-mode-title": "انقر هنا لإعداد وضع الصيانة لـNodeBB",
|
||||
"realtime-chart-updates": "التحديث الفوري للرسم البياني",
|
||||
|
||||
"active-users": "المستخدمين النشطين",
|
||||
"active-users.users": "الأعضاء",
|
||||
"active-users.guests": "الزوار",
|
||||
"active-users.total": "المجموع",
|
||||
"active-users.connections": "Connections",
|
||||
|
||||
"anonymous-registered-users": "المجهولين مقابل المستخدمين المسجلين",
|
||||
"anonymous": "مجهول",
|
||||
"registered": "مسجل",
|
||||
|
||||
"user-presence": "تواجد المستخدمين",
|
||||
"on-categories": "في قائمة الأقسام",
|
||||
"reading-posts": "قراءة المشاركات",
|
||||
"browsing-topics": "تصفح المواضيع",
|
||||
"recent": "الأخيرة",
|
||||
"unread": "غير مقروء",
|
||||
|
||||
"high-presence-topics": "مواضيع ذات حضور قوي",
|
||||
|
||||
"graphs.page-views": "مشاهدات الصفحة",
|
||||
"graphs.page-views-registered": "Page Views Registered",
|
||||
"graphs.page-views-guest": "Page Views Guest",
|
||||
"graphs.page-views-bot": "Page Views Bot",
|
||||
"graphs.unique-visitors": "زوار فريدين",
|
||||
"graphs.registered-users": "مستخدمين مسجلين",
|
||||
"graphs.anonymous-users": "مستخدمين مجهولين",
|
||||
"last-restarted-by": "Last restarted by",
|
||||
"no-users-browsing": "No users browsing"
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"you-are-on": "Info - You are on <strong>%1:%2</strong>",
|
||||
"you-are-on": "You are on <strong>%1:%2</strong>",
|
||||
"ip": "IP <strong>%1</strong>",
|
||||
"nodes-responded": "%1 nodes responded within %2ms!",
|
||||
"host": "host",
|
||||
"pid": "pid",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"num-recent-replies": "# of Recent Replies",
|
||||
"ext-link": "External Link",
|
||||
"is-section": "Treat this category as a section",
|
||||
"tag-whitelist": "Tag Whitelist",
|
||||
"upload-image": "Upload Image",
|
||||
"delete-image": "Remove",
|
||||
"category-image": "Category Image",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"default": "System default",
|
||||
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: "<strong>%1</strong>"",
|
||||
"resend": "Resend Digest",
|
||||
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
|
||||
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
|
||||
"resent-single": "Manual digest resend completed",
|
||||
"resent-day": "Daily digest resent",
|
||||
"resent-week": "Weekly digest resent",
|
||||
@@ -18,4 +18,4 @@
|
||||
"manual-run": "Manual digest run:",
|
||||
|
||||
"no-delivery-data": "No delivery data found"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"global": "Global",
|
||||
"global.no-users": "No user-specific global privileges.",
|
||||
"admin": "Admin",
|
||||
"group-privileges": "Group Privileges",
|
||||
"user-privileges": "User Privileges",
|
||||
"chat": "Chat",
|
||||
@@ -31,5 +32,11 @@
|
||||
"downvote-posts": "Downvote Posts",
|
||||
"delete-topics": "Delete Topics",
|
||||
"purge": "Purge",
|
||||
"moderate": "Moderate"
|
||||
"moderate": "Moderate",
|
||||
|
||||
"admin-dashboard": "Dashboard",
|
||||
"admin-categories": "Categories",
|
||||
"admin-privileges": "Privileges",
|
||||
"admin-users": "Users",
|
||||
"admin-settings": "Settings"
|
||||
}
|
||||
@@ -3,17 +3,16 @@
|
||||
"bg-color": "Background Colour",
|
||||
"text-color": "Text Colour",
|
||||
"create-modify": "Create & Modify Tags",
|
||||
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
|
||||
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
|
||||
"create": "Create Tag",
|
||||
"modify": "Modify Tags",
|
||||
"rename": "Rename Tags",
|
||||
"delete": "Delete Selected Tags",
|
||||
"search": "Search for tags...",
|
||||
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
|
||||
"settings": "Tags Settings",
|
||||
"name": "Tag Name",
|
||||
|
||||
"alerts.editing-multiple": "Editing multiple tags",
|
||||
"alerts.editing-x": "Editing \"%1\" tag",
|
||||
"alerts.editing": "Editing tag(s)",
|
||||
"alerts.confirm-delete": "Do you want to delete the selected tags?",
|
||||
"alerts.update-success": "Tag Updated!"
|
||||
}
|
||||
@@ -12,8 +12,9 @@
|
||||
"unban": "Unban User(s)",
|
||||
"reset-lockout": "Reset Lockout",
|
||||
"reset-flags": "Reset Flags",
|
||||
"delete": "Delete User(s)",
|
||||
"purge": "Delete User(s) and Content",
|
||||
"delete": "Delete <strong>User(s)</strong>",
|
||||
"delete-content": "Delete User(s) <strong>Content</strong>",
|
||||
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
|
||||
"download-csv": "Download CSV",
|
||||
"manage-groups": "Manage Groups",
|
||||
"add-group": "Add Group",
|
||||
@@ -93,9 +94,11 @@
|
||||
"alerts.validate-email-success": "Emails validated",
|
||||
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
|
||||
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
|
||||
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
|
||||
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
|
||||
"alerts.delete-success": "User(s) Deleted!",
|
||||
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
|
||||
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
|
||||
"alerts.delete-content-success": "User(s) Content Deleted!",
|
||||
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
|
||||
"alerts.create": "Create User",
|
||||
"alerts.button-create": "Create",
|
||||
"alerts.button-cancel": "Cancel",
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
{
|
||||
"dashboard": "Dashboard",
|
||||
"section-general": "عام",
|
||||
"general/dashboard": "اللوحة الرئيسية",
|
||||
"general/homepage": "الصفحة الرئيسية",
|
||||
"general/navigation": "التصفح",
|
||||
"general/languages": "اللغات",
|
||||
"general/sounds": "الأصوات",
|
||||
"general/social": "شبكات التواصل",
|
||||
|
||||
"section-manage": "إدارة",
|
||||
"manage/categories": "الأقسام",
|
||||
@@ -22,17 +17,22 @@
|
||||
|
||||
"section-settings": "إعدادات",
|
||||
"settings/general": "عامة",
|
||||
"settings/homepage": "Home Page",
|
||||
"settings/navigation": "Navigation",
|
||||
"settings/reputation": "السمعة",
|
||||
"settings/email": "البريد الإلكتروني",
|
||||
"settings/user": "الأعضاء",
|
||||
"settings/group": "المجموعات",
|
||||
"settings/user": "Users",
|
||||
"settings/group": "Groups",
|
||||
"settings/guest": "الزوار",
|
||||
"settings/uploads": "الرفع",
|
||||
"settings/post": "المشاركة",
|
||||
"settings/chat": "الدردشة",
|
||||
"settings/languages": "Languages",
|
||||
"settings/post": "Posts",
|
||||
"settings/chat": "Chats",
|
||||
"settings/pagination": "ترقيم الصفحات",
|
||||
"settings/tags": "الكلمات المفتاحية",
|
||||
"settings/notifications": "التنبيهات",
|
||||
"settings/sounds": "Sounds",
|
||||
"settings/social": "Social",
|
||||
"settings/cookies": "Cookies",
|
||||
"settings/web-crawler": "Web Crawler",
|
||||
"settings/sockets": "Sockets",
|
||||
|
||||
@@ -15,14 +15,20 @@
|
||||
"headers.acah": "Access-Control-Allow-Headers",
|
||||
"hsts": "Strict Transport Security",
|
||||
"hsts.enabled": "Enabled HSTS (recommended)",
|
||||
"hsts.maxAge": "HSTS Max Age",
|
||||
"hsts.subdomains": "Include subdomains in HSTS header",
|
||||
"hsts.preload": "Allow preloading of HSTS header",
|
||||
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
|
||||
"traffic-management": "Traffic Management",
|
||||
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
|
||||
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
|
||||
"traffic.enable": "Enable Traffic Management",
|
||||
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
|
||||
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
|
||||
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
|
||||
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
|
||||
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
|
||||
|
||||
"sockets.settings": "WebSocket Settings",
|
||||
"sockets.max-attempts": "Max Reconnection Attempts",
|
||||
"sockets.default-placeholder": "Default: %1",
|
||||
"sockets.delay": "Reconnection Delay"
|
||||
}
|
||||
@@ -1,35 +1,41 @@
|
||||
{
|
||||
"site-settings": "Site Settings",
|
||||
"title": "Site Title",
|
||||
"title.url": "URL",
|
||||
"site-settings": "اعدادات الموقع",
|
||||
"title": "عنوان الموقع",
|
||||
"title.short": "عنوان قصير",
|
||||
"title.short-placeholder": "ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي",
|
||||
"title.url": "الرابط",
|
||||
"title.url-placeholder": "The URL of the site title",
|
||||
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
|
||||
"title.name": "Your Community Name",
|
||||
"title.name": "اسم المنتدي",
|
||||
"title.show-in-header": "Show Site Title in Header",
|
||||
"browser-title": "Browser Title",
|
||||
"browser-title": "عنوان المتصفح",
|
||||
"browser-title-help": "If no browser title is specified, the site title will be used",
|
||||
"title-layout": "Title Layout",
|
||||
"title-layout-help": "Define how the browser title will be structured ie. {pageTitle} | {browserTitle}",
|
||||
"description.placeholder": "A short description about your community",
|
||||
"description": "Site Description",
|
||||
"keywords": "Site Keywords",
|
||||
"description": "وصف الموقع",
|
||||
"keywords": "الكلمات الدليله للموقع",
|
||||
"keywords-placeholder": "Keywords describing your community, comma-separated",
|
||||
"logo": "Site Logo",
|
||||
"logo.image": "Image",
|
||||
"logo": "شعار الموقع",
|
||||
"logo.image": "صورة",
|
||||
"logo.image-placeholder": "Path to a logo to display on forum header",
|
||||
"logo.upload": "Upload",
|
||||
"logo.url": "URL",
|
||||
"logo.upload": "رفع",
|
||||
"logo.url": "الرابط",
|
||||
"logo.url-placeholder": "The URL of the site logo",
|
||||
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index.",
|
||||
"logo.alt-text": "Alt Text",
|
||||
"logo.alt-text": "نص بديل",
|
||||
"log.alt-text-placeholder": "Alternative text for accessibility",
|
||||
"favicon": "Favicon",
|
||||
"favicon.upload": "Upload",
|
||||
"favicon": "صورة المفضله",
|
||||
"favicon.upload": "رفع",
|
||||
"touch-icon": "Homescreen/Touch Icon",
|
||||
"touch-icon.upload": "Upload",
|
||||
"touch-icon.upload": "رفع",
|
||||
"touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
|
||||
"outgoing-links": "Outgoing Links",
|
||||
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
|
||||
"search-default-sort-by": "Search default sort by",
|
||||
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page"
|
||||
}
|
||||
"search-default-sort-by": "الترتيب الافتراضي للبحث",
|
||||
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
|
||||
"site-colors": "Site Color Metadata",
|
||||
"theme-color": "لون الثيم",
|
||||
"background-color": "لون الخلفية",
|
||||
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"private-groups": "Private Groups",
|
||||
"private-groups.help": "If enabled, joining of groups requires the approval of the group owner <em>(Default: enabled)</em>",
|
||||
"private-groups.warning": "<strong>Beware!</strong> If this option is disabled and you have private groups, they automatically become public.",
|
||||
"allow-multiple-badges": "Allow Multiple Badges",
|
||||
"allow-multiple-badges-help": "This flag can be used to allow users to select multiple group badges, requires theme support.",
|
||||
"max-name-length": "Maximum Group Name Length",
|
||||
"max-title-length": "Maximum Group Title Length",
|
||||
|
||||
6
public/language/ar/admin/settings/languages.json
Normal file
6
public/language/ar/admin/settings/languages.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"language-settings": "اعدادات اللغة",
|
||||
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
|
||||
"default-language": "اللغة الافتراضية",
|
||||
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
|
||||
}
|
||||
@@ -42,6 +42,7 @@
|
||||
"unread.cutoff": "Unread cutoff days",
|
||||
"unread.min-track-last": "Minimum posts in topic before tracking last read",
|
||||
"recent": "Recent Settings",
|
||||
"recent.max-topics": "Maximum topics on /recent",
|
||||
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
|
||||
"signature": "Signature Settings",
|
||||
"signature.disable": "Disable signatures",
|
||||
|
||||
9
public/language/ar/admin/settings/sounds.json
Normal file
9
public/language/ar/admin/settings/sounds.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"notifications": "التنبيهات",
|
||||
"chat-messages": "Chat Messages",
|
||||
"play-sound": "Play",
|
||||
"incoming-message": "Incoming Message",
|
||||
"outgoing-message": "Outgoing Message",
|
||||
"upload-new-sound": "Upload New Sound",
|
||||
"saved": "Settings Saved"
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"tag": "Tag Settings",
|
||||
"link-to-manage": "Manage Tags",
|
||||
"min-per-topic": "Minimum Tags per Topic",
|
||||
"max-per-topic": "Maximum Tags per Topic",
|
||||
"min-length": "Minimum Tag Length",
|
||||
"max-length": "Maximum Tag Length",
|
||||
"goto-manage": "Click here to visit the tag management page.",
|
||||
"related-topics": "Related Topics",
|
||||
"max-related-topics": "Maximum related topics to display (if supported by theme)"
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
"allow-login-with.email": "البريد الالكتروني فقط",
|
||||
"account-settings": "إعدادت الحساب",
|
||||
"gdpr_enabled": "Enable GDPR consent collection",
|
||||
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
|
||||
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
|
||||
"disable-username-changes": "عدم السماح بتغيير اسم المستخدم",
|
||||
"disable-email-changes": "عدم السماح بتغيير البريد الالكتروني",
|
||||
"disable-password-changes": "عدم السماح بتغيير كلمة المرور",
|
||||
@@ -76,4 +76,4 @@
|
||||
"categoryWatchState.watching": "Watching",
|
||||
"categoryWatchState.notwatching": "Not Watching",
|
||||
"categoryWatchState.ignoring": "Ignoring"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,54 +1,57 @@
|
||||
{
|
||||
"state": "State",
|
||||
"reporter": "Reporter",
|
||||
"reported-at": "Reported At",
|
||||
"description": "Description",
|
||||
"state": "الحالة",
|
||||
"reporter": "المُبلغ",
|
||||
"reported-at": "وقت التبليغ",
|
||||
"description": "الوصف",
|
||||
"no-flags": "Hooray! No flags found.",
|
||||
"assignee": "Assignee",
|
||||
"update": "Update",
|
||||
"updated": "Updated",
|
||||
"assignee": "المحال إليه",
|
||||
"update": "تحديث",
|
||||
"updated": "تم التحديث",
|
||||
"target-purged": "The content this flag referred to has been purged and is no longer available.",
|
||||
|
||||
"graph-label": "Daily Flags",
|
||||
"quick-filters": "Quick Filters",
|
||||
"filter-active": "There are one or more filters active in this list of flags",
|
||||
"filter-reset": "Remove Filters",
|
||||
"filters": "Filter Options",
|
||||
"filter-reset": "ازالة الفلاتر",
|
||||
"filters": "خيارات الفلتر",
|
||||
"filter-reporterId": "Reporter UID",
|
||||
"filter-targetUid": "Flagged UID",
|
||||
"filter-type": "Flag Type",
|
||||
"filter-type-all": "All Content",
|
||||
"filter-type-post": "Post",
|
||||
"filter-type-user": "User",
|
||||
"filter-state": "State",
|
||||
"filter-type": "عنوان العلامة",
|
||||
"filter-type-all": "كل المحتوي",
|
||||
"filter-type-post": "مشاركة",
|
||||
"filter-type-user": "مستخدم",
|
||||
"filter-state": "الحالة",
|
||||
"filter-assignee": "Assignee UID",
|
||||
"filter-cid": "Category",
|
||||
"filter-quick-mine": "Assigned to me",
|
||||
"filter-cid-all": "All categories",
|
||||
"apply-filters": "Apply Filters",
|
||||
|
||||
"quick-links": "Quick Links",
|
||||
"quick-actions": "اجراءات سريعه",
|
||||
"flagged-user": "Flagged User",
|
||||
"view-profile": "View Profile",
|
||||
"start-new-chat": "Start New Chat",
|
||||
"view-profile": "مشاهدة الملف الشخصي",
|
||||
"start-new-chat": "بدء محادثه جديده",
|
||||
"go-to-target": "View Flag Target",
|
||||
"assign-to-me": "Assign To Me",
|
||||
"delete-post": "حذف المشاركة",
|
||||
"purge-post": "Purge Post",
|
||||
"restore-post": "استرجاع المشاركة",
|
||||
|
||||
"user-view": "View Profile",
|
||||
"user-edit": "Edit Profile",
|
||||
"user-view": "مشاهدة الملف الشخصي",
|
||||
"user-edit": "تعديل الملف الشخصي",
|
||||
|
||||
"notes": "Flag Notes",
|
||||
"add-note": "Add Note",
|
||||
"add-note": "اضافة ملاحظة",
|
||||
"no-notes": "No shared notes.",
|
||||
|
||||
"history": "Flag History",
|
||||
"back": "Back to Flags List",
|
||||
"history": "Account & Flag History",
|
||||
"no-history": "No flag history.",
|
||||
|
||||
"state-all": "All states",
|
||||
"state-open": "New/Open",
|
||||
"state-wip": "Work in Progress",
|
||||
"state-resolved": "Resolved",
|
||||
"state-rejected": "Rejected",
|
||||
"state-resolved": "تم حلها",
|
||||
"state-rejected": "تم رفضها",
|
||||
"no-assignee": "Not Assigned",
|
||||
"note-added": "Note Added",
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"header.unread": "غير مقروء",
|
||||
"header.tags": "وسم",
|
||||
"header.popular": "الأكثر شهرة",
|
||||
"header.top": "Top",
|
||||
"header.users": "المستخدمين",
|
||||
"header.groups": "المجموعات",
|
||||
"header.chats": "المحادثات",
|
||||
@@ -53,6 +54,7 @@
|
||||
"posts": "المشاركات",
|
||||
"best": "الأفضل",
|
||||
"votes": "Votes",
|
||||
"voters": "Voters",
|
||||
"upvoters": "الموافقين",
|
||||
"upvoted": "مصوت بالموجب",
|
||||
"downvoters": "مصوتين بالسالب",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"chat.recent-chats": "آخر الدردشات",
|
||||
"chat.contacts": "الأصدقاء",
|
||||
"chat.message-history": "تاريخ الرسائل",
|
||||
"chat.message-deleted": "Message Deleted",
|
||||
"chat.options": "Chat options",
|
||||
"chat.pop-out": "افتح الدردشة في نافذة خاصة",
|
||||
"chat.minimize": "Minimize",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
|
||||
"user_edited_post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
|
||||
@@ -42,6 +43,9 @@
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"flag_assigned_to_you": "تم تخصيص العلامة 1% لك",
|
||||
"post_awaiting_review": "Post awaiting review",
|
||||
"profile-exported": "<strong>%1</strong> profile exported, click to download",
|
||||
"posts-exported": "<strong>%1</strong> posts exported, click to download",
|
||||
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
|
||||
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
|
||||
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
|
||||
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
|
||||
@@ -53,6 +57,7 @@
|
||||
"notificationType_upvote": "عندما يوافقك احدهم على منشورك",
|
||||
"notificationType_new-topic": "When someone you follow posts a topic",
|
||||
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
|
||||
"notificationType_post-edit": "When a post is edited in a topic you are watching",
|
||||
"notificationType_follow": "When someone starts following you",
|
||||
"notificationType_new-chat": "When you receive a chat message",
|
||||
"notificationType_group-invite": "When you receive a group invite",
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"tags": "الكلمات الدلالية",
|
||||
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
|
||||
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
|
||||
"no_tags": "لا يوجد كلمات دلالية بعد."
|
||||
"no_tags": "لا يوجد كلمات دلالية بعد.",
|
||||
"select_tags": "Select Tags"
|
||||
}
|
||||
@@ -36,7 +36,8 @@
|
||||
"ban-ip": "Ban IP",
|
||||
"view-history": "Edit History",
|
||||
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
|
||||
"flag_title": "إشعار بمشاركة مخلة.",
|
||||
"flag_post": "Flag this post",
|
||||
"flag_user": "Flag this user",
|
||||
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
|
||||
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
|
||||
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
|
||||
@@ -99,11 +100,15 @@
|
||||
"fork_pid_count": "1% مشاركة محددة",
|
||||
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
|
||||
"delete_posts_instruction": "Click the posts you want to delete/purge",
|
||||
"merge_topics_instruction": "Click the topics you want to merge",
|
||||
"merge_topics_instruction": "Click the topics you want to merge or search for them",
|
||||
"merge-topic-list-title": "List of topics to be merged",
|
||||
"merge-options": "Merge options",
|
||||
"merge-select-main-topic": "Select the main topic",
|
||||
"merge-new-title-for-topic": "New title for topic",
|
||||
"move_posts_instruction": "Click the posts you want to move",
|
||||
"change_owner_instruction": "Click the posts you want to assign to another user",
|
||||
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
|
||||
"composer.handle_placeholder": "اﻹسم",
|
||||
"composer.handle_placeholder": "Enter your name/handle here",
|
||||
"composer.discard": "نبذ التغييرات",
|
||||
"composer.submit": "حفظ",
|
||||
"composer.replying_to": "الرد على %1",
|
||||
@@ -134,6 +139,9 @@
|
||||
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
|
||||
"diffs.current-revision": "current revision",
|
||||
"diffs.original-revision": "original revision",
|
||||
"diffs.restore": "Restore this revision",
|
||||
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
|
||||
"diffs.post-restored": "Post successfully restored to earlier revision",
|
||||
"timeago_later": "%1 later",
|
||||
"timeago_earlier": "%1 earlier"
|
||||
}
|
||||
@@ -8,13 +8,20 @@
|
||||
"email": "البريد الإلكتروني",
|
||||
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
|
||||
"account_info": "معلومات الحساب",
|
||||
"admin_actions_label": "Administrative Actions",
|
||||
"ban_account": "حظر الحساب",
|
||||
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
|
||||
"unban_account": "إزالة حظر الحساب",
|
||||
"delete_account": "حذف الحساب",
|
||||
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
|
||||
"delete_this_account_confirm": "هل انت متأكد من رغبتك بحذف هذا الحساب؟ <br /> <strong>هذا الإجراء لا رجعة فيه ولن تتمكن من استرداد أي بيانات</strong><br /><br />",
|
||||
"delete_account_as_admin": "Delete <strong>Account</strong>",
|
||||
"delete_content": "Delete Account <strong>Content</strong>",
|
||||
"delete_all": "Delete <strong>Account</strong> and <strong>Content</strong>",
|
||||
"delete_account_confirm": "Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
|
||||
"delete_account_content_confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"delete_all_confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"account-deleted": "تم حذف الحساب",
|
||||
"account-content-deleted": "Account content deleted",
|
||||
"fullname": "الاسم الكامل",
|
||||
"website": "الموقع الإلكتروني",
|
||||
"location": "الموقع",
|
||||
@@ -144,6 +151,7 @@
|
||||
"info.ban-history": "سجل الحظر الأحدث",
|
||||
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
|
||||
"info.banned-until": "محظور حتى %1",
|
||||
"info.banned-expiry": "Expiry",
|
||||
"info.banned-permanently": "محظور بشكل دائم",
|
||||
"info.banned-reason-label": "سبب",
|
||||
"info.banned-no-reason": "لم يتم إعطاء سبب.",
|
||||
@@ -170,7 +178,10 @@
|
||||
"consent.right_to_erasure_description": "At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account <strong>and</strong> your content, please contact the administrative team for this website.",
|
||||
"consent.right_to_data_portability": "You have the Right to Data Portability",
|
||||
"consent.right_to_data_portability_description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
|
||||
"consent.export_profile": "Export Profile (.csv)",
|
||||
"consent.export_profile": "Export Profile (.json)",
|
||||
"consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.",
|
||||
"consent.export_uploads": "Export Uploaded Content (.zip)",
|
||||
"consent.export_posts": "Export Posts (.csv)"
|
||||
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
|
||||
"consent.export_posts": "Export Posts (.csv)",
|
||||
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"events": "Събития",
|
||||
"no-events": "Няма събития",
|
||||
"control-panel": "Контролен панел за събитията",
|
||||
"delete-events": "Изтриване на събитията",
|
||||
"filters": "Филтри",
|
||||
"filters-apply": "Прилагане на филтрите",
|
||||
"filter-type": "Вид събитие",
|
||||
|
||||
79
public/language/bg/admin/dashboard.json
Normal file
79
public/language/bg/admin/dashboard.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"forum-traffic": "Трафик на форума",
|
||||
"page-views": "Преглеждания на страниците",
|
||||
"unique-visitors": "Уникални посетители",
|
||||
"new-users": "Нови потребители",
|
||||
"posts": "Публикации",
|
||||
"topics": "Теми",
|
||||
"page-views-seven": "Последните 7 дни",
|
||||
"page-views-thirty": "Последните 30 дни",
|
||||
"page-views-last-day": "Последните 24 часа",
|
||||
"page-views-custom": "Интервал по избор",
|
||||
"page-views-custom-start": "Начална дата",
|
||||
"page-views-custom-end": "Крайна дата",
|
||||
"page-views-custom-help": "Въведете интервал от дати, за които искате да видите преглежданията на страниците. Ако не се появи календар за избор, можете да въведете датите във формат: <code>ГГГГ-ММ-ДД</code>",
|
||||
"page-views-custom-error": "Моля, въведете правилен интервал от дати във формата: <code>ГГГГ-ММ-ДД</code>",
|
||||
|
||||
"stats.yesterday": "Вчера",
|
||||
"stats.today": "Днес",
|
||||
"stats.last-week": "Миналата седмица",
|
||||
"stats.this-week": "Тази седмица",
|
||||
"stats.last-month": "Миналия месец",
|
||||
"stats.this-month": "Този месец",
|
||||
"stats.all": "От началото",
|
||||
|
||||
"updates": "Обновления",
|
||||
"running-version": "Вие използвате <strong>NodeBB версия <span id=\"version\">%1</span></strong>.",
|
||||
"keep-updated": "Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.",
|
||||
"up-to-date": "<p>Вие използвате <strong>най-новата версия</strong> <i class=\"fa fa-check\"></i></p>",
|
||||
"upgrade-available": "<p>Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
|
||||
"prerelease-upgrade-available": "<p>Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
|
||||
"prerelease-warning": "<p>Това е версия за <strong>предварителен преглед</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i></p>",
|
||||
"running-in-development": "<span>Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.</span>",
|
||||
"latest-lookup-failed": "<p>Не може да бъде извършена проверка за последната налична версия на NodeBB</p>",
|
||||
|
||||
"notices": "Забележки",
|
||||
"restart-not-required": "Не се изисква рестартиране",
|
||||
"restart-required": "Изисква се рестартиране",
|
||||
"search-plugin-installed": "Добавката за търсене е инсталирана",
|
||||
"search-plugin-not-installed": "Добавката за търсене не е инсталирана",
|
||||
"search-plugin-tooltip": "Инсталирайте добавка за търсене от страницата с добавките, за да включите функционалността за търсене",
|
||||
|
||||
"control-panel": "Системен контрол",
|
||||
"rebuild-and-restart": "Повторно изграждане и рестартиране",
|
||||
"restart": "Рестартиране",
|
||||
"restart-warning": "Повторното изграждане и рестартирането на NodeBB ще прекъснат всички връзки за няколко секунди.",
|
||||
"restart-disabled": "Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.",
|
||||
"maintenance-mode": "Режим на профилактика",
|
||||
"maintenance-mode-title": "Щракнете тук, за да зададете режим на профилактика на NodeBB",
|
||||
"realtime-chart-updates": "Актуализации на таблиците в реално време",
|
||||
|
||||
"active-users": "Дейни потребители",
|
||||
"active-users.users": "Потребители",
|
||||
"active-users.guests": "Гости",
|
||||
"active-users.total": "Общо",
|
||||
"active-users.connections": "Връзки",
|
||||
|
||||
"anonymous-registered-users": "Анонимни към регистрирани потребители",
|
||||
"anonymous": "Анонимни",
|
||||
"registered": "Регистрирани",
|
||||
|
||||
"user-presence": "Присъствие на потребителите ",
|
||||
"on-categories": "В списъка с категории",
|
||||
"reading-posts": "Четящи публикации",
|
||||
"browsing-topics": "Разглеждащи теми",
|
||||
"recent": "Скорошни",
|
||||
"unread": "Непрочетени",
|
||||
|
||||
"high-presence-topics": "Теми с най-голяма присъственост",
|
||||
|
||||
"graphs.page-views": "Преглеждания на страниците",
|
||||
"graphs.page-views-registered": "Преглеждания на страниците от регистрирани потребители",
|
||||
"graphs.page-views-guest": "Преглеждания на страниците от гости",
|
||||
"graphs.page-views-bot": "Преглеждания на страниците от ботове",
|
||||
"graphs.unique-visitors": "Уникални посетители",
|
||||
"graphs.registered-users": "Регистрирани потребители",
|
||||
"graphs.anonymous-users": "Анонимни потребители",
|
||||
"last-restarted-by": "Последно рестартиране от",
|
||||
"no-users-browsing": "Няма разглеждащи потребители"
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"you-are-on": "Информация — Вие сте на <strong>%1:%2</strong>",
|
||||
"you-are-on": "Вие сте на <strong>%1:%2</strong>",
|
||||
"ip": "IP <strong>%1</strong>",
|
||||
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
|
||||
"host": "сървър",
|
||||
"pid": "ид. на процеса",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"num-recent-replies": "Брой на скорошните отговори",
|
||||
"ext-link": "Външна връзка",
|
||||
"is-section": "Използване на тази категория като раздел",
|
||||
"tag-whitelist": "Списък от разрешени етикети",
|
||||
"upload-image": "Качване на изображение",
|
||||
"delete-image": "Премахване",
|
||||
"category-image": "Изображение на категорията",
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
"manual-run": "Ръчно разпращане на резюмето:",
|
||||
|
||||
"no-delivery-data": "Няма данни за доставката"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"global": "Глобални",
|
||||
"global.no-users": "Няма глобални правомощия за отделни потребители.",
|
||||
"admin": "Администратор",
|
||||
"group-privileges": "Правомощия за групите",
|
||||
"user-privileges": "Правомощия за потребителите",
|
||||
"chat": "Разговор",
|
||||
@@ -31,5 +32,11 @@
|
||||
"downvote-posts": "Отрицателно гласуване за публикации",
|
||||
"delete-topics": "Изтриване на теми",
|
||||
"purge": "Изчистване",
|
||||
"moderate": "Модериране"
|
||||
"moderate": "Модериране",
|
||||
|
||||
"admin-dashboard": "Табло",
|
||||
"admin-categories": "Категории",
|
||||
"admin-privileges": "Правомощия",
|
||||
"admin-users": "Потребители",
|
||||
"admin-settings": "Настройки"
|
||||
}
|
||||
@@ -3,17 +3,16 @@
|
||||
"bg-color": "Цвят на фона",
|
||||
"text-color": "Цвят на текста",
|
||||
"create-modify": "Създаване и редактиране на етикети",
|
||||
"description": "Изберете етикетите чрез щракване и/или влачене. Използвайте „Shift“, за да изберете няколко етикета.",
|
||||
"description": "Изберете етикетите чрез щракване или влачене. Използвайте <code>CTRL</code>, за да изберете няколко етикета.",
|
||||
"create": "Създаване на етикет",
|
||||
"modify": "Редактиране на етикети",
|
||||
"rename": "Преименуване на етикети",
|
||||
"delete": "Изтриване на избраните етикети",
|
||||
"search": "Търсене на етикети…",
|
||||
"settings": "Натиснете <a href=\"%1\">тук</a>, за да отворите страницата с настройки на етикета.",
|
||||
"settings": "Настройки за етикетите",
|
||||
"name": "Име на етикета",
|
||||
|
||||
"alerts.editing-multiple": "Редактиране на множество етикети",
|
||||
"alerts.editing-x": "Редактиране на етикета „%1“",
|
||||
"alerts.editing": "Редактиране на етикет(и)",
|
||||
"alerts.confirm-delete": "Наистина ли искате да изтриете избраните етикети?",
|
||||
"alerts.update-success": "Етикетът е променен!"
|
||||
}
|
||||
@@ -12,8 +12,9 @@
|
||||
"unban": "Деблокиране на потребителя/ите",
|
||||
"reset-lockout": "Нулиране на заключването",
|
||||
"reset-flags": "Анулиране на докладите",
|
||||
"delete": "Изтриване на потребителя/ите",
|
||||
"purge": "Изтриване на потребителя/ите и съдържанието",
|
||||
"delete": "Изтриване на <strong>потребителя/ите</strong>",
|
||||
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
|
||||
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
|
||||
"download-csv": "Сваляне във формат „CSV“",
|
||||
"manage-groups": "Управление на групите",
|
||||
"add-group": "Добавяне на група",
|
||||
@@ -93,9 +94,11 @@
|
||||
"alerts.validate-email-success": "Е-пощите са проверени",
|
||||
"alerts.validate-force-password-reset-success": "Паролата на потребителя (или паролите на потребителите) беше подновена и сесията му беше прекратена.",
|
||||
"alerts.password-reset-confirm": "Искате ли да изпратите е-писмо/а за възстановяване на паролата на този/тези потребител(и)?",
|
||||
"alerts.confirm-delete": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.",
|
||||
"alerts.confirm-delete": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите</strong>?</p> <p>Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.</p>",
|
||||
"alerts.delete-success": "Потребителят/ите е/са изтрит(и)!",
|
||||
"alerts.confirm-purge": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!",
|
||||
"alerts.confirm-delete-content": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>съдържанието</strong> на този потребител или тези потребители?</p> <p>Това действие е необратимо! Профилите на потребителите ще останат, но всички техни публикации и теми ще бъдат изтрити.</p>",
|
||||
"alerts.delete-content-success": "Съдържанието на потребителя/ите е изтрито!",
|
||||
"alerts.confirm-purge": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите и неговото/тяхното съдържание</strong>?</p> <p>Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!</p>",
|
||||
"alerts.create": "Създаване на потребител",
|
||||
"alerts.button-create": "Създаване",
|
||||
"alerts.button-cancel": "Отказ",
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
{
|
||||
"dashboard": "Табло",
|
||||
"section-general": "Общи",
|
||||
"general/dashboard": "Табло",
|
||||
"general/homepage": "Начало",
|
||||
"general/navigation": "Навигация",
|
||||
"general/languages": "Езици",
|
||||
"general/sounds": "Звуци",
|
||||
"general/social": "Обществени",
|
||||
|
||||
"section-manage": "Управление",
|
||||
"manage/categories": "Категории",
|
||||
@@ -22,17 +17,22 @@
|
||||
|
||||
"section-settings": "Настройки",
|
||||
"settings/general": "Общи",
|
||||
"settings/homepage": "Начална страница",
|
||||
"settings/navigation": "Навигация",
|
||||
"settings/reputation": "Репутация",
|
||||
"settings/email": "Е-поща",
|
||||
"settings/user": "Потребител",
|
||||
"settings/group": "Група",
|
||||
"settings/user": "Потребители",
|
||||
"settings/group": "Групи",
|
||||
"settings/guest": "Гости",
|
||||
"settings/uploads": "Качвания",
|
||||
"settings/post": "Публикация",
|
||||
"settings/chat": "Разговор",
|
||||
"settings/languages": "Езици",
|
||||
"settings/post": "Публикации",
|
||||
"settings/chat": "Разговори",
|
||||
"settings/pagination": "Странициране",
|
||||
"settings/tags": "Етикети",
|
||||
"settings/notifications": "Известия",
|
||||
"settings/sounds": "Звуци",
|
||||
"settings/social": "Обществени",
|
||||
"settings/cookies": "Бисквитки",
|
||||
"settings/web-crawler": "Обхождач на уеб страници",
|
||||
"settings/sockets": "Сокети",
|
||||
|
||||
@@ -15,14 +15,20 @@
|
||||
"headers.acah": "Заглавки за разрешаване на управлението на достъпа",
|
||||
"hsts": "Стриктна транспортна сигурност",
|
||||
"hsts.enabled": "Включване на HSTS (препоръчително)",
|
||||
"hsts.maxAge": "Максимална възраст на HSTS",
|
||||
"hsts.subdomains": "Включване на поддомейните в заглавката на HSTS",
|
||||
"hsts.preload": "Позволяване на предварителното зареждане на заглавката на HSTS",
|
||||
"hsts.help": "Ако това е включено, за този уеб ще бъде настроена заглавка за HSTS. Можете да изберете дали да включите поддомейните и дали за заредите предварително флаговете в заглавката си. Ако не знаете какво да направите, най-добре не избирайте нищо. <a href=\"%1\">Още информация<i class=\"fa fa-external-link\"></i></a>",
|
||||
"traffic-management": "Управление на трафика",
|
||||
"traffic.help": "NodeBB има вграден модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
|
||||
"traffic.help": "NodeBB използва модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
|
||||
"traffic.enable": "Включване на управлението на трафика",
|
||||
"traffic.event-lag": "Граница на забавяне в цикъла на събитията (в милисекунди)",
|
||||
"traffic.event-lag-help": "Намаляването на тази стойност ще намали времето за изчакване при зареждане на страници, но също така ще предизвика по-често показване на съобщението „прекомерно натоварване“ на повече потребители. (Нужно е рестартиране.)",
|
||||
"traffic.lag-check-interval": "Интервал на проверка (в милисекунди)",
|
||||
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)"
|
||||
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)",
|
||||
|
||||
"sockets.settings": "Настройки за WebSocket",
|
||||
"sockets.max-attempts": "Максимален брой опити за повторно свързване",
|
||||
"sockets.default-placeholder": "По подразбиране: %1",
|
||||
"sockets.delay": "Забавяне при повторно свързване"
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
{
|
||||
"site-settings": "Настройки на уеб сайта",
|
||||
"title": "Заглавие на уеб сайта",
|
||||
"title.short": "Кратко заглавие",
|
||||
"title.short-placeholder": "Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта",
|
||||
"title.url": "Адрес",
|
||||
"title.url-placeholder": "Адресът на заглавието на уеб сайта",
|
||||
"title.url-help": "При щракване върху заглавието, потребителите ще бъдат изпратени на този адрес. Ако бъде оставено празно, потребителите ще бъдат изпращани на началната страница на форума.",
|
||||
@@ -31,5 +33,9 @@
|
||||
"outgoing-links": "Изходящи връзки",
|
||||
"outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки",
|
||||
"search-default-sort-by": "Подредба по подразбиране при търсене",
|
||||
"outgoing-links.whitelist": "Домейни, за които да не се показва предупредителната страница"
|
||||
}
|
||||
"outgoing-links.whitelist": "Домейни, за които да не се показва предупредителната страница",
|
||||
"site-colors": "Мета-данни за цвета на уеб сайта",
|
||||
"theme-color": "Цвят на темата",
|
||||
"background-color": "Фонов цвят",
|
||||
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"private-groups": "Частни групи",
|
||||
"private-groups.help": "Ако е включено, присъединяването към групи ще изисква одобрение от собственик на групата. <em>(По подразбиране: включено)</em>",
|
||||
"private-groups.warning": "<strong>Внимание!</strong> Ако това е изключено и имате частни групи, те автоматично ще станат публични.",
|
||||
"allow-multiple-badges": "Позволяване на множество значки",
|
||||
"allow-multiple-badges-help": "Това може да се използва, за да позволи на потребителите да избират множество значки за групите. Изисква поддържа на теми.",
|
||||
"max-name-length": "Минимална дължина на името на група",
|
||||
"max-title-length": "Максимална дължина на заглавието на група",
|
||||
|
||||
8
public/language/bg/admin/settings/homepage.json
Normal file
8
public/language/bg/admin/settings/homepage.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"home-page": "Начална страница",
|
||||
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
|
||||
"home-page-route": "Път на началната страница",
|
||||
"custom-route": "Персонализиран път",
|
||||
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
|
||||
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)"
|
||||
}
|
||||
6
public/language/bg/admin/settings/languages.json
Normal file
6
public/language/bg/admin/settings/languages.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"language-settings": "Езикови настройки",
|
||||
"description": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
|
||||
"default-language": "Език по подразбиране",
|
||||
"auto-detect": "Автоматично разпознаване на езика за гостите"
|
||||
}
|
||||
23
public/language/bg/admin/settings/navigation.json
Normal file
23
public/language/bg/admin/settings/navigation.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"icon": "Иконка:",
|
||||
"change-icon": "промяна",
|
||||
"route": "Маршрут:",
|
||||
"tooltip": "Подсказка:",
|
||||
"text": "Текст:",
|
||||
"text-class": "Текстов клас: <small>незадължително</small>",
|
||||
"class": "Клас: <small>незадължително</small>",
|
||||
"id": "Идентификатор: <small>незадължително</small>",
|
||||
|
||||
"properties": "Свойства:",
|
||||
"groups": "Групи:",
|
||||
"open-new-window": "Отваряне в нов прозорец",
|
||||
|
||||
"btn.delete": "Изтриване",
|
||||
"btn.disable": "Изключване",
|
||||
"btn.enable": "Включване",
|
||||
|
||||
"available-menu-items": "Налични елементи за менюто",
|
||||
"custom-route": "Персонализиран маршрут",
|
||||
"core": "ядро",
|
||||
"plugin": "добавка"
|
||||
}
|
||||
@@ -42,6 +42,7 @@
|
||||
"unread.cutoff": "Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)",
|
||||
"unread.min-track-last": "Минимален брой публикации в темата, след което да започва следене на последно прочетената",
|
||||
"recent": "Настройки за скорошните",
|
||||
"recent.max-topics": "Максимален брой теми в скорошните",
|
||||
"recent.categoryFilter.disable": "Изключване на филтрирането на темите в пренебрегваните категории на страницата /recent",
|
||||
"signature": "Настройки за подписите",
|
||||
"signature.disable": "Забраняване на подписите",
|
||||
|
||||
5
public/language/bg/admin/settings/social.json
Normal file
5
public/language/bg/admin/settings/social.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"post-sharing": "Споделяне на публикации",
|
||||
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации.",
|
||||
"save-success": "Мрежите за споделяне на публикации са запазени успешно!"
|
||||
}
|
||||
9
public/language/bg/admin/settings/sounds.json
Normal file
9
public/language/bg/admin/settings/sounds.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"notifications": "Известия",
|
||||
"chat-messages": "Съобщения в разговори",
|
||||
"play-sound": "Пускане",
|
||||
"incoming-message": "Входящо съобщение",
|
||||
"outgoing-message": "Изходящо съобщение",
|
||||
"upload-new-sound": "Качване на нов звук",
|
||||
"saved": "Настройките са запазени"
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"tag": "Настройки за етикетите",
|
||||
"link-to-manage": "Управление на етикетите",
|
||||
"min-per-topic": "Минимален брой етикети за тема",
|
||||
"max-per-topic": "Максимален брой етикети за тема",
|
||||
"min-length": "Минимална дължина на етикетите",
|
||||
"max-length": "Максимална дължина на етикетите",
|
||||
"goto-manage": "Щракнете тук, за да отворите страницата за управление на етикетите.",
|
||||
"related-topics": "Свързани теми",
|
||||
"max-related-topics": "Максимален брой свързани теми, които да бъдат показвани (ако това се поддържа от темата)"
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
"allow-login-with.email": "Само е-поща",
|
||||
"account-settings": "Настройки на акаунта",
|
||||
"gdpr_enabled": "Включване на искането за съгласие с ОРЗД",
|
||||
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
|
||||
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
|
||||
"disable-username-changes": "Забраняване на промяната на потребителското име",
|
||||
"disable-email-changes": "Забраняване на промяната на е-пощата",
|
||||
"disable-password-changes": "Забраняване на промяната на паролата",
|
||||
@@ -76,4 +76,4 @@
|
||||
"categoryWatchState.watching": "Да се следят",
|
||||
"categoryWatchState.notwatching": "Да не се следят",
|
||||
"categoryWatchState.ignoring": "Да се пренебрегват"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,15 @@
|
||||
"filter-cid-all": "Всички категории",
|
||||
"apply-filters": "Прилагане на филтрите",
|
||||
|
||||
"quick-links": "Бързи връзки",
|
||||
"quick-actions": "Бързи действия",
|
||||
"flagged-user": "Докладван потребител",
|
||||
"view-profile": "Преглед на профила",
|
||||
"start-new-chat": "Започване на нов разговор",
|
||||
"go-to-target": "Преглед на целта на доклада",
|
||||
"assign-to-me": "Назначаване на мен",
|
||||
"delete-post": "Изтриване на публикацията",
|
||||
"purge-post": "Изчистване на публикацията",
|
||||
"restore-post": "Възстановяване на публикацията",
|
||||
|
||||
"user-view": "Преглед на профила",
|
||||
"user-edit": "Редактиране на профила",
|
||||
@@ -40,8 +44,7 @@
|
||||
"add-note": "Добавяне на бележка",
|
||||
"no-notes": "Няма споделени бележки.",
|
||||
|
||||
"history": "История на доклада",
|
||||
"back": "Обратно към списъка с доклади",
|
||||
"history": "Акаунт и история на докладванията",
|
||||
"no-history": "Няма история на доклада.",
|
||||
|
||||
"state-all": "Всички състояния",
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"header.unread": "Непрочетени",
|
||||
"header.tags": "Етикети",
|
||||
"header.popular": "Популярни",
|
||||
"header.top": "Най-харесвани",
|
||||
"header.users": "Потребители",
|
||||
"header.groups": "Групи",
|
||||
"header.chats": "Разговори",
|
||||
@@ -53,6 +54,7 @@
|
||||
"posts": "Публ.",
|
||||
"best": "Най-добри",
|
||||
"votes": "Гласове",
|
||||
"voters": "Гласували",
|
||||
"upvoters": "Гласували положително",
|
||||
"upvoted": "С положителни гласове",
|
||||
"downvoters": "Гласували отрицателно",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"chat.recent-chats": "Скорошни разговори",
|
||||
"chat.contacts": "Контакти",
|
||||
"chat.message-history": "История на съобщенията",
|
||||
"chat.message-deleted": "Съобщението е изтрито",
|
||||
"chat.options": "Настройки на разговора",
|
||||
"chat.pop-out": "Отделяне на разговора в прозорец",
|
||||
"chat.minimize": "Намаляване",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"user_posted_to_dual": "<strong>%1</strong> и <strong>%2</strong> публикуваха отговори на: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> и %2 други публикуваха отговори на: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
|
||||
"user_edited_post": "<strong>%1</strong> редактира публикация в <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> започна да Ви следва.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> и %2 започнаха да Ви следват.",
|
||||
@@ -42,6 +43,9 @@
|
||||
"new_register_multiple": "Има <strong>%1</strong> заявки за регистрация, които очакват да бъдат прегледани.",
|
||||
"flag_assigned_to_you": "<strong>Докладът %1</strong> беше назначен на Вас",
|
||||
"post_awaiting_review": "Публикацията чака да бъде прегледана",
|
||||
"profile-exported": "Профилът на <strong>%1</strong> е изнесен, щракнете за сваляне",
|
||||
"posts-exported": "Публикациите на <strong>%1</strong> са изнесени, щракнете за сваляне",
|
||||
"uploads-exported": "Качванията на <strong>%1</strong> са изнесени, щракнете за сваляне",
|
||||
"email-confirmed": "Е-пощата беше потвърдена",
|
||||
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
|
||||
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
|
||||
@@ -53,6 +57,7 @@
|
||||
"notificationType_upvote": "Когато някой гласува положително за Ваша публикация",
|
||||
"notificationType_new-topic": "Когато някой, когото следвате, публикува тема",
|
||||
"notificationType_new-reply": "Когато бъде публикуван нов отговор в тема, която следвате",
|
||||
"notificationType_post-edit": "Когато бъде редактирана публикация в тема, която следите",
|
||||
"notificationType_follow": "Когато някой започне да Ви следва",
|
||||
"notificationType_new-chat": "Когато получите съобщение в разговор",
|
||||
"notificationType_group-invite": "Когато получите покана за група",
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"tags": "Етикети",
|
||||
"enter_tags_here": "Тук въведете етикети, всеки между %1 и %2 знака.",
|
||||
"enter_tags_here_short": "Въведете етикети...",
|
||||
"no_tags": "Все още няма етикети."
|
||||
"no_tags": "Все още няма етикети.",
|
||||
"select_tags": "Изберете етикети"
|
||||
}
|
||||
@@ -36,7 +36,8 @@
|
||||
"ban-ip": "Блокиране на IP адреса",
|
||||
"view-history": "История на редакциите",
|
||||
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
|
||||
"flag_title": "Докладване на тази публикация до модератор",
|
||||
"flag_post": "Докладване на тази публикация",
|
||||
"flag_user": "Докладване на този потребител",
|
||||
"merged_message": "Тази тема беше слята в <a href=\"/topic/%1\">%2</a>",
|
||||
"deleted_message": "Темата е изтрита. Само потребители с права за управление на темите могат да я видят.",
|
||||
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
|
||||
@@ -99,11 +100,15 @@
|
||||
"fork_pid_count": "Избрани публикации: %1",
|
||||
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
|
||||
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
|
||||
"merge_topics_instruction": "Натиснете темите, които искате да слеете",
|
||||
"merge_topics_instruction": "Щракнете върху темите, които искате да слеете, или ги потърсете",
|
||||
"merge-topic-list-title": "Списък от темите, които ще бъдат слети",
|
||||
"merge-options": "Настройки за сливането",
|
||||
"merge-select-main-topic": "Изберете основната тема",
|
||||
"merge-new-title-for-topic": "Ново заглавие за темата",
|
||||
"move_posts_instruction": "Натиснете публикациите, които искате да преместите",
|
||||
"change_owner_instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
|
||||
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
|
||||
"composer.handle_placeholder": "Име",
|
||||
"composer.handle_placeholder": "Въведете името тук",
|
||||
"composer.discard": "Отхвърляне",
|
||||
"composer.submit": "Публикуване",
|
||||
"composer.replying_to": "Отговор на %1",
|
||||
@@ -130,10 +135,13 @@
|
||||
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
|
||||
"link_back": "Отговор: [%1](%2)",
|
||||
"diffs.title": "История на редакциите",
|
||||
"diffs.description": "Тази публикация има <strong>%1</strong> варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
|
||||
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> варианта.",
|
||||
"diffs.description": "Тази публикация има <strong>%1</strong> версии. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
|
||||
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> версии.",
|
||||
"diffs.current-revision": "текуща версия",
|
||||
"diffs.original-revision": "оригинална версия",
|
||||
"diffs.restore": "Възстановяване на тази версия",
|
||||
"diffs.restore-description": "Към историята на редакциите на тази публикация ще бъде добавена нова версия.",
|
||||
"diffs.post-restored": "Публикацията е възстановена успешно до по-ранна версия",
|
||||
"timeago_later": "%1 по-късно",
|
||||
"timeago_earlier": "%1 по-рано"
|
||||
}
|
||||
@@ -8,13 +8,20 @@
|
||||
"email": "Е-поща",
|
||||
"confirm_email": "Потвърдете е-пощата",
|
||||
"account_info": "Информация за акаунта",
|
||||
"admin_actions_label": "Административни действия",
|
||||
"ban_account": "Блокиране на акаунта",
|
||||
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
|
||||
"unban_account": "Деблокиране на акаунта",
|
||||
"delete_account": "Изтриване на акаунта",
|
||||
"delete_account_confirm": "Наистина ли искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
|
||||
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />",
|
||||
"delete_account_as_admin": "Изтриване на <strong>акаунта</strong>",
|
||||
"delete_content": "Изтриване на <strong>съдържанието</strong> на акаунта",
|
||||
"delete_all": "Изтриване на <strong>акаунта</strong> и <strong>съдържанието</strong>",
|
||||
"delete_account_confirm": "Наистина ли искате да направите публикациите си анонимни и да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
|
||||
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт, но да оставите съдържанието му?<br /><strong>Това действие е необратимо. Публикациите ще бъдат превърнати в анонимни и вече няма да можете да възстановите връзката между публикациите и изтрития акаунт</strong><br /><br />",
|
||||
"delete_account_content_confirm": "Наистина ли искате да изтриете съдържанието (публикации/теми/качвания) на този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
|
||||
"delete_all_confirm": "Наистина ли искате да изтриете този акаунт и цялото му съдържание (публикации/теми/качвания)? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
|
||||
"account-deleted": "Акаунтът е изтрит",
|
||||
"account-content-deleted": "Съдържанието на акаунта е изтрито",
|
||||
"fullname": "Пълно име",
|
||||
"website": "Уеб сайт",
|
||||
"location": "Местоположение",
|
||||
@@ -144,6 +151,7 @@
|
||||
"info.ban-history": "Скорошна история на блокиранията",
|
||||
"info.no-ban-history": "Този потребител никога не е бил блокиран",
|
||||
"info.banned-until": "Блокиран до %1",
|
||||
"info.banned-expiry": "Давност",
|
||||
"info.banned-permanently": "Блокиран за постоянно",
|
||||
"info.banned-reason-label": "Причина",
|
||||
"info.banned-no-reason": "Няма посочена причина.",
|
||||
@@ -170,7 +178,10 @@
|
||||
"consent.right_to_erasure_description": "Във всеки един момент можете да оттеглите съгласието си за събиране и/или обработка на данни, като изтриете акаунта си. Вашият профил може да бъде изтрит, но публикуваното от Вас съдържание ще остане. Ако искате да изтриете както акаунта, така <strong>и</strong> съдържанието, публикувано от Вас, моля, свържете се с администрационния екип на уеб сайта.",
|
||||
"consent.right_to_data_portability": "Имате право на пренос на данни",
|
||||
"consent.right_to_data_portability_description": "Можете да изискате от нас всички събрани за Вас и акаунта Ви данни в машинен формат. Можете да направите това като натиснете съответния бутон по-долу.",
|
||||
"consent.export_profile": "Изнасяне на профила (.csv)",
|
||||
"consent.export_profile": "Изнасяне на профила (.json)",
|
||||
"consent.export-profile-success": "Изнасяне на профила… Ще получите известие, когато е готово.",
|
||||
"consent.export_uploads": "Изнасяне на каченото съдържание (.zip)",
|
||||
"consent.export_posts": "Изнасяне на публикациите (.csv)"
|
||||
"consent.export-uploads-success": "Изнасяне на каченото съдържание… Ще получите известие, когато е готово.",
|
||||
"consent.export_posts": "Изнасяне на публикациите (.csv)",
|
||||
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово."
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"events": "Events",
|
||||
"no-events": "There are no events",
|
||||
"control-panel": "Events Control Panel",
|
||||
"delete-events": "Delete Events",
|
||||
"filters": "Filters",
|
||||
"filters-apply": "Apply Filters",
|
||||
"filter-type": "Event Type",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"you-are-on": "Info - You are on <strong>%1:%2</strong>",
|
||||
"you-are-on": "You are on <strong>%1:%2</strong>",
|
||||
"ip": "IP <strong>%1</strong>",
|
||||
"nodes-responded": "%1 nodes responded within %2ms!",
|
||||
"host": "host",
|
||||
"pid": "pid",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"num-recent-replies": "# of Recent Replies",
|
||||
"ext-link": "External Link",
|
||||
"is-section": "Treat this category as a section",
|
||||
"tag-whitelist": "Tag Whitelist",
|
||||
"upload-image": "Upload Image",
|
||||
"delete-image": "Remove",
|
||||
"category-image": "Category Image",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"default": "System default",
|
||||
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: "<strong>%1</strong>"",
|
||||
"resend": "Resend Digest",
|
||||
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
|
||||
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
|
||||
"resent-single": "Manual digest resend completed",
|
||||
"resent-day": "Daily digest resent",
|
||||
"resent-week": "Weekly digest resent",
|
||||
@@ -18,4 +18,4 @@
|
||||
"manual-run": "Manual digest run:",
|
||||
|
||||
"no-delivery-data": "No delivery data found"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"global": "Global",
|
||||
"global.no-users": "No user-specific global privileges.",
|
||||
"admin": "Admin",
|
||||
"group-privileges": "Group Privileges",
|
||||
"user-privileges": "User Privileges",
|
||||
"chat": "Chat",
|
||||
@@ -31,5 +32,11 @@
|
||||
"downvote-posts": "Downvote Posts",
|
||||
"delete-topics": "Delete Topics",
|
||||
"purge": "Purge",
|
||||
"moderate": "Moderate"
|
||||
"moderate": "Moderate",
|
||||
|
||||
"admin-dashboard": "Dashboard",
|
||||
"admin-categories": "Categories",
|
||||
"admin-privileges": "Privileges",
|
||||
"admin-users": "Users",
|
||||
"admin-settings": "Settings"
|
||||
}
|
||||
@@ -3,17 +3,16 @@
|
||||
"bg-color": "Background Colour",
|
||||
"text-color": "Text Colour",
|
||||
"create-modify": "Create & Modify Tags",
|
||||
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
|
||||
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
|
||||
"create": "Create Tag",
|
||||
"modify": "Modify Tags",
|
||||
"rename": "Rename Tags",
|
||||
"delete": "Delete Selected Tags",
|
||||
"search": "Search for tags...",
|
||||
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
|
||||
"settings": "Tags Settings",
|
||||
"name": "Tag Name",
|
||||
|
||||
"alerts.editing-multiple": "Editing multiple tags",
|
||||
"alerts.editing-x": "Editing \"%1\" tag",
|
||||
"alerts.editing": "Editing tag(s)",
|
||||
"alerts.confirm-delete": "Do you want to delete the selected tags?",
|
||||
"alerts.update-success": "Tag Updated!"
|
||||
}
|
||||
@@ -12,8 +12,9 @@
|
||||
"unban": "Unban User(s)",
|
||||
"reset-lockout": "Reset Lockout",
|
||||
"reset-flags": "Reset Flags",
|
||||
"delete": "Delete User(s)",
|
||||
"purge": "Delete User(s) and Content",
|
||||
"delete": "Delete <strong>User(s)</strong>",
|
||||
"delete-content": "Delete User(s) <strong>Content</strong>",
|
||||
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
|
||||
"download-csv": "Download CSV",
|
||||
"manage-groups": "Manage Groups",
|
||||
"add-group": "Add Group",
|
||||
@@ -93,9 +94,11 @@
|
||||
"alerts.validate-email-success": "Emails validated",
|
||||
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
|
||||
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
|
||||
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
|
||||
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
|
||||
"alerts.delete-success": "User(s) Deleted!",
|
||||
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
|
||||
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
|
||||
"alerts.delete-content-success": "User(s) Content Deleted!",
|
||||
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
|
||||
"alerts.create": "Create User",
|
||||
"alerts.button-create": "Create",
|
||||
"alerts.button-cancel": "Cancel",
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
{
|
||||
"dashboard": "Dashboard",
|
||||
"section-general": "General",
|
||||
"general/dashboard": "Dashboard",
|
||||
"general/homepage": "Home Page",
|
||||
"general/navigation": "Navigation",
|
||||
"general/languages": "Languages",
|
||||
"general/sounds": "Sounds",
|
||||
"general/social": "Social",
|
||||
|
||||
"section-manage": "Manage",
|
||||
"manage/categories": "Categories",
|
||||
@@ -22,17 +17,22 @@
|
||||
|
||||
"section-settings": "Settings",
|
||||
"settings/general": "General",
|
||||
"settings/homepage": "Home Page",
|
||||
"settings/navigation": "Navigation",
|
||||
"settings/reputation": "Reputation",
|
||||
"settings/email": "Email",
|
||||
"settings/user": "User",
|
||||
"settings/group": "Group",
|
||||
"settings/user": "Users",
|
||||
"settings/group": "Groups",
|
||||
"settings/guest": "Guests",
|
||||
"settings/uploads": "Uploads",
|
||||
"settings/post": "Post",
|
||||
"settings/chat": "Chat",
|
||||
"settings/languages": "Languages",
|
||||
"settings/post": "Posts",
|
||||
"settings/chat": "Chats",
|
||||
"settings/pagination": "Pagination",
|
||||
"settings/tags": "Tags",
|
||||
"settings/notifications": "Notifications",
|
||||
"settings/sounds": "Sounds",
|
||||
"settings/social": "Social",
|
||||
"settings/cookies": "Cookies",
|
||||
"settings/web-crawler": "Web Crawler",
|
||||
"settings/sockets": "Sockets",
|
||||
|
||||
@@ -15,14 +15,20 @@
|
||||
"headers.acah": "Access-Control-Allow-Headers",
|
||||
"hsts": "Strict Transport Security",
|
||||
"hsts.enabled": "Enabled HSTS (recommended)",
|
||||
"hsts.maxAge": "HSTS Max Age",
|
||||
"hsts.subdomains": "Include subdomains in HSTS header",
|
||||
"hsts.preload": "Allow preloading of HSTS header",
|
||||
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
|
||||
"traffic-management": "Traffic Management",
|
||||
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
|
||||
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
|
||||
"traffic.enable": "Enable Traffic Management",
|
||||
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
|
||||
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
|
||||
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
|
||||
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
|
||||
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
|
||||
|
||||
"sockets.settings": "WebSocket Settings",
|
||||
"sockets.max-attempts": "Max Reconnection Attempts",
|
||||
"sockets.default-placeholder": "Default: %1",
|
||||
"sockets.delay": "Reconnection Delay"
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
{
|
||||
"site-settings": "Site Settings",
|
||||
"title": "Site Title",
|
||||
"title.short": "Short Title",
|
||||
"title.short-placeholder": "If no short title is specified, the site title will be used",
|
||||
"title.url": "URL",
|
||||
"title.url-placeholder": "The URL of the site title",
|
||||
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
|
||||
@@ -31,5 +33,9 @@
|
||||
"outgoing-links": "Outgoing Links",
|
||||
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
|
||||
"search-default-sort-by": "Search default sort by",
|
||||
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page"
|
||||
}
|
||||
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
|
||||
"site-colors": "Site Color Metadata",
|
||||
"theme-color": "Theme Color",
|
||||
"background-color": "Background Color",
|
||||
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"private-groups": "Private Groups",
|
||||
"private-groups.help": "If enabled, joining of groups requires the approval of the group owner <em>(Default: enabled)</em>",
|
||||
"private-groups.warning": "<strong>Beware!</strong> If this option is disabled and you have private groups, they automatically become public.",
|
||||
"allow-multiple-badges": "Allow Multiple Badges",
|
||||
"allow-multiple-badges-help": "This flag can be used to allow users to select multiple group badges, requires theme support.",
|
||||
"max-name-length": "Maximum Group Name Length",
|
||||
"max-title-length": "Maximum Group Title Length",
|
||||
|
||||
8
public/language/bn/admin/settings/homepage.json
Normal file
8
public/language/bn/admin/settings/homepage.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"home-page": "Home Page",
|
||||
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
|
||||
"home-page-route": "Home Page Route",
|
||||
"custom-route": "Custom Route",
|
||||
"allow-user-home-pages": "Allow User Home Pages",
|
||||
"home-page-title": "Title of the home page (default \"Home\")"
|
||||
}
|
||||
23
public/language/bn/admin/settings/navigation.json
Normal file
23
public/language/bn/admin/settings/navigation.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"icon": "Icon:",
|
||||
"change-icon": "change",
|
||||
"route": "Route:",
|
||||
"tooltip": "Tooltip:",
|
||||
"text": "Text:",
|
||||
"text-class": "Text Class: <small>optional</small>",
|
||||
"class": "Class: <small>optional</small>",
|
||||
"id": "ID: <small>optional</small>",
|
||||
|
||||
"properties": "Properties:",
|
||||
"groups": "Groups:",
|
||||
"open-new-window": "Open in a new window",
|
||||
|
||||
"btn.delete": "Delete",
|
||||
"btn.disable": "Disable",
|
||||
"btn.enable": "Enable",
|
||||
|
||||
"available-menu-items": "Available Menu Items",
|
||||
"custom-route": "Custom Route",
|
||||
"core": "core",
|
||||
"plugin": "plugin"
|
||||
}
|
||||
@@ -42,6 +42,7 @@
|
||||
"unread.cutoff": "Unread cutoff days",
|
||||
"unread.min-track-last": "Minimum posts in topic before tracking last read",
|
||||
"recent": "Recent Settings",
|
||||
"recent.max-topics": "Maximum topics on /recent",
|
||||
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
|
||||
"signature": "Signature Settings",
|
||||
"signature.disable": "Disable signatures",
|
||||
|
||||
5
public/language/bn/admin/settings/social.json
Normal file
5
public/language/bn/admin/settings/social.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"post-sharing": "Post Sharing",
|
||||
"info-plugins-additional": "Plugins can add additional networks for sharing posts.",
|
||||
"save-success": "Successfully saved Post Sharing Networks!"
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"tag": "Tag Settings",
|
||||
"link-to-manage": "Manage Tags",
|
||||
"min-per-topic": "Minimum Tags per Topic",
|
||||
"max-per-topic": "Maximum Tags per Topic",
|
||||
"min-length": "Minimum Tag Length",
|
||||
"max-length": "Maximum Tag Length",
|
||||
"goto-manage": "Click here to visit the tag management page.",
|
||||
"related-topics": "Related Topics",
|
||||
"max-related-topics": "Maximum related topics to display (if supported by theme)"
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
"allow-login-with.email": "Email Only",
|
||||
"account-settings": "Account Settings",
|
||||
"gdpr_enabled": "Enable GDPR consent collection",
|
||||
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
|
||||
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
|
||||
"disable-username-changes": "Disable username changes",
|
||||
"disable-email-changes": "Disable email changes",
|
||||
"disable-password-changes": "Disable password changes",
|
||||
@@ -76,4 +76,4 @@
|
||||
"categoryWatchState.watching": "Watching",
|
||||
"categoryWatchState.notwatching": "Not Watching",
|
||||
"categoryWatchState.ignoring": "Ignoring"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,11 +27,15 @@
|
||||
"filter-cid-all": "All categories",
|
||||
"apply-filters": "Apply Filters",
|
||||
|
||||
"quick-links": "Quick Links",
|
||||
"quick-actions": "Quick Actions",
|
||||
"flagged-user": "Flagged User",
|
||||
"view-profile": "View Profile",
|
||||
"start-new-chat": "Start New Chat",
|
||||
"go-to-target": "View Flag Target",
|
||||
"assign-to-me": "Assign To Me",
|
||||
"delete-post": "Delete Post",
|
||||
"purge-post": "Purge Post",
|
||||
"restore-post": "Restore Post",
|
||||
|
||||
"user-view": "View Profile",
|
||||
"user-edit": "Edit Profile",
|
||||
@@ -40,8 +44,7 @@
|
||||
"add-note": "Add Note",
|
||||
"no-notes": "No shared notes.",
|
||||
|
||||
"history": "Flag History",
|
||||
"back": "Back to Flags List",
|
||||
"history": "Account & Flag History",
|
||||
"no-history": "No flag history.",
|
||||
|
||||
"state-all": "All states",
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"header.unread": "অপঠিত",
|
||||
"header.tags": "ট্যাগ",
|
||||
"header.popular": "জনপ্রিয়",
|
||||
"header.top": "Top",
|
||||
"header.users": "ব্যবহারকারীগণ",
|
||||
"header.groups": "Groups",
|
||||
"header.chats": "কথোপকথন",
|
||||
@@ -53,6 +54,7 @@
|
||||
"posts": "পোস্টগুলি",
|
||||
"best": "Best",
|
||||
"votes": "Votes",
|
||||
"voters": "Voters",
|
||||
"upvoters": "Upvoters",
|
||||
"upvoted": "Upvoted",
|
||||
"downvoters": "Downvoters",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
|
||||
"chat.contacts": "কন্টাক্টস",
|
||||
"chat.message-history": "মেসেজ হিস্টোরী",
|
||||
"chat.message-deleted": "Message Deleted",
|
||||
"chat.options": "Chat options",
|
||||
"chat.pop-out": "চ্যাট উইন্ডো আলাদা করুন",
|
||||
"chat.minimize": "Minimize",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
||||
"user_edited_post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
|
||||
@@ -42,6 +43,9 @@
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
|
||||
"post_awaiting_review": "Post awaiting review",
|
||||
"profile-exported": "<strong>%1</strong> profile exported, click to download",
|
||||
"posts-exported": "<strong>%1</strong> posts exported, click to download",
|
||||
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
|
||||
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
|
||||
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
|
||||
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
|
||||
@@ -53,6 +57,7 @@
|
||||
"notificationType_upvote": "When someone upvotes your post",
|
||||
"notificationType_new-topic": "When someone you follow posts a topic",
|
||||
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
|
||||
"notificationType_post-edit": "When a post is edited in a topic you are watching",
|
||||
"notificationType_follow": "When someone starts following you",
|
||||
"notificationType_new-chat": "When you receive a chat message",
|
||||
"notificationType_group-invite": "When you receive a group invite",
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"tags": "ট্যাগসমূহ",
|
||||
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
|
||||
"enter_tags_here_short": "ট্যাগ বসান",
|
||||
"no_tags": "এখন পর্যন্ত কোন ট্যাগ নেই"
|
||||
"no_tags": "এখন পর্যন্ত কোন ট্যাগ নেই",
|
||||
"select_tags": "Select Tags"
|
||||
}
|
||||
@@ -36,7 +36,8 @@
|
||||
"ban-ip": "Ban IP",
|
||||
"view-history": "Edit History",
|
||||
"bookmark_instructions": "Click here to return to the last read post in this thread.",
|
||||
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
|
||||
"flag_post": "Flag this post",
|
||||
"flag_user": "Flag this user",
|
||||
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
|
||||
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
|
||||
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
|
||||
@@ -99,11 +100,15 @@
|
||||
"fork_pid_count": "%1 post(s) selected",
|
||||
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
|
||||
"delete_posts_instruction": "Click the posts you want to delete/purge",
|
||||
"merge_topics_instruction": "Click the topics you want to merge",
|
||||
"merge_topics_instruction": "Click the topics you want to merge or search for them",
|
||||
"merge-topic-list-title": "List of topics to be merged",
|
||||
"merge-options": "Merge options",
|
||||
"merge-select-main-topic": "Select the main topic",
|
||||
"merge-new-title-for-topic": "New title for topic",
|
||||
"move_posts_instruction": "Click the posts you want to move",
|
||||
"change_owner_instruction": "Click the posts you want to assign to another user",
|
||||
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
|
||||
"composer.handle_placeholder": "Name",
|
||||
"composer.handle_placeholder": "Enter your name/handle here",
|
||||
"composer.discard": "বাতিল",
|
||||
"composer.submit": "সাবমিট",
|
||||
"composer.replying_to": "%1 এর উত্তরে:",
|
||||
@@ -134,6 +139,9 @@
|
||||
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
|
||||
"diffs.current-revision": "current revision",
|
||||
"diffs.original-revision": "original revision",
|
||||
"diffs.restore": "Restore this revision",
|
||||
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
|
||||
"diffs.post-restored": "Post successfully restored to earlier revision",
|
||||
"timeago_later": "%1 later",
|
||||
"timeago_earlier": "%1 earlier"
|
||||
}
|
||||
@@ -8,13 +8,20 @@
|
||||
"email": "ইমেইল",
|
||||
"confirm_email": "ইমেইল নিশ্চিত করুন",
|
||||
"account_info": "Account Info",
|
||||
"admin_actions_label": "Administrative Actions",
|
||||
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
|
||||
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
|
||||
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
|
||||
"delete_account": "একাউন্ট মুছে ফেলুন",
|
||||
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"delete_account_as_admin": "Delete <strong>Account</strong>",
|
||||
"delete_content": "Delete Account <strong>Content</strong>",
|
||||
"delete_all": "Delete <strong>Account</strong> and <strong>Content</strong>",
|
||||
"delete_account_confirm": "Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
|
||||
"delete_account_content_confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"delete_all_confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"account-deleted": "একাউন্ট মুছে ফেলা হয়েছে",
|
||||
"account-content-deleted": "Account content deleted",
|
||||
"fullname": "পুর্ণ নাম",
|
||||
"website": "ওয়েবসাইট",
|
||||
"location": "স্থান",
|
||||
@@ -144,6 +151,7 @@
|
||||
"info.ban-history": "Recent Ban History",
|
||||
"info.no-ban-history": "This user has never been banned",
|
||||
"info.banned-until": "Banned until %1",
|
||||
"info.banned-expiry": "Expiry",
|
||||
"info.banned-permanently": "Banned permanently",
|
||||
"info.banned-reason-label": "Reason",
|
||||
"info.banned-no-reason": "No reason given.",
|
||||
@@ -170,7 +178,10 @@
|
||||
"consent.right_to_erasure_description": "At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account <strong>and</strong> your content, please contact the administrative team for this website.",
|
||||
"consent.right_to_data_portability": "You have the Right to Data Portability",
|
||||
"consent.right_to_data_portability_description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
|
||||
"consent.export_profile": "Export Profile (.csv)",
|
||||
"consent.export_profile": "Export Profile (.json)",
|
||||
"consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.",
|
||||
"consent.export_uploads": "Export Uploaded Content (.zip)",
|
||||
"consent.export_posts": "Export Posts (.csv)"
|
||||
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
|
||||
"consent.export_posts": "Export Posts (.csv)",
|
||||
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
"events": "Události",
|
||||
"no-events": "Žádné nové události",
|
||||
"control-panel": "Ovládací panel událostí",
|
||||
"delete-events": "Delete Events",
|
||||
"filters": "Filtry",
|
||||
"filters-apply": "Použít filtry",
|
||||
"filter-type": "Typ události",
|
||||
|
||||
79
public/language/cs/admin/dashboard.json
Normal file
79
public/language/cs/admin/dashboard.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"forum-traffic": "Provoz fóra",
|
||||
"page-views": "Zobrazení stránky",
|
||||
"unique-visitors": "Jedineční návštěvníci",
|
||||
"new-users": "Nový uživatelé",
|
||||
"posts": "Příspěvky",
|
||||
"topics": "Témata",
|
||||
"page-views-seven": "Posledních 7 dnů",
|
||||
"page-views-thirty": "Posledních 30 dní",
|
||||
"page-views-last-day": "Posledních 24 hodin",
|
||||
"page-views-custom": "Dle rozsahu data",
|
||||
"page-views-custom-start": "Začátek rozsahu",
|
||||
"page-views-custom-end": "Konec rozsahu",
|
||||
"page-views-custom-help": "Zadejte rozsah data zobrazení stránek, které chcete vidět. Není-li datum nastaveno, výchozí formát je <code>YYYY-MM-DD</code>",
|
||||
"page-views-custom-error": "Zadejte správný rozsah ve formátu <code>YYYY-MM-DD</code>",
|
||||
|
||||
"stats.yesterday": "Včera",
|
||||
"stats.today": "Dnes",
|
||||
"stats.last-week": "Poslední týden",
|
||||
"stats.this-week": "Tento víkend",
|
||||
"stats.last-month": "Poslední měsíc",
|
||||
"stats.this-month": "Tento měsíc",
|
||||
"stats.all": "Všechny časy",
|
||||
|
||||
"updates": "Aktualizace",
|
||||
"running-version": "Fungujete na <strong>NodeBB v<span id=\"version\">%1</span></strong>.",
|
||||
"keep-updated": "Vždy udržujte NodeBB aktuální kvůli bezpečnostním záplatám a opravám.",
|
||||
"up-to-date": "<p>Máte <strong>aktuální verzi</strong><i class=\"fa fa-check\"></i></p>",
|
||||
"upgrade-available": "<p>Nová verze (v%1) byla zveřejněna. Zvažte <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">aktualizaci vašeho NodeBB</a>.</p>",
|
||||
"prerelease-upgrade-available": "<p>Toto je zastaralá testovací verze NodeBB. Nová verze (v%1) byla zveřejněna. Zvažte <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">aktualizaci vaší verze NodeBB</a>.</p>",
|
||||
"prerelease-warning": "<p>Toto je <strong>zkušební</strong> verze NodeBB. Mohou se vyskytnout různé chyby.<i class=\"fa fa-exclamation-triangle\"></i></p>",
|
||||
"running-in-development": "<span>Fórum běží ve vývojářském režimu a může být potencionálně zranitelné . Kontaktujte správce systému.</span>",
|
||||
"latest-lookup-failed": "<p>Náhled na poslední dostupnou verzi NodeBB</p>",
|
||||
|
||||
"notices": "Oznámení",
|
||||
"restart-not-required": "Restart není potřeba",
|
||||
"restart-required": "Je potřeba restartovat",
|
||||
"search-plugin-installed": "Rozšíření pro hledání je nainstalováno",
|
||||
"search-plugin-not-installed": "Rozšíření pro hledání není nainstalováno",
|
||||
"search-plugin-tooltip": "Pro aktivování funkce vyhledávání, nainstalujte rozšíření pro hledání ze stránky rozšíření.",
|
||||
|
||||
"control-panel": "Ovládání systému",
|
||||
"rebuild-and-restart": "Znovu sestavit a restartovat",
|
||||
"restart": "Restartovat",
|
||||
"restart-warning": "Znovu sestavení nebo restartování NodeBB odpojí všechna existující připojení na několik vteřin.",
|
||||
"restart-disabled": "Znovu sestavení a restartování vašeho NodeBB bylo zakázáno, protože se nezdá, že byste byl/a připojena přes příslušného „daemona”.",
|
||||
"maintenance-mode": "Režim údržby",
|
||||
"maintenance-mode-title": "Pro nastavení režimu údržby NodeBB, klikněte zde",
|
||||
"realtime-chart-updates": "Aktualizace grafů v reálném čase",
|
||||
|
||||
"active-users": "Aktivní uživatelé",
|
||||
"active-users.users": "Uživatelé",
|
||||
"active-users.guests": "Hosté",
|
||||
"active-users.total": "Celkově",
|
||||
"active-users.connections": "Připojení",
|
||||
|
||||
"anonymous-registered-users": "Anonymní × registrovaní uživatelé",
|
||||
"anonymous": "Anonymní",
|
||||
"registered": "Registrovaní",
|
||||
|
||||
"user-presence": "Výskyt uživatele",
|
||||
"on-categories": "V seznamu kategorii",
|
||||
"reading-posts": "Čtení příspěvku",
|
||||
"browsing-topics": "Prohlížení témat",
|
||||
"recent": "Poslední",
|
||||
"unread": "Nepřečtené",
|
||||
|
||||
"high-presence-topics": "Témata s vysokou účastí",
|
||||
|
||||
"graphs.page-views": "Zobrazení stránky",
|
||||
"graphs.page-views-registered": "Zobrazených stránek/registrovaní",
|
||||
"graphs.page-views-guest": "Zobrazených stránek/hosté",
|
||||
"graphs.page-views-bot": "Zobrazených stránek/bot",
|
||||
"graphs.unique-visitors": "Jedineční návštěvníci",
|
||||
"graphs.registered-users": "Registrovaní uživatelé",
|
||||
"graphs.anonymous-users": "Anonymní uživatelé",
|
||||
"last-restarted-by": "Poslední restart od",
|
||||
"no-users-browsing": "Nikdo si nic neprohlíží"
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"you-are-on": "Informace – jste na <strong>%1:%2</strong>",
|
||||
"you-are-on": "You are on <strong>%1:%2</strong>",
|
||||
"ip": "IP <strong>%1</strong>",
|
||||
"nodes-responded": "%1 vazeb odpovědělo během %2ms.",
|
||||
"host": "host",
|
||||
"pid": "pid",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"num-recent-replies": "# posledních odpovědí",
|
||||
"ext-link": "Externí odkaz",
|
||||
"is-section": "Zacházet s kategorii jako se sekcí",
|
||||
"tag-whitelist": "Tag Whitelist",
|
||||
"upload-image": "Nahrát obrázek",
|
||||
"delete-image": "Vyjmout",
|
||||
"category-image": "Obrázek kategorie",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"default": "Výchozí systémové",
|
||||
"default-help": "Výchozí systémové znamená, že uživatel nemůže přenastavit celkové nastavení pravidel na fóru pro odesílání přehledů, které je momentálně<strong>%1</strong>",
|
||||
"resend": "Znovu odeslat přehled",
|
||||
"resend-all-confirm": "Jste si jist/a, že chcete ručně spustit odeslání přehledu",
|
||||
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
|
||||
"resent-single": "Manuální znovu poslání přehledu bylo dokončeno",
|
||||
"resent-day": "Znovu odeslat denní přehled",
|
||||
"resent-week": "Znovu odeslat týdenní přehled",
|
||||
@@ -18,4 +18,4 @@
|
||||
"manual-run": "Spustit manuálně přehled:",
|
||||
|
||||
"no-delivery-data": "Žádná data odeslání nebyla nalezena"
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user