Compare commits

..

99 Commits

Author SHA1 Message Date
barisusakli
7e1a07245c fixed 1 more
Conflicts:
	src/topics/posts.js
2014-05-14 16:14:39 -04:00
barisusakli
80821da9d8 fixes 2 privilege issues 2014-05-14 16:13:45 -04:00
Julian Lam
227d567d48 updated package deps in 0.4.x branch so it doesn't pull theme versions that are too new 2014-05-14 00:27:31 -04:00
Julian Lam
dca1f253e7 updated shrinkwrap file 2014-05-14 00:27:23 -04:00
barisusakli
17931ba3f3 fixed missing return 2014-05-13 21:25:12 -04:00
Julian Lam
49ed247be3 updated shrinkwrap file 2014-05-13 16:43:33 -04:00
Julian Lam
04fe8950f0 Merge branch 'master' into v0.4.x 2014-05-13 16:40:40 -04:00
Julian Lam
0e20350ca7 0.4.3 2014-05-13 16:40:19 -04:00
Julian Lam
ea6576c6f3 latest translations and fallbacks 2014-05-13 16:39:56 -04:00
psychobunny
97d256c372 cleanup 2014-05-13 12:09:21 -04:00
barisusakli
c5d9a68b4b closes #1445 2014-05-12 18:42:13 -04:00
barisusakli
fc00586f0e 0 disables flags for ban 2014-05-12 14:53:53 -04:00
barisusakli
c7744d7a64 closes #1483 2014-05-12 14:51:39 -04:00
psychobunny
9efc341772 updated docs for alert closefn/clickfn 2014-05-12 13:03:49 -04:00
psychobunny
240932dd80 add cursor: pointer if alert's clickfn is defined 2014-05-12 13:02:48 -04:00
psychobunny
3c7b433e3a linting settings.js 2014-05-12 12:59:34 -04:00
psychobunny
a121ec716a Merge pull request #1517 from frissdiegurke/patch-1
fix call of expandObjBy with undefined
2014-05-12 12:17:15 -04:00
frissdiegurke
b1257f6291 fix call of expandObjBy with undefined 2014-05-12 13:40:19 +02:00
Julian Lam
41c5a90914 latest language strings 2014-05-11 23:08:28 -04:00
barisusakli
2bd15e155f remove listener before adding 2014-05-11 20:31:42 -04:00
barisusakli
1a9ab9d1d2 fixes default gravatar images if they are uploaded locally 2014-05-11 19:39:52 -04:00
barisusakli
78ccca4f63 removed comment 2014-05-11 18:57:23 -04:00
psychobunny
f2a692add7 some linting of settings.js 2014-05-11 16:41:26 -04:00
psychobunny
c3e4c7dea1 using var instead of const for < IE10 compatibility
@frissdiegurke
2014-05-11 16:34:21 -04:00
psychobunny
2b4da7ebcd Merge pull request #1514 from frissdiegurke/master
added number-type to settings framework. persist expanded object on serv...
2014-05-11 16:30:57 -04:00
barisusakli
d311995c16 closes #1516 2014-05-11 14:06:15 -04:00
FrissDieGurke
f618a9405e added settings number-field to docs 2014-05-11 18:58:01 +02:00
Julian Lam
e64c1bfec3 closed #1453 2014-05-11 11:45:20 -04:00
Julian Lam
bab140c396 added pexpire and pexpireAt methods for redis and mongo. Added emoticons for leveldb (as per existing implementation by @psychobunny LOL) 2014-05-11 10:31:32 -04:00
Julian Lam
4e0ccbf0c6 fixed #1515 2014-05-10 23:56:45 -04:00
Julian Lam
65dd79c84e socket logic for #1149 -- handling of help tab in ACP 2014-05-10 23:43:15 -04:00
barisusakli
f65998f4c2 fixes guest name on home 2014-05-10 18:41:31 -04:00
psychobunny
2649e6a385 use secure image instead 2014-05-10 16:24:44 -04:00
psychobunny
f7fe0aa680 moved documentation out of alerts 2014-05-10 16:16:56 -04:00
psychobunny
74aabb9c60 modules documentation - alerts 2014-05-10 16:16:35 -04:00
psychobunny
db27a30005 better alert for ban message 2014-05-10 16:01:58 -04:00
barisusakli
d0be73a4d4 closes #1503 2014-05-10 15:48:09 -04:00
FrissDieGurke
ab2c0cfa9f added number-type to settings framework. persist expanded object on server-side sync if changed 2014-05-10 19:49:50 +02:00
barisusakli
8ee866fc9d closes #1513 2014-05-09 17:57:39 -04:00
barisusakli
4c28de659c closes #1504 2014-05-09 17:46:10 -04:00
barisusakli
274acc8eec moved base_templates_path to load config #1511 2014-05-09 13:47:33 -04:00
psychobunny
643dd74e43 initially hide the account setting menus (prevents the brief flashing of the buttons)
5589e1e148
2014-05-09 12:56:51 -04:00
psychobunny
99b34d5990 allow translator variables to not require a space, see #1512 2014-05-09 12:47:42 -04:00
Julian Lam
025db831f4 Update heroku.rst 2014-05-09 12:01:31 -04:00
Julian Lam
a5537cb8ae Update heroku.rst 2014-05-09 12:01:04 -04:00
barisusakli
43bbc00be8 closes #1512
spaces are required
2014-05-09 11:50:53 -04:00
Julian Lam
f876ba91b8 Update heroku.rst 2014-05-09 11:50:46 -04:00
barisusakli
d304bab4f1 dont change height if sizing horizontally #1508 2014-05-09 11:41:41 -04:00
barisusakli
c2fb4700de fixes infinite scroll on account pages 2014-05-08 22:44:34 -04:00
Julian Lam
2dd2d7a269 defaulting daily digest frequency to null -- digests should be opt IN, not OUT. Bad idea on my part... re: #1499 2014-05-08 20:54:00 -04:00
barisusakli
66abd20647 moved add commas to process page 2014-05-08 19:17:35 -04:00
psychobunny
e22e0c7503 Merge pull request #1506 from BitBangersCode/master
Fix Settings Framework example to display proper object path
2014-05-08 14:40:05 -04:00
psychobunny
2ba2ef5320 closes #1498 2014-05-08 14:38:46 -04:00
Schamper
d1079c00bc Fix Settings Framework example to display proper object path 2014-05-08 20:37:10 +02:00
psychobunny
a0fcdfe629 closes #1502 2014-05-08 14:27:46 -04:00
psychobunny
10716c37d3 closes #1376 2014-05-08 14:16:40 -04:00
barisusakli
7280567d21 closes #1505 2014-05-08 13:24:34 -04:00
barisusakli
ed57edde3b fixed undefined next 2014-05-08 01:03:07 -04:00
Julian Lam
4f5b3cc934 changing update script to only directly update vanilla and lavender 2014-05-08 00:50:44 -04:00
barisusakli
933aa5dfcb #1501 2014-05-07 16:11:58 -04:00
barisusakli
efaa1e62c1 added back ttl :) 2014-05-07 14:12:53 -04:00
barisusakli
672bde7066 removed ttl 2014-05-07 13:27:11 -04:00
barisusakli
62d487e0a8 use current user uid for feed generation 2014-05-07 12:46:58 -04:00
barisusakli
f714c713f3 fixes deactivate text on plugin buttons 2014-05-07 12:30:58 -04:00
Julian Lam
b56df975e0 fixed 1495 2014-05-07 11:46:32 -04:00
barisusakli
883978007d closes #1482
removed updateHeader, the header is using template values in from the
api, update menu partial in vanilla theme as well
2014-05-06 18:42:42 -04:00
psychobunny
678f0f436e importing latest templates.js @Schamper 2014-05-06 17:50:06 -04:00
barisusakli
1f7fd51b40 some work for #1482 2014-05-06 17:46:34 -04:00
barisusakli
57f0ee8a38 removed whitespace 2014-05-06 17:28:42 -04:00
barisusakli
7a25f0bb36 fix for #1496 2014-05-06 16:28:35 -04:00
psychobunny
14db999684 closes #1494 2014-05-06 15:51:21 -04:00
psychobunny
f697b5a2b8 addBlockquoteEllipses to newly created posts #1491 2014-05-06 15:09:35 -04:00
psychobunny
3b7d222ec3 prevent duplicate blockquotes #1491 2014-05-06 15:04:10 -04:00
barisusakli
f89afd92b9 fix for plugin page access issue closes #1493 2014-05-06 13:12:19 -04:00
barisusakli
89225c80ca related to #1493 2014-05-06 13:05:31 -04:00
Julian Lam
08cf6bc5e6 fixed #1489 -- made checkReplace error-first, added missing callback, added missing object field to db query 2014-05-06 10:23:39 -04:00
barisusakli
7f6ae6df9f possible fix to active users 2014-05-05 18:17:12 -04:00
psychobunny
b3940cd7cd enabling view cache, since we require server restart on theme changes it doesn't hurt 2014-05-05 16:56:08 -04:00
barisusakli
967b486ce1 closes #1487
ban and delete user admin actions takes an array of uids now.
2014-05-05 16:48:13 -04:00
Julian Lam
590082709f fixed #1488 - emails are processed 100 at a time 2014-05-05 16:25:55 -04:00
psychobunny
dfe010d97d caps 2014-05-05 15:34:38 -04:00
psychobunny
14431f7913 closes #1486 2014-05-05 15:19:37 -04:00
psychobunny
8fc818e07c closes https://github.com/designcreateplay/NodeBB/issues/1473 2014-05-05 13:25:06 -04:00
psychobunny
7033fa7563 closes https://github.com/designcreateplay/NodeBB/issues/1474 2014-05-05 13:17:34 -04:00
psychobunny
38a3ab6365 fixes routes for https://github.com/designcreateplay/NodeBB/issues/1485 2014-05-05 12:59:27 -04:00
psychobunny
a51b357e67 removed deprecated categories.background property 2014-05-05 12:18:53 -04:00
psychobunny
3934f2ec88 collapsible blockquotes, closes #1359 2014-05-05 12:15:17 -04:00
psychobunny
be16f0dae7 Merge pull request #1484 from frissdiegurke/master
Settings Framework docs + slight changes
2014-05-05 10:24:34 -04:00
barisusakli
d272a87c8a cleanup toggleFollow 2014-05-05 09:33:47 -04:00
barisusakli
8afcf44732 gravatars will be generated on demand
changing the setting in ACP will affect all default gravatars now.
2014-05-04 17:27:00 -04:00
Julian Lam
ac9bd0859f fixed #1477 2014-05-04 16:47:21 -04:00
barisusakli
6f40393b99 added err check 2014-05-04 14:33:12 -04:00
FrissDieGurke
c4606e7009 minified settings-framework wrapper-length 2014-05-04 13:08:20 +02:00
FrissDieGurke
cbef92bb62 Added settings-framework documentation 2014-05-04 12:37:49 +02:00
FrissDieGurke
c23df60e1b removed unnecessary method + doc within Settings Framework 2014-05-04 12:34:22 +02:00
barisusakli
aea8d50200 removed console.log 2014-05-03 20:59:38 -04:00
barisusakli
d43d363a7a refactored topics.js
removed ajaxify.register_events using removeListener now
2014-05-03 20:56:26 -04:00
barisusakli
ec399d8b3b moved all account related files to account folder
update nodebb-theme-vanilla too to get the update tpl files
2014-05-03 17:21:07 -04:00
barisusakli
3c96857123 closes #1461
fixed disabled category grey out, added plural move topics string
2014-05-03 00:07:01 -04:00
239 changed files with 2253 additions and 1534 deletions

2
app.js
View File

@@ -97,6 +97,7 @@ function loadConfig() {
// Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
}
function start() {
@@ -134,7 +135,6 @@ function start() {
plugins.init();
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
plugins.ready(function() {
webserver.init();

View File

@@ -64,6 +64,7 @@ Contributing to NodeBB
:maxdepth: 2
contributing/style-guide
modules/index
Plugin System
-------------
@@ -73,6 +74,7 @@ Plugin System
plugins/create
plugins/hooks
plugins/settings
Widgets System
--------------

View File

@@ -13,6 +13,7 @@ Heroku
8. Enable WebSocket support (beta): ``heroku labs:enable websockets -a {APP_NAME}``, where ``{APP_NAME}`` is provided by Heroku, and looks something like ``adjective-noun-wxyz.herokuapp.com`` (NOTE: `See this doc <https://discussion.heroku.com/t/application-error/160>`_): drop the `.herokuapp.com` when entering ``{APP_NAME}`` above.
9. Enable `Redis To Go <https://addons.heroku.com/redistogo>`_ for your heroku account: ``heroku addons:add redistogo:nano``
10. Run the NodeBB setup script: ``node app --setup`` (information for your Heroku server and Redis to Go instance can be found in your account page)
* Your server name is found in your Heroku app's "settings" page, and looks something like ``adjective-noun-wxyz.herokuapp.com``
* Use any port number. It will be ignored.
* Specify "n" when asked if a port will be used. Heroku transparently proxies all requests.
@@ -20,17 +21,30 @@ Heroku
* The server is ``fishyfish.redistogo.com``
* The port is ``12345``
* The password is ``h28h3wgh37fns7``
11. Create a Procfile for Heroku: ``echo "web: node app.js" > Procfile``
12. Commit the Procfile:
12. Add the following two packages to the ``dependencies`` section of your ``package.json``:
.. code:: json
"dependencies": {
...
"nodebb-plugin-dbsearch": "0.0.9",
"redis": "~0.10.1",
"connect-redis": "~1.4"
},
"devDependencies": {
13. Create a Procfile for Heroku: ``echo "web: node app.js" > Procfile``
14. Commit the Procfile:
.. code:: bash
git add -f Procfile config.json public/config.json && git commit -am "adding Procfile and configs for Heroku"
git add -f Procfile config.json package.json && git commit -am "adding Procfile and configs for Heroku"
13. Push to heroku: ``git push heroku master``
15. Push to heroku: ``git push heroku master``
* Ensure that a proper SSH key was added to your account, otherwise the push will not succeed!
14. Initialise a single dyno: ``heroku ps:scale web=1``
15. Visit your app!
16. Initialise a single dyno: ``heroku ps:scale web=1``
17. Visit your app!
If these instructions are unclear or if you run into trouble, please let us know by `filing an issue <https://github.com/designcreateplay/NodeBB/issues>`_.
@@ -44,4 +58,4 @@ If you wish to pull the latest changes from the git repository to your Heroku ap
3. ``npm install``
4. ``node app --upgrade``
5. ``git commit -am "upgrading to latest nodebb"``
6. ``git push heroku master``
6. ``git push heroku master``

43
docs/modules/index.rst Normal file
View File

@@ -0,0 +1,43 @@
Core Modules
================
.. note::
This section is under construction. Have a look at the modules folder for more information, located at:
.. code:: bash
public/src/modules
Alerts
-------
The alert module is a toaster notification that can be called via the following syntax:
.. code:: javascript
app.alert({
title: 'Success!',
message: 'Here\'s an example of an alert!',
location: 'left-bottom',
timeout: 2500,
type: 'success',
image: 'https://i.imgur.com/dJBzcGT.jpg'
});
The above code will result in this notification (default styling):
.. image:: https://i.imgur.com/jRD5GAI.png
To style this, have a look at the vanilla theme's ``modules/alert.less`` and ``templates/alert.tpl``.
**Parameters**:
1. ``title`` - string, which can be a language string as well. Some core language strings that you can use here include: ``[[global:alert.success]]`` and ``[[global:alert.error]]``
2. ``message`` - string, which can be a language string as well.
3. ``location`` (optional) - ``right-top`` (default), ``left-top``, ``right-bottom``, ``left-bottom``
4. ``timeout`` (optional) - integer in milliseconds, default is permanent until closed.
5. ``type`` - error, success, info, warning/notify
6. ``image`` (optional) - string, URL to image.
7. ``closefn`` (optional) - function. This is called when the user closes the alert via the (X) button.
8. ``clickfn`` (optional) - function. This is called when the user clicks on the alert.

306
docs/plugins/settings.rst Normal file
View File

@@ -0,0 +1,306 @@
Settings Framework
==========================
If you want to make your plugin customizable you may use the Settings Framework NodeBB offers.
Server-Side Access
------------------
First you need some default settings, just create a new object for this:
.. code:: javascript
var defaultSettings = {
booleans: {
someBool: true,
moreBools: [false, false, true]
},
strings: {
someString: 'hello world',
multiLineString: 'some\nlong\ntext',
arrayOfStrings: ['some\nlong\ntexts', 'and another one']
},
numbers: {
multiArrayDimensions: [[42,42],[21,21]],
multiArrayDimensions2: [[42,42],[]],
justSomeNumbers: [],
oneNumber: 3,
anotherNumber: 2
},
someKeys: ['C+S+#13'] // Ctrl+Shift+Enter
};
Now you can use the server-side settings-module to access the saved settings like this:
.. code:: javascript
var Settings = module.parent.require('./settings');
var mySettings = new Settings('myPlugin', '0.1', defaultSettings, function() {
// the settings are ready and can accessed.
console.log(mySettings === this); // true
console.log(this.get('strings.someString') === mySettings.get().strings.someString); // true
});
The second parameter should change at least every time the structure of default settings changes. Because of this it's
recommended to use your plugins version.
To use the settings client-side you need to create a WebSocket that delivers the result of ``mySettings.get()``.
The mySettings-object will cache the settings, so be sure to use methods like ``mySettings.sync(callback)`` when the
settings got changed from somewhere else and ``mySettings.persist(callback)`` when you finished
``mySettings.set(key, value)`` calls.
You need to create a socket-listener like following to allow the admin to initiate a synchronization with the settings
stored within database:
.. code:: javascript
var SocketAdmin = module.parent.require('./socket.io/admin');
SocketAdmin.settings.syncMyPlugin = function() {
mySettings.sync();
};
If you want to add a reset-functionality you need to create another socket-listener:
.. code:: javascript
SocketAdmin.settings.getMyPluginDefaults = function (socket, data, callback) {
callback(null, mySettings.createDefaultWrapper());
};
The methods of the ``mySettings`` object you probably want to use:
+ ``constructor()``
+ ``sync([callback])``
Reloads the settings from database, overrides local changes.
+ ``persist([callback])``
Saves the local changes within database.
+ ``get([key])``
Returns the setting(s) identified by given key. If no key is provided the whole settings-object gets returned. If no
such setting is saved the default value gets returned.
+ ``set([key, ]value)``
Sets the setting of given key to given value. Remember that it's just a local change, you need to call ``persist``
in order to save the changes.
+ ``reset([callback])``
Persists the default settings.
+ ``getWrapper()``
Returns the local object as it would get saved within database.
+ ``createWrapper(version, settings)``
Creates an object like it would get saved within database containing given information and settings.
+ ``createDefaultWrapper()``
Creates an object like it would get saved within database containing the default settings.
Client-Side Access
------------------
The next step is making the settings available to the admin.
You need to use the :doc:`hooks <hooks>` ``filter:admin.header.build`` (to display a link to your page within ACP) and
``action:app.load`` (to create the needed route).
Within your page you can access the client-side Settings API via
.. code:: javascript
require(['settings'], function (settings) {
var wrapper = $('#my_form_id');
// [1]
settings.sync('myPlugin', wrapper);
// [2]
});
To make a button with the id ``save`` actually save the settings you can add the following at ``[2]``:
.. code:: javascript
$('#save').click(function(event) {
event.preventDefault();
settings.persist('myPlugin', wrapper, function(){
socket.emit('admin.settings.syncMyPlugin');
});
});
As said before the server-side settings-object caches the settings, so we emit a WebSocket to notify the server to
synchronize the settings after they got persisted.
To use a reset-button you can add the following at ``[2]``:
.. code:: javascript
$('#reset').click(function(event) {
event.preventDefault();
socket.emit('admin.settings.getMyPluginDefaults', null, function (err, data) {
settings.set('myPlugin', data, wrapper, function(){
socket.emit('admin.settings.syncMyPlugin');
});
});
});
There you go, the basic structure is done.
Now you need to add the form-fields.
Each field needs an attribute ``data-key`` to reference its position within the settings.
The Framework does support any fields whose jQuery-object provides the value via the ``val()`` method.
The plugin to use for a field gets determined by its ``data-type``, ``type`` or tag-name in this order.
Additionally the following plugins are registered by default:
* array (types: div, array)
An Array of any other fields.
Uses the object within ``data-attributes`` to define the array-elements.
Uses ``data-new`` to define the value of new created elements.
* key (types: key)
A field to input keyboard-combinations.
* checkbox, number, select, textarea
Handle appropriate fields.
A full list of all attributes that may influence the behavior of the default Framework:
* data-key: the key to save/load the value within configuration-object
* data-type: highest priority type-definition to determine what kind of element it is or which plugin to associate
* type: normal priority type-definition
* data-empty: if ``false`` or ``0`` then values that are assumed as empty turn into null. data-empty of arrays affect their child-elements
* data-trim: if not ``false`` or ``0`` then values will get trimmed as defined by the elements type
* data-split: if set and the element doesn't belong to any plugin, it's value will get split and joined by its value into the field
* array-elements:
+ data-split: separator (HTML allowed) between the elements, defaults to ``', '``
+ data-new: value to insert into new created elements
+ data-attributes: an object to set the attributes of the child HTML-elements. tagName as special key will set the tag-name of the child HTML-elements
* key-fields:
+ data-trim: if ``false`` or ``0`` then the value will get saved as string else as object providing following properties: ``ctrl``, ``alt``, ``shift``, ``meta``, ``code``, ``char``
+ data-split: separator between different modifiers and the key-code of the value that gets saved (only takes effect if trimming)
+ data-short: if not ``false`` or ``0`` then modifier-keys get saved as first uppercase character (only takes effect if trimming)
* select:
+ data-options: an array of objects containing ``text`` and ``value`` attributes.
The methods of the ``settings`` module:
+ ``registerPlugin(plugin[, types])``
Registers the given plugin and associates it to the given types if any, otherwise the plugins default types will get
used.
+ ``get()``
Returns the saved object.
+ ``set(hash, settings[, wrapper[, callback[, notify]]])``
Refills the fields with given settings and persists them.
``hash`` Identifies your plugins settings.
``settings`` The object to save in database (settings-wrapper if you use server-side Settings Framework).
``wrapper`` (default: 'form') The DOM-Element that contains all fields to fill.
``callback`` (default: null) Gets called when done.
``notify`` (default: true) Whether to display saved- and fail-notifications.
+ ``sync(hash[, wrapper[, callback]])``
Resets the settings to saved ones and refills the fields.
+ ``persist(hash[, wrapper[, callback[, notify]]])``
Reads the settings from given wrapper (default: 'form') and saves them within database.
For Settings 2.0 support the methods ``load`` and ``save`` are still available but not recommended.
Client-Side Example Template
------------------
An example template-file to use the same settings we already used server-side:
.. code:: html
<h1>My Plugin</h1>
<hr />
<form id="my_form_id">
<div class="row">
<p>
<h2>Settings</h2>
A boolean: <input type="checkbox" data-key="booleans.someBool"></input><br>
An array of checkboxes that are selected by default:
<div data-key="booleans.moreBools" data-attributes='{"data-type":"checkbox"}' data-new='true'></div><br>
A simple input-field of any common type: <input type="password" data-key="strings.someString"></input><br>
A simple textarea: <textarea data-key="strings.multiLineString"></textarea><br>
Array of textareas:
<div data-key="strings.arrayOfStrings" data-attributes='{"data-type":"textarea"}' data-new='Hello Kitty, ahem... World!'></div><br>
2D-Array of numbers that persist even when empty (but not empty rows):
<div data-key="numbers.multiArrayDimensions" data-split="<br>"
data-attributes='{"data-type":"array","data-attributes":{"type":"number"}}' data-new='[42,21]'></div><br>
Same with persisting empty rows, but not empty numbers, if no row is given null will get saved:
<div data-key="numbers.multiArrayDimensions2" data-split="<br>" data-empty="false"
data-attributes='{"data-type":"array","data-empty":true,"data-attributes":{"type":"number","data-empty":false}}' data-new='[42,21]'></div><br>
Array of numbers (new: 42, step: 21):
<div data-key="numbers.justSomeNumbers" data-attributes='{"data-type":"number","step":21}' data-new='42'></div><br>
Select with dynamic options:
<select data-key="numbers.oneNumber" data-options='[{"value":"2","text":"2"},{"value":"3","text":"3"}]'></select><br>
Select that loads faster:
<select data-key="numbers.anotherNumber"><br>
<option value="2">2</option>
<option value="3">3</option>
</select>
Array of Key-shortcuts (new: Ctrl+Shift+7):
<div data-key="someKeys" data-attributes='{"data-type":"key"}' data-new='Ctrl+Shift+#55'></div><br>
</p>
</div>
<button class="btn btn-lg btn-warning" id="reset">Reset</button>
<button class="btn btn-lg btn-primary" id="save">Save</button>
</form>
<script>
require(['settings'], function (settings) {
var wrapper = $('#my_form_id');
// [1]
settings.sync('myPlugin', wrapper);
$('#save').click(function(event) {
event.preventDefault();
settings.persist('myPlugin', wrapper, function(){
socket.emit('admin.settings.syncMyPlugin');
});
});
$('#reset').click(function(event) {
event.preventDefault();
socket.emit('admin.settings.getMyPluginDefaults', null, function (err, data) {
settings.set('myPlugin', data, wrapper, function(){
socket.emit('admin.settings.syncMyPlugin');
});
});
});
});
</script>
Custom Settings-Elements
------------------
If you want do define your own element-structure you can create a **plugin** for the Settings Framework.
This allows you to use a whole object like a single field which - besides comfort in using multiple similar objects -
allows you to use them within arrays.
A plugin is basically an object that contains at least an attribute ``types`` that contains an array of strings that
associate DOM-elements with your plugin.
You can add a plugin at ``[1]`` using the method ``settings.registerPlugin``.
To customize the way the associated fields get interpreted you may add the following methods to your plugin-object:
All given elements are instances of JQuery.
All methods get called within Settings-scope.
+ ``use()``
Gets called when the plugin gets registered.
+ ``[HTML-Element|JQuery] create(type, tagName, data)``
Gets called when a new element should get created (eg. by expansion of an array).
+ ``destruct(element)``
Gets called when the given element got removed from DOM (eg. by array-splice).
+ ``init(element)``
Gets called when an element should get initialized (eg. after creation).
+ ``[value] get(element, trim, empty)``
Gets called whenever the value of the given element is requested.
``trim`` Whether the result should get trimmed.
``empty`` Whether considered as empty values should get saved too.
+ ``set(element, value, trim)``
Gets called whenever the value of the given element should be set to given one.
``trim`` Whether the value is assumed as trimmed.
For further impression take a look at the
`default plugins <https://github.com/designcreateplay/NodeBB/tree/master/public/src/modules/settings>`_.
You should also take a look at the helper-functions within
`Settings <https://github.com/designcreateplay/NodeBB/tree/master/public/src/modules/settings.js>`_ in order to create
your own plugins. There are a few methods that take response to call the methods of other plugins when fittingly.

5
nodebb
View File

@@ -80,8 +80,9 @@ case "$1" in
upgrade)
npm install
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
npm i nodebb-theme-vanilla nodebb-theme-lavender
"$node" app --upgrade
touch package.json
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";

24
npm-shrinkwrap.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "nodebb",
"version": "0.4.2",
"version": "0.4.3",
"dependencies": {
"async": {
"version": "0.2.10",
@@ -179,7 +179,7 @@
"from": "async@0.2.9"
},
"ini": {
"version": "1.1.0",
"version": "1.2.0",
"from": "ini@1.x.x"
},
"optimist": {
@@ -191,7 +191,7 @@
"from": "wordwrap@~0.0.2"
},
"minimist": {
"version": "0.0.8",
"version": "0.0.10",
"from": "minimist@~0.0.1"
}
}
@@ -291,15 +291,15 @@
"from": "nodebb-plugin-soundpack-default@~0.1.1"
},
"nodebb-theme-lavender": {
"version": "0.0.25-12",
"from": "nodebb-theme-lavender@~0.0.25"
"version": "0.0.25-16",
"from": "nodebb-theme-lavender@<0.0.26"
},
"nodebb-theme-vanilla": {
"version": "0.0.19-35",
"from": "nodebb-theme-vanilla@~0.0.19"
"version": "0.0.19-53",
"from": "nodebb-theme-vanilla@<0.0.20"
},
"nodebb-widget-essentials": {
"version": "0.0.21-8",
"version": "0.0.21-9",
"from": "nodebb-widget-essentials@~0.0.21",
"dependencies": {
"marked": {
@@ -309,7 +309,7 @@
}
},
"npm": {
"version": "1.4.9",
"version": "1.4.10",
"from": "npm@^1.4.6",
"dependencies": {
"abbrev": {
@@ -730,7 +730,7 @@
"dependencies": {
"pkginfo": {
"version": "0.3.0",
"from": "pkginfo@0.x.x"
"from": "pkginfo@0.3.x"
},
"read": {
"version": "1.0.5",
@@ -743,7 +743,7 @@
}
},
"revalidator": {
"version": "0.1.7",
"version": "0.1.8",
"from": "revalidator@0.1.x"
},
"utile": {
@@ -941,7 +941,7 @@
}
},
"rimraf": {
"version": "2.2.6",
"version": "2.2.8",
"from": "rimraf@~2.2.6"
},
"rss": {

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPLv3 or later",
"description": "NodeBB Forum",
"version": "0.4.2",
"version": "0.4.3",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -47,8 +47,8 @@
"nodebb-plugin-mentions": "~0.4.0",
"nodebb-plugin-markdown": "~0.4.1",
"nodebb-widget-essentials": "~0.0.21",
"nodebb-theme-vanilla": "~0.0.19",
"nodebb-theme-lavender": "~0.0.25",
"nodebb-theme-vanilla": "<0.0.20",
"nodebb-theme-lavender": "<0.0.26",
"nodebb-plugin-soundpack-default": "~0.1.1",
"nodebb-plugin-dbsearch": "0.0.9"
},

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "حفظ التغييرات",
"close": "أغلق",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"header.admin": "مشرف",
"header.recent": "حديث",
"header.unread": "غير مقروء",
@@ -35,7 +36,7 @@
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "اكتب رسالة دردشة هنا، وإضغط ENTER لإرسال",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
"loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع",
"move_topics": "Move Topics",
"move_post": "نقل الرد",
"post_moved": "Post moved!",
"fork_topic": "فرع الموضوع",

View File

@@ -58,5 +58,7 @@
"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."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Uložit změny",
"close": "Zrušit",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"header.admin": "Administrace",
"header.recent": "Aktuality",
"header.unread": "Nepřečtené",
@@ -35,7 +36,7 @@
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "napište zprávu sem a zmáčkněte enter pro odeslání",
"chat.send": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Nemáte žádné oblíbené příspěvky, přidejte některý příspěvek k oblíbeným a uvidíte ho zde!",
"loading_more_posts": "Načítání více příspěvků",
"move_topic": "Přesunout téma",
"move_topics": "Move Topics",
"move_post": "Přesunout příspěvek",
"post_moved": "Post moved!",
"fork_topic": "Rozdělit příspěvek",

View File

@@ -58,5 +58,7 @@
"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."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Daten ungültig",
"not-logged-in": "Du bist nicht angemeldet",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Ungültige Kategorie-ID",
"invalid-tid": "Ungültige Themen-ID",
"invalid-pid": "Ungültige Beitrags-ID",

View File

@@ -45,12 +45,12 @@
"views": "Aufrufe",
"reputation": "Reputation",
"read_more": "weiterlesen",
"posted_ago_by_guest": "%1 verfasst von einem Gast",
"posted_ago_by": "Geposted %1 von %2",
"posted_ago": "schrieb %1",
"posted_ago_by_guest": "%1 von einem Gast geschrieben",
"posted_ago_by": "%1 von %2 geschrieben",
"posted_ago": "%1 geschrieben",
"posted_in_ago_by_guest": "verfasst in %1 %2 von einem Gast",
"posted_in_ago_by": "Verfasst in %1 %2 von %3",
"posted_in_ago": "posted in %1 %2",
"posted_in_ago": "Verfasst in %1 %2",
"replied_ago": "antwortete %1",
"user_posted_ago": "1% schrieb %2",
"guest_posted_ago": "Gast schrieb %1",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "Schreibe hier etwas, und drücke Enter zum absenden.",
"chat.send": "Senden",
"chat.no_active": "Du hast keine aktiven Chats.",
"chat.user_typing": "%1 tippt gerade ..."
"chat.user_typing": "%1 tippt gerade ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -7,7 +7,7 @@
"post_is_deleted": "Dieser Beitrag wurde gelöscht!",
"profile": "Profil",
"posted_by": "Geschrieben von %1",
"posted_by_guest": "Posted by Guest",
"posted_by_guest": "Verfasst von einem Gast",
"chat": "Chat",
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
"quote": "zitieren",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Themen und Beiträge auf Seiten aufteilen statt unendliches Scrollen verweden",
"topics_per_page": "Themen pro Seite",
"posts_per_page": "Beiträge pro Seite",
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte."
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Save yer Changes",
"close": "Shoot down",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"header.admin": "Captains only",
"header.recent": "Recent",
"header.unread": "Undiscovered",
@@ -35,7 +36,7 @@
"alert.success": "Success",
"alert.error": "Somethin' broke",
"alert.banned": "Exiled",
"alert.banned.message": "Ye be banned ye gunna be logged out!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Ye be no longer stalkin' %1!",
"alert.follow": "Ye be stalkin' %1",
"online": "Available",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "Yer message goes here, hit enter to send 'er off",
"chat.send": "Send Parrot",
"chat.no_active": "Ye be a lonely sailor.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"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",

View File

@@ -58,5 +58,7 @@
"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."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -2,6 +2,7 @@
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",

View File

@@ -23,6 +23,7 @@
"close": "Close",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"header.admin": "Admin",
"header.recent": "Recent",
@@ -46,7 +47,7 @@
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",

View File

@@ -3,5 +3,7 @@
"chat.placeholder": "type chat message here, press enter to send",
"chat.send": "Send",
"chat.no_active": "You have no active chats.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "See all Chats"
}

View File

@@ -82,6 +82,7 @@
"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",

View File

@@ -65,5 +65,8 @@
"topics_per_page": "Topics per Page",
"posts_per_page": "Posts per Page",
"notification_sounds" : "Play a sound when you receive a notification."
"notification_sounds" : "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -35,7 +35,7 @@
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "type chat message here, press enter to send",
"chat.send": "Send",
"chat.no_active": "You have no active chats.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "You don't have any favorites, favorite 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",

View File

@@ -58,5 +58,7 @@
"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."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,49 +1,50 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"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-pagination-value": "Invalid pagination value",
"username-taken": "Username taken",
"email-taken": "Email taken",
"user-banned": "User banned",
"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.",
"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 alread 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",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled",
"signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!"
"invalid-data": "Datos no válidos",
"not-logged-in": "No has iniciado sesión.",
"account-locked": "Tu cuenta ha sido bloqueada temporalmente.",
"invalid-cid": "Identificador de categoría no válido",
"invalid-tid": "Identificador de tema no válido",
"invalid-pid": "Identificador de publicación no válido",
"invalid-uid": "Identificador de usuario no válido",
"invalid-username": "Nombre de usuario no válido",
"invalid-email": "Correo electrónico no válido",
"invalid-title": "Título no válido",
"invalid-user-data": "Datos de Usuario no válidos",
"invalid-password": "Contraseña no válida",
"invalid-pagination-value": "Valor de paginación no válido.",
"username-taken": "Nombre de usuario ya escogido",
"email-taken": "El correo electrónico ya está escogido.",
"user-banned": "Usuario expulsado",
"no-category": "La categoría no existe",
"no-topic": "El tema no existe.",
"no-post": "La publicación no existe",
"no-group": "El grupo no existe",
"no-user": "El usuario no existe",
"no-teaser": "El extracto del tema no existe.",
"no-privileges": "No tienes los privilegios necesarios para esa acción.",
"category-disabled": "Categoría deshabilitada.",
"topic-locked": "Tema bloqueado.",
"still-uploading": "Por favor, espera a que terminen las subidas.",
"content-too-short": "Por favor, introduce una respuesta más larga, al menos de %1 caracteres.",
"title-too-short": "Por favor, introduce un título más largo, al menos de %1 caracteres.",
"title-too-long": "Por favor, introduce un título más corto, que no sobrepase los %1 caracteres.",
"too-many-posts": "Sólo puedes publicar cada %1 segundos.",
"file-too-big": "El tamaño máximo de archivo es de %1 KBs",
"cant-vote-self-post": "No puedes votar tus propios posts",
"already-favourited": "Ya has marcado esa publicación como favorita.",
"already-unfavourited": "Ya has desmarcado esta publicación como favorita.",
"cant-ban-other-admins": "No puedes expulsar a otros administradores!",
"invalid-image-type": "Tipo de imagen no válido.",
"group-name-too-short": "Nombre del grupo es demasiado corto.",
"group-already-exists": "El grupo ya existe.",
"group-name-change-not-allowed": "El nombre del grupo deseado no está permitido.",
"post-already-deleted": "La publicación ya ha sido eliminada.",
"post-already-restored": "La publicación ya ha sido recuperada.",
"topic-already-deleted": "El tema ya ha sido eliminado.",
"topic-already-restored": "El tema ya ha sido recuperado.",
"topic-thumbnails-are-disabled": "Las miniaturas de los temas están deshabilitadas.",
"invalid-file": "Archivo no válido.",
"uploads-are-disabled": "Las subidas están deshabilitadas.",
"signature-too-long": "Las firmas no pueden ser más largas de %1 caracteres!",
"cant-chat-with-yourself": "No puedes conversar contigo mismo!"
}

View File

@@ -18,6 +18,7 @@
"save_changes": "Guardar Cambios",
"close": "Cerrar",
"pagination": "Paginación",
"pagination.out_of": "%1 out of %2",
"header.admin": "Administración",
"header.recent": "Recientes",
"header.unread": "No Leídos",
@@ -35,26 +36,26 @@
"alert.success": "Éxito!",
"alert.error": "Error",
"alert.banned": "Baneado",
"alert.banned.message": "Estás baneado, serás desconectado!",
"alert.banned.message": "Acabas de ser expulsado, a continuación tu sesión se desconectará.",
"alert.unfollow": "Ya no estás siguiendo a %1!",
"alert.follow": "Estás siguiendo a %1!",
"online": "Conectado",
"users": "Users",
"topics": "Topics",
"users": "Usuarios",
"topics": "Temas",
"posts": "Posts",
"views": "Visitas",
"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",
"reputation": "Reputación",
"read_more": "leer más",
"posted_ago_by_guest": "publicado %1 por Invitado",
"posted_ago_by": "publicado hace %1 por %2",
"posted_ago": "publicado hace %1",
"posted_in_ago_by_guest": "publicado en %1 %2 por",
"posted_in_ago_by": "publicado en %1 hace %2 por %3",
"posted_in_ago": "publicado en %1 hace %2",
"replied_ago": "contestado hace %1",
"user_posted_ago": "%1 publicó %2",
"guest_posted_ago": "Invitado publicó %1",
"last_edited_by_ago": "última edición por %1 el %2",
"norecentposts": "No hay publicaciones recientes",
"norecenttopics": "No hay temas recientes",
"recentposts": "Publicaciones Recientes",
@@ -64,7 +65,7 @@
"invisible": "Invisible",
"offline": "Desconectado",
"email": "Email",
"language": "Language",
"guest": "Guest",
"guests": "Guests"
"language": "Lenguaje",
"guest": "Invitado",
"guests": "Invitados"
}

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "ingresa tu mensaje aquí, y presiona Intro para enviar",
"chat.send": "Enviar",
"chat.no_active": "No tiene conversaciones activas.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 está escribiendo ...",
"chat.user_has_messaged_you": "%1 te ha enviado un mensaje."
}

View File

@@ -1,6 +1,6 @@
{
"success": "Success",
"topic-post": "You have successfully posted.",
"authentication-successful": "Authentication Successful",
"settings-saved": "Settings saved!"
"success": "Exito!",
"topic-post": "Has publicado correctamente.",
"authentication-successful": "El inicio de sesión ha sido correcto!",
"settings-saved": "Su configuración ha sido guardada correctamente."
}

View File

@@ -4,10 +4,10 @@
"topic_id_placeholder": "Introducir ID tema",
"no_topics_found": "No se encontraron temas!",
"no_posts_found": "No se encontraron publicaciones!",
"post_is_deleted": "This post is deleted!",
"post_is_deleted": "Esta publicación está eliminada!",
"profile": "Perfil",
"posted_by": "Posted by %1",
"posted_by_guest": "Posted by Guest",
"posted_by": "Publicado por %1",
"posted_by_guest": "Publicado por Invitado",
"chat": "Chat",
"notify_me": "Serás notificado cuando haya nuevas respuestas en este tema",
"quote": "Citar",
@@ -41,17 +41,17 @@
"thread_tools.lock": "Cerrar Tema",
"thread_tools.unlock": "Abrir Tema",
"thread_tools.move": "Mover Tema",
"thread_tools.move_all": "Move All",
"thread_tools.move_all": "Mover todo",
"thread_tools.fork": "Bifurcar Tema",
"thread_tools.delete": "Borrar Tema",
"thread_tools.delete_confirm": "Estás seguro de que quieres eliminar este hilo?",
"thread_tools.restore": "Restaurar Tema",
"thread_tools.restore_confirm": "Estás seguro de que quieres restaurar este hilo?",
"topic_lock_success": "Topic has been successfully locked.",
"topic_unlock_success": "Topic has been successfully unlocked.",
"topic_lock_success": "El tema ha sido bloqueado correctamente.",
"topic_unlock_success": "El tema ha sido desbloqueado correctamente.",
"topic_pin_success": "Topic has been successfully pinned.",
"topic_unpin_success": "Topic has been successfully unpinned.",
"topic_move_success": "This topic has been successfully moved to %1",
"topic_move_success": "El tema ha sido movido correctamente a %1",
"post_delete_confirm": "Estás seguro de que quieres eliminar esta respuesta?",
"post_restore_confirm": "Estás seguro de que quieres restaurar esta respuesta?",
"post_delete_error": "No se pudo borrar esta respuesta!",
@@ -65,8 +65,9 @@
"favourites.has_no_favourites": "No tienes favoritos, puedes agregar alguno y volver a verlos aquí!",
"loading_more_posts": "Cargando más publicaciones",
"move_topic": "Mover Tema",
"move_topics": "Mover Temas",
"move_post": "Mover Publicación",
"post_moved": "Post moved!",
"post_moved": "Publicación movida correctamente!",
"fork_topic": "Bifurcar Tema",
"topic_will_be_moved_to": "Este tema será movido a la categoría",
"fork_topic_instruction": "Click en las publicaciones que quieres bifurcar",
@@ -78,7 +79,7 @@
"composer.help": "Ayuda",
"composer.discard": "Descartar",
"composer.submit": "Enviar",
"composer.replying_to": "Replying to %1",
"composer.replying_to": "En respuesta a %1",
"composer.new_topic": "Nuevo Tema",
"composer.uploading": "cargando...",
"composer.thumb_url_label": "Agregar imagen destacada a este tema.",
@@ -88,7 +89,7 @@
"composer.thumb_remove": "Limpiar campos.",
"composer.drag_and_drop_images": "Arrastra las imagenes aqui",
"composer.upload_instructions": "Carga tus imagenes con solo arrastrarlas aqui.",
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
"more_users": "%1 more user(s)",
"more_guests": "%1 more guest(s)"
"more_users_and_guests": "%1 usuario(s) y %2 invitado(s) más",
"more_users": "%1 usuario(s) más",
"more_guests": "%1 invitado(s) más"
}

View File

@@ -2,8 +2,8 @@
"title": "No leído",
"no_unread_topics": "No hay temas nuevos para leer.",
"load_more": "Cargar más",
"mark_as_read": "Mark as Read",
"selected": "Selected",
"all": "All",
"topics_marked_as_read.success": "Topics marked as read!"
"mark_as_read": "Marcar como leído.",
"selected": "Seleccionado",
"all": "Todo",
"topics_marked_as_read.success": "Temas marcados como leídos correctamente!"
}

View File

@@ -32,7 +32,7 @@
"change_password_error_wrong_current": "Su contraseña actual no es correcta!",
"change_password_error_length": "La contraseña es demasiado corta!",
"change_password_error_match": "Las contraseñas deben coincidir!",
"change_password_error_privileges": "You do not have the rights to change this password.",
"change_password_error_privileges": "No tienes los permisos suficientes para cambiar esta contraseña.",
"change_password_success": "La contraseña ha sido actualizada correctamente!",
"confirm_password": "Confirmar Contraseña",
"password": "Contraseña",
@@ -58,5 +58,7 @@
"paginate_description": "La paginación de los temas no es por página, ya que tiene scroll infinito.",
"topics_per_page": "Temas por página",
"posts_per_page": "Post por página",
"notification_sounds": "Reproducir un sonido al recibir una notificación"
"notification_sounds": "Reproducir un sonido al recibir una notificación",
"browsing": "Preferencias de navegación.",
"open_links_in_new_tab": "Abrir los enlaces externos en una nueva pestaña?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Vigased andmed",
"not-logged-in": "Sa ei ole sisse logitud",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Vigane kategooria ID",
"invalid-tid": "Vigane teema ID",
"invalid-pid": "Vigane postituse ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Salvesta muudatused",
"close": "Sulge",
"pagination": "Lehekülgede numeratsioon",
"pagination.out_of": "%1 out of %2",
"header.admin": "Admin",
"header.recent": "Hiljutised",
"header.unread": "Lugemata",
@@ -35,7 +36,7 @@
"alert.success": "Õnnestus",
"alert.error": "Viga",
"alert.banned": "Bannitud",
"alert.banned.message": "Oled bannitud!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Sa ei jälgi enam %1!",
"alert.follow": "Sa jälgid nüüd %1!",
"online": "Sees",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "kirjuta oma sõnum siia ning sõnumi saatmiseks vajuta enterit",
"chat.send": "Saada",
"chat.no_active": "Sul ei ole hetkel aktiivseid vestlusi.",
"chat.user_typing": "%1 kirjutab sõnumit..."
"chat.user_typing": "%1 kirjutab sõnumit...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Sul pole lemmikuid postitusi. Märgi mõned postitused lemmikuks ning need ilmuvad automaatselt siia!",
"loading_more_posts": "Laen postitusi",
"move_topic": "Liiguta teemat",
"move_topics": "Move Topics",
"move_post": "Liiguta postitust",
"post_moved": "Postitus liigutatud!",
"fork_topic": "Fork Topic",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Nummerda leheküljed ja postitused ning ära kasuta ''lõputut scrolli''.",
"topics_per_page": "Teemasi ühe lehekülje kohta",
"posts_per_page": "Postitusi ühe lehekülje kohta",
"notification_sounds": "Tee häält, kui saabub teade."
"notification_sounds": "Tee häält, kui saabub teade.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "به نظر نمی‌رسد که درون آمده باشید",
"not-logged-in": "به نظر نمی‌رسد که درون آمده باشید.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "شناسهٔ (ID) دسته نامعتبر است",
"invalid-tid": "شناسهٔ (ID) جستار نامعتبر است",
"invalid-pid": "شناسهٔ (ID) دیدگاه نامعتبر است",

View File

@@ -18,6 +18,7 @@
"save_changes": "اندوختن تغییرها",
"close": "بستن",
"pagination": "صفحه‌بندی",
"pagination.out_of": "%1 out of %2",
"header.admin": "مدیر",
"header.recent": "تازه‌ها",
"header.unread": "نخوانده‌ها",
@@ -35,7 +36,7 @@
"alert.success": "موفقیت",
"alert.error": "خطا",
"alert.banned": "مسدود",
"alert.banned.message": "شما بن شده‌اید، به بیرون هدایت خواهید شد.",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "شما دیگر %1 را دنبال نمی‌کنید!",
"alert.follow": "اکنون %1 را دنبال می‌کنید.",
"online": "حاضر",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "متن را اینجا بنویسد و دکمهٔ‌ Enter را برای فرستادن بفشارید.",
"chat.send": "فرستادن",
"chat.no_active": "شما هیچ گفتگوی فعالی ندارید.",
"chat.user_typing": "%1 در حال نوشتن است..."
"chat.user_typing": "%1 در حال نوشتن است...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "شما هیچ پسندی ندارید، چندین دیدگاه را پسند کنید تا آن‌ها را در اینجا ببینید.",
"loading_more_posts": "بارگذاری دیدگاه‌های بیش‌تر",
"move_topic": "جابه‌جایی جستار",
"move_topics": "Move Topics",
"move_post": "جابه‌جایی جستار",
"post_moved": "دیدگاه جابه‌جا شد!",
"fork_topic": "شاخه ساختن از جستار",

View File

@@ -58,5 +58,7 @@
"paginate_description": "محدود کردن شمار جستارها و دیدگاه‌ها در هر برگه به جای مرور بی‌پایان برگه‌ها",
"topics_per_page": "شمار جستارها در هر برگه",
"posts_per_page": "شمار دیدگاه‌ها در هر برگه",
"notification_sounds": "پخش صدا هنگامی که شما یک آگاه‌سازی دریافت می‌کنید."
"notification_sounds": "پخش صدا هنگامی که شما یک آگاه‌سازی دریافت می‌کنید.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Tallenna muutokset",
"close": "Sulje",
"pagination": "Sivutus",
"pagination.out_of": "%1 out of %2",
"header.admin": "Ylläpitäjä",
"header.recent": "Viimeisimmät",
"header.unread": "Lukemattomat",
@@ -35,7 +36,7 @@
"alert.success": "Onnistui",
"alert.error": "Virhe",
"alert.banned": "Estetty",
"alert.banned.message": "Sinut on estetty ja kirjaudut ulos!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Et seuraa enää %1!",
"alert.follow": "Seuraat nyt %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "kirjoita viestisi tähän ja paina enter lähettääksesi",
"chat.send": "Lähetä",
"chat.no_active": "Sinulla ei ole aktiivisia keskusteluita.",
"chat.user_typing": "%1 kirjoittaa ..."
"chat.user_typing": "%1 kirjoittaa ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Sinulla ei ole yhtään suosikkiviestiä. Lisää joitakin viestejä suosikeiksi nähdäksesi ne täällä!",
"loading_more_posts": "Ladataan lisää viestejä",
"move_topic": "Siirrä aihe",
"move_topics": "Move Topics",
"move_post": "Siirrä viesti",
"post_moved": "Post moved!",
"fork_topic": "Haaroita keskustelu",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Sivuta aiheet ja viestit loputtoman vierittämisen sijaan.",
"topics_per_page": "Aihetta per sivu",
"posts_per_page": "Viestiä per sivu",
"notification_sounds": "Soita merkkiääni ilmoituksen saapuessa."
"notification_sounds": "Soita merkkiääni ilmoituksen saapuessa.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Données Invalides",
"not-logged-in": "Vous ne semblez pas être connecté.",
"account-locked": "Votre compte a été temporairement suspendu.",
"invalid-cid": "ID de Catégorie Invalide",
"invalid-tid": "ID de Sujet Invalide",
"invalid-pid": "ID de Message Invalide",

View File

@@ -18,6 +18,7 @@
"save_changes": "Enregistrer les changements",
"close": "Fermer",
"pagination": "Pagination",
"pagination.out_of": "%1 sur %2",
"header.admin": "Admin",
"header.recent": "Récent",
"header.unread": "Non Lu",
@@ -35,7 +36,7 @@
"alert.success": "Succès",
"alert.error": "Erreur",
"alert.banned": "Bannis",
"alert.banned.message": "Vous avez été bannis, vous allez être déconnecté!",
"alert.banned.message": "Vous venez d'être banni, vous allez maintenant être déconnecté.",
"alert.unfollow": "Vous ne suivez plus %1!",
"alert.follow": "Vous suivez maintenant %1!",
"online": "En ligne",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "taper le message ici, presser entrer pour envoyer",
"chat.send": "Envoyer",
"chat.no_active": "Vous n'avez aucune discussion active.",
"chat.user_typing": "%1 est en train d'écrire"
"chat.user_typing": "%1 est en train d'écrire",
"chat.user_has_messaged_you": "%1 vous a envoyé un message."
}

View File

@@ -7,7 +7,7 @@
"post_is_deleted": "Ce message a été supprimé!",
"profile": "Profil",
"posted_by": "Posté par %1",
"posted_by_guest": "Posted by Guest",
"posted_by_guest": "Posté par un Invité",
"chat": "Chat",
"notify_me": "Être notifié des réponses dans ce sujet",
"quote": "Citer",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Utiliser la pagination de sujets et messages au lieu du défilement infini.",
"topics_per_page": "Sujets par Page",
"posts_per_page": "Messages par Page",
"notification_sounds": "Emettre un son lors de la réception de notifications."
"notification_sounds": "Emettre un son lors de la réception de notifications.",
"browsing": "Paramètres de Naviguation.",
"open_links_in_new_tab": "Ouvrir les liens externes dans un nouvel onglet?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "שמור שינויים",
"close": "סגור",
"pagination": "עימוד",
"pagination.out_of": "%1 out of %2",
"header.admin": "ניהול",
"header.recent": "פוסטים אחרונים",
"header.unread": "לא נקרא",
@@ -35,7 +36,7 @@
"alert.success": "הצלחה",
"alert.error": "שגיאה",
"alert.banned": "מורחק",
"alert.banned.message": "הורחקת וכעת תנותק מהאתר!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "אתה כבר לא עוקב אחרי %1!",
"alert.follow": "אתה עכשיו עוקב אחרי %1",
"online": "מחובר",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "כתוב את הודעתך כאן, ולחץ על שלח",
"chat.send": "שלח",
"chat.no_active": "אין לך צ'אטים פעילים",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "אין לך כרגע פוסטים מועדפים, סמן מספר פוסטים כמועדפים על מנת לראות אותם כאן!",
"loading_more_posts": "טוען פוסטים נוספים",
"move_topic": "הזז נושא",
"move_topics": "Move Topics",
"move_post": "הזז פוסט",
"post_moved": "Post moved!",
"fork_topic": "שכפל נושא",

View File

@@ -58,5 +58,7 @@
"paginate_description": "צור עימוד לנושאים במקום לטעון את כל התוכן בעמוד אחד.",
"topics_per_page": "כמות נושאים בעמוד",
"posts_per_page": "כמות פוסטים בעמוד",
"notification_sounds": "Play a sound when you receive a notification."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Változások mentése",
"close": "Bezár",
"pagination": "Lapszámozás",
"pagination.out_of": "%1 out of %2",
"header.admin": "Admin",
"header.recent": "Friss",
"header.unread": "Olvasatlan",
@@ -35,7 +36,7 @@
"alert.success": "Sikeres",
"alert.error": "Hiba",
"alert.banned": "Tiltva",
"alert.banned.message": "Ki vagy tiltva, ezért most ki leszel léptetve!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Nem követed tovább: %1!",
"alert.follow": "Mostantól követed: %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "írj be egy üzenetet, majd nyomj enter-t a küldéshez",
"chat.send": "Küldés",
"chat.no_active": "Nincs aktív csevegésed.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Nincs egyetlen kedvenc hozzászólásod sem, jelölj meg párat hogy itt láthasd őket!",
"loading_more_posts": "Hozzászólások betöltése",
"move_topic": "Topik áthelyezése",
"move_topics": "Move Topics",
"move_post": "Hozzászólás áthelyezése",
"post_moved": "Post moved!",
"fork_topic": "Topik szétszedése",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Oldalszámok használata a témáknál és hozzászólásoknál a végtelen görgetés helyett.",
"topics_per_page": "Téma oldalanként",
"posts_per_page": "Hozzászólás oldalanként",
"notification_sounds": "Hang lejátszása ha értesítés érkezett."
"notification_sounds": "Hang lejátszása ha értesítés érkezett.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Salva cambiamenti",
"close": "Chiudi",
"pagination": "Paginazione",
"pagination.out_of": "%1 out of %2",
"header.admin": "Amministratore",
"header.recent": "Recenti",
"header.unread": "Non letti",
@@ -35,7 +36,7 @@
"alert.success": "Riuscito",
"alert.error": "Errore",
"alert.banned": "Bannato",
"alert.banned.message": "Sei bannato e verrai disconnesso!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Non stai più seguendo %1!",
"alert.follow": "Stai seguendo %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "scrivi un messaggio qui, poi premi Invio",
"chat.send": "Invia",
"chat.no_active": "Non hai discussioni attive.",
"chat.user_typing": "%1 is typing ..."
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Non hai ancun post preferito; aggiungi qualche post ai preferiti per vederli qui!",
"loading_more_posts": "Caricamento altri post",
"move_topic": "Sposta Discussione",
"move_topics": "Move Topics",
"move_post": "Sposta Post",
"post_moved": "Post moved!",
"fork_topic": "Dividi il Topic",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Dividi argomenti e post in pagine anziché usare lo scroll infinito.",
"topics_per_page": "Argomenti per Pagina",
"posts_per_page": "Post per Pagina",
"notification_sounds": "Play a sound when you receive a notification."
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "無効なデータ",
"not-logged-in": "ログインしていていないようです。",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "無効な板ID",
"invalid-tid": "無効なスレッドID",
"invalid-pid": "無効なポストID",

View File

@@ -18,6 +18,7 @@
"save_changes": "保存する",
"close": "閉じる",
"pagination": "ページ",
"pagination.out_of": "%1 out of %2",
"header.admin": "管理",
"header.recent": "最近",
"header.unread": "未読",
@@ -35,7 +36,7 @@
"alert.success": "成功",
"alert.error": "エラー",
"alert.banned": "停止した",
"alert.banned.message": "このアカウントが停止されました!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "%1へのフォローを停止しました",
"alert.follow": "%1をフォローしています",
"online": "オンライン",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "メッセージを入力する",
"chat.send": "送信",
"chat.no_active": "チャットはありません。",
"chat.user_typing": "%1 は入力中 ..."
"chat.user_typing": "%1 は入力中 ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "お気に入りはまだありません!",
"loading_more_posts": "もっと見る",
"move_topic": "スレッドを移動",
"move_topics": "Move Topics",
"move_post": "ポストを移動",
"post_moved": "ポストを移動しました!",
"fork_topic": "スレッドをフォーク",

View File

@@ -58,5 +58,7 @@
"paginate_description": "スクロールでのページ自動ロードはしない",
"topics_per_page": "ページ毎のスレッド数",
"posts_per_page": "ページ毎のポスト数",
"notification_sounds": "通知が来たとき音を流す"
"notification_sounds": "通知が来たとき音を流す",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Klaidingi duomenys",
"not-logged-in": "Atrodo, kad jūs neesate prisijungęs.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Klaidingas kategorijos ID",
"invalid-tid": "Klaidingas temos ID",
"invalid-pid": "Klaidingas pranešimo ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Išsaugoti pakeitimus",
"close": "Uždaryti",
"pagination": "Numeracija",
"pagination.out_of": "%1 out of %2",
"header.admin": "Administratorius",
"header.recent": "Naujausi",
"header.unread": "Neskaityti",
@@ -35,7 +36,7 @@
"alert.success": "Pavyko",
"alert.error": "Klaida",
"alert.banned": "Užblokuotas",
"alert.banned.message": "Jūs esate užblokuotas ir dabar atsijungsite!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Jūs jau nebesekate %1! ",
"alert.follow": "Jūs sekate vartotoją %1!",
"online": "Prisijungęs",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "žinutę rašykite čia, norėdami išsiųsti spauskite enter",
"chat.send": "Siųsti",
"chat.no_active": "Jūs neturite aktyvių susirašinėjimų.",
"chat.user_typing": "%1 dabar rašo..."
"chat.user_typing": "%1 dabar rašo...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Neturite jokių mėgiamų pranešimų. Įtraukite pranešimą į mėgiamų sąrašą, kad pamatytumėte juos čia!",
"loading_more_posts": "Įkeliama daugiau įrašų",
"move_topic": "Perkelti temą",
"move_topics": "Move Topics",
"move_post": "Perkelti įrašą",
"post_moved": "Pranešimas perkeltas!",
"fork_topic": "Išskaidyti temą",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Temose ir kategorijose naudoti numeraciją puslapiams vietoje begalinės slinkties.",
"topics_per_page": "Temų puslapyje",
"posts_per_page": "Pranešimų puslapyje",
"notification_sounds": "Groti garsą kai gaunate pranešimą."
"notification_sounds": "Groti garsą kai gaunate pranešimą.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "simpan perubahan",
"close": "Tutup",
"pagination": "Mukasurat",
"pagination.out_of": "%1 out of %2",
"header.admin": "Pentadbir",
"header.recent": "terkini",
"header.unread": "Belum dibaca",
@@ -35,7 +36,7 @@
"alert.success": "berjaya",
"alert.error": "ralat",
"alert.banned": "Diharamkan",
"alert.banned.message": "Anda diharamkan, anda akan didaftar keluar",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Anda tidak lagi mengikuti %1",
"alert.follow": "Anda sekarang mengikuti %1",
"online": "dalam talian",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "Taip pesanan disini, tekan enter untuk menghantar",
"chat.send": "hantar",
"chat.no_active": "Anda tiada pesanan yang aktif",
"chat.user_typing": "%1 menaip"
"chat.user_typing": "%1 menaip",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Anda tiada sebarang kegemaran, tandakan kiriman yang digemari untuk dilihat disini",
"loading_more_posts": "Memuatkan lagi kiriman ",
"move_topic": "Pindahkan topik",
"move_topics": "Move Topics",
"move_post": "Pindahkan kiriman",
"post_moved": "Kiriman dipindahkan",
"fork_topic": "Salin topik",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Pecahkan topik dan pesanan adalah lebih baik daripada menggunakan scroll berterusan",
"topics_per_page": "Topik setiap muka",
"posts_per_page": "Kiriman setiap muka",
"notification_sounds": "Mainkan muzik apabila anda menerima maklumbalas"
"notification_sounds": "Mainkan muzik apabila anda menerima maklumbalas",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

View File

@@ -1,6 +1,7 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",

View File

@@ -18,6 +18,7 @@
"save_changes": "Lagre endringer",
"close": "Steng",
"pagination": "Paginering",
"pagination.out_of": "%1 out of %2",
"header.admin": "Admin",
"header.recent": "Seneste",
"header.unread": "Uleste",
@@ -35,7 +36,7 @@
"alert.success": "Suksess",
"alert.error": "Feil",
"alert.banned": "Utestengt",
"alert.banned.message": "Du er utestengt og vil bli logget ut!",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Du følger ikke lenger %1!",
"alert.follow": "Du følger nå %1!",
"online": "Online",

View File

@@ -3,5 +3,6 @@
"chat.placeholder": "skriv chat-melding her, trykk enter for å sende",
"chat.send": "Send",
"chat.no_active": "Du har ingen aktive chatter.",
"chat.user_typing": "%1 skriver ..."
"chat.user_typing": "%1 skriver ...",
"chat.user_has_messaged_you": "%1 has messaged you."
}

View File

@@ -65,6 +65,7 @@
"favourites.has_no_favourites": "Du har ingen favoritter, marker noen innlegg som favoritt for å se dem her!",
"loading_more_posts": "Laster flere innlegg",
"move_topic": "Flytt emne",
"move_topics": "Move Topics",
"move_post": "Flytt innlegg",
"post_moved": "Innlegg flyttet!",
"fork_topic": "Del emne",

View File

@@ -58,5 +58,7 @@
"paginate_description": "Paginer tråder og innlegg istedet for å bruke uendelig skrolling.",
"topics_per_page": "Tråd per side",
"posts_per_page": "Innlegg per side",
"notification_sounds": "Spill av en lyd når du mottar ett varsel."
"notification_sounds": "Spill av en lyd når du mottar ett varsel.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
}

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