mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-17 05:50:25 +01:00
Compare commits
612 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
accee7d05b | ||
|
|
f403a297b4 | ||
|
|
73e7da6f03 | ||
|
|
9c1b24c963 | ||
|
|
0d223ef88d | ||
|
|
87435c1a9e | ||
|
|
ce24c6dc04 | ||
|
|
4b1b98e229 | ||
|
|
3d9e86d9b2 | ||
|
|
cd41e192d1 | ||
|
|
87f57b8cd3 | ||
|
|
d68c44fd0a | ||
|
|
7c2b041633 | ||
|
|
a9e12f4174 | ||
|
|
b1edc59987 | ||
|
|
a5f63a5ac7 | ||
|
|
9865f78cbb | ||
|
|
768c17263c | ||
|
|
25cb450f40 | ||
|
|
3019023d38 | ||
|
|
936ea5f686 | ||
|
|
2f8e6a1f2b | ||
|
|
2ea5f85d9b | ||
|
|
e6b4a45cda | ||
|
|
e22c13abd4 | ||
|
|
3bdb98e747 | ||
|
|
712d5bce5b | ||
|
|
94cf29d42c | ||
|
|
b07a522c60 | ||
|
|
984b17349a | ||
|
|
4ce6341d85 | ||
|
|
83312ad53a | ||
|
|
14e46a87a6 | ||
|
|
1424acc88e | ||
|
|
8ed06eb773 | ||
|
|
04084807c2 | ||
|
|
da7dcd99a8 | ||
|
|
6a8a5a9de0 | ||
|
|
793a0a6772 | ||
|
|
2bfc33edb7 | ||
|
|
d314b9cae2 | ||
|
|
d28fb153c7 | ||
|
|
7ec8393004 | ||
|
|
2423bd18eb | ||
|
|
1a34327f9d | ||
|
|
59545d740c | ||
|
|
f47550d23e | ||
|
|
26b2ef1543 | ||
|
|
989ca19df5 | ||
|
|
acf1b76da8 | ||
|
|
76480d4d31 | ||
|
|
c0c85c24cf | ||
|
|
64cc0f244d | ||
|
|
5bf46864ed | ||
|
|
9e1a049fd5 | ||
|
|
100f31be81 | ||
|
|
e72ec429a2 | ||
|
|
e74d39889e | ||
|
|
bf3f20bf8b | ||
|
|
2c7d9e1a7c | ||
|
|
0cb0dafae3 | ||
|
|
03de918f10 | ||
|
|
011c42bde3 | ||
|
|
da4014eb71 | ||
|
|
8bba811aaf | ||
|
|
52a53df80d | ||
|
|
8965855218 | ||
|
|
518c6f7cfa | ||
|
|
e0c8989e8b | ||
|
|
94efa6dd87 | ||
|
|
5f47f2226a | ||
|
|
3deb423c55 | ||
|
|
49dcffcbab | ||
|
|
68e761bed0 | ||
|
|
273e26ddb1 | ||
|
|
9b083a6a66 | ||
|
|
86bd85bba4 | ||
|
|
646c5705cf | ||
|
|
2e04501224 | ||
|
|
348d05d3d1 | ||
|
|
b63c0df8a2 | ||
|
|
5a79b99a7a | ||
|
|
9f7196f5b0 | ||
|
|
772f4c103a | ||
|
|
aeae76c28d | ||
|
|
b565f3ac0a | ||
|
|
8af5102912 | ||
|
|
81a5a4cfe0 | ||
|
|
8e8375cbba | ||
|
|
8bee231d80 | ||
|
|
b278f27ffe | ||
|
|
e3e737458e | ||
|
|
beaa52fff5 | ||
|
|
9d78a204df | ||
|
|
5128f7d2f9 | ||
|
|
6b20cf5cff | ||
|
|
5337a31eb9 | ||
|
|
8bea0bb6e5 | ||
|
|
f2b24eb72a | ||
|
|
8c097357fc | ||
|
|
79f3659e55 | ||
|
|
99e774d196 | ||
|
|
ef3b6a2450 | ||
|
|
64c0e1df61 | ||
|
|
389f74b615 | ||
|
|
2de108153f | ||
|
|
2914c74587 | ||
|
|
104fc2d273 | ||
|
|
9e9b138afb | ||
|
|
e7c2bc5d5d | ||
|
|
e86650a6af | ||
|
|
fb6026f95f | ||
|
|
908f5f2fd4 | ||
|
|
080c54d414 | ||
|
|
e18ad61ff6 | ||
|
|
356f577a74 | ||
|
|
85dfedeedc | ||
|
|
7ae7c50f56 | ||
|
|
22e20b961e | ||
|
|
d14cd254a5 | ||
|
|
16f62e6502 | ||
|
|
7d6c81160b | ||
|
|
aaef0ad282 | ||
|
|
d62cdd5127 | ||
|
|
f67bc8d056 | ||
|
|
64e13df14c | ||
|
|
3ad3e781f3 | ||
|
|
28ed49a1d2 | ||
|
|
2fbaed9cdf | ||
|
|
fc00791125 | ||
|
|
5576ef0d1e | ||
|
|
e49dfc7266 | ||
|
|
83a679fc15 | ||
|
|
7a5383748c | ||
|
|
c0bce71984 | ||
|
|
6a47aacdfd | ||
|
|
6a9145d90e | ||
|
|
48337e4f51 | ||
|
|
113d35887c | ||
|
|
63367bd670 | ||
|
|
673145d413 | ||
|
|
a3f0f58ebe | ||
|
|
ae1d226218 | ||
|
|
612aa4e55b | ||
|
|
09a5d92dba | ||
|
|
9075a8d4c9 | ||
|
|
97d01de155 | ||
|
|
ddd6ed9e8c | ||
|
|
be11577aa4 | ||
|
|
9023060008 | ||
|
|
12e00ec497 | ||
|
|
77d0b095c8 | ||
|
|
aa44894db2 | ||
|
|
866adab648 | ||
|
|
04dbd5766d | ||
|
|
66bbbfcd22 | ||
|
|
420649d3bd | ||
|
|
d544b19220 | ||
|
|
3a0b92a0e4 | ||
|
|
14a2db4b2e | ||
|
|
d16cfb89e0 | ||
|
|
5cc30ca1a0 | ||
|
|
2e24224449 | ||
|
|
82708d65c6 | ||
|
|
46e022e97f | ||
|
|
647b15c7ef | ||
|
|
7332ba9c25 | ||
|
|
6fe093324a | ||
|
|
63a5002b53 | ||
|
|
92addc349b | ||
|
|
957800b2c3 | ||
|
|
f00a3dbf49 | ||
|
|
604f883ac2 | ||
|
|
1378e1155f | ||
|
|
682ba8fb1a | ||
|
|
110fd863e4 | ||
|
|
78763834fe | ||
|
|
c120f5c2c6 | ||
|
|
a0860abaaa | ||
|
|
598049e077 | ||
|
|
21fe3f2596 | ||
|
|
62609b2db6 | ||
|
|
7f43fd4843 | ||
|
|
1db2a447d7 | ||
|
|
48ee8c1370 | ||
|
|
7f81a0b0ad | ||
|
|
51c520f888 | ||
|
|
3b8e31c31f | ||
|
|
f531a5362d | ||
|
|
1723894e5a | ||
|
|
fb3251c269 | ||
|
|
03b106b03a | ||
|
|
d430ef3983 | ||
|
|
d5e473609c | ||
|
|
dfbac595b6 | ||
|
|
9b0ba6c7a4 | ||
|
|
722d1497c3 | ||
|
|
083ba12ee0 | ||
|
|
142536b659 | ||
|
|
83ab462ff5 | ||
|
|
510343b9d5 | ||
|
|
e7a52b615b | ||
|
|
392be78554 | ||
|
|
0a2d543186 | ||
|
|
fa92eb4d5c | ||
|
|
4913866785 | ||
|
|
0c5881b51f | ||
|
|
17d7916fe9 | ||
|
|
cbb3ff26e9 | ||
|
|
1ffa498807 | ||
|
|
3a172711f4 | ||
|
|
14a5de6d9d | ||
|
|
f7c70e2a7a | ||
|
|
13609edf82 | ||
|
|
2c89d50322 | ||
|
|
f9405c0423 | ||
|
|
6760ce00cc | ||
|
|
49a73e1665 | ||
|
|
c213f77f91 | ||
|
|
b8845181f6 | ||
|
|
4d4f39a44f | ||
|
|
126f3182fd | ||
|
|
5ac5d20e4b | ||
|
|
1ce3c9ca2d | ||
|
|
7ad242b981 | ||
|
|
e952a873a8 | ||
|
|
1abe35092b | ||
|
|
785790c414 | ||
|
|
5521e6143f | ||
|
|
033e078aeb | ||
|
|
0674258793 | ||
|
|
c12d90ddfb | ||
|
|
8de2d1f58d | ||
|
|
2ecfcc582f | ||
|
|
d1fcb50c7d | ||
|
|
b7c4647e9a | ||
|
|
8ca6d51d8d | ||
|
|
e97d5b2e0e | ||
|
|
23b14b3443 | ||
|
|
99e0a02b4c | ||
|
|
ab2580cc5f | ||
|
|
b6bd955131 | ||
|
|
51436fd2d9 | ||
|
|
4bed05a622 | ||
|
|
396dffd60f | ||
|
|
916f1c7ce1 | ||
|
|
08b0462695 | ||
|
|
a69eafd9f7 | ||
|
|
0202666ed0 | ||
|
|
7cbaa90d36 | ||
|
|
04175c92d9 | ||
|
|
80d7ae597b | ||
|
|
a31525c79f | ||
|
|
1b526026a0 | ||
|
|
1c21ca78dc | ||
|
|
fa39b5e46b | ||
|
|
f5fce863f9 | ||
|
|
ba9a5ad7d7 | ||
|
|
6b23977a46 | ||
|
|
7daf3a34a7 | ||
|
|
1ea295ed1b | ||
|
|
e1758e0c36 | ||
|
|
9ea10ba8ec | ||
|
|
bea1d053b4 | ||
|
|
552c56f3d1 | ||
|
|
2086ddf386 | ||
|
|
354268bccd | ||
|
|
fba0e95aeb | ||
|
|
6581c90475 | ||
|
|
7e6f29e007 | ||
|
|
7b14716eb8 | ||
|
|
702b1554fb | ||
|
|
73fb653ddf | ||
|
|
c905f96108 | ||
|
|
0b58e2fea3 | ||
|
|
82d863b9c8 | ||
|
|
259f0f96f1 | ||
|
|
347e37a224 | ||
|
|
8d8731c609 | ||
|
|
35be69d6cd | ||
|
|
3ad509b93a | ||
|
|
fdf06c0500 | ||
|
|
fe7726d249 | ||
|
|
0f4fcd8e0b | ||
|
|
9cd352c49a | ||
|
|
d177481f94 | ||
|
|
6012223b81 | ||
|
|
9eb8924bf2 | ||
|
|
9c1216eb63 | ||
|
|
d5453efdac | ||
|
|
15c2b124e3 | ||
|
|
6eef866320 | ||
|
|
067d1ae404 | ||
|
|
21459fff84 | ||
|
|
04afe7dc4b | ||
|
|
e0fba796c7 | ||
|
|
7183187be8 | ||
|
|
969c3a77cf | ||
|
|
b919d2ee77 | ||
|
|
4be8f3ec75 | ||
|
|
0bb5971915 | ||
|
|
a445e3f7b1 | ||
|
|
871cf8a3b7 | ||
|
|
5292a47a96 | ||
|
|
b665aeee83 | ||
|
|
81e4bcd358 | ||
|
|
b06ff89e02 | ||
|
|
deac12c540 | ||
|
|
4f38a33702 | ||
|
|
10680d47b0 | ||
|
|
d0bc5ec9c7 | ||
|
|
78033dbf5c | ||
|
|
d7c367ae91 | ||
|
|
7f5984d1fd | ||
|
|
c974256600 | ||
|
|
671ec8532c | ||
|
|
47c1092842 | ||
|
|
776fb29dce | ||
|
|
3d93a76508 | ||
|
|
8c98f47688 | ||
|
|
0d6be40238 | ||
|
|
14ba1ff8c0 | ||
|
|
ae1528dc7e | ||
|
|
2d79169855 | ||
|
|
d51683f62e | ||
|
|
2e2995d3bd | ||
|
|
c7396f58cd | ||
|
|
ee3b0c93c3 | ||
|
|
0864480433 | ||
|
|
cb8ce066c8 | ||
|
|
8b573bff39 | ||
|
|
9791dfb9ea | ||
|
|
23485fcbf3 | ||
|
|
207bfa8960 | ||
|
|
0a1fa72bd8 | ||
|
|
32e08ba419 | ||
|
|
807d4b7e2e | ||
|
|
114d0506e1 | ||
|
|
f0797493ee | ||
|
|
8e114c2093 | ||
|
|
a75727bbbd | ||
|
|
653850661e | ||
|
|
79265b9e83 | ||
|
|
c1b61522f7 | ||
|
|
c458a7f7b2 | ||
|
|
9852809c2c | ||
|
|
1d2d69fa45 | ||
|
|
556e7066e8 | ||
|
|
f8cfd82667 | ||
|
|
0a44d3f5e0 | ||
|
|
d485b65b67 | ||
|
|
9ab74b0a61 | ||
|
|
7825b8b951 | ||
|
|
2a88e08977 | ||
|
|
556d817cc5 | ||
|
|
458ee7cca8 | ||
|
|
bfaeee2531 | ||
|
|
b511bc37fb | ||
|
|
9d56f50967 | ||
|
|
8330a6e6d9 | ||
|
|
76933f4c37 | ||
|
|
30d7f3351b | ||
|
|
36ac6f849f | ||
|
|
02fb81901d | ||
|
|
d9a071d710 | ||
|
|
cd05a123ab | ||
|
|
52c12fa1b1 | ||
|
|
9a606246a9 | ||
|
|
d0770bcb95 | ||
|
|
6b13a84d2f | ||
|
|
5c7487c13b | ||
|
|
283ac1578f | ||
|
|
f3309e3dd4 | ||
|
|
545dbbf0df | ||
|
|
b65d518a97 | ||
|
|
9debfd94ec | ||
|
|
20ea40133b | ||
|
|
b480bff3fd | ||
|
|
cd19bf156c | ||
|
|
6ce1415cd4 | ||
|
|
9ff35a18f2 | ||
|
|
1e453140d9 | ||
|
|
abe887f557 | ||
|
|
c988f54243 | ||
|
|
485827db84 | ||
|
|
6a3a3669d2 | ||
|
|
c7ca2e2573 | ||
|
|
b4daae9b23 | ||
|
|
3aa18ebb12 | ||
|
|
5c3af6f549 | ||
|
|
363057cf49 | ||
|
|
d1b457b066 | ||
|
|
519b1b7e37 | ||
|
|
a1624013f8 | ||
|
|
95e3c6f8a4 | ||
|
|
05a4737e84 | ||
|
|
4f03e74b99 | ||
|
|
61863a69fe | ||
|
|
2990b33dc6 | ||
|
|
d9d44aee2b | ||
|
|
c24e451c12 | ||
|
|
181e2b4132 | ||
|
|
e6973b55d4 | ||
|
|
962d14746e | ||
|
|
a45858dacd | ||
|
|
68e8039ac7 | ||
|
|
45affa3043 | ||
|
|
a8402b228c | ||
|
|
b3544f644a | ||
|
|
7f5617bc74 | ||
|
|
14fdb9ebee | ||
|
|
6809af536c | ||
|
|
4c7a4d3688 | ||
|
|
05f33df098 | ||
|
|
bd388f727c | ||
|
|
9a16a359a8 | ||
|
|
fc0dce429b | ||
|
|
834ca016ec | ||
|
|
c0fc7e9ca4 | ||
|
|
eada3daf9f | ||
|
|
6ea10aa7e3 | ||
|
|
7e35987e1b | ||
|
|
c2467de9c2 | ||
|
|
872dd679e2 | ||
|
|
f02fd88eaf | ||
|
|
964d531582 | ||
|
|
385e034a23 | ||
|
|
7a51520074 | ||
|
|
4e23fe7c3a | ||
|
|
3029b19be6 | ||
|
|
15e472db12 | ||
|
|
2579d2535d | ||
|
|
fa5ac04cd3 | ||
|
|
c9f990bb72 | ||
|
|
7225c0d45b | ||
|
|
54ee8e59f6 | ||
|
|
d2cddc734b | ||
|
|
11dc477dde | ||
|
|
e593c8e6b1 | ||
|
|
fa95012fa3 | ||
|
|
1413478a68 | ||
|
|
003535b3ab | ||
|
|
383fa4d0ea | ||
|
|
604dac88e3 | ||
|
|
70b5c631c6 | ||
|
|
9726e599e4 | ||
|
|
1b9297fa31 | ||
|
|
02b6a7893a | ||
|
|
286d14f614 | ||
|
|
11c83079f2 | ||
|
|
8de978fbcf | ||
|
|
d5d686b701 | ||
|
|
f2b0068b32 | ||
|
|
db157da3fb | ||
|
|
0580773331 | ||
|
|
d69054804e | ||
|
|
73dea4fc4e | ||
|
|
f9f1cf63cf | ||
|
|
5281c8c376 | ||
|
|
535529923c | ||
|
|
a17ecefd20 | ||
|
|
c7e731f4c4 | ||
|
|
b2625a1bf0 | ||
|
|
91103fb09e | ||
|
|
121fb88008 | ||
|
|
aa6137b9c3 | ||
|
|
c18de5cdd2 | ||
|
|
ef35b83806 | ||
|
|
263f479b20 | ||
|
|
39def60f9b | ||
|
|
420aa5e102 | ||
|
|
8294aec5e7 | ||
|
|
8fdc03eaad | ||
|
|
daebc322eb | ||
|
|
7823416410 | ||
|
|
af4cbfb20d | ||
|
|
d2735c8558 | ||
|
|
3f12d363f7 | ||
|
|
e93b2b6aa1 | ||
|
|
41ae8b61a7 | ||
|
|
220c82a8f2 | ||
|
|
76c16c0383 | ||
|
|
166f353aaa | ||
|
|
8be9e6d413 | ||
|
|
9363741231 | ||
|
|
2e1a098cfa | ||
|
|
db979d7a20 | ||
|
|
f3ea8d1cff | ||
|
|
74630b3a79 | ||
|
|
c56b9aafff | ||
|
|
dcba272dc5 | ||
|
|
5f8781c88e | ||
|
|
467fb1ab4a | ||
|
|
93f414892b | ||
|
|
e0436d73c3 | ||
|
|
c95f151bfc | ||
|
|
69ed00fc14 | ||
|
|
642136f6f8 | ||
|
|
b60ed95d20 | ||
|
|
1ae39d638a | ||
|
|
f0b104fef0 | ||
|
|
d77bd638c4 | ||
|
|
6ae5b09a01 | ||
|
|
52285239e9 | ||
|
|
19297e2d22 | ||
|
|
0f66077bf5 | ||
|
|
b6ee472276 | ||
|
|
cd41df5677 | ||
|
|
a1e54fda23 | ||
|
|
11c9b74faf | ||
|
|
a12907512f | ||
|
|
3272ca34ee | ||
|
|
4440260f8f | ||
|
|
1004fb2822 | ||
|
|
72bb74cf46 | ||
|
|
fa2f03aeca | ||
|
|
2e4198b8f1 | ||
|
|
f3d485bd58 | ||
|
|
719290cd2b | ||
|
|
97633fe01e | ||
|
|
6452596312 | ||
|
|
9e1789dc58 | ||
|
|
39b679705b | ||
|
|
595ff1f4b1 | ||
|
|
a6e498bb5d | ||
|
|
b89b960f86 | ||
|
|
608943255b | ||
|
|
ec0624918f | ||
|
|
e5cc45a95b | ||
|
|
70657251b9 | ||
|
|
44175188c4 | ||
|
|
06f66337fb | ||
|
|
0a38a783c7 | ||
|
|
8e0e2a04be | ||
|
|
37d7756271 | ||
|
|
9a8fa35d8d | ||
|
|
4125a087b5 | ||
|
|
783481e644 | ||
|
|
df4b555717 | ||
|
|
b7dcc29638 | ||
|
|
cdfaa941b1 | ||
|
|
04c83dbdcc | ||
|
|
dfc7c7aa7f | ||
|
|
0e9fdc9a09 | ||
|
|
e09328c74d | ||
|
|
38874345b7 | ||
|
|
e769ebe668 | ||
|
|
dd135b875b | ||
|
|
268ecd5157 | ||
|
|
f21b313848 | ||
|
|
ac2cc8cae6 | ||
|
|
5f3f4ef74e | ||
|
|
d492339841 | ||
|
|
7bfc36ff56 | ||
|
|
209edf182f | ||
|
|
80d04e2de5 | ||
|
|
9440f8f8cd | ||
|
|
84b7a2c92d | ||
|
|
8e84e47578 | ||
|
|
fd70ba5647 | ||
|
|
e0975b85df | ||
|
|
f83dd956eb | ||
|
|
fcc42883ab | ||
|
|
d43e8beb60 | ||
|
|
56d16d1792 | ||
|
|
7c7be2e0c1 | ||
|
|
6353ed57a9 | ||
|
|
1fe82ee452 | ||
|
|
c44068db52 | ||
|
|
a7bc05aeb6 | ||
|
|
a7d028e29b | ||
|
|
ec309333be | ||
|
|
de0da80040 | ||
|
|
b91d39a0d3 | ||
|
|
c38ca146c7 | ||
|
|
0a1b31e6bc | ||
|
|
fb1095fc28 | ||
|
|
de8c1ece14 | ||
|
|
e97bfc139b | ||
|
|
0ede4abe18 | ||
|
|
0bb0424998 | ||
|
|
e93398b647 | ||
|
|
61aaff025b | ||
|
|
b12e3562d5 | ||
|
|
adfb89a2ad | ||
|
|
28f87cc776 | ||
|
|
a992638ef3 | ||
|
|
41d806f67f | ||
|
|
433769eb36 | ||
|
|
121de11400 | ||
|
|
ca87bc1577 | ||
|
|
9b481b23f3 | ||
|
|
50b264ac7d | ||
|
|
4d4dc344a6 | ||
|
|
2c555687e7 | ||
|
|
189eaf2bea | ||
|
|
fbd478812e | ||
|
|
1b268c94c0 | ||
|
|
cbedc762fd | ||
|
|
0fba1e37a7 | ||
|
|
5be1c17aa7 | ||
|
|
bce96d04c7 | ||
|
|
4c8287251a | ||
|
|
50a06f9369 | ||
|
|
f19bc2e2be | ||
|
|
20314991a4 | ||
|
|
a4533703d4 | ||
|
|
c5ba327d8f | ||
|
|
b12476c422 | ||
|
|
1bcdae41b8 | ||
|
|
9e77960ee1 | ||
|
|
25c7dfbc12 |
@@ -1,4 +1,8 @@
|
|||||||
root = true
|
root = true
|
||||||
|
|
||||||
[*.js, *.css, *.tpl]
|
[*.js, *.css, *.tpl, *.json]
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = false
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -17,9 +17,7 @@ provision.sh
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
feeds/recent.rss
|
feeds/recent.rss
|
||||||
|
|
||||||
# winston?
|
logs/
|
||||||
error.log
|
|
||||||
events.log
|
|
||||||
|
|
||||||
pidfile
|
pidfile
|
||||||
|
|
||||||
|
|||||||
14
.travis.yml
14
.travis.yml
@@ -1,12 +1,12 @@
|
|||||||
services:
|
services:
|
||||||
- redis-server
|
- redis-server
|
||||||
before_install:
|
before_install:
|
||||||
- npm i --production
|
- npm i --production
|
||||||
- node app --setup="{\"base_url\":\"http://127.0.0.1\",\"port\":4567,\"use_port\":false,\"secret\":\"abcdef\",\"bind_address\":\"0.0.0.0\",\"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\":\"abcdef\",\"admin:password:confirm\":\"abcdef\"}" --ci="{\"host\":\"127.0.0.1\",\"port\":6379,\"database\":0}"
|
- node app --setup="{\"url\":\"http://127.0.0.1:4567/\",\"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\":\"abcdef\",\"admin:password:confirm\":\"abcdef\"}" --ci="{\"host\":\"127.0.0.1\",\"port\":6379,\"database\":0}"
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- "0.11"
|
- "0.11"
|
||||||
- "0.10"
|
- "0.10"
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
40
.tx/config
40
.tx/config
@@ -6,8 +6,10 @@ file_filter = public/language/<lang>/category.json
|
|||||||
source_file = public/language/en_GB/category.json
|
source_file = public/language/en_GB/category.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/category.json
|
trans.ar = public/language/ar/category.json
|
||||||
|
trans.bn = public/language/bn/category.json
|
||||||
trans.cs = public/language/cs/category.json
|
trans.cs = public/language/cs/category.json
|
||||||
trans.de = public/language/de/category.json
|
trans.de = public/language/de/category.json
|
||||||
|
trans.el = public/language/el/category.json
|
||||||
trans.en_US = public/language/en_US/category.json
|
trans.en_US = public/language/en_US/category.json
|
||||||
trans.en@pirate = public/language/en@pirate/category.json
|
trans.en@pirate = public/language/en@pirate/category.json
|
||||||
trans.es = public/language/es/category.json
|
trans.es = public/language/es/category.json
|
||||||
@@ -43,8 +45,10 @@ file_filter = public/language/<lang>/login.json
|
|||||||
source_file = public/language/en_GB/login.json
|
source_file = public/language/en_GB/login.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/login.json
|
trans.ar = public/language/ar/login.json
|
||||||
|
trans.bn = public/language/bn/login.json
|
||||||
trans.cs = public/language/cs/login.json
|
trans.cs = public/language/cs/login.json
|
||||||
trans.de = public/language/de/login.json
|
trans.de = public/language/de/login.json
|
||||||
|
trans.el = public/language/el/login.json
|
||||||
trans.en_US = public/language/en_US/login.json
|
trans.en_US = public/language/en_US/login.json
|
||||||
trans.en@pirate = public/language/en@pirate/login.json
|
trans.en@pirate = public/language/en@pirate/login.json
|
||||||
trans.es = public/language/es/login.json
|
trans.es = public/language/es/login.json
|
||||||
@@ -79,8 +83,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/recent.json
|
source_file = public/language/en_GB/recent.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/recent.json
|
trans.ar = public/language/ar/recent.json
|
||||||
|
trans.bn = public/language/bn/recent.json
|
||||||
trans.cs = public/language/cs/recent.json
|
trans.cs = public/language/cs/recent.json
|
||||||
trans.de = public/language/de/recent.json
|
trans.de = public/language/de/recent.json
|
||||||
|
trans.el = public/language/el/recent.json
|
||||||
trans.en_US = public/language/en_US/recent.json
|
trans.en_US = public/language/en_US/recent.json
|
||||||
trans.en@pirate = public/language/en@pirate/recent.json
|
trans.en@pirate = public/language/en@pirate/recent.json
|
||||||
trans.es = public/language/es/recent.json
|
trans.es = public/language/es/recent.json
|
||||||
@@ -115,8 +121,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/unread.json
|
source_file = public/language/en_GB/unread.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/unread.json
|
trans.ar = public/language/ar/unread.json
|
||||||
|
trans.bn = public/language/bn/unread.json
|
||||||
trans.cs = public/language/cs/unread.json
|
trans.cs = public/language/cs/unread.json
|
||||||
trans.de = public/language/de/unread.json
|
trans.de = public/language/de/unread.json
|
||||||
|
trans.el = public/language/el/unread.json
|
||||||
trans.en_US = public/language/en_US/unread.json
|
trans.en_US = public/language/en_US/unread.json
|
||||||
trans.en@pirate = public/language/en@pirate/unread.json
|
trans.en@pirate = public/language/en@pirate/unread.json
|
||||||
trans.es = public/language/es/unread.json
|
trans.es = public/language/es/unread.json
|
||||||
@@ -151,8 +159,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/modules.json
|
source_file = public/language/en_GB/modules.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/modules.json
|
trans.ar = public/language/ar/modules.json
|
||||||
|
trans.bn = public/language/bn/modules.json
|
||||||
trans.cs = public/language/cs/modules.json
|
trans.cs = public/language/cs/modules.json
|
||||||
trans.de = public/language/de/modules.json
|
trans.de = public/language/de/modules.json
|
||||||
|
trans.el = public/language/el/modules.json
|
||||||
trans.en_US = public/language/en_US/modules.json
|
trans.en_US = public/language/en_US/modules.json
|
||||||
trans.en@pirate = public/language/en@pirate/modules.json
|
trans.en@pirate = public/language/en@pirate/modules.json
|
||||||
trans.es = public/language/es/modules.json
|
trans.es = public/language/es/modules.json
|
||||||
@@ -187,8 +197,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/register.json
|
source_file = public/language/en_GB/register.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/register.json
|
trans.ar = public/language/ar/register.json
|
||||||
|
trans.bn = public/language/bn/register.json
|
||||||
trans.cs = public/language/cs/register.json
|
trans.cs = public/language/cs/register.json
|
||||||
trans.de = public/language/de/register.json
|
trans.de = public/language/de/register.json
|
||||||
|
trans.el = public/language/el/register.json
|
||||||
trans.en_US = public/language/en_US/register.json
|
trans.en_US = public/language/en_US/register.json
|
||||||
trans.en@pirate = public/language/en@pirate/register.json
|
trans.en@pirate = public/language/en@pirate/register.json
|
||||||
trans.es = public/language/es/register.json
|
trans.es = public/language/es/register.json
|
||||||
@@ -223,8 +235,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/user.json
|
source_file = public/language/en_GB/user.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/user.json
|
trans.ar = public/language/ar/user.json
|
||||||
|
trans.bn = public/language/bn/user.json
|
||||||
trans.cs = public/language/cs/user.json
|
trans.cs = public/language/cs/user.json
|
||||||
trans.de = public/language/de/user.json
|
trans.de = public/language/de/user.json
|
||||||
|
trans.el = public/language/el/user.json
|
||||||
trans.en_US = public/language/en_US/user.json
|
trans.en_US = public/language/en_US/user.json
|
||||||
trans.en@pirate = public/language/en@pirate/user.json
|
trans.en@pirate = public/language/en@pirate/user.json
|
||||||
trans.es = public/language/es/user.json
|
trans.es = public/language/es/user.json
|
||||||
@@ -259,8 +273,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/global.json
|
source_file = public/language/en_GB/global.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/global.json
|
trans.ar = public/language/ar/global.json
|
||||||
|
trans.bn = public/language/bn/global.json
|
||||||
trans.cs = public/language/cs/global.json
|
trans.cs = public/language/cs/global.json
|
||||||
trans.de = public/language/de/global.json
|
trans.de = public/language/de/global.json
|
||||||
|
trans.el = public/language/el/global.json
|
||||||
trans.en_US = public/language/en_US/global.json
|
trans.en_US = public/language/en_US/global.json
|
||||||
trans.en@pirate = public/language/en@pirate/global.json
|
trans.en@pirate = public/language/en@pirate/global.json
|
||||||
trans.es = public/language/es/global.json
|
trans.es = public/language/es/global.json
|
||||||
@@ -295,8 +311,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/notifications.json
|
source_file = public/language/en_GB/notifications.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/notifications.json
|
trans.ar = public/language/ar/notifications.json
|
||||||
|
trans.bn = public/language/bn/notifications.json
|
||||||
trans.cs = public/language/cs/notifications.json
|
trans.cs = public/language/cs/notifications.json
|
||||||
trans.de = public/language/de/notifications.json
|
trans.de = public/language/de/notifications.json
|
||||||
|
trans.el = public/language/el/notifications.json
|
||||||
trans.en_US = public/language/en_US/notifications.json
|
trans.en_US = public/language/en_US/notifications.json
|
||||||
trans.en@pirate = public/language/en@pirate/notifications.json
|
trans.en@pirate = public/language/en@pirate/notifications.json
|
||||||
trans.es = public/language/es/notifications.json
|
trans.es = public/language/es/notifications.json
|
||||||
@@ -331,8 +349,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/reset_password.json
|
source_file = public/language/en_GB/reset_password.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/reset_password.json
|
trans.ar = public/language/ar/reset_password.json
|
||||||
|
trans.bn = public/language/bn/reset_password.json
|
||||||
trans.cs = public/language/cs/reset_password.json
|
trans.cs = public/language/cs/reset_password.json
|
||||||
trans.de = public/language/de/reset_password.json
|
trans.de = public/language/de/reset_password.json
|
||||||
|
trans.el = public/language/el/reset_password.json
|
||||||
trans.en_US = public/language/en_US/reset_password.json
|
trans.en_US = public/language/en_US/reset_password.json
|
||||||
trans.en@pirate = public/language/en@pirate/reset_password.json
|
trans.en@pirate = public/language/en@pirate/reset_password.json
|
||||||
trans.es = public/language/es/reset_password.json
|
trans.es = public/language/es/reset_password.json
|
||||||
@@ -367,8 +387,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/users.json
|
source_file = public/language/en_GB/users.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/users.json
|
trans.ar = public/language/ar/users.json
|
||||||
|
trans.bn = public/language/bn/users.json
|
||||||
trans.cs = public/language/cs/users.json
|
trans.cs = public/language/cs/users.json
|
||||||
trans.de = public/language/de/users.json
|
trans.de = public/language/de/users.json
|
||||||
|
trans.el = public/language/el/users.json
|
||||||
trans.en_US = public/language/en_US/users.json
|
trans.en_US = public/language/en_US/users.json
|
||||||
trans.en@pirate = public/language/en@pirate/users.json
|
trans.en@pirate = public/language/en@pirate/users.json
|
||||||
trans.es = public/language/es/users.json
|
trans.es = public/language/es/users.json
|
||||||
@@ -403,8 +425,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/language.json
|
source_file = public/language/en_GB/language.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/language.json
|
trans.ar = public/language/ar/language.json
|
||||||
|
trans.bn = public/language/bn/language.json
|
||||||
trans.cs = public/language/cs/language.json
|
trans.cs = public/language/cs/language.json
|
||||||
trans.de = public/language/de/language.json
|
trans.de = public/language/de/language.json
|
||||||
|
trans.el = public/language/el/language.json
|
||||||
trans.en_US = public/language/en_US/language.json
|
trans.en_US = public/language/en_US/language.json
|
||||||
trans.en@pirate = public/language/en@pirate/language.json
|
trans.en@pirate = public/language/en@pirate/language.json
|
||||||
trans.es = public/language/es/language.json
|
trans.es = public/language/es/language.json
|
||||||
@@ -439,8 +463,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/pages.json
|
source_file = public/language/en_GB/pages.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/pages.json
|
trans.ar = public/language/ar/pages.json
|
||||||
|
trans.bn = public/language/bn/pages.json
|
||||||
trans.cs = public/language/cs/pages.json
|
trans.cs = public/language/cs/pages.json
|
||||||
trans.de = public/language/de/pages.json
|
trans.de = public/language/de/pages.json
|
||||||
|
trans.el = public/language/el/pages.json
|
||||||
trans.en_US = public/language/en_US/pages.json
|
trans.en_US = public/language/en_US/pages.json
|
||||||
trans.en@pirate = public/language/en@pirate/pages.json
|
trans.en@pirate = public/language/en@pirate/pages.json
|
||||||
trans.es = public/language/es/pages.json
|
trans.es = public/language/es/pages.json
|
||||||
@@ -475,8 +501,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/topic.json
|
source_file = public/language/en_GB/topic.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/topic.json
|
trans.ar = public/language/ar/topic.json
|
||||||
|
trans.bn = public/language/bn/topic.json
|
||||||
trans.cs = public/language/cs/topic.json
|
trans.cs = public/language/cs/topic.json
|
||||||
trans.de = public/language/de/topic.json
|
trans.de = public/language/de/topic.json
|
||||||
|
trans.el = public/language/el/topic.json
|
||||||
trans.en_US = public/language/en_US/topic.json
|
trans.en_US = public/language/en_US/topic.json
|
||||||
trans.en@pirate = public/language/en@pirate/topic.json
|
trans.en@pirate = public/language/en@pirate/topic.json
|
||||||
trans.es = public/language/es/topic.json
|
trans.es = public/language/es/topic.json
|
||||||
@@ -511,8 +539,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/success.json
|
source_file = public/language/en_GB/success.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/success.json
|
trans.ar = public/language/ar/success.json
|
||||||
|
trans.bn = public/language/bn/success.json
|
||||||
trans.cs = public/language/cs/success.json
|
trans.cs = public/language/cs/success.json
|
||||||
trans.de = public/language/de/success.json
|
trans.de = public/language/de/success.json
|
||||||
|
trans.el = public/language/el/success.json
|
||||||
trans.en_US = public/language/en_US/success.json
|
trans.en_US = public/language/en_US/success.json
|
||||||
trans.en@pirate = public/language/en@pirate/success.json
|
trans.en@pirate = public/language/en@pirate/success.json
|
||||||
trans.es = public/language/es/success.json
|
trans.es = public/language/es/success.json
|
||||||
@@ -547,8 +577,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/error.json
|
source_file = public/language/en_GB/error.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/error.json
|
trans.ar = public/language/ar/error.json
|
||||||
|
trans.bn = public/language/bn/error.json
|
||||||
trans.cs = public/language/cs/error.json
|
trans.cs = public/language/cs/error.json
|
||||||
trans.de = public/language/de/error.json
|
trans.de = public/language/de/error.json
|
||||||
|
trans.el = public/language/el/error.json
|
||||||
trans.en_US = public/language/en_US/error.json
|
trans.en_US = public/language/en_US/error.json
|
||||||
trans.en@pirate = public/language/en@pirate/error.json
|
trans.en@pirate = public/language/en@pirate/error.json
|
||||||
trans.es = public/language/es/error.json
|
trans.es = public/language/es/error.json
|
||||||
@@ -583,8 +615,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/tags.json
|
source_file = public/language/en_GB/tags.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/tags.json
|
trans.ar = public/language/ar/tags.json
|
||||||
|
trans.bn = public/language/bn/tags.json
|
||||||
trans.cs = public/language/cs/tags.json
|
trans.cs = public/language/cs/tags.json
|
||||||
trans.de = public/language/de/tags.json
|
trans.de = public/language/de/tags.json
|
||||||
|
trans.el = public/language/el/tags.json
|
||||||
trans.en_US = public/language/en_US/tags.json
|
trans.en_US = public/language/en_US/tags.json
|
||||||
trans.en@pirate = public/language/en@pirate/tags.json
|
trans.en@pirate = public/language/en@pirate/tags.json
|
||||||
trans.es = public/language/es/tags.json
|
trans.es = public/language/es/tags.json
|
||||||
@@ -619,8 +653,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/email.json
|
source_file = public/language/en_GB/email.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/email.json
|
trans.ar = public/language/ar/email.json
|
||||||
|
trans.bn = public/language/bn/email.json
|
||||||
trans.cs = public/language/cs/email.json
|
trans.cs = public/language/cs/email.json
|
||||||
trans.de = public/language/de/email.json
|
trans.de = public/language/de/email.json
|
||||||
|
trans.el = public/language/el/email.json
|
||||||
trans.en_US = public/language/en_US/email.json
|
trans.en_US = public/language/en_US/email.json
|
||||||
trans.en@pirate = public/language/en@pirate/email.json
|
trans.en@pirate = public/language/en@pirate/email.json
|
||||||
trans.es = public/language/es/email.json
|
trans.es = public/language/es/email.json
|
||||||
@@ -655,8 +691,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/search.json
|
source_file = public/language/en_GB/search.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/search.json
|
trans.ar = public/language/ar/search.json
|
||||||
|
trans.bn = public/language/bn/search.json
|
||||||
trans.cs = public/language/cs/search.json
|
trans.cs = public/language/cs/search.json
|
||||||
trans.de = public/language/de/search.json
|
trans.de = public/language/de/search.json
|
||||||
|
trans.el = public/language/el/search.json
|
||||||
trans.en_US = public/language/en_US/search.json
|
trans.en_US = public/language/en_US/search.json
|
||||||
trans.en@pirate = public/language/en@pirate/search.json
|
trans.en@pirate = public/language/en@pirate/search.json
|
||||||
trans.es = public/language/es/search.json
|
trans.es = public/language/es/search.json
|
||||||
@@ -691,8 +729,10 @@ type = KEYVALUEJSON
|
|||||||
source_file = public/language/en_GB/groups.json
|
source_file = public/language/en_GB/groups.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/groups.json
|
trans.ar = public/language/ar/groups.json
|
||||||
|
trans.bn = public/language/bn/groups.json
|
||||||
trans.cs = public/language/cs/groups.json
|
trans.cs = public/language/cs/groups.json
|
||||||
trans.de = public/language/de/groups.json
|
trans.de = public/language/de/groups.json
|
||||||
|
trans.el = public/language/el/groups.json
|
||||||
trans.en_US = public/language/en_US/groups.json
|
trans.en_US = public/language/en_US/groups.json
|
||||||
trans.en@pirate = public/language/en@pirate/groups.json
|
trans.en@pirate = public/language/en@pirate/groups.json
|
||||||
trans.es = public/language/es/groups.json
|
trans.es = public/language/es/groups.json
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
# Having problems installing NodeBB?
|
||||||
|
|
||||||
|
Chances are somebody has run into this problem before. After consulting our [documentation](https://docs.nodebb.org/en/latest/installing/os.html), please head over to our [community support forum](https://community.nodebb.org) for advice.
|
||||||
|
|
||||||
|
|
||||||
# Issues & Bugs
|
# Issues & Bugs
|
||||||
|
|
||||||
Thanks for reporting an issue with NodeBB! Please follow these guidelines in order to streamline the debugging process. The more guidelines you follow, the easier it will be for us to reproduce your problem.
|
Thanks for reporting an issue with NodeBB! Please follow these guidelines in order to streamline the debugging process. The more guidelines you follow, the easier it will be for us to reproduce your problem.
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
|
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
|
||||||
|
|
||||||
|
[](https://gitter.im/NodeBB/NodeBB?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
[](https://travis-ci.org/NodeBB/NodeBB)
|
[](https://travis-ci.org/NodeBB/NodeBB)
|
||||||
[](https://david-dm.org/nodebb/nodebb)
|
[](https://david-dm.org/nodebb/nodebb)
|
||||||
[](https://codeclimate.com/github/NodeBB/NodeBB)
|
[](https://codeclimate.com/github/NodeBB/NodeBB)
|
||||||
@@ -9,7 +11,7 @@
|
|||||||
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
|
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
|
||||||
* [Demo & Meta Discussion](http://community.nodebb.org)
|
* [Demo & Meta Discussion](http://community.nodebb.org)
|
||||||
* [NodeBB Blog](http://blog.nodebb.org)
|
* [NodeBB Blog](http://blog.nodebb.org)
|
||||||
* [Documentation](http://docs.nodebb.org) - includes setup instructions for other platforms
|
* [Documentation & Installation Instructions](http://docs.nodebb.org)
|
||||||
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
|
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
|
||||||
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
||||||
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
|
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
|
||||||
|
|||||||
104
app.js
104
app.js
@@ -25,10 +25,11 @@ nconf.argv().env();
|
|||||||
|
|
||||||
var fs = require('fs'),
|
var fs = require('fs'),
|
||||||
os = require('os'),
|
os = require('os'),
|
||||||
|
url = require('url'),
|
||||||
|
async = require('async'),
|
||||||
semver = require('semver'),
|
semver = require('semver'),
|
||||||
winston = require('winston'),
|
winston = require('winston'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
cluster = require('cluster'),
|
|
||||||
pkg = require('./package.json'),
|
pkg = require('./package.json'),
|
||||||
utils = require('./public/src/utils.js');
|
utils = require('./public/src/utils.js');
|
||||||
|
|
||||||
@@ -38,12 +39,11 @@ global.env = process.env.NODE_ENV || 'production';
|
|||||||
winston.remove(winston.transports.Console);
|
winston.remove(winston.transports.Console);
|
||||||
winston.add(winston.transports.Console, {
|
winston.add(winston.transports.Console, {
|
||||||
colorize: true,
|
colorize: true,
|
||||||
timestamp: true
|
timestamp: function() {
|
||||||
});
|
var date = new Date();
|
||||||
|
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
|
||||||
winston.add(winston.transports.File, {
|
},
|
||||||
filename: 'logs/error.log',
|
level: global.env === 'production' ? 'info' : 'verbose'
|
||||||
level: 'error'
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
|
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
|
||||||
@@ -59,7 +59,7 @@ if(os.platform() === 'linux') {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cluster.isWorker) {
|
if (!process.send) {
|
||||||
// If run using `node app`, log GNU copyright info along with server info
|
// If run using `node app`, log GNU copyright info along with server info
|
||||||
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
|
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
|
||||||
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
|
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
|
||||||
@@ -94,10 +94,14 @@ function loadConfig() {
|
|||||||
nconf.defaults({
|
nconf.defaults({
|
||||||
base_dir: __dirname,
|
base_dir: __dirname,
|
||||||
themes_path: path.join(__dirname, 'node_modules'),
|
themes_path: path.join(__dirname, 'node_modules'),
|
||||||
upload_url: '/uploads/',
|
|
||||||
views_dir: path.join(__dirname, 'public/templates')
|
views_dir: path.join(__dirname, 'public/templates')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!nconf.get('isCluster')) {
|
||||||
|
nconf.set('isPrimary', 'true');
|
||||||
|
nconf.set('isCluster', 'false');
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure themes_path is a full filepath
|
// Ensure themes_path is a full filepath
|
||||||
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
||||||
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
|
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
|
||||||
@@ -107,20 +111,33 @@ function loadConfig() {
|
|||||||
function start() {
|
function start() {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
if (!cluster.isWorker || process.env.cluster_setup === 'true') {
|
// nconf defaults, if not set in config
|
||||||
winston.info('Time: ' + new Date());
|
if (!nconf.get('upload_path')) {
|
||||||
winston.info('Initializing NodeBB v' + pkg.version);
|
nconf.set('upload_path', '/public/uploads');
|
||||||
winston.info('* using configuration stored in: ' + configFile);
|
|
||||||
}
|
}
|
||||||
|
// Parse out the relative_url and other goodies from the configured URL
|
||||||
|
var urlObject = url.parse(nconf.get('url'));
|
||||||
|
var relativePath = urlObject.pathname !== '/' ? urlObject.pathname : '';
|
||||||
|
nconf.set('use_port', !!urlObject.port);
|
||||||
|
nconf.set('relative_path', relativePath);
|
||||||
|
nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567);
|
||||||
|
nconf.set('upload_url', relativePath + '/uploads/');
|
||||||
|
|
||||||
|
if (nconf.get('isPrimary') === 'true') {
|
||||||
|
winston.info('Time: %s', (new Date()).toString());
|
||||||
|
winston.info('Initializing NodeBB v%s', pkg.version);
|
||||||
|
winston.verbose('* using configuration stored in: %s', configFile);
|
||||||
|
|
||||||
if (cluster.isWorker && process.env.cluster_setup === 'true') {
|
|
||||||
var host = nconf.get(nconf.get('database') + ':host'),
|
var host = nconf.get(nconf.get('database') + ':host'),
|
||||||
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
|
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
|
||||||
|
|
||||||
winston.info('* using ' + nconf.get('database') +' store ' + storeLocation);
|
winston.verbose('* using %s store %s', nconf.get('database'), storeLocation);
|
||||||
winston.info('* using themes stored in: ' + nconf.get('themes_path'));
|
winston.verbose('* using themes stored in: %s', nconf.get('themes_path'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var webserver = require('./src/webserver');
|
||||||
|
|
||||||
require('./src/database').init(function(err) {
|
require('./src/database').init(function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
winston.error(err.stack);
|
winston.error(err.stack);
|
||||||
@@ -129,7 +146,6 @@ function start() {
|
|||||||
var meta = require('./src/meta');
|
var meta = require('./src/meta');
|
||||||
meta.configs.init(function () {
|
meta.configs.init(function () {
|
||||||
var templates = require('templates.js'),
|
var templates = require('templates.js'),
|
||||||
webserver = require('./src/webserver'),
|
|
||||||
sockets = require('./src/socket.io'),
|
sockets = require('./src/socket.io'),
|
||||||
plugins = require('./src/plugins'),
|
plugins = require('./src/plugins'),
|
||||||
upgrade = require('./src/upgrade');
|
upgrade = require('./src/upgrade');
|
||||||
@@ -138,18 +154,30 @@ function start() {
|
|||||||
|
|
||||||
upgrade.check(function(schema_ok) {
|
upgrade.check(function(schema_ok) {
|
||||||
if (schema_ok || nconf.get('check-schema') === false) {
|
if (schema_ok || nconf.get('check-schema') === false) {
|
||||||
|
webserver.init();
|
||||||
sockets.init(webserver.server);
|
sockets.init(webserver.server);
|
||||||
|
|
||||||
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
|
if (nconf.get('isPrimary') === 'true' && !nconf.get('jobsDisabled')) {
|
||||||
|
require('./src/notifications').init();
|
||||||
|
require('./src/user').startJobs();
|
||||||
|
}
|
||||||
|
|
||||||
plugins.ready(function() {
|
async.waterfall([
|
||||||
webserver.init(function() {
|
async.apply(meta.themes.setupPaths),
|
||||||
webserver.listen(function() {
|
async.apply(plugins.ready),
|
||||||
process.send({
|
async.apply(meta.templates.compile),
|
||||||
action: 'ready'
|
async.apply(webserver.listen)
|
||||||
});
|
], function(err) {
|
||||||
|
if (err) {
|
||||||
|
winston.error(err.stack);
|
||||||
|
process.exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (process.send) {
|
||||||
|
process.send({
|
||||||
|
action: 'ready'
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
process.on('SIGTERM', shutdown);
|
process.on('SIGTERM', shutdown);
|
||||||
@@ -163,12 +191,14 @@ function start() {
|
|||||||
case 'js-propagate':
|
case 'js-propagate':
|
||||||
meta.js.cache = message.cache;
|
meta.js.cache = message.cache;
|
||||||
meta.js.map = message.map;
|
meta.js.map = message.map;
|
||||||
winston.info('[cluster] Client-side javascript and mapping propagated to worker ' + cluster.worker.id);
|
meta.js.hash = message.hash;
|
||||||
|
winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid);
|
||||||
break;
|
break;
|
||||||
case 'css-propagate':
|
case 'css-propagate':
|
||||||
meta.css.cache = message.cache;
|
meta.css.cache = message.cache;
|
||||||
meta.css.acpCache = message.acpCache;
|
meta.css.acpCache = message.acpCache;
|
||||||
winston.info('[cluster] Stylesheets propagated to worker ' + cluster.worker.id);
|
meta.css.hash = message.hash;
|
||||||
|
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -183,11 +213,7 @@ function start() {
|
|||||||
} else {
|
} else {
|
||||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||||
winston.warn(' ./nodebb upgrade');
|
winston.warn(' ./nodebb upgrade');
|
||||||
if (cluster.isWorker) {
|
process.exit();
|
||||||
cluster.worker.kill();
|
|
||||||
} else {
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -243,7 +269,7 @@ function reset() {
|
|||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nconf.get('themes')) {
|
if (nconf.get('theme')) {
|
||||||
resetThemes();
|
resetThemes();
|
||||||
} else if (nconf.get('plugin')) {
|
} else if (nconf.get('plugin')) {
|
||||||
resetPlugin(nconf.get('plugin'));
|
resetPlugin(nconf.get('plugin'));
|
||||||
@@ -258,12 +284,16 @@ function reset() {
|
|||||||
if (!err) {
|
if (!err) {
|
||||||
winston.info('[reset] Reset complete.');
|
winston.info('[reset] Reset complete.');
|
||||||
} else {
|
} else {
|
||||||
winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
|
winston.error('[reset] Errors were encountered while resetting your forum settings: %s', err.message);
|
||||||
}
|
}
|
||||||
process.exit();
|
process.exit();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
winston.warn('[reset] Nothing reset.');
|
winston.warn('[reset] Nothing reset.');
|
||||||
|
winston.info('Use ./nodebb reset {theme|plugins|widgets|settings|all}');
|
||||||
|
winston.info(' or');
|
||||||
|
winston.info('Use ./nodebb reset plugin="nodebb-plugin-pluginName"');
|
||||||
|
process.exit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -300,14 +330,14 @@ function resetPlugin(pluginId) {
|
|||||||
var db = require('./src/database');
|
var db = require('./src/database');
|
||||||
db.setRemove('plugins:active', pluginId, function(err, result) {
|
db.setRemove('plugins:active', pluginId, function(err, result) {
|
||||||
if (err || result !== 1) {
|
if (err || result !== 1) {
|
||||||
winston.error('[reset] Could not disable plugin: ' + pluginId);
|
winston.error('[reset] Could not disable plugin: %s', pluginId);
|
||||||
if (err) {
|
if (err) {
|
||||||
winston.error('[reset] Encountered error: ' + err.message);
|
winston.error('[reset] Encountered error: %s', err.message);
|
||||||
} else {
|
} else {
|
||||||
winston.info('[reset] Perhaps it has already been disabled?');
|
winston.info('[reset] Perhaps it has already been disabled?');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
winston.info('[reset] Plugin `' + pluginId + '` disabled');
|
winston.info('[reset] Plugin `%s` disabled', pluginId);
|
||||||
}
|
}
|
||||||
|
|
||||||
process.exit();
|
process.exit();
|
||||||
|
|||||||
58
bcrypt.js
58
bcrypt.js
@@ -2,28 +2,42 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var bcrypt = require('bcryptjs'),
|
var bcrypt = require('bcryptjs'),
|
||||||
async = require('async'),
|
async = require('async');
|
||||||
action = process.argv[2];
|
|
||||||
|
|
||||||
switch(action) {
|
|
||||||
case 'compare':
|
|
||||||
bcrypt.compare(process.argv[3], process.argv[4], function(err, res) {
|
|
||||||
process.stdout.write(res ? 'true' : 'false');
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'hash':
|
process.on('message', function(msg) {
|
||||||
async.waterfall([
|
if (msg.type === 'hash') {
|
||||||
async.apply(bcrypt.genSalt, parseInt(process.argv[3], 10)),
|
hashPassword(msg.password, msg.rounds);
|
||||||
function(salt, next) {
|
} else if (msg.type === 'compare') {
|
||||||
bcrypt.hash(process.argv[4], salt, next);
|
compare(msg.password, msg.hash);
|
||||||
}
|
}
|
||||||
], function(err, hash) {
|
});
|
||||||
if (!err) {
|
|
||||||
process.stdout.write(hash);
|
function hashPassword(password, rounds) {
|
||||||
} else {
|
async.waterfall([
|
||||||
process.stderr.write(err.message);
|
function(next) {
|
||||||
}
|
bcrypt.genSalt(parseInt(rounds, 10), next);
|
||||||
});
|
},
|
||||||
break;
|
function(salt, next) {
|
||||||
|
bcrypt.hash(password, salt, next);
|
||||||
|
}
|
||||||
|
], function(err, hash) {
|
||||||
|
if (err) {
|
||||||
|
process.send({err: err.message});
|
||||||
|
return process.disconnect();
|
||||||
|
}
|
||||||
|
process.send({result: hash});
|
||||||
|
process.disconnect();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function compare(password, hash) {
|
||||||
|
bcrypt.compare(password, hash, function(err, res) {
|
||||||
|
if (err) {
|
||||||
|
process.send({err: err.message});
|
||||||
|
return process.disconnect();
|
||||||
|
}
|
||||||
|
process.send({result: res});
|
||||||
|
process.disconnect();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,14 @@
|
|||||||
"field": "initialPostDelay",
|
"field": "initialPostDelay",
|
||||||
"value": 10
|
"value": 10
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"field": "newbiePostDelay",
|
||||||
|
"value": 120
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "newbiePostDelayThreshold",
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"field": "minimumPostLength",
|
"field": "minimumPostLength",
|
||||||
"value": 8
|
"value": 8
|
||||||
|
|||||||
295
loader.js
295
loader.js
@@ -1,9 +1,11 @@
|
|||||||
"use strict";
|
'use strict';
|
||||||
|
|
||||||
var nconf = require('nconf'),
|
var nconf = require('nconf'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
|
url = require('url'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
cluster = require('cluster'),
|
fork = require('child_process').fork,
|
||||||
|
|
||||||
async = require('async'),
|
async = require('async'),
|
||||||
logrotate = require('logrotate-stream'),
|
logrotate = require('logrotate-stream'),
|
||||||
|
|
||||||
@@ -11,12 +13,12 @@ var nconf = require('nconf'),
|
|||||||
|
|
||||||
pidFilePath = __dirname + '/pidfile',
|
pidFilePath = __dirname + '/pidfile',
|
||||||
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
||||||
silent = process.env.NODE_ENV !== 'development' ? true : false,
|
silent = process.env.NODE_ENV !== 'development',
|
||||||
numProcs,
|
numProcs,
|
||||||
|
workers = [],
|
||||||
|
|
||||||
Loader = {
|
Loader = {
|
||||||
timesStarted: 0,
|
timesStarted: 0,
|
||||||
shutdown_queue: [],
|
|
||||||
js: {
|
js: {
|
||||||
cache: undefined,
|
cache: undefined,
|
||||||
map: undefined
|
map: undefined
|
||||||
@@ -28,12 +30,6 @@ var nconf = require('nconf'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
Loader.init = function(callback) {
|
Loader.init = function(callback) {
|
||||||
cluster.setupMaster({
|
|
||||||
exec: "app.js",
|
|
||||||
silent: silent
|
|
||||||
});
|
|
||||||
Loader.primaryWorker = 1;
|
|
||||||
|
|
||||||
if (silent) {
|
if (silent) {
|
||||||
console.log = function(value) {
|
console.log = function(value) {
|
||||||
output.write(value + '\n');
|
output.write(value + '\n');
|
||||||
@@ -41,6 +37,8 @@ Loader.init = function(callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
process.on('SIGHUP', Loader.restart);
|
process.on('SIGHUP', Loader.restart);
|
||||||
|
process.on('SIGUSR2', Loader.reload);
|
||||||
|
process.on('SIGTERM', Loader.stop);
|
||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -54,98 +52,9 @@ Loader.displayStartupMessages = function(callback) {
|
|||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
|
|
||||||
Loader.addClusterEvents = function(callback) {
|
Loader.addWorkerEvents = function(worker) {
|
||||||
cluster.on('fork', function(worker) {
|
|
||||||
worker.on('message', function(message) {
|
|
||||||
if (message && typeof message === 'object' && message.action) {
|
|
||||||
var otherWorkers;
|
|
||||||
|
|
||||||
switch (message.action) {
|
worker.on('exit', function(code, signal) {
|
||||||
case 'ready':
|
|
||||||
if (Loader.js.cache) {
|
|
||||||
worker.send({
|
|
||||||
action: 'js-propagate',
|
|
||||||
cache: Loader.js.cache,
|
|
||||||
map: Loader.js.map
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Loader.css.cache) {
|
|
||||||
worker.send({
|
|
||||||
action: 'css-propagate',
|
|
||||||
cache: Loader.css.cache,
|
|
||||||
acpCache: Loader.css.acpCache
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Kill an instance in the shutdown queue
|
|
||||||
var workerToKill = Loader.shutdown_queue.pop();
|
|
||||||
if (workerToKill) {
|
|
||||||
cluster.workers[workerToKill].kill();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'restart':
|
|
||||||
console.log('[cluster] Restarting...');
|
|
||||||
Loader.restart(function(err) {
|
|
||||||
console.log('[cluster] Restarting...');
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'reload':
|
|
||||||
console.log('[cluster] Reloading...');
|
|
||||||
Loader.reload();
|
|
||||||
break;
|
|
||||||
case 'js-propagate':
|
|
||||||
Loader.js.cache = message.cache;
|
|
||||||
Loader.js.map = message.map;
|
|
||||||
|
|
||||||
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
|
|
||||||
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
otherWorkers.forEach(function(worker_id) {
|
|
||||||
cluster.workers[worker_id].send({
|
|
||||||
action: 'js-propagate',
|
|
||||||
cache: message.cache,
|
|
||||||
map: message.map
|
|
||||||
});
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'css-propagate':
|
|
||||||
Loader.css.cache = message.cache;
|
|
||||||
Loader.css.acpCache = message.acpCache;
|
|
||||||
|
|
||||||
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
|
|
||||||
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
otherWorkers.forEach(function(worker_id) {
|
|
||||||
cluster.workers[worker_id].send({
|
|
||||||
action: 'css-propagate',
|
|
||||||
cache: message.cache,
|
|
||||||
acpCache: message.acpCache
|
|
||||||
});
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'listening':
|
|
||||||
if (message.primary) {
|
|
||||||
Loader.primaryWorker = parseInt(worker.id, 10);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'user:connect':
|
|
||||||
case 'user:disconnect':
|
|
||||||
case 'config:update':
|
|
||||||
Loader.notifyWorkers(message);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
cluster.on('listening', function(worker) {
|
|
||||||
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.');
|
|
||||||
});
|
|
||||||
|
|
||||||
cluster.on('exit', function(worker, code, signal) {
|
|
||||||
if (code !== 0) {
|
if (code !== 0) {
|
||||||
if (Loader.timesStarted < numProcs*3) {
|
if (Loader.timesStarted < numProcs*3) {
|
||||||
Loader.timesStarted++;
|
Loader.timesStarted++;
|
||||||
@@ -154,81 +63,177 @@ Loader.addClusterEvents = function(callback) {
|
|||||||
}
|
}
|
||||||
Loader.crashTimer = setTimeout(function() {
|
Loader.crashTimer = setTimeout(function() {
|
||||||
Loader.timesStarted = 0;
|
Loader.timesStarted = 0;
|
||||||
});
|
}, 10000);
|
||||||
} else {
|
} else {
|
||||||
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
|
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('[cluster] Child Process (' + worker.process.pid + ') has exited (code: ' + code + ')');
|
console.log('[cluster] Child Process (' + worker.pid + ') has exited (code: ' + code + ', signal: ' + signal +')');
|
||||||
if (!worker.suicide) {
|
if (!(worker.suicide || code === 0)) {
|
||||||
console.log('[cluster] Spinning up another process...');
|
console.log('[cluster] Spinning up another process...');
|
||||||
|
|
||||||
var wasPrimary = parseInt(worker.id, 10) === Loader.primaryWorker;
|
forkWorker(worker.index, worker.isPrimary);
|
||||||
cluster.fork({
|
|
||||||
handle_jobs: wasPrimary
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
cluster.on('disconnect', function(worker) {
|
worker.on('message', function(message) {
|
||||||
console.log('[cluster] Child Process (' + worker.process.pid + ') has disconnected');
|
if (message && typeof message === 'object' && message.action) {
|
||||||
});
|
switch (message.action) {
|
||||||
|
case 'ready':
|
||||||
|
if (Loader.js.cache) {
|
||||||
|
worker.send({
|
||||||
|
action: 'js-propagate',
|
||||||
|
cache: Loader.js.cache,
|
||||||
|
map: Loader.js.map,
|
||||||
|
hash: Loader.js.hash
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
callback();
|
if (Loader.css.cache) {
|
||||||
}
|
worker.send({
|
||||||
|
action: 'css-propagate',
|
||||||
|
cache: Loader.css.cache,
|
||||||
|
acpCache: Loader.css.acpCache,
|
||||||
|
hash: Loader.css.hash
|
||||||
|
});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'restart':
|
||||||
|
console.log('[cluster] Restarting...');
|
||||||
|
Loader.restart();
|
||||||
|
break;
|
||||||
|
case 'reload':
|
||||||
|
console.log('[cluster] Reloading...');
|
||||||
|
Loader.reload();
|
||||||
|
break;
|
||||||
|
case 'js-propagate':
|
||||||
|
Loader.js.cache = message.cache;
|
||||||
|
Loader.js.map = message.map;
|
||||||
|
Loader.js.hash = message.hash;
|
||||||
|
|
||||||
Loader.start = function(callback) {
|
Loader.notifyWorkers({
|
||||||
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
action: 'js-propagate',
|
||||||
worker;
|
cache: message.cache,
|
||||||
|
map: message.map,
|
||||||
|
hash: message.hash
|
||||||
|
}, worker.pid);
|
||||||
|
break;
|
||||||
|
case 'css-propagate':
|
||||||
|
Loader.css.cache = message.cache;
|
||||||
|
Loader.css.acpCache = message.acpCache;
|
||||||
|
Loader.css.hash = message.hash;
|
||||||
|
|
||||||
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
|
Loader.notifyWorkers({
|
||||||
|
action: 'css-propagate',
|
||||||
for(var x=0;x<numProcs;x++) {
|
cache: message.cache,
|
||||||
// Only the first worker sets up templates/sounds/jobs/etc
|
acpCache: message.acpCache,
|
||||||
worker = cluster.fork({
|
hash: message.hash
|
||||||
cluster_setup: x === 0,
|
}, worker.pid);
|
||||||
handle_jobs: x === 0
|
break;
|
||||||
});
|
}
|
||||||
|
|
||||||
// Logging
|
|
||||||
if (silent) {
|
|
||||||
worker.process.stdout.pipe(output);
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
if (callback) callback();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Loader.restart = function(callback) {
|
Loader.start = function(callback) {
|
||||||
// Slate existing workers for termination -- welcome to death row.
|
numProcs = getPorts().length;
|
||||||
Loader.shutdown_queue = Loader.shutdown_queue.concat(Object.keys(cluster.workers));
|
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
|
||||||
|
|
||||||
|
for (var x=0; x<numProcs; ++x) {
|
||||||
|
forkWorker(x, x === 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (callback) {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function forkWorker(index, isPrimary) {
|
||||||
|
var ports = getPorts();
|
||||||
|
|
||||||
|
if(!ports[index]) {
|
||||||
|
return console.log('[cluster] invalid port for worker : ' + index + ' ports: ' + ports.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.env.isPrimary = isPrimary;
|
||||||
|
process.env.isCluster = true;
|
||||||
|
process.env.port = ports[index];
|
||||||
|
|
||||||
|
var worker = fork('app.js', [], {
|
||||||
|
silent: silent,
|
||||||
|
env: process.env
|
||||||
|
});
|
||||||
|
|
||||||
|
worker.index = index;
|
||||||
|
worker.isPrimary = isPrimary;
|
||||||
|
|
||||||
|
workers[index] = worker;
|
||||||
|
|
||||||
|
Loader.addWorkerEvents(worker);
|
||||||
|
|
||||||
|
if (silent) {
|
||||||
|
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true });
|
||||||
|
worker.stdout.pipe(output);
|
||||||
|
worker.stderr.pipe(output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPorts() {
|
||||||
|
var urlObject = url.parse(nconf.get('url'));
|
||||||
|
var port = nconf.get('port') || nconf.get('PORT') || urlObject.port || 4567;
|
||||||
|
if (!Array.isArray(port)) {
|
||||||
|
port = [port];
|
||||||
|
}
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader.restart = function() {
|
||||||
|
killWorkers();
|
||||||
|
|
||||||
Loader.start();
|
Loader.start();
|
||||||
};
|
};
|
||||||
|
|
||||||
Loader.reload = function() {
|
Loader.reload = function() {
|
||||||
Object.keys(cluster.workers).forEach(function(worker_id) {
|
workers.forEach(function(worker) {
|
||||||
cluster.workers[worker_id].send({
|
worker.send({
|
||||||
action: 'reload'
|
action: 'reload'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
Loader.notifyWorkers = function (msg) {
|
Loader.stop = function() {
|
||||||
Object.keys(cluster.workers).forEach(function(id) {
|
killWorkers();
|
||||||
cluster.workers[id].send(msg);
|
|
||||||
|
// Clean up the pidfile
|
||||||
|
fs.unlinkSync(__dirname + '/pidfile');
|
||||||
|
};
|
||||||
|
|
||||||
|
function killWorkers() {
|
||||||
|
workers.forEach(function(worker) {
|
||||||
|
worker.suicide = true;
|
||||||
|
worker.kill();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loader.notifyWorkers = function(msg, worker_pid) {
|
||||||
|
worker_pid = parseInt(worker_pid, 10);
|
||||||
|
workers.forEach(function(worker) {
|
||||||
|
if (parseInt(worker.pid, 10) !== worker_pid) {
|
||||||
|
try {
|
||||||
|
worker.send(msg);
|
||||||
|
} catch (e) {
|
||||||
|
console.log('[cluster/notifyWorkers] Failed to reach pid ' + worker_pid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
nconf.argv().file({
|
nconf.argv().file({
|
||||||
file: path.join(__dirname, '/config.json')
|
file: path.join(__dirname, '/config.json')
|
||||||
});
|
});
|
||||||
|
|
||||||
numProcs = nconf.get('cluster') || 1;
|
|
||||||
numProcs = (numProcs === true) ? require('os').cpus().length : numProcs;
|
|
||||||
|
|
||||||
if (nconf.get('daemon') !== false) {
|
if (nconf.get('daemon') !== false) {
|
||||||
if (fs.existsSync(pidFilePath)) {
|
if (fs.existsSync(pidFilePath)) {
|
||||||
try {
|
try {
|
||||||
@@ -240,7 +245,10 @@ if (nconf.get('daemon') !== false) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
require('daemon')();
|
require('daemon')({
|
||||||
|
stdout: process.stdout,
|
||||||
|
stderr: process.stderr
|
||||||
|
});
|
||||||
|
|
||||||
fs.writeFile(__dirname + '/pidfile', process.pid);
|
fs.writeFile(__dirname + '/pidfile', process.pid);
|
||||||
}
|
}
|
||||||
@@ -248,7 +256,6 @@ if (nconf.get('daemon') !== false) {
|
|||||||
async.series([
|
async.series([
|
||||||
Loader.init,
|
Loader.init,
|
||||||
Loader.displayStartupMessages,
|
Loader.displayStartupMessages,
|
||||||
Loader.addClusterEvents,
|
|
||||||
Loader.start
|
Loader.start
|
||||||
], function(err) {
|
], function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
68
minifier.js
68
minifier.js
@@ -12,25 +12,38 @@ var uglifyjs = require('uglify-js'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Javascript */
|
/* Javascript */
|
||||||
Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
Minifier.js.minify = function (scripts, minify, callback) {
|
||||||
var options = {
|
|
||||||
compress: false,
|
|
||||||
sourceMapURL: '/nodebb.min.js.map',
|
|
||||||
outSourceMap: 'nodebb.min.js.map',
|
|
||||||
sourceRoot: relativePath
|
|
||||||
};
|
|
||||||
|
|
||||||
scripts = scripts.filter(function(file) {
|
scripts = scripts.filter(function(file) {
|
||||||
return fs.existsSync(file);
|
return fs.existsSync(file);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!minify) {
|
if (minify) {
|
||||||
options.mangle = false;
|
minifyScripts(scripts, function() {
|
||||||
options.prefix = 1;
|
callback.apply(this, arguments);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
concatenateScripts(scripts, callback);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
process.on('message', function(payload) {
|
||||||
|
switch(payload.action) {
|
||||||
|
case 'js':
|
||||||
|
Minifier.js.minify(payload.scripts, payload.minify, function(minified) {
|
||||||
|
process.send({
|
||||||
|
type: 'end',
|
||||||
|
minified: minified
|
||||||
|
});
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function minifyScripts(scripts, callback) {
|
||||||
try {
|
try {
|
||||||
var minified = uglifyjs.minify(scripts, options),
|
var minified = uglifyjs.minify(scripts, {
|
||||||
|
compress: false
|
||||||
|
}),
|
||||||
hasher = crypto.createHash('md5'),
|
hasher = crypto.createHash('md5'),
|
||||||
hash;
|
hash;
|
||||||
|
|
||||||
@@ -42,27 +55,26 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
|||||||
payload: hash.slice(0, 8)
|
payload: hash.slice(0, 8)
|
||||||
});
|
});
|
||||||
|
|
||||||
callback({
|
callback(minified.code);
|
||||||
js: minified.code,
|
|
||||||
map: minified.map
|
|
||||||
});
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
process.send({
|
process.send({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
payload: err
|
payload: err.message
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
process.on('message', function(payload) {
|
function concatenateScripts(scripts, callback) {
|
||||||
switch(payload.action) {
|
async.map(scripts, fs.readFile, function(err, scripts) {
|
||||||
case 'js':
|
if (err) {
|
||||||
Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) {
|
|
||||||
process.send({
|
process.send({
|
||||||
type: 'end',
|
type: 'error',
|
||||||
data: data
|
payload: err
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
break;
|
|
||||||
}
|
scripts = scripts.join(require('os').EOL + ';');
|
||||||
});
|
|
||||||
|
callback(scripts);
|
||||||
|
});
|
||||||
|
}
|
||||||
23
nodebb
23
nodebb
@@ -12,10 +12,11 @@ fi
|
|||||||
function pidExists() {
|
function pidExists() {
|
||||||
if [ -e "pidfile" ];
|
if [ -e "pidfile" ];
|
||||||
then
|
then
|
||||||
kill -s 0 $(cat pidfile);
|
if ps -p $(cat pidfile) > /dev/null
|
||||||
if [ !$? ];
|
|
||||||
then return 1;
|
then return 1;
|
||||||
else return 0;
|
else
|
||||||
|
rm ./pidfile;
|
||||||
|
return 0;
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
@@ -29,7 +30,7 @@ case "$1" in
|
|||||||
echo " \"./nodebb log\" to view server output";
|
echo " \"./nodebb log\" to view server output";
|
||||||
|
|
||||||
# Start the loader daemon
|
# Start the loader daemon
|
||||||
"$node" loader -d "$@"
|
"$node" loader "$@"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
stop)
|
stop)
|
||||||
@@ -43,7 +44,7 @@ case "$1" in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
reload|restart)
|
restart)
|
||||||
pidExists;
|
pidExists;
|
||||||
if [ 0 -eq $? ];
|
if [ 0 -eq $? ];
|
||||||
then
|
then
|
||||||
@@ -54,6 +55,17 @@ case "$1" in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
reload)
|
||||||
|
pidExists;
|
||||||
|
if [ 0 -eq $? ];
|
||||||
|
then
|
||||||
|
echo "NodeBB could not be reloaded, as a running instance could not be found.";
|
||||||
|
else
|
||||||
|
echo "Reloading NodeBB.";
|
||||||
|
kill -12 $(cat pidfile);
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
status)
|
status)
|
||||||
pidExists;
|
pidExists;
|
||||||
if [ 0 -eq $? ];
|
if [ 0 -eq $? ];
|
||||||
@@ -80,7 +92,6 @@ case "$1" in
|
|||||||
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
|
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
|
||||||
"$node" app --upgrade
|
"$node" app --upgrade
|
||||||
touch package.json
|
touch package.json
|
||||||
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
setup)
|
setup)
|
||||||
|
|||||||
2610
npm-shrinkwrap.json
generated
Normal file
2610
npm-shrinkwrap.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
39
package.json
39
package.json
@@ -2,7 +2,7 @@
|
|||||||
"name": "nodebb",
|
"name": "nodebb",
|
||||||
"license": "GPLv3 or later",
|
"license": "GPLv3 or later",
|
||||||
"description": "NodeBB Forum",
|
"description": "NodeBB Forum",
|
||||||
"version": "0.5.3-dev",
|
"version": "0.6.0",
|
||||||
"homepage": "http://www.nodebb.org",
|
"homepage": "http://www.nodebb.org",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": "~0.9.0",
|
"async": "~0.9.0",
|
||||||
"bcryptjs": "~2.0.1",
|
"bcryptjs": "~2.1.0",
|
||||||
"body-parser": "^1.9.0",
|
"body-parser": "^1.9.0",
|
||||||
"compression": "^1.1.0",
|
"compression": "^1.1.0",
|
||||||
"connect-ensure-login": "^0.1.1",
|
"connect-ensure-login": "^0.1.1",
|
||||||
@@ -28,20 +28,22 @@
|
|||||||
"daemon": "~1.1.0",
|
"daemon": "~1.1.0",
|
||||||
"express": "^4.9.5",
|
"express": "^4.9.5",
|
||||||
"express-session": "^1.8.2",
|
"express-session": "^1.8.2",
|
||||||
"gm": "1.16.0",
|
"gm": "1.17.0",
|
||||||
"gravatar": "^1.1.0",
|
"gravatar": "^1.1.0",
|
||||||
"less": "^1.7.5",
|
"heapdump": "^0.3.0",
|
||||||
|
"less": "^2.0.0",
|
||||||
"logrotate-stream": "^0.2.3",
|
"logrotate-stream": "^0.2.3",
|
||||||
"mkdirp": "~0.5.0",
|
"mkdirp": "~0.5.0",
|
||||||
"morgan": "^1.3.2",
|
"morgan": "^1.3.2",
|
||||||
"nconf": "~0.6.7",
|
"nconf": "~0.7.1",
|
||||||
"nodebb-plugin-dbsearch": "0.0.15",
|
"nodebb-plugin-dbsearch": "^0.1.0",
|
||||||
"nodebb-plugin-markdown": "^0.7.0",
|
"nodebb-plugin-markdown": "^0.8.0",
|
||||||
"nodebb-plugin-mentions": "~0.6.0",
|
"nodebb-plugin-mentions": "^0.7.0",
|
||||||
"nodebb-plugin-soundpack-default": "~0.1.1",
|
"nodebb-plugin-soundpack-default": "~0.1.1",
|
||||||
"nodebb-theme-lavender": "~0.1.0",
|
"nodebb-plugin-spam-be-gone": "^0.4.0",
|
||||||
"nodebb-theme-vanilla": "~0.1.0",
|
"nodebb-theme-lavender": "^0.2.0",
|
||||||
"nodebb-widget-essentials": "~0.1.1",
|
"nodebb-theme-vanilla": "^0.2.0",
|
||||||
|
"nodebb-widget-essentials": "~0.2.0",
|
||||||
"npm": "^2.1.4",
|
"npm": "^2.1.4",
|
||||||
"passport": "^0.2.1",
|
"passport": "^0.2.1",
|
||||||
"passport-local": "1.0.0",
|
"passport-local": "1.0.0",
|
||||||
@@ -52,15 +54,16 @@
|
|||||||
"semver": "^4.0.3",
|
"semver": "^4.0.3",
|
||||||
"serve-favicon": "^2.1.5",
|
"serve-favicon": "^2.1.5",
|
||||||
"sitemap": "^0.7.4",
|
"sitemap": "^0.7.4",
|
||||||
"socket.io": "^0.9.17",
|
"socket.io": "^1.2.1",
|
||||||
"socket.io-client": "^0.9.17",
|
"socket.io-client": "^1.2.1",
|
||||||
"socket.io-wildcard": "~0.1.1",
|
"socket.io-redis": "^0.1.3",
|
||||||
"string": "^2.1.0",
|
"socketio-wildcard": "~0.1.1",
|
||||||
"templates.js": "0.1.2",
|
"string": "^3.0.0",
|
||||||
|
"templates.js": "0.1.9",
|
||||||
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
||||||
"underscore": "~1.7.0",
|
"underscore": "~1.7.0",
|
||||||
"validator": "~3.21.0",
|
"validator": "~3.26.0",
|
||||||
"winston": "^0.8.0",
|
"winston": "^0.8.1",
|
||||||
"xregexp": "~2.0.0"
|
"xregexp": "~2.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 521 B |
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "موضوع جديد",
|
"new_topic_button": "موضوع جديد",
|
||||||
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
|
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
|
||||||
"browsing": "تصفح",
|
"browsing": "تصفح",
|
||||||
"no_replies": "لم يرد أحد",
|
"no_replies": "لم يرد أحد",
|
||||||
"share_this_category": "انشر هذه الفئة",
|
"share_this_category": "انشر هذه الفئة",
|
||||||
"ignore": "Ignore"
|
"ignore": "تجاهل"
|
||||||
}
|
}
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
{
|
{
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
"password-reset-requested": "تم طلب إعادة تعيين كلمة السر - %1!",
|
||||||
"welcome-to": "Welcome to %1",
|
"welcome-to": "مرحبًا بك في %1",
|
||||||
"greeting_no_name": "Hello",
|
"greeting_no_name": "مرحبًا",
|
||||||
"greeting_with_name": "Hello %1",
|
"greeting_with_name": "مرحبًا بك يا %1",
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
"welcome.text1": "شكرًا على تسجيلك في %1!",
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.",
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة السرالخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة السر، المرجو تتبع هذا الرابط.",
|
||||||
"reset.cta": "Click here to reset your password",
|
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
|
||||||
"digest.notifications": "You have unread notifications from %1:",
|
"digest.notifications": "لديك تنبيهات غير مقروءة من طرف %1:",
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
"digest.latest_topics": "آخر المستجدات من %1",
|
||||||
"digest.cta": "Click here to visit %1",
|
"digest.cta": "انقر هنا لمشاهدة %1",
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
"notif.chat.subject": "هناك محادثة جديدة من %1",
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
"test.text1": "هذه رسالة تجريبية للتأكد من صحة إعدادت الرسائل الإلكترونية في منتدى NodeBB خاصتك.",
|
||||||
"unsub.cta": "Click here to alter those settings",
|
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
|
||||||
"closing": "Thanks!"
|
"closing": "شكرًا لك!"
|
||||||
}
|
}
|
||||||
@@ -1,64 +1,67 @@
|
|||||||
{
|
{
|
||||||
"invalid-data": "بيانات غير صالحة",
|
"invalid-data": "بيانات غير صالحة",
|
||||||
"not-logged-in": "لم تقم بتسجيل الدخول",
|
"not-logged-in": "لم تقم بتسجيل الدخول",
|
||||||
"account-locked": "Your account has been locked temporarily",
|
"account-locked": "تم إقفال حسابكم مؤقتًا.",
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
"search-requires-login": "البحث في المنتدى يستلزم توفرك على حساب! المرجو تسجيل دخولك أو إنشاء حساب!",
|
||||||
"invalid-cid": "Invalid Category ID",
|
"invalid-cid": "قائمة غير موجودة",
|
||||||
"invalid-tid": "Invalid Topic ID",
|
"invalid-tid": "موضوع غير متواجد",
|
||||||
"invalid-pid": "Invalid Post ID",
|
"invalid-pid": "رد غير موجود",
|
||||||
"invalid-uid": "Invalid User ID",
|
"invalid-uid": "مستخدم غير موجود",
|
||||||
"invalid-username": "اسم المستخدم غير مقبول",
|
"invalid-username": "اسم المستخدم غير مقبول",
|
||||||
"invalid-email": "البريد الاكتروني غير مقبول",
|
"invalid-email": "البريد الاكتروني غير مقبول",
|
||||||
"invalid-title": "Invalid title!",
|
"invalid-title": "عنوان غير صحيح",
|
||||||
"invalid-user-data": "Invalid User Data",
|
"invalid-user-data": "بيانات المستخدم غير صحيحة",
|
||||||
"invalid-password": "كلمة السر غير مقبولة",
|
"invalid-password": "كلمة السر غير مقبولة",
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
|
||||||
"invalid-search-term": "Invalid search term",
|
"invalid-search-term": "كلمة البحث غير صحيحة",
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
"invalid-pagination-value": "رقم الصفحة غير موجود",
|
||||||
"username-taken": "اسم المستخدم ماخوذ",
|
"username-taken": "اسم المستخدم مأخوذ",
|
||||||
"email-taken": "البريد الالكتروني ماخوذ",
|
"email-taken": "البريد الالكتروني مأخوذ",
|
||||||
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.",
|
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.",
|
||||||
"username-too-short": "Username too short",
|
"username-too-short": "اسم المستخدم قصير.",
|
||||||
"username-too-long": "Username too long",
|
"username-too-long": "اسم المستخدم طويل",
|
||||||
"user-banned": "المستخدم محظور",
|
"user-banned": "المستخدم محظور",
|
||||||
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
|
"user-too-new": "عذرًا، يجب الانتظار %1 ثواني قبل إضافة ردك الأول.",
|
||||||
"no-category": "Category does not exist",
|
"no-category": "قائمة غير موجودة",
|
||||||
"no-topic": "Topic does not exist",
|
"no-topic": "موضوع غير موجود",
|
||||||
"no-post": "Post does not exist",
|
"no-post": "رد غير موجود",
|
||||||
"no-group": "Group does not exist",
|
"no-group": "مجموعة غير موجودة",
|
||||||
"no-user": "User does not exist",
|
"no-user": "اسم مستخدم غير موجود",
|
||||||
"no-teaser": "Teaser does not exist",
|
"no-teaser": "مقتطف غير موجود",
|
||||||
"no-privileges": "You do not have enough privileges for this action.",
|
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
"no-emailers-configured": "لا يمكن إرسال رسالة إلكترونية تجريبية لعدم وجود قوالب خاصة بالرسائل الإلكترونية،",
|
||||||
"category-disabled": "Category disabled",
|
"category-disabled": "قائمة معطلة",
|
||||||
"topic-locked": "الموضوع مقفول",
|
"topic-locked": "الموضوع مقفول",
|
||||||
"still-uploading": "الرجاء انتظار الرفع",
|
"still-uploading": "الرجاء انتظار الرفع",
|
||||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
"content-too-short": "المرجو إدخال موضوع أطول من هذا. يجب أن تتوفر المواضيع على %1 حروف على الأقل.",
|
||||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
"title-too-short": "المرجو إدخال عنوان أطول من هذا. يجب أن تتوفر العناوين على %1 حروف على الأقل.",
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
"title-too-long": "المرجو إدخال عنوان أقصر من هذا. يجب ألا تتجاوز العناوين %1 حرفًا.",
|
||||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
"too-many-posts": "يمكنك إنشاء المواضيع بمعدل موضوع واحد كل %1 ثانية - المرجو الانتظار قليلا.",
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
"too-many-posts-newbie": "بصفتك مستخدمًا جديدًا، يمكنك إنشاء المواضيع بمعدل موضوع واحد كل %1 ثانية حتى تحصل على سمعة %2 - المرجو الانتظار قليلا.",
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
"file-too-big": "حجم الملفات الأقصى المسموح به هو %1 كب - المرجو رفع ملف أقل حجمًا",
|
||||||
"already-favourited": "You have already favourited this post",
|
"cant-vote-self-post": "لايمكنك التصويت لردك",
|
||||||
"already-unfavourited": "You have already unfavourited this post",
|
"already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
"already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
|
||||||
|
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
|
||||||
"invalid-image-type": "نوع الصورة ممنوع",
|
"invalid-image-type": "نوع الصورة ممنوع",
|
||||||
"group-name-too-short": "Group name too short",
|
"group-name-too-short": "اسم المجموعة قصير",
|
||||||
"group-already-exists": "Group already exists",
|
"group-already-exists": "المجموعة موجودة مسبقا",
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
"group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات",
|
||||||
"post-already-deleted": "This post has already been deleted",
|
"post-already-deleted": "سبق وتم حذف هذا الرد",
|
||||||
"post-already-restored": "This post has already been restored",
|
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
|
||||||
"topic-already-deleted": "This topic has already been deleted",
|
"topic-already-deleted": "سبق وتم حذف هذا الموضوع",
|
||||||
"topic-already-restored": "This topic has already been restored",
|
"topic-already-restored": "سبق وتم إلغاء حذف هذا الرد",
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
"topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.",
|
||||||
"invalid-file": "Invalid File",
|
"invalid-file": "ملف غير مقبول",
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
"uploads-are-disabled": "رفع الملفات غير مفعل",
|
||||||
"upload-error": "مشكلة في الرفع: 1%",
|
"upload-error": "مشكلة في الرفع: 1%",
|
||||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
"signature-too-long": "عذرا، توقيعك يجب ألا يتجاوز %1 حرفًا",
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
"reputation-system-disabled": "نظام السمعة معطل",
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
"downvoting-disabled": "التصويتات السلبية معطلة",
|
||||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
|
||||||
|
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
|
||||||
|
"registration-error": "حدث خطأ أثناء التسجيل"
|
||||||
}
|
}
|
||||||
@@ -10,67 +10,68 @@
|
|||||||
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
|
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
|
||||||
"register": "تسجيل",
|
"register": "تسجيل",
|
||||||
"login": "دخول",
|
"login": "دخول",
|
||||||
"please_log_in": "Please Log In",
|
"please_log_in": "المرجو تسجيل الدخول",
|
||||||
"logout": "تسجيل الخروج",
|
"logout": "تسجيل الخروج",
|
||||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
"posting_restriction_info": "إضافة مشاركات جديد حكر على الأعضاء المسجلين، انقر هنا لتسجيل الدخول.",
|
||||||
"welcome_back": "Welcome Back",
|
"welcome_back": "مرحبًا بعودتك",
|
||||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
"you_have_successfully_logged_in": "تم سجيل الدخول بنجاح",
|
||||||
"save_changes": "حفظ التغييرات",
|
"save_changes": "حفظ التغييرات",
|
||||||
"close": "أغلق",
|
"close": "أغلق",
|
||||||
"pagination": "Pagination",
|
"pagination": "الصفحات",
|
||||||
"pagination.out_of": "%1 out of %2",
|
"pagination.out_of": "%1 من %2",
|
||||||
"pagination.enter_index": "Enter index",
|
"pagination.enter_index": "أدخل الرقم التسلسلي",
|
||||||
"header.admin": "مشرف",
|
"header.admin": "مدبر نظام",
|
||||||
"header.recent": "حديث",
|
"header.recent": "حديث",
|
||||||
"header.unread": "غير مقروء",
|
"header.unread": "غير مقروء",
|
||||||
"header.tags": "Tags",
|
"header.tags": "وسم",
|
||||||
"header.popular": "Popular",
|
"header.popular": "الأكثر شهرة",
|
||||||
"header.users": "المستخدمين",
|
"header.users": "المستخدمين",
|
||||||
"header.chats": "Chats",
|
"header.chats": "المحادثات",
|
||||||
"header.notifications": "Notifications",
|
"header.notifications": "التنبيهات",
|
||||||
"header.search": "بحث",
|
"header.search": "بحث",
|
||||||
"header.profile": "ملف",
|
"header.profile": "ملف",
|
||||||
"notifications.loading": "تحميل التبليغات",
|
"notifications.loading": "تحميل التبليغات",
|
||||||
"chats.loading": "تحميل الدردشات",
|
"chats.loading": "تحميل الدردشات",
|
||||||
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
|
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
|
||||||
"previouspage": "Previous Page",
|
"previouspage": "الصفحة السابقة",
|
||||||
"nextpage": "Next Page",
|
"nextpage": "الصفحة التالية",
|
||||||
"alert.success": "Success",
|
"alert.success": "نجاح",
|
||||||
"alert.error": "Error",
|
"alert.error": "خطأ",
|
||||||
"alert.banned": "Banned",
|
"alert.banned": "محظور",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "لقد تم حظر حسابك. سيتم تسجيل الخروج.",
|
||||||
"alert.unfollow": "You are no longer following %1!",
|
"alert.unfollow": "أنت لا تتابع %1 بعد الآن!",
|
||||||
"alert.follow": "You are now following %1!",
|
"alert.follow": "أنت الآن تتابع %1!",
|
||||||
"online": "Online",
|
"online": "المتواجدون حاليًّا",
|
||||||
"users": "Users",
|
"users": "الأعضاء",
|
||||||
"topics": "Topics",
|
"topics": "المواضيع",
|
||||||
"posts": "Posts",
|
"posts": "المشاركات",
|
||||||
"views": "Views",
|
"views": "المشاهدات",
|
||||||
"reputation": "Reputation",
|
"reputation": "السمعة",
|
||||||
"read_more": "read more",
|
"read_more": "اقرأ المزيد",
|
||||||
"posted_ago_by_guest": "posted %1 by Guest",
|
"posted_ago_by_guest": "كتب %1 من طرف زائر",
|
||||||
"posted_ago_by": "posted %1 by %2",
|
"posted_ago_by": "كتب %1 من طرف %2",
|
||||||
"posted_ago": "posted %1",
|
"posted_ago": "كتب %1",
|
||||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
"posted_in_ago_by_guest": "كتب في %1 %2 من طرف زائر",
|
||||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
"posted_in_ago_by": "كتب في %1 %2 من طرف %3",
|
||||||
"posted_in_ago": "posted in %1 %2",
|
"posted_in_ago": "كتب في %1 %2",
|
||||||
"replied_ago": "replied %1",
|
"replied_ago": "رد %1",
|
||||||
"user_posted_ago": "%1 posted %2",
|
"user_posted_ago": "%1 كتب %2",
|
||||||
"guest_posted_ago": "Guest posted %1",
|
"guest_posted_ago": "كتب زائر %1",
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
"last_edited_by_ago": "آخر تعديل من طرف %1 %2",
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "لاوجود لمشاركات جديدة",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "لاوجود لمواضيع جديدة",
|
||||||
"recentposts": "Recent Posts",
|
"recentposts": "آخر المشاركات",
|
||||||
"recentips": "Recently Logged In IPs",
|
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
|
||||||
"away": "Away",
|
"away": "غير متواجد",
|
||||||
"dnd": "Do not Disturb",
|
"dnd": "المرجو عدم الإزعاج",
|
||||||
"invisible": "Invisible",
|
"invisible": "مخفي",
|
||||||
"offline": "Offline",
|
"offline": "غير متصل",
|
||||||
"email": "Email",
|
"email": "عنوان البريد الإلكتروني",
|
||||||
"language": "Language",
|
"language": "اللغة",
|
||||||
"guest": "Guest",
|
"guest": "زائر",
|
||||||
"guests": "Guests",
|
"guests": "الزوار",
|
||||||
"updated.title": "Forum Updated",
|
"updated.title": "تم تحديث المنتدى",
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
"updated.message": "لقد تم تحديث المنتدى إلى آخر نسخة للتو. المرجو إعادة تحميل الصفحة.",
|
||||||
"privacy": "Privacy"
|
"privacy": "الخصوصية",
|
||||||
|
"delete_all": "حذف الكل"
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"groups": "Groups",
|
"groups": "المجموعات",
|
||||||
"view_group": "View Group",
|
"view_group": "معاينة المجموعة",
|
||||||
"details.title": "Group Details",
|
"details.title": "تفاصيل المجموعة",
|
||||||
"details.members": "Member List",
|
"details.members": "لائحة الأعضاء",
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
|
||||||
"details.latest_posts": "Latest Posts"
|
"details.latest_posts": "آخر المشاركات"
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"username": "Username / Email",
|
"username": "اسم المستخدم / عنوان البريد الإلكتروني",
|
||||||
"remember_me": "تذكرني؟",
|
"remember_me": "تذكرني؟",
|
||||||
"forgot_password": "نسيت كلمة المرور؟",
|
"forgot_password": "نسيت كلمة المرور؟",
|
||||||
"alternative_logins": "تسجيلات الدخول البديلة",
|
"alternative_logins": "تسجيلات الدخول البديلة",
|
||||||
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
||||||
"login_successful": "قمت بتسجيل الدخول بنجاح!",
|
"login_successful": "قمت بتسجيل الدخول بنجاح!",
|
||||||
"dont_have_account": "Don't have an account?"
|
"dont_have_account": "لم تفتح حسابك بعد؟"
|
||||||
}
|
}
|
||||||
@@ -1,22 +1,21 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
|
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
|
||||||
"chat.placeholder": "Type chat message here, press enter to send",
|
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
|
||||||
"chat.send": "أرسل",
|
"chat.send": "أرسل",
|
||||||
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
|
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
|
||||||
"chat.user_typing": "%1 is typing ...",
|
"chat.user_typing": "%1 يكتب رسالة...",
|
||||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
"chat.user_has_messaged_you": "%1 أرسل لك رسالة.",
|
||||||
"chat.see_all": "See all Chats",
|
"chat.see_all": "معاينة كل الدردشات",
|
||||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
"chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات",
|
||||||
"chat.recent-chats": "Recent Chats",
|
"chat.recent-chats": "آخر الدردشات",
|
||||||
"chat.contacts": "Contacts",
|
"chat.contacts": "الأصدقاء",
|
||||||
"chat.message-history": "Message History",
|
"chat.message-history": "تاريخ الرسائل",
|
||||||
"chat.pop-out": "Pop out chat",
|
"chat.pop-out": "افتح الدردشة في نافذة خاصة",
|
||||||
"chat.maximize": "Maximize",
|
"chat.maximize": "تكبير",
|
||||||
"chat.yesterday": "Yesterday",
|
"chat.seven_days": "7 أيام",
|
||||||
"chat.seven_days": "7 Days",
|
"chat.thirty_days": "30 يومًا",
|
||||||
"chat.thirty_days": "30 Days",
|
"chat.three_months": "3 أشهر",
|
||||||
"chat.three_months": "3 Months",
|
"composer.user_said_in": "%1 كتب في %2",
|
||||||
"composer.user_said_in": "%1 said in %2:",
|
"composer.user_said": "%1 كتب:",
|
||||||
"composer.user_said": "%1 said:",
|
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟"
|
||||||
"composer.discard": "Are you sure you wish to discard this post?"
|
|
||||||
}
|
}
|
||||||
@@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"title": "إعلام",
|
"title": "تنبيهات",
|
||||||
"no_notifs": "You have no new notifications",
|
"no_notifs": "ليس لديك أية تنبيهات جديدة",
|
||||||
"see_all": "See all Notifications",
|
"see_all": "معاينة كل التنبيهات",
|
||||||
"back_to_home": "Back to %1",
|
"back_to_home": "عودة إلى %1",
|
||||||
"outgoing_link": "رابط خارجي",
|
"outgoing_link": "رابط خارجي",
|
||||||
"outgoing_link_message": "You are now leaving %1.",
|
"outgoing_link_message": "أنت تغادر %1 حاليا.",
|
||||||
"continue_to": "Continue to %1",
|
"continue_to": "استمر إلى %1",
|
||||||
"return_to": "Return to %1",
|
"return_to": "عودة إى %1",
|
||||||
"new_notification": "New Notification",
|
"new_notification": "تنبيه جديد",
|
||||||
"you_have_unread_notifications": "You have unread notifications.",
|
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
|
||||||
"new_message_from": "New message from <strong>%1</strong>",
|
"new_message_from": "رسالة جديدة من <strong>%1</strong>",
|
||||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
"upvoted_your_post_in": "<strong>%1</strong> أضاف صوتًا إيجابيا إلى مشاركتك في <strong>%2</strong>.",
|
||||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
"moved_your_post": "<strong>%1</strong> نقل مشاركتك.",
|
||||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
"moved_your_topic": "<strong>%1</strong> نقل موضوعك.",
|
||||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
"favourited_your_post_in": "<strong>%1</strong> أضاف مشاركتك في <strong>%2</strong> إلى مفضلته.",
|
||||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
"user_flagged_post_in": "<strong>%1</strong> أشعَرَ بمشاركة مخلة في <strong>%2</strong>",
|
||||||
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
|
"user_posted_to": "<strong>%1</strong> أضاف ردا إلى: <strong>%2</strong>",
|
||||||
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
|
"user_mentioned_you_in": "<strong>%1</strong> ذكرَ اسمك في <strong>%2</strong>",
|
||||||
"user_started_following_you": "<strong>%1</strong> started following you.",
|
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
|
||||||
"email-confirmed": "Email Confirmed",
|
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
|
||||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
|
||||||
"email-confirm-error": "An error occurred...",
|
"email-confirm-error": "حدث خطأ ما...",
|
||||||
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
|
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
|
||||||
"email-confirm-sent": "Confirmation email sent."
|
"email-confirm-sent": "تم إرسال بريد التفعيل."
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"home": "Home",
|
"home": "الصفحة الرئيسية",
|
||||||
"unread": "Unread Topics",
|
"unread": "المواضيع غير المقروءة",
|
||||||
"popular": "Popular Topics",
|
"popular": "المواضيع الأكثر شهرة",
|
||||||
"recent": "Recent Topics",
|
"recent": "المواضيع الحديثة",
|
||||||
"users": "Registered Users",
|
"users": "المستخدمون المسجلون",
|
||||||
"notifications": "Notifications",
|
"notifications": "التنبيهات",
|
||||||
"tags": "Topics tagged under \"%1\"",
|
"tags": "المواضيع المرتبطة بالوسم %1",
|
||||||
"user.edit": "Editing \"%1\"",
|
"user.edit": "تعديل \"%1\"",
|
||||||
"user.following": "People %1 Follows",
|
"user.following": "المستخدمون الذين يتبعهم %1",
|
||||||
"user.followers": "People who Follow %1",
|
"user.followers": "المستخدمون الذين يتبعون %1",
|
||||||
"user.posts": "Posts made by %1",
|
"user.posts": "ردود %1",
|
||||||
"user.topics": "Topics created by %1",
|
"user.topics": "مواضيع %1",
|
||||||
"user.favourites": "%1's Favourite Posts",
|
"user.favourites": "مفضلات %1",
|
||||||
"user.settings": "User Settings",
|
"user.settings": "خيارات المستخدم",
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
|
||||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "Recent",
|
"title": "الحديثة",
|
||||||
"day": "يوم",
|
"day": "يوم",
|
||||||
"week": "أسبوع",
|
"week": "أسبوع",
|
||||||
"month": "شهر",
|
"month": "شهر",
|
||||||
"year": "Year",
|
"year": "سنة",
|
||||||
"alltime": "All Time",
|
"alltime": "دائمًا",
|
||||||
"no_recent_topics": "There are no recent topics."
|
"no_recent_topics": "لاوجود لمشاركات جديدة"
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"confirm_password": "تأكيد كلمة السر",
|
"confirm_password": "تأكيد كلمة السر",
|
||||||
"confirm_password_placeholder": "تأكيد كلمة السر",
|
"confirm_password_placeholder": "تأكيد كلمة السر",
|
||||||
"register_now_button": "قم بالتسجيل الآن",
|
"register_now_button": "قم بالتسجيل الآن",
|
||||||
"alternative_registration": "التسجيل البديلة",
|
"alternative_registration": "طريقة تسجيل بديلة",
|
||||||
"terms_of_use": "Terms of Use",
|
"terms_of_use": "قوانين الاستخدام",
|
||||||
"agree_to_terms_of_use": "I agree to the Terms of Use"
|
"agree_to_terms_of_use": "أوافق على قوانين الاستخدام"
|
||||||
}
|
}
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
"update_password": "تحديث كلمة السر",
|
"update_password": "تحديث كلمة السر",
|
||||||
"password_changed.title": "تم تغير كلمة السر",
|
"password_changed.title": "تم تغير كلمة السر",
|
||||||
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
|
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
|
||||||
"wrong_reset_code.title": "إعادة تعيين رمز غير صحيح",
|
"wrong_reset_code.title": "رمز إعادة التعيين غير صحيح",
|
||||||
"wrong_reset_code.message": "رامز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمز جديد</a>",
|
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
|
||||||
"new_password": "كلمة السر الجديدة",
|
"new_password": "كلمة السر الجديدة",
|
||||||
"repeat_password": "تأكيد كلمة السر",
|
"repeat_password": "تأكيد كلمة السر",
|
||||||
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
|
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
|
||||||
"enter_email_address": "Enter Email Address",
|
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
|
||||||
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
|
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
|
||||||
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
|
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
"results_matching": "%1 نتيجة (نتائج) موافقة ل \"%2\", (%3 ثواني)",
|
||||||
"no-matches": "No posts found"
|
"no-matches": "لم يتم إيجاد أية مشاركات"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"success": "Success",
|
"success": "نجاح",
|
||||||
"topic-post": "You have successfully posted.",
|
"topic-post": "لقد تمت الإضافة بنجاح.",
|
||||||
"authentication-successful": "Authentication Successful",
|
"authentication-successful": "تم تسجيل الدخول بنجاح",
|
||||||
"settings-saved": "Settings saved!"
|
"settings-saved": "تم حفظ التغييرات!"
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"no_tag_topics": "There are no topics with this tag.",
|
"no_tag_topics": "لاوجود لمواضيع تحمل هذا الوسم.",
|
||||||
"tags": "Tags",
|
"tags": "بطاقات",
|
||||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
"enter_tags_here": "أدخل البطاقات هنا. اضغط ENTER بعد كل بطاقة.",
|
||||||
"enter_tags_here_short": "Enter tags...",
|
"enter_tags_here_short": "أدخل البطاقات...",
|
||||||
"no_tags": "There are no tags yet."
|
"no_tags": "لاتوجد هناك بطاقات بعد."
|
||||||
}
|
}
|
||||||
@@ -1,96 +1,96 @@
|
|||||||
{
|
{
|
||||||
"topic": "موضوع",
|
"topic": "موضوع",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "معرف الموضوع",
|
||||||
"topic_id_placeholder": "Enter topic ID",
|
"topic_id_placeholder": "أدخل معرف الموضوع",
|
||||||
"no_topics_found": "لا توجد مواضيع !",
|
"no_topics_found": "لا توجد مواضيع !",
|
||||||
"no_posts_found": "No posts found!",
|
"no_posts_found": "لا توجد مشاركات!",
|
||||||
"post_is_deleted": "This post is deleted!",
|
"post_is_deleted": "هذه المشاركة محذوفة!",
|
||||||
"profile": "ملف",
|
"profile": "الملف الشخصي",
|
||||||
"posted_by": "Posted by %1",
|
"posted_by": "كتب من طرف %1",
|
||||||
"posted_by_guest": "Posted by Guest",
|
"posted_by_guest": "كتب من طرف زائر",
|
||||||
"chat": "دردشة",
|
"chat": "دردشة",
|
||||||
"notify_me": "تنبه من ردود جديدة في هذا الموضوع",
|
"notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع",
|
||||||
"quote": "اقتبس",
|
"quote": "اقتبس",
|
||||||
"reply": "رد",
|
"reply": "رد",
|
||||||
"edit": "صحح",
|
"edit": "تعديل",
|
||||||
"delete": "حذف",
|
"delete": "حذف",
|
||||||
"purge": "Purge",
|
"purge": "تطهير",
|
||||||
"restore": "Restore",
|
"restore": "استعادة",
|
||||||
"move": "انقل",
|
"move": "انقل",
|
||||||
"fork": "فرع",
|
"fork": "فرع",
|
||||||
"link": "رابط",
|
"link": "رابط",
|
||||||
"share": "شارك",
|
"share": "نشر",
|
||||||
"tools": "أدوات",
|
"tools": "أدوات",
|
||||||
"flag": "Flag",
|
"flag": "اشعار بمشاركة مخلة",
|
||||||
"locked": "Locked",
|
"locked": "مقفل",
|
||||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
"bookmark_instructions": "انقر هنا للإكمال أو أغلق للإلغاء.",
|
||||||
"flag_title": "Flag this post for moderation",
|
"flag_title": "إشعار بمشاركة مخلة.",
|
||||||
"flag_confirm": "Are you sure you want to flag this post?",
|
"flag_confirm": "هل تريد حقًّا أن تشعر بهذه المشاركة على أنها مخلة؟",
|
||||||
"flag_success": "This post has been flagged for moderation.",
|
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
|
||||||
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
|
||||||
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
"not_following_topic.message": "لن تستلم أي تنبيه بخصوص عذا الموضوع بعد الآن.",
|
||||||
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
"login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.",
|
||||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
"markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.",
|
||||||
"watch": "Watch",
|
"watch": "مراقبة",
|
||||||
"unwatch": "Unwatch",
|
"unwatch": "الغاء المراقبة",
|
||||||
"watch.title": "Be notified of new replies in this topic",
|
"watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع",
|
||||||
"unwatch.title": "Stop watching this topic",
|
"unwatch.title": "ألغ مراقبة هذا الموضوع",
|
||||||
"share_this_post": "Share this Post",
|
"share_this_post": "انشر هذا الموضوع",
|
||||||
"thread_tools.title": "Topic Tools",
|
"thread_tools.title": "أدوات الموضوع",
|
||||||
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
||||||
"thread_tools.pin": "علق الموضوع",
|
"thread_tools.pin": "علق الموضوع",
|
||||||
"thread_tools.unpin": "Unpin Topic",
|
"thread_tools.unpin": "إلغاء تعليق الموضوع",
|
||||||
"thread_tools.lock": "قفل الموضوع",
|
"thread_tools.lock": "أقفل الموضوع",
|
||||||
"thread_tools.unlock": "Unlock Topic",
|
"thread_tools.unlock": "إلغاء إقفال الموضوع",
|
||||||
"thread_tools.move": "نقل الموضوع",
|
"thread_tools.move": "نقل الموضوع",
|
||||||
"thread_tools.move_all": "Move All",
|
"thread_tools.move_all": "نقل الكل",
|
||||||
"thread_tools.fork": "تفرع الموضوع",
|
"thread_tools.fork": "إنشاء فرع الموضوع",
|
||||||
"thread_tools.delete": "حذف الموضوع",
|
"thread_tools.delete": "حذف الموضوع",
|
||||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
"thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟",
|
||||||
"thread_tools.restore": "Restore Topic",
|
"thread_tools.restore": "استعادة الموضوع",
|
||||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
|
||||||
"thread_tools.purge": "Purge Topic",
|
"thread_tools.purge": "تطهير الموضوع",
|
||||||
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
|
||||||
"topic_move_success": "This topic has been successfully moved to %1",
|
"topic_move_success": "تم نقل هذا الموضوع إلى %1 بنجاح",
|
||||||
"post_delete_confirm": "Are you sure you want to delete this post?",
|
"post_delete_confirm": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟",
|
||||||
"post_restore_confirm": "Are you sure you want to restore this post?",
|
"post_restore_confirm": "هل أنت متأكد أنك تريد استعادة هذه المشاركة؟",
|
||||||
"post_purge_confirm": "Are you sure you want to purge this post?",
|
"post_purge_confirm": "هل أنت متأكد أنك تريد تطهير هذه المشاركة؟",
|
||||||
"load_categories": "تحميل الفئات",
|
"load_categories": "تحميل الفئات",
|
||||||
"disabled_categories_note": "الفئات المجلدة رمادية",
|
"disabled_categories_note": "الفئات المعطلة رمادية",
|
||||||
"confirm_move": "انقل",
|
"confirm_move": "انقل",
|
||||||
"confirm_fork": "فرع",
|
"confirm_fork": "فرع",
|
||||||
"favourite": "المفضل",
|
"favourite": "إضافة إلى المفضلة",
|
||||||
"favourites": "المفضلة",
|
"favourites": "المفضلة",
|
||||||
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
|
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
|
||||||
"loading_more_posts": "تحميل المزيد من المشاركات",
|
"loading_more_posts": "تحميل المزيد من المشاركات",
|
||||||
"move_topic": "نقل الموضوع",
|
"move_topic": "نقل الموضوع",
|
||||||
"move_topics": "Move Topics",
|
"move_topics": "نقل المواضيع",
|
||||||
"move_post": "نقل الرد",
|
"move_post": "نقل المشاركة",
|
||||||
"post_moved": "Post moved!",
|
"post_moved": "تم نقل المشاركة",
|
||||||
"fork_topic": "فرع الموضوع",
|
"fork_topic": "فرع الموضوع",
|
||||||
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
||||||
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
|
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
|
||||||
"fork_no_pids": "لم تختار أي رد",
|
"fork_no_pids": "لم تختر أي مشاركة",
|
||||||
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
|
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
|
||||||
"composer.title_placeholder": "Enter your topic title here...",
|
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
|
||||||
"composer.discard": "Discard",
|
"composer.discard": "نبذ التغييرات",
|
||||||
"composer.submit": "Submit",
|
"composer.submit": "حفظ",
|
||||||
"composer.replying_to": "Replying to %1",
|
"composer.replying_to": "الرد على %1",
|
||||||
"composer.new_topic": "New Topic",
|
"composer.new_topic": "موضوع جديد",
|
||||||
"composer.uploading": "uploading...",
|
"composer.uploading": "جاري الرفع",
|
||||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
"composer.thumb_url_label": "ألصق رابط الصورة المصغرة للموضوع",
|
||||||
"composer.thumb_title": "Add a thumbnail to this topic",
|
"composer.thumb_title": "إضافة صورة مصغرة للموضوع",
|
||||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||||
"composer.thumb_file_label": "Or upload a file",
|
"composer.thumb_file_label": "أو قم برفع ملف",
|
||||||
"composer.thumb_remove": "Clear fields",
|
"composer.thumb_remove": "تفريغ الخانات",
|
||||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
"composer.drag_and_drop_images": "اسحب وأسقص الصور هنا",
|
||||||
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
|
"more_users_and_guests": "%1 مستخدم(ين) و %2 زائر(ين)",
|
||||||
"more_users": "%1 more user(s)",
|
"more_users": "%1 مستخدم(ين)",
|
||||||
"more_guests": "%1 more guest(s)",
|
"more_guests": "%1 زائر(ين)",
|
||||||
"users_and_others": "%1 and %2 others",
|
"users_and_others": "%1 و %2 آخرين",
|
||||||
"sort_by": "Sort by",
|
"sort_by": "ترتيب حسب",
|
||||||
"oldest_to_newest": "Oldest to Newest",
|
"oldest_to_newest": "من الأقدم إلى الأحدث",
|
||||||
"newest_to_oldest": "Newest to Oldest",
|
"newest_to_oldest": "من الأحدث إلى الأقدم",
|
||||||
"most_votes": "Most votes"
|
"most_votes": "الأكثر تصويتًا"
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "Unread",
|
"title": "غير مقروء",
|
||||||
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
|
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
|
||||||
"load_more": "حمل المزيد",
|
"load_more": "حمل المزيد",
|
||||||
"mark_as_read": "Mark as Read",
|
"mark_as_read": "حدد غير مقروء",
|
||||||
"selected": "Selected",
|
"selected": "المختارة",
|
||||||
"all": "All",
|
"all": "الكل",
|
||||||
"topics_marked_as_read.success": "Topics marked as read!"
|
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
|
||||||
}
|
}
|
||||||
@@ -3,70 +3,73 @@
|
|||||||
"offline": "ليس موجود حالياً",
|
"offline": "ليس موجود حالياً",
|
||||||
"username": "إسم المستخدم",
|
"username": "إسم المستخدم",
|
||||||
"email": "البريد الإلكتروني",
|
"email": "البريد الإلكتروني",
|
||||||
"confirm_email": "Confirm Email",
|
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
|
||||||
"delete_account": "Delete 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 username to confirm that you wish to destroy this account.",
|
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف",
|
||||||
"fullname": "الاسم الكامل",
|
"fullname": "الاسم الكامل",
|
||||||
"website": "الموقع الإلكتروني",
|
"website": "الموقع الإلكتروني",
|
||||||
"location": "موقع",
|
"location": "الموقع",
|
||||||
"age": "عمر",
|
"age": "السن",
|
||||||
"joined": "تاريخ التسجيل",
|
"joined": "تاريخ التسجيل",
|
||||||
"lastonline": "تاريخ أخر دخول",
|
"lastonline": "تاريخ آخر دخول",
|
||||||
"profile": "Profile",
|
"profile": "الملف الشخصي",
|
||||||
"profile_views": "مشاهد الملف",
|
"profile_views": "عدد مشاهدات الملف الشخصي",
|
||||||
"reputation": "سمعة",
|
"reputation": "السمعة",
|
||||||
"favourites": "Favourites",
|
"favourites": "المفضلات",
|
||||||
"followers": "أتباع",
|
"followers": "المتابعون",
|
||||||
"following": "يتبع",
|
"following": "يتابع",
|
||||||
"signature": "توقيع",
|
"signature": "توقيع",
|
||||||
"gravatar": "Gravatar",
|
"gravatar": "Gravatar",
|
||||||
"birthday": "عيد ميلاد",
|
"birthday": "عيد ميلاد",
|
||||||
"chat": "Chat",
|
"chat": "محادثة",
|
||||||
"follow": "Follow",
|
"follow": "تابع",
|
||||||
"unfollow": "Unfollow",
|
"unfollow": "إلغاء المتابعة",
|
||||||
"profile_update_success": "Profile has been updated successfully!",
|
"profile_update_success": "تم تحديث الملف الشخصي بنجاح",
|
||||||
"change_picture": "تغيير الصورة",
|
"change_picture": "تغيير الصورة",
|
||||||
"edit": "صحح",
|
"edit": "تعديل",
|
||||||
"uploaded_picture": "صورة تم تحميلها",
|
"uploaded_picture": "الصورة المرفوعة",
|
||||||
"upload_new_picture": "تحميل صورة جديدة",
|
"upload_new_picture": "رفع صورة جديدة",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
"upload_new_picture_from_url": "رفع صورة جديدة بواسطة رابط",
|
||||||
"current_password": "Current Password",
|
"current_password": "كلمة السر الحالية",
|
||||||
"change_password": "تغيير كلمة السر",
|
"change_password": "تغيير كلمة السر",
|
||||||
"change_password_error": "Invalid Password!",
|
"change_password_error": "كلمة سر غير صحيحة",
|
||||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
"change_password_error_wrong_current": "كلمة السر الحالية ليست صحيحة",
|
||||||
"change_password_error_length": "Password too short!",
|
"change_password_error_length": "كلمة السر قصيرة",
|
||||||
"change_password_error_match": "Passwords must match!",
|
"change_password_error_match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
|
||||||
"change_password_error_privileges": "You do not have the rights to change this password.",
|
"change_password_error_privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
|
||||||
"change_password_success": "Your password is updated!",
|
"change_password_success": "تم تحديث كلمة السر خاصتك.",
|
||||||
"confirm_password": "تأكيد كلمة السر",
|
"confirm_password": "تأكيد كلمة السر",
|
||||||
"password": "كلمة السر",
|
"password": "كلمة السر",
|
||||||
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>",
|
||||||
"upload_picture": "تحميل الصورة",
|
"upload_picture": "ارفع الصورة",
|
||||||
"upload_a_picture": "تحميل صورة",
|
"upload_a_picture": "رفع صورة",
|
||||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
"image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
|
||||||
"max": "max.",
|
"max": "الحد الأقصى",
|
||||||
"settings": "Settings",
|
"settings": "خيارات",
|
||||||
"show_email": "أظهر بريدي الإلكتروني",
|
"show_email": "أظهر بريدي الإلكتروني",
|
||||||
"show_fullname": "Show My Full Name",
|
"show_fullname": "أظهر اسمي الكامل",
|
||||||
"digest_label": "Subscribe to Digest",
|
"restrict_chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
|
||||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
"digest_label": "اشترك في النشرة الدورية",
|
||||||
"digest_off": "Off",
|
"digest_description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
|
||||||
"digest_daily": "Daily",
|
"digest_off": "غير مفعل",
|
||||||
"digest_weekly": "Weekly",
|
"digest_daily": "يوميا",
|
||||||
"digest_monthly": "Monthly",
|
"digest_weekly": "أسبوعيًّا",
|
||||||
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
"digest_monthly": "شهريًّا",
|
||||||
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
|
"send_chat_notifications": "استلام رسالة إلكترونية عند ورود محادثة وأنا غير متصل.",
|
||||||
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
|
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
|
||||||
"has_no_posts": "This user didn't post anything yet.",
|
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
|
||||||
"has_no_topics": "This user didn't post any topics yet.",
|
"has_no_posts": "هذا المستخدم لم يكتب أي شيء بعد.",
|
||||||
|
"has_no_topics": "هذا المستخدم لم ينشئ أي موضوع بعد.",
|
||||||
"email_hidden": "البريد الإلكتروني مخفي",
|
"email_hidden": "البريد الإلكتروني مخفي",
|
||||||
"hidden": "مخفي",
|
"hidden": "مخفي",
|
||||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
"paginate_description": "عرض المواضيع والردود موزعة على صفحات عوض صفحة واحدة.",
|
||||||
"topics_per_page": "Topics per Page",
|
"topics_per_page": "المواضيع في كل صفحة",
|
||||||
"posts_per_page": "Posts per Page",
|
"posts_per_page": "الردود في كل صفحة",
|
||||||
"notification_sounds": "Play a sound when you receive a notification.",
|
"notification_sounds": "تشغيل ملف صوتي عند استلام التنبيهات.",
|
||||||
"browsing": "Browsing Settings",
|
"browsing": "خيارات التصفح",
|
||||||
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
"open_links_in_new_tab": "فتح الروابط الخارجية في تبويب جديد؟",
|
||||||
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
"enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع",
|
||||||
"follow_topics_you_create": "Follow topics you create."
|
"topic_search_help": "في حالة تفعيلها، ستعوض خاصيةُ البحث داخل المواضيع خاصيةَ البحث الخاصة بالمتصفح، فتمكنك بالتالي بالبحث في الموضوع بأكمله دون الاقتصار على مايظهر في الشاشة فحسب.",
|
||||||
|
"follow_topics_you_reply_to": "متابعة المشاركات التي ترد عليها",
|
||||||
|
"follow_topics_you_create": "متابعة المشاركات التي تكتبها"
|
||||||
}
|
}
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
"search": "بحث",
|
"search": "بحث",
|
||||||
"enter_username": "أدخل اسم مستخدم للبحث",
|
"enter_username": "أدخل اسم مستخدم للبحث",
|
||||||
"load_more": "حمل المزيد",
|
"load_more": "حمل المزيد",
|
||||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ميليثانية."
|
||||||
}
|
}
|
||||||
8
public/language/bn/category.json
Normal file
8
public/language/bn/category.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"new_topic_button": "নতুন টপিক",
|
||||||
|
"no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
|
||||||
|
"browsing": "browsing",
|
||||||
|
"no_replies": "কোন রিপ্লাই নেই",
|
||||||
|
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
|
||||||
|
"ignore": "উপেক্ষা করুন"
|
||||||
|
}
|
||||||
23
public/language/bn/email.json
Normal file
23
public/language/bn/email.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"password-reset-requested": "Password Reset Requested - %1!",
|
||||||
|
"welcome-to": "Welcome to %1",
|
||||||
|
"greeting_no_name": "Hello",
|
||||||
|
"greeting_with_name": "Hello %1",
|
||||||
|
"welcome.text1": "%1 এ নিবন্ধন করার জন্য আপনাকে ধন্যবাদ!",
|
||||||
|
"welcome.text2": "আপনার একাউন্ট এ্যাক্টিভেট করার জন্য, আপনি যে ইমেইল এড্রেস ব্যাবহার করে নিবন্ধন করেছেন তা যাচাই করতে হবে",
|
||||||
|
"welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন",
|
||||||
|
"reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।",
|
||||||
|
"reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন",
|
||||||
|
"reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন",
|
||||||
|
"digest.notifications": "You have unread notifications from %1:",
|
||||||
|
"digest.latest_topics": "Latest topics from %1",
|
||||||
|
"digest.cta": "Click here to visit %1",
|
||||||
|
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
||||||
|
"digest.no_topics": "There have been no active topics in the past %1",
|
||||||
|
"notif.chat.subject": "New chat message received from %1",
|
||||||
|
"notif.chat.cta": "Click here to continue the conversation",
|
||||||
|
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
||||||
|
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
||||||
|
"unsub.cta": "Click here to alter those settings",
|
||||||
|
"closing": "Thanks!"
|
||||||
|
}
|
||||||
67
public/language/bn/error.json
Normal file
67
public/language/bn/error.json
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
{
|
||||||
|
"invalid-data": "ভুল তথ্য",
|
||||||
|
"not-logged-in": "আপনি লগিন করেননি",
|
||||||
|
"account-locked": "আপনার অ্যাকাউন্ট সাময়িকভাবে লক করা হয়েছে",
|
||||||
|
"search-requires-login": "অনুসন্ধান করার জন্য একটি অ্যাকাউন্ট প্রয়োজন! অনুগ্রহপূর্বক প্রবেশ করুন অথবা নিবন্ধন করুন!",
|
||||||
|
"invalid-cid": "ভুল বিভাগ নাম্বার",
|
||||||
|
"invalid-tid": "ভুল টপিক নাম্বার",
|
||||||
|
"invalid-pid": "ভুল পোস্ট নাম্বার",
|
||||||
|
"invalid-uid": "ভুল ব্যবহারকারী নাম্বার",
|
||||||
|
"invalid-username": "ভুল ইউজারনেম",
|
||||||
|
"invalid-email": "ভুল ইমেইল",
|
||||||
|
"invalid-title": "ভুল শিরোনাম",
|
||||||
|
"invalid-user-data": "ভুল ব্যবহারকারী তথ্য",
|
||||||
|
"invalid-password": "ভুল পাসওয়ার্ড",
|
||||||
|
"invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন",
|
||||||
|
"invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম",
|
||||||
|
"invalid-pagination-value": "ভুল পৃষ্ঠা নাম্বার",
|
||||||
|
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
|
||||||
|
"email-taken": "ইমেইল আগেই ব্যবহৃত",
|
||||||
|
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
|
||||||
|
"username-too-short": "খুব ছোট ইউজারনেম",
|
||||||
|
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
|
||||||
|
"user-banned": "ব্যবহারকারী নিষিদ্ধ",
|
||||||
|
"user-too-new": "দুঃখিত! প্রথম পোষ্ট করার জন্য আপনাকে %1 সেকেন্ড অপেক্ষা করতে হবে।",
|
||||||
|
"no-category": "বিভাগটি খুজে পাওয়া যায় নি",
|
||||||
|
"no-topic": "এই টপিক নেই",
|
||||||
|
"no-post": "এই পোষ্ট নেই",
|
||||||
|
"no-group": "এই গ্রুপ অস্তিত্বহীন",
|
||||||
|
"no-user": "এই নামে কোন সদস্য নেই",
|
||||||
|
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
|
||||||
|
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
|
||||||
|
"no-emailers-configured": "কোন ইমেল প্লাগইন লোড করা নেই, কাজেই টেস্ট মেইল পাঠানো সম্ভব হচ্ছে না",
|
||||||
|
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
|
||||||
|
"topic-locked": "টপিক বন্ধ",
|
||||||
|
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
|
||||||
|
"content-too-short": "অনুগ্রহকরে অপেক্ষকৃত বড় পোষ্ট করুন। একটি পোষ্টে নূন্যতম %1 অক্ষর থাকতে হবে।",
|
||||||
|
"title-too-short": "অনুগ্রহপূর্বক বড় শিরোনাম ব্যাবহার করুন। শিরোনামের জন্য নূন্যতম %1 অক্ষর ব্যাবহার করতে হবে।",
|
||||||
|
"title-too-long": "অনুগ্রহ করে সংক্ষিপ্ত শিরোনাম লিখুন। শিরোনাম %1 অক্ষরের বেশি হতে পারবে না।",
|
||||||
|
"too-many-posts": "আপনি প্রতি %1 সেকেন্ডে একবার পোষ্ট করতে পারবেন। পরবর্তী পোষ্ট করার জন্য অপেক্ষা করুন। ",
|
||||||
|
"too-many-posts-newbie": "নতুন সদস্য হিসাবে %2 সন্মানণা পাওয়া পর্যন্ত আপনি প্রতি %1 সেকেন্ডে একবার পোষ্ট করতে পারবেন। পরবর্তী পোষ্ট করার জন্য অপেক্ষা করুন। ",
|
||||||
|
"file-too-big": "সর্বোচ্চ গৃহীত ফাইলসাইজ হচ্ছে %1 kb - অনুগ্রহপূর্বক ছোট ফাইল আপলোড করুন",
|
||||||
|
"cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।",
|
||||||
|
"already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন",
|
||||||
|
"already-unfavourited": "আপনি ইতিমধ্যে এই পোষ্টটি আপনার পছন্দের তালিকা থেকে সরিয়ে ফেলেছেন",
|
||||||
|
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
|
||||||
|
"invalid-image-type": "ভুল ছবির টাইপ",
|
||||||
|
"group-name-too-short": "গ্রুপের নাম খুব ছোট",
|
||||||
|
"group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান",
|
||||||
|
"group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই",
|
||||||
|
"post-already-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
|
||||||
|
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
|
||||||
|
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
|
||||||
|
"topic-already-restored": "এই টপিকটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
|
||||||
|
"topic-thumbnails-are-disabled": "টপিক থাম্বনেল নিষ্ক্রিয় করা। ",
|
||||||
|
"invalid-file": "ভুল ফাইল",
|
||||||
|
"uploads-are-disabled": "আপলোড নিষ্ক্রিয় করা",
|
||||||
|
"upload-error": "আপলোড ত্রুটিঃ %1",
|
||||||
|
"signature-too-long": "দুঃখিত, আপনার সাক্ষর %1 অক্ষরের বেশী হতে পারবে না। ",
|
||||||
|
"cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
|
||||||
|
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
|
||||||
|
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
|
||||||
|
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
|
||||||
|
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
|
||||||
|
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
|
||||||
|
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
|
||||||
|
"registration-error": "নিবন্ধন এরর!"
|
||||||
|
}
|
||||||
77
public/language/bn/global.json
Normal file
77
public/language/bn/global.json
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"home": "নীড়পাতা",
|
||||||
|
"search": "অনুসন্ধান",
|
||||||
|
"buttons.close": "বন্ধ",
|
||||||
|
"403.title": "প্রবেশাধিকার প্রত্যাখ্যাত",
|
||||||
|
"403.message": "আপনি এমন একটি পাতায় যাওয়ার চেষ্টা করছেন যেখানে আপনার প্রবেশাধিকার নেই। আপনি কি <a href='/login'>প্রবেশ করে</a> আবার চেষ্টা করবেন?",
|
||||||
|
"404.title": "পাওয়া যায়নি",
|
||||||
|
"404.message": "আপনি এমন একটি পাতায় যাওয়ার চেষ্টা করছেন যার অস্তিত্ব নেই। <a href='/'>নীড়পাতায়</a> ফিরে যান। ",
|
||||||
|
"500.title": "অভ্যন্তরীণ ত্রুটি।",
|
||||||
|
"500.message": "ওহো! কিছু ভুল হয়েছে মনে হচ্ছে!",
|
||||||
|
"register": "নিবন্ধন",
|
||||||
|
"login": "প্রবেশ",
|
||||||
|
"please_log_in": "অনুগ্রহ করে প্রবেশ করুন",
|
||||||
|
"logout": "প্রস্থান",
|
||||||
|
"posting_restriction_info": "বর্তমানে নিবন্ধিত সদস্যরাই কেবল পোস্ট করতে পারেন, লগ ইন করতে এখানে ক্লিক করুন।",
|
||||||
|
"welcome_back": "আপনাকে স্বাগতম",
|
||||||
|
"you_have_successfully_logged_in": "আপনি সফলভাবে প্রবেশ করেছেন",
|
||||||
|
"save_changes": "পরিবর্তনগুলি সঞ্চয় করুন",
|
||||||
|
"close": "বন্ধ",
|
||||||
|
"pagination": "পাতা নং",
|
||||||
|
"pagination.out_of": "%2 এর মাঝে %1",
|
||||||
|
"pagination.enter_index": "সূচক লিখুন",
|
||||||
|
"header.admin": "অ্যাডমিন",
|
||||||
|
"header.recent": "সাম্প্রতিক",
|
||||||
|
"header.unread": "অপঠিত",
|
||||||
|
"header.tags": "ট্যাগ",
|
||||||
|
"header.popular": "জনপ্রিয়",
|
||||||
|
"header.users": "ব্যবহারকারীগণ",
|
||||||
|
"header.chats": "কথোপকথন",
|
||||||
|
"header.notifications": "বিজ্ঞপ্তি",
|
||||||
|
"header.search": "অনুসন্ধান",
|
||||||
|
"header.profile": "প্রোফাইল",
|
||||||
|
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
|
||||||
|
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
|
||||||
|
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
|
||||||
|
"previouspage": "আগের পাতা",
|
||||||
|
"nextpage": "পরের পাতা",
|
||||||
|
"alert.success": "সফল",
|
||||||
|
"alert.error": "ত্রুটি",
|
||||||
|
"alert.banned": "নিষিদ্ধ",
|
||||||
|
"alert.banned.message": "আপনাকে কেবলই নিষিদ্ধ করা হয়েছে, আপনি এখন লগআউট হয়ে যাবেন।",
|
||||||
|
"alert.unfollow": "আপনি আর %1 কে অনুসরণ করছেন না!",
|
||||||
|
"alert.follow": "আপনি এখন %1 কে অনুসরণ করছেন!",
|
||||||
|
"online": "অনলাইন",
|
||||||
|
"users": "ব্যবহারকারীগণ",
|
||||||
|
"topics": "টপিক",
|
||||||
|
"posts": "পোস্টগুলি",
|
||||||
|
"views": "দেখেছেন",
|
||||||
|
"reputation": "সন্মাননা",
|
||||||
|
"read_more": "আরো পড়ুন",
|
||||||
|
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
|
||||||
|
"posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত",
|
||||||
|
"posted_ago": "পোস্ট করেছেন %1",
|
||||||
|
"posted_in_ago_by_guest": "%1 বিভাগে অতিথি পোস্ট করেছেন %2",
|
||||||
|
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2",
|
||||||
|
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
|
||||||
|
"replied_ago": "উত্তর দেয়া হয়েছে %1 ",
|
||||||
|
"user_posted_ago": "%1 পোস্ট করেছেন %2",
|
||||||
|
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
|
||||||
|
"last_edited_by_ago": "সর্বশেষ সম্পাদনা করেছেন %1 %2",
|
||||||
|
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
|
||||||
|
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
|
||||||
|
"recentposts": "সাম্প্রতিক পোস্ট",
|
||||||
|
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
|
||||||
|
"away": "দূরে",
|
||||||
|
"dnd": "বিরক্ত করবেন না",
|
||||||
|
"invisible": "অদৃশ্য",
|
||||||
|
"offline": "অফলাইন",
|
||||||
|
"email": "ইমেইল",
|
||||||
|
"language": "ভাষা",
|
||||||
|
"guest": "অতিথি",
|
||||||
|
"guests": "অতিথি",
|
||||||
|
"updated.title": "ফোরাম আপডেট করা হয়েছে",
|
||||||
|
"updated.message": "এই ফোরামে এইমাত্র সর্বশেষ সংস্করণে আপডেট করা হয়েছে। পৃষ্ঠাটি রিফ্রেশ করতে এখানে ক্লিক করুন।",
|
||||||
|
"privacy": "নিরাপত্তা",
|
||||||
|
"delete_all": "সব মুছে ফেলুন"
|
||||||
|
}
|
||||||
8
public/language/bn/groups.json
Normal file
8
public/language/bn/groups.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"groups": "Groups",
|
||||||
|
"view_group": "View Group",
|
||||||
|
"details.title": "Group Details",
|
||||||
|
"details.members": "Member List",
|
||||||
|
"details.has_no_posts": "This group's members have not made any posts.",
|
||||||
|
"details.latest_posts": "Latest Posts"
|
||||||
|
}
|
||||||
5
public/language/bn/language.json
Normal file
5
public/language/bn/language.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "বাংলা",
|
||||||
|
"code": "bn",
|
||||||
|
"dir": "ltr"
|
||||||
|
}
|
||||||
9
public/language/bn/login.json
Normal file
9
public/language/bn/login.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"username": "ইউজারনেম / ইমেইল",
|
||||||
|
"remember_me": "মনে রাখুন",
|
||||||
|
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
|
||||||
|
"alternative_logins": "বিকল্প প্রবেশ",
|
||||||
|
"failed_login_attempt": "ব্যর্থ প্রবেশের প্রচেষ্টা, আবার চেষ্টা করুন।",
|
||||||
|
"login_successful": "আপনি সফলভাবে প্রবেশ করেছেন!",
|
||||||
|
"dont_have_account": "কোন একাউন্ট নেই?"
|
||||||
|
}
|
||||||
21
public/language/bn/modules.json
Normal file
21
public/language/bn/modules.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"chat.chatting_with": "<span id=\"chat-with-name\"></span> এর সাথে কথোপকথন",
|
||||||
|
"chat.placeholder": "Type chat message here, press enter to send",
|
||||||
|
"chat.send": "প্রেরন করুন",
|
||||||
|
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
|
||||||
|
"chat.user_typing": "%1 লিখছেন",
|
||||||
|
"chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন",
|
||||||
|
"chat.see_all": "সকল কথোপকথন দেখুন",
|
||||||
|
"chat.no-messages": "Please select a recipient to view chat message history",
|
||||||
|
"chat.recent-chats": "Recent Chats",
|
||||||
|
"chat.contacts": "Contacts",
|
||||||
|
"chat.message-history": "Message History",
|
||||||
|
"chat.pop-out": "Pop out chat",
|
||||||
|
"chat.maximize": "Maximize",
|
||||||
|
"chat.seven_days": "7 Days",
|
||||||
|
"chat.thirty_days": "30 Days",
|
||||||
|
"chat.three_months": "3 Months",
|
||||||
|
"composer.user_said_in": "%1 বলেছেন %2:",
|
||||||
|
"composer.user_said": "%1 বলেছেনঃ",
|
||||||
|
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?"
|
||||||
|
}
|
||||||
27
public/language/bn/notifications.json
Normal file
27
public/language/bn/notifications.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"title": "বিজ্ঞপ্তিগুলো",
|
||||||
|
"no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই",
|
||||||
|
"see_all": "সকল বিজ্ঞপ্তিগুলো দেখুন",
|
||||||
|
"back_to_home": "ফিরুন %1",
|
||||||
|
"outgoing_link": "বহির্গামী লিঙ্ক",
|
||||||
|
"outgoing_link_message": "You are now leaving %1.",
|
||||||
|
"continue_to": "Continue to %1",
|
||||||
|
"return_to": "Return to %1",
|
||||||
|
"new_notification": "নতুন বিজ্ঞপ্তি",
|
||||||
|
"you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।",
|
||||||
|
"new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা",
|
||||||
|
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||||
|
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||||
|
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||||
|
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
||||||
|
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
||||||
|
"user_posted_to": "<strong>%1</strong> একটি উত্তর দিয়েছেন: <strong>%2</strong>",
|
||||||
|
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
||||||
|
"user_mentioned_you_in": "<strong>%1</strong>, <strong>%2</strong> এ আপনার নাম উল্লেখ করেছেন",
|
||||||
|
"user_started_following_you": "<strong>%1</strong> started following you.",
|
||||||
|
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
|
||||||
|
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
|
||||||
|
"email-confirm-error": "একটি ত্রুটি ঘটেছে...",
|
||||||
|
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
|
||||||
|
"email-confirm-sent": "নিশ্চিতকরণ ইমেইল পাঠানো হয়েছে।"
|
||||||
|
}
|
||||||
18
public/language/bn/pages.json
Normal file
18
public/language/bn/pages.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"home": "নীড়পাতা",
|
||||||
|
"unread": "অপঠিত টপিক",
|
||||||
|
"popular": "জনপ্রিয় টপিক",
|
||||||
|
"recent": "সাম্প্রতিক টপিক",
|
||||||
|
"users": "নিবন্ধিত সদস্যগণ",
|
||||||
|
"notifications": "বিজ্ঞপ্তি",
|
||||||
|
"tags": "Topics tagged under \"%1\"",
|
||||||
|
"user.edit": "সম্পাদনা \"%1\"",
|
||||||
|
"user.following": "%1 যাদের অনুসরণ করেন",
|
||||||
|
"user.followers": "যারা %1 কে অনুসরণ করেন",
|
||||||
|
"user.posts": "%1 এর পোস্ট সমুহ",
|
||||||
|
"user.topics": "%1 এর টপিক সমুহ",
|
||||||
|
"user.favourites": "%1'র প্রিয় পোস্টগুলো",
|
||||||
|
"user.settings": "সদস্য সেটিংস",
|
||||||
|
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
||||||
|
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
||||||
|
}
|
||||||
9
public/language/bn/recent.json
Normal file
9
public/language/bn/recent.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"title": "সাম্প্রতিক",
|
||||||
|
"day": "দিন",
|
||||||
|
"week": "সপ্তাহ",
|
||||||
|
"month": "মাস",
|
||||||
|
"year": "বছর",
|
||||||
|
"alltime": "সবসময় ",
|
||||||
|
"no_recent_topics": "কোন সাম্প্রতিক টপিক নেই। "
|
||||||
|
}
|
||||||
18
public/language/bn/register.json
Normal file
18
public/language/bn/register.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"register": "নিবন্ধন",
|
||||||
|
"help.email": "ডিফল্টভাবে, আপনার ইমেইল সর্বসাধারণ থেকে লুকানো থাকবে।",
|
||||||
|
"help.username_restrictions": "%1 এবং %2 অক্ষরের মাঝে একটি অনন্য সদস্য নাম। বাকিরা আপনাকে @<span id='yourUsername'>নাম</span> দিয়ে উল্লেখ করতে পারবেন।",
|
||||||
|
"help.minimum_password_length": "আপনার পাসওয়ার্ড এর দৈর্ঘ্য অন্তত %1 অক্ষরের হতে হবে।",
|
||||||
|
"email_address": "ইমেইল অ্যাড্রেস",
|
||||||
|
"email_address_placeholder": "ইমেইল অ্যাড্রেস লিখুন",
|
||||||
|
"username": "ইউজারনেম",
|
||||||
|
"username_placeholder": "ইউজারনেম লিখুন",
|
||||||
|
"password": "পাসওয়ার্ড",
|
||||||
|
"password_placeholder": "পাসওয়ার্ড লিখুন",
|
||||||
|
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
|
||||||
|
"confirm_password_placeholder": "পাসওয়ার্ড নিশ্চিত করুন",
|
||||||
|
"register_now_button": "নিবন্ধন করুন",
|
||||||
|
"alternative_registration": "বিকল্প নিবন্ধন",
|
||||||
|
"terms_of_use": "নিয়মাবলী",
|
||||||
|
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম"
|
||||||
|
}
|
||||||
14
public/language/bn/reset_password.json
Normal file
14
public/language/bn/reset_password.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"reset_password": "পাসওয়ার্ড রিসেট",
|
||||||
|
"update_password": "পাসওয়ার্ড হালনাগাদ",
|
||||||
|
"password_changed.title": "পাসওয়ার্ড পরিবর্তন করা হয়েছে",
|
||||||
|
"password_changed.message": "<p>পাসওয়ার্ড সফলভাবে রিসেট করা হয়েছে, পুনরায় <a href=\"/login\">প্রবেশ<a> করুন।",
|
||||||
|
"wrong_reset_code.title": "ভুল রিসেট কোড",
|
||||||
|
"wrong_reset_code.message": "প্রাপ্ত রিসেট কোডটি ভুল ছিল। আবার চেষ্টা করুন, অথবা <a href=\"/reset\">একটি নতুন রিসেট কোড</a> অনুরোধ করুন।",
|
||||||
|
"new_password": "নতুন পাসওয়ার্ড",
|
||||||
|
"repeat_password": "পাসওয়ার্ড নিশ্চিত করুন",
|
||||||
|
"enter_email": "Please enter your <strong>email address</strong> and we will send you an email with instructions on how to reset your account.",
|
||||||
|
"enter_email_address": "Enter Email Address",
|
||||||
|
"password_reset_sent": "Password Reset Sent",
|
||||||
|
"invalid_email": "Invalid Email / Email does not exist!"
|
||||||
|
}
|
||||||
4
public/language/bn/search.json
Normal file
4
public/language/bn/search.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
|
||||||
|
"no-matches": "কোন পোষ্ট খুঁজে পাওয়া যায় নি"
|
||||||
|
}
|
||||||
6
public/language/bn/success.json
Normal file
6
public/language/bn/success.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": "সফল হয়েছে",
|
||||||
|
"topic-post": "আপনি সফলভাবে পোষ্ট করেছেন। ",
|
||||||
|
"authentication-successful": "Authentication Successful",
|
||||||
|
"settings-saved": "সেটিংস সেভ করা হয়েছে। "
|
||||||
|
}
|
||||||
7
public/language/bn/tags.json
Normal file
7
public/language/bn/tags.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"no_tag_topics": "There are no topics with this tag.",
|
||||||
|
"tags": "Tags",
|
||||||
|
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||||
|
"enter_tags_here_short": "Enter tags...",
|
||||||
|
"no_tags": "There are no tags yet."
|
||||||
|
}
|
||||||
96
public/language/bn/topic.json
Normal file
96
public/language/bn/topic.json
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
"topic": "টপিক",
|
||||||
|
"topic_id": "টপিক নাম্বার ",
|
||||||
|
"topic_id_placeholder": "টপিক নাম্বার দিন ",
|
||||||
|
"no_topics_found": "কোন টপিক পাওয়া যায়নি!",
|
||||||
|
"no_posts_found": "কোন পোস্ট পাওয়া যায়নি",
|
||||||
|
"post_is_deleted": "এই পোস্টটি মুছে ফেলা হয়েছে!",
|
||||||
|
"profile": "প্রোফাইল ",
|
||||||
|
"posted_by": "পোস্ট করেছেন %1",
|
||||||
|
"posted_by_guest": "অতিথি পোস্ট ",
|
||||||
|
"chat": "আলাপচারি",
|
||||||
|
"notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন",
|
||||||
|
"quote": "উদ্ধৃতি",
|
||||||
|
"reply": "উত্তর",
|
||||||
|
"edit": "সম্পাদণা",
|
||||||
|
"delete": "মুছে ফেলুন",
|
||||||
|
"purge": "Purge",
|
||||||
|
"restore": "পুনরূদ্ধার",
|
||||||
|
"move": "সরানো",
|
||||||
|
"fork": "শাখা",
|
||||||
|
"link": "লিঙ্ক",
|
||||||
|
"share": "শেয়ার",
|
||||||
|
"tools": "টুলস",
|
||||||
|
"flag": "ফ্ল্যাগ",
|
||||||
|
"locked": "বন্ধ",
|
||||||
|
"bookmark_instructions": "আপনার সর্বশেষ অবস্থানে ফিরে যাবার জন্য এখানে ক্লিক করুন অথবা অগ্রাহ্য করতে চাইলে বন্ধ করুন",
|
||||||
|
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
|
||||||
|
"flag_confirm": "আপনি কি নিশ্চিত যে এই পোস্টটিকে আপনি ফ্ল্যাগ করতে চান? ",
|
||||||
|
"flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।",
|
||||||
|
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
|
||||||
|
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
|
||||||
|
"not_following_topic.message": "এই টপিক থেকে আপনি আর নোটিফিকেশন পাবেন না।",
|
||||||
|
"login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।",
|
||||||
|
"markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।",
|
||||||
|
"watch": "দেখা",
|
||||||
|
"unwatch": "অদেখা",
|
||||||
|
"watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।",
|
||||||
|
"unwatch.title": "Stop watching this topic",
|
||||||
|
"share_this_post": "Share this Post",
|
||||||
|
"thread_tools.title": "Topic Tools",
|
||||||
|
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||||
|
"thread_tools.pin": "Pin Topic",
|
||||||
|
"thread_tools.unpin": "Unpin Topic",
|
||||||
|
"thread_tools.lock": "Lock Topic",
|
||||||
|
"thread_tools.unlock": "Unlock Topic",
|
||||||
|
"thread_tools.move": "Move Topic",
|
||||||
|
"thread_tools.move_all": "Move All",
|
||||||
|
"thread_tools.fork": "Fork Topic",
|
||||||
|
"thread_tools.delete": "Delete Topic",
|
||||||
|
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
||||||
|
"thread_tools.restore": "Restore Topic",
|
||||||
|
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
||||||
|
"thread_tools.purge": "Purge Topic",
|
||||||
|
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
||||||
|
"topic_move_success": "This topic has been successfully moved to %1",
|
||||||
|
"post_delete_confirm": "Are you sure you want to delete this post?",
|
||||||
|
"post_restore_confirm": "Are you sure you want to restore this post?",
|
||||||
|
"post_purge_confirm": "Are you sure you want to purge this post?",
|
||||||
|
"load_categories": "Loading Categories",
|
||||||
|
"disabled_categories_note": "Disabled Categories are greyed out",
|
||||||
|
"confirm_move": "Move",
|
||||||
|
"confirm_fork": "Fork",
|
||||||
|
"favourite": "Favourite",
|
||||||
|
"favourites": "Favourites",
|
||||||
|
"favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!",
|
||||||
|
"loading_more_posts": "Loading More Posts",
|
||||||
|
"move_topic": "Move Topic",
|
||||||
|
"move_topics": "Move Topics",
|
||||||
|
"move_post": "Move Post",
|
||||||
|
"post_moved": "Post moved!",
|
||||||
|
"fork_topic": "Fork Topic",
|
||||||
|
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||||
|
"fork_topic_instruction": "Click the posts you want to fork",
|
||||||
|
"fork_no_pids": "No posts selected!",
|
||||||
|
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
|
||||||
|
"composer.title_placeholder": "Enter your topic title here...",
|
||||||
|
"composer.discard": "Discard",
|
||||||
|
"composer.submit": "Submit",
|
||||||
|
"composer.replying_to": "Replying to %1",
|
||||||
|
"composer.new_topic": "New Topic",
|
||||||
|
"composer.uploading": "uploading...",
|
||||||
|
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||||
|
"composer.thumb_title": "Add a thumbnail to this topic",
|
||||||
|
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||||
|
"composer.thumb_file_label": "Or upload a file",
|
||||||
|
"composer.thumb_remove": "Clear fields",
|
||||||
|
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||||
|
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
|
||||||
|
"more_users": "%1 more user(s)",
|
||||||
|
"more_guests": "%1 more guest(s)",
|
||||||
|
"users_and_others": "%1 and %2 others",
|
||||||
|
"sort_by": "Sort by",
|
||||||
|
"oldest_to_newest": "Oldest to Newest",
|
||||||
|
"newest_to_oldest": "Newest to Oldest",
|
||||||
|
"most_votes": "Most votes"
|
||||||
|
}
|
||||||
9
public/language/bn/unread.json
Normal file
9
public/language/bn/unread.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"title": "Unread",
|
||||||
|
"no_unread_topics": "কোন অপঠিত টপিক নেই",
|
||||||
|
"load_more": "আরো লোড করুন",
|
||||||
|
"mark_as_read": "Mark as Read",
|
||||||
|
"selected": "Selected",
|
||||||
|
"all": "All",
|
||||||
|
"topics_marked_as_read.success": "Topics marked as read!"
|
||||||
|
}
|
||||||
75
public/language/bn/user.json
Normal file
75
public/language/bn/user.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"banned": "নিষিদ্ধ",
|
||||||
|
"offline": "অফলাইন",
|
||||||
|
"username": "সদস্যের নাম",
|
||||||
|
"email": "ইমেইল",
|
||||||
|
"confirm_email": "ইমেইল নিশ্চিত করুন",
|
||||||
|
"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 username to confirm that you wish to destroy this account.",
|
||||||
|
"fullname": "পুর্ণ নাম",
|
||||||
|
"website": "ওয়েবসাইট",
|
||||||
|
"location": "স্থান",
|
||||||
|
"age": "বয়স",
|
||||||
|
"joined": "যোগদান করেছেন",
|
||||||
|
"lastonline": "সর্বশেষ অনলাইনে ছিলেন",
|
||||||
|
"profile": "প্রোফাইল",
|
||||||
|
"profile_views": "প্রোফাইল দেখেছেন",
|
||||||
|
"reputation": "সন্মাননা",
|
||||||
|
"favourites": "পছন্দের তালিকা",
|
||||||
|
"followers": "যাদের অনুসরণ করছেন",
|
||||||
|
"following": "যারা আপনাকে অনুসরণ করছে",
|
||||||
|
"signature": "স্বাক্ষর",
|
||||||
|
"gravatar": "গ্রাভাতার",
|
||||||
|
"birthday": "জন্মদিন",
|
||||||
|
"chat": "বার্তালাপ",
|
||||||
|
"follow": "অনুসরন করুন",
|
||||||
|
"unfollow": "অনুসরন করা থেকে বিরত থাকুন",
|
||||||
|
"profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে",
|
||||||
|
"change_picture": "ছবি পরিবর্তন",
|
||||||
|
"edit": "সম্পাদনা",
|
||||||
|
"uploaded_picture": "ছবি আপলোড করুন",
|
||||||
|
"upload_new_picture": "নতুন ছবি আপলোড করুন",
|
||||||
|
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
|
||||||
|
"current_password": "বর্তমান পাসওয়ার্ড",
|
||||||
|
"change_password": "পাসওয়ার্ড পরিবর্তন",
|
||||||
|
"change_password_error": "অগ্রহনযোগ্য পাসওয়ার্ড",
|
||||||
|
"change_password_error_wrong_current": "আপনার পাসওয়ার্ড সঠিক নয়",
|
||||||
|
"change_password_error_length": "পাসওয়ার্ড অতিরিক্ত ছোট",
|
||||||
|
"change_password_error_match": "পাসওয়ার্ড অবশ্যই একই হতে হবে",
|
||||||
|
"change_password_error_privileges": "আপনার পাসওয়ার্ড পরিবর্তন করার অনুমতি নেই",
|
||||||
|
"change_password_success": "আপনার পাসওয়ার্ড আপডেট করা হয়েছে",
|
||||||
|
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
|
||||||
|
"password": "পাসওয়ার্ড",
|
||||||
|
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
||||||
|
"upload_picture": "ছবি আপলোড করুন",
|
||||||
|
"upload_a_picture": "ছবি (একটি) আপলোড করুন",
|
||||||
|
"image_spec": "আপনি কেবলমাত্র PNG, JPG অথবা GIF ফাইল আপলোড করতে পারবেন",
|
||||||
|
"max": "সর্বোচ্চ",
|
||||||
|
"settings": "সেটিংস",
|
||||||
|
"show_email": "আমার ইমেইল দেখাও",
|
||||||
|
"show_fullname": "আমার সম্পূর্ণ নাম দেখাও",
|
||||||
|
"restrict_chats": "আমি যাদের ফলো করি কেবলমাত্র তাদের থেকে বার্তা গ্রহন করা হোক",
|
||||||
|
"digest_label": "Subscribe to Digest",
|
||||||
|
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
||||||
|
"digest_off": "বন্ধ",
|
||||||
|
"digest_daily": "দৈনিক",
|
||||||
|
"digest_weekly": "সাপ্তাহিক",
|
||||||
|
"digest_monthly": "মাসিক",
|
||||||
|
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
||||||
|
"has_no_follower": "This user doesn't have any followers :(",
|
||||||
|
"follows_no_one": "This user isn't following anyone :(",
|
||||||
|
"has_no_posts": "This user didn't post anything yet.",
|
||||||
|
"has_no_topics": "This user didn't post any topics yet.",
|
||||||
|
"email_hidden": "Email Hidden",
|
||||||
|
"hidden": "hidden",
|
||||||
|
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||||
|
"topics_per_page": "Topics per Page",
|
||||||
|
"posts_per_page": "Posts per Page",
|
||||||
|
"notification_sounds": "Play a sound when you receive a notification.",
|
||||||
|
"browsing": "Browsing Settings",
|
||||||
|
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
||||||
|
"enable_topic_searching": "Enable In-Topic Searching",
|
||||||
|
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen.",
|
||||||
|
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
||||||
|
"follow_topics_you_create": "Follow topics you create."
|
||||||
|
}
|
||||||
9
public/language/bn/users.json
Normal file
9
public/language/bn/users.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:",
|
||||||
|
"top_posters": "সর্বোচ্চ পোষ্টকারী",
|
||||||
|
"most_reputation": "সর্বোচ্চ সম্মাননাধারী",
|
||||||
|
"search": "খুঁজুন",
|
||||||
|
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
|
||||||
|
"load_more": "আরো লোড করুন",
|
||||||
|
"users-found-search-took": "%1 সদস্য(দের) খুঁজে পাওয়া গিয়েছে! সময় লেগেছে %2 ms."
|
||||||
|
}
|
||||||
@@ -4,5 +4,5 @@
|
|||||||
"browsing": "prohlíží",
|
"browsing": "prohlíží",
|
||||||
"no_replies": "Nikdo ještě neodpověděl",
|
"no_replies": "Nikdo ještě neodpověděl",
|
||||||
"share_this_category": "Share this category",
|
"share_this_category": "Share this category",
|
||||||
"ignore": "Ignore"
|
"ignore": "Ignorovat"
|
||||||
}
|
}
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
{
|
{
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
"password-reset-requested": "Požadována obnova hesla - %1!",
|
||||||
"welcome-to": "Welcome to %1",
|
"welcome-to": "Vítejte v %1",
|
||||||
"greeting_no_name": "Hello",
|
"greeting_no_name": "Dobrý den",
|
||||||
"greeting_with_name": "Hello %1",
|
"greeting_with_name": "Dobrý den %1",
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
"welcome.text1": "Děkujeme vám za registraci s %1!",
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
"reset.text1": "Obdrželi jsme požadavek na obnovu hesla, pravděpodobně kvůli tomu, že jste ho zapomněli. Pokud to není tento případ, ignorujte, prosím, tento email.",
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
"reset.text2": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:",
|
||||||
"reset.cta": "Click here to reset your password",
|
"reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
|
||||||
"digest.notifications": "You have unread notifications from %1:",
|
"digest.notifications": "Máte tu nepřečtená oznámení od %1:",
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
"digest.latest_topics": "Nejnovější témata od %1",
|
||||||
"digest.cta": "Click here to visit %1",
|
"digest.cta": "Kliknutím zde navštívíte %1",
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
"digest.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
"notif.chat.subject": "Nová zpráva z chatu od %1",
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.",
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
"notif.chat.unsub.info": "Toto oznámení z chatu vám bylo zasláno, protože jste si to nastavili ve vašich odběrech.",
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
"test.text1": "Tento testovací email slouží k ověření, že mailer je správně nastaven. NodeBB.",
|
||||||
"unsub.cta": "Click here to alter those settings",
|
"unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.",
|
||||||
"closing": "Thanks!"
|
"closing": "Díky!"
|
||||||
}
|
}
|
||||||
@@ -1,64 +1,67 @@
|
|||||||
{
|
{
|
||||||
"invalid-data": "Invalid Data",
|
"invalid-data": "Neplatná data",
|
||||||
"not-logged-in": "You don't seem to be logged in.",
|
"not-logged-in": "Zdá se, že nejste přihlášen(a)",
|
||||||
"account-locked": "Your account has been locked temporarily",
|
"account-locked": "Váš účet byl dočasně uzamčen",
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
"search-requires-login": "Chcete-li vyhledávat, musíte mít účet. Přihlašte se nebo zaregistrujte, prosím.",
|
||||||
"invalid-cid": "Invalid Category ID",
|
"invalid-cid": "Neplatné ID kategorie",
|
||||||
"invalid-tid": "Invalid Topic ID",
|
"invalid-tid": "Neplatné ID tématu",
|
||||||
"invalid-pid": "Invalid Post ID",
|
"invalid-pid": "Neplatné ID příspěvku",
|
||||||
"invalid-uid": "Invalid User ID",
|
"invalid-uid": "Neplatné ID uživatele",
|
||||||
"invalid-username": "Invalid Username",
|
"invalid-username": "Neplatné uživatelské jméno",
|
||||||
"invalid-email": "Invalid Email",
|
"invalid-email": "Neplatný email",
|
||||||
"invalid-title": "Invalid title!",
|
"invalid-title": "Neplatný titulek!",
|
||||||
"invalid-user-data": "Invalid User Data",
|
"invalid-user-data": "Neplatná uživatelská data",
|
||||||
"invalid-password": "Invalid Password",
|
"invalid-password": "Neplatné heslo",
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo",
|
||||||
"invalid-search-term": "Invalid search term",
|
"invalid-search-term": "Neplatný výraz pro vyhledávání",
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
"invalid-pagination-value": "Neplatná hodnota pro stránkování",
|
||||||
"username-taken": "Username taken",
|
"username-taken": "Uživatelské jméno je již použito",
|
||||||
"email-taken": "Email taken",
|
"email-taken": "Email je již použit",
|
||||||
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.",
|
"email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
|
||||||
"username-too-short": "Username too short",
|
"username-too-short": "Uživatelské jméno je příliš krátké",
|
||||||
"username-too-long": "Username too long",
|
"username-too-long": "Uživatelské jméno je příliš dlouhé",
|
||||||
"user-banned": "User banned",
|
"user-banned": "Uživatel byl zakázán",
|
||||||
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
|
"user-too-new": "Pardon, ale je potřeba vyčkat %1 sekund, než-li budete moci vytvořit svůj první příspěvek.",
|
||||||
"no-category": "Category does not exist",
|
"no-category": "Kategorie neexistuje",
|
||||||
"no-topic": "Topic does not exist",
|
"no-topic": "Téma neexistuje",
|
||||||
"no-post": "Post does not exist",
|
"no-post": "Příspěvek neexistuje",
|
||||||
"no-group": "Group does not exist",
|
"no-group": "Skupina neexistuje",
|
||||||
"no-user": "User does not exist",
|
"no-user": "Uživatel neexistuje",
|
||||||
"no-teaser": "Teaser does not exist",
|
"no-teaser": "Teaser does not exist",
|
||||||
"no-privileges": "You do not have enough privileges for this action.",
|
"no-privileges": "Na tuto akci nemáte dostatečná práva",
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
"no-emailers-configured": "Protože není zaveden žádný emailový plugin, není možné odeslat testovací email.",
|
||||||
"category-disabled": "Category disabled",
|
"category-disabled": "Kategorie zakázána",
|
||||||
"topic-locked": "Topic Locked",
|
"topic-locked": "Téma uzamčeno",
|
||||||
"still-uploading": "Please wait for uploads to complete.",
|
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
|
||||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
"content-too-short": "Vložte, prosím, delší příspěvek. Příspěvky by měly obsahovat nejméně %1 znaků.",
|
||||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
"title-too-short": "Vložte, prosím, delší titulek. Titulky by měly obsahovat nejméně %1 znaků.",
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
"title-too-long": "Vložte, prosím, kratší titulek. Titulky by neměly být delší, než-li %1 znaků.",
|
||||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
"too-many-posts": "Své příspěvky můžete odesílat po %1 sekundách - vyčkejte, prosím, před dalším odesláním",
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
"too-many-posts-newbie": "Jako nový uživatel můžete své příspěvky odesílat po %1 sekundách, dokud nedosáhnete %2 reputace - vyčkejte, prosím, před dalším odesláním",
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
"file-too-big": "Maximální povolená velikost souboru je %1 kbs - nahrávejte, prosím, menší soubory",
|
||||||
|
"cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek",
|
||||||
"already-favourited": "You have already favourited this post",
|
"already-favourited": "You have already favourited this post",
|
||||||
"already-unfavourited": "You have already unfavourited this post",
|
"already-unfavourited": "You have already unfavourited this post",
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!",
|
||||||
"invalid-image-type": "Invalid image type",
|
"invalid-image-type": "Neplatný typ obrázku",
|
||||||
"group-name-too-short": "Group name too short",
|
"group-name-too-short": "Název skupiny je příliš krátký",
|
||||||
"group-already-exists": "Group already exists",
|
"group-already-exists": "Skupina už exstuje",
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
"group-name-change-not-allowed": "Změna názvu skupiny není povolena",
|
||||||
"post-already-deleted": "This post has already been deleted",
|
"post-already-deleted": "Tento příspěvek byl již vymazán",
|
||||||
"post-already-restored": "This post has already been restored",
|
"post-already-restored": "Tento příspěvek byl již obnoven",
|
||||||
"topic-already-deleted": "This topic has already been deleted",
|
"topic-already-deleted": "Toto téma bylo již vymazáno",
|
||||||
"topic-already-restored": "This topic has already been restored",
|
"topic-already-restored": "Toto téma bylo již obnoveno",
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
||||||
"invalid-file": "Invalid File",
|
"invalid-file": "Neplatný soubor",
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
"uploads-are-disabled": "Nahrávání je zakázáno",
|
||||||
"upload-error": "Upload Error : %1",
|
"upload-error": "Chyba při nahrávání : %1",
|
||||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
"signature-too-long": "Pardon, ale váš podpis nemůže být delší, než-li %1 znaků.",
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
"cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!",
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
|
||||||
|
"reputation-system-disabled": "Systém reputací je zakázán.",
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
"downvoting-disabled": "Downvoting is disabled",
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
||||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
|
||||||
|
"registration-error": "Chyba při registraci"
|
||||||
}
|
}
|
||||||
@@ -10,24 +10,24 @@
|
|||||||
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
|
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
|
||||||
"register": "Registrovat",
|
"register": "Registrovat",
|
||||||
"login": "Přihlásit se",
|
"login": "Přihlásit se",
|
||||||
"please_log_in": "Please Log In",
|
"please_log_in": "Přihlašte se, prosím",
|
||||||
"logout": "Odhlásit se",
|
"logout": "Odhlásit se",
|
||||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
"posting_restriction_info": "V současné době je zasílání příspěvků povoleno pouze registrovaným členům, klikněte zde a přihlašte se.",
|
||||||
"welcome_back": "Welcome Back",
|
"welcome_back": "Vítejte zpět",
|
||||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
"you_have_successfully_logged_in": "Vaše přihlášení proběhlo úspěšně",
|
||||||
"save_changes": "Uložit změny",
|
"save_changes": "Uložit změny",
|
||||||
"close": "Zrušit",
|
"close": "Zrušit",
|
||||||
"pagination": "Pagination",
|
"pagination": "Stránkování",
|
||||||
"pagination.out_of": "%1 out of %2",
|
"pagination.out_of": "%1 z %2",
|
||||||
"pagination.enter_index": "Enter index",
|
"pagination.enter_index": "Enter index",
|
||||||
"header.admin": "Administrace",
|
"header.admin": "Administrace",
|
||||||
"header.recent": "Aktuality",
|
"header.recent": "Aktuality",
|
||||||
"header.unread": "Nepřečtené",
|
"header.unread": "Nepřečtené",
|
||||||
"header.tags": "Tags",
|
"header.tags": "Tagy",
|
||||||
"header.popular": "Populární",
|
"header.popular": "Populární",
|
||||||
"header.users": "Uživatelé",
|
"header.users": "Uživatelé",
|
||||||
"header.chats": "Chats",
|
"header.chats": "Chats",
|
||||||
"header.notifications": "Notifications",
|
"header.notifications": "Oznámení",
|
||||||
"header.search": "Hledat",
|
"header.search": "Hledat",
|
||||||
"header.profile": "Můj profil",
|
"header.profile": "Můj profil",
|
||||||
"notifications.loading": "Načítání upozornění",
|
"notifications.loading": "Načítání upozornění",
|
||||||
@@ -36,14 +36,14 @@
|
|||||||
"previouspage": "Předchozí stránka",
|
"previouspage": "Předchozí stránka",
|
||||||
"nextpage": "Další stránka",
|
"nextpage": "Další stránka",
|
||||||
"alert.success": "Success",
|
"alert.success": "Success",
|
||||||
"alert.error": "Error",
|
"alert.error": "Chyba",
|
||||||
"alert.banned": "Banned",
|
"alert.banned": "Banned",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
||||||
"alert.unfollow": "You are no longer following %1!",
|
"alert.unfollow": "You are no longer following %1!",
|
||||||
"alert.follow": "You are now following %1!",
|
"alert.follow": "You are now following %1!",
|
||||||
"online": "Online",
|
"online": "Online",
|
||||||
"users": "Users",
|
"users": "Uživatelé",
|
||||||
"topics": "Topics",
|
"topics": "Témata",
|
||||||
"posts": "Příspěvky",
|
"posts": "Příspěvky",
|
||||||
"views": "Zobrazení",
|
"views": "Zobrazení",
|
||||||
"reputation": "Reputation",
|
"reputation": "Reputation",
|
||||||
@@ -58,8 +58,8 @@
|
|||||||
"user_posted_ago": "%1 posted %2",
|
"user_posted_ago": "%1 posted %2",
|
||||||
"guest_posted_ago": "Guest posted %1",
|
"guest_posted_ago": "Guest posted %1",
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
"last_edited_by_ago": "last edited by %1 %2",
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "Žádné nedávné příspěvky",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "Žádné nedávné témata",
|
||||||
"recentposts": "Nedávné příspěvky",
|
"recentposts": "Nedávné příspěvky",
|
||||||
"recentips": "Recently Logged In IPs",
|
"recentips": "Recently Logged In IPs",
|
||||||
"away": "Pryč",
|
"away": "Pryč",
|
||||||
@@ -67,10 +67,11 @@
|
|||||||
"invisible": "Neviditelný",
|
"invisible": "Neviditelný",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"language": "Language",
|
"language": "Jazyk",
|
||||||
"guest": "Guest",
|
"guest": "Host",
|
||||||
"guests": "Guests",
|
"guests": "Hosté",
|
||||||
"updated.title": "Forum Updated",
|
"updated.title": "Fórum zaktualizováno",
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
"updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.",
|
||||||
"privacy": "Privacy"
|
"privacy": "Privacy",
|
||||||
|
"delete_all": "Vymazat vše"
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"groups": "Groups",
|
"groups": "Skupiny",
|
||||||
"view_group": "View Group",
|
"view_group": "Prohlédnout skupinu",
|
||||||
"details.title": "Group Details",
|
"details.title": "podrobnosti skupiny",
|
||||||
"details.members": "Member List",
|
"details.members": "Seznam členů",
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
|
||||||
"details.latest_posts": "Latest Posts"
|
"details.latest_posts": "Nejnovější příspěvky"
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"username": "Username / Email",
|
"username": "Uživatelské jméno / Email",
|
||||||
"remember_me": "Zapamatovat si mě?",
|
"remember_me": "Zapamatovat si mě?",
|
||||||
"forgot_password": "Zapomněli jste heslo?",
|
"forgot_password": "Zapomněli jste heslo?",
|
||||||
"alternative_logins": "Další způsoby přihlášení",
|
"alternative_logins": "Další způsoby přihlášení",
|
||||||
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
|
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
|
||||||
"login_successful": "Přihlášení proběhlo úspěšně!",
|
"login_successful": "Přihlášení proběhlo úspěšně!",
|
||||||
"dont_have_account": "Don't have an account?"
|
"dont_have_account": "Nemáte účet?"
|
||||||
}
|
}
|
||||||
@@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
|
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
|
||||||
"chat.placeholder": "Type chat message here, press enter to send",
|
"chat.placeholder": "Zprávu do chatu napište zde, pro odeslání stiskněte enter",
|
||||||
"chat.send": "Odeslat",
|
"chat.send": "Odeslat",
|
||||||
"chat.no_active": "Nemáte žádné aktivní konverzace.",
|
"chat.no_active": "Nemáte žádné aktivní konverzace.",
|
||||||
"chat.user_typing": "%1 is typing ...",
|
"chat.user_typing": "%1 píše ...",
|
||||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
"chat.user_has_messaged_you": "%1 has messaged you.",
|
||||||
"chat.see_all": "See all Chats",
|
"chat.see_all": "See all Chats",
|
||||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
"chat.no-messages": "Please select a recipient to view chat message history",
|
||||||
"chat.recent-chats": "Recent Chats",
|
"chat.recent-chats": "Recent Chats",
|
||||||
"chat.contacts": "Contacts",
|
"chat.contacts": "Kontakty",
|
||||||
"chat.message-history": "Message History",
|
"chat.message-history": "Historie zpráv",
|
||||||
"chat.pop-out": "Pop out chat",
|
"chat.pop-out": "Pop out chat",
|
||||||
"chat.maximize": "Maximize",
|
"chat.maximize": "Maximalizovat",
|
||||||
"chat.yesterday": "Yesterday",
|
"chat.seven_days": "7 dní",
|
||||||
"chat.seven_days": "7 Days",
|
"chat.thirty_days": "30 dní",
|
||||||
"chat.thirty_days": "30 Days",
|
"chat.three_months": "3 měsíce",
|
||||||
"chat.three_months": "3 Months",
|
|
||||||
"composer.user_said_in": "%1 said in %2:",
|
"composer.user_said_in": "%1 said in %2:",
|
||||||
"composer.user_said": "%1 said:",
|
"composer.user_said": "%1 said:",
|
||||||
"composer.discard": "Are you sure you wish to discard this post?"
|
"composer.discard": "Are you sure you wish to discard this post?"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"new_password": "Nové heslo",
|
"new_password": "Nové heslo",
|
||||||
"repeat_password": "Potvrzení hesla",
|
"repeat_password": "Potvrzení hesla",
|
||||||
"enter_email": "Zadejte svou <strong>emailovou adresu</strong> a my Vám pošleme informace, jak můžete obnovit své heslo.",
|
"enter_email": "Zadejte svou <strong>emailovou adresu</strong> a my Vám pošleme informace, jak můžete obnovit své heslo.",
|
||||||
"enter_email_address": "Enter Email Address",
|
"enter_email_address": "Zadejte emailovou adresu",
|
||||||
"password_reset_sent": "Obnova hesla odeslána",
|
"password_reset_sent": "Obnova hesla odeslána",
|
||||||
"invalid_email": "Špatný email / Email neexistuje!"
|
"invalid_email": "Špatný email / Email neexistuje!"
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"no_tag_topics": "There are no topics with this tag.",
|
"no_tag_topics": "Není zde žádné téma s tímto tagem.",
|
||||||
"tags": "Tags",
|
"tags": "Tagy",
|
||||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
"enter_tags_here": "Zde vložte tagy. Po každém vložení tagu zmáčkněte enter.",
|
||||||
"enter_tags_here_short": "Enter tags...",
|
"enter_tags_here_short": "Vložte tagy ...",
|
||||||
"no_tags": "There are no tags yet."
|
"no_tags": "Zatím tu není žádný tag."
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"topic": "Téma",
|
"topic": "Téma",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "ID tématu",
|
||||||
"topic_id_placeholder": "Enter topic ID",
|
"topic_id_placeholder": "Vložte ID tématu",
|
||||||
"no_topics_found": "Nebyla nalezena žádná témata!",
|
"no_topics_found": "Nebyla nalezena žádná témata!",
|
||||||
"no_posts_found": "No posts found!",
|
"no_posts_found": "Nebyly nalezeny žádné příspěvky!",
|
||||||
"post_is_deleted": "This post is deleted!",
|
"post_is_deleted": "Tento příspěvek je vymazán!",
|
||||||
"profile": "Profil",
|
"profile": "Profil",
|
||||||
"posted_by": "Posted by %1",
|
"posted_by": "Posted by %1",
|
||||||
"posted_by_guest": "Posted by Guest",
|
"posted_by_guest": "Posted by Guest",
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "Unread",
|
"title": "Nepřečtené",
|
||||||
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
|
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
|
||||||
"load_more": "Načíst další",
|
"load_more": "Načíst další",
|
||||||
"mark_as_read": "Mark as Read",
|
"mark_as_read": "Označit jako přeštené",
|
||||||
"selected": "Selected",
|
"selected": "Vybrané",
|
||||||
"all": "All",
|
"all": "Vše",
|
||||||
"topics_marked_as_read.success": "Topics marked as read!"
|
"topics_marked_as_read.success": "Téma bylo označeno jako přečtené!"
|
||||||
}
|
}
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"username": "Uživatelské jméno",
|
"username": "Uživatelské jméno",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"confirm_email": "Confirm Email",
|
"confirm_email": "Potvrdit email",
|
||||||
"delete_account": "Delete Account",
|
"delete_account": "Vymazat účet",
|
||||||
"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 username to confirm that you wish to destroy this 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 username to confirm that you wish to destroy this account.",
|
||||||
"fullname": "Jméno a příjmení",
|
"fullname": "Jméno a příjmení",
|
||||||
"website": "Webové stránky",
|
"website": "Webové stránky",
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"age": "Věk",
|
"age": "Věk",
|
||||||
"joined": "Registrován",
|
"joined": "Registrován",
|
||||||
"lastonline": "Naposledy online",
|
"lastonline": "Naposledy online",
|
||||||
"profile": "Profile",
|
"profile": "Profil",
|
||||||
"profile_views": "Zobrazení profilu",
|
"profile_views": "Zobrazení profilu",
|
||||||
"reputation": "Reputace",
|
"reputation": "Reputace",
|
||||||
"favourites": "Oblíbené",
|
"favourites": "Oblíbené",
|
||||||
@@ -24,15 +24,15 @@
|
|||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"follow": "Follow",
|
"follow": "Follow",
|
||||||
"unfollow": "Unfollow",
|
"unfollow": "Unfollow",
|
||||||
"profile_update_success": "Profile has been updated successfully!",
|
"profile_update_success": "Profil byl úspěšně aktualizován!",
|
||||||
"change_picture": "Změnit obrázek",
|
"change_picture": "Změnit obrázek",
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
"uploaded_picture": "Nahraný obrázek",
|
"uploaded_picture": "Nahraný obrázek",
|
||||||
"upload_new_picture": "Nahrát nový obrázek",
|
"upload_new_picture": "Nahrát nový obrázek",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||||
"current_password": "Current Password",
|
"current_password": "Současné heslo",
|
||||||
"change_password": "Změnit heslo",
|
"change_password": "Změnit heslo",
|
||||||
"change_password_error": "Invalid Password!",
|
"change_password_error": "Neplatné heslo",
|
||||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||||
"change_password_error_length": "Password too short!",
|
"change_password_error_length": "Password too short!",
|
||||||
"change_password_error_match": "Passwords must match!",
|
"change_password_error_match": "Passwords must match!",
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
"settings": "Nastavení",
|
"settings": "Nastavení",
|
||||||
"show_email": "Zobrazovat můj email v profilu",
|
"show_email": "Zobrazovat můj email v profilu",
|
||||||
"show_fullname": "Show My Full Name",
|
"show_fullname": "Show My Full Name",
|
||||||
|
"restrict_chats": "Only allow chat messages from users I follow",
|
||||||
"digest_label": "Subscribe to Digest",
|
"digest_label": "Subscribe to Digest",
|
||||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
||||||
"digest_off": "Off",
|
"digest_off": "Off",
|
||||||
@@ -67,6 +68,8 @@
|
|||||||
"notification_sounds": "Play a sound when you receive a notification.",
|
"notification_sounds": "Play a sound when you receive a notification.",
|
||||||
"browsing": "Browsing Settings",
|
"browsing": "Browsing Settings",
|
||||||
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
||||||
|
"enable_topic_searching": "Enable In-Topic Searching",
|
||||||
|
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen.",
|
||||||
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
||||||
"follow_topics_you_create": "Follow topics you create."
|
"follow_topics_you_create": "Follow topics you create."
|
||||||
}
|
}
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
"search": "Vyhledávat",
|
"search": "Vyhledávat",
|
||||||
"enter_username": "Zadej uživatelské jméno k hledání",
|
"enter_username": "Zadej uživatelské jméno k hledání",
|
||||||
"load_more": "Načíst další",
|
"load_more": "Načíst další",
|
||||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
"users-found-search-took": "Nazelezeno: %1 uživetel(ů)! Vyhledání trvalo %2 ms."
|
||||||
}
|
}
|
||||||
@@ -9,11 +9,11 @@
|
|||||||
"reset.text1": "Wir haben eine Anfrage auf Zurücksetzung deines Passworts erhalten, wahrscheinlich, weil du es vergessen hast. Falls dies nicht der Fall ist, ignoriere bitte diese E-Mail.",
|
"reset.text1": "Wir haben eine Anfrage auf Zurücksetzung deines Passworts erhalten, wahrscheinlich, weil du es vergessen hast. Falls dies nicht der Fall ist, ignoriere bitte diese E-Mail.",
|
||||||
"reset.text2": "Klicke bitte auf den folgenden Link, um mit der Zurücksetzung deines Passworts fortzufahren:",
|
"reset.text2": "Klicke bitte auf den folgenden Link, um mit der Zurücksetzung deines Passworts fortzufahren:",
|
||||||
"reset.cta": "Klicke hier, um dein Passwort zurückzusetzen",
|
"reset.cta": "Klicke hier, um dein Passwort zurückzusetzen",
|
||||||
"digest.notifications": "You have unread notifications from %1:",
|
"digest.notifications": "Du hast ungelesene Benachrichtigungen von %1:",
|
||||||
"digest.latest_topics": "Aktuellste Themen vom %1",
|
"digest.latest_topics": "Aktuellste Themen vom %1",
|
||||||
"digest.cta": "Klicke hier, um %1 zu besuchen",
|
"digest.cta": "Klicke hier, um %1 zu besuchen",
|
||||||
"digest.unsub.info": "Diese Zusammenfassung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
"digest.unsub.info": "Diese Zusammenfassung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
||||||
"digest.daily.no_topics": "Es gab heute keine aktiven Themen",
|
"digest.no_topics": "Es gab keine aktiven Themen in den letzten %1",
|
||||||
"notif.chat.subject": "Neue Chatnachricht von %1 erhalten",
|
"notif.chat.subject": "Neue Chatnachricht von %1 erhalten",
|
||||||
"notif.chat.cta": "Klicke hier, um die Unterhaltung fortzusetzen",
|
"notif.chat.cta": "Klicke hier, um die Unterhaltung fortzusetzen",
|
||||||
"notif.chat.unsub.info": "Diese Chat-Benachrichtigung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
"notif.chat.unsub.info": "Diese Chat-Benachrichtigung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
||||||
|
|||||||
@@ -17,48 +17,51 @@
|
|||||||
"invalid-pagination-value": "Die Nummerierung ist ungültig",
|
"invalid-pagination-value": "Die Nummerierung ist ungültig",
|
||||||
"username-taken": "Der Benutzername ist bereits vergeben",
|
"username-taken": "Der Benutzername ist bereits vergeben",
|
||||||
"email-taken": "Die E-Mail-Adresse ist bereits vergeben",
|
"email-taken": "Die E-Mail-Adresse ist bereits vergeben",
|
||||||
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.",
|
"email-not-confirmed": "Deine E-Mail wurde noch nicht bestätigt. Bitte klicke hier, um deine E-Mail zu bestätigen.",
|
||||||
"username-too-short": "Benutzername ist zu kurz",
|
"username-too-short": "Benutzername ist zu kurz",
|
||||||
"username-too-long": "Der Benutzername ist zu lang",
|
"username-too-long": "Der Benutzername ist zu lang",
|
||||||
"user-banned": "Der Benutzer ist gesperrt",
|
"user-banned": "Der Benutzer ist gesperrt",
|
||||||
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
|
"user-too-new": "Entschuldigung, du musst %1 Sekunden warten, bevor du deinen ersten Beitrag verfassen kannst!",
|
||||||
"no-category": "Category does not exist",
|
"no-category": "Die Kategorie existiert nicht",
|
||||||
"no-topic": "Topic does not exist",
|
"no-topic": "Das Thema existiert nicht",
|
||||||
"no-post": "Post does not exist",
|
"no-post": "Der Beitrag existiert nicht",
|
||||||
"no-group": "Group does not exist",
|
"no-group": "Die Gruppe existiert nicht",
|
||||||
"no-user": "User does not exist",
|
"no-user": "Der Benutzer existiert nicht",
|
||||||
"no-teaser": "Teaser does not exist",
|
"no-teaser": "Zusammenfassung existiert nicht",
|
||||||
"no-privileges": "You do not have enough privileges for this action.",
|
"no-privileges": "Du verfügst nicht über ausreichende Berechtigungen, um die Aktion durchzuführen.",
|
||||||
"no-emailers-configured": "Es wurde keine E-Mail-Plugins geladen, weshalb eine Test-E-Mail nicht gesendet werden konnte.",
|
"no-emailers-configured": "Es wurde keine E-Mail-Plugins geladen, weshalb eine Test-E-Mail nicht gesendet werden konnte.",
|
||||||
"category-disabled": "Kategorie ist deaktiviert",
|
"category-disabled": "Kategorie ist deaktiviert",
|
||||||
"topic-locked": "Thema ist gesperrt",
|
"topic-locked": "Thema ist gesperrt",
|
||||||
"still-uploading": "Bitte warte bis der Vorgang abgeschlossen ist.",
|
"still-uploading": "Bitte warte bis der Vorgang abgeschlossen ist.",
|
||||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
"content-too-short": "Bitte gib einen längeren Beitrag ein. Beiträge sollten mindestens %1 Zeichen enthalten.",
|
||||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
"title-too-short": "Bitte gib einen längeren Titel ein. Titel sollten mindestens %1 Zeichen enthalten.",
|
||||||
"title-too-long": "Der Titel darf maximal %1 Zeichen enthalten.",
|
"title-too-long": "Der Titel darf maximal %1 Zeichen enthalten.",
|
||||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
"too-many-posts": "Du kannst maximal alle %1 Sekunden einen Beitrag erstellen - bitte warte, bevor du einen neuen Beitrag erstellst",
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
"too-many-posts-newbie": "Als neuer Benutzer kannst du nur alle %1 Sekunden einen Beitrag verfassen, bis du %2 Reputationspunkte hast - Bitte warte etwas, bevor du erneut einen Beitrag verfasst",
|
||||||
|
"file-too-big": "Die maximale Dateigröße beträgt %1 kbs - bitte lade eine kleinere Datei hoch",
|
||||||
"cant-vote-self-post": "Du kannst deinen eigenen Beitrag nicht bewerten.",
|
"cant-vote-self-post": "Du kannst deinen eigenen Beitrag nicht bewerten.",
|
||||||
"already-favourited": "You have already favourited this post",
|
"already-favourited": "Dieser Beitrag ist bereits in deinen Favoriten enthalten",
|
||||||
"already-unfavourited": "You have already unfavourited this post",
|
"already-unfavourited": "Du hast diesen Beitrag bereits aus deinen Favoriten entfernt",
|
||||||
"cant-ban-other-admins": "Du kannst andere Administratoren nicht sperren!",
|
"cant-ban-other-admins": "Du kannst andere Administratoren nicht sperren!",
|
||||||
"invalid-image-type": "Ungültiger Bildtyp",
|
"invalid-image-type": "Ungültiger Bildtyp",
|
||||||
"group-name-too-short": "Gruppenname zu kurz",
|
"group-name-too-short": "Gruppenname zu kurz",
|
||||||
"group-already-exists": "Gruppe existiert bereits",
|
"group-already-exists": "Gruppe existiert bereits",
|
||||||
"group-name-change-not-allowed": "Du kannst den Namen der Gruppe nicht ändern",
|
"group-name-change-not-allowed": "Du kannst den Namen der Gruppe nicht ändern",
|
||||||
"post-already-deleted": "This post has already been deleted",
|
"post-already-deleted": "Dieser Beitrag ist bereits gelöscht worden",
|
||||||
"post-already-restored": "This post has already been restored",
|
"post-already-restored": "Dieser Beitrag ist bereits wiederhergestellt worden",
|
||||||
"topic-already-deleted": "This topic has already been deleted",
|
"topic-already-deleted": "Dieses Thema ist bereits gelöscht worden",
|
||||||
"topic-already-restored": "This topic has already been restored",
|
"topic-already-restored": "Dieses Thema ist bereits wiederhergestellt worden",
|
||||||
"topic-thumbnails-are-disabled": "Vorschaubilder für Themen sind deaktiviert",
|
"topic-thumbnails-are-disabled": "Vorschaubilder für Themen sind deaktiviert",
|
||||||
"invalid-file": "Datei ungültig",
|
"invalid-file": "Datei ungültig",
|
||||||
"uploads-are-disabled": "Uploads sind deaktiviert",
|
"uploads-are-disabled": "Uploads sind deaktiviert",
|
||||||
"upload-error": "Upload-Fehler: %1",
|
"upload-error": "Upload-Fehler: %1",
|
||||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
"signature-too-long": "Entschuldigung, deine Signatur darf maximal %1 Zeichen enthalten.",
|
||||||
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
|
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
|
||||||
|
"chat-restricted": "Dieser Benutzer hat seine Chatfunktion eingeschränkt. Du kannst nur mit diesem Benutzer chatten, wenn er dir folgt.",
|
||||||
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
|
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
|
||||||
"downvoting-disabled": "Downvotes sind deaktiviert.",
|
"downvoting-disabled": "Downvotes sind deaktiviert.",
|
||||||
"not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten.",
|
"not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten.",
|
||||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
"not-enough-reputation-to-flag": "Deine Reputation ist nicht gut genug, um diesen Beitrag zu melden",
|
||||||
"reload-failed": "Es ist ein Problem während des Reloads von NodeBB aufgetreten: \"%1\". NodeBB wird weiterhin clientseitige Assets bereitstellen, allerdings solltest du das, was du vor dem Reload gemacht hast, rückgängig machen."
|
"reload-failed": "Es ist ein Problem während des Reloads von NodeBB aufgetreten: \"%1\". NodeBB wird weiterhin clientseitige Assets bereitstellen, allerdings solltest du das, was du vor dem Reload gemacht hast, rückgängig machen.",
|
||||||
|
"registration-error": "Registrierungsfehler"
|
||||||
}
|
}
|
||||||
@@ -72,5 +72,6 @@
|
|||||||
"guests": "Gäste",
|
"guests": "Gäste",
|
||||||
"updated.title": "Forum aktualisiert",
|
"updated.title": "Forum aktualisiert",
|
||||||
"updated.message": "Dieses Forum wurde gerade auf die neueste Version aktualisiert. Klicke hier, um die Seite neuzuladen.",
|
"updated.message": "Dieses Forum wurde gerade auf die neueste Version aktualisiert. Klicke hier, um die Seite neuzuladen.",
|
||||||
"privacy": "Privacy"
|
"privacy": "Privatsphäre",
|
||||||
|
"delete_all": "Alles löschen"
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"groups": "Groups",
|
"groups": "Gruppen",
|
||||||
"view_group": "Gruppe betrachten",
|
"view_group": "Gruppe betrachten",
|
||||||
"details.title": "Gruppendetails",
|
"details.title": "Gruppendetails",
|
||||||
"details.members": "Mitgliederliste",
|
"details.members": "Mitgliederliste",
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
"chat.message-history": "Nachrichtenverlauf",
|
"chat.message-history": "Nachrichtenverlauf",
|
||||||
"chat.pop-out": "Chat als Pop-out anzeigen",
|
"chat.pop-out": "Chat als Pop-out anzeigen",
|
||||||
"chat.maximize": "Maximieren",
|
"chat.maximize": "Maximieren",
|
||||||
"chat.yesterday": "Gestern",
|
|
||||||
"chat.seven_days": "7 Tage",
|
"chat.seven_days": "7 Tage",
|
||||||
"chat.thirty_days": "30 Tage",
|
"chat.thirty_days": "30 Tage",
|
||||||
"chat.three_months": "3 Monate",
|
"chat.three_months": "3 Monate",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"favourited_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> favorisiert.",
|
"favourited_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> favorisiert.",
|
||||||
"user_flagged_post_in": "<strong>%1</strong> hat einen Beitrag in </strong>%2</strong> gemeldet",
|
"user_flagged_post_in": "<strong>%1</strong> hat einen Beitrag in </strong>%2</strong> gemeldet",
|
||||||
"user_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
|
"user_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
|
||||||
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
"user_posted_topic": "<strong>%1</strong> hat ein neues Thema erstellt: <strong>%2</strong>",
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> erwähnte dich in <strong>%2</strong>",
|
"user_mentioned_you_in": "<strong>%1</strong> erwähnte dich in <strong>%2</strong>",
|
||||||
"user_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
|
"user_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
|
||||||
"email-confirmed": "E-Mail bestätigt",
|
"email-confirmed": "E-Mail bestätigt",
|
||||||
|
|||||||
@@ -14,5 +14,5 @@
|
|||||||
"user.favourites": "Von %1 favorisierte Beiträge",
|
"user.favourites": "Von %1 favorisierte Beiträge",
|
||||||
"user.settings": "Benutzer-Einstellungen",
|
"user.settings": "Benutzer-Einstellungen",
|
||||||
"maintenance.text": "%1 befindet sich derzeit in der Wartung. Bitte komm später wieder.",
|
"maintenance.text": "%1 befindet sich derzeit in der Wartung. Bitte komm später wieder.",
|
||||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
"maintenance.messageIntro": "Zusätzlich hat der Administrator diese Nachricht hinterlassen:"
|
||||||
}
|
}
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
||||||
"fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst",
|
"fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst",
|
||||||
"fork_no_pids": "Keine Beiträge ausgewählt!",
|
"fork_no_pids": "Keine Beiträge ausgewählt!",
|
||||||
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
|
"fork_success": "Thema erfolgreich abgespalten! Klicke hier, um zum abgespalteten Thema zu gelangen.",
|
||||||
"composer.title_placeholder": "Hier den Titel des Themas eingeben...",
|
"composer.title_placeholder": "Hier den Titel des Themas eingeben...",
|
||||||
"composer.discard": "Verwerfen",
|
"composer.discard": "Verwerfen",
|
||||||
"composer.submit": "Absenden",
|
"composer.submit": "Absenden",
|
||||||
|
|||||||
@@ -47,7 +47,8 @@
|
|||||||
"max": "max.",
|
"max": "max.",
|
||||||
"settings": "Einstellungen",
|
"settings": "Einstellungen",
|
||||||
"show_email": "Zeige meine E-Mail Adresse an.",
|
"show_email": "Zeige meine E-Mail Adresse an.",
|
||||||
"show_fullname": "Show My Full Name",
|
"show_fullname": "Zeige meinen kompletten Namen an",
|
||||||
|
"restrict_chats": "Nur Chatnachrichten von Benutzern, denen ich folge, erlauben",
|
||||||
"digest_label": "Auszug abonnieren",
|
"digest_label": "Auszug abonnieren",
|
||||||
"digest_description": "Abonniere E-Mail-Benachrichtigungen für dieses Forum (neue Benachrichtigungen und Themen) nach einem festen Zeitplan.",
|
"digest_description": "Abonniere E-Mail-Benachrichtigungen für dieses Forum (neue Benachrichtigungen und Themen) nach einem festen Zeitplan.",
|
||||||
"digest_off": "Aus",
|
"digest_off": "Aus",
|
||||||
@@ -67,6 +68,8 @@
|
|||||||
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
|
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
|
||||||
"browsing": "Browser Einstellungen",
|
"browsing": "Browser Einstellungen",
|
||||||
"open_links_in_new_tab": "Externe Links in neuem Tab öffnen?",
|
"open_links_in_new_tab": "Externe Links in neuem Tab öffnen?",
|
||||||
|
"enable_topic_searching": "Suchen innerhalb von Themen aktivieren",
|
||||||
|
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen.",
|
||||||
"follow_topics_you_reply_to": "Folge Themen, auf die du antwortest.",
|
"follow_topics_you_reply_to": "Folge Themen, auf die du antwortest.",
|
||||||
"follow_topics_you_create": "Folge Themen, die du erstellst."
|
"follow_topics_you_create": "Folge Themen, die du erstellst."
|
||||||
}
|
}
|
||||||
8
public/language/el/category.json
Normal file
8
public/language/el/category.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"new_topic_button": "Νέο Θέμα",
|
||||||
|
"no_topics": "<strong>Δεν υπάρχουν θέματα σε αυτή την κατηγορία.</strong><br />Γιατί δεν δοκιμάζεις να δημοσιεύσεις ένα εσύ;",
|
||||||
|
"browsing": "περιηγούνται",
|
||||||
|
"no_replies": "Κανείς δεν έχει απαντήσει",
|
||||||
|
"share_this_category": "Μοιράσου αυτή την κατηγορία",
|
||||||
|
"ignore": "Αγνόηση"
|
||||||
|
}
|
||||||
23
public/language/el/email.json
Normal file
23
public/language/el/email.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"password-reset-requested": "Ζητήθηκε Επαναφορά Κωδικου - %1!",
|
||||||
|
"welcome-to": "Καλωσόρισες στο %1",
|
||||||
|
"greeting_no_name": "Γειά σου",
|
||||||
|
"greeting_with_name": "Γειά σου %1",
|
||||||
|
"welcome.text1": "Ευχαριστούμε που γράφτηκες στο %1!",
|
||||||
|
"welcome.text2": "Για να ενεργοποιήσεις πλήρως τον λογαριασμό σου, πρέπει να επιβεβαιώσουμε πως η διεύθυνση email με την οποια γράφτηκες σου ανήκει.",
|
||||||
|
"welcome.cta": "Κάνε κλικ εδώ για να επιβεβαιώσεις την διεύθυνσή σου",
|
||||||
|
"reset.text1": "Λάβαμε ένα αίτημα για επαναφορά του κωδικού σου, πιθανότατα γιατί τον ξέχασες. Αν δεν έκανες εσύ αυτό το αίτημα, αγνόησε αυτό το email.",
|
||||||
|
"reset.text2": "Για να κάνεις την επαναφορά του κωδικού σου, παρακαλώ πάτα στο παρακάτω σύνδεσμο:",
|
||||||
|
"reset.cta": "Κάνε κλικ εδώ για να επαναφέρεις τον κωδικό σου",
|
||||||
|
"digest.notifications": "You have unread notifications from %1:",
|
||||||
|
"digest.latest_topics": "Πρόσφατα θέματα στο %1",
|
||||||
|
"digest.cta": "Κάνε κλικ εδώ για να επισκεφτείς το %1",
|
||||||
|
"digest.unsub.info": "Αυτή η σύνοψη σου στάλθηκε λόγω των ρυθμίσεών σου.",
|
||||||
|
"digest.no_topics": "There have been no active topics in the past %1",
|
||||||
|
"notif.chat.subject": "Νέο μήνυμα συνομιλίας από τον/την %1",
|
||||||
|
"notif.chat.cta": "Κάνε κλικ εδώ για να πας στην συνομιλία",
|
||||||
|
"notif.chat.unsub.info": "Αυτή η ειδοποίηση για συνομιλία σου στάλθηκε λόγω των ρυθμίσεών σου. ",
|
||||||
|
"test.text1": "Αυτό είναι ένα δοκιμαστικό email για να επιβεβαιώσουμε ότι ο emailer έχει στηθεί σωστά για το NodeBB.",
|
||||||
|
"unsub.cta": "Κάνε κλικ εδώ για να αλλάξεις αυτές τις ρυθμίσεις",
|
||||||
|
"closing": "Ευχαριστούμε!"
|
||||||
|
}
|
||||||
67
public/language/el/error.json
Normal file
67
public/language/el/error.json
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
{
|
||||||
|
"invalid-data": "Άκυρα Δεδομένα",
|
||||||
|
"not-logged-in": "Φαίνεται πως δεν είσαι συνδεδεμένος/η.",
|
||||||
|
"account-locked": "Ο λογαριασμός σου έχει κλειδωθεί προσωρινά",
|
||||||
|
"search-requires-login": "Πρέπει να είσαι συνδεδεμένος/η για να αναζητήσεις! Παρακαλώ συνδέσου ή εγγράψου!",
|
||||||
|
"invalid-cid": "Άκυρο ID Κατηγορίας",
|
||||||
|
"invalid-tid": "Άκυρο ID Θέματος",
|
||||||
|
"invalid-pid": "Άκυρο ID Δημοσίευσης",
|
||||||
|
"invalid-uid": "Άκυρο ID Χρήστη",
|
||||||
|
"invalid-username": "Άκυρο Όνομα Χρήστη",
|
||||||
|
"invalid-email": "Άκυρο Email",
|
||||||
|
"invalid-title": "Άκυρος Τίτλος!",
|
||||||
|
"invalid-user-data": "Άκυρα Δεδομένα Χρήστη",
|
||||||
|
"invalid-password": "Άκυρος Κωδικός",
|
||||||
|
"invalid-username-or-password": "Παρακαλώ γράψε το όνομα χρήστη και τον κωδικό",
|
||||||
|
"invalid-search-term": "Άκυρος όρος αναζήτησης",
|
||||||
|
"invalid-pagination-value": "Άκυρη τιμή σελιδοποίησης",
|
||||||
|
"username-taken": "Το όνομα χρήστη είναι πιασμένο",
|
||||||
|
"email-taken": "Το email είναι πιασμένο",
|
||||||
|
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.",
|
||||||
|
"username-too-short": "Το όνομα χρήστη είναι πολύ μικρό",
|
||||||
|
"username-too-long": "Το όνομα χρήστη είναι πολύ μεγάλο",
|
||||||
|
"user-banned": "Ο Χρήστης είναι αποκλεισμένος/η",
|
||||||
|
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
|
||||||
|
"no-category": "Category does not exist",
|
||||||
|
"no-topic": "Topic does not exist",
|
||||||
|
"no-post": "Post does not exist",
|
||||||
|
"no-group": "Group does not exist",
|
||||||
|
"no-user": "User does not exist",
|
||||||
|
"no-teaser": "Teaser does not exist",
|
||||||
|
"no-privileges": "You do not have enough privileges for this action.",
|
||||||
|
"no-emailers-configured": "Δεν έχουν φορτωθεί email plugins, οποτε το δοκιμαστικό email δεν μπορεί να σταλθεί",
|
||||||
|
"category-disabled": "Η κατηγορία έχει απενεργοποιηθεί",
|
||||||
|
"topic-locked": "Το θέμα έχει κλειδωθεί",
|
||||||
|
"still-uploading": "Παρακαλώ περίμενε να τελειώσει το ανέβασμα των αρχείων.",
|
||||||
|
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
||||||
|
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
||||||
|
"title-too-long": "Παρακαλώ γράψε έναν μικρότερο τίτλο. Δεν μπορεί να είναι μεγαλύτερος από %1 χαρακτήρες.",
|
||||||
|
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
||||||
|
"too-many-posts-newbie": "As a new user, you can only post once every %1 seconds until you have earned %2 reputation - please wait before posting again",
|
||||||
|
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
||||||
|
"cant-vote-self-post": "Δεν μπορείς να ψηφίσεις την δημοσίευσή σου",
|
||||||
|
"already-favourited": "You have already favourited this post",
|
||||||
|
"already-unfavourited": "You have already unfavourited this post",
|
||||||
|
"cant-ban-other-admins": "Δεν μπορείς να αποκλείσεις άλλους διαχειριστές!",
|
||||||
|
"invalid-image-type": "Άκυρος τύπος εικόνας",
|
||||||
|
"group-name-too-short": "Το όνομα της ομάδας είναι πολύ μικρό",
|
||||||
|
"group-already-exists": "Το όνομα της ομάδας υπάρχει ήδη",
|
||||||
|
"group-name-change-not-allowed": "Αλλαγή του ονόματος της ομάδας δεν επιτρέπεται",
|
||||||
|
"post-already-deleted": "This post has already been deleted",
|
||||||
|
"post-already-restored": "This post has already been restored",
|
||||||
|
"topic-already-deleted": "This topic has already been deleted",
|
||||||
|
"topic-already-restored": "This topic has already been restored",
|
||||||
|
"topic-thumbnails-are-disabled": "Οι εικόνες θεμάτων είναι απενεργοποιημένες",
|
||||||
|
"invalid-file": "Άκυρο Αρχείο",
|
||||||
|
"uploads-are-disabled": "Το ανέβασμα αρχείων έχει απενεργοποιηθεί",
|
||||||
|
"upload-error": "Λάθος ανεβάσματος αρχείου: %1",
|
||||||
|
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
||||||
|
"cant-chat-with-yourself": "Δεν μπορείς να συνομιλήσεις με τον εαυτό σου!",
|
||||||
|
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
|
||||||
|
"reputation-system-disabled": "Το σύστημα φήμης έχει απενεργοποιηθεί.",
|
||||||
|
"downvoting-disabled": "Η καταψήφιση έχει απενεργοποιηθεί",
|
||||||
|
"not-enough-reputation-to-downvote": "Δεν έχεις αρκετή φήμη για να καταψηφίσεις αυτή την δημοσίευση",
|
||||||
|
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
||||||
|
"reload-failed": "Το NodeBB συνάντησε ένα πρόβλημα καθώς γινόταν η ανανέωση: \"%1\". Το NodeBB θα συνεχίσει να προσφέρει τα στοιχεία του χρήστη, αν και θα ήταν καλή ιδέα να επαναφέρεις ότι έκανες πριν την ανανέωση.",
|
||||||
|
"registration-error": "Registration Error"
|
||||||
|
}
|
||||||
77
public/language/el/global.json
Normal file
77
public/language/el/global.json
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"home": "Κεντρική",
|
||||||
|
"search": "Αναζήτηση",
|
||||||
|
"buttons.close": "Κλείσιμο",
|
||||||
|
"403.title": "Δεν επιτρέπεται η πρόσβαση",
|
||||||
|
"403.message": "Φαίνεται πως βρέθηκες σε κάποια σελίδα στην οποία δεν έχεις πρόσβαση. Ίσως πρέπει να <a href='/login'>συνδεθείς</a>;",
|
||||||
|
"404.title": "Δεν βρέθηκε",
|
||||||
|
"404.message": "Φαίνεται πως βρέθηκες σε κάποια σελίδα στην οποία δεν έχεις πρόσβαση. Επιστροφή στην <a href='/'>κεντρική σελίδα</a>.",
|
||||||
|
"500.title": "Εσωτερικό σφάλμα.",
|
||||||
|
"500.message": "Ουπς! Φαίνεται πως κάτι πήγε στραβά!",
|
||||||
|
"register": "Εγγραφή",
|
||||||
|
"login": "Σύνδεση",
|
||||||
|
"please_log_in": "Παρακαλώ Συνδέσου",
|
||||||
|
"logout": "Αποσύνδεση",
|
||||||
|
"posting_restriction_info": "Η δημοσίευση είναι περιορισμένη μόνο για εγγεγραμμένα μέλη, κάνε κλικ εδώ για να συνδεθείς.",
|
||||||
|
"welcome_back": "Καλωσόρισες Πάλι",
|
||||||
|
"you_have_successfully_logged_in": "Συνδέθηκες με επιτυχία",
|
||||||
|
"save_changes": "Αποθήκευση Αλλαγών",
|
||||||
|
"close": "Κλείσιμο",
|
||||||
|
"pagination": "Σελιδοποίηση",
|
||||||
|
"pagination.out_of": "%1 από %2",
|
||||||
|
"pagination.enter_index": "Εισαγωγή Σελίδας",
|
||||||
|
"header.admin": "Διαχειριστής",
|
||||||
|
"header.recent": "Πρόσφατα",
|
||||||
|
"header.unread": "Μη αναγνωσμένα",
|
||||||
|
"header.tags": "Ετικέτες",
|
||||||
|
"header.popular": "Δημοφιλή",
|
||||||
|
"header.users": "Χρήστες",
|
||||||
|
"header.chats": "Συνομιλίες",
|
||||||
|
"header.notifications": "Ειδοποιήσεις",
|
||||||
|
"header.search": "Αναζήτηση",
|
||||||
|
"header.profile": "Προφίλ",
|
||||||
|
"notifications.loading": "Φόρτωση Ειδοποιήσεων",
|
||||||
|
"chats.loading": "Φόρτωση Συνομιλιών",
|
||||||
|
"motd.welcome": "Καλωσόρισες στο NodeBB, την πλατφόρμα συζητήσεων του μέλλοντος.",
|
||||||
|
"previouspage": "Προηγούμενη Σελίδα",
|
||||||
|
"nextpage": "Επόμενη Σελίδα",
|
||||||
|
"alert.success": "Επιτυχία",
|
||||||
|
"alert.error": "Σφάλμα",
|
||||||
|
"alert.banned": "Αποκλεισμένος/η",
|
||||||
|
"alert.banned.message": "Μόλις αποκλείστηκες, και θα αποσυνδεθείς.",
|
||||||
|
"alert.unfollow": "Δεν ακολουθείς πλέον τον/την %1!",
|
||||||
|
"alert.follow": "Ακολουθείς τον/την %1!",
|
||||||
|
"online": "Συνδεδεμένος",
|
||||||
|
"users": "Χρήστες",
|
||||||
|
"topics": "Θέματα",
|
||||||
|
"posts": "Δημοσιεύσεις",
|
||||||
|
"views": "Εμφανίσεις",
|
||||||
|
"reputation": "Φήμη",
|
||||||
|
"read_more": "διάβασε περισσότερα",
|
||||||
|
"posted_ago_by_guest": "δημοσιεύτηκε πριν από %1 από Επισκέπτη",
|
||||||
|
"posted_ago_by": "δημοσιεύτηκε πριν από %1 από τον/την %2",
|
||||||
|
"posted_ago": "δημοσιεύτηκε πρίν από %1",
|
||||||
|
"posted_in_ago_by_guest": "δημοσιεύτηκε στο %1 πριν από %2 από Επισκέπτη",
|
||||||
|
"posted_in_ago_by": "δημοσιεύτηκε στο %1 πριν από %2 από τον/την %3",
|
||||||
|
"posted_in_ago": "δημοσιεύτηκε στο %1 πριν από %2",
|
||||||
|
"replied_ago": "απαντήθηκε πριν από %1",
|
||||||
|
"user_posted_ago": "Ο/Η %1 δημοσίευσε πριν από %2",
|
||||||
|
"guest_posted_ago": "Επισκέπτης δημοσίευσε πριν από %1",
|
||||||
|
"last_edited_by_ago": "επεξεργάστηκε τελευταία φορά από τον/την %1 πριν από %2",
|
||||||
|
"norecentposts": "Δεν υπάρχουν πρόσφατες δημοσιεύσεις",
|
||||||
|
"norecenttopics": "Δεν υπάρχουν πρόσφατα θέματα",
|
||||||
|
"recentposts": "Πρόσφατες Δημοσιεύσεις",
|
||||||
|
"recentips": "Πρόσφατη IP Σύνδεσης",
|
||||||
|
"away": "Απών/ούσα",
|
||||||
|
"dnd": "Μην ενοχλείτε",
|
||||||
|
"invisible": "Αόρατος/η",
|
||||||
|
"offline": "Εκτός Σύνδεσης",
|
||||||
|
"email": "Email",
|
||||||
|
"language": "Γλώσσα",
|
||||||
|
"guest": "Επισκέπτης",
|
||||||
|
"guests": "Επισκέπτες",
|
||||||
|
"updated.title": "Το φόρουμ αναβαθμίστηκε",
|
||||||
|
"updated.message": "Το φόρουμ μόλις αναβαθμίστηκε στην πιο πρόσφατη έκδοση. Κάνε κλικ εδώ για να ανανεώσεις την σελίδα.",
|
||||||
|
"privacy": "Privacy",
|
||||||
|
"delete_all": "Delete All"
|
||||||
|
}
|
||||||
8
public/language/el/groups.json
Normal file
8
public/language/el/groups.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"groups": "Groups",
|
||||||
|
"view_group": "Προβολή Ομάδας",
|
||||||
|
"details.title": "Λεπτομέρειες Ομάδας",
|
||||||
|
"details.members": "Λίστα Μελών",
|
||||||
|
"details.has_no_posts": "Τα μέλη αυτής της ομάδας δεν έχουν δημοσιεύσει τίποτα.",
|
||||||
|
"details.latest_posts": "Τελευταίες δημοσιεύσεις."
|
||||||
|
}
|
||||||
5
public/language/el/language.json
Normal file
5
public/language/el/language.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Ελληνικά (Ελλάδα/Κύπρος)",
|
||||||
|
"code": "el",
|
||||||
|
"dir": "ltr"
|
||||||
|
}
|
||||||
9
public/language/el/login.json
Normal file
9
public/language/el/login.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"username": "Όνομα χρήστη / Email",
|
||||||
|
"remember_me": "Απομνημόνευση;",
|
||||||
|
"forgot_password": "Ξέχασες τον κωδικό σου;",
|
||||||
|
"alternative_logins": "Εναλλακτικά Login",
|
||||||
|
"failed_login_attempt": "Η προσπάθεια σύνδεσης απέτυχε, παρακαλώ προσπάθησε ξανά.",
|
||||||
|
"login_successful": "Συνδέθηκες επιτυχώς!",
|
||||||
|
"dont_have_account": "Δεν έχεις λογαριασμό;"
|
||||||
|
}
|
||||||
21
public/language/el/modules.json
Normal file
21
public/language/el/modules.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"chat.chatting_with": "Συνομιλία με τον/την <span id=\"chat-with-name\"></span>",
|
||||||
|
"chat.placeholder": "Γράψε το μήνυμά σου εδώ, πάτα enter για αποστολή",
|
||||||
|
"chat.send": "Αποστολή",
|
||||||
|
"chat.no_active": "Δεν έχεις ενεργές συνομιλίες.",
|
||||||
|
"chat.user_typing": "Ο/Η %1 πληκτρολογεί...",
|
||||||
|
"chat.user_has_messaged_you": "Ο/Η %1 σου έστειλε μήνυμα.",
|
||||||
|
"chat.see_all": "Προβολή όλων των Συνομιλιών",
|
||||||
|
"chat.no-messages": "Παρακαλώ επέλεξε έναν παραλήπτη για να δείς το ιστορικό της συνομιλίας",
|
||||||
|
"chat.recent-chats": "Πρόσφατες Συνομιλίες",
|
||||||
|
"chat.contacts": "Επαφές",
|
||||||
|
"chat.message-history": "Ιστορικό Συνομιλίας",
|
||||||
|
"chat.pop-out": "Αποκόλληση συνομιλίας",
|
||||||
|
"chat.maximize": "Μεγιστοποίηση",
|
||||||
|
"chat.seven_days": "7 Ημέρες",
|
||||||
|
"chat.thirty_days": "30 Ημέρες",
|
||||||
|
"chat.three_months": "3 Μήνες",
|
||||||
|
"composer.user_said_in": "Ο/Η %1 είπε στο %2:",
|
||||||
|
"composer.user_said": "Ο/Η %1 είπε:",
|
||||||
|
"composer.discard": "Είσαι σίγουρος/η πως θέλεις να πετάξεις αυτή την δημοσίευση;"
|
||||||
|
}
|
||||||
27
public/language/el/notifications.json
Normal file
27
public/language/el/notifications.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"title": "Ειδοποιήσεις",
|
||||||
|
"no_notifs": "Δεν έχεις νέες ειδοποιήσεις;",
|
||||||
|
"see_all": "Προβολή όλων των ειδοποιήσεων",
|
||||||
|
"back_to_home": "Πίσω στο %1",
|
||||||
|
"outgoing_link": "Εξερχόμενος Σύνδεσμος",
|
||||||
|
"outgoing_link_message": "Τώρα φεύγεις από το %1.",
|
||||||
|
"continue_to": "Συνέχεια στο %1",
|
||||||
|
"return_to": "Επιστροφή στο %1",
|
||||||
|
"new_notification": "Νέα Ειδοποίηση",
|
||||||
|
"you_have_unread_notifications": "Έχεις μη αναγνωσμένες ειδοποιήσεις.",
|
||||||
|
"new_message_from": "Νέο μήνυμα από τον/την <strong>%1</strong>",
|
||||||
|
"upvoted_your_post_in": "Ο/Η <strong>%1</strong> υπερψήφισε την δημοσίευσή σου στο <strong>%2</strong>.",
|
||||||
|
"moved_your_post": "Ο/Η <strong>%1</strong> μετακίνησε την δημοσίευσή σου.",
|
||||||
|
"moved_your_topic": "Ο/Η <strong>%1</strong> μετακίνησε το θέμα σου.",
|
||||||
|
"favourited_your_post_in": "Η δημοσίευσή σου στο <strong>%2</strong> αρέσει στον/ην <strong>%1</strong>.",
|
||||||
|
"user_flagged_post_in": "Ο/Η <strong>%1</strong> επεσήμανε μια δημοσίευσή σου στο <strong>%2</strong>",
|
||||||
|
"user_posted_to": "Ο/Η <strong>%1</strong> έγραψε μια απάντηση στο: <strong>%2</strong>",
|
||||||
|
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
||||||
|
"user_mentioned_you_in": "Ο/Η <strong>%1</strong> σε ανέφερε στο <strong>%2</strong>",
|
||||||
|
"user_started_following_you": "Ο/Η <strong>%1</strong> σε ακολουθεί.",
|
||||||
|
"email-confirmed": "Το Εmail Επιβεβαιώθηκε",
|
||||||
|
"email-confirmed-message": "Ευχαριστούμε που επιβεβαίωσες το email σου. Ο λογαριασμός σου είναι πλέον πλήρως ενεργοποιημένος.",
|
||||||
|
"email-confirm-error": "Συνέβη κάποιο σφάλμα...",
|
||||||
|
"email-confirm-error-message": "Υπήρξε κάποιο πρόβλημα με την επιβεβαίωση της διεύθυνσής email σου. Ίσως ο κώδικας να είναι άκυρος ή να έχει λήξει.",
|
||||||
|
"email-confirm-sent": "Στάλθηκε email επιβεβαίωσης."
|
||||||
|
}
|
||||||
18
public/language/el/pages.json
Normal file
18
public/language/el/pages.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"home": "Κεντρική",
|
||||||
|
"unread": "Μη αναγνωσμένα Θέματα",
|
||||||
|
"popular": "Δημοφιλή Θέματα",
|
||||||
|
"recent": "Πρόσφατα Θέματα",
|
||||||
|
"users": "Εγγεγραμμένοι Χρήστες",
|
||||||
|
"notifications": "Ειδοποιήσεις",
|
||||||
|
"tags": "Θέματα με ετικέτα \"%1\"",
|
||||||
|
"user.edit": "Επεξεργασία του \"%1\"",
|
||||||
|
"user.following": "Άτομα που ακολουθεί ο/η %1",
|
||||||
|
"user.followers": "Άτομα που ακολουθούν τον/την %1",
|
||||||
|
"user.posts": "Δημοσιεύσεις από τον/την %1",
|
||||||
|
"user.topics": "Θέματα από τον/την %1",
|
||||||
|
"user.favourites": "Οι αγαπημένες δημοσιεύσεις του/της %1",
|
||||||
|
"user.settings": "Επιλογές Χρήστη",
|
||||||
|
"maintenance.text": "Το %1 αυτή την στιγμή συντηρείται. Παρακαλώ έλα αργότερα.",
|
||||||
|
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
||||||
|
}
|
||||||
9
public/language/el/recent.json
Normal file
9
public/language/el/recent.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"title": "Πρόσφατα",
|
||||||
|
"day": "Ημέρα",
|
||||||
|
"week": "Εβδομάδα",
|
||||||
|
"month": "Μήνας",
|
||||||
|
"year": "Έτος",
|
||||||
|
"alltime": "Όλο το Ιστορικό",
|
||||||
|
"no_recent_topics": "Δεν υπάρχουν πρόσφατα θέματα."
|
||||||
|
}
|
||||||
18
public/language/el/register.json
Normal file
18
public/language/el/register.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"register": "Εγγραφή",
|
||||||
|
"help.email": "Από προεπιλογή, το email σου θα είναι κρυμμένο από την κοινή θέα.",
|
||||||
|
"help.username_restrictions": "Ένα μοναδικό όνομα χρήστη μεταξύ %1 και %2 χαρακτήρων. Άλλα άτομα μπορούν να σε αναφέρουν με το @<span id='yourUsername'>username</span> σου.",
|
||||||
|
"help.minimum_password_length": "Το μήκος του κωδικού σου πρέπει να είναι τουλάχιστον %1 χαρακτήρες.",
|
||||||
|
"email_address": "Διεύθυνση Email",
|
||||||
|
"email_address_placeholder": "Εισαγωγή Διεύθυνσης Email",
|
||||||
|
"username": "Όνομα Χρήστη",
|
||||||
|
"username_placeholder": "Εισαγωγή Ονόματος Χρήστη",
|
||||||
|
"password": "Κωδικός",
|
||||||
|
"password_placeholder": "Εισαγωγή Κωδικού",
|
||||||
|
"confirm_password": "Επιβεβαίωση Κωδικού",
|
||||||
|
"confirm_password_placeholder": "Επιβεβαίωση Κωδικού",
|
||||||
|
"register_now_button": "Εγγραφή Τώρα",
|
||||||
|
"alternative_registration": "Εναλλακτική Εγγραφή",
|
||||||
|
"terms_of_use": "Όροι Χρήσης",
|
||||||
|
"agree_to_terms_of_use": "Συμφωνώ με τους Όρους Χρήσης"
|
||||||
|
}
|
||||||
14
public/language/el/reset_password.json
Normal file
14
public/language/el/reset_password.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"reset_password": "Επαναφορά Κωδικού",
|
||||||
|
"update_password": "Ενημέρωση Κωδικού",
|
||||||
|
"password_changed.title": "Ο Κωδικός Άλλαξε",
|
||||||
|
"password_changed.message": "<p>Ο κωδικός επαναφέρθηκε με επιτυχία, παρακαλώ <a href=\"/login\">συνδέσου ξανά</a>.",
|
||||||
|
"wrong_reset_code.title": "Λάθος Κώδικας Επαναφοράς",
|
||||||
|
"wrong_reset_code.message": "Ο κώδικας επαναφοράς που λήφθηκε ήταν λανθασμένος. Παρακαλώ δοκίμασε ξανά ή <a href=\"/reset\">ζήτησε ένα νέο κώδικα επαναφοράς</a>.",
|
||||||
|
"new_password": "Νέος Κωδικός",
|
||||||
|
"repeat_password": "Επιβεβαίωση Κωδικού",
|
||||||
|
"enter_email": "Παρακαλώ γράψε την <strong>διεύθυνση email σου</strong> και θα σου στείλουμε ένα email με οδηγίες για το πως να επαναφέρεις τον λογαριασμό σου.",
|
||||||
|
"enter_email_address": "Εισαγωγή Διεύθυνσης Email",
|
||||||
|
"password_reset_sent": "Η Επαναφορά Κωδικού Εστάλη",
|
||||||
|
"invalid_email": "Άκυρο Email / Το email δεν υπάρχει!"
|
||||||
|
}
|
||||||
4
public/language/el/search.json
Normal file
4
public/language/el/search.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"results_matching": "%1 αποτελεσμα(τα) για \"%2\", (%3 δευτερόλεπτα)",
|
||||||
|
"no-matches": "Δεν βρέθηκαν δημοσιεύσεις"
|
||||||
|
}
|
||||||
6
public/language/el/success.json
Normal file
6
public/language/el/success.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": "Επιτυχία",
|
||||||
|
"topic-post": "Δημοσίευσες με επιτυχία.",
|
||||||
|
"authentication-successful": "Επιτυχής Ταυτοποίηση",
|
||||||
|
"settings-saved": "Οι επιλογές αποθηκεύτηκαν!"
|
||||||
|
}
|
||||||
7
public/language/el/tags.json
Normal file
7
public/language/el/tags.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"no_tag_topics": "Δεν υπάρχουν θέματα με αυτή την ετικέτα.",
|
||||||
|
"tags": "Ετικέτες",
|
||||||
|
"enter_tags_here": "Εισαγωγή ετικετών εδώ. Πάτα enter μετά από κάθε ετικέτα.",
|
||||||
|
"enter_tags_here_short": "Εισαγωγή ετικετών...",
|
||||||
|
"no_tags": "Δεν υπάρχουν ακόμα ετικέτες."
|
||||||
|
}
|
||||||
96
public/language/el/topic.json
Normal file
96
public/language/el/topic.json
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
"topic": "Θέμα",
|
||||||
|
"topic_id": "ID Θέματος",
|
||||||
|
"topic_id_placeholder": "Εισαγωγή ID θέματος",
|
||||||
|
"no_topics_found": "Δεν βρέθηκαν θέματα!",
|
||||||
|
"no_posts_found": "Δεν βρέθηκαν δημοσιεύσεις!",
|
||||||
|
"post_is_deleted": "Αυτή η δημοσίευση έχει διαγραφεί!",
|
||||||
|
"profile": "Προφίλ",
|
||||||
|
"posted_by": "Δημοσιεύτηκε από τον/την %1",
|
||||||
|
"posted_by_guest": "Δημοσιεύτηκε από Επισκέπτη",
|
||||||
|
"chat": "Συνομιλία",
|
||||||
|
"notify_me": "Να ειδοποιούμαι για νέες απαντήσεις σε αυτό το θέμα",
|
||||||
|
"quote": "Παράθεση",
|
||||||
|
"reply": "Απάντηση",
|
||||||
|
"edit": "Επεξεργασία",
|
||||||
|
"delete": "Διαγραφή",
|
||||||
|
"purge": "Εκκαθάριση",
|
||||||
|
"restore": "Επαναφορά",
|
||||||
|
"move": "Μετακίνηση",
|
||||||
|
"fork": "Διαχωρισμός",
|
||||||
|
"link": "Σύνδεσμος",
|
||||||
|
"share": "Μοιράσου το",
|
||||||
|
"tools": "Εργαλεία",
|
||||||
|
"flag": "Σημαία",
|
||||||
|
"locked": "Κλειδωμένο",
|
||||||
|
"bookmark_instructions": "Κάνε κλικ εδώ για να επιστρέψεις στην τελευταία σου θέση ή κλείστο για να το πετάξεις.",
|
||||||
|
"flag_title": "Επισήμανση αυτής της δημοσίευσης για συντονισμό",
|
||||||
|
"flag_confirm": "Είσαι σίγουρος/η πως θες να επισημάνεις αυτή την δημοσίευση;",
|
||||||
|
"flag_success": "Αυτή η δημοσίευση έχει επισημανθεί για συντονισμό.",
|
||||||
|
"deleted_message": "Το θέμα αυτό έχει διαγραφεί. Μόνο οι χρήστες με δικαιώματα διαχειριστή θεμάτων μπορούν να το δουν.",
|
||||||
|
"following_topic.message": "Θα λαμβάνεις ειδοποιήσεις όποτε κάποιος δημοσιεύει κάτι σε αυτό το θέμα.",
|
||||||
|
"not_following_topic.message": "Δεν θα λαμβάνεις άλλες ειδοποιήσεις από αυτό το θέμα.",
|
||||||
|
"login_to_subscribe": "Παρακαλώ εγγράψου ή συνδέσου για για γραφτείς σε αυτό το θέμα.",
|
||||||
|
"markAsUnreadForAll.success": "Το θέμα σημειώθηκε ως μη αναγνωσμένο για όλους.",
|
||||||
|
"watch": "Παρακολούθηση",
|
||||||
|
"unwatch": "Ξεπαρακολούθηση",
|
||||||
|
"watch.title": "Να ειδοποιούμαι για νέες απαντήσεις σε αυτό το θέμα",
|
||||||
|
"unwatch.title": "Να μην παρακολουθώ αυτό το θέμα",
|
||||||
|
"share_this_post": "Μοιράσου αυτή την Δημοσίευση",
|
||||||
|
"thread_tools.title": "Εργαλεία Θέματος",
|
||||||
|
"thread_tools.markAsUnreadForAll": "Σημείωση ως μη αναγνωσμέν",
|
||||||
|
"thread_tools.pin": "Καρφίτσωμα Θέματος",
|
||||||
|
"thread_tools.unpin": "Ξεκαρφίτσωμα Θέματος",
|
||||||
|
"thread_tools.lock": "Κλείδωμα Θέματος",
|
||||||
|
"thread_tools.unlock": "Ξεκλείδωμα Θέματος",
|
||||||
|
"thread_tools.move": "Μετακίνηση Θέματος",
|
||||||
|
"thread_tools.move_all": "Μετακίνηση Όλων",
|
||||||
|
"thread_tools.fork": "Διαχωρισμός Θέματος",
|
||||||
|
"thread_tools.delete": "Διαγραφή Θέματος",
|
||||||
|
"thread_tools.delete_confirm": "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το θέμα;",
|
||||||
|
"thread_tools.restore": "Επαναφορά Θέματος",
|
||||||
|
"thread_tools.restore_confirm": "Είσαι σίγουρος/η πως θέλεις να επαναφέρεις αυτό το θέμα;",
|
||||||
|
"thread_tools.purge": "Εκκαθάριση Θέματος",
|
||||||
|
"thread_tools.purge_confirm": "Είσαι σίγουρος/η πως θέλεις να εκκαθαρίσεις αυτό το θέμα;",
|
||||||
|
"topic_move_success": "Το θέμα μετακινήθηκε στο %1 με επιτυχία",
|
||||||
|
"post_delete_confirm": "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτή την δημοσίευση;",
|
||||||
|
"post_restore_confirm": "Είσαι σίγουρος/η πως θέλεις να επαναφέρεις αυτή την δημοσίευση;",
|
||||||
|
"post_purge_confirm": "Είσαι σίγουρος/η πως θέλεις να εκκαθαρίσεις αυτή την δημοσίευση;",
|
||||||
|
"load_categories": "Οι Κατηγορίες Φορτώνουν",
|
||||||
|
"disabled_categories_note": "Οι απενεργοποιημένες κατηγορίες είναι γκριζαρισμένες",
|
||||||
|
"confirm_move": "Μετακίνηση",
|
||||||
|
"confirm_fork": "Διαχωρισμός",
|
||||||
|
"favourite": "Αγαπημένο",
|
||||||
|
"favourites": "Αγαπημένα",
|
||||||
|
"favourites.has_no_favourites": "Δεν έχεις καθόλου αγαπημένα, βάλε μερικές δημοσιεύσεις στα αγαπημένα σου για να τις βλέπεις εδώ!",
|
||||||
|
"loading_more_posts": "Φόρτωση περισσότερων δημοσιεύσεων",
|
||||||
|
"move_topic": "Μετακίνηση Θέματος",
|
||||||
|
"move_topics": "Μετακίνηση Θεμάτων",
|
||||||
|
"move_post": "Μετακίνηση Δημοσίευσης",
|
||||||
|
"post_moved": "Η δημοσίευση μετακινήθηκε!",
|
||||||
|
"fork_topic": "Διαχωρισμός Θέματος",
|
||||||
|
"topic_will_be_moved_to": "Το θέμα θα μετακινηθεί στην κατηγορία",
|
||||||
|
"fork_topic_instruction": "Κάνε κλικ στις δημοσιεύσεις που θέλεις να διαχωρίσεις",
|
||||||
|
"fork_no_pids": "Δεν έχουν επιλεχθεί δημοσιεύσεις!",
|
||||||
|
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
|
||||||
|
"composer.title_placeholder": "Εισαγωγή του τίτλου του θέματος εδώ...",
|
||||||
|
"composer.discard": "Πέταγμα",
|
||||||
|
"composer.submit": "Υποβολή",
|
||||||
|
"composer.replying_to": "Απάντηση στο %1",
|
||||||
|
"composer.new_topic": "Νέο Θέμα",
|
||||||
|
"composer.uploading": "ανέβασμα...",
|
||||||
|
"composer.thumb_url_label": "Επικόλληση του URL της εικόνας του θέματος",
|
||||||
|
"composer.thumb_title": "Προσθήκη μιας εικόνας στο θέμα",
|
||||||
|
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||||
|
"composer.thumb_file_label": "Ή ανέβασε ένα αρχείο",
|
||||||
|
"composer.thumb_remove": "Καθαρισμός Πεδίων",
|
||||||
|
"composer.drag_and_drop_images": "Σύρε εικόνες εδώ",
|
||||||
|
"more_users_and_guests": "%1 επιπλέον χρήστης(ες) και %2 επισκέπτης(ες)",
|
||||||
|
"more_users": "%1 επιπλέον χρήστης(ες)",
|
||||||
|
"more_guests": "%1 επιπλέον επισκέπτης(ες)",
|
||||||
|
"users_and_others": "%1 και %2 άλλοι",
|
||||||
|
"sort_by": "Ταξινόμηση κατά",
|
||||||
|
"oldest_to_newest": "Παλαιότερο προς Νεότερο",
|
||||||
|
"newest_to_oldest": "Νεότερο προς Παλαιότερο",
|
||||||
|
"most_votes": "Περισσότερες ψήφοι"
|
||||||
|
}
|
||||||
9
public/language/el/unread.json
Normal file
9
public/language/el/unread.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"title": "Μη αναγνωσμένα",
|
||||||
|
"no_unread_topics": "Δεν υπάρχουν μη αναγνωσμένα θέματα.",
|
||||||
|
"load_more": "Φόρτωση Περισσότερων",
|
||||||
|
"mark_as_read": "Σημείωση ώς Αναγνωσμένα",
|
||||||
|
"selected": "Επιλεγμένα",
|
||||||
|
"all": "Όλα",
|
||||||
|
"topics_marked_as_read.success": "Τα θέματα σημειώθηκαν ως αναγνωσμένα!"
|
||||||
|
}
|
||||||
75
public/language/el/user.json
Normal file
75
public/language/el/user.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"banned": "Αποκλεισμένος/η",
|
||||||
|
"offline": "Εκτός Σύνδεσης",
|
||||||
|
"username": "Όνομα Χρήστη",
|
||||||
|
"email": "Emai",
|
||||||
|
"confirm_email": "Επιβεβαίωση Email",
|
||||||
|
"delete_account": "Διαγραφή Λογαριασμού",
|
||||||
|
"delete_account_confirm": "Είσαι σίγουρος/η πως θέλεις να διαγράψεις τον λογαριασμό σου; <br /><strong>Αυτή η ενέργεια δεν μπορεί να αναιρεθεί και δεν θα μπορέσεις να επανακτήσεις τα δεδομένα σου</strong><br /><br />Γράψε το όνομα χρήστη σου για να επιβεβαιώσεις πως θέλεις να καταστρέψεις αυτόν τον λογαριασμό.",
|
||||||
|
"fullname": "Πλήρες Όνομα",
|
||||||
|
"website": "Ιστοσελίδα",
|
||||||
|
"location": "Τοποθεσία",
|
||||||
|
"age": "Ηλικία",
|
||||||
|
"joined": "Έγινε μέλος στις",
|
||||||
|
"lastonline": "Τελευταία φορά συνδέθηκε στις",
|
||||||
|
"profile": "Προφίλ",
|
||||||
|
"profile_views": "Views του προφίλ",
|
||||||
|
"reputation": "Φήμη",
|
||||||
|
"favourites": "Αγαπημένα",
|
||||||
|
"followers": "Ακόλουθοι",
|
||||||
|
"following": "Ακολουθά",
|
||||||
|
"signature": "Υπογραφή",
|
||||||
|
"gravatar": "Gravatar",
|
||||||
|
"birthday": "Γενέθλια",
|
||||||
|
"chat": "Συνομιλία",
|
||||||
|
"follow": "Ακολούθησε",
|
||||||
|
"unfollow": "Μην Ακολουθείς",
|
||||||
|
"profile_update_success": "Το προφίλ ανανεώθηκε επιτυχώς!",
|
||||||
|
"change_picture": "Αλλαγή Φωτογραφίας",
|
||||||
|
"edit": "Επεξεργασία",
|
||||||
|
"uploaded_picture": "Ανεβασμένη Φωτογραφία",
|
||||||
|
"upload_new_picture": "Ανέβασμα Νέας Φωτογραφίας",
|
||||||
|
"upload_new_picture_from_url": "Ανέβασμα Νέας Φωτογραφίας από URL",
|
||||||
|
"current_password": "Τωρινός Κωδικός",
|
||||||
|
"change_password": "Αλλαγή Κωδικού",
|
||||||
|
"change_password_error": "Άκυρος Κωδικός!",
|
||||||
|
"change_password_error_wrong_current": "Ο τωρινός σου κωδικός δεν είναι σωστός!",
|
||||||
|
"change_password_error_length": "Ο κωδικός είναι πολύ μικρός!",
|
||||||
|
"change_password_error_match": "Οι κωδικοί πρέπει να είναι οι ίδιοι!",
|
||||||
|
"change_password_error_privileges": "Δεν έχεις δικαιώματα για να αλλάξεις αυτόν τον κωδικό.",
|
||||||
|
"change_password_success": "Ο κωδικός σου ανανεώθηκε!",
|
||||||
|
"confirm_password": "Επιβεβαίωση Κωδικού",
|
||||||
|
"password": "Κωδικός",
|
||||||
|
"username_taken_workaround": "Το όνομα χρήστη που ζήτησες χρησιμοποιείται ήδη, οπότε το τροποποιήσαμε λίγο. Πλέον είσαι γνωστός/ή ώς <strong>%1</strong>",
|
||||||
|
"upload_picture": "Ανέβασμα φωτογραφίας",
|
||||||
|
"upload_a_picture": "Ανέβασε μια φωτογραφία",
|
||||||
|
"image_spec": "Μπορείς να ανεβάσεις αρχεία τύπου PNG, JPG ή GIF μόνο",
|
||||||
|
"max": "μέγιστο.",
|
||||||
|
"settings": "Επιλογές",
|
||||||
|
"show_email": "Εμφάνιση του email μου",
|
||||||
|
"show_fullname": "Show My Full Name",
|
||||||
|
"restrict_chats": "Only allow chat messages from users I follow",
|
||||||
|
"digest_label": "Εγγραφή στην Σύνοψη",
|
||||||
|
"digest_description": "Εγγράψου σε ενημερώσεις με email για αυτό το φόρουμ (νεες ειδοποιήσεις και θέματα), βάσει του επιλεγμένου προγράμματος",
|
||||||
|
"digest_off": "Off",
|
||||||
|
"digest_daily": "Ημερήσια",
|
||||||
|
"digest_weekly": "Εβδομαδιαίως",
|
||||||
|
"digest_monthly": "Μηνιαία",
|
||||||
|
"send_chat_notifications": "Αποστολή email αν μου έρθει μήνυμα συνομιλίας και δεν είμαι συνδεδεμένος",
|
||||||
|
"has_no_follower": "Αυτός ο χρήστης δεν έχει κανέναν ακόλουθο :(",
|
||||||
|
"follows_no_one": "Αυτός ο χρήστης δεν ακολουθεί κανέναν :(",
|
||||||
|
"has_no_posts": "Αυτός ο χρήστης δεν έχει δημοσιεύσει τίποτα ακόμη.",
|
||||||
|
"has_no_topics": "Αυτός ο χρήστης δεν έχει δημοσιεύσει κανένα θέμα ακόμη.",
|
||||||
|
"email_hidden": "Κρυμμένο Emai",
|
||||||
|
"hidden": "κρυμμένο",
|
||||||
|
"paginate_description": "Σελιδοποίηση των θεμάτων και των δημοσιεύσεων αντί για χρήση άπειρου scroll.",
|
||||||
|
"topics_per_page": "Θέματα ανά σελίδα",
|
||||||
|
"posts_per_page": "Δημοσιεύσεις ανά σελίδα",
|
||||||
|
"notification_sounds": "Αναπαραγωγή ήχου όταν λαμβάνεις μια ειδοποίηση.",
|
||||||
|
"browsing": "Επιλογές Περιήγησης",
|
||||||
|
"open_links_in_new_tab": "Άνοιγμα εξερχόμενων συνδέσμων σε νέα καρτέλα;",
|
||||||
|
"enable_topic_searching": "Enable In-Topic Searching",
|
||||||
|
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen.",
|
||||||
|
"follow_topics_you_reply_to": "Ακολούθα τα θέματα στα οποία απαντάς.",
|
||||||
|
"follow_topics_you_create": "Ακολούθα τα θέματα που δημιουργείς."
|
||||||
|
}
|
||||||
9
public/language/el/users.json
Normal file
9
public/language/el/users.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"latest_users": "Πρόσφατοι Χρήστες",
|
||||||
|
"top_posters": "Top Δημοσιεύοντες",
|
||||||
|
"most_reputation": "Υψηλότερη Φήμη",
|
||||||
|
"search": "Αναζήτηση",
|
||||||
|
"enter_username": "Γράψε ένα όνομα χρήστη προς αναζήτηση",
|
||||||
|
"load_more": "Φόρτωση περισσότερων",
|
||||||
|
"users-found-search-took": "%1 χρήστης(ες) βρέθηκαν! Η αναζήτηση πήρε %2 ms."
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
"digest.latest_topics": "Latest topics from %1",
|
"digest.latest_topics": "Latest topics from %1",
|
||||||
"digest.cta": "Click here to visit %1",
|
"digest.cta": "Click here to visit %1",
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
"digest.no_topics": "There have been no active topics in the past %1",
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
"notif.chat.subject": "New chat message received from %1",
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
"notif.chat.cta": "Click here to continue the conversation",
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
||||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
||||||
|
"too-many-posts-newbie": "As a new user, you can only post once every %1 seconds until you have earned %2 reputation - please wait before posting again",
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
"cant-vote-self-post": "You cannot vote for your own post",
|
||||||
"already-favourited": "You have already favourited this post",
|
"already-favourited": "You have already favourited this post",
|
||||||
@@ -56,9 +57,11 @@
|
|||||||
"upload-error": "Upload Error : %1",
|
"upload-error": "Upload Error : %1",
|
||||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
"signature-too-long": "Sorry, your signature cannot be longer than %1 characters.",
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
"cant-chat-with-yourself": "You can't chat with yourself!",
|
||||||
|
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
"reputation-system-disabled": "Reputation system is disabled.",
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
"downvoting-disabled": "Downvoting is disabled",
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
||||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
|
||||||
|
"registration-error": "Registration Error"
|
||||||
}
|
}
|
||||||
@@ -72,5 +72,6 @@
|
|||||||
"guests": "Guests",
|
"guests": "Guests",
|
||||||
"updated.title": "Forum Updated",
|
"updated.title": "Forum Updated",
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
||||||
"privacy": "Privacy"
|
"privacy": "Privacy",
|
||||||
|
"delete_all": "Delete All"
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,6 @@
|
|||||||
"chat.message-history": "Message History",
|
"chat.message-history": "Message History",
|
||||||
"chat.pop-out": "Pop out chat",
|
"chat.pop-out": "Pop out chat",
|
||||||
"chat.maximize": "Maximize",
|
"chat.maximize": "Maximize",
|
||||||
"chat.yesterday": "Yesterday",
|
|
||||||
"chat.seven_days": "7 Days",
|
"chat.seven_days": "7 Days",
|
||||||
"chat.thirty_days": "30 Days",
|
"chat.thirty_days": "30 Days",
|
||||||
"chat.three_months": "3 Months",
|
"chat.three_months": "3 Months",
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user