Compare commits

...

950 Commits

Author SHA1 Message Date
barisusakli
accee7d05b use socket.io default and ["polling", "websocket"] 2014-12-25 14:16:44 -05:00
barisusakli
f403a297b4 only send back error for sortedSetsRemove 2014-12-24 02:09:08 -05:00
Julian Lam
73e7da6f03 0.6.0 2014-12-24 00:45:41 -05:00
Julian Lam
9c1b24c963 added shrinkwrap file 2014-12-24 00:45:36 -05:00
barisusakli
0d223ef88d missing err 2014-12-24 00:19:47 -05:00
barisusakli
87435c1a9e return email:confirmed on admin header 2014-12-24 00:06:37 -05:00
barisusakli
ce24c6dc04 pass callback directly 2014-12-23 23:53:26 -05:00
barisusakli
4b1b98e229 handle changePicture callback properly 2014-12-23 18:09:23 -05:00
barisusakli
3d9e86d9b2 removed null 2014-12-23 15:06:05 -05:00
barisusakli
cd41e192d1 closes #2546 2014-12-23 15:03:31 -05:00
barisusakli
87f57b8cd3 cuz @psychobunny said so 2014-12-23 02:23:36 -05:00
barisusakli
d68c44fd0a dont sent status update if user set it offline 2014-12-23 01:37:39 -05:00
psychobunny
7c2b041633 ./nodebb reset theme - singular imo 2014-12-23 00:53:28 -05:00
barisusakli
a9e12f4174 remove unused requires 2014-12-22 21:17:26 -05:00
barisusakli
b1edc59987 fix undefined next 2014-12-22 21:12:22 -05:00
psychobunny
a5f63a5ac7 upgrade script was refusing to complete until I added this
@barisusakli fyi
2014-12-22 12:47:55 -05:00
barisusakli
9865f78cbb flat is good 2014-12-22 00:12:47 -05:00
barisusakli
768c17263c fix error messages 2014-12-21 23:32:19 -05:00
Barış Soner Uşaklı
25cb450f40 Merge pull request #2542 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2014-12-21 23:19:53 -05:00
The Gitter Badger
3019023d38 Added Gitter badge 2014-12-22 04:13:58 +00:00
barisusakli
936ea5f686 sync config changes over redis pubsub 2014-12-21 20:25:54 -05:00
barisusakli
2f8e6a1f2b closes #2458 2014-12-21 16:29:32 -05:00
barisusakli
2ea5f85d9b closes #2481 2014-12-21 14:36:22 -05:00
barisusakli
e6b4a45cda closes #2531 2014-12-21 14:14:46 -05:00
barisusakli
e22c13abd4 closes #2423 2014-12-21 14:07:45 -05:00
barisusakli
3bdb98e747 closes #2530 2014-12-21 00:08:01 -05:00
barisusakli
712d5bce5b show 24 hours in traffic graph 2014-12-20 20:34:46 -05:00
barisusakli
94cf29d42c show monthly page views 2014-12-20 20:05:59 -05:00
barisusakli
b07a522c60 one less query in privileges.topics.get 2014-12-20 18:34:02 -05:00
barisusakli
984b17349a closes #2476 2014-12-20 17:26:39 -05:00
barisusakli
4ce6341d85 fix acp for header changes 2014-12-20 00:42:52 -05:00
barisusakli
83312ad53a faster getTeasers 2014-12-19 23:56:51 -05:00
barisusakli
14e46a87a6 closes #2529 2014-12-19 18:58:28 -05:00
barisusakli
1424acc88e fix reconnection for socket.io 1.x 2014-12-19 18:49:56 -05:00
barisusakli
8ed06eb773 closes #2528 2014-12-19 18:31:39 -05:00
barisusakli
04084807c2 removed app.loadConfig 2014-12-19 17:19:33 -05:00
psychobunny
da7dcd99a8 #2532 renamed to "socket.io:transports"
Sample config:

"socket.io": {
"transports": ["websocket"]
}
2014-12-19 16:49:20 -05:00
barisusakli
6a8a5a9de0 use validator.escape 2014-12-18 23:43:07 -05:00
barisusakli
793a0a6772 fix mark topic notifications read on enter 2014-12-18 23:28:19 -05:00
barisusakli
2bfc33edb7 updated deps 2014-12-18 20:23:31 -05:00
barisusakli
d314b9cae2 closes #2538 2014-12-18 19:47:51 -05:00
barisusakli
d28fb153c7 closes #2537 2014-12-18 19:22:59 -05:00
barisusakli
7ec8393004 closes #2532 2014-12-17 18:18:53 -05:00
barisusakli
2423bd18eb jobs disabled is boolean, great 2014-12-17 18:09:09 -05:00
barisusakli
1a34327f9d removed unnecessary require 2014-12-16 23:55:02 -05:00
barisusakli
59545d740c only emit event:user_leave to topic rooms instead of all online users 2014-12-16 19:40:47 -05:00
barisusakli
f47550d23e closes #2533 2014-12-16 15:09:15 -05:00
barisusakli
26b2ef1543 prevent crash in getChildren 2014-12-16 14:46:02 -05:00
barisusakli
989ca19df5 added jobsDisabled flag 2014-12-15 19:07:15 -05:00
barisusakli
acf1b76da8 reconnectionAttemps in socket.io 1.0x
https://github.com/automattic/socket.io-client#managerurlstring-optsobject
2014-12-15 10:07:11 -05:00
barisusakli
76480d4d31 app.user undefined on cold load 2014-12-14 23:02:58 -05:00
barisusakli
c0c85c24cf duh strings dont work 2014-12-14 22:34:53 -05:00
barisusakli
64cc0f244d just show err.message 2014-12-14 17:45:22 -05:00
barisusakli
5bf46864ed removed global admin object, CF rocket loader fix
added colorpicker module
2014-12-13 22:14:08 -05:00
psychobunny
9e1a049fd5 Merge pull request #2526 from akhoury/patch-5
adding mid on the message returned data on addMessage
2014-12-13 10:17:09 -05:00
Aziz Khoury
100f31be81 adding mid on the message returned data on addMessage 2014-12-13 08:19:49 -05:00
barisusakli
e72ec429a2 remvoed lowered pingTimeout 2014-12-13 00:10:45 -05:00
barisusakli
e74d39889e removed extra comma 2014-12-12 23:26:01 -05:00
barisusakli
bf3f20bf8b removed extra comma 2014-12-12 23:25:16 -05:00
barisusakli
2c7d9e1a7c store teaserPid in topic
-update teaser pid as necessary in addPostToTopic, removePostFromTopic,
post purge
-removed 20x db calls from getTeasers
-fixed scroll to post in sub folder install
-upgrade script to update topics with teaserPid
2014-12-12 18:52:37 -05:00
barisusakli
0cb0dafae3 another relative_path fix 2014-12-12 16:31:54 -05:00
barisusakli
03de918f10 fix more relative path redirects 2014-12-12 16:20:24 -05:00
barisusakli
011c42bde3 updated analytics
accumulate pageviews, uniquevisitors and uniqueIps locally and update db
every 10 mins instead of on every page view
2014-12-12 16:15:13 -05:00
barisusakli
da4014eb71 dont allow move to same topic 2014-12-12 00:52:59 -05:00
barisusakli
8bba811aaf closes #2522 2014-12-12 00:45:43 -05:00
barisusakli
52a53df80d missing err check 2014-12-11 23:59:23 -05:00
barisusakli
8965855218 made breadcrumbs regular function
less db calls as well
2014-12-11 22:55:00 -05:00
barisusakli
518c6f7cfa closes #2521 2014-12-11 22:16:17 -05:00
psychobunny
e0c8989e8b closes #2519 2014-12-11 10:17:04 -05:00
psychobunny
94efa6dd87 closes #2520 2014-12-11 10:02:17 -05:00
Barış Soner Uşaklı
5f47f2226a escape topic title and category name 2014-12-11 03:09:09 -05:00
Julian Lam
3deb423c55 testing socket availability before attempting to bind 2014-12-10 19:44:27 -05:00
Julian Lam
49dcffcbab if worker process exits with code zero, don't boot up a new worker 2014-12-10 18:52:38 -05:00
Julian Lam
68e761bed0 if using sockets, reset the umask back to the old value after listening 2014-12-10 18:16:09 -05:00
Julian Lam
273e26ddb1 if a locally installed plugin not published to npm has a syntax error, this fixes it. closes #2512 2014-12-10 14:59:49 -05:00
barisusakli
9b083a6a66 half ping timeout 2014-12-10 04:07:05 -05:00
barisusakli
86bd85bba4 removed qs fix indent 2014-12-10 01:40:31 -05:00
barisusakli
646c5705cf no need to make call for guests 2014-12-10 00:43:35 -05:00
barisusakli
2e04501224 closes #2516 2014-12-09 20:48:35 -05:00
barisusakli
348d05d3d1 remove deprecated res.json usage 2014-12-09 20:07:12 -05:00
barisusakli
b63c0df8a2 fixed event name 2014-12-09 13:50:20 -05:00
barisusakli
5a79b99a7a derp 2014-12-09 12:59:49 -05:00
barisusakli
9f7196f5b0 dont crash if config is undefined, added error to plugins 2014-12-09 12:59:12 -05:00
Julian Lam
772f4c103a properly pass in error value for locally installed plugin 2014-12-09 12:11:01 -05:00
barisusakli
aeae76c28d added error false 2014-12-09 11:22:04 -05:00
Julian Lam
b565f3ac0a closed #2497 2014-12-09 10:27:05 -05:00
barisusakli
8af5102912 missing return 2014-12-08 17:50:45 -05:00
barisusakli
81a5a4cfe0 removed global var 2014-12-08 16:49:18 -05:00
barisusakli
8e8375cbba validate email password on register 2014-12-08 16:28:30 -05:00
barisusakli
8bee231d80 show validation errors on register 2014-12-08 16:11:35 -05:00
Julian Lam
b278f27ffe partial fix to #2509 2014-12-08 12:04:41 -05:00
psychobunny
e3e737458e linting 2014-12-08 10:28:21 -05:00
psychobunny
beaa52fff5 acp - if bs env < lg + content is long (ex plugins list) then duplicate sidebar menu on header + footer; closes #2510 2014-12-08 10:27:54 -05:00
barisusakli
9d78a204df missing return 2014-12-07 16:37:05 -05:00
barisusakli
5128f7d2f9 prevent crash on invalid data 2014-12-07 16:32:40 -05:00
barisusakli
6b20cf5cff #2508 2014-12-06 16:05:00 -05:00
barisusakli
5337a31eb9 #2254 sitemap topic limit 2014-12-06 00:44:58 -05:00
barisusakli
8bea0bb6e5 fix favourite infinite scroll 2014-12-05 22:22:57 -05:00
barisusakli
f2b24eb72a fix tests 2014-12-05 16:46:16 -05:00
Julian Lam
8c097357fc updated language files 2014-12-05 13:31:08 -05:00
barisusakli
79f3659e55 reconnectionDelay 2014-12-05 13:19:09 -05:00
barisusakli
99e774d196 socket.socket.disconnect doens't exist in 1.x 2014-12-05 13:15:51 -05:00
barisusakli
ef3b6a2450 closes #2498 2014-12-05 13:07:13 -05:00
barisusakli
64c0e1df61 settimeout 2014-12-04 14:29:48 -05:00
Julian Lam
389f74b615 hungarian translations 2014-12-04 13:24:11 -05:00
Julian Lam
2de108153f closed #2464 2014-12-04 00:36:24 -05:00
Julian Lam
2914c74587 allowed admin to remove skins, if set 2014-12-03 23:40:04 -05:00
barisusakli
104fc2d273 10 second timer 2014-12-03 23:16:50 -05:00
barisusakli
9e9b138afb removed unused code 2014-12-03 23:13:26 -05:00
barisusakli
e7c2bc5d5d removed unused callback 2014-12-03 23:07:00 -05:00
barisusakli
e86650a6af not used anymore 2014-12-03 23:05:33 -05:00
Julian Lam
fb6026f95f fixed issue where logging out via ACP caused CSRF error 2014-12-03 22:42:42 -05:00
Julian Lam
908f5f2fd4 fixed ACP background image on subfolder installs 2014-12-03 22:35:45 -05:00
barisusakli
080c54d414 #2434 2014-12-03 22:35:06 -05:00
barisusakli
e18ad61ff6 fix login maybe? 2014-12-03 22:29:56 -05:00
barisusakli
356f577a74 redirect to correct login 2014-12-03 22:08:25 -05:00
barisusakli
85dfedeedc removed commented out code 2014-12-03 19:43:15 -05:00
barisusakli
7ae7c50f56 app.user 2014-12-03 19:36:19 -05:00
barisusakli
22e20b961e pass all env variables to worker 2014-12-03 17:10:25 -05:00
Julian Lam
d14cd254a5 only instantiating logrotate object if silent 2014-12-03 17:06:26 -05:00
barisusakli
16f62e6502 closes #2472 2014-12-03 17:05:34 -05:00
barisusakli
7d6c81160b show 20 results for user search 2014-12-03 16:45:12 -05:00
Julian Lam
aaef0ad282 closed #2495 2014-12-03 16:18:26 -05:00
barisusakli
d62cdd5127 added support for specifying which ports to use
if no port is specified in config.json port from url will be used if no
port in url then default to 4567

port in config.json can be an array or a single port number
2014-12-03 15:46:52 -05:00
barisusakli
f67bc8d056 fix space 2014-12-03 14:17:05 -05:00
barisusakli
64e13df14c removed node cluster spawn procs on ports 2014-12-03 14:03:41 -05:00
barisusakli
3ad3e781f3 fix tests 2014-12-03 01:49:57 -05:00
barisusakli
28ed49a1d2 removed android check 2014-12-03 01:17:45 -05:00
barisusakli
2fbaed9cdf moved nconf setup to loadConfig, fixed upload_url 2014-12-03 01:10:49 -05:00
psychobunny
fc00791125 a plugin's package.json can be invalid too 2014-12-02 21:57:21 -05:00
barisusakli
5576ef0d1e upgrade script to remove fields 2014-12-02 18:06:11 -05:00
barisusakli
e49dfc7266 cleaned up loader.js 2014-12-02 17:40:48 -05:00
barisusakli
83a679fc15 fixed wrong var 2014-12-02 16:51:14 -05:00
barisusakli
7a5383748c possible fix for #2492 2014-12-02 16:49:53 -05:00
psychobunny
c0bce71984 added some failsafe checks for filter:user.isModerator 2014-12-02 16:13:29 -05:00
psychobunny
6a47aacdfd forgot description 2014-12-02 15:34:34 -05:00
psychobunny
6a9145d90e some basic moderator tests 2014-12-02 15:33:28 -05:00
barisusakli
48337e4f51 check err 2014-12-02 15:13:18 -05:00
psychobunny
113d35887c moved admin.getVoters to posts.getVoters; now getVoters modal can be accessed by moderators as well 2014-12-02 14:59:29 -05:00
psychobunny
63367bd670 *user.isModerator*, duh 2014-12-02 14:21:17 -05:00
psychobunny
673145d413 added filter:users.isModerator 2014-12-02 14:19:14 -05:00
barisusakli
a3f0f58ebe update nconf, gm deps 2014-12-02 13:31:53 -05:00
barisusakli
ae1d226218 fix group test 2014-12-02 13:27:36 -05:00
barisusakli
612aa4e55b closes #2491 2014-12-02 12:38:53 -05:00
barisusakli
09a5d92dba correct method name 2014-12-01 23:22:02 -05:00
barisusakli
9075a8d4c9 added back isAdmin into admin middleware with a warning 2014-12-01 23:07:47 -05:00
barisusakli
97d01de155 fix acp 2014-12-01 22:57:57 -05:00
barisusakli
ddd6ed9e8c #2477 403 page 2014-12-01 21:07:23 -05:00
barisusakli
be11577aa4 closes #2477 2014-12-01 20:28:36 -05:00
barisusakli
9023060008 moved category redirect up 2014-12-01 17:59:38 -05:00
psychobunny
12e00ec497 hinting 2014-12-01 16:28:16 -05:00
psychobunny
77d0b095c8 closes #2488 2014-12-01 16:27:29 -05:00
Julian Lam
aa44894db2 fixing home breadcrumb, #1984 2014-12-01 16:11:44 -05:00
barisusakli
866adab648 removed console.log 2014-12-01 16:09:01 -05:00
Julian Lam
04dbd5766d latest language strings 2014-12-01 15:31:27 -05:00
Julian Lam
66bbbfcd22 fixed url being overwritten 2014-12-01 15:25:37 -05:00
Julian Lam
420649d3bd no longer setting sourcemap header for minifiedjs 2014-12-01 15:01:49 -05:00
barisusakli
d544b19220 set path on socket.io server 2014-12-01 14:59:12 -05:00
barisusakli
3a0b92a0e4 fix path for socket.io subfolder install 2014-12-01 14:52:21 -05:00
barisusakli
14a2db4b2e fix workerIndex for ipv6 2014-12-01 14:45:32 -05:00
Julian Lam
d16cfb89e0 extra log, #2246 2014-12-01 14:22:53 -05:00
Julian Lam
5cc30ca1a0 more cache hash fixes 2014-12-01 14:21:03 -05:00
Julian Lam
2e24224449 passing css hash to other workers on startup 2014-12-01 14:19:14 -05:00
Julian Lam
82708d65c6 propagating hash to all workers on css compilation 2014-12-01 14:05:20 -05:00
barisusakli
46e022e97f closes #2483 2014-12-01 13:24:13 -05:00
barisusakli
647b15c7ef Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-12-01 12:46:39 -05:00
barisusakli
7332ba9c25 fix loader for new config.json format 2014-12-01 12:36:59 -05:00
psychobunny
6fe093324a moved signature length setting out of settings/user and into settings/post; created new sub section for signatures 2014-12-01 12:25:05 -05:00
psychobunny
63a5002b53 closes #2441 2014-12-01 12:23:31 -05:00
psychobunny
92addc349b signatures:disableLinks and signatures:disableImages config options 2014-12-01 12:23:30 -05:00
barisusakli
957800b2c3 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-12-01 12:13:50 -05:00
Julian Lam
f00a3dbf49 minor fix to upgrade script 2014-12-01 12:03:42 -05:00
Julian Lam
604f883ac2 closed #2478 2014-11-30 23:53:35 -05:00
Julian Lam
1378e1155f fixed #2479 2014-11-30 23:44:15 -05:00
Julian Lam
682ba8fb1a upping vanilla and lavender minvers 2014-11-30 23:40:15 -05:00
Julian Lam
110fd863e4 fixing breadcrumbs for subfolder installs, #2122 2014-11-30 23:38:18 -05:00
Julian Lam
78763834fe closed #2122 2014-11-30 21:15:09 -05:00
Julian Lam
c120f5c2c6 travis CI again 2014-11-30 17:05:00 -05:00
Julian Lam
a0860abaaa no need to set bcrypt_rounds, only used in one place. 2014-11-30 16:49:53 -05:00
Julian Lam
598049e077 travis CI fixes again 2014-11-30 16:48:36 -05:00
Julian Lam
21fe3f2596 hopefully fixing travis CI 2014-11-30 16:30:25 -05:00
barisusakli
62609b2db6 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 15:38:43 -05:00
Julian Lam
7f43fd4843 bugfix #1984 2014-11-30 15:36:57 -05:00
barisusakli
1db2a447d7 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 15:36:42 -05:00
barisusakli
48ee8c1370 check err in tests 2014-11-30 15:36:17 -05:00
barisusakli
7f81a0b0ad Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 12:53:37 -05:00
barisusakli
51c520f888 closes #2480 2014-11-30 12:52:16 -05:00
barisusakli
3b8e31c31f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 02:02:48 -05:00
barisusakli
f531a5362d #2254 proper fix 2014-11-30 02:02:32 -05:00
barisusakli
1723894e5a merge 2014-11-30 01:50:49 -05:00
barisusakli
fb3251c269 removed extra db call #2254 2014-11-30 01:44:46 -05:00
Julian Lam
03b106b03a final pass, #1984 2014-11-29 23:38:36 -05:00
Julian Lam
d430ef3983 second pass, #1984 2014-11-29 22:03:49 -05:00
Julian Lam
d5e473609c first pass, #1984 2014-11-29 21:54:58 -05:00
Julian Lam
dfbac595b6 refactors to sitemap, closed #2254 2014-11-29 21:18:02 -05:00
Julian Lam
9b0ba6c7a4 closed #2384 2014-11-29 20:50:14 -05:00
barisusakli
722d1497c3 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-29 12:35:31 -05:00
barisusakli
083ba12ee0 check err in emailer 2014-11-29 12:35:04 -05:00
barisusakli
142536b659 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-29 12:13:14 -05:00
barisusakli
83ab462ff5 module changes, fixed missing interval 2014-11-29 12:12:02 -05:00
barisusakli
510343b9d5 dont markAsRead for guests 2014-11-29 02:07:19 -05:00
barisusakli
e7a52b615b remove user from users:online on delete 2014-11-28 21:46:50 -05:00
barisusakli
392be78554 fix whitespace 2014-11-28 21:43:44 -05:00
barisusakli
0a2d543186 removed getUserSockets 2014-11-28 21:35:34 -05:00
barisusakli
fa92eb4d5c onDisconnect fix 2014-11-28 21:04:12 -05:00
barisusakli
4913866785 missing semicolon 2014-11-28 20:36:11 -05:00
barisusakli
0c5881b51f update online users regardless of status 2014-11-28 20:31:47 -05:00
barisusakli
17d7916fe9 check if worker exists 2014-11-28 20:00:41 -05:00
barisusakli
cbb3ff26e9 meta room count 2014-11-28 19:41:35 -05:00
barisusakli
1ffa498807 use shortcut 2014-11-28 19:40:47 -05:00
barisusakli
3a172711f4 socket.io index refactor 2014-11-28 19:33:07 -05:00
barisusakli
14a5de6d9d not used 2014-11-28 19:08:02 -05:00
barisusakli
f7c70e2a7a update all socket methods, works on single node 2014-11-28 19:06:07 -05:00
barisusakli
13609edf82 fix reqFromSocket for socket.io 1.x 2014-11-28 17:46:00 -05:00
barisusakli
2c89d50322 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-28 16:00:36 -05:00
barisusakli
f9405c0423 closes #2440 2014-11-28 15:49:16 -05:00
barisusakli
6760ce00cc removed unused msgs 2014-11-28 15:03:33 -05:00
barisusakli
49a73e1665 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-28 14:36:01 -05:00
barisusakli
c213f77f91 merge 2014-11-28 14:35:21 -05:00
Barış Soner Uşaklı
b8845181f6 missing now :( 2014-11-28 14:34:51 -05:00
Barış Soner Uşaklı
4d4f39a44f added missing db 2014-11-28 14:34:21 -05:00
Barış Soner Uşaklı
126f3182fd fix next 2014-11-28 14:30:43 -05:00
barisusakli
5ac5d20e4b users:online refactor 2014-11-28 14:25:11 -05:00
Julian Lam
1ce3c9ca2d no longer logging warnings for socket.io 2014-11-28 13:44:46 -05:00
Julian Lam
7ad242b981 using redis for user online list management if configured 2014-11-28 12:34:19 -05:00
Julian Lam
e952a873a8 moving onlineUsers from an in-memory variable to a sorted set 2014-11-28 11:50:29 -05:00
barisusakli
1abe35092b cluster socket.io fixes
close proxy server on loader.stop
changed handles to object
2014-11-27 15:36:05 -05:00
barisusakli
785790c414 moved handle close to fork worker 2014-11-27 14:09:01 -05:00
barisusakli
5521e6143f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 22:31:14 -05:00
barisusakli
033e078aeb closes #2436 2014-11-26 22:30:21 -05:00
barisusakli
0674258793 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 22:11:31 -05:00
barisusakli
c12d90ddfb closes #2457 2014-11-26 22:10:38 -05:00
Julian Lam
8de2d1f58d closed #2459 2014-11-26 21:30:24 -05:00
barisusakli
2ecfcc582f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 17:31:26 -05:00
barisusakli
d1fcb50c7d cluster sticky session 2014-11-26 17:24:49 -05:00
Julian Lam
b7c4647e9a added Bengali language to repo, তোমাকে ধন্যবাদ! 2014-11-26 13:37:12 -05:00
Julian Lam
8ca6d51d8d latest translations 2014-11-26 13:35:07 -05:00
Julian Lam
e97d5b2e0e closed #2456 2014-11-26 13:31:03 -05:00
Julian Lam
23b14b3443 moving nearly all startup messages to verbose type 2014-11-26 13:28:10 -05:00
barisusakli
99e0a02b4c Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 23:21:36 -05:00
barisusakli
ab2580cc5f fix human readable post count in topics 2014-11-25 23:20:29 -05:00
barisusakli
b6bd955131 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 23:09:28 -05:00
barisusakli
51436fd2d9 check privs on composer.push 2014-11-25 23:08:28 -05:00
barisusakli
4bed05a622 disable stuff that crashes in socket.io 1.x 2014-11-25 15:18:33 -05:00
barisusakli
396dffd60f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 11:53:07 -05:00
barisusakli
916f1c7ce1 fix debug path on relative path install 2014-11-25 11:35:10 -05:00
barisusakli
08b0462695 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-24 22:05:34 -05:00
barisusakli
a69eafd9f7 added postcount to topic 2014-11-24 21:45:18 -05:00
psychobunny
0202666ed0 taking a break with an almost completely pointless commit 2014-11-24 20:09:23 -05:00
barisusakli
7cbaa90d36 update to socket.io 1.2.1, return_buffers option 2014-11-24 13:44:59 -05:00
barisusakli
04175c92d9 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-24 13:29:23 -05:00
barisusakli
80d7ae597b closes #2451 2014-11-24 13:28:48 -05:00
Julian Lam
a31525c79f Skipping digest sending if no notifs and no new topics, #2455 2014-11-24 13:22:10 -05:00
Julian Lam
1b526026a0 closed #2442 2014-11-24 12:48:21 -05:00
Julian Lam
1c21ca78dc preventing ctrl-f hijacking if no search plugin is installed 2014-11-24 12:38:44 -05:00
Julian Lam
fa39b5e46b closed #2446 2014-11-24 12:20:28 -05:00
Julian Lam
f5fce863f9 plugin warnings for v0.5.4+ when installing plugins with no suggested version, #2438 2014-11-23 17:02:25 -05:00
Julian Lam
ba9a5ad7d7 fixed #2448 2014-11-23 15:53:42 -05:00
barisusakli
6b23977a46 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-23 00:32:58 -05:00
barisusakli
7daf3a34a7 removed slice 2014-11-23 00:32:31 -05:00
barisusakli
1ea295ed1b #2449 2014-11-23 00:31:37 -05:00
barisusakli
e1758e0c36 closes #2449 2014-11-23 00:30:19 -05:00
barisusakli
9ea10ba8ec Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-21 12:28:39 -05:00
Barış Soner Uşaklı
bea1d053b4 closes #2443, closes #2445 2014-11-21 12:28:25 -05:00
barisusakli
552c56f3d1 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-21 11:44:35 -05:00
Barış Soner Uşaklı
2086ddf386 closes #2444 2014-11-21 11:44:06 -05:00
Julian Lam
354268bccd latest translations for french 2014-11-21 09:05:44 -05:00
barisusakli
fba0e95aeb Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:25:07 -05:00
Barış Soner Uşaklı
6581c90475 forgot one 2014-11-20 19:24:23 -05:00
barisusakli
7e6f29e007 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:15:39 -05:00
Barış Soner Uşaklı
7b14716eb8 use data.url 2014-11-20 19:15:10 -05:00
barisusakli
702b1554fb Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:02:47 -05:00
barisusakli
73fb653ddf emit works 2014-11-20 19:02:29 -05:00
psychobunny
c905f96108 closes #2412 2014-11-20 17:50:09 -05:00
Julian Lam
0b58e2fea3 minor tweaks to in-topic searching UI, #2442 2014-11-20 17:02:09 -05:00
barisusakli
82d863b9c8 deps, disabled all server side calls 2014-11-20 16:51:11 -05:00
Julian Lam
259f0f96f1 Merge pull request #2433 from bendem/patch-1
Fix nodeBB address in a few places
2014-11-20 16:38:36 -05:00
barisusakli
347e37a224 show warning and errors for socket.io also show info in dev 2014-11-20 15:53:23 -05:00
psychobunny
8d8731c609 closes #2436 2014-11-20 13:41:09 -05:00
psychobunny
35be69d6cd closes #2439 2014-11-20 13:22:45 -05:00
Julian Lam
3ad509b93a fixed #2434 2014-11-20 13:22:27 -05:00
barisusakli
fdf06c0500 fix upgrade script #2435 2014-11-20 12:42:55 -05:00
Julian Lam
fe7726d249 fixed #2431 2014-11-20 10:30:53 -05:00
bendem
0f4fcd8e0b fix nodeBB adresses 2014-11-20 12:08:53 +01:00
barisusakli
9cd352c49a removed extra space 2014-11-20 00:10:08 -05:00
barisusakli
d177481f94 chop chop 2014-11-19 23:37:55 -05:00
barisusakli
6012223b81 show message name, fix template name overwrite 2014-11-19 22:41:16 -05:00
psychobunny
9eb8924bf2 cleanup 2014-11-19 17:48:43 -05:00
barisusakli
9c1216eb63 closes #2432 2014-11-19 15:55:01 -05:00
barisusakli
d5453efdac added current template name to return 2014-11-19 14:14:35 -05:00
barisusakli
15c2b124e3 recent replies needs stripTags true
changed [self] to _
2014-11-19 14:13:00 -05:00
Julian Lam
6eef866320 closed #2429 2014-11-19 12:19:08 -05:00
Julian Lam
067d1ae404 adding client-side hook whenever composer renders a preview 2014-11-19 11:56:03 -05:00
barisusakli
21459fff84 use getPostsFromSet for recent replies 2014-11-19 11:02:28 -05:00
barisusakli
04afe7dc4b closes #2425 2014-11-19 10:38:47 -05:00
Julian Lam
e0fba796c7 Merge pull request #2426 from Schamper/image-upload-socket-fix
Fix the hook return object in the User.uploadProfileImageFromUrl socket
2014-11-19 08:29:17 -05:00
Julian Lam
7183187be8 latest translations 2014-11-19 08:20:10 -05:00
MrWaffle
969c3a77cf Fix the hook return object in the User.uploadProfileImageFromUrl socket 2014-11-19 13:45:12 +01:00
barisusakli
b919d2ee77 shorther 2014-11-18 23:31:17 -05:00
barisusakli
4be8f3ec75 closes #2316 2014-11-18 23:27:40 -05:00
barisusakli
0bb5971915 disconnect on error too 2014-11-18 23:23:35 -05:00
barisusakli
a445e3f7b1 use send for child process 2014-11-18 22:55:44 -05:00
barisusakli
871cf8a3b7 shorter getTeasers 2014-11-18 22:19:17 -05:00
Julian Lam
5292a47a96 fixed maintenance mode page not working with new CSRF implementation, #2424 2014-11-18 15:51:09 -05:00
barisusakli
b665aeee83 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-11-18 15:50:35 -05:00
barisusakli
81e4bcd358 fix rename to multi 2014-11-18 15:50:32 -05:00
Julian Lam
b06ff89e02 adding missing file, re: #2424 2014-11-18 15:22:26 -05:00
Julian Lam
deac12c540 closed #2424 2014-11-18 14:56:22 -05:00
barisusakli
4f38a33702 fix pagination going to 404 if new post creates a new page 2014-11-18 14:49:48 -05:00
barisusakli
10680d47b0 postCount only used once 2014-11-18 14:34:21 -05:00
barisusakli
d0bc5ec9c7 client/topics.js refactor
ability to dismiss all flags
2014-11-18 14:33:14 -05:00
barisusakli
78033dbf5c handled in events.js 2014-11-18 00:12:43 -05:00
barisusakli
d7c367ae91 moved new notification to events.js 2014-11-18 00:10:42 -05:00
barisusakli
7f5984d1fd removed dupe code 2014-11-17 23:57:31 -05:00
barisusakli
c974256600 missing radix 2014-11-17 23:41:45 -05:00
barisusakli
671ec8532c fix unfavourite 2014-11-17 23:32:39 -05:00
barisusakli
47c1092842 moved registerLoader/refresh to top 2014-11-17 23:12:45 -05:00
barisusakli
776fb29dce removed preloader leftovers 2014-11-17 23:08:50 -05:00
barisusakli
3d93a76508 removed command param made unvote wrapper 2014-11-17 21:45:52 -05:00
psychobunny
8c98f47688 action:post.upvote / action:post.downvote now sends current status; new: action:post.unvote 2014-11-17 19:24:41 -05:00
Julian Lam
0d6be40238 fixed #2406 2014-11-17 14:47:51 -05:00
barisusakli
14ba1ff8c0 closes #2352 2014-11-17 14:22:29 -05:00
Julian Lam
ae1528dc7e closed #2407 2014-11-17 14:07:34 -05:00
Julian Lam
2d79169855 latest fallbacks 2014-11-17 14:01:07 -05:00
Julian Lam
d51683f62e closed #2421 2014-11-17 13:37:13 -05:00
Julian Lam
2e2995d3bd updating dailyDigestFreq to 'day' instead of 'daily' 2014-11-17 13:37:13 -05:00
Julian Lam
c7396f58cd verbose logging for email 2014-11-17 13:37:13 -05:00
barisusakli
ee3b0c93c3 fix tag update
was hanging on tag remove, and wasnt updating if tag count didnt change
2014-11-17 13:37:00 -05:00
barisusakli
0864480433 forgot return 2014-11-17 12:45:30 -05:00
barisusakli
cb8ce066c8 give guests find read access on category creation 2014-11-17 12:39:07 -05:00
barisusakli
8b573bff39 send 10 topics in digest not 11 2014-11-17 12:32:29 -05:00
barisusakli
9791dfb9ea closes #2420 2014-11-17 12:21:51 -05:00
Julian Lam
23485fcbf3 missed one invocation of old LESS library, #2419 2014-11-17 11:31:11 -05:00
Julian Lam
207bfa8960 closed #2419 2014-11-17 11:26:03 -05:00
barisusakli
0a1fa72bd8 use loadMoreFromSet 2014-11-16 18:31:57 -05:00
barisusakli
32e08ba419 closes #2070 2014-11-16 17:29:45 -05:00
barisusakli
807d4b7e2e update template.js dep 2014-11-16 16:51:14 -05:00
barisusakli
114d0506e1 fixed typo 2014-11-16 16:46:40 -05:00
barisusakli
f0797493ee make sure sockets leave the current room when entering another 2014-11-16 16:37:31 -05:00
barisusakli
8e114c2093 moved isAdminOrMod check out of getTopicsByTids 2014-11-16 16:15:49 -05:00
barisusakli
a75727bbbd duh 2014-11-16 01:56:42 -05:00
barisusakli
653850661e topics.getTopics doesnt take set param 2014-11-16 01:33:11 -05:00
barisusakli
79265b9e83 removed dupe code 2014-11-16 00:58:02 -05:00
barisusakli
c1b61522f7 check if topic is deleted 2014-11-16 00:09:43 -05:00
barisusakli
c458a7f7b2 missing nconf require 2014-11-16 00:01:20 -05:00
barisusakli
9852809c2c cleanup 2014-11-15 23:54:34 -05:00
barisusakli
1d2d69fa45 use helpers, redis crash fix 2014-11-15 23:44:34 -05:00
barisusakli
556e7066e8 moved notFound notAllowed to helpers 2014-11-15 23:22:57 -05:00
barisusakli
f8cfd82667 less code in uploadimage 2014-11-15 22:50:05 -05:00
barisusakli
0a44d3f5e0 moved updateCategoryField out, db.delete only sends back err 2014-11-15 22:41:45 -05:00
barisusakli
d485b65b67 call next 2014-11-15 21:52:05 -05:00
barisusakli
9ab74b0a61 added ability to take heap snapshots 2014-11-15 19:09:44 -05:00
barisusakli
7825b8b951 closes #2416 2014-11-15 16:12:06 -05:00
psychobunny
2a88e08977 and one last derp 2014-11-15 14:57:32 -05:00
psychobunny
556d817cc5 forgot to return 2014-11-15 14:56:34 -05:00
psychobunny
458ee7cca8 acute ocd attack 2014-11-15 14:56:04 -05:00
psychobunny
bfaeee2531 linting 2014-11-15 14:48:23 -05:00
psychobunny
b511bc37fb don't initialize taskbar until dom is ready 2014-11-15 14:47:31 -05:00
barisusakli
9d56f50967 voters info 2014-11-15 12:37:22 -05:00
barisusakli
8330a6e6d9 added plugin reset info as well #2415 2014-11-14 22:18:24 -05:00
barisusakli
76933f4c37 closes #2415 2014-11-14 22:14:55 -05:00
barisusakli
30d7f3351b cid isnt always present 2014-11-14 22:07:24 -05:00
Barış Soner Uşaklı
36ac6f849f Merge pull request #2397 from joe1chen/bug-fix-topic-search
Bug fix - Topic search broken due to encodeURIComponent being called too early
2014-11-14 21:51:39 -05:00
barisusakli
02fb81901d moved posts related stuff to user/posts.js 2014-11-14 21:47:24 -05:00
barisusakli
d9a071d710 removed unused code from category and topic controller 2014-11-14 21:16:35 -05:00
barisusakli
cd05a123ab check cids 2014-11-14 20:43:52 -05:00
barisusakli
52c12fa1b1 use wrapper functions getPostsFields and getTopicsFields 2014-11-14 20:19:14 -05:00
Julian Lam
9a606246a9 more fallbacks 2014-11-14 20:02:04 -05:00
Julian Lam
d0770bcb95 latest translations and fallbacks 2014-11-14 20:00:07 -05:00
barisusakli
6b13a84d2f removed extra priv checks
-removed category check from recentreplies since pids are already
checked
-removed category check from topics/unread.js since topics are filtered
now
-added array checks to src/topics.js
2014-11-14 19:52:25 -05:00
barisusakli
5c7487c13b err check 2014-11-14 19:38:51 -05:00
barisusakli
283ac1578f fix null datetime error 2014-11-14 18:33:10 -05:00
barisusakli
f3309e3dd4 renamed to local registration
closes https://github.com/NodeBB/nodebb-theme-vanilla/issues/36
2014-11-14 18:11:21 -05:00
barisusakli
545dbbf0df check err and tids 2014-11-14 18:03:19 -05:00
Julian Lam
b65d518a97 properly handling error for hook filter:privileges.posts.filter 2014-11-14 17:53:20 -05:00
Julian Lam
9debfd94ec removed the hook I just added: filter:category.recent, was a bit misleading. 2014-11-14 17:42:33 -05:00
Julian Lam
20ea40133b added four new hooks: filter:categories.recent, filter:privileges.categories.get, filter:privileges.posts.filter, filter:privileges.topics.filter 2014-11-14 17:31:44 -05:00
psychobunny
b480bff3fd moved taskbar markup out of JS and into modules/taskbar.tpl 2014-11-14 17:15:57 -05:00
barisusakli
cd19bf156c update bcryptjs and validator 2014-11-14 17:14:44 -05:00
barisusakli
6ce1415cd4 update db search version 2014-11-14 17:13:18 -05:00
barisusakli
9ff35a18f2 closes #2261 2014-11-14 17:03:13 -05:00
psychobunny
1e453140d9 adding uid to filter:category.topics.get 2014-11-14 16:34:34 -05:00
psychobunny
abe887f557 filter:category.topics.get 2014-11-14 16:29:59 -05:00
psychobunny
c988f54243 renaming filter:category.topics.get to filter:category.topics.prepare 2014-11-14 16:28:59 -05:00
barisusakli
485827db84 check count before privileges 2014-11-14 16:22:05 -05:00
barisusakli
6a3a3669d2 check privs on getRecentReplies and getRecentTopicReplies 2014-11-14 16:20:40 -05:00
psychobunny
c7ca2e2573 fixing time derp if minutes are singular 2014-11-14 16:16:06 -05:00
barisusakli
b4daae9b23 closes #2307 2014-11-14 16:02:35 -05:00
psychobunny
3aa18ebb12 no need to inform attempt to listen to address 2014-11-14 15:40:08 -05:00
barisusakli
5c3af6f549 removed webserver.init 2014-11-14 15:31:45 -05:00
barisusakli
363057cf49 closes #2390 2014-11-14 15:19:26 -05:00
barisusakli
d1b457b066 check err 2014-11-14 14:09:29 -05:00
barisusakli
519b1b7e37 closes #2377 2014-11-14 13:36:37 -05:00
barisusakli
a1624013f8 closes #2400 2014-11-14 12:17:28 -05:00
Julian Lam
95e3c6f8a4 Merge pull request #2410 from joe1chen/add-topics-loaded-event
Add topics.loaded event to be triggered when new topics are loaded by infinite scroll.
2014-11-14 12:13:59 -05:00
barisusakli
05a4737e84 closes #2409 2014-11-14 11:32:56 -05:00
Joseph Chen
4f03e74b99 Add topics.loaded event to be triggered when new topics are loaded by infinite scroll. 2014-11-14 06:24:38 -08:00
barisusakli
61863a69fe sendfile is deprecated 2014-11-13 17:04:08 -05:00
psychobunny
2990b33dc6 linting 2014-11-13 16:47:38 -05:00
barisusakli
d9d44aee2b #2334 2014-11-13 16:33:03 -05:00
barisusakli
c24e451c12 closes #2401 2014-11-13 16:03:11 -05:00
barisusakli
181e2b4132 check err 2014-11-13 15:49:43 -05:00
barisusakli
e6973b55d4 closes #1990 2014-11-13 15:47:25 -05:00
barisusakli
962d14746e trim tag after substr
this prevents spaces in the middle of the tag from being added to the db
2014-11-13 15:02:20 -05:00
barisusakli
a45858dacd previous commit doesnt show unusud tags in admin 2014-11-13 14:36:44 -05:00
barisusakli
68e8039ac7 closes #2379
also fixed a bug where tags with 0 topics were showing up in /tags
2014-11-13 14:29:48 -05:00
psychobunny
45affa3043 closes #2399 2014-11-13 14:04:29 -05:00
psychobunny
a8402b228c updating winston timestamp 2014-11-13 13:52:52 -05:00
barisusakli
b3544f644a relative path upload fixes #2403 2014-11-13 13:00:36 -05:00
barisusakli
7f5617bc74 closes #2402 2014-11-13 11:44:26 -05:00
barisusakli
14fdb9ebee reverted 2014-11-13 11:37:42 -05:00
barisusakli
6809af536c removed winston log in plugin fireHook 2014-11-13 11:31:30 -05:00
barisusakli
4c7a4d3688 fix topicIndex, 2014-11-12 18:00:34 -05:00
barisusakli
05f33df098 manage/groups.js 2014-11-12 16:56:11 -05:00
barisusakli
bd388f727c src/favourites.js 2014-11-12 16:40:06 -05:00
barisusakli
9a16a359a8 auth refactor 2014-11-12 16:15:44 -05:00
barisusakli
fc0dce429b topic.reply checks with invalid parameters 2014-11-12 15:06:55 -05:00
barisusakli
834ca016ec topics.reply test 2014-11-12 14:34:06 -05:00
Julian Lam
c0fc7e9ca4 updating privilege handling to fire two new hooks, filter:privileges.topics.get and filter:category.topics.get 2014-11-12 14:33:25 -05:00
barisusakli
eada3daf9f fixed recent and unread 2014-11-12 14:11:04 -05:00
Julian Lam
6ea10aa7e3 ensuring that the filter:category.get hook always sends data in the same format 2014-11-12 11:07:11 -05:00
Julian Lam
7e35987e1b fixing regression for #2355, introduced in a129075 2014-11-12 10:58:46 -05:00
Julian Lam
c2467de9c2 added Greek language to NodeBB, Γεια σας και καλώς ήρθατε! 2014-11-12 08:29:08 -05:00
Julian Lam
872dd679e2 latest translations and fallbacks 2014-11-12 08:29:08 -05:00
Joseph Chen
f02fd88eaf Bug fix - Topic search broken due to encodeURIComponent being called too early. 2014-11-11 22:51:16 -08:00
barisusakli
964d531582 fix test really 2014-11-12 01:22:50 -05:00
barisusakli
385e034a23 fix tests 2014-11-12 01:19:40 -05:00
barisusakli
7a51520074 #2393 2014-11-12 00:24:25 -05:00
barisusakli
4e23fe7c3a more topic post tests 2014-11-11 23:12:37 -05:00
barisusakli
3029b19be6 fix test 2014-11-11 23:03:20 -05:00
barisusakli
15e472db12 on category creation give defaults privs to admins and registered users 2014-11-11 22:58:34 -05:00
barisusakli
2579d2535d closes #2396 2014-11-11 20:10:51 -05:00
barisusakli
fa5ac04cd3 src/topics.js cleanup 2014-11-11 19:47:56 -05:00
barisusakli
c9f990bb72 derp 2014-11-11 19:22:54 -05:00
barisusakli
7225c0d45b finish up posts refactor 2014-11-11 18:55:49 -05:00
Julian Lam
54ee8e59f6 showing proper time for newbie post delay 2014-11-11 18:38:31 -05:00
barisusakli
d2cddc734b fix flagging and post filter
cant flag posts that don't exist anymore
2014-11-11 18:34:29 -05:00
barisusakli
11dc477dde posts/categories.js 2014-11-11 18:22:50 -05:00
barisusakli
e593c8e6b1 setFields makes more sense 2014-11-11 18:14:45 -05:00
barisusakli
fa95012fa3 action:set,postField 2014-11-11 18:13:15 -05:00
barisusakli
1413478a68 ill get it right this year 2014-11-11 18:08:50 -05:00
barisusakli
003535b3ab filter:post.getFields again 2014-11-11 18:08:03 -05:00
barisusakli
383fa4d0ea filter:post.getFields change 2014-11-11 18:05:42 -05:00
barisusakli
604dac88e3 closes #2382, closes #2130 2014-11-11 17:25:16 -05:00
psychobunny
70b5c631c6 if dev, compile view scripts only; let rjs dynamically load module scripts
fixes a bug introduced @ 11c83079f2
2014-11-11 13:53:32 -05:00
psychobunny
9726e599e4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-11-11 13:30:59 -05:00
psychobunny
1b9297fa31 until now, this variable was never false... so I'm just removing it
@julianlam just in case
2014-11-11 13:30:55 -05:00
psychobunny
02b6a7893a in dev mode, concatenate scripts instead of minifying
faster reboot & restores sanity to those trying to debug browser
specific issues on IE and FF. not that you have much sanity to begin
with if it's an IE bug...
2014-11-11 13:30:16 -05:00
Julian Lam
286d14f614 allowing use of winston.verbose now 2014-11-11 13:18:46 -05:00
psychobunny
11c83079f2 if env is dev, don't re-compile rjs files
faster reboot & easier to debug on browsers that don't support
sourcemaps
2014-11-11 13:12:09 -05:00
psychobunny
8de978fbcf lmao, wtf?
my brain just exploded trying to figure out what this is doing here
2014-11-11 13:07:54 -05:00
psychobunny
d5d686b701 Merge pull request #2392 from a5mith/patch-3
ACP Text Colour
2014-11-11 12:13:50 -05:00
Aaron Smith
f2b0068b32 ACP Text Colour
Replaces my other commit.
2014-11-11 17:05:36 +00:00
psychobunny
db157da3fb fixes potential IE8 crash (both toISOString and console.log don't exist)
not that client-side calls this anyways
2014-11-11 11:44:49 -05:00
psychobunny
0580773331 random console.log 2014-11-11 11:38:29 -05:00
psychobunny
d69054804e closes #2391 2014-11-11 11:37:32 -05:00
Julian Lam
73dea4fc4e upvote and favourites notif fixing 2014-11-11 09:41:28 -05:00
Julian Lam
f9f1cf63cf fixing topic deletion and purging 2014-11-10 16:52:45 -05:00
Julian Lam
5281c8c376 Merge pull request #2381 from akhoury/patch-3
could you explicitly specify the last 4 rules?
2014-11-10 14:13:29 -05:00
Aziz Khoury
535529923c why leave json files out? 2014-11-10 13:26:07 -05:00
Aziz Khoury
a17ecefd20 could you explicitly specify the last 4 rules?
I put in some values in there, as placeholders, feel free to change them, and I will follow
so we can have a standard, and developers can choose to have the same across plugins as well
2014-11-10 13:16:48 -05:00
Julian Lam
c7e731f4c4 Merge branch 'master' of github.com:NodeBB/NodeBB 2014-11-10 12:42:56 -05:00
Julian Lam
b2625a1bf0 upping spam-be-gone minver 2014-11-10 12:42:44 -05:00
psychobunny
91103fb09e updating widget-essentials to 0.2.0 ** 2014-11-10 12:02:03 -05:00
psychobunny
121fb88008 updating widget-essentials to 0.1.2 2014-11-10 11:53:08 -05:00
psychobunny
aa6137b9c3 fixed potential XSS in registration form 2014-11-10 11:46:15 -05:00
barisusakli
c18de5cdd2 posts/recent.js refactor 2014-11-09 01:30:27 -05:00
barisusakli
ef35b83806 use getPostsFields 2014-11-09 01:24:12 -05:00
barisusakli
263f479b20 posts.js refactor pt1 2014-11-09 01:12:24 -05:00
barisusakli
39def60f9b return empty array 2014-11-09 00:45:18 -05:00
barisusakli
420aa5e102 fix moderators 2014-11-09 00:33:26 -05:00
barisusakli
8294aec5e7 fixed indent 2014-11-09 00:01:46 -05:00
barisusakli
8fdc03eaad categories.js refactor 2014-11-08 23:54:21 -05:00
barisusakli
daebc322eb meh 2014-11-08 23:36:38 -05:00
barisusakli
7823416410 err check, assignPostsToCategory is sync 2014-11-08 23:22:10 -05:00
barisusakli
af4cbfb20d closes #2368 2014-11-08 18:40:38 -05:00
barisusakli
d2735c8558 closes #2370 2014-11-08 17:38:03 -05:00
barisusakli
3f12d363f7 plugins fireHook refactor
(drunk)
2014-11-08 17:12:38 -05:00
barisusakli
e93b2b6aa1 removed action:app.load 2014-11-08 16:15:24 -05:00
barisusakli
41ae8b61a7 static:app.load change closes #1527 2014-11-08 15:20:56 -05:00
barisusakli
220c82a8f2 filter:register.complete change #1527 2014-11-08 15:01:56 -05:00
barisusakli
76c16c0383 filter:register.check change #1527 2014-11-08 14:57:04 -05:00
barisusakli
166f353aaa filter:register.build change #1527 2014-11-08 14:51:05 -05:00
barisusakli
8be9e6d413 action:user.verify change #1527 2014-11-08 14:41:49 -05:00
barisusakli
9363741231 action:user.set change #1527 2014-11-08 14:38:56 -05:00
barisusakli
2e1a098cfa fix multi selection if category has sub categories 2014-11-08 14:35:51 -05:00
barisusakli
db979d7a20 filter:category.get change #1527 2014-11-08 14:21:58 -05:00
Julian Lam
f3ea8d1cff closed #2367 2014-11-08 10:22:31 -05:00
Julian Lam
74630b3a79 closed #2360 2014-11-08 10:20:40 -05:00
barisusakli
c56b9aafff closes #2289, replace Infinity with '+inf' 2014-11-07 19:40:41 -05:00
barisusakli
dcba272dc5 fix not validated messages on manage/users on IS 2014-11-07 19:25:57 -05:00
barisusakli
5f8781c88e 1 less db call in togglePin 2014-11-07 19:15:26 -05:00
barisusakli
467fb1ab4a dont deselect on delete/purge closes #2352 2014-11-07 18:48:57 -05:00
Julian Lam
93f414892b closed #2361 2014-11-07 18:38:03 -05:00
Julian Lam
e0436d73c3 #2361 2014-11-07 18:22:27 -05:00
barisusakli
c95f151bfc closes #2364
dont crash if icon is not found
2014-11-07 18:13:08 -05:00
barisusakli
69ed00fc14 added mainPid to topic restore/edit hooks 2014-11-07 17:50:16 -05:00
barisusakli
642136f6f8 closes #2357 2014-11-07 17:46:03 -05:00
barisusakli
b60ed95d20 Merge remote-tracking branch 'origin/master' 2014-11-07 17:15:06 -05:00
barisusakli
1ae39d638a closes #2356 2014-11-07 17:15:01 -05:00
Julian Lam
f0b104fef0 possible fix to #2365 2014-11-07 17:05:25 -05:00
psychobunny
d77bd638c4 don't re-enable selectable on elements that were already enabled #2336 2014-11-07 16:16:32 -05:00
psychobunny
6ae5b09a01 closes #2336 2014-11-07 16:09:47 -05:00
Julian Lam
52285239e9 fixed client-side so semver doesn't explode when nbbpm returns 'latest', fixed tests so they pass again, #2363 2014-11-07 15:04:07 -05:00
Julian Lam
19297e2d22 plugin installation takes a version now, and queries nbbpm, #2363
better error handling for #2363

upgrades now also call the suggestion route from nbbpm

upgrade button will show alert now if you try to upgrade past the suggested version, #2363
2014-11-07 14:45:40 -05:00
Julian Lam
0f66077bf5 fixed issue where purged posts would cause the upgrader to fail, closed #2359 2014-11-07 10:50:25 -05:00
Barış Soner Uşaklı
b6ee472276 Merge pull request #2358 from joe1chen/0.6.x-fix-file-upload
Bug fix - File upload broken due to api changes in 0.6.x.
2014-11-06 22:08:24 -05:00
Joseph Chen
cd41df5677 Pass in req.user.uid into uploadFile 2014-11-06 19:03:53 -08:00
Joseph Chen
a1e54fda23 Bug fix - File upload broken due to api changes in 0.6.x. 2014-11-06 17:33:58 -08:00
Julian Lam
11c9b74faf upgrade script for #2355, closes #2355 2014-11-06 18:58:00 -05:00
Julian Lam
a12907512f refactored a bunch of methods so that you can pass in an author argument in querystring to see posts by just that author, #2355 2014-11-06 18:57:52 -05:00
barisusakli
3272ca34ee 0.6.0 cleanup 2014-11-06 17:33:10 -05:00
barisusakli
4440260f8f closes #2275 2014-11-06 17:06:58 -05:00
barisusakli
1004fb2822 closes #2354 2014-11-06 16:29:14 -05:00
barisusakli
72bb74cf46 canMessage 2014-11-06 12:57:59 -05:00
psychobunny
fa2f03aeca closes #2339 2014-11-06 00:53:18 -05:00
psychobunny
2e4198b8f1 removing unnecessary markup 2014-11-06 00:53:17 -05:00
barisusakli
f3d485bd58 filter:user.account 2014-11-06 00:29:06 -05:00
barisusakli
719290cd2b dont display email/fullname if they are private 2014-11-05 23:58:49 -05:00
Julian Lam
97633fe01e updating markdown and mentions minvers 2014-11-05 23:46:05 -05:00
psychobunny
6452596312 if sigs are disabled, actually disable them 2014-11-05 23:32:57 -05:00
barisusakli
9e1789dc58 closes #2297 2014-11-05 20:41:31 -05:00
barisusakli
39b679705b closes #2248 2014-11-05 19:29:45 -05:00
barisusakli
595ff1f4b1 closes #2303
see
https://community.nodebb.org/topic/3039/filter-post-parse-and-filter-post-parsesignature-changes
2014-11-05 18:59:20 -05:00
barisusakli
a6e498bb5d error check 2014-11-05 16:48:12 -05:00
Barış Soner Uşaklı
b89b960f86 Merge pull request #2328 from dwendt/master
Made hiding widgets for guests/registered sensible.
2014-11-05 16:44:54 -05:00
barisusakli
608943255b better check 2014-11-05 16:42:32 -05:00
barisusakli
ec0624918f possible fix for #2351 2014-11-05 13:35:15 -05:00
barisusakli
e5cc45a95b if category is not found return
if cid is a child category it wont be on home
2014-11-04 23:55:42 -05:00
barisusakli
70657251b9 no need for return 2014-11-04 23:30:11 -05:00
Julian Lam
44175188c4 handling case where user does not satisfy any of the privilege thresholds given to the hasEnoughReputationFor method 2014-11-04 23:19:28 -05:00
barisusakli
06f66337fb anon checks
less db calls for uid 0
2014-11-04 19:06:01 -05:00
Julian Lam
0a38a783c7 TravisCI is TOO DAMN FAST 2014-11-04 18:59:26 -05:00
Julian Lam
8e0e2a04be restored the toolbar on mobile composer, #2293 2014-11-04 18:54:48 -05:00
barisusakli
37d7756271 hasEnoughRep can take an array
user follow uid checks
2014-11-04 18:44:08 -05:00
Julian Lam
9a8fa35d8d flushing db after every test group that touches the db 2014-11-04 18:39:25 -05:00
Julian Lam
4125a087b5 closed #2349, removed use of deprecated -d flag in executable 2014-11-04 18:33:20 -05:00
Julian Lam
783481e644 Support for reloading nodebb via the nodebb executable 2014-11-04 18:33:20 -05:00
barisusakli
df4b555717 less db calls
no db call for settings if uid 0
no db call for isFollowing if uid 0
2014-11-04 18:31:21 -05:00
barisusakli
b7dcc29638 log error path as well 2014-11-04 18:06:11 -05:00
barisusakli
cdfaa941b1 error checks missing return 2014-11-04 17:57:31 -05:00
barisusakli
04c83dbdcc update deprecated sendfile 2014-11-04 17:34:05 -05:00
Julian Lam
dfc7c7aa7f #2350 :shipit: 2014-11-04 17:28:24 -05:00
Julian Lam
0e9fdc9a09 fixed #2350 -- chat modal now opens, but input is disabled 2014-11-04 17:23:39 -05:00
barisusakli
e09328c74d #2346
dont bring modal to front if u receive a message
2014-11-04 17:03:31 -05:00
barisusakli
38874345b7 closes #2346 2014-11-04 16:49:02 -05:00
barisusakli
e769ebe668 closes #2347 2014-11-04 15:56:33 -05:00
barisusakli
dd135b875b #2347
dont show flag on deleted posts
dont allow flag on deleted posts
dont allow upvote downvote favourite on deleted posts
2014-11-04 15:19:30 -05:00
barisusakli
268ecd5157 single call to get slug and postcount 2014-11-04 14:54:30 -05:00
barisusakli
f21b313848 reload/restart notices side by side 2014-11-04 13:55:20 -05:00
Julian Lam
ac2cc8cae6 updating development versioning for master branch 2014-11-03 16:48:45 -05:00
barisusakli
5f3f4ef74e closes #2266 2014-11-03 15:37:25 -05:00
barisusakli
d492339841 closes #2315 2014-11-03 15:31:41 -05:00
barisusakli
7bfc36ff56 dont call isAdmin if not logged in 2014-11-03 15:09:24 -05:00
barisusakli
209edf182f 404 pages that are out of range 2014-11-01 17:55:42 -04:00
Barış Soner Uşaklı
80d04e2de5 Merge pull request #2343 from datagutt/patch-1
Update translator mapping for norwegian
2014-11-01 17:46:24 -04:00
barisusakli
9440f8f8cd #2344 2014-11-01 17:32:56 -04:00
barisusakli
84b7a2c92d checks in socket.io/user
reset doesnt need socket
2014-11-01 16:55:50 -04:00
barisusakli
8e84e47578 if a user is deleted remove from banned sorted set as well 2014-11-01 15:11:47 -04:00
barisusakli
fd70ba5647 fix titles on ajaxify 2014-11-01 15:08:12 -04:00
Thomas Lekanger
e0975b85df Update translator mapping for norwegian 2014-11-01 18:46:58 +01:00
barisusakli
f83dd956eb check if post exists on up/down vote favourite 2014-10-31 22:27:50 -04:00
barisusakli
fcc42883ab some checks for purge 2014-10-31 22:04:09 -04:00
barisusakli
d43e8beb60 fix acp topic graph disappearing
clear usedColors on ajaxify, once it was filling up the graph was never
updating after ajaxify
2014-10-31 20:30:07 -04:00
barisusakli
56d16d1792 fix topic titles in search results
titles were being escaped twice if two or more posts were from the same
topic
2014-10-31 19:57:32 -04:00
barisusakli
7c7be2e0c1 closes #2337 2014-10-31 19:21:37 -04:00
barisusakli
6353ed57a9 duh fixing my fail from last night 2014-10-31 17:44:06 -04:00
barisusakli
1fe82ee452 added 2 new methods to dbal
getSortedSetRangeWithScores
getSortedSetRangeByScoreWithScores
2014-10-31 17:19:55 -04:00
Julian Lam
c44068db52 latest translations and fallbacks 2014-10-31 17:12:21 -04:00
Julian Lam
a7bc05aeb6 less formal language for #2335 2014-10-31 17:07:32 -04:00
Julian Lam
a7d028e29b bundling spam-be-gone with all nodebb install, ping @akhoury, closes #2332 2014-10-31 14:54:17 -04:00
Julian Lam
ec309333be closed #2335 2014-10-31 13:31:25 -04:00
Julian Lam
de0da80040 Merge branch 'master' of github.com:NodeBB/NodeBB 2014-10-31 13:25:30 -04:00
Julian Lam
b91d39a0d3 almost everything for #2335 2014-10-31 13:22:42 -04:00
heart
c38ca146c7 Made hiding widgets for guests/registered sensible. 2014-10-31 02:10:40 -04:00
psychobunny
0a1b31e6bc small change to gitignore re: logs 2014-10-31 01:56:45 -04:00
barisusakli
fb1095fc28 added allowed true to /chats 2014-10-31 01:50:24 -04:00
psychobunny
de8c1ece14 adding to contributing.md 2014-10-31 00:48:29 -04:00
barisusakli
e97bfc139b #1848 2014-10-30 23:14:33 -04:00
barisusakli
0ede4abe18 possible fix for #1848 2014-10-30 22:47:15 -04:00
barisusakli
0bb0424998 bubble error 2014-10-30 22:19:11 -04:00
barisusakli
e93398b647 use currentTime when someone up/down votes 2014-10-30 19:37:22 -04:00
Julian Lam
61aaff025b adding in 'allowed' to template, re: #2321 2014-10-30 18:05:48 -04:00
barisusakli
b12e3562d5 hide category icons if they are not set 2014-10-30 18:04:49 -04:00
Julian Lam
adfb89a2ad closed #2321 2014-10-30 17:50:27 -04:00
Julian Lam
28f87cc776 added tests for messaging method .canMessage 2014-10-30 17:50:27 -04:00
Julian Lam
a992638ef3 removed level from testmock error msg 2014-10-30 17:50:27 -04:00
barisusakli
41d806f67f removed unused language string 2014-10-30 16:52:09 -04:00
barisusakli
433769eb36 closes #2146
first tab (recent) shows last 50 messages instead of just last 24 hours
2014-10-30 16:51:15 -04:00
barisusakli
121de11400 closes #2323 2014-10-30 14:21:44 -04:00
psychobunny
ca87bc1577 Merge pull request #2320 from lpeachl/patch-1
Update language.json
2014-10-30 09:26:28 -04:00
lpeachl
9b481b23f3 Update language.json 2014-10-30 19:31:20 +07:00
psychobunny
50b264ac7d prevent deleted users belonging to a group from breaking edit functionality 2014-10-29 21:07:46 -04:00
psychobunny
4d4dc344a6 temporary fix until remarkable is updated in markdown plugin
https://github.com/jonschlinkert/remarkable/issues/88#issuecomment-60885589
2014-10-29 21:07:45 -04:00
psychobunny
2c555687e7 removed old copy from when we used to have ubuntu instructions on the main page 2014-10-29 01:55:26 -04:00
barisusakli
189eaf2bea escape output 2014-10-29 00:47:16 -04:00
barisusakli
fbd478812e fail modeon 2014-10-29 00:33:09 -04:00
barisusakli
1b268c94c0 if there is no postData.tid dont notify, ie topic post 2014-10-29 00:10:57 -04:00
barisusakli
cbedc762fd no rooms.enter for anons check tid on topic enter 2014-10-28 23:56:33 -04:00
barisusakli
0fba1e37a7 no need for double trim :P 2014-10-28 18:41:34 -04:00
barisusakli
5be1c17aa7 refactor user.create
dont fire filter:user.create if there userData is invalid
2014-10-28 18:28:26 -04:00
barisusakli
bce96d04c7 forkWorker function, pipe new worker output to log 2014-10-28 16:33:14 -04:00
barisusakli
4c8287251a added stderr piping to output 2014-10-28 16:12:05 -04:00
barisusakli
50a06f9369 log signal as well 2014-10-28 15:48:03 -04:00
barisusakli
f19bc2e2be removed error.log everything will go to output.log 2014-10-28 15:30:52 -04:00
barisusakli
20314991a4 tmp error check 2014-10-28 00:33:58 -04:00
barisusakli
a4533703d4 fix sort by vote insertion 2014-10-28 00:17:28 -04:00
barisusakli
c5ba327d8f fix empty pages 2014-10-27 23:20:40 -04:00
barisusakli
b12476c422 if a post is purged, remove it from flagged posts as well 2014-10-27 21:44:15 -04:00
barisusakli
1bcdae41b8 make images in manage/flags responsive 2014-10-27 21:28:46 -04:00
barisusakli
9e77960ee1 #2308 check if latest is greater by semver 2014-10-27 20:35:03 -04:00
psychobunny
25c7dfbc12 fix crash if socket.handshake is null 2014-10-27 20:23:16 -04:00
barisusakli
3d5e72bbc8 fix null parents 2014-10-27 02:58:20 -04:00
barisusakli
9909f8ba79 more err checks 2014-10-27 01:49:57 -04:00
barisusakli
18462c4190 derp 2014-10-27 00:59:52 -04:00
barisusakli
698d113857 error checks in middleware/admin 2014-10-27 00:54:26 -04:00
barisusakli
eaf89dc316 use parseSignature 2014-10-26 22:02:44 -04:00
barisusakli
a4d671f8b8 fix popular pill selection 2014-10-26 21:44:09 -04:00
barisusakli
238fb0bd4b removed logout log 2014-10-26 21:02:51 -04:00
barisusakli
c74370bfb1 removed recent/day week month
it starts with most recent 20 topics now and goes back instead of
showing empty if there are no new replies in the past 24 hours
2014-10-26 20:26:56 -04:00
barisusakli
c4a39c8163 use processSortedSet instead of getting all users 2014-10-26 20:10:57 -04:00
barisusakli
782896997d post count fix for post move 2014-10-26 19:13:48 -04:00
barisusakli
56947b999e added timestamps to winston logs 2014-10-26 18:46:50 -04:00
barisusakli
d2cc4b8516 possibly fixes 2301 2014-10-26 18:02:40 -04:00
barisusakli
35e2e1462b closes #2295 2014-10-26 17:04:55 -04:00
barisusakli
63cf8d674d listen disconnect event, display unknow socket method name on dev 2014-10-26 14:30:13 -04:00
barisusakli
dfae2ea0d7 fix new topics showing up in all categories on post 2014-10-26 14:26:21 -04:00
barisusakli
699b74603b only for logged in users 2014-10-25 19:22:13 -04:00
barisusakli
4c90c9a759 closes #2291 2014-10-25 19:19:47 -04:00
barisusakli
ca9cc6b32f show latest plugin version for uninstalled plugins as well 2014-10-24 17:47:27 -04:00
barisusakli
081efd22e2 prevent crash if category is not found 2014-10-24 15:35:10 -04:00
barisusakli
a7bb5893e8 fix dupe event listeners on category
only happens if you navigate from category to category
2014-10-24 15:05:37 -04:00
Julian Lam
0a81898810 grammar fix 2014-10-24 00:16:27 -04:00
Julian Lam
a9c528eb23 added instructions for responsible disclosure, and use of git bisect for regression testing, closed #2280 2014-10-24 00:12:18 -04:00
Julian Lam
9215930cfc fixed #2292 2014-10-24 00:01:08 -04:00
barisusakli
6e62c48f41 call package manager
get latest version from versions object
2014-10-23 22:38:28 -04:00
barisusakli
89613d2346 closes #2287 2014-10-23 22:26:52 -04:00
barisusakli
a8760cd2bc only ban once for low rep
also only check on downvotes
2014-10-23 18:05:40 -04:00
barisusakli
c753edab1d fix duplicate event listeners
they were duplicated if you navigated from topic to topic
2014-10-23 16:32:16 -04:00
Julian Lam
ffdc4b5d24 fixed places where site_title was being referenced in config, instead of the correct "title" 2014-10-23 15:47:25 -04:00
Julian Lam
8112ca73c8 reloading on plugin activation click instead of restart 2014-10-23 15:21:44 -04:00
barisusakli
f295083a08 fix upload error messages 2014-10-23 15:01:36 -04:00
barisusakli
802c8b15e2 fix upgrade script to include main post, and fix post indices 2014-10-22 19:33:47 -04:00
barisusakli
9a21e9646f only use multipart on upload routes,
delete temp files if there is an error in admin,
admin/mods should see topic reply
2014-10-22 18:26:01 -04:00
Julian Lam
67770e568f removed some console logging 2014-10-22 17:59:21 -04:00
Julian Lam
b95710b2c9 french typo 2014-10-22 17:50:26 -04:00
Julian Lam
a9a32bff50 latest french translations 2014-10-22 17:46:08 -04:00
barisusakli
c5224d099e parseInt show title 2014-10-22 17:22:47 -04:00
barisusakli
fd00dddd62 admin/mods always gets the reply privs 2014-10-22 16:12:29 -04:00
Julian Lam
aac923fb03 fised #2272 2014-10-22 13:47:05 -04:00
Julian Lam
62d85b0e26 updated installation data to only create four categories by default, and altered colour to be less stark (heh, what does that mean anyway...). Also added an intro post 2014-10-22 13:26:34 -04:00
Julian Lam
8468a84047 latest fallbacks 2014-10-22 12:30:15 -04:00
Julian Lam
07a54b9510 latest translations 2014-10-22 11:54:36 -04:00
Julian Lam
afa86c03c4 fixing language for nb -- closed #2288 2014-10-22 11:30:50 -04:00
barisusakli
ec9bf48477 admins/mods can always read topics 2014-10-21 18:09:32 -04:00
Julian Lam
a28b4bb8b9 fixed maintenance mode assets not being loaded properly 2014-10-21 15:58:30 -04:00
Julian Lam
1a90de7dd6 added new --from-file flag that will load js/css from the precompiled file instead of recompiling it on startup 2014-10-21 15:36:13 -04:00
barisusakli
ebfb953069 responsive images in group page 2014-10-21 15:24:50 -04:00
barisusakli
dcf2691a12 fix indent 2014-10-21 14:42:18 -04:00
Barış Soner Uşaklı
591a8b6b12 Merge pull request #2270 from stevelacy/master
Add user.updateProfile - hook user profile updates
2014-10-21 14:40:45 -04:00
barisusakli
1b80e6dbb2 fix email update on mongo 2014-10-21 14:17:30 -04:00
barisusakli
55a5d56989 fixed view count for guests 2014-10-21 13:59:40 -04:00
barisusakli
3e4b6c97a0 closes #2286 2014-10-21 13:48:50 -04:00
barisusakli
b5fe2c7b91 closes #2255
if user is banned log them out on header render
2014-10-20 16:36:00 -04:00
barisusakli
b23373c265 parseInt maintenance mode 2014-10-20 16:14:31 -04:00
barisusakli
f15631c3e1 topic notification nid doesn't need post id 2014-10-19 18:41:54 -04:00
barisusakli
6dd035a5af prevent crash if topic graph is clicked while not loaded 2014-10-19 18:37:11 -04:00
barisusakli
7de9b998b5 fix typo in ajaxify, closes #2279 2014-10-19 17:11:05 -04:00
barisusakli
3f28dbb1be update ACP every 10 seconds 2014-10-19 16:47:52 -04:00
barisusakli
224218f519 fix missing callback 2014-10-19 16:39:36 -04:00
barisusakli
e9ec225d5b removed isConnected check 2014-10-19 16:13:10 -04:00
barisusakli
4db31be7e3 #2200 actually fix dupe colors, show 10 topics 2014-10-19 15:59:33 -04:00
barisusakli
304f5b1c76 removed duped and empty bodyLong 2014-10-18 17:02:37 -04:00
barisusakli
6802bf7ce9 closes #2284 2014-10-18 16:45:39 -04:00
Steve Lacy
2d238e61ac correct object 2014-10-17 23:15:13 -07:00
Julian Lam
c2fb1eaabf updated master to report 0.5.3-dev 2014-10-18 00:29:20 -04:00
barisusakli
b209fb563e #2218 2014-10-17 23:29:28 -04:00
barisusakli
794d6eb9ab closes #2200 2014-10-17 23:14:17 -04:00
barisusakli
94ffe5d170 closes #2276 2014-10-17 23:04:50 -04:00
barisusakli
02f74ca032 fix browsing users removal 2014-10-17 20:49:16 -04:00
psychobunny
1eb1eb6844 #2278 2014-10-17 19:38:49 -04:00
psychobunny
ded8de905d closes #2278 2014-10-17 19:37:13 -04:00
barisusakli
d2334fbb4a dont search empty string, get 20 tags instead of 10 2014-10-17 19:12:18 -04:00
barisusakli
93d4a7c1f1 fix notifications to actually get recent 2014-10-17 18:51:58 -04:00
barisusakli
6cb5f9c098 emit stats to registered users only 2014-10-17 18:46:17 -04:00
barisusakli
c5e1f8e0aa user onlineUsers instead of calculating from rooms 2014-10-17 18:40:20 -04:00
barisusakli
7bf655541c cleanup and optimize notifications 2014-10-17 18:31:20 -04:00
barisusakli
cfd7edbf34 added nid 2014-10-17 17:23:47 -04:00
barisusakli
24de757549 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-17 17:20:48 -04:00
barisusakli
b5fb7691cd optimize getUnreadByField
only get the most recent 100 notifications
dont call UserNotifications.getNotifications which does alot more work,
call the db directly
2014-10-17 17:20:45 -04:00
Julian Lam
75aa3f1006 updating markdown minimum version to 0.7.x and up 2014-10-17 13:44:47 -04:00
psychobunny
8ef4ad6f14 Revert "reverting #2259 temporarily until we figure out why logs aren't showing up"
This reverts commit 59b3e6f78f.
2014-10-17 01:47:13 -04:00
psychobunny
59b3e6f78f reverting #2259 temporarily until we figure out why logs aren't showing up 2014-10-17 01:43:00 -04:00
barisusakli
3ba4d2aa2b get correct count only from one of the active users elements 2014-10-17 01:11:55 -04:00
barisusakli
fec84821b7 removed this wasn't the problem after all 2014-10-16 20:03:22 -04:00
barisusakli
762b2fff37 display user count in browsing 2014-10-16 18:04:04 -04:00
barisusakli
df590d01e6 set key as well
not sure if this fixes dupe keys
2014-10-16 02:02:16 -04:00
barisusakli
9e8be432b3 notification changes
-only send a notification when the person you follow creates a topic
-you still get a notification per post if you are following a topic
-changed notifications.push so that it sends the notifications over a
period of time, currently to 50 users per second
-optimized topics.notifyFollowers and
user.notifications.sendTopicNotification, they no longer query the
database for the topic and post data instead they get it as params
-you can no longer follow yourself :)
-changed mongo sortedSetRemove so that it doesn't use $in if there is
only a single value to remove
2014-10-15 21:55:31 -04:00
Steve Lacy
d01497dde3 Merge branch 'master' of https://github.com/stevelacy/NodeBB 2014-10-15 16:27:01 -07:00
Steve Lacy
3ff7719cd4 add hook: filter: user.updateProfile 2014-10-15 16:26:40 -07:00
barisusakli
eb546dfaab temp until package manager is in place 2014-10-15 16:26:50 -04:00
barisusakli
834c4f8ff0 log stack 2014-10-15 16:19:27 -04:00
barisusakli
80489c6564 log post purges 2014-10-15 15:57:37 -04:00
barisusakli
90224d2de3 removed unique for now 2014-10-15 15:25:51 -04:00
barisusakli
f2883c2c9f createIndex helper 2014-10-15 15:11:01 -04:00
barisusakli
1be6a253bf make _key value index unique 2014-10-15 15:07:30 -04:00
barisusakli
72a919e416 time based check 2014-10-15 14:49:11 -04:00
barisusakli
f318f2f815 move out update, should work even if post isnt in dom 2014-10-14 23:57:27 -04:00
barisusakli
b3e83d2f9a update post count on purge 2014-10-14 23:41:58 -04:00
barisusakli
8471fcbd79 fixed typo 2014-10-14 23:36:59 -04:00
barisusakli
4b1adba9ec removed || 1 2014-10-14 23:35:32 -04:00
barisusakli
ffbefda5f7 #2265 upgrade script 2014-10-14 23:35:11 -04:00
barisusakli
761f56aeb1 removed most of the db.sortedSetCards 2014-10-14 23:12:47 -04:00
barisusakli
09bd42b9f6 removed deleted 2014-10-14 22:52:41 -04:00
barisusakli
b1d48df6d8 dont modify counts on soft post delete 2014-10-14 22:51:48 -04:00
barisusakli
5de74914bd moved updateCounters to purge 2014-10-14 22:18:24 -04:00
barisusakli
b65c17c5bc parseInt score 2014-10-14 20:56:52 -04:00
barisusakli
29fcb6c366 fix images in manage/flags and fadeout 2014-10-14 17:03:14 -04:00
barisusakli
040d7b8424 limit unread to 100 tids 2014-10-14 14:27:45 -04:00
barisusakli
0eae679bcd crash fix if field is undefined 2014-10-14 13:52:47 -04:00
barisusakli
be287740f9 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-14 13:29:26 -04:00
barisusakli
62503c16c6 mark category read only if unread 2014-10-14 13:29:23 -04:00
Julian Lam
b5481ceed2 property fixed #2087 2014-10-14 11:48:31 -04:00
Julian Lam
08d4d6b5bf changed indentation for continueLogin method in authentication.js 2014-10-14 11:48:31 -04:00
barisusakli
f463030e76 closes #2264 2014-10-14 03:00:24 -04:00
barisusakli
835c58d27d mark read after infinite scroll
dont mark read if already read
2014-10-14 02:39:20 -04:00
barisusakli
6ff00a935f dont reverse infinite load admin/events 2014-10-13 23:36:08 -04:00
barisusakli
2b0957b8c7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-13 22:25:40 -04:00
barisusakli
40fe40deac removed users:online set
using websockets.getConnectedClients directly
2014-10-13 22:25:34 -04:00
Julian Lam
62d0e08d6a stopped loader from crashing whenever NodeBB restarts 2014-10-13 19:46:42 -04:00
Barış Soner Uşaklı
129a438ebe Merge pull request #2256 from Spiritlebon/master
lint fix
2014-10-13 15:14:35 -04:00
barisusakli
fced152e41 read total from global object 2014-10-13 15:06:21 -04:00
barisusakli
be0d043b2b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-13 14:20:11 -04:00
barisusakli
27833a3e91 min-width for user boxes in admin/manage 2014-10-13 14:20:08 -04:00
Julian Lam
97dba9ae39 fixed #2259 2014-10-13 13:03:17 -04:00
barisusakli
3c25204fdd removed clear log, doesnt work with logrotate-stream 2014-10-13 13:01:16 -04:00
barisusakli
e699c02b65 get less data 2014-10-12 23:46:58 -04:00
barisusakli
10ead05d4b another unused require 2014-10-12 18:04:16 -04:00
barisusakli
8cc1cc0f1b removed unused require 2014-10-12 18:02:28 -04:00
barisusakli
1eb95a71ae no need for $in 2014-10-12 17:40:59 -04:00
Spiritlebon
2b15de63c0 checked number before parseInt 2014-10-12 04:01:35 +02:00
Spiritlebon
35fc175ff6 Lint fix 2014-10-12 03:36:38 +02:00
psychobunny
2c95d8d82e fixed ajaxifying to advanced/logs 2014-10-11 16:30:07 -04:00
psychobunny
91e11e304f added link to forum homepage 2014-10-11 16:25:58 -04:00
barisusakli
feed33f6e2 closes #2100 2014-10-10 22:53:01 -04:00
barisusakli
035c32df66 dont need to pass value on upserts 2014-10-10 19:21:47 -04:00
psychobunny
b0ec0f52a4 cleanup 2014-10-10 16:56:44 -04:00
psychobunny
e6b8c0b32f fixed infinitescroll on flags & tags 2014-10-10 16:43:54 -04:00
psychobunny
7ee6f1d01c added cache buster to all scripts/css in acp 2014-10-10 16:41:03 -04:00
psychobunny
1226a2462a closes #2250 2014-10-10 16:40:05 -04:00
psychobunny
a24dde863b moved src/client/modules/admin/selectable to src/admin/modules/selectable #2250 2014-10-10 16:37:58 -04:00
psychobunny
4268d424a3 fixes require.js error in ACP 2014-10-10 16:34:30 -04:00
barisusakli
e052d8e5c1 log topic move 2014-10-10 15:44:02 -04:00
psychobunny
ffcb324d91 oh bootbox, I forgive you. (I lost hope in this actually being resolved upstream) 2014-10-10 03:17:50 -04:00
psychobunny
cad3f3017c moved iconSelect to admin/modules 2014-10-10 03:12:04 -04:00
barisusakli
e95c68e7d6 fix bookmark 2014-10-09 20:47:27 -04:00
barisusakli
29d90bc67d only use unique cids in isModerator 2014-10-09 19:53:10 -04:00
barisusakli
07a5aeaf15 closes #2251 2014-10-09 19:20:53 -04:00
psychobunny
e9c48f50f9 moved admin search into its own modules 2014-10-09 18:48:35 -04:00
psychobunny
dcd47f7ec5 removed admin/footer.js, moved code to admin.js instead 2014-10-09 18:42:42 -04:00
barisusakli
3819d11be2 #2110 2014-10-09 18:42:08 -04:00
psychobunny
4cbb7e9832 closes #2230
and I actually tested every single one. go me!
2014-10-09 18:26:59 -04:00
psychobunny
c787cd671b migrating tag editing #2230 2014-10-09 18:21:44 -04:00
psychobunny
2f150649ae migrating infinitescroll #2230 2014-10-09 18:19:50 -04:00
barisusakli
142ffc2920 fixed other post 2014-10-09 18:16:29 -04:00
psychobunny
b7bba928a4 migrating home page to new partials #2230 2014-10-09 18:13:24 -04:00
barisusakli
0d95089bfe send array of posts 2014-10-09 18:12:40 -04:00
barisusakli
4190b3c41c sort plugins alphabetically 2014-10-09 17:44:48 -04:00
barisusakli
97b9ba983c read both 2014-10-09 17:31:51 -04:00
psychobunny
00ff032060 migrating categories to new partial templating #2230 2014-10-09 17:25:54 -04:00
psychobunny
73220aaa3d didn't realize mousetrap was being used elsewhere in the code, added back to client again 2014-10-09 17:13:22 -04:00
psychobunny
2906ac9ecf removing the welcome to nodebb panel because...
Well we only originally put it there because we didn't have anything
useful to show on the homepage initially.  Now we have STATS
2014-10-09 17:08:43 -04:00
psychobunny
ce30379c25 fix panel layout on dashboard 2014-10-09 17:07:10 -04:00
barisusakli
4126fcfce4 i fail at this 2014-10-09 16:56:13 -04:00
barisusakli
1a04d8f07d removed duped banned, its in user:banned 2014-10-09 16:41:58 -04:00
barisusakli
5dbd4bcda9 fix status if it was never set before 2014-10-09 16:16:28 -04:00
barisusakli
5d79d2a75a closes #2191
added unique visitors analytics
only update it every hour
2014-10-09 15:06:20 -04:00
barisusakli
cb934acb5d #2111
need latest version from api
2014-10-09 13:50:25 -04:00
psychobunny
206b54c35d nitpicking en_GB 2014-10-09 03:21:58 -04:00
psychobunny
424efbeb06 Yo not enough rep mah homie. 2014-10-09 03:13:52 -04:00
psychobunny
124576f843 this is the canadian i8n, we have a duty to be extra polite. 2014-10-09 03:13:08 -04:00
psychobunny
5dcd610c1a grandma ma grammar
we should really run this stuff through a spellchecker before committing
2014-10-09 03:09:59 -04:00
psychobunny
3f876548ba linting
I also want to lint the rest of this file but I have no idea what will
explode and it's almost 1AM. Next time ;)
2014-10-09 00:44:16 -04:00
psychobunny
7a53205c76 linting and removed unnecessary comment 2014-10-09 00:42:30 -04:00
psychobunny
b17740f8d7 return error message if config is not ready 2014-10-09 00:38:43 -04:00
psychobunny
b42e57bfdd removing leveldb from our dbal
a) It isn't being maintained, especially not by me
b) I haven't seen anybody actually interested in this db software so
there's no real point in supporting it unless we have a few people who
are interested

If you ARE interested though - please contact me and we can figure
something out in future :)
2014-10-09 00:33:09 -04:00
psychobunny
daf967399f fixing my todos so that @barisusakli will sleep tonight. and linting. 2014-10-09 00:18:04 -04:00
psychobunny
d63f2ccd28 removed legacy version of ACP menu code 2014-10-09 00:11:28 -04:00
Julian Lam
c4a5af3b1b fixed issue where a missing config.json would end up suggesting 'undefined' as a base_url 2014-10-08 23:27:31 -04:00
barisusakli
e1c3bc9713 fix teasers 2014-10-08 19:28:36 -04:00
psychobunny
8abf2835a5 removed modules/admin and moved mousetrap + keybindings out of client #2245 2014-10-08 17:06:35 -04:00
psychobunny
339d2b0143 closes #2246 2014-10-08 16:53:22 -04:00
psychobunny
ffc07ff6d2 moved settings module deps into ACP #2245 2014-10-08 16:20:22 -04:00
psychobunny
d759a7d9dd moved semver out of client js files #2245 2014-10-08 16:15:43 -04:00
psychobunny
a2377d4682 removed unused asset 2014-10-08 16:11:56 -04:00
psychobunny
ed60deb3f5 fixed ACP from previous commit 2014-10-08 16:08:35 -04:00
psychobunny
0f759f9df4 ... not sure why that didn't all go through in one commit 2014-10-08 15:37:10 -04:00
psychobunny
b51c90dcb3 doing some reshuffling in public/src
public/src/admin and public/src/client; also some cleanup in
src/meta/js, no need to filter out admin files anymore
2014-10-08 15:36:47 -04:00
barisusakli
006322f386 much faster sitemap
no need to load all the data, when we only use slug and lastposttime
2014-10-08 15:26:18 -04:00
barisusakli
e1f67052d0 closes #2244 2014-10-08 15:06:40 -04:00
psychobunny
0d741f0031 commenting out the reconnection messages, it's annoying if you have 500 users online
not sure if we do need it though, so just leaving it there for now
2014-10-08 15:05:36 -04:00
psychobunny
f35a51e48d making the loading sequence less verbose
in particular, the js stuff all happened sequentially at the same time
so there was no need for multiple messages
2014-10-08 15:05:02 -04:00
psychobunny
6418948570 only need one "meta/css done" message 2014-10-08 14:52:52 -04:00
psychobunny
ae635a0083 minifier.css isn't used 2014-10-08 14:49:23 -04:00
psychobunny
2f53a3acc9 adding .gitignore public/uploads 2014-10-08 14:24:17 -04:00
psychobunny
3a069e028b refactored meta/js
yay I haz sourcemaps on windows now
2014-10-08 14:20:47 -04:00
barisusakli
61c73b7761 fix urls 2014-10-08 14:04:48 -04:00
barisusakli
4dcecbb310 gitignore and folders 2014-10-08 13:48:50 -04:00
barisusakli
1d1625f5c4 closes #2157 2014-10-08 13:46:36 -04:00
psychobunny
b1b25ada4d started removing ajaxify.loadTemplate #2230 2014-10-08 13:17:21 -04:00
psychobunny
2b5c3275f3 upping templates.js, please run npm install 2014-10-08 13:17:02 -04:00
psychobunny
396fecb94a removing an old comment 2014-10-08 12:32:17 -04:00
psychobunny
f149fb0191 linting, TIL that obj.$key is valid syntax 2014-10-08 12:22:39 -04:00
psychobunny
729ed6fbda all your semi-colons are belongs to me 2014-10-08 12:18:32 -04:00
psychobunny
f4b5090738 more linting 2014-10-08 12:11:06 -04:00
psychobunny
27496a08c4 fix emailer crash (line 35) 2014-10-08 12:08:35 -04:00
psychobunny
94ec07eb73 linting 2014-10-08 12:07:33 -04:00
psychobunny
fd95ac096d doing our US friends a favOUr 2014-10-08 03:03:43 -04:00
psychobunny
c2d21de9ac show my full name
wonder why we implemented this. lmao
2014-10-08 03:02:16 -04:00
psychobunny
61b8c7f673 moar typos 2014-10-08 03:01:34 -04:00
psychobunny
5376f07f6c @julianlam is an administator 2014-10-08 02:59:58 -04:00
psychobunny
85e0d1c03f more user-friendly error messages 2014-10-08 02:58:03 -04:00
psychobunny
01b8d1472e closes #2116 2014-10-08 02:40:27 -04:00
psychobunny
d632ba2242 fix post crash from 712bd3938f 2014-10-08 00:32:43 -04:00
psychobunny
4b295decf8 forgot to update meta.title.build in socket.io/meta.js 2014-10-08 00:28:16 -04:00
psychobunny
eb4baf62b5 closes #2235 2014-10-08 00:18:02 -04:00
psychobunny
298625225a use default 403 message for accounts 2014-10-08 00:06:43 -04:00
psychobunny
7bd49a96b2 #2235 2014-10-08 00:02:00 -04:00
psychobunny
3b511b59cb found a duplicate language string 2014-10-08 00:01:40 -04:00
psychobunny
1bdb80ce0a and so does 403 2014-10-07 23:55:56 -04:00
psychobunny
3c97829e85 404 now properly reads error messages 2014-10-07 23:55:13 -04:00
barisusakli
712bd3938f parse post in Topics.reply not in Posts.create
makes importer faster if md plugin is enabled
2014-10-07 20:36:48 -04:00
Julian Lam
e0fd24c087 adding contributing.md to root 2014-10-07 20:33:02 -04:00
Julian Lam
ea2fbcfcfc closed #2242 2014-10-07 19:49:29 -04:00
psychobunny
cf22fad6fd made the acp search a bit more cooler 2014-10-07 17:42:07 -04:00
psychobunny
8a978e46de #2241 2014-10-07 17:07:42 -04:00
psychobunny
7396c363d7 press / to highlight search input box 2014-10-07 17:01:57 -04:00
psychobunny
b2866abf5c another fix for express deprecations 2014-10-07 17:01:55 -04:00
barisusakli
f6f6ca7f76 closes #2132 2014-10-07 16:21:16 -04:00
psychobunny
c57dc25ea7 closes #2241 2014-10-07 15:46:15 -04:00
barisusakli
0912c7a2aa closes #2240 2014-10-07 13:55:40 -04:00
barisusakli
ad4fff649c closes #2234 2014-10-07 13:08:28 -04:00
barisusakli
26cfe4a3c3 fix ban upgrade closes #2239 2014-10-07 12:34:41 -04:00
Julian Lam
0772e8c41f fixed #2236 - using !gte instead of lte 2014-10-07 02:12:22 -04:00
Julian Lam
b481a28b6e sendFile instead of sendfile 2014-10-07 01:54:16 -04:00
barisusakli
394a01fdef closes #2188 2014-10-06 18:19:37 -04:00
psychobunny
c827485de5 more user-friendly message for installing/uninstalling plugins 2014-10-06 18:01:45 -04:00
psychobunny
d7c796fba5 closes #2228 2014-10-06 18:00:42 -04:00
psychobunny
53fdef1d17 fixing deprecation notice for morgan 2014-10-06 17:40:56 -04:00
psychobunny
345896e8eb remove intervals if navigating to a different page in ACP 2014-10-06 17:25:55 -04:00
barisusakli
85da5fb054 closes #2189 2014-10-06 16:48:32 -04:00
barisusakli
6ca06a8e54 closes #2233 2014-10-06 16:16:31 -04:00
barisusakli
348911fd2d closes #2195 2014-10-06 16:03:59 -04:00
barisusakli
bc1281a201 update deps
dbsearch, string, underscore, validator
2014-10-06 14:00:10 -04:00
barisusakli
e35dd60f8f closes #1940 2014-10-06 13:43:41 -04:00
barisusakli
ccf58ed40e closes #2213 2014-10-06 13:11:12 -04:00
barisusakli
258e14e20c closes #2225 2014-10-06 12:41:56 -04:00
psychobunny
2a2490541f some minor linting elsewhere 2014-10-04 18:56:33 -04:00
psychobunny
31b2faf2c5 oops, this one was my bad 2014-10-04 18:54:23 -04:00
psychobunny
84b9b86dd1 no better way to spend your saturday
inb4 linting bonanza
2014-10-04 18:52:39 -04:00
psychobunny
d70aab6a1e more linting 2014-10-04 18:51:18 -04:00
psychobunny
89e4a67e95 linting 2014-10-04 18:50:03 -04:00
psychobunny
1b2ccda40b closes #2231; see #2218 2014-10-04 18:47:56 -04:00
psychobunny
bf852d8329 closes #2078 2014-10-04 18:30:21 -04:00
psychobunny
c14b5e3d3a updating templates.js to 0.1.0 2014-10-04 18:25:50 -04:00
psychobunny
319defd1d2 moved meta:js.compiled event to after minfile is committed to disk, closes #2173 2014-10-04 16:19:45 -04:00
psychobunny
fa8613d09d moving meta:css.compiled further down, currently it gets emitted twice 2014-10-04 16:19:44 -04:00
psychobunny
872e28099f fixing previous commit properly 2014-10-04 16:19:43 -04:00
psychobunny
edf37f3e0c wow, logic fail
if you called the same event twice, it will reduce count anyways (so I
could have event.any(a,b,c) and call a three times and it would
complete.
2014-10-04 16:19:41 -04:00
barisusakli
27c214486b closes #2226 2014-10-04 16:13:37 -04:00
psychobunny
5681d51778 pressing enter in acp search will search for the first match 2014-10-04 16:04:50 -04:00
psychobunny
39de76fa5c rearranging manage/users routes 2014-10-04 15:52:20 -04:00
psychobunny
901ef3d382 fix false positives from showing up in search 2014-10-04 15:48:20 -04:00
psychobunny
39e59ee918 fixed link to plugins page on widgets 2014-10-04 15:40:57 -04:00
psychobunny
ced0087347 hide the plugins and authentication tabs if no plugins detected 2014-10-04 15:38:48 -04:00
psychobunny
307a04c162 closes #2227 2014-10-04 15:35:31 -04:00
psychobunny
ba4392cda0 selectable - shift clicking deselects items in a group 2014-10-04 01:45:46 -04:00
barisusakli
cf5ac4fb74 filter before getting topics 2014-10-03 21:37:43 -04:00
barisusakli
31a1f85a7e removed year from popular 2014-10-03 20:39:10 -04:00
Julian Lam
3accfaebc9 fixing dashboard ACP js to show a more informative message for people running master branch 2014-10-03 20:22:50 -04:00
Julian Lam
03f926c560 updating some deps #2218 2014-10-03 20:22:50 -04:00
barisusakli
bc016321ac closes #2226 2014-10-03 19:34:05 -04:00
psychobunny
ba9da2b256 fixed selectable init for search 2014-10-03 19:00:07 -04:00
psychobunny
a4f7ad3161 admin/manage/users styling 2014-10-03 18:57:33 -04:00
psychobunny
eb5630caa7 refactored selectable to use 'selected' instead of 'dropped'; fixed position relative bug 2014-10-03 18:43:20 -04:00
psychobunny
44b39bc69d forgot tpl in previous commit 2014-10-03 18:43:18 -04:00
psychobunny
04b7dfeb02 updated manage/users to use new drag and drop selector 2014-10-03 18:43:17 -04:00
psychobunny
a6481aefe3 cleanup 2014-10-03 18:43:16 -04:00
psychobunny
7a2ccf6031 hardcoded parentElement by accident
so that's why it doesn't work on other pages. derp
2014-10-03 18:43:15 -04:00
psychobunny
a474f111a3 cleanup 2014-10-03 18:43:14 -04:00
psychobunny
9c67d5742e added event callbacks for onSelected and onUnselected 2014-10-03 18:43:12 -04:00
Julian Lam
cea23454c6 fixed #2220 2014-10-03 18:42:51 -04:00
psychobunny
13c9da6bff selectable - click/shiftclick to select as well 2014-10-03 18:01:50 -04:00
psychobunny
a23b0baf25 closes #2221 2014-10-03 17:58:44 -04:00
psychobunny
bcdb87f488 fixed selectable 2014-10-03 17:56:07 -04:00
psychobunny
06db3c1c3d fixed tag selectability after search 2014-10-03 17:56:05 -04:00
psychobunny
16a4824017 fixed tag searching 2014-10-03 17:56:04 -04:00
psychobunny
e86697b36f closes #2223, ability to select multiple tags 2014-10-03 17:56:03 -04:00
Julian Lam
4b9e4a0109 closed #2224 2014-10-03 17:29:51 -04:00
psychobunny
1644c1f9e9 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-03 17:26:19 -04:00
psychobunny
e211628419 moved module less files out of components and into a separate folder 2014-10-03 17:26:15 -04:00
psychobunny
2db93c9219 created selectable module for selecting / grouping elements 2014-10-03 17:24:27 -04:00
psychobunny
2148e24969 added jquery drag and drop event libs 2014-10-03 16:55:00 -04:00
Julian Lam
60c45d8b9b fixed issue where non-admins would get maintenance mode header if maintenance mode was NOT enabled (logic errors, grrr..) 2014-10-03 16:39:27 -04:00
barisusakli
5db24fbe68 closes #2175 2014-10-03 16:31:53 -04:00
barisusakli
c37cfe4b3f closes #2209 2014-10-03 15:28:51 -04:00
Julian Lam
f5f84d9946 fixing upgrade text to use nodebb executable, removed exposure of option to run without upgrading 2014-10-03 15:28:02 -04:00
barisusakli
740c336480 typo 2014-10-03 15:16:04 -04:00
barisusakli
dba20160ce check length 2014-10-03 15:15:38 -04:00
Julian Lam
1b3b13716a 0.5.2-dev in ACP, just so people know it's not a released version 2014-10-03 15:13:12 -04:00
Julian Lam
19c69980ef Revert "bumping to 0.5.2 for dev purposes"
This reverts commit e6824fd727.
2014-10-03 15:12:58 -04:00
barisusakli
33780e6fdb closes #2133 2014-10-03 14:14:41 -04:00
barisusakli
73d358edc5 faster getTeasers
got rid of getPostIndices
2014-10-03 13:43:51 -04:00
barisusakli
43806e5921 replay ie host fix
https://github.com/NodeBB/NodeBB/pull/2216
2014-10-03 11:48:47 -04:00
barisusakli
0e3c5195db closes #2219 2014-10-03 11:34:12 -04:00
Julian Lam
b7ba6a0d8f fixed #2214 - each individual thread will create its own logrotate write handler, because if one is closed, everything crashes in a cascade effect because we're calling .write() after .end(), bleh. 2014-10-03 01:09:35 -04:00
Julian Lam
ee289c3226 latest translations and fallbacks 2014-10-02 23:51:51 -04:00
psychobunny
b4fb2d62a3 closes #2201 2014-10-02 20:47:59 -04:00
barisusakli
6a996bd718 closes #2210 2014-10-02 20:21:43 -04:00
barisusakli
8737c5a56d removed debug 2014-10-02 19:15:52 -04:00
barisusakli
eab180f305 crash fix 2014-10-02 19:03:03 -04:00
barisusakli
c72c876b04 check value 2014-10-02 18:57:21 -04:00
Julian Lam
4c70a0da4f removing postgres file from databases/ 2014-10-02 18:54:20 -04:00
barisusakli
c12b159bb5 temp debug 2014-10-02 18:51:08 -04:00
psychobunny
806b115782 don't attempt to update graphs if we're not connected 2014-10-02 18:33:08 -04:00
psychobunny
6a6f0a3b78 app.isConnected check 2014-10-02 18:32:36 -04:00
psychobunny
e20747c191 closes #2202 2014-10-02 18:30:51 -04:00
psychobunny
9c8395808c use page visibility api instead of window.onblur
this lib supports most major browsers
2014-10-02 18:29:47 -04:00
Julian Lam
24ac7ba316 better templating and styling for #2099 2014-10-02 18:26:43 -04:00
barisusakli
6f40a731f5 trigger posts loaded so masonry kicks in 2014-10-02 18:18:55 -04:00
barisusakli
2af077544b make sure postcount isnt NaN 2014-10-02 18:10:10 -04:00
barisusakli
32d0e0d7e5 dont update category post coint if topic post count is invalid 2014-10-02 18:06:19 -04:00
psychobunny
974a091f1b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-02 17:55:33 -04:00
psychobunny
7243aebee0 fixed supervisor to ignore committed minified file 2014-10-02 17:55:30 -04:00
barisusakli
6aa53b8323 nextStart changes, fixed move topic notification text 2014-10-02 17:46:43 -04:00
Julian Lam
5ba88b7152 fixed #2208 2014-10-02 17:08:49 -04:00
psychobunny
e5681097f4 added error to minification step 2014-10-02 17:02:14 -04:00
psychobunny
bc4969be5b disable chart tooltips if mobile 2014-10-02 16:40:46 -04:00
psychobunny
9d53de5f70 oops 2014-10-02 16:00:17 -04:00
psychobunny
42d3656ecc fixing 2014-10-02 15:59:05 -04:00
Julian Lam
85048a5f75 closed #2203 2014-10-02 15:58:13 -04:00
Julian Lam
1eb9016a77 fixed #2207 2014-10-02 14:38:52 -04:00
barisusakli
043a73b4ae changed none to hidden 2014-10-02 14:30:54 -04:00
barisusakli
de98df842d priv fix 2014-10-02 13:55:01 -04:00
psychobunny
a67c501eb8 temporary solution for #2206 2014-10-02 13:38:42 -04:00
barisusakli
7b8656ef8b facebook share doesn't display &amp; 2014-10-01 19:00:26 -04:00
barisusakli
b8df95da98 check message 2014-10-01 16:58:04 -04:00
Barış Soner Uşaklı
6165db3e00 Merge pull request #2198 from Schamper/fix/settings-message
Fix settings save message
2014-10-01 16:42:40 -04:00
Schamper
883422760d Fix settings save message 2014-10-01 22:30:22 +02:00
barisusakli
cf252a29a7 closes #2196 2014-10-01 15:32:54 -04:00
751 changed files with 17549 additions and 11273 deletions

View File

@@ -1,4 +1,8 @@
root = true
[*.js, *.css, *.tpl]
[*.js, *.css, *.tpl, *.json]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false

8
.gitignore vendored
View File

@@ -17,9 +17,7 @@ provision.sh
.DS_Store
feeds/recent.rss
# winston?
error.log
events.log
logs/
pidfile
@@ -27,8 +25,10 @@ pidfile
/public/templates
/public/sounds
/public/uploads
# compiled files
/public/stylesheet.css
/public/admin.css
/public/nodebb.min.js
/public/nodebb.min.js.map
/public/nodebb.min.js.map

View File

@@ -1,12 +1,12 @@
services:
- redis-server
- redis-server
before_install:
- 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}"
- npm i --production
- 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
node_js:
- "0.11"
- "0.10"
- "0.11"
- "0.10"
branches:
only:
- master
only:
- master

View File

@@ -6,8 +6,10 @@ file_filter = public/language/<lang>/category.json
source_file = public/language/en_GB/category.json
source_lang = en_GB
trans.ar = public/language/ar/category.json
trans.bn = public/language/bn/category.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/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_lang = en_GB
trans.ar = public/language/ar/login.json
trans.bn = public/language/bn/login.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/login.json
trans.es = public/language/es/login.json
@@ -79,8 +83,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/recent.json
source_lang = en_GB
trans.ar = public/language/ar/recent.json
trans.bn = public/language/bn/recent.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/recent.json
trans.es = public/language/es/recent.json
@@ -115,8 +121,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/unread.json
source_lang = en_GB
trans.ar = public/language/ar/unread.json
trans.bn = public/language/bn/unread.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/unread.json
trans.es = public/language/es/unread.json
@@ -151,8 +159,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/modules.json
source_lang = en_GB
trans.ar = public/language/ar/modules.json
trans.bn = public/language/bn/modules.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/modules.json
trans.es = public/language/es/modules.json
@@ -187,8 +197,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/register.json
source_lang = en_GB
trans.ar = public/language/ar/register.json
trans.bn = public/language/bn/register.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/register.json
trans.es = public/language/es/register.json
@@ -223,8 +235,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/user.json
source_lang = en_GB
trans.ar = public/language/ar/user.json
trans.bn = public/language/bn/user.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/user.json
trans.es = public/language/es/user.json
@@ -259,8 +273,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/global.json
source_lang = en_GB
trans.ar = public/language/ar/global.json
trans.bn = public/language/bn/global.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/global.json
trans.es = public/language/es/global.json
@@ -295,8 +311,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/notifications.json
source_lang = en_GB
trans.ar = public/language/ar/notifications.json
trans.bn = public/language/bn/notifications.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/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_lang = en_GB
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.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@pirate = public/language/en@pirate/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_lang = en_GB
trans.ar = public/language/ar/users.json
trans.bn = public/language/bn/users.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/users.json
trans.es = public/language/es/users.json
@@ -403,8 +425,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/language.json
source_lang = en_GB
trans.ar = public/language/ar/language.json
trans.bn = public/language/bn/language.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/language.json
trans.es = public/language/es/language.json
@@ -439,8 +463,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/pages.json
source_lang = en_GB
trans.ar = public/language/ar/pages.json
trans.bn = public/language/bn/pages.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/pages.json
trans.es = public/language/es/pages.json
@@ -475,8 +501,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/topic.json
source_lang = en_GB
trans.ar = public/language/ar/topic.json
trans.bn = public/language/bn/topic.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/topic.json
trans.es = public/language/es/topic.json
@@ -511,8 +539,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/success.json
source_lang = en_GB
trans.ar = public/language/ar/success.json
trans.bn = public/language/bn/success.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/success.json
trans.es = public/language/es/success.json
@@ -547,8 +577,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/error.json
source_lang = en_GB
trans.ar = public/language/ar/error.json
trans.bn = public/language/bn/error.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/error.json
trans.es = public/language/es/error.json
@@ -583,8 +615,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/tags.json
source_lang = en_GB
trans.ar = public/language/ar/tags.json
trans.bn = public/language/bn/tags.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/tags.json
trans.es = public/language/es/tags.json
@@ -619,8 +653,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/email.json
source_lang = en_GB
trans.ar = public/language/ar/email.json
trans.bn = public/language/bn/email.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/email.json
trans.es = public/language/es/email.json
@@ -655,8 +691,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/search.json
source_lang = en_GB
trans.ar = public/language/ar/search.json
trans.bn = public/language/bn/search.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/search.json
trans.es = public/language/es/search.json
@@ -691,8 +729,10 @@ type = KEYVALUEJSON
source_file = public/language/en_GB/groups.json
source_lang = en_GB
trans.ar = public/language/ar/groups.json
trans.bn = public/language/bn/groups.json
trans.cs = public/language/cs/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@pirate = public/language/en@pirate/groups.json
trans.es = public/language/es/groups.json

46
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,46 @@
# 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
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.
In general, if we can't reproduce it, we can't fix it!
> #### **Important**
> If you believe you have identified a security vulnerability with NodeBB, report it as soon as possible via email to **security@nodebb.org**.
> A member of the NodeBB security team will respond to the issue.
> Please do not post it to the public bug tracker.
## Try the latest version of NodeBB
There is a chance that the issue you are experiencing may have already been fixed.
## Provide the NodeBB version number and git hash
You can find the NodeBB version number in the Admin Control Panel (ACP), as well as the first line output to the shell when running NodeBB
``` plaintext
info: NodeBB v0.5.2-dev Copyright (C) 2013-2014 NodeBB Inc.
info: This program comes with ABSOLUTELY NO WARRANTY.
info: This is free software, and you are welcome to redistribute it under certain conditions.
info:
info: Time: Tue Oct 07 2014 20:25:20 GMT-0400 (EDT)
```
If you are running NodeBB via git, it is also helpful to let the maintainers know what commit hash you are on. To find the commit hash, execute the following command:
``` bash
$ cd /path/to/my/nodebb
$ git rev-parse HEAD
```
If you have downloaded the `.zip` or `.tar.gz` packages from GitHub (or elsewhere), please let us know.
## Attempt to use `git bisect`
If you have installed NodeBB via GitHub clone, are familiar with utilising git, and are willing to help us narrow down the specific commit that causes a bug, consider running `git bisect`.
A full guide can be found here: [Debugging with Git/Binary Search](http://git-scm.com/book/en/Git-Tools-Debugging-with-Git#Binary-Search)

View File

@@ -1,4 +1,6 @@
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/NodeBB/NodeBB?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg)](https://david-dm.org/nodebb/nodebb)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
@@ -9,7 +11,7 @@
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://community.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
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")

145
app.js
View File

@@ -25,10 +25,11 @@ nconf.argv().env();
var fs = require('fs'),
os = require('os'),
url = require('url'),
async = require('async'),
semver = require('semver'),
winston = require('winston'),
path = require('path'),
cluster = require('cluster'),
pkg = require('./package.json'),
utils = require('./public/src/utils.js');
@@ -37,12 +38,12 @@ global.env = process.env.NODE_ENV || 'production';
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {
colorize: true
});
winston.add(winston.transports.File, {
filename: 'logs/error.log',
level: 'error'
colorize: true,
timestamp: function() {
var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
},
level: global.env === 'production' ? 'info' : 'verbose'
});
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
@@ -58,11 +59,13 @@ if(os.platform() === 'linux') {
});
}
// Log GNU copyright info along with server info
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
if (!process.send) {
// 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('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
}
// Alternate configuration file support
var configFile = path.join(__dirname, '/config.json'),
@@ -73,7 +76,7 @@ if (nconf.get('config')) {
}
configExists = fs.existsSync(configFile);
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
start();
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
setup();
@@ -81,8 +84,6 @@ if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf
upgrade();
} else if (nconf.get('reset')) {
reset();
} else {
displayHelp();
}
function loadConfig() {
@@ -93,10 +94,14 @@ function loadConfig() {
nconf.defaults({
base_dir: __dirname,
themes_path: path.join(__dirname, 'node_modules'),
upload_url: '/uploads/',
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
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
@@ -104,21 +109,34 @@ function loadConfig() {
}
function start() {
loadConfig();
winston.info('Time: ' + new Date());
winston.info('Initializing NodeBB v' + pkg.version);
winston.info('* using configuration stored in: ' + configFile);
var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
winston.info('* using ' + nconf.get('database') +' store ' + storeLocation);
winston.info('* using themes stored in: ' + nconf.get('themes_path'));
if (process.env.NODE_ENV === 'development') {
winston.info('Base Configuration OK.');
// nconf defaults, if not set in config
if (!nconf.get('upload_path')) {
nconf.set('upload_path', '/public/uploads');
}
// 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);
var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
winston.verbose('* using %s store %s', nconf.get('database'), storeLocation);
winston.verbose('* using themes stored in: %s', nconf.get('themes_path'));
}
var webserver = require('./src/webserver');
require('./src/database').init(function(err) {
if (err) {
@@ -128,7 +146,6 @@ function start() {
var meta = require('./src/meta');
meta.configs.init(function () {
var templates = require('templates.js'),
webserver = require('./src/webserver'),
sockets = require('./src/socket.io'),
plugins = require('./src/plugins'),
upgrade = require('./src/upgrade');
@@ -137,22 +154,30 @@ function start() {
upgrade.check(function(schema_ok) {
if (schema_ok || nconf.get('check-schema') === false) {
webserver.init();
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() {
webserver.init(function() {
// If this callback is called, this means that loader.js is used
process.on('message', function(msg) {
if (msg === 'bind') {
webserver.listen();
}
});
async.waterfall([
async.apply(meta.themes.setupPaths),
async.apply(plugins.ready),
async.apply(meta.templates.compile),
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);
@@ -166,18 +191,20 @@ function start() {
case 'js-propagate':
meta.js.cache = message.cache;
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;
case 'css-propagate':
meta.css.cache = message.cache;
meta.css.acpCache = message.acpCache;
winston.info('[cluster] Stylesheet propagated to worker ' + cluster.worker.id);
meta.css.hash = message.hash;
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
break;
}
});
process.on('uncaughtException', function(err) {
winston.error(err.message);
winston.error(err.stack);
console.log(err.stack);
meta.js.killMinifier();
@@ -185,9 +212,7 @@ function start() {
});
} else {
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' node app --upgrade');
winston.warn('To ignore this error (not recommended):');
winston.warn(' node app --no-check-schema');
winston.warn(' ./nodebb upgrade');
process.exit();
}
});
@@ -244,7 +269,7 @@ function reset() {
process.exit();
}
if (nconf.get('themes')) {
if (nconf.get('theme')) {
resetThemes();
} else if (nconf.get('plugin')) {
resetPlugin(nconf.get('plugin'));
@@ -259,12 +284,16 @@ function reset() {
if (!err) {
winston.info('[reset] Reset complete.');
} 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();
});
} else {
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();
}
});
}
@@ -301,14 +330,14 @@ function resetPlugin(pluginId) {
var db = require('./src/database');
db.setRemove('plugins:active', pluginId, function(err, result) {
if (err || result !== 1) {
winston.error('[reset] Could not disable plugin: ' + pluginId);
winston.error('[reset] Could not disable plugin: %s', pluginId);
if (err) {
winston.error('[reset] Encountered error: ' + err.message);
winston.error('[reset] Encountered error: %s', err.message);
} else {
winston.info('[reset] Perhaps it has already been disabled?');
}
} else {
winston.info('[reset] Plugin `' + pluginId + '` disabled');
winston.info('[reset] Plugin `%s` disabled', pluginId);
}
process.exit();
@@ -359,16 +388,4 @@ function restart() {
winston.error('[app] Could not restart server. Shutting down.');
shutdown(1);
}
}
function displayHelp() {
winston.info('Usage: node app [options] [arguments]');
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
winston.info('');
winston.info('Options:');
winston.info(' --help displays this usage information');
winston.info(' --setup configure your environment and setup NodeBB');
winston.info(' --upgrade upgrade NodeBB, first read: https://docs.nodebb.org/en/latest/upgrading/');
winston.info(' --reset soft resets NodeBB; disables all plugins and restores selected theme to Vanilla');
winston.info(' --start manually start NodeBB (default when no options are given)');
}
}

View File

@@ -1,30 +1,43 @@
'use strict';
var bcrypt = require('bcryptjs'),
async = require('async');
var bcrypt = require('bcryptjs');
process.on('message', function(m) {
if (m.type === 'hash') {
hash(m.rounds, m.password);
} else if (m.type === 'compare') {
compare(m.password, m.hash);
process.on('message', function(msg) {
if (msg.type === 'hash') {
hashPassword(msg.password, msg.rounds);
} else if (msg.type === 'compare') {
compare(msg.password, msg.hash);
}
});
function hash(rounds, password) {
bcrypt.genSalt(rounds, function(err, salt) {
if (err) {
return process.send({type:'hash', err: {message: err.message}});
function hashPassword(password, rounds) {
async.waterfall([
function(next) {
bcrypt.genSalt(parseInt(rounds, 10), next);
},
function(salt, next) {
bcrypt.hash(password, salt, next);
}
bcrypt.hash(password, salt, function(err, hash) {
process.send({type:'hash', err: err ? {message: err.message} : null, hash: hash, password: password});
});
], 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) {
process.send({type:'compare', err: err ? {message: err.message} : null, hash: hash, password: password, result: res});
});
if (err) {
process.send({err: err.message});
return process.disconnect();
}
process.send({result: res});
process.disconnect();
});
}

View File

@@ -2,7 +2,7 @@
{
"name": "Announcements",
"description": "Announcements regarding our community",
"bgColor": "#0059B2",
"bgColor": "#fda34b",
"color": "#fff",
"icon" : "fa-bullhorn",
"order": 1
@@ -10,89 +10,25 @@
{
"name": "General Discussion",
"description": "A place to talk about whateeeever you want",
"bgColor": "#0059B2",
"bgColor": "#59b3d0",
"color": "#fff",
"icon" : "fa-comment",
"icon" : "fa-comments-o",
"order": 2
},
{
"name": "NodeBB Development",
"description": "NodeBB development news and announcements",
"bgColor": "#0059B2",
"color": "#fff",
"icon" : "fa-github",
"order": 3
},
{
"name": "Blogs",
"description": "Blog posts from individual members",
"bgColor": "#0059B2",
"bgColor": "#86ba4b",
"color": "#fff",
"icon" : "fa-pencil",
"icon" : "fa-newspaper-o",
"order": 4
},
{
"name": "Feature Requests",
"description": "Got a feature request you'd like to see? Give us a shout here.",
"bgColor": "#ab1290",
"name": "Comments & Feedback",
"description": "Got a question? Ask away!",
"bgColor": "#e95c5a",
"color": "#fff",
"icon" : "fa-lightbulb-o",
"order": 5
},
{
"name": "Bug Reports",
"description": "Having trouble with NodeBB? Let us know...",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-cogs",
"order": 6
},
{
"name": "NodeBB Plugins",
"description": "Enhance your NodeBB with plugins!",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-plus-square",
"order": 7
},
{
"name": "NodeBB Link Exchange",
"description": "Link exchange",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-exchange",
"order": 8
},
{
"name": "News",
"description": "News from around the world",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-globe",
"order": 9
},
{
"name": "Movies",
"description": "Discuss the latest movies here",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-film",
"order": 10
},
{
"name": "Games",
"description": "Discuss the latest games here",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-crosshairs",
"order": 11
},
{
"name": "Random",
"description": "Anything and (almost) everything welcome!",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-beer",
"order": 12
"icon" : "fa-question",
"order": 3
}
]

View File

@@ -15,6 +15,14 @@
"field": "initialPostDelay",
"value": 10
},
{
"field": "newbiePostDelay",
"value": 120
},
{
"field": "newbiePostDelayThreshold",
"value": 3
},
{
"field": "minimumPostLength",
"value": 8

View File

@@ -12,7 +12,7 @@ function success(err, config, callback) {
return callback(new Error('aborted'));
}
var database = (config.redis || config.mongo || config.level) ? config.secondary_database : config.database;
var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
function dbQuestionsSuccess(err, databaseConfig) {
if (!databaseConfig) {
@@ -39,15 +39,11 @@ function success(err, config, callback) {
password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database']
};
} else if (database === 'level') {
config.level = {
database: databaseConfig['level:database']
};
} else {
return callback(new Error('unknown database : ' + database));
}
var allQuestions = questions.redis.concat(questions.mongo.concat(questions.level));
var allQuestions = questions.redis.concat(questions.mongo);
for(var x=0;x<allQuestions.length;x++) {
delete config[allQuestions[x].name];
}
@@ -67,12 +63,6 @@ function success(err, config, callback) {
} else {
prompt.get(questions.mongo, dbQuestionsSuccess);
}
} else if(database === 'level') {
if (config['level:database']) {
dbQuestionsSuccess(null, config);
} else {
prompt.get(questions.level, dbQuestionsSuccess);
}
} else {
return callback(new Error('unknown database : ' + database));
}

317
loader.js
View File

@@ -1,18 +1,24 @@
"use strict";
'use strict';
var nconf = require('nconf'),
fs = require('fs'),
url = require('url'),
path = require('path'),
cluster = require('cluster'),
fork = require('child_process').fork,
async = require('async'),
logrotate = require('logrotate-stream'),
pkg = require('./package.json'),
pidFilePath = __dirname + '/pidfile',
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
silent = process.env.NODE_ENV !== 'development' ? true : false,
numCPUs,
silent = process.env.NODE_ENV !== 'development',
numProcs,
workers = [],
Loader = {
timesStarted: 0,
shutdown_queue: [],
js: {
cache: undefined,
map: undefined
@@ -23,187 +29,211 @@ var nconf = require('nconf'),
}
};
Loader.init = function() {
cluster.setupMaster({
exec: "app.js",
silent: silent
});
Loader.init = function(callback) {
if (silent) {
console.log = function(value) {
output.write(value + '\n');
};
}
cluster.on('fork', function(worker) {
worker.on('message', function(message) {
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
});
}
process.on('SIGHUP', Loader.restart);
process.on('SIGUSR2', Loader.reload);
process.on('SIGTERM', Loader.stop);
callback();
};
if (Loader.css.cache) {
worker.send({
action: 'css-propagate',
cache: Loader.css.cache,
acpCache: Loader.css.acpCache
});
}
Loader.displayStartupMessages = function(callback) {
console.log('');
console.log('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
console.log('');
callback();
};
worker.send('bind');
Loader.addWorkerEvents = function(worker) {
// 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;
var 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;
var 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':
notifyWorkers(message);
break;
}
}
});
});
cluster.on('listening', function(worker) {
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.');
});
function notifyWorkers(msg) {
Object.keys(cluster.workers).forEach(function(id) {
cluster.workers[id].send(msg);
});
}
cluster.on('exit', function(worker, code, signal) {
worker.on('exit', function(code, signal) {
if (code !== 0) {
if (Loader.timesStarted < numCPUs*3) {
if (Loader.timesStarted < numProcs*3) {
Loader.timesStarted++;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
}
Loader.crashTimer = setTimeout(function() {
Loader.timesStarted = 0;
});
}, 10000);
} else {
console.log(numCPUs*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();
}
}
console.log('[cluster] Child Process (' + worker.process.pid + ') has exited (code: ' + code + ')');
if (!worker.suicide) {
console.log('[cluster] Spinning up another process...')
console.log('[cluster] Child Process (' + worker.pid + ') has exited (code: ' + code + ', signal: ' + signal +')');
if (!(worker.suicide || code === 0)) {
console.log('[cluster] Spinning up another process...');
var wasPrimary = parseInt(worker.id, 10) === Loader.primaryWorker;
cluster.fork({
handle_jobs: wasPrimary
});
forkWorker(worker.index, worker.isPrimary);
}
});
process.on('SIGHUP', Loader.restart);
worker.on('message', function(message) {
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
});
}
Loader.start();
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.notifyWorkers({
action: 'js-propagate',
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;
Loader.notifyWorkers({
action: 'css-propagate',
cache: message.cache,
acpCache: message.acpCache,
hash: message.hash
}, worker.pid);
break;
}
}
});
};
Loader.start = function() {
var worker;
Loader.start = function(callback) {
numProcs = getPorts().length;
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
Loader.primaryWorker = 1;
for (var x=0; x<numProcs; ++x) {
forkWorker(x, x === 0);
}
for(var x=0;x<numCPUs;x++) {
// Only the first worker sets up templates/sounds/jobs/etc
worker = cluster.fork({
cluster_setup: x === 0,
handle_jobs: x === 0
});
if (callback) {
callback();
}
};
// Logging
if (silent) {
worker.process.stdout.pipe(output);
}
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);
}
}
Loader.restart = function(callback) {
// Slate existing workers for termination -- welcome to death row.
Loader.shutdown_queue = Loader.shutdown_queue.concat(Object.keys(cluster.workers));
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.reload = function() {
Object.keys(cluster.workers).forEach(function(worker_id) {
cluster.workers[worker_id].send({
workers.forEach(function(worker) {
worker.send({
action: 'reload'
});
});
};
Loader.stop = function() {
killWorkers();
// 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({
file: path.join(__dirname, '/config.json')
});
numCPUs = nconf.get('cluster') || 1;
numCPUs = (numCPUs === true) ? require('os').cpus().length : numCPUs;
if (nconf.get('daemon') !== false) {
if (fs.existsSync(pidFilePath)) {
try {
@@ -215,9 +245,20 @@ if (nconf.get('daemon') !== false) {
}
}
require('daemon')();
require('daemon')({
stdout: process.stdout,
stderr: process.stderr
});
fs.writeFile(__dirname + '/pidfile', process.pid);
}
Loader.init();
async.series([
Loader.init,
Loader.displayStartupMessages,
Loader.start
], function(err) {
if (err) {
console.log('[loader] Error during startup: ' + err.message);
}
});

View File

@@ -8,30 +8,42 @@ var uglifyjs = require('uglify-js'),
crypto = require('crypto'),
Minifier = {
js: {},
css: {}
js: {}
};
/* Javascript */
Minifier.js.minify = function (scripts, relativePath, minify, callback) {
var options = {
compress: false
};
Minifier.js.minify = function (scripts, minify, callback) {
scripts = scripts.filter(function(file) {
return fs.existsSync(file);
});
if (!minify) {
options.sourceMapURL = '/nodebb.min.js.map';
options.outSourceMap = 'nodebb.min.js.map';
options.sourceRoot = relativePath;
options.mangle = false;
options.prefix = 1;
if (minify) {
minifyScripts(scripts, function() {
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 {
var minified = uglifyjs.minify(scripts, options),
var minified = uglifyjs.minify(scripts, {
compress: false
}),
hasher = crypto.createHash('md5'),
hash;
@@ -43,34 +55,26 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
payload: hash.slice(0, 8)
});
callback({
js: minified.code,
map: minified.map
});
callback(minified.code);
} catch(err) {
process.send({
type: 'error',
payload: err
payload: err.message
});
}
};
}
process.on('message', function(payload) {
switch(payload.action) {
case 'js':
Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) {
process.stdout.write(data.js);
function concatenateScripts(scripts, callback) {
async.map(scripts, fs.readFile, function(err, scripts) {
if (err) {
process.send({
type: 'end',
payload: 'script'
type: 'error',
payload: err
});
}
process.stderr.write(data.map);
process.send({
type: 'end',
payload: 'mapping'
});
});
break;
}
});
scripts = scripts.join(require('os').EOL + ';');
callback(scripts);
});
}

25
nodebb
View File

@@ -12,10 +12,11 @@ fi
function pidExists() {
if [ -e "pidfile" ];
then
kill -s 0 $(cat pidfile);
if [ !$? ];
if ps -p $(cat pidfile) > /dev/null
then return 1;
else return 0;
else
rm ./pidfile;
return 0;
fi
else
return 0;
@@ -29,7 +30,7 @@ case "$1" in
echo " \"./nodebb log\" to view server output";
# Start the loader daemon
"$node" loader -d "$@"
"$node" loader "$@"
;;
stop)
@@ -43,7 +44,7 @@ case "$1" in
fi
;;
reload|restart)
restart)
pidExists;
if [ 0 -eq $? ];
then
@@ -54,6 +55,17 @@ case "$1" in
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)
pidExists;
if [ 0 -eq $? ];
@@ -80,7 +92,6 @@ case "$1" in
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
"$node" app --upgrade
touch package.json
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
;;
setup)
@@ -102,7 +113,7 @@ case "$1" in
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl|less' -- app "$@"
NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@"
;;
*)

2610
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPLv3 or later",
"description": "NodeBB Forum",
"version": "0.5.2",
"version": "0.6.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -16,51 +16,54 @@
},
"dependencies": {
"async": "~0.9.0",
"bcryptjs": "~2.0.1",
"body-parser": "^1.0.1",
"compression": "^1.0.1",
"bcryptjs": "~2.1.0",
"body-parser": "^1.9.0",
"compression": "^1.1.0",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-multiparty": "^1.0.1",
"cookie-parser": "^1.0.1",
"cron": "~1.0.4",
"csurf": "^1.1.0",
"connect-multiparty": "^1.2.4",
"cookie-parser": "^1.3.3",
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0",
"express": "4.6.1",
"express-session": "^1.0.2",
"gm": "1.16.0",
"gravatar": "1.0.6",
"less": "~1.7.3",
"express": "^4.9.5",
"express-session": "^1.8.2",
"gm": "1.17.0",
"gravatar": "^1.1.0",
"heapdump": "^0.3.0",
"less": "^2.0.0",
"logrotate-stream": "^0.2.3",
"mkdirp": "~0.5.0",
"morgan": "^1.0.0",
"nconf": "~0.6.7",
"nodebb-plugin-dbsearch": "0.0.13",
"nodebb-plugin-markdown": "~0.6.3",
"nodebb-plugin-mentions": "~0.6.0",
"morgan": "^1.3.2",
"nconf": "~0.7.1",
"nodebb-plugin-dbsearch": "^0.1.0",
"nodebb-plugin-markdown": "^0.8.0",
"nodebb-plugin-mentions": "^0.7.0",
"nodebb-plugin-soundpack-default": "~0.1.1",
"nodebb-theme-lavender": "~0.1.0",
"nodebb-theme-vanilla": "~0.1.0",
"nodebb-widget-essentials": "~0.1.1",
"npm": "^1.4.6",
"passport": "~0.2.0",
"nodebb-plugin-spam-be-gone": "^0.4.0",
"nodebb-theme-lavender": "^0.2.0",
"nodebb-theme-vanilla": "^0.2.0",
"nodebb-widget-essentials": "~0.2.0",
"npm": "^2.1.4",
"passport": "^0.2.1",
"passport-local": "1.0.0",
"prompt": "~0.2.11",
"request": "~2.38.0",
"prompt": "^0.2.14",
"request": "^2.44.0",
"rimraf": "~2.2.6",
"rss": "~0.3.2",
"semver": "~2.3.1",
"serve-favicon": "^2.0.1",
"sitemap": "~0.7.3",
"socket.io": "0.9.17",
"socket.io-client": "0.9.17",
"socket.io-wildcard": "~0.1.1",
"string": "~1.9.0",
"templates.js": "0.0.14",
"rss": "^1.0.0",
"semver": "^4.0.3",
"serve-favicon": "^2.1.5",
"sitemap": "^0.7.4",
"socket.io": "^1.2.1",
"socket.io-client": "^1.2.1",
"socket.io-redis": "^0.1.3",
"socketio-wildcard": "~0.1.1",
"string": "^3.0.0",
"templates.js": "0.1.9",
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"underscore": "~1.6.0",
"validator": "~3.16.1",
"winston": "~0.7.2",
"underscore": "~1.7.0",
"validator": "~3.26.0",
"winston": "^0.8.1",
"xregexp": "~2.0.0"
},
"devDependencies": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 861 B

View File

@@ -1,8 +1,8 @@
{
"new_topic_button": "موضوع جديد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
"browsing": "تصفح",
"no_replies": "لم يرد أحد",
"share_this_category": "انشر هذه الفئة",
"ignore": "Ignore"
"ignore": "تجاهل"
}

View File

@@ -1,23 +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": "Thank you for registering with %1!",
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
"welcome.cta": "Click here to confirm your email address",
"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.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Click here to reset your password",
"digest.notifications": "You have some 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.daily.no_topics": "There have been no active topics in the past day",
"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!"
"password-reset-requested": "تم طلب إعادة تعيين كلمة السر - %1!",
"welcome-to": "مرحبًا بك في %1",
"greeting_no_name": "مرحبًا",
"greeting_with_name": "مرحبًا بك يا %1",
"welcome.text1": "شكرًا على تسجيلك في %1!",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.",
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة السرالخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة السر، المرجو تتبع هذا الرابط.",
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
"digest.notifications": "لديك تنبيهات غير مقروءة من طرف %1:",
"digest.latest_topics": "آخر المستجدات من %1",
"digest.cta": "انقر هنا لمشاهدة %1",
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
"notif.chat.subject": "هناك محادثة جديدة من %1",
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
"test.text1": "هذه رسالة تجريبية للتأكد من صحة إعدادت الرسائل الإلكترونية في منتدى NodeBB خاصتك.",
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
"closing": "شكرًا لك!"
}

View File

@@ -1,63 +1,67 @@
{
"invalid-data": "بيانات غير صالحة",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account! Please login or register!",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",
"invalid-uid": "Invalid User ID",
"account-locked": "تم إقفال حسابكم مؤقتًا.",
"search-requires-login": "البحث في المنتدى يستلزم توفرك على حساب! المرجو تسجيل دخولك أو إنشاء حساب!",
"invalid-cid": "قائمة غير موجودة",
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
"invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data",
"invalid-title": "عنوان غير صحيح",
"invalid-user-data": "بيانات المستخدم غير صحيحة",
"invalid-password": "كلمة السر غير مقبولة",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-pagination-value": "Invalid pagination value",
"username-taken": "اسم المستخدم ماخوذ",
"email-taken": "البريد الالكتروني ماخوذ",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short",
"username-too-long": "Username too long",
"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": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist",
"no-group": "Group doesn't exist",
"no-user": "المستخدم لا يوجد",
"no-teaser": "Teaser doesn't exist",
"no-privileges": "You don't have enough privileges for this action.",
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Category disabled",
"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": "Please enter a longer post. At least %1 characters.",
"title-too-short": "Please enter a longer title. At least %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 every %1 seconds.",
"file-too-big": "Maximum allowed file size is %1 kbs",
"cant-vote-self-post": "You cannot vote for your own post",
"already-favourited": "You already favourited this post",
"already-unfavourited": "You already unfavourited this post",
"cant-ban-other-admins": "You can't ban other admins!",
"content-too-short": "المرجو إدخال موضوع أطول من هذا. يجب أن تتوفر المواضيع على %1 حروف على الأقل.",
"title-too-short": "المرجو إدخال عنوان أطول من هذا. يجب أن تتوفر العناوين على %1 حروف على الأقل.",
"title-too-long": "المرجو إدخال عنوان أقصر من هذا. يجب ألا تتجاوز العناوين %1 حرفًا.",
"too-many-posts": "يمكنك إنشاء المواضيع بمعدل موضوع واحد كل %1 ثانية - المرجو الانتظار قليلا.",
"too-many-posts-newbie": "بصفتك مستخدمًا جديدًا، يمكنك إنشاء المواضيع بمعدل موضوع واحد كل %1 ثانية حتى تحصل على سمعة %2 - المرجو الانتظار قليلا.",
"file-too-big": "حجم الملفات الأقصى المسموح به هو %1 كب - المرجو رفع ملف أقل حجمًا",
"cant-vote-self-post": "لايمكنك التصويت لردك",
"already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
"already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"invalid-image-type": "نوع الصورة ممنوع",
"group-name-too-short": "Group name too short",
"group-already-exists": "Group already exists",
"group-name-change-not-allowed": "Group name change not allowed",
"post-already-deleted": "Post already deleted",
"post-already-restored": "Post already restored",
"topic-already-deleted": "Topic already deleted",
"topic-already-restored": "Topic already restored",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled",
"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": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system 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-flag": "Yo 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."
"signature-too-long": "عذرا، توقيعك يجب ألا يتجاوز %1 حرفًا",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل"
}

View File

@@ -10,66 +10,68 @@
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
"register": "تسجيل",
"login": "دخول",
"please_log_in": "Please Log In",
"please_log_in": "المرجو تسجيل الدخول",
"logout": "تسجيل الخروج",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back",
"you_have_successfully_logged_in": "You have successfully logged in",
"posting_restriction_info": "إضافة مشاركات جديد حكر على الأعضاء المسجلين، انقر هنا لتسجيل الدخول.",
"welcome_back": "مرحبًا بعودتك",
"you_have_successfully_logged_in": "تم سجيل الدخول بنجاح",
"save_changes": "حفظ التغييرات",
"close": "أغلق",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"pagination.enter_index": "Enter index",
"header.admin": شرف",
"pagination": "الصفحات",
"pagination.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي",
"header.admin": دبر نظام",
"header.recent": "حديث",
"header.unread": "غير مقروء",
"header.tags": "Tags",
"header.popular": "Popular",
"header.tags": "وسم",
"header.popular": "الأكثر شهرة",
"header.users": "المستخدمين",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.chats": "المحادثات",
"header.notifications": "التنبيهات",
"header.search": "بحث",
"header.profile": "ملف",
"notifications.loading": "تحميل التبليغات",
"chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
"previouspage": "Previous Page",
"nextpage": "Next Page",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",
"users": "Users",
"topics": "Topics",
"posts": "Posts",
"views": "Views",
"reputation": "Reputation",
"read_more": "read more",
"posted_ago_by_guest": "posted %1 by Guest",
"posted_ago_by": "posted %1 by %2",
"posted_ago": "posted %1",
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
"posted_in_ago_by": "posted in %1 %2 by %3",
"posted_in_ago": "posted in %1 %2",
"replied_ago": "replied %1",
"user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1",
"last_edited_by_ago": "last edited by %1 %2",
"norecentposts": "No Recent Posts",
"norecenttopics": "No Recent Topics",
"recentposts": "Recent Posts",
"recentips": "Recently Logged In IPs",
"away": "Away",
"dnd": "Do not Disturb",
"invisible": "Invisible",
"offline": "Offline",
"email": "Email",
"language": "Language",
"guest": "Guest",
"guests": "Guests",
"updated.title": "Forum Updated",
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
"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": "عنوان البريد الإلكتروني",
"language": "اللغة",
"guest": "زائر",
"guests": "الزوار",
"updated.title": "تم تحديث المنتدى",
"updated.message": "لقد تم تحديث المنتدى إلى آخر نسخة للتو. المرجو إعادة تحميل الصفحة.",
"privacy": "الخصوصية",
"delete_all": "حذف الكل"
}

View File

@@ -1,7 +1,8 @@
{
"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"
"groups": "المجموعات",
"view_group": "معاينة المجموعة",
"details.title": "تفاصيل المجموعة",
"details.members": "لائحة الأعضاء",
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
"details.latest_posts": "آخر المشاركات"
}

View File

@@ -1,9 +1,9 @@
{
"username": "Username / Email",
"username": "اسم المستخدم / عنوان البريد الإلكتروني",
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
"login_successful": "قمت بتسجيل الدخول بنجاح!",
"dont_have_account": "Don't have an account?"
"dont_have_account": "لم تفتح حسابك بعد؟"
}

View File

@@ -1,22 +1,21 @@
{
"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.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "See all Chats",
"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.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?"
"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": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟"
}

View File

@@ -1,26 +1,27 @@
{
"title": "إعلام",
"no_notifs": "You have no new notifications",
"see_all": "See all Notifications",
"back_to_home": "Back to %1",
"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": "New Notification",
"you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "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> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...",
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
"email-confirm-sent": "Confirmation email sent."
"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>%1</strong> أضاف مشاركتك في <strong>%2</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> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> ذكرَ اسمك في <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error": "حدث خطأ ما...",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-sent": "تم إرسال بريد التفعيل."
}

View File

@@ -1,16 +1,18 @@
{
"home": "Home",
"unread": "Unread Topics",
"popular": "Popular Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"tags": "Topics tagged under \"%1\"",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
"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": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
}

View File

@@ -1,9 +1,9 @@
{
"title": "Recent",
"title": "الحديثة",
"day": "يوم",
"week": "أسبوع",
"month": "شهر",
"year": "Year",
"alltime": "All Time",
"no_recent_topics": "There are no recent topics."
"year": "سنة",
"alltime": "دائمًا",
"no_recent_topics": "لاوجود لمشاركات جديدة"
}

View File

@@ -12,7 +12,7 @@
"confirm_password": "تأكيد كلمة السر",
"confirm_password_placeholder": "تأكيد كلمة السر",
"register_now_button": "قم بالتسجيل الآن",
"alternative_registration": "التسجيل البديلة",
"terms_of_use": "Terms of Use",
"agree_to_terms_of_use": "I agree to the Terms of Use"
"alternative_registration": "طريقة تسجيل بديلة",
"terms_of_use": "قوانين الاستخدام",
"agree_to_terms_of_use": "أوافق على قوانين الاستخدام"
}

View File

@@ -3,12 +3,12 @@
"update_password": "تحديث كلمة السر",
"password_changed.title": "تم تغير كلمة السر",
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "إعادة تعيين رمز غير صحيح",
"wrong_reset_code.message": امز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمز جديد</a>",
"wrong_reset_code.title": "رمز إعادة التعيين غير صحيح",
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
"new_password": "كلمة السر الجديدة",
"repeat_password": "تأكيد كلمة السر",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "Enter Email Address",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
}

View File

@@ -1,4 +1,4 @@
{
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
"no-matches": "No posts found"
"results_matching": "%1 نتيجة (نتائج) موافقة ل \"%2\", (%3 ثواني)",
"no-matches": "لم يتم إيجاد أية مشاركات"
}

View File

@@ -1,6 +1,6 @@
{
"success": "Success",
"topic-post": "You have successfully posted.",
"authentication-successful": "Authentication Successful",
"settings-saved": "Settings saved!"
"success": "نجاح",
"topic-post": "لقد تمت الإضافة بنجاح.",
"authentication-successful": "تم تسجيل الدخول بنجاح",
"settings-saved": "تم حفظ التغييرات!"
}

View File

@@ -1,6 +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.",
"no_tags": "There are no tags yet."
"no_tag_topics": "لاوجود لمواضيع تحمل هذا الوسم.",
"tags": "بطاقات",
"enter_tags_here": "أدخل البطاقات هنا. اضغط ENTER بعد كل بطاقة.",
"enter_tags_here_short": "أدخل البطاقات...",
"no_tags": "لاتوجد هناك بطاقات بعد."
}

View File

@@ -1,95 +1,96 @@
{
"topic": "موضوع",
"topic_id": "Topic ID",
"topic_id_placeholder": "Enter topic ID",
"topic_id": "معرف الموضوع",
"topic_id_placeholder": "أدخل معرف الموضوع",
"no_topics_found": "لا توجد مواضيع !",
"no_posts_found": "No posts found!",
"post_is_deleted": "This post is deleted!",
"profile": "ملف",
"posted_by": "Posted by %1",
"posted_by_guest": "Posted by Guest",
"no_posts_found": "لا توجد مشاركات!",
"post_is_deleted": "هذه المشاركة محذوفة!",
"profile": "الملف الشخصي",
"posted_by": "كتب من طرف %1",
"posted_by_guest": "كتب من طرف زائر",
"chat": "دردشة",
"notify_me": نبه من ردود جديدة في هذا الموضوع",
"notify_me": لق تنبيهات بالردود الجديدة في هذا الموضوع",
"quote": "اقتبس",
"reply": "رد",
"edit": "صحح",
"edit": "تعديل",
"delete": "حذف",
"purge": "Purge",
"restore": "Restore",
"purge": "تطهير",
"restore": "استعادة",
"move": "انقل",
"fork": "فرع",
"banned": "محظور",
"link": "رابط",
"share": "شارك",
"share": "نشر",
"tools": "أدوات",
"flag": "Flag",
"locked": "Locked",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch",
"watch.title": "Be notified of new replies in this topic",
"share_this_post": "Share this Post",
"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": "Unpin Topic",
"thread_tools.lock": "قفل الموضوع",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.unpin": "إلغاء تعليق الموضوع",
"thread_tools.lock": "أقفل الموضوع",
"thread_tools.unlock": "إلغاء إقفال الموضوع",
"thread_tools.move": "نقل الموضوع",
"thread_tools.move_all": "Move All",
"thread_tools.fork": "تفرع الموضوع",
"thread_tools.move_all": "نقل الكل",
"thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"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?",
"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": "الفئات المجلدة رمادية",
"disabled_categories_note": "الفئات المعطلة رمادية",
"confirm_move": "انقل",
"confirm_fork": "فرع",
"favourite": "المفضل",
"favourite": "إضافة إلى المفضلة",
"favourites": "المفضلة",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
"loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع",
"move_topics": "Move Topics",
"move_post": "نقل الرد",
"post_moved": "Post moved!",
"move_topics": "نقل المواضيع",
"move_post": "نقل المشاركة",
"post_moved": "تم نقل المشاركة",
"fork_topic": "فرع الموضوع",
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
"fork_no_pids": "لم تختار أي رد",
"fork_success": "Succesfully 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",
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.replying_to": "الرد على %1",
"composer.new_topic": "موضوع جديد",
"composer.uploading": "جاري الرفع",
"composer.thumb_url_label": "ألصق رابط الصورة المصغرة للموضوع",
"composer.thumb_title": "إضافة صورة مصغرة للموضوع",
"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"
"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": "الأكثر تصويتًا"
}

View File

@@ -1,9 +1,9 @@
{
"title": "Unread",
"title": "غير مقروء",
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
"load_more": "حمل المزيد",
"mark_as_read": "Mark as Read",
"selected": "Selected",
"all": "All",
"topics_marked_as_read.success": "Topics marked as read!"
"mark_as_read": "حدد غير مقروء",
"selected": "المختارة",
"all": "الكل",
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
}

View File

@@ -3,68 +3,73 @@
"offline": "ليس موجود حالياً",
"username": "إسم المستخدم",
"email": "البريد الإلكتروني",
"confirm_email": "Confirm Email",
"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.",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"delete_account": "حذف الحساب",
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "موقع",
"age": "عمر",
"location": "الموقع",
"age": "السن",
"joined": "تاريخ التسجيل",
"lastonline": "تاريخ أخر دخول",
"profile": "Profile",
"profile_views": "مشاهد الملف",
"reputation": "سمعة",
"favourites": "Favourites",
"followers": "أتباع",
"following": "يتبع",
"lastonline": "تاريخ آخر دخول",
"profile": "الملف الشخصي",
"profile_views": "عدد مشاهدات الملف الشخصي",
"reputation": "السمعة",
"favourites": "المفضلات",
"followers": "المتابعون",
"following": "يتابع",
"signature": "توقيع",
"gravatar": "Gravatar",
"birthday": "عيد ميلاد",
"chat": "Chat",
"follow": "Follow",
"unfollow": "Unfollow",
"profile_update_success": "Profile has been updated successfully!",
"chat": "محادثة",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"profile_update_success": "تم تحديث الملف الشخصي بنجاح",
"change_picture": "تغيير الصورة",
"edit": "صحح",
"uploaded_picture": "صورة تم تحميلها",
"upload_new_picture": "تحميل صورة جديدة",
"current_password": "Current Password",
"edit": "تعديل",
"uploaded_picture": "الصورة المرفوعة",
"upload_new_picture": "رفع صورة جديدة",
"upload_new_picture_from_url": "رفع صورة جديدة بواسطة رابط",
"current_password": "كلمة السر الحالية",
"change_password": "تغيير كلمة السر",
"change_password_error": "Invalid Password!",
"change_password_error_wrong_current": "Your current password is not correct!",
"change_password_error_length": "Password too short!",
"change_password_error_match": "Passwords must match!",
"change_password_error_privileges": "You do not have the rights to change this password.",
"change_password_success": "Your password is updated!",
"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": "You may only upload PNG, JPG, or GIF files",
"max": "max.",
"settings": "Settings",
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>",
"upload_picture": "ارفع الصورة",
"upload_a_picture": "رفع صورة",
"image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
"max": "الحد الأقصى",
"settings": "خيارات",
"show_email": "أظهر بريدي الإلكتروني",
"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": "Off",
"digest_daily": "Daily",
"digest_weekly": "Weekly",
"digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
"has_no_posts": "This user didn't post anything yet.",
"has_no_topics": "This user didn't post any topics yet.",
"show_fullname": "أظهر اسمي الكامل",
"restrict_chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
"digest_label": "اشترك في النشرة الدورية",
"digest_description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
"digest_off": "غير مفعل",
"digest_daily": "يوميا",
"digest_weekly": "أسبوعيًّا",
"digest_monthly": "شهريًّا",
"send_chat_notifications": "استلام رسالة إلكترونية عند ورود محادثة وأنا غير متصل.",
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
"has_no_posts": "هذا المستخدم لم يكتب أي شيء بعد.",
"has_no_topics": "هذا المستخدم لم ينشئ أي موضوع بعد.",
"email_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?",
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
"paginate_description": "عرض المواضيع والردود موزعة على صفحات عوض صفحة واحدة.",
"topics_per_page": "المواضيع في كل صفحة",
"posts_per_page": "الردود في كل صفحة",
"notification_sounds": "تشغيل ملف صوتي عند استلام التنبيهات.",
"browsing": "خيارات التصفح",
"open_links_in_new_tab": "فتح الروابط الخارجية في تبويب جديد؟",
"enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع",
"topic_search_help": "في حالة تفعيلها، ستعوض خاصيةُ البحث داخل المواضيع خاصيةَ البحث الخاصة بالمتصفح، فتمكنك بالتالي بالبحث في الموضوع بأكمله دون الاقتصار على مايظهر في الشاشة فحسب.",
"follow_topics_you_reply_to": "متابعة المشاركات التي ترد عليها",
"follow_topics_you_create": "متابعة المشاركات التي تكتبها"
}

View File

@@ -5,6 +5,5 @@
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"load_more": "حمل المزيد",
"user-not-found": "User not found!",
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ميليثانية."
}

View File

@@ -0,0 +1,8 @@
{
"new_topic_button": "নতুন টপিক",
"no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
"browsing": "browsing",
"no_replies": "কোন রিপ্লাই নেই",
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
"ignore": "উপেক্ষা করুন"
}

View 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!"
}

View 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": "নিবন্ধন এরর!"
}

View 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": "সব মুছে ফেলুন"
}

View 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"
}

View File

@@ -0,0 +1,5 @@
{
"name": "বাংলা",
"code": "bn",
"dir": "ltr"
}

View File

@@ -0,0 +1,9 @@
{
"username": "ইউজারনেম / ইমেইল",
"remember_me": "মনে রাখুন",
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
"alternative_logins": "বিকল্প প্রবেশ",
"failed_login_attempt": "ব্যর্থ প্রবেশের প্রচেষ্টা, আবার চেষ্টা করুন।",
"login_successful": "আপনি সফলভাবে প্রবেশ করেছেন!",
"dont_have_account": "কোন একাউন্ট নেই?"
}

View 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": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?"
}

View 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": "নিশ্চিতকরণ ইমেইল পাঠানো হয়েছে।"
}

View 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:"
}

View File

@@ -0,0 +1,9 @@
{
"title": "সাম্প্রতিক",
"day": "দিন",
"week": "সপ্তাহ",
"month": "মাস",
"year": "বছর",
"alltime": "সবসময় ",
"no_recent_topics": "কোন সাম্প্রতিক টপিক নেই। "
}

View 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": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম"
}

View 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!"
}

View File

@@ -0,0 +1,4 @@
{
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
"no-matches": "কোন পোষ্ট খুঁজে পাওয়া যায় নি"
}

View File

@@ -0,0 +1,6 @@
{
"success": "সফল হয়েছে",
"topic-post": "আপনি সফলভাবে পোষ্ট করেছেন। ",
"authentication-successful": "Authentication Successful",
"settings-saved": "সেটিংস সেভ করা হয়েছে। "
}

View 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."
}

View 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"
}

View 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!"
}

View 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."
}

View File

@@ -0,0 +1,9 @@
{
"latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:",
"top_posters": "সর্বোচ্চ পোষ্টকারী",
"most_reputation": "সর্বোচ্চ সম্মাননাধারী",
"search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"load_more": "আরো লোড করুন",
"users-found-search-took": "%1 সদস্য(দের) খুঁজে পাওয়া গিয়েছে! সময় লেগেছে %2 ms."
}

View File

@@ -4,5 +4,5 @@
"browsing": "prohlíží",
"no_replies": "Nikdo ještě neodpověděl",
"share_this_category": "Share this category",
"ignore": "Ignore"
"ignore": "Ignorovat"
}

View File

@@ -1,23 +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": "Thank you for registering with %1!",
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
"welcome.cta": "Click here to confirm your email address",
"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.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Click here to reset your password",
"digest.notifications": "You have some 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.daily.no_topics": "There have been no active topics in the past day",
"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!"
"password-reset-requested": "Požadována obnova hesla - %1!",
"welcome-to": "Vítejte v %1",
"greeting_no_name": "Dobrý den",
"greeting_with_name": "Dobrý den %1",
"welcome.text1": "Děkujeme vám za registraci s %1!",
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
"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": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:",
"reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
"digest.notifications": "Máte tu nepřečtená oznámení od %1:",
"digest.latest_topics": "Nejnovější témata od %1",
"digest.cta": "Kliknutím zde navštívíte %1",
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
"digest.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
"notif.chat.subject": "Nová zpráva z chatu od %1",
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.",
"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": "Tento testovací email slouží k ověření, že mailer je správně nastaven. NodeBB.",
"unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.",
"closing": "Díky!"
}

View File

@@ -1,63 +1,67 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account! Please login or register!",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",
"invalid-uid": "Invalid User ID",
"invalid-username": "Invalid Username",
"invalid-email": "Invalid Email",
"invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "User banned",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist",
"no-group": "Group doesn't exist",
"no-user": "User doesn't exist",
"no-teaser": "Teaser doesn't exist",
"no-privileges": "You don't have enough privileges for this action.",
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Category disabled",
"topic-locked": "Topic Locked",
"still-uploading": "Please wait for uploads to complete.",
"content-too-short": "Please enter a longer post. At least %1 characters.",
"title-too-short": "Please enter a longer title. At least %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 every %1 seconds.",
"file-too-big": "Maximum allowed file size is %1 kbs",
"cant-vote-self-post": "You cannot vote for your own post",
"already-favourited": "You already favourited this post",
"already-unfavourited": "You already unfavourited this post",
"cant-ban-other-admins": "You can't ban other admins!",
"invalid-image-type": "Invalid image type",
"group-name-too-short": "Group name too short",
"group-already-exists": "Group already exists",
"group-name-change-not-allowed": "Group name change not allowed",
"post-already-deleted": "Post already deleted",
"post-already-restored": "Post already restored",
"topic-already-deleted": "Topic already deleted",
"topic-already-restored": "Topic already restored",
"invalid-data": "Neplatná data",
"not-logged-in": "Zdá se, že nejste přihlášen(a)",
"account-locked": "Váš účet byl dočasně uzamčen",
"search-requires-login": "Chcete-li vyhledávat, musíte mít účet. Přihlašte se nebo zaregistrujte, prosím.",
"invalid-cid": "Neplatné ID kategorie",
"invalid-tid": "Neplatné ID tématu",
"invalid-pid": "Neplatné ID příspěvku",
"invalid-uid": "Neplatné ID uživatele",
"invalid-username": "Neplatné uživatelské jméno",
"invalid-email": "Neplatný email",
"invalid-title": "Neplatný titulek!",
"invalid-user-data": "Neplatná uživatelská data",
"invalid-password": "Neplatné heslo",
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo",
"invalid-search-term": "Neplatný výraz pro vyhledávání",
"invalid-pagination-value": "Neplatná hodnota pro stránkování",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Email je již použit",
"email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
"username-too-short": "Uživatelské jméno je příliš krátké",
"username-too-long": "Uživatelské jméno je příliš dlouhé",
"user-banned": "Uživatel byl zakázán",
"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": "Kategorie neexistuje",
"no-topic": "Téma neexistuje",
"no-post": "Příspěvek neexistuje",
"no-group": "Skupina neexistuje",
"no-user": "Uživatel neexistuje",
"no-teaser": "Teaser does not exist",
"no-privileges": "Na tuto akci nemáte dostatečná práva",
"no-emailers-configured": "Protože není zaveden žádný emailový plugin, není možné odeslat testovací email.",
"category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamčeno",
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
"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": "Vložte, prosím, delší titulek. Titulky by měly obsahovat nejméně %1 znaků.",
"title-too-long": "Vložte, prosím, kratší titulek. Titulky by neměly být delší, než-li %1 znaků.",
"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",
"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",
"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-unfavourited": "You have already unfavourited this post",
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!",
"invalid-image-type": "Neplatný typ obrázku",
"group-name-too-short": "Název skupiny je příliš krátký",
"group-already-exists": "Skupina už exstuje",
"group-name-change-not-allowed": "Změna názvu skupiny není povolena",
"post-already-deleted": "Tento příspěvek byl již vymazán",
"post-already-restored": "Tento příspěvek byl již obnoven",
"topic-already-deleted": "Toto téma bylo již vymazáno",
"topic-already-restored": "Toto téma bylo již obnoveno",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled",
"upload-error": "Upload Error : %1",
"signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.",
"invalid-file": "Neplatný soubor",
"uploads-are-disabled": "Nahrávání je zakázáno",
"upload-error": "Chyba při nahrávání : %1",
"signature-too-long": "Pardon, ale váš podpis nemůže být delší, než-li %1 znaků.",
"cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!",
"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",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "Yo 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."
"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.",
"registration-error": "Chyba při registraci"
}

View File

@@ -10,24 +10,24 @@
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
"register": "Registrovat",
"login": "Přihlásit se",
"please_log_in": "Please Log In",
"please_log_in": "Přihlašte se, prosím",
"logout": "Odhlásit se",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back",
"you_have_successfully_logged_in": "You have successfully logged 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": "Vítejte zpět",
"you_have_successfully_logged_in": "Vaše přihlášení proběhlo úspěšně",
"save_changes": "Uložit změny",
"close": "Zrušit",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"pagination": "Stránkování",
"pagination.out_of": "%1 z %2",
"pagination.enter_index": "Enter index",
"header.admin": "Administrace",
"header.recent": "Aktuality",
"header.unread": "Nepřečtené",
"header.tags": "Tags",
"header.tags": "Tagy",
"header.popular": "Populární",
"header.users": "Uživatelé",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.notifications": "Oznámení",
"header.search": "Hledat",
"header.profile": "Můj profil",
"notifications.loading": "Načítání upozornění",
@@ -36,14 +36,14 @@
"previouspage": "Předchozí stránka",
"nextpage": "Další stránka",
"alert.success": "Success",
"alert.error": "Error",
"alert.error": "Chyba",
"alert.banned": "Banned",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",
"users": "Users",
"topics": "Topics",
"users": "Uživatelé",
"topics": "Témata",
"posts": "Příspěvky",
"views": "Zobrazení",
"reputation": "Reputation",
@@ -58,8 +58,8 @@
"user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1",
"last_edited_by_ago": "last edited by %1 %2",
"norecentposts": "No Recent Posts",
"norecenttopics": "No Recent Topics",
"norecentposts": "Žádné nedávné příspěvky",
"norecenttopics": "Žádné nedávné témata",
"recentposts": "Nedávné příspěvky",
"recentips": "Recently Logged In IPs",
"away": "Pryč",
@@ -67,9 +67,11 @@
"invisible": "Neviditelný",
"offline": "Offline",
"email": "Email",
"language": "Language",
"guest": "Guest",
"guests": "Guests",
"updated.title": "Forum Updated",
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
"language": "Jazyk",
"guest": "Host",
"guests": "Hosté",
"updated.title": "Fórum zaktualizováno",
"updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.",
"privacy": "Privacy",
"delete_all": "Vymazat vše"
}

View File

@@ -1,7 +1,8 @@
{
"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"
"groups": "Skupiny",
"view_group": "Prohlédnout skupinu",
"details.title": "podrobnosti skupiny",
"details.members": "Seznam členů",
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
"details.latest_posts": "Nejnovější příspěvky"
}

View File

@@ -1,9 +1,9 @@
{
"username": "Username / Email",
"username": "Uživatelské jméno / Email",
"remember_me": "Zapamatovat si mě?",
"forgot_password": "Zapomněli jste heslo?",
"alternative_logins": "Další způsoby přihlášení",
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
"login_successful": "Přihlášení proběhlo úspěšně!",
"dont_have_account": "Don't have an account?"
"dont_have_account": "Nemáte účet?"
}

View File

@@ -1,21 +1,20 @@
{
"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.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.see_all": "See all Chats",
"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.contacts": "Kontakty",
"chat.message-history": "Historie zpráv",
"chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"chat.maximize": "Maximalizovat",
"chat.seven_days": "7 dní",
"chat.thirty_days": "30 dní",
"chat.three_months": "3 měsíce",
"composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?"

View File

@@ -11,11 +11,12 @@
"you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "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.",
"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> has posted a reply to: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed",

View File

@@ -12,5 +12,7 @@
"user.posts": "Posts made by %1",
"user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
"user.settings": "User Settings",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
}

View File

@@ -8,7 +8,7 @@
"new_password": "Nové heslo",
"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_address": "Enter Email Address",
"enter_email_address": "Zadejte emailovou adresu",
"password_reset_sent": "Obnova hesla odeslána",
"invalid_email": "Špatný email / Email neexistuje!"
}

View File

@@ -1,6 +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.",
"no_tags": "There are no tags yet."
"no_tag_topics": "Není zde žádné téma s tímto tagem.",
"tags": "Tagy",
"enter_tags_here": "Zde vložte tagy. Po každém vložení tagu zmáčkněte enter.",
"enter_tags_here_short": "Vložte tagy ...",
"no_tags": "Zatím tu není žádný tag."
}

View File

@@ -1,10 +1,10 @@
{
"topic": "Téma",
"topic_id": "Topic ID",
"topic_id_placeholder": "Enter topic ID",
"topic_id": "ID tématu",
"topic_id_placeholder": "Vložte ID tématu",
"no_topics_found": "Nebyla nalezena žádná témata!",
"no_posts_found": "No posts found!",
"post_is_deleted": "This post is deleted!",
"no_posts_found": "Nebyly nalezeny žádné příspěvky!",
"post_is_deleted": "Tento příspěvek je vymazán!",
"profile": "Profil",
"posted_by": "Posted by %1",
"posted_by_guest": "Posted by Guest",
@@ -18,7 +18,6 @@
"restore": "Restore",
"move": "Přesunout",
"fork": "Rozdělit",
"banned": "banned",
"link": "Odkaz",
"share": "Sdílet",
"tools": "Nástroje",
@@ -28,15 +27,17 @@
"flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post",
"thread_tools.title": "Nástroje",
"thread_tools.title": "Topic Tools",
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
@@ -46,11 +47,11 @@
"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 thread?",
"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 thread?",
"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 thread?",
"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?",
@@ -71,7 +72,7 @@
"topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie",
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
"fork_no_pids": "Žádné příspěvky nebyly vybrány!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.",
"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",

View File

@@ -1,9 +1,9 @@
{
"title": "Unread",
"title": "Nepřečtené",
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
"load_more": "Načíst další",
"mark_as_read": "Mark as Read",
"selected": "Selected",
"all": "All",
"topics_marked_as_read.success": "Topics marked as read!"
"mark_as_read": "Označit jako přeštené",
"selected": "Vybrané",
"all": "Vše",
"topics_marked_as_read.success": "Téma bylo označeno jako přečtené!"
}

View File

@@ -3,8 +3,8 @@
"offline": "Offline",
"username": "Uživatelské jméno",
"email": "Email",
"confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"confirm_email": "Potvrdit email",
"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.",
"fullname": "Jméno a příjmení",
"website": "Webové stránky",
@@ -12,7 +12,7 @@
"age": "Věk",
"joined": "Registrován",
"lastonline": "Naposledy online",
"profile": "Profile",
"profile": "Profil",
"profile_views": "Zobrazení profilu",
"reputation": "Reputace",
"favourites": "Oblíbené",
@@ -24,14 +24,15 @@
"chat": "Chat",
"follow": "Follow",
"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",
"edit": "Upravit",
"uploaded_picture": "Nahraný obrázek",
"upload_new_picture": "Nahrát nový obrázek",
"current_password": "Current Password",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Současné 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_length": "Password too short!",
"change_password_error_match": "Passwords must match!",
@@ -46,6 +47,8 @@
"max": "max.",
"settings": "Nastavení",
"show_email": "Zobrazovat můj email v profilu",
"show_fullname": "Show My Full Name",
"restrict_chats": "Only allow chat messages from users I follow",
"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": "Off",
@@ -65,6 +68,8 @@
"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."
}

View File

@@ -5,6 +5,5 @@
"search": "Vyhledávat",
"enter_username": "Zadej uživatelské jméno k hledání",
"load_more": "Načíst další",
"user-not-found": "User not found!",
"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."
}

View File

@@ -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.text2": "Klicke bitte auf den folgenden Link, um mit der Zurücksetzung deines Passworts fortzufahren:",
"reset.cta": "Klicke hier, um dein Passwort zurückzusetzen",
"digest.notifications": "Du hast einige ungelesene Benachrichtigungen vom %1:",
"digest.notifications": "Du hast ungelesene Benachrichtigungen von %1:",
"digest.latest_topics": "Aktuellste Themen vom %1",
"digest.cta": "Klicke hier, um %1 zu besuchen",
"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.cta": "Klicke hier, um die Unterhaltung fortzusetzen",
"notif.chat.unsub.info": "Diese Chat-Benachrichtigung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",

View File

@@ -13,6 +13,7 @@
"invalid-user-data": "Ungültige Benutzerdaten",
"invalid-password": "Ungültiges Passwort",
"invalid-username-or-password": "Bitte gebe einen Benutzernamen und ein Passwort an",
"invalid-search-term": "Ungültige Suchanfrage",
"invalid-pagination-value": "Die Nummerierung ist ungültig",
"username-taken": "Der Benutzername ist bereits vergeben",
"email-taken": "Die E-Mail-Adresse ist bereits vergeben",
@@ -20,23 +21,24 @@
"username-too-short": "Benutzername ist zu kurz",
"username-too-long": "Der Benutzername ist zu lang",
"user-banned": "Der Benutzer ist gesperrt",
"user-too-new": "Du musst %1 Sekunden warten, bevor du deinen ersten Beitrag verfassen kannst!",
"user-too-new": "Entschuldigung, du musst %1 Sekunden warten, bevor du deinen ersten Beitrag verfassen kannst!",
"no-category": "Die Kategorie existiert nicht",
"no-topic": "Das Thema existiert nicht",
"no-post": "Der Beitrag existiert nicht",
"no-group": "Die Gruppe existiert nicht",
"no-user": "Der Benutzer existiert nicht",
"no-teaser": "Kurztext existiert nicht",
"no-teaser": "Zusammenfassung existiert nicht",
"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.",
"category-disabled": "Kategorie ist deaktiviert",
"topic-locked": "Thema ist gesperrt",
"still-uploading": "Bitte warte bis der Vorgang abgeschlossen ist.",
"content-too-short": "Der Beitrag muss mindestens %1 Zeichen enthalten.",
"title-too-short": "Der Titel muss mindestens %1 Zeichen enthalten.",
"content-too-short": "Bitte gib einen längeren Beitrag ein. Beiträge sollten mindestens %1 Zeichen enthalten.",
"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.",
"too-many-posts": "Du kannst maximal alle %1 Sekunden einen Beitrag erstellen.",
"file-too-big": "Die maximale Dateigröße beträgt %1 kbs",
"too-many-posts": "Du kannst maximal alle %1 Sekunden einen Beitrag erstellen - bitte warte, bevor du einen neuen Beitrag erstellst",
"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.",
"already-favourited": "Dieser Beitrag ist bereits in deinen Favoriten enthalten",
"already-unfavourited": "Du hast diesen Beitrag bereits aus deinen Favoriten entfernt",
@@ -45,19 +47,21 @@
"group-name-too-short": "Gruppenname zu kurz",
"group-already-exists": "Gruppe existiert bereits",
"group-name-change-not-allowed": "Du kannst den Namen der Gruppe nicht ändern",
"post-already-deleted": "Beitrag wurde bereits gelöscht",
"post-already-restored": "Der Beitrag wurde bereits wiederhergestellt",
"topic-already-deleted": "Das Thema wurde bereits gelöscht",
"topic-already-restored": "Das Thema wurde bereits wiederhergestellt",
"post-already-deleted": "Dieser Beitrag ist bereits gelöscht worden",
"post-already-restored": "Dieser Beitrag ist bereits wiederhergestellt worden",
"topic-already-deleted": "Dieses Thema ist bereits gelöscht worden",
"topic-already-restored": "Dieses Thema ist bereits wiederhergestellt worden",
"topic-thumbnails-are-disabled": "Vorschaubilder für Themen sind deaktiviert",
"invalid-file": "Datei ungültig",
"uploads-are-disabled": "Uploads sind deaktiviert",
"upload-error": "Upload-Fehler: %1",
"signature-too-long": "Die Signatur darf maximal %1 Zeichen enthalten!",
"signature-too-long": "Entschuldigung, deine Signatur darf maximal %1 Zeichen enthalten.",
"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.",
"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-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."
"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.",
"registration-error": "Registrierungsfehler"
}

View File

@@ -71,5 +71,7 @@
"guest": "Gast",
"guests": "Gäste",
"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": "Privatsphäre",
"delete_all": "Alles löschen"
}

View File

@@ -1,4 +1,5 @@
{
"groups": "Gruppen",
"view_group": "Gruppe betrachten",
"details.title": "Gruppendetails",
"details.members": "Mitgliederliste",

View File

@@ -12,7 +12,6 @@
"chat.message-history": "Nachrichtenverlauf",
"chat.pop-out": "Chat als Pop-out anzeigen",
"chat.maximize": "Maximieren",
"chat.yesterday": "Gestern",
"chat.seven_days": "7 Tage",
"chat.thirty_days": "30 Tage",
"chat.three_months": "3 Monate",

View File

@@ -16,6 +16,7 @@
"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_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
"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_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
"email-confirmed": "E-Mail bestätigt",

View File

@@ -12,5 +12,7 @@
"user.posts": "Beiträge von %1",
"user.topics": "Themen von %1",
"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.messageIntro": "Zusätzlich hat der Administrator diese Nachricht hinterlassen:"
}

View File

@@ -2,5 +2,6 @@
"no_tag_topics": "Es gibt keine Themen mit diesem Tag.",
"tags": "Tags",
"enter_tags_here": "Gib hier Tags ein und drück die Eingabetaste nach jedem Tag.",
"enter_tags_here_short": "Gib Tags ein...",
"no_tags": "Es gibt bisher keine Tags."
}

View File

@@ -18,7 +18,6 @@
"restore": "Wiederherstellen",
"move": "verschieben",
"fork": "Aufspalten",
"banned": "gesperrt",
"link": "Link",
"share": "Teilen",
"tools": "Tools",
@@ -34,9 +33,11 @@
"login_to_subscribe": "Bitte registrieren oder einloggen um dieses Thema zu abonnieren",
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
"watch": "Beobachten",
"unwatch": "Nicht mehr beobachten",
"watch.title": "Bei neuen Antworten benachrichtigen",
"unwatch.title": "Dieses Thema nicht mehr beobachten",
"share_this_post": "Diesen Beitrag teilen",
"thread_tools.title": "Tools",
"thread_tools.title": "Themen-Tools",
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
"thread_tools.pin": "Thema anpinnen",
"thread_tools.unpin": "Thema nicht mehr anpinnen",
@@ -46,11 +47,11 @@
"thread_tools.move_all": "Alle verschieben",
"thread_tools.fork": "Thema aufspalten",
"thread_tools.delete": "Thema löschen",
"thread_tools.delete_confirm": "Sind Sie sicher, dass Sie dieses Thema löschen möchten?",
"thread_tools.delete_confirm": "Bist du sicher, dass du dieses Thema löschen möchtest?",
"thread_tools.restore": "Thema wiederherstellen",
"thread_tools.restore_confirm": "Sind Sie sicher, dass Sie dieses Thema wiederherstellen möchten?",
"thread_tools.restore_confirm": "Bist du sicher, dass du dieses Thema wiederherstellen möchtest?",
"thread_tools.purge": "Thema bereinigen",
"thread_tools.purge_confirm": "Sind Sie sicher, dass Sie dieses Thema bereinigen möchten?",
"thread_tools.purge_confirm": "Bist du sicher, dass du dieses Thema bereinigen möchtest?",
"topic_move_success": "Thema wurde erfolgreich zu %1 verschoben.",
"post_delete_confirm": "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?",
"post_restore_confirm": "Sind Sie sicher, dass Sie diesen Beitrag wiederherstellen möchten?",

View File

@@ -5,7 +5,7 @@
"email": "E-Mail",
"confirm_email": "E-Mail bestätigen",
"delete_account": "Konto löschen",
"delete_account_confirm": "Bist du sicher, dass du dein Konto löschen möchtest? <br /><strong>Diese Aktion kann nicht rückgängig gemacht werden und du kannst deine Daten nicht widerherstellen</strong><br /><br />Gebe deinen Benutzernamen ein, um zu bestätigen, dass du dieses Konto terminieren möchtest.",
"delete_account_confirm": "Bist du sicher, dass du dein Konto löschen möchtest? <br /><strong>Diese Aktion kann nicht rückgängig gemacht werden und du kannst deine Daten nicht wiederherstellen</strong><br /><br />Gebe deinen Benutzernamen ein, um zu bestätigen, dass du dieses Konto löschen möchtest.",
"fullname": "Kompletter Name",
"website": "Homepage",
"location": "Wohnort",
@@ -29,6 +29,7 @@
"edit": "Ändern",
"uploaded_picture": "Hochgeladene Bilder",
"upload_new_picture": "Neues Bild hochladen",
"upload_new_picture_from_url": "Neues Bild von URL hochladen",
"current_password": "Aktuelles Passwort",
"change_password": "Passwort ändern",
"change_password_error": "Ungültiges Passwort!",
@@ -46,6 +47,8 @@
"max": "max.",
"settings": "Einstellungen",
"show_email": "Zeige meine E-Mail Adresse an.",
"show_fullname": "Zeige meinen kompletten Namen an",
"restrict_chats": "Nur Chatnachrichten von Benutzern, denen ich folge, erlauben",
"digest_label": "Auszug abonnieren",
"digest_description": "Abonniere E-Mail-Benachrichtigungen für dieses Forum (neue Benachrichtigungen und Themen) nach einem festen Zeitplan.",
"digest_off": "Aus",
@@ -65,6 +68,8 @@
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
"browsing": "Browser Einstellungen",
"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_create": "Folge Themen, die du erstellst."
}

View File

@@ -5,6 +5,5 @@
"search": "Suchen",
"enter_username": "Benutzer durchsuchen",
"load_more": "mehr laden",
"user-not-found": "Benutzer nicht gefunden!",
"users-found-search-took": "%1 Benutzer gefunden! Die Suche dauerte %2 ms."
}

View File

@@ -0,0 +1,8 @@
{
"new_topic_button": "Νέο Θέμα",
"no_topics": "<strong>Δεν υπάρχουν θέματα σε αυτή την κατηγορία.</strong><br />Γιατί δεν δοκιμάζεις να δημοσιεύσεις ένα εσύ;",
"browsing": "περιηγούνται",
"no_replies": "Κανείς δεν έχει απαντήσει",
"share_this_category": "Μοιράσου αυτή την κατηγορία",
"ignore": "Αγνόηση"
}

View 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": "Ευχαριστούμε!"
}

View 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"
}

View 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"
}

View File

@@ -0,0 +1,8 @@
{
"groups": "Groups",
"view_group": "Προβολή Ομάδας",
"details.title": "Λεπτομέρειες Ομάδας",
"details.members": "Λίστα Μελών",
"details.has_no_posts": "Τα μέλη αυτής της ομάδας δεν έχουν δημοσιεύσει τίποτα.",
"details.latest_posts": "Τελευταίες δημοσιεύσεις."
}

View File

@@ -0,0 +1,5 @@
{
"name": "Ελληνικά (Ελλάδα/Κύπρος)",
"code": "el",
"dir": "ltr"
}

View File

@@ -0,0 +1,9 @@
{
"username": "Όνομα χρήστη / Email",
"remember_me": "Απομνημόνευση;",
"forgot_password": "Ξέχασες τον κωδικό σου;",
"alternative_logins": "Εναλλακτικά Login",
"failed_login_attempt": "Η προσπάθεια σύνδεσης απέτυχε, παρακαλώ προσπάθησε ξανά.",
"login_successful": "Συνδέθηκες επιτυχώς!",
"dont_have_account": "Δεν έχεις λογαριασμό;"
}

View 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": "Είσαι σίγουρος/η πως θέλεις να πετάξεις αυτή την δημοσίευση;"
}

View 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 επιβεβαίωσης."
}

View 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:"
}

View File

@@ -0,0 +1,9 @@
{
"title": "Πρόσφατα",
"day": "Ημέρα",
"week": "Εβδομάδα",
"month": "Μήνας",
"year": "Έτος",
"alltime": "Όλο το Ιστορικό",
"no_recent_topics": "Δεν υπάρχουν πρόσφατα θέματα."
}

View 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": "Συμφωνώ με τους Όρους Χρήσης"
}

View 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 δεν υπάρχει!"
}

View File

@@ -0,0 +1,4 @@
{
"results_matching": "%1 αποτελεσμα(τα) για \"%2\", (%3 δευτερόλεπτα)",
"no-matches": "Δεν βρέθηκαν δημοσιεύσεις"
}

View File

@@ -0,0 +1,6 @@
{
"success": "Επιτυχία",
"topic-post": "Δημοσίευσες με επιτυχία.",
"authentication-successful": "Επιτυχής Ταυτοποίηση",
"settings-saved": "Οι επιλογές αποθηκεύτηκαν!"
}

View File

@@ -0,0 +1,7 @@
{
"no_tag_topics": "Δεν υπάρχουν θέματα με αυτή την ετικέτα.",
"tags": "Ετικέτες",
"enter_tags_here": "Εισαγωγή ετικετών εδώ. Πάτα enter μετά από κάθε ετικέτα.",
"enter_tags_here_short": "Εισαγωγή ετικετών...",
"no_tags": "Δεν υπάρχουν ακόμα ετικέτες."
}

View 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": "Περισσότερες ψήφοι"
}

Some files were not shown because too many files have changed in this diff Show More