mirror of
https://github.com/YunoHost-Apps/etherpad_ynh.git
synced 2024-09-03 18:36:10 +02:00
Updated 1.5.6
Updated 1.5.6.
This commit is contained in:
parent
8cf8d4e12a
commit
90575e5019
341 changed files with 16109 additions and 9485 deletions
116
sources/CHANGELOG.md
Normal file → Executable file
116
sources/CHANGELOG.md
Normal file → Executable file
|
@ -1,3 +1,119 @@
|
|||
# 1.5.6
|
||||
* Fix: Error on windows installations
|
||||
|
||||
# 1.5.5
|
||||
* SECURITY: Also don't allow read files on directory traversal on minify paths
|
||||
* NEW: padOptions can be set in settings.json now
|
||||
* Fix: Add check for special characters in createPad API function
|
||||
* Fix: Middle click on a link in firefox don't paste text anymore
|
||||
* Fix: Made setPadRaw async to import larger etherpad files
|
||||
* Fix: rtl
|
||||
* Fix: Problem in older IEs
|
||||
* Other: Update to express 4.x
|
||||
* Other: Dropped support for node 0.8
|
||||
* Other: Update ejs to version 2.x
|
||||
* Other: Moved sessionKey from settings.json to a new auto-generated SESSIONKEY.txt file
|
||||
|
||||
# 1.5.4
|
||||
* SECURITY: Also don't allow read files on directory traversal on frontend tests path
|
||||
|
||||
# 1.5.3
|
||||
* NEW: Accessibility support for Screen readers, includes new fonts and keyboard shortcuts
|
||||
* NEW: API endpoint for Append Chat Message and Chat Backend Tests
|
||||
* NEW: Error messages displayed on load are included in Default Pad Text (can be supressed)
|
||||
* NEW: Content Collector can handle key values
|
||||
* NEW: getAttributesOnPosition Method
|
||||
* FIX: Firefox keeps attributes (bold etc) on cut/copy -> paste
|
||||
* Fix: showControls=false now works
|
||||
* Fix: Cut and Paste works...
|
||||
* SECURITY: Don't allow read files on directory traversal
|
||||
|
||||
# 1.5.2
|
||||
* NEW: Support for node version 0.12.x
|
||||
* NEW: API endpoint saveRevision, getSavedRevisionCount and listSavedRevisions
|
||||
* NEW: setting to allow load testing
|
||||
* Fix: Rare scroll issue
|
||||
* Fix: Handling of custom pad path
|
||||
* Fix: Better error handling of imports and exports of type "etherpad"
|
||||
* Fix: Walking caret in chrome
|
||||
* Fix: Better handling for changeset problems
|
||||
* SECURITY Fix: Information leak for etherpad exports (CVE-2015-2298)
|
||||
|
||||
# 1.5.1
|
||||
* NEW: High resolution Icon
|
||||
* NEW: Use HTTPS for plugins.json download
|
||||
* NEW: Add 'last update' column
|
||||
* NEW: Show users and chat at the same time
|
||||
* NEW: Support io.js
|
||||
* Fix: removeAttributeOnLine now works properly
|
||||
* Fix: Plugin search and list
|
||||
* Fix: Issue where unauthed request could cause error
|
||||
* Fix: Privacy issue with .etherpad export
|
||||
* Fix: Freeze deps to improve bisectability
|
||||
* Fix: IE, everything. IE is so broken.
|
||||
* Fix: Timeslider proxy
|
||||
* Fix: All backend tests pass
|
||||
* Fix: Better support for Export into HTML
|
||||
* Fix: Timeslider stars
|
||||
* Fix: Translation update
|
||||
* Fix: Check filesystem if Abiword exists
|
||||
* Fix: Docs formatting
|
||||
* Fix: Move Save Revision notification to a gritter message
|
||||
* Fix: UeberDB MySQL Timeout issue
|
||||
* Fix: Indented +9 list items
|
||||
* Fix: Don't paste on middle click of link
|
||||
* SECURITY Fix: Issue where a malformed URL could cause EP to disclose installation location
|
||||
|
||||
# 1.5.0
|
||||
* NEW: Lots of performance improvements for page load times
|
||||
* NEW: Hook for adding CSS to Exports
|
||||
* NEW: Allow shardable socket io
|
||||
* NEW: Allow UI to show when attr/prop is applied (CSS)
|
||||
* NEW: Various scripts
|
||||
* NEW: Export full fidelity pads (including authors etc.)
|
||||
* NEW: Various front end tests
|
||||
* NEW: Backend tests
|
||||
* NEW: switchPad hook to instantly switch between pads
|
||||
* NEW: Various translations
|
||||
* NEW: Icon sets instead of images to provide quality high DPI experience
|
||||
* Fix: HTML Import blocking / hanging server
|
||||
* Fix: Export Bullet / Numbered lists HTML
|
||||
* Fix: Swagger deprecated warning
|
||||
* Fix: Bad session from crashing server
|
||||
* Fix: Allow relative settings path
|
||||
* Fix: Stop attributes being improperly assigned between 2 lines
|
||||
* Fix: Copy / Move Pad API race condition
|
||||
* Fix: Save all user preferences
|
||||
* Fix: Upgrade majority of dependency inc upgrade to SocketIO1+
|
||||
* Fix: Provide UI button to restore maximized chat window
|
||||
* Fix: Timeslider UI Fix
|
||||
* Fix: Remove Dokuwiki
|
||||
* Fix: Remove long paths from windows build (stops error during extract)
|
||||
* Fix: Various globals remvoed
|
||||
* Fix: Move all scripts into bin/
|
||||
* Fix: Various CSS bugfixes for Mobile devices
|
||||
* Fix: Overflow Toolbar
|
||||
* Fix: Line Attribute management
|
||||
|
||||
# 1.4.1
|
||||
* NEW: Translations
|
||||
* NEW: userLeave Hook
|
||||
* NEW: Script to reinsert all DB values of a Pad
|
||||
* NEW: Allow for absolute settings paths
|
||||
* NEW: API: Get Pad ID from read Only Pad ID
|
||||
* NEW: Huge improvement on MySQL database read/write (InnoDB to MyISAM)
|
||||
* NEW: Hook for Export File Name
|
||||
* NEW: Preprocessor Hook for DOMLine attributes (allows plugins to wrap entire line contents)
|
||||
* Fix: Exception on Plugin Search and fix for plugins not being fetched
|
||||
* Fix: Font on innerdoc body can be arial on paste
|
||||
* Fix: Fix Dropping of messages in handleMessage
|
||||
* Fix: Don't use Abiword for HTML exports
|
||||
* Fix: Color issues with user Icon
|
||||
* Fix: Timeslider Button
|
||||
* Fix: Session Deletion error
|
||||
* Fix: Allow browser tabs to be cycled when focus is in editor
|
||||
* Fix: Various Editor issues with Easysync potentially entering forever loop on bad changeset
|
||||
|
||||
# 1.4
|
||||
* NEW: Disable toolbar items through settings.json
|
||||
* NEW: Internal stats/metrics engine
|
||||
|
|
25
sources/CONTRIBUTING.md
Normal file → Executable file
25
sources/CONTRIBUTING.md
Normal file → Executable file
|
@ -1,6 +1,31 @@
|
|||
# Developer Guidelines
|
||||
(Please talk to people on the mailing list before you change this page, see our section on [how to get in touch](https://github.com/ether/etherpad-lite#get-in-touch))
|
||||
|
||||
## How to write a bug report
|
||||
|
||||
* Please be polite, we all are humans and problems can occur.
|
||||
* Please add as much information as possible, for example
|
||||
* client os(s) and version(s)
|
||||
* browser(s) and version(s), is the problem reproduceable on different clients
|
||||
* special environments like firewalls or antivirus
|
||||
* host os and version
|
||||
* npm and nodejs version
|
||||
* Logfiles if available
|
||||
* steps to reproduce
|
||||
* what you expected to happen
|
||||
* what actually happened
|
||||
* Please format logfiles and code examples with markdown see github Markdown help below the issue textarea for more information.
|
||||
|
||||
If you send logfiles, please set the loglevel switch DEBUG in your settings.json file:
|
||||
|
||||
```
|
||||
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
|
||||
"loglevel": "DEBUG",
|
||||
```
|
||||
|
||||
The logfile location is defined in startup script or the log is directly shown in the commandline after you have started etherpad.
|
||||
|
||||
|
||||
## Important note for pull requests
|
||||
**Pull requests should be issued against the develop branch**. We never pull directly into master.
|
||||
|
||||
|
|
0
sources/LICENSE
Normal file → Executable file
0
sources/LICENSE
Normal file → Executable file
2
sources/Makefile
Normal file → Executable file
2
sources/Makefile
Normal file → Executable file
|
@ -14,7 +14,7 @@ out/doc/assets/%: doc/assets/%
|
|||
|
||||
out/doc/%.html: doc/%.md
|
||||
mkdir -p $(@D)
|
||||
node tools/doc/generate.js --format=html --template=doc/template.html $< > $@
|
||||
node bin/doc/generate.js --format=html --template=doc/template.html $< > $@
|
||||
ifeq ($(UNAME),Darwin)
|
||||
sed -i '' 's/__VERSION__/${VERSION}/' $@
|
||||
else
|
||||
|
|
24
sources/README.md
Normal file → Executable file
24
sources/README.md
Normal file → Executable file
|
@ -11,7 +11,7 @@ that allows your web application to manage pads, users and groups. It is recomme
|
|||
|
||||
There is also a [jQuery plugin](https://github.com/ether/etherpad-lite-jquery-plugin) that helps you to embed Pads into your website.
|
||||
|
||||
There's also a full-featured plugin framework, allowing you to easily add your own features. By default your Etherpad is rather sparce and because Etherpad takes a lot of it's inspiration from Wordpress plugins are really easy to install and update. Once you have Etherpad installed you should visit the plugin page and take control.
|
||||
There's also a full-featured plugin framework, allowing you to easily add your own features. By default your Etherpad is rather sparse and because Etherpad takes a lot of it's inspiration from Wordpress plugins are really easy to install and update. Once you have Etherpad installed you should visit the plugin page and take control.
|
||||
|
||||
Finally, Etherpad comes with translations into most languages! Users are automatically delivered the correct language for their local settings.
|
||||
|
||||
|
@ -22,7 +22,7 @@ Also, check out the **[FAQ](https://github.com/ether/etherpad-lite/wiki/FAQ)**,
|
|||
|
||||
# Installation
|
||||
|
||||
Etherpad works with node v0.8 and v0.10, only. (We don't support v0.6)
|
||||
Etherpad works with node v0.10+ and io.js.
|
||||
|
||||
## Windows
|
||||
|
||||
|
@ -46,15 +46,21 @@ Now, run `start.bat` and open <http://localhost:9001> in your browser.
|
|||
|
||||
Update to the latest version with `git pull origin`, then run `bin\installOnWindows.bat`, again.
|
||||
|
||||
If cloning to a subdirectory within another project, you may need to do the following:
|
||||
|
||||
1. Start the server manually (e.g. `node/node_modules/ep_etherpad-lite/node/server.js]`)
|
||||
2. Edit the db `filename` in `settings.json` to the relative directory with the file (e.g. `application/lib/etherpad-lite/var/dirty.db`)
|
||||
3. Add auto-generated files to the main project `.gitignore`
|
||||
|
||||
[Next steps](#next-steps).
|
||||
|
||||
## GNU/Linux and other UNIX-like systems
|
||||
You'll need gzip, git, curl, libssl develop libraries, python and gcc.
|
||||
*For Debian/Ubuntu*: `apt-get install gzip git-core curl python libssl-dev pkg-config build-essential`
|
||||
*For Fedora/CentOS*: `yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools"`
|
||||
*For FreeBSD*: `portinstall node, npm, git (optional)`
|
||||
- *For Debian/Ubuntu*: `apt-get install gzip git curl python libssl-dev pkg-config build-essential`
|
||||
- *For Fedora/CentOS*: `yum install gzip git curl python openssl-devel && yum groupinstall "Development Tools"`
|
||||
- *For FreeBSD*: `portinstall node, npm, git (optional)`
|
||||
|
||||
Additionally, you'll need [node.js](http://nodejs.org) installed, Ideally the latest stable version, be careful of installing nodejs from apt.
|
||||
Additionally, you'll need [node.js](http://nodejs.org) installed, Ideally the latest stable version, we recommend installing/compiling nodejs from source (avoiding apt).
|
||||
|
||||
**As any user (we recommend creating a separate user called etherpad):**
|
||||
|
||||
|
@ -74,6 +80,10 @@ You can initially modify the settings in `settings.json`. (If you need to handle
|
|||
|
||||
You should use a dedicated database such as "mysql", if you are planning on using etherpad-in a production environment, since the "dirtyDB" database driver is only for testing and/or development purposes.
|
||||
|
||||
## Plugins and themes
|
||||
|
||||
Etherpad is very customizable through plugins. Instructions for installing themes and plugins can be found in [the plugin wiki article](https://github.com/ether/etherpad-lite/wiki/Available-Plugins).
|
||||
|
||||
## Helpful resources
|
||||
The [wiki](https://github.com/ether/etherpad-lite/wiki) is your one-stop resource for Tutorials and How-to's, really check it out! Also, feel free to improve these wiki pages.
|
||||
|
||||
|
@ -82,7 +92,7 @@ Documentation can be found in `docs/`.
|
|||
# Development
|
||||
|
||||
## Things you should know
|
||||
Read this [git guide](http://learn.github.com/p/index.html) and watch this [video on getting started with Etherpad Development](http://youtu.be/67-Q26YH97E).
|
||||
Understand [git](https://training.github.com/) and watch this [video on getting started with Etherpad Development](http://youtu.be/67-Q26YH97E).
|
||||
|
||||
If you're new to node.js, start with Ryan Dahl's [Introduction to Node.js](http://youtu.be/jo_B4LTHi3I).
|
||||
|
||||
|
|
1
sources/bin/backendTests.sh
Executable file
1
sources/bin/backendTests.sh
Executable file
|
@ -0,0 +1 @@
|
|||
src/node_modules/mocha/bin/mocha --timeout 5000 --reporter nyan tests/backend/specs/api
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
NODE_VERSION="0.8.4"
|
||||
NODE_VERSION="0.12.2"
|
||||
|
||||
#Move to the folder where ep-lite is installed
|
||||
cd `dirname $0`
|
||||
|
@ -56,8 +56,8 @@ echo "remove git history to reduce folder size"
|
|||
rm -rf .git/objects
|
||||
|
||||
echo "remove windows jsdom-nocontextify/test folder"
|
||||
rm -rf /tmp/etherpad-lite-win/node_modules/ep_etherpad-lite/node_modules/jsdom-nocontextifiy/test/
|
||||
rm -rf /tmp/etherpad-lite-win/src/node_modules/jsdom-nocontextifiy/test/
|
||||
rm -rf /tmp/etherpad-lite-win/src/node_modules/wd/node_modules/request/node_modules/form-data/node_modules/combined-stream/test
|
||||
rm -rf /tmp/etherpad-lite-win/src/node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/encodings/tables
|
||||
|
||||
echo "create the zip..."
|
||||
cd /tmp
|
||||
|
|
0
sources/bin/checkPad.js
Normal file → Executable file
0
sources/bin/checkPad.js
Normal file → Executable file
41
sources/bin/cleanRun.sh
Executable file
41
sources/bin/cleanRun.sh
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
|
||||
#Move to the folder where ep-lite is installed
|
||||
cd `dirname $0`
|
||||
|
||||
#Was this script started in the bin folder? if yes move out
|
||||
if [ -d "../bin" ]; then
|
||||
cd "../"
|
||||
fi
|
||||
|
||||
ignoreRoot=0
|
||||
for ARG in $*
|
||||
do
|
||||
if [ "$ARG" = "--root" ]; then
|
||||
ignoreRoot=1
|
||||
fi
|
||||
done
|
||||
|
||||
#Stop the script if its started as root
|
||||
if [ "$(id -u)" -eq 0 ] && [ $ignoreRoot -eq 0 ]; then
|
||||
echo "You shouldn't start Etherpad as root!"
|
||||
echo "Please type 'Etherpad rocks my socks' or supply the '--root' argument if you still want to start it as root"
|
||||
read rocks
|
||||
if [ ! $rocks = "Etherpad rocks my socks" ]
|
||||
then
|
||||
echo "Your input was incorrect"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#Clean the current environment
|
||||
rm -rf src/node_modules
|
||||
|
||||
#Prepare the enviroment
|
||||
bin/installDeps.sh $* || exit 1
|
||||
|
||||
#Move to the node folder and start
|
||||
echo "Started Etherpad..."
|
||||
|
||||
SCRIPTPATH=`pwd -P`
|
||||
node $SCRIPTPATH/node_modules/ep_etherpad-lite/node/server.js $*
|
0
sources/bin/convert.js
Normal file → Executable file
0
sources/bin/convert.js
Normal file → Executable file
0
sources/bin/convertSettings.json.template
Normal file → Executable file
0
sources/bin/convertSettings.json.template
Normal file → Executable file
0
sources/bin/deb-src/DEBIAN/control
Normal file → Executable file
0
sources/bin/deb-src/DEBIAN/control
Normal file → Executable file
0
sources/bin/deb-src/sysroot/etc/init/etherpad.conf
Normal file → Executable file
0
sources/bin/deb-src/sysroot/etc/init/etherpad.conf
Normal file → Executable file
0
sources/bin/deletePad.js
Normal file → Executable file
0
sources/bin/deletePad.js
Normal file → Executable file
45
sources/bin/dirty-db-cleaner.py
Executable file
45
sources/bin/dirty-db-cleaner.py
Executable file
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/python -u
|
||||
#
|
||||
# Created by Bjarni R. Einarsson, placed in the public domain. Go wild!
|
||||
#
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
try:
|
||||
dirtydb_input = sys.argv[1]
|
||||
dirtydb_output = '%s.new' % dirtydb_input
|
||||
assert(os.path.exists(dirtydb_input))
|
||||
assert(not os.path.exists(dirtydb_output))
|
||||
except:
|
||||
print
|
||||
print 'Usage: %s /path/to/dirty.db' % sys.argv[0]
|
||||
print
|
||||
print 'Note: Will create a file named dirty.db.new in the same folder,'
|
||||
print ' please make sure permissions are OK and a file by that'
|
||||
print ' name does not exist already. This script works by omitting'
|
||||
print ' duplicate lines from the dirty.db file, keeping only the'
|
||||
print ' last (latest) instance. No revision data should be lost,'
|
||||
print ' but be careful, make backups. If it breaks you get to keep'
|
||||
print ' both pieces!'
|
||||
print
|
||||
sys.exit(1)
|
||||
|
||||
dirtydb = {}
|
||||
lines = 0
|
||||
with open(dirtydb_input, 'r') as fd:
|
||||
print 'Reading %s' % dirtydb_input
|
||||
for line in fd:
|
||||
lines += 1
|
||||
data = json.loads(line)
|
||||
dirtydb[data['key']] = line
|
||||
if lines % 10000 == 0:
|
||||
sys.stderr.write('.')
|
||||
print
|
||||
print 'OK, found %d unique keys in %d lines' % (len(dirtydb), lines)
|
||||
|
||||
with open(dirtydb_output, 'w') as fd:
|
||||
for data in dirtydb.values():
|
||||
fd.write(data)
|
||||
|
||||
print 'Wrote data to %s. All done!' % dirtydb_output
|
18
sources/bin/doc/LICENSE
Executable file
18
sources/bin/doc/LICENSE
Executable file
|
@ -0,0 +1,18 @@
|
|||
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
76
sources/bin/doc/README.md
Executable file
76
sources/bin/doc/README.md
Executable file
|
@ -0,0 +1,76 @@
|
|||
Here's how the node docs work.
|
||||
|
||||
Each type of heading has a description block.
|
||||
|
||||
|
||||
## module
|
||||
|
||||
Stability: 3 - Stable
|
||||
|
||||
description and examples.
|
||||
|
||||
### module.property
|
||||
|
||||
* Type
|
||||
|
||||
description of the property.
|
||||
|
||||
### module.someFunction(x, y, [z=100])
|
||||
|
||||
* `x` {String} the description of the string
|
||||
* `y` {Boolean} Should I stay or should I go?
|
||||
* `z` {Number} How many zebras to bring.
|
||||
|
||||
A description of the function.
|
||||
|
||||
### Event: 'blerg'
|
||||
|
||||
* Argument: SomeClass object.
|
||||
|
||||
Modules don't usually raise events on themselves. `cluster` is the
|
||||
only exception.
|
||||
|
||||
## Class: SomeClass
|
||||
|
||||
description of the class.
|
||||
|
||||
### Class Method: SomeClass.classMethod(anArg)
|
||||
|
||||
* `anArg` {Object} Just an argument
|
||||
* `field` {String} anArg can have this field.
|
||||
* `field2` {Boolean} Another field. Default: `false`.
|
||||
* Return: {Boolean} `true` if it worked.
|
||||
|
||||
Description of the method for humans.
|
||||
|
||||
### someClass.nextSibling()
|
||||
|
||||
* Return: {SomeClass object | null} The next someClass in line.
|
||||
|
||||
### someClass.someProperty
|
||||
|
||||
* String
|
||||
|
||||
The indication of what someProperty is.
|
||||
|
||||
### Event: 'grelb'
|
||||
|
||||
* `isBlerg` {Boolean}
|
||||
|
||||
This event is emitted on instances of SomeClass, not on the module itself.
|
||||
|
||||
|
||||
* Modules have (description, Properties, Functions, Classes, Examples)
|
||||
* Properties have (type, description)
|
||||
* Functions have (list of arguments, description)
|
||||
* Classes have (description, Properties, Methods, Events)
|
||||
* Events have (list of arguments, description)
|
||||
* Methods have (list of arguments, description)
|
||||
* Properties have (type, description)
|
||||
|
||||
# CLI usage
|
||||
|
||||
Run the following from the etherpad-lite root directory:
|
||||
```sh
|
||||
$ node tools/doc/generate doc/index.md --format=html --template=doc/template.html > out.html
|
||||
```
|
120
sources/bin/doc/generate.js
Executable file
120
sources/bin/doc/generate.js
Executable file
|
@ -0,0 +1,120 @@
|
|||
#!/usr/bin/env node
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var marked = require('marked');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
// parse the args.
|
||||
// Don't use nopt or whatever for this. It's simple enough.
|
||||
|
||||
var args = process.argv.slice(2);
|
||||
var format = 'json';
|
||||
var template = null;
|
||||
var inputFile = null;
|
||||
|
||||
args.forEach(function (arg) {
|
||||
if (!arg.match(/^\-\-/)) {
|
||||
inputFile = arg;
|
||||
} else if (arg.match(/^\-\-format=/)) {
|
||||
format = arg.replace(/^\-\-format=/, '');
|
||||
} else if (arg.match(/^\-\-template=/)) {
|
||||
template = arg.replace(/^\-\-template=/, '');
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
if (!inputFile) {
|
||||
throw new Error('No input file specified');
|
||||
}
|
||||
|
||||
|
||||
console.error('Input file = %s', inputFile);
|
||||
fs.readFile(inputFile, 'utf8', function(er, input) {
|
||||
if (er) throw er;
|
||||
// process the input for @include lines
|
||||
processIncludes(inputFile, input, next);
|
||||
});
|
||||
|
||||
|
||||
var includeExpr = /^@include\s+([A-Za-z0-9-_\/]+)(?:\.)?([a-zA-Z]*)$/gmi;
|
||||
var includeData = {};
|
||||
function processIncludes(inputFile, input, cb) {
|
||||
var includes = input.match(includeExpr);
|
||||
if (includes === null) return cb(null, input);
|
||||
var errState = null;
|
||||
console.error(includes);
|
||||
var incCount = includes.length;
|
||||
if (incCount === 0) cb(null, input);
|
||||
|
||||
includes.forEach(function(include) {
|
||||
var fname = include.replace(/^@include\s+/, '');
|
||||
if (!fname.match(/\.md$/)) fname += '.md';
|
||||
|
||||
if (includeData.hasOwnProperty(fname)) {
|
||||
input = input.split(include).join(includeData[fname]);
|
||||
incCount--;
|
||||
if (incCount === 0) {
|
||||
return cb(null, input);
|
||||
}
|
||||
}
|
||||
|
||||
var fullFname = path.resolve(path.dirname(inputFile), fname);
|
||||
fs.readFile(fullFname, 'utf8', function(er, inc) {
|
||||
if (errState) return;
|
||||
if (er) return cb(errState = er);
|
||||
processIncludes(fullFname, inc, function(er, inc) {
|
||||
if (errState) return;
|
||||
if (er) return cb(errState = er);
|
||||
incCount--;
|
||||
includeData[fname] = inc;
|
||||
input = input.split(include).join(includeData[fname]);
|
||||
if (incCount === 0) {
|
||||
return cb(null, input);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function next(er, input) {
|
||||
if (er) throw er;
|
||||
switch (format) {
|
||||
case 'json':
|
||||
require('./json.js')(input, inputFile, function(er, obj) {
|
||||
console.log(JSON.stringify(obj, null, 2));
|
||||
if (er) throw er;
|
||||
});
|
||||
break;
|
||||
|
||||
case 'html':
|
||||
require('./html.js')(input, inputFile, template, function(er, html) {
|
||||
if (er) throw er;
|
||||
console.log(html);
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error('Invalid format: ' + format);
|
||||
}
|
||||
}
|
173
sources/bin/doc/html.js
Executable file
173
sources/bin/doc/html.js
Executable file
|
@ -0,0 +1,173 @@
|
|||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
var fs = require('fs');
|
||||
var marked = require('marked');
|
||||
var path = require('path');
|
||||
|
||||
module.exports = toHTML;
|
||||
|
||||
function toHTML(input, filename, template, cb) {
|
||||
var lexed = marked.lexer(input);
|
||||
fs.readFile(template, 'utf8', function(er, template) {
|
||||
if (er) return cb(er);
|
||||
render(lexed, filename, template, cb);
|
||||
});
|
||||
}
|
||||
|
||||
function render(lexed, filename, template, cb) {
|
||||
// get the section
|
||||
var section = getSection(lexed);
|
||||
|
||||
filename = path.basename(filename, '.md');
|
||||
|
||||
lexed = parseLists(lexed);
|
||||
|
||||
// generate the table of contents.
|
||||
// this mutates the lexed contents in-place.
|
||||
buildToc(lexed, filename, function(er, toc) {
|
||||
if (er) return cb(er);
|
||||
|
||||
template = template.replace(/__FILENAME__/g, filename);
|
||||
template = template.replace(/__SECTION__/g, section);
|
||||
template = template.replace(/__TOC__/g, toc);
|
||||
|
||||
// content has to be the last thing we do with
|
||||
// the lexed tokens, because it's destructive.
|
||||
content = marked.parser(lexed);
|
||||
template = template.replace(/__CONTENT__/g, content);
|
||||
|
||||
cb(null, template);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// just update the list item text in-place.
|
||||
// lists that come right after a heading are what we're after.
|
||||
function parseLists(input) {
|
||||
var state = null;
|
||||
var depth = 0;
|
||||
var output = [];
|
||||
output.links = input.links;
|
||||
input.forEach(function(tok) {
|
||||
if (state === null) {
|
||||
if (tok.type === 'heading') {
|
||||
state = 'AFTERHEADING';
|
||||
}
|
||||
output.push(tok);
|
||||
return;
|
||||
}
|
||||
if (state === 'AFTERHEADING') {
|
||||
if (tok.type === 'list_start') {
|
||||
state = 'LIST';
|
||||
if (depth === 0) {
|
||||
output.push({ type:'html', text: '<div class="signature">' });
|
||||
}
|
||||
depth++;
|
||||
output.push(tok);
|
||||
return;
|
||||
}
|
||||
state = null;
|
||||
output.push(tok);
|
||||
return;
|
||||
}
|
||||
if (state === 'LIST') {
|
||||
if (tok.type === 'list_start') {
|
||||
depth++;
|
||||
output.push(tok);
|
||||
return;
|
||||
}
|
||||
if (tok.type === 'list_end') {
|
||||
depth--;
|
||||
if (depth === 0) {
|
||||
state = null;
|
||||
output.push({ type:'html', text: '</div>' });
|
||||
}
|
||||
output.push(tok);
|
||||
return;
|
||||
}
|
||||
if (tok.text) {
|
||||
tok.text = parseListItem(tok.text);
|
||||
}
|
||||
}
|
||||
output.push(tok);
|
||||
});
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
function parseListItem(text) {
|
||||
text = text.replace(/\{([^\}]+)\}/, '<span class="type">$1</span>');
|
||||
//XXX maybe put more stuff here?
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
// section is just the first heading
|
||||
function getSection(lexed) {
|
||||
var section = '';
|
||||
for (var i = 0, l = lexed.length; i < l; i++) {
|
||||
var tok = lexed[i];
|
||||
if (tok.type === 'heading') return tok.text;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
function buildToc(lexed, filename, cb) {
|
||||
var indent = 0;
|
||||
var toc = [];
|
||||
var depth = 0;
|
||||
lexed.forEach(function(tok) {
|
||||
if (tok.type !== 'heading') return;
|
||||
if (tok.depth - depth > 1) {
|
||||
return cb(new Error('Inappropriate heading level\n' +
|
||||
JSON.stringify(tok)));
|
||||
}
|
||||
|
||||
depth = tok.depth;
|
||||
var id = getId(filename + '_' + tok.text.trim());
|
||||
toc.push(new Array((depth - 1) * 2 + 1).join(' ') +
|
||||
'* <a href="#' + id + '">' +
|
||||
tok.text + '</a>');
|
||||
tok.text += '<span><a class="mark" href="#' + id + '" ' +
|
||||
'id="' + id + '">#</a></span>';
|
||||
});
|
||||
|
||||
toc = marked.parse(toc.join('\n'));
|
||||
cb(null, toc);
|
||||
}
|
||||
|
||||
var idCounters = {};
|
||||
function getId(text) {
|
||||
text = text.toLowerCase();
|
||||
text = text.replace(/[^a-z0-9]+/g, '_');
|
||||
text = text.replace(/^_+|_+$/, '');
|
||||
text = text.replace(/^([^a-z])/, '_$1');
|
||||
if (idCounters.hasOwnProperty(text)) {
|
||||
text += '_' + (++idCounters[text]);
|
||||
} else {
|
||||
idCounters[text] = 0;
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
557
sources/bin/doc/json.js
Executable file
557
sources/bin/doc/json.js
Executable file
|
@ -0,0 +1,557 @@
|
|||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
module.exports = doJSON;
|
||||
|
||||
// Take the lexed input, and return a JSON-encoded object
|
||||
// A module looks like this: https://gist.github.com/1777387
|
||||
|
||||
var marked = require('marked');
|
||||
|
||||
function doJSON(input, filename, cb) {
|
||||
var root = {source: filename};
|
||||
var stack = [root];
|
||||
var depth = 0;
|
||||
var current = root;
|
||||
var state = null;
|
||||
var lexed = marked.lexer(input);
|
||||
lexed.forEach(function (tok) {
|
||||
var type = tok.type;
|
||||
var text = tok.text;
|
||||
|
||||
// <!-- type = module -->
|
||||
// This is for cases where the markdown semantic structure is lacking.
|
||||
if (type === 'paragraph' || type === 'html') {
|
||||
var metaExpr = /<!--([^=]+)=([^\-]+)-->\n*/g;
|
||||
text = text.replace(metaExpr, function(_0, k, v) {
|
||||
current[k.trim()] = v.trim();
|
||||
return '';
|
||||
});
|
||||
text = text.trim();
|
||||
if (!text) return;
|
||||
}
|
||||
|
||||
if (type === 'heading' &&
|
||||
!text.trim().match(/^example/i)) {
|
||||
if (tok.depth - depth > 1) {
|
||||
return cb(new Error('Inappropriate heading level\n'+
|
||||
JSON.stringify(tok)));
|
||||
}
|
||||
|
||||
// Sometimes we have two headings with a single
|
||||
// blob of description. Treat as a clone.
|
||||
if (current &&
|
||||
state === 'AFTERHEADING' &&
|
||||
depth === tok.depth) {
|
||||
var clone = current;
|
||||
current = newSection(tok);
|
||||
current.clone = clone;
|
||||
// don't keep it around on the stack.
|
||||
stack.pop();
|
||||
} else {
|
||||
// if the level is greater than the current depth,
|
||||
// then it's a child, so we should just leave the stack
|
||||
// as it is.
|
||||
// However, if it's a sibling or higher, then it implies
|
||||
// the closure of the other sections that came before.
|
||||
// root is always considered the level=0 section,
|
||||
// and the lowest heading is 1, so this should always
|
||||
// result in having a valid parent node.
|
||||
var d = tok.depth;
|
||||
while (d <= depth) {
|
||||
finishSection(stack.pop(), stack[stack.length - 1]);
|
||||
d++;
|
||||
}
|
||||
current = newSection(tok);
|
||||
}
|
||||
|
||||
depth = tok.depth;
|
||||
stack.push(current);
|
||||
state = 'AFTERHEADING';
|
||||
return;
|
||||
} // heading
|
||||
|
||||
// Immediately after a heading, we can expect the following
|
||||
//
|
||||
// { type: 'code', text: 'Stability: ...' },
|
||||
//
|
||||
// a list: starting with list_start, ending with list_end,
|
||||
// maybe containing other nested lists in each item.
|
||||
//
|
||||
// If one of these isnt' found, then anything that comes between
|
||||
// here and the next heading should be parsed as the desc.
|
||||
var stability
|
||||
if (state === 'AFTERHEADING') {
|
||||
if (type === 'code' &&
|
||||
(stability = text.match(/^Stability: ([0-5])(?:\s*-\s*)?(.*)$/))) {
|
||||
current.stability = parseInt(stability[1], 10);
|
||||
current.stabilityText = stability[2].trim();
|
||||
return;
|
||||
} else if (type === 'list_start' && !tok.ordered) {
|
||||
state = 'AFTERHEADING_LIST';
|
||||
current.list = current.list || [];
|
||||
current.list.push(tok);
|
||||
current.list.level = 1;
|
||||
} else {
|
||||
current.desc = current.desc || [];
|
||||
if (!Array.isArray(current.desc)) {
|
||||
current.shortDesc = current.desc;
|
||||
current.desc = [];
|
||||
}
|
||||
current.desc.push(tok);
|
||||
state = 'DESC';
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (state === 'AFTERHEADING_LIST') {
|
||||
current.list.push(tok);
|
||||
if (type === 'list_start') {
|
||||
current.list.level++;
|
||||
} else if (type === 'list_end') {
|
||||
current.list.level--;
|
||||
}
|
||||
if (current.list.level === 0) {
|
||||
state = 'AFTERHEADING';
|
||||
processList(current);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
current.desc = current.desc || [];
|
||||
current.desc.push(tok);
|
||||
|
||||
});
|
||||
|
||||
// finish any sections left open
|
||||
while (root !== (current = stack.pop())) {
|
||||
finishSection(current, stack[stack.length - 1]);
|
||||
}
|
||||
|
||||
return cb(null, root)
|
||||
}
|
||||
|
||||
|
||||
// go from something like this:
|
||||
// [ { type: 'list_item_start' },
|
||||
// { type: 'text',
|
||||
// text: '`settings` Object, Optional' },
|
||||
// { type: 'list_start', ordered: false },
|
||||
// { type: 'list_item_start' },
|
||||
// { type: 'text',
|
||||
// text: 'exec: String, file path to worker file. Default: `__filename`' },
|
||||
// { type: 'list_item_end' },
|
||||
// { type: 'list_item_start' },
|
||||
// { type: 'text',
|
||||
// text: 'args: Array, string arguments passed to worker.' },
|
||||
// { type: 'text',
|
||||
// text: 'Default: `process.argv.slice(2)`' },
|
||||
// { type: 'list_item_end' },
|
||||
// { type: 'list_item_start' },
|
||||
// { type: 'text',
|
||||
// text: 'silent: Boolean, whether or not to send output to parent\'s stdio.' },
|
||||
// { type: 'text', text: 'Default: `false`' },
|
||||
// { type: 'space' },
|
||||
// { type: 'list_item_end' },
|
||||
// { type: 'list_end' },
|
||||
// { type: 'list_item_end' },
|
||||
// { type: 'list_end' } ]
|
||||
// to something like:
|
||||
// [ { name: 'settings',
|
||||
// type: 'object',
|
||||
// optional: true,
|
||||
// settings:
|
||||
// [ { name: 'exec',
|
||||
// type: 'string',
|
||||
// desc: 'file path to worker file',
|
||||
// default: '__filename' },
|
||||
// { name: 'args',
|
||||
// type: 'array',
|
||||
// default: 'process.argv.slice(2)',
|
||||
// desc: 'string arguments passed to worker.' },
|
||||
// { name: 'silent',
|
||||
// type: 'boolean',
|
||||
// desc: 'whether or not to send output to parent\'s stdio.',
|
||||
// default: 'false' } ] } ]
|
||||
|
||||
function processList(section) {
|
||||
var list = section.list;
|
||||
var values = [];
|
||||
var current;
|
||||
var stack = [];
|
||||
|
||||
// for now, *just* build the heirarchical list
|
||||
list.forEach(function(tok) {
|
||||
var type = tok.type;
|
||||
if (type === 'space') return;
|
||||
if (type === 'list_item_start') {
|
||||
if (!current) {
|
||||
var n = {};
|
||||
values.push(n);
|
||||
current = n;
|
||||
} else {
|
||||
current.options = current.options || [];
|
||||
stack.push(current);
|
||||
var n = {};
|
||||
current.options.push(n);
|
||||
current = n;
|
||||
}
|
||||
return;
|
||||
} else if (type === 'list_item_end') {
|
||||
if (!current) {
|
||||
throw new Error('invalid list - end without current item\n' +
|
||||
JSON.stringify(tok) + '\n' +
|
||||
JSON.stringify(list));
|
||||
}
|
||||
current = stack.pop();
|
||||
} else if (type === 'text') {
|
||||
if (!current) {
|
||||
throw new Error('invalid list - text without current item\n' +
|
||||
JSON.stringify(tok) + '\n' +
|
||||
JSON.stringify(list));
|
||||
}
|
||||
current.textRaw = current.textRaw || '';
|
||||
current.textRaw += tok.text + ' ';
|
||||
}
|
||||
});
|
||||
|
||||
// shove the name in there for properties, since they are always
|
||||
// just going to be the value etc.
|
||||
if (section.type === 'property' && values[0]) {
|
||||
values[0].textRaw = '`' + section.name + '` ' + values[0].textRaw;
|
||||
}
|
||||
|
||||
// now pull the actual values out of the text bits.
|
||||
values.forEach(parseListItem);
|
||||
|
||||
// Now figure out what this list actually means.
|
||||
// depending on the section type, the list could be different things.
|
||||
|
||||
switch (section.type) {
|
||||
case 'ctor':
|
||||
case 'classMethod':
|
||||
case 'method':
|
||||
// each item is an argument, unless the name is 'return',
|
||||
// in which case it's the return value.
|
||||
section.signatures = section.signatures || [];
|
||||
var sig = {}
|
||||
section.signatures.push(sig);
|
||||
sig.params = values.filter(function(v) {
|
||||
if (v.name === 'return') {
|
||||
sig.return = v;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
parseSignature(section.textRaw, sig);
|
||||
break;
|
||||
|
||||
case 'property':
|
||||
// there should be only one item, which is the value.
|
||||
// copy the data up to the section.
|
||||
var value = values[0] || {};
|
||||
delete value.name;
|
||||
section.typeof = value.type;
|
||||
delete value.type;
|
||||
Object.keys(value).forEach(function(k) {
|
||||
section[k] = value[k];
|
||||
});
|
||||
break;
|
||||
|
||||
case 'event':
|
||||
// event: each item is an argument.
|
||||
section.params = values;
|
||||
break;
|
||||
}
|
||||
|
||||
// section.listParsed = values;
|
||||
delete section.list;
|
||||
}
|
||||
|
||||
|
||||
// textRaw = "someobject.someMethod(a, [b=100], [c])"
|
||||
function parseSignature(text, sig) {
|
||||
var params = text.match(paramExpr);
|
||||
if (!params) return;
|
||||
params = params[1];
|
||||
// the ] is irrelevant. [ indicates optionalness.
|
||||
params = params.replace(/\]/g, '');
|
||||
params = params.split(/,/)
|
||||
params.forEach(function(p, i, _) {
|
||||
p = p.trim();
|
||||
if (!p) return;
|
||||
var param = sig.params[i];
|
||||
var optional = false;
|
||||
var def;
|
||||
// [foo] -> optional
|
||||
if (p.charAt(0) === '[') {
|
||||
optional = true;
|
||||
p = p.substr(1);
|
||||
}
|
||||
var eq = p.indexOf('=');
|
||||
if (eq !== -1) {
|
||||
def = p.substr(eq + 1);
|
||||
p = p.substr(0, eq);
|
||||
}
|
||||
if (!param) {
|
||||
param = sig.params[i] = { name: p };
|
||||
}
|
||||
// at this point, the name should match.
|
||||
if (p !== param.name) {
|
||||
console.error('Warning: invalid param "%s"', p);
|
||||
console.error(' > ' + JSON.stringify(param));
|
||||
console.error(' > ' + text);
|
||||
}
|
||||
if (optional) param.optional = true;
|
||||
if (def !== undefined) param.default = def;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function parseListItem(item) {
|
||||
if (item.options) item.options.forEach(parseListItem);
|
||||
if (!item.textRaw) return;
|
||||
|
||||
// the goal here is to find the name, type, default, and optional.
|
||||
// anything left over is 'desc'
|
||||
var text = item.textRaw.trim();
|
||||
// text = text.replace(/^(Argument|Param)s?\s*:?\s*/i, '');
|
||||
|
||||
text = text.replace(/^, /, '').trim();
|
||||
var retExpr = /^returns?\s*:?\s*/i;
|
||||
var ret = text.match(retExpr);
|
||||
if (ret) {
|
||||
item.name = 'return';
|
||||
text = text.replace(retExpr, '');
|
||||
} else {
|
||||
var nameExpr = /^['`"]?([^'`": \{]+)['`"]?\s*:?\s*/;
|
||||
var name = text.match(nameExpr);
|
||||
if (name) {
|
||||
item.name = name[1];
|
||||
text = text.replace(nameExpr, '');
|
||||
}
|
||||
}
|
||||
|
||||
text = text.trim();
|
||||
var defaultExpr = /\(default\s*[:=]?\s*['"`]?([^, '"`]*)['"`]?\)/i;
|
||||
var def = text.match(defaultExpr);
|
||||
if (def) {
|
||||
item.default = def[1];
|
||||
text = text.replace(defaultExpr, '');
|
||||
}
|
||||
|
||||
text = text.trim();
|
||||
var typeExpr = /^\{([^\}]+)\}/;
|
||||
var type = text.match(typeExpr);
|
||||
if (type) {
|
||||
item.type = type[1];
|
||||
text = text.replace(typeExpr, '');
|
||||
}
|
||||
|
||||
text = text.trim();
|
||||
var optExpr = /^Optional\.|(?:, )?Optional$/;
|
||||
var optional = text.match(optExpr);
|
||||
if (optional) {
|
||||
item.optional = true;
|
||||
text = text.replace(optExpr, '');
|
||||
}
|
||||
|
||||
text = text.replace(/^\s*-\s*/, '');
|
||||
text = text.trim();
|
||||
if (text) item.desc = text;
|
||||
}
|
||||
|
||||
|
||||
function finishSection(section, parent) {
|
||||
if (!section || !parent) {
|
||||
throw new Error('Invalid finishSection call\n'+
|
||||
JSON.stringify(section) + '\n' +
|
||||
JSON.stringify(parent));
|
||||
}
|
||||
|
||||
if (!section.type) {
|
||||
section.type = 'module';
|
||||
if (parent && (parent.type === 'misc')) {
|
||||
section.type = 'misc';
|
||||
}
|
||||
section.displayName = section.name;
|
||||
section.name = section.name.toLowerCase()
|
||||
.trim().replace(/\s+/g, '_');
|
||||
}
|
||||
|
||||
if (section.desc && Array.isArray(section.desc)) {
|
||||
section.desc.links = section.desc.links || [];
|
||||
section.desc = marked.parser(section.desc);
|
||||
}
|
||||
|
||||
if (!section.list) section.list = [];
|
||||
processList(section);
|
||||
|
||||
// classes sometimes have various 'ctor' children
|
||||
// which are actually just descriptions of a constructor
|
||||
// class signature.
|
||||
// Merge them into the parent.
|
||||
if (section.type === 'class' && section.ctors) {
|
||||
section.signatures = section.signatures || [];
|
||||
var sigs = section.signatures;
|
||||
section.ctors.forEach(function(ctor) {
|
||||
ctor.signatures = ctor.signatures || [{}];
|
||||
ctor.signatures.forEach(function(sig) {
|
||||
sig.desc = ctor.desc;
|
||||
});
|
||||
sigs.push.apply(sigs, ctor.signatures);
|
||||
});
|
||||
delete section.ctors;
|
||||
}
|
||||
|
||||
// properties are a bit special.
|
||||
// their "type" is the type of object, not "property"
|
||||
if (section.properties) {
|
||||
section.properties.forEach(function (p) {
|
||||
if (p.typeof) p.type = p.typeof;
|
||||
else delete p.type;
|
||||
delete p.typeof;
|
||||
});
|
||||
}
|
||||
|
||||
// handle clones
|
||||
if (section.clone) {
|
||||
var clone = section.clone;
|
||||
delete section.clone;
|
||||
delete clone.clone;
|
||||
deepCopy(section, clone);
|
||||
finishSection(clone, parent);
|
||||
}
|
||||
|
||||
var plur;
|
||||
if (section.type.slice(-1) === 's') {
|
||||
plur = section.type + 'es';
|
||||
} else if (section.type.slice(-1) === 'y') {
|
||||
plur = section.type.replace(/y$/, 'ies');
|
||||
} else {
|
||||
plur = section.type + 's';
|
||||
}
|
||||
|
||||
// if the parent's type is 'misc', then it's just a random
|
||||
// collection of stuff, like the "globals" section.
|
||||
// Make the children top-level items.
|
||||
if (section.type === 'misc') {
|
||||
Object.keys(section).forEach(function(k) {
|
||||
switch (k) {
|
||||
case 'textRaw':
|
||||
case 'name':
|
||||
case 'type':
|
||||
case 'desc':
|
||||
case 'miscs':
|
||||
return;
|
||||
default:
|
||||
if (parent.type === 'misc') {
|
||||
return;
|
||||
}
|
||||
if (Array.isArray(k) && parent[k]) {
|
||||
parent[k] = parent[k].concat(section[k]);
|
||||
} else if (!parent[k]) {
|
||||
parent[k] = section[k];
|
||||
} else {
|
||||
// parent already has, and it's not an array.
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
parent[plur] = parent[plur] || [];
|
||||
parent[plur].push(section);
|
||||
}
|
||||
|
||||
|
||||
// Not a general purpose deep copy.
|
||||
// But sufficient for these basic things.
|
||||
function deepCopy(src, dest) {
|
||||
Object.keys(src).filter(function(k) {
|
||||
return !dest.hasOwnProperty(k);
|
||||
}).forEach(function(k) {
|
||||
dest[k] = deepCopy_(src[k]);
|
||||
});
|
||||
}
|
||||
|
||||
function deepCopy_(src) {
|
||||
if (!src) return src;
|
||||
if (Array.isArray(src)) {
|
||||
var c = new Array(src.length);
|
||||
src.forEach(function(v, i) {
|
||||
c[i] = deepCopy_(v);
|
||||
});
|
||||
return c;
|
||||
}
|
||||
if (typeof src === 'object') {
|
||||
var c = {};
|
||||
Object.keys(src).forEach(function(k) {
|
||||
c[k] = deepCopy_(src[k]);
|
||||
});
|
||||
return c;
|
||||
}
|
||||
return src;
|
||||
}
|
||||
|
||||
|
||||
// these parse out the contents of an H# tag
|
||||
var eventExpr = /^Event(?::|\s)+['"]?([^"']+).*$/i;
|
||||
var classExpr = /^Class:\s*([^ ]+).*?$/i;
|
||||
var propExpr = /^(?:property:?\s*)?[^\.]+\.([^ \.\(\)]+)\s*?$/i;
|
||||
var braceExpr = /^(?:property:?\s*)?[^\.\[]+(\[[^\]]+\])\s*?$/i;
|
||||
var classMethExpr =
|
||||
/^class\s*method\s*:?[^\.]+\.([^ \.\(\)]+)\([^\)]*\)\s*?$/i;
|
||||
var methExpr =
|
||||
/^(?:method:?\s*)?(?:[^\.]+\.)?([^ \.\(\)]+)\([^\)]*\)\s*?$/i;
|
||||
var newExpr = /^new ([A-Z][a-z]+)\([^\)]*\)\s*?$/;
|
||||
var paramExpr = /\((.*)\);?$/;
|
||||
|
||||
function newSection(tok) {
|
||||
var section = {};
|
||||
// infer the type from the text.
|
||||
var text = section.textRaw = tok.text;
|
||||
if (text.match(eventExpr)) {
|
||||
section.type = 'event';
|
||||
section.name = text.replace(eventExpr, '$1');
|
||||
} else if (text.match(classExpr)) {
|
||||
section.type = 'class';
|
||||
section.name = text.replace(classExpr, '$1');
|
||||
} else if (text.match(braceExpr)) {
|
||||
section.type = 'property';
|
||||
section.name = text.replace(braceExpr, '$1');
|
||||
} else if (text.match(propExpr)) {
|
||||
section.type = 'property';
|
||||
section.name = text.replace(propExpr, '$1');
|
||||
} else if (text.match(classMethExpr)) {
|
||||
section.type = 'classMethod';
|
||||
section.name = text.replace(classMethExpr, '$1');
|
||||
} else if (text.match(methExpr)) {
|
||||
section.type = 'method';
|
||||
section.name = text.replace(methExpr, '$1');
|
||||
} else if (text.match(newExpr)) {
|
||||
section.type = 'ctor';
|
||||
section.name = text.replace(newExpr, '$1');
|
||||
} else {
|
||||
section.name = text;
|
||||
}
|
||||
return section;
|
||||
}
|
15
sources/bin/doc/package.json
Executable file
15
sources/bin/doc/package.json
Executable file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
||||
"name": "node-doc-generator",
|
||||
"description": "Internal tool for generating Node.js API docs",
|
||||
"version": "0.0.0",
|
||||
"engines": {
|
||||
"node": ">=0.6.10"
|
||||
},
|
||||
"dependencies": {
|
||||
"marked": "~0.1.9"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"optionalDependencies": {},
|
||||
"bin": "./generate.js"
|
||||
}
|
0
sources/bin/extractPadData.js
Normal file → Executable file
0
sources/bin/extractPadData.js
Normal file → Executable file
0
sources/bin/importSqlFile.js
Normal file → Executable file
0
sources/bin/importSqlFile.js
Normal file → Executable file
|
@ -23,6 +23,7 @@ hash curl > /dev/null 2>&1 || {
|
|||
}
|
||||
|
||||
#Is node installed?
|
||||
#not checking io.js, default installation creates a symbolic link to node
|
||||
hash node > /dev/null 2>&1 || {
|
||||
echo "Please install node.js ( http://nodejs.org )" >&2
|
||||
exit 1
|
||||
|
@ -36,18 +37,25 @@ hash npm > /dev/null 2>&1 || {
|
|||
|
||||
#check npm version
|
||||
NPM_VERSION=$(npm --version)
|
||||
if [ ! $(echo $NPM_VERSION | cut -d "." -f 1) = "1" ]; then
|
||||
echo "You're running a wrong version of npm, you're using $NPM_VERSION, we need 1.x" >&2
|
||||
NPM_MAIN_VERSION=$(echo $NPM_VERSION | cut -d "." -f 1)
|
||||
if [ $(echo $NPM_MAIN_VERSION) = "0" ]; then
|
||||
echo "You're running a wrong version of npm, you're using $NPM_VERSION, we need 1.x or higher" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#check node version
|
||||
NODE_VERSION=$(node --version)
|
||||
NODE_V_MINOR=$(echo $NODE_VERSION | cut -d "." -f 1-2)
|
||||
if [ ! $NODE_V_MINOR = "v0.8" ] && [ ! $NODE_V_MINOR = "v0.10" ] && [ ! $NODE_V_MINOR = "v0.11" ]; then
|
||||
echo "You're running a wrong version of node, you're using $NODE_VERSION, we need v0.8.x, v0.10.x or v0.11.x" >&2
|
||||
#iojs version checking added
|
||||
if hash iojs 2>/dev/null; then
|
||||
IOJS_VERSION=$(iojs --version)
|
||||
fi
|
||||
if [ ! $NODE_V_MINOR = "v0.10" ] && [ ! $NODE_V_MINOR = "v0.11" ] && [ ! $NODE_V_MINOR = "v0.12" ]; then
|
||||
if [ ! $IOJS_VERSION ]; then
|
||||
echo "You're running a wrong version of node, or io.js is not installed. You're using $NODE_VERSION, we need v0.10.x, v0.11.x or v0.12.x" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#Get the name of the settings file
|
||||
settings="settings.json"
|
||||
|
@ -80,9 +88,9 @@ DOWNLOAD_JQUERY="true"
|
|||
NEEDED_VERSION="1.9.1"
|
||||
if [ -f "src/static/js/jquery.js" ]; then
|
||||
if [ $(uname) = "SunOS" ]; then
|
||||
VERSION=$(cat src/static/js/jquery.js | head -n 3 | ggrep -o "v[0-9]\.[0-9]\(\.[0-9]\)\?");
|
||||
VERSION=$(head -n 3 src/static/js/jquery.js | ggrep -o "v[0-9]\.[0-9]\(\.[0-9]\)\?")
|
||||
else
|
||||
VERSION=$(cat src/static/js/jquery.js | head -n 3 | grep -o "v[0-9]\.[0-9]\(\.[0-9]\)\?");
|
||||
VERSION=$(head -n 3 src/static/js/jquery.js | grep -o "v[0-9]\.[0-9]\(\.[0-9]\)\?")
|
||||
fi
|
||||
|
||||
if [ ${VERSION#v} = $NEEDED_VERSION ]; then
|
||||
|
@ -95,10 +103,10 @@ if [ $DOWNLOAD_JQUERY = "true" ]; then
|
|||
fi
|
||||
|
||||
#Remove all minified data to force node creating it new
|
||||
echo "Clear minfified cache..."
|
||||
echo "Clearing minified cache..."
|
||||
rm -f var/minified*
|
||||
|
||||
echo "ensure custom css/js files are created..."
|
||||
echo "Ensure custom css/js files are created..."
|
||||
|
||||
for f in "index" "pad" "timeslider"
|
||||
do
|
||||
|
|
2
sources/bin/installOnWindows.bat
Normal file → Executable file
2
sources/bin/installOnWindows.bat
Normal file → Executable file
|
@ -8,7 +8,7 @@ cmd /C node -e "" || ( echo "Please install node.js ( http://nodejs.org )" && ex
|
|||
|
||||
echo _
|
||||
echo Checking node version...
|
||||
set check_version="if(['8','10'].indexOf(process.version.split('.')[1].toString()) === -1) { console.log('You are running a wrong version of Node. Etherpad requires v0.8.x or v0.10.x'); process.exit(1) }"
|
||||
set check_version="if(['10','11','12'].indexOf(process.version.split('.')[1]) === -1 && process.version.split('.')[0] !== '1') { console.log('You are running a wrong version of Node. Etherpad requires v0.10+'); process.exit(1) }"
|
||||
cmd /C node -e %check_version% || exit /B 1
|
||||
|
||||
echo _
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ -d "../bin" ]; then
|
||||
cd "../"
|
||||
fi
|
||||
|
||||
JSHINT=./node_modules/jshint/bin/hint
|
||||
|
||||
$JSHINT ./node/
|
|
@ -1,79 +0,0 @@
|
|||
This is the new load testing file: https://bitbucket.org/rbraakman/etherpad-stresstest
|
||||
|
||||
BELOW is the original load testing file.
|
||||
|
||||
This load tester is extremely useful for testing how many dormant clients can connect to etherpad.
|
||||
|
||||
TODO:
|
||||
Emulate characters being typed into a pad
|
||||
|
||||
HOW TO USE (from @mjd75) proper formatting at: https://github.com/ether/etherpad-lite/issues/360
|
||||
|
||||
Server 1:
|
||||
Installed Node.js (etc), EtherPad and MySQL
|
||||
|
||||
Server 2:
|
||||
Installed Xvfb and PhantomJS
|
||||
|
||||
I installed Xvfb following (roughly) this guide: http://blog.martin-lyness.com/archives/installing-xvfb-on-ubuntu-9-10-karmic-koala
|
||||
|
||||
#sudo apt-get install xvfb
|
||||
#sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
|
||||
|
||||
Launched two instances of Xvfb directly from the terminal:
|
||||
|
||||
#Xvfb :0 -ac
|
||||
#Xvfb :1 -ac
|
||||
|
||||
I installed PhantomJS following this guide: http://code.google.com/p/phantomjs/wiki/Installation
|
||||
|
||||
#sudo add-apt-repository ppa:jerome-etienne/neoip
|
||||
#sudo apt-get update
|
||||
#sudo apt-get install phantomjs
|
||||
|
||||
I created a small JavaScript file for PhatomJS to use to control the browser instances:
|
||||
|
||||
### BEGIN JAVASCRIPT ###
|
||||
|
||||
var page = new WebPage(),
|
||||
t, address;
|
||||
|
||||
if (phantom.args.length === 0) {
|
||||
console.log('Usage: loader.js <some URL>');
|
||||
phantom.exit();
|
||||
} else {
|
||||
t = Date.now();
|
||||
address = phantom.args[0];
|
||||
|
||||
var page = new WebPage();
|
||||
page.onResourceRequested = function (request) {
|
||||
console.log('Request ' + JSON.stringify(request, undefined, 4));
|
||||
};
|
||||
page.onResourceReceived = function (response) {
|
||||
console.log('Receive ' + JSON.stringify(response, undefined, 4));
|
||||
};
|
||||
page.open(address);
|
||||
|
||||
}
|
||||
|
||||
### END JAVASCRIPT ###
|
||||
|
||||
And finally a launcher script that uses screen to run 400 instances of PhantomJS with the above script:
|
||||
|
||||
### BEGIN SHELL SCRIPT ###
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
# connect 200 instances to display :0
|
||||
for i in {1..200}
|
||||
do
|
||||
DISPLAY=:0 screen -d -m phantomjs loader.js http://ec2-50-17-168-xx.compute-1.amazonaws.com:9001/p/pad2 && sleep 2
|
||||
done
|
||||
|
||||
# connect 200 instances to display :1
|
||||
for i in {1..200}
|
||||
do
|
||||
DISPLAY=:1 screen -d -m phantomjs loader.js http://ec2-50-17-168-xx.compute-1.amazonaws.com:9001/p/pad2 && sleep 2
|
||||
done
|
||||
|
||||
### END SHELL SCRIPT ###
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# connect 500 instances to display :0
|
||||
for i in {1..500}
|
||||
do
|
||||
echo $i
|
||||
echo "Displaying Some shit"
|
||||
DISPLAY=:0 screen -d -m /home/phantomjs/bin/phantomjs loader.js http://10.0.0.55:9001/p/pad2 && sleep 2
|
||||
done
|
||||
|
||||
# connect 500 instances to display :1
|
||||
for i in {1..500}
|
||||
do
|
||||
echo $i
|
||||
DISPLAY=:1 screen -d -m /home/phantomjs/bin/phantomjs loader.js http://10.0.0.55:9001/p/pad2 && sleep 2
|
||||
done
|
|
@ -1,20 +0,0 @@
|
|||
var page = new WebPage(),
|
||||
t, address;
|
||||
|
||||
if (phantom.args.length === 0) {
|
||||
console.log('Usage: loader.js <some URL>');
|
||||
phantom.exit();
|
||||
} else {
|
||||
t = Date.now();
|
||||
address = phantom.args[0];
|
||||
|
||||
var page = new WebPage();
|
||||
page.onResourceRequested = function (request) {
|
||||
console.log('Request ' + JSON.stringify(request, undefined, 4));
|
||||
};
|
||||
page.onResourceReceived = function (response) {
|
||||
console.log('Receive ' + JSON.stringify(response, undefined, 4));
|
||||
};
|
||||
page.open(address);
|
||||
|
||||
}
|
0
sources/bin/migrateDirtyDBtoMySQL.js
Normal file → Executable file
0
sources/bin/migrateDirtyDBtoMySQL.js
Normal file → Executable file
120
sources/bin/rebuildPad.js
Executable file
120
sources/bin/rebuildPad.js
Executable file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
This is a repair tool. It rebuilds an old pad at a new pad location up to a
|
||||
known "good" revision.
|
||||
*/
|
||||
|
||||
if(process.argv.length != 4 && process.argv.length != 5) {
|
||||
console.error("Use: node bin/repairPad.js $PADID $REV [$NEWPADID]");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var npm = require("../src/node_modules/npm");
|
||||
var async = require("../src/node_modules/async");
|
||||
var ueberDB = require("../src/node_modules/ueberDB");
|
||||
|
||||
var padId = process.argv[2];
|
||||
var newRevHead = process.argv[3];
|
||||
var newPadId = process.argv[4] || padId + "-rebuilt";
|
||||
|
||||
var db, oldPad, newPad, settings;
|
||||
var AuthorManager, ChangeSet, Pad, PadManager;
|
||||
|
||||
async.series([
|
||||
function(callback) {
|
||||
npm.load({}, function(err) {
|
||||
if(err) {
|
||||
console.error("Could not load NPM: " + err)
|
||||
process.exit(1);
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
})
|
||||
},
|
||||
function(callback) {
|
||||
// Get a handle into the database
|
||||
db = require('../src/node/db/DB');
|
||||
db.init(callback);
|
||||
}, function(callback) {
|
||||
PadManager = require('../src/node/db/PadManager');
|
||||
Pad = require('../src/node/db/Pad').Pad;
|
||||
// Get references to the original pad and to a newly created pad
|
||||
// HACK: This is a standalone script, so we want to write everything
|
||||
// out to the database immediately. The only problem with this is
|
||||
// that a driver (like the mysql driver) can hardcode these values.
|
||||
db.db.db.settings = {cache: 0, writeInterval: 0, json: true};
|
||||
// Validate the newPadId if specified and that a pad with that ID does
|
||||
// not already exist to avoid overwriting it.
|
||||
if (!PadManager.isValidPadId(newPadId)) {
|
||||
console.error("Cannot create a pad with that id as it is invalid");
|
||||
process.exit(1);
|
||||
}
|
||||
PadManager.doesPadExists(newPadId, function(err, exists) {
|
||||
if (exists) {
|
||||
console.error("Cannot create a pad with that id as it already exists");
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
PadManager.getPad(padId, function(err, pad) {
|
||||
oldPad = pad;
|
||||
newPad = new Pad(newPadId);
|
||||
callback();
|
||||
});
|
||||
}, function(callback) {
|
||||
// Clone all Chat revisions
|
||||
var chatHead = oldPad.chatHead;
|
||||
for(var i = 0, curHeadNum = 0; i <= chatHead; i++) {
|
||||
db.db.get("pad:" + padId + ":chat:" + i, function (err, chat) {
|
||||
db.db.set("pad:" + newPadId + ":chat:" + curHeadNum++, chat);
|
||||
console.log("Created: Chat Revision: pad:" + newPadId + ":chat:" + curHeadNum);
|
||||
});
|
||||
}
|
||||
callback();
|
||||
}, function(callback) {
|
||||
// Rebuild Pad from revisions up to and including the new revision head
|
||||
AuthorManager = require("../src/node/db/AuthorManager");
|
||||
Changeset = require("ep_etherpad-lite/static/js/Changeset");
|
||||
// Author attributes are derived from changesets, but there can also be
|
||||
// non-author attributes with specific mappings that changesets depend on
|
||||
// and, AFAICT, cannot be recreated any other way
|
||||
newPad.pool.numToAttrib = oldPad.pool.numToAttrib;
|
||||
for(var curRevNum = 0; curRevNum <= newRevHead; curRevNum++) {
|
||||
db.db.get("pad:" + padId + ":revs:" + curRevNum, function(err, rev) {
|
||||
var newRevNum = ++newPad.head;
|
||||
var newRevId = "pad:" + newPad.id + ":revs:" + newRevNum;
|
||||
db.db.set(newRevId, rev);
|
||||
AuthorManager.addPad(rev.meta.author, newPad.id);
|
||||
newPad.atext = Changeset.applyToAText(rev.changeset, newPad.atext, newPad.pool);
|
||||
console.log("Created: Revision: pad:" + newPad.id + ":revs:" + newRevNum);
|
||||
if (newRevNum == newRevHead) {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
}
|
||||
}, function(callback) {
|
||||
// Add saved revisions up to the new revision head
|
||||
console.log(newPad.head);
|
||||
var newSavedRevisions = [];
|
||||
for(var i in oldPad.savedRevisions) {
|
||||
savedRev = oldPad.savedRevisions[i]
|
||||
if (savedRev.revNum <= newRevHead) {
|
||||
newSavedRevisions.push(savedRev);
|
||||
console.log("Added: Saved Revision: " + savedRev.revNum);
|
||||
}
|
||||
}
|
||||
newPad.savedRevisions = newSavedRevisions;
|
||||
callback();
|
||||
}, function(callback) {
|
||||
// Save the source pad
|
||||
db.db.set("pad:"+newPadId, newPad, function(err) {
|
||||
console.log("Created: Source Pad: pad:" + newPadId);
|
||||
newPad.saveToDatabase();
|
||||
callback();
|
||||
});
|
||||
}
|
||||
], function (err) {
|
||||
if(err) throw err;
|
||||
else {
|
||||
console.info("finished");
|
||||
process.exit(0);
|
||||
}
|
||||
});
|
106
sources/bin/repairPad.js
Executable file
106
sources/bin/repairPad.js
Executable file
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
This is a repair tool. It extracts all datas of a pad, removes and inserts them again.
|
||||
*/
|
||||
|
||||
console.warn("WARNING: This script must not be used while etherpad is running!");
|
||||
|
||||
if(process.argv.length != 3)
|
||||
{
|
||||
console.error("Use: node bin/repairPad.js $PADID");
|
||||
process.exit(1);
|
||||
}
|
||||
//get the padID
|
||||
var padId = process.argv[2];
|
||||
|
||||
var db, padManager, pad, settings;
|
||||
var neededDBValues = ["pad:"+padId];
|
||||
|
||||
var npm = require("../src/node_modules/npm");
|
||||
var async = require("../src/node_modules/async");
|
||||
|
||||
async.series([
|
||||
// load npm
|
||||
function(callback) {
|
||||
npm.load({}, function(er) {
|
||||
if(er)
|
||||
{
|
||||
console.error("Could not load NPM: " + er)
|
||||
process.exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
callback();
|
||||
}
|
||||
})
|
||||
},
|
||||
// load modules
|
||||
function(callback) {
|
||||
settings = require('../src/node/utils/Settings');
|
||||
db = require('../src/node/db/DB');
|
||||
callback();
|
||||
},
|
||||
//intallize the database
|
||||
function (callback)
|
||||
{
|
||||
db.init(callback);
|
||||
},
|
||||
//get the pad
|
||||
function (callback)
|
||||
{
|
||||
padManager = require('../src/node/db/PadManager');
|
||||
|
||||
padManager.getPad(padId, function(err, _pad)
|
||||
{
|
||||
pad = _pad;
|
||||
callback(err);
|
||||
});
|
||||
},
|
||||
function (callback)
|
||||
{
|
||||
//add all authors
|
||||
var authors = pad.getAllAuthors();
|
||||
for(var i=0;i<authors.length;i++)
|
||||
{
|
||||
neededDBValues.push("globalAuthor:" + authors[i]);
|
||||
}
|
||||
|
||||
//add all revisions
|
||||
var revHead = pad.head;
|
||||
for(var i=0;i<=revHead;i++)
|
||||
{
|
||||
neededDBValues.push("pad:"+padId+":revs:" + i);
|
||||
}
|
||||
|
||||
//get all chat values
|
||||
var chatHead = pad.chatHead;
|
||||
for(var i=0;i<=chatHead;i++)
|
||||
{
|
||||
neededDBValues.push("pad:"+padId+":chat:" + i);
|
||||
}
|
||||
callback();
|
||||
},
|
||||
function (callback) {
|
||||
db = db.db;
|
||||
neededDBValues.forEach(function(key, value) {
|
||||
console.debug("Key: "+key+", value: "+value);
|
||||
db.remove(key);
|
||||
db.set(key, value);
|
||||
});
|
||||
callback();
|
||||
}
|
||||
], function (err)
|
||||
{
|
||||
if(err) throw err;
|
||||
else
|
||||
{
|
||||
console.info("finished");
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
|
||||
//get the pad object
|
||||
//get all revisions of this pad
|
||||
//get all authors related to this pad
|
||||
//get the readonly link releated to this pad
|
||||
//get the chat entrys releated to this pad
|
||||
//remove all keys from database and insert them again
|
|
@ -32,7 +32,7 @@ fi
|
|||
bin/installDeps.sh $* || exit 1
|
||||
|
||||
#Move to the node folder and start
|
||||
echo "start..."
|
||||
echo "Started Etherpad..."
|
||||
|
||||
SCRIPTPATH=`pwd -P`
|
||||
node $SCRIPTPATH/node_modules/ep_etherpad-lite/node/server.js $*
|
||||
|
|
|
@ -55,7 +55,7 @@ do
|
|||
TIME_SINCE_LAST_SEND=$(($TIME_NOW - $LAST_EMAIL_SEND))
|
||||
|
||||
if [ $TIME_SINCE_LAST_SEND -gt $TIME_BETWEEN_EMAILS ]; then
|
||||
printf "Server was restared at: $(date)\nThe last 50 lines of the log before the error happens:\n $(tail -n 50 ${LOG})" | mail -s "Pad Server was restarted" $EMAIL_ADDRESS
|
||||
printf "Server was restarted at: $(date)\nThe last 50 lines of the log before the error happens:\n $(tail -n 50 ${LOG})" | mail -s "Pad Server was restarted" $EMAIL_ADDRESS
|
||||
|
||||
LAST_EMAIL_SEND=$TIME_NOW
|
||||
fi
|
||||
|
|
20
sources/bin/updatePlugins.sh
Executable file
20
sources/bin/updatePlugins.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
#Move to the folder where ep-lite is installed
|
||||
cd `dirname $0`
|
||||
|
||||
#Was this script started in the bin folder? if yes move out
|
||||
if [ -d "../bin" ]; then
|
||||
cd "../"
|
||||
fi
|
||||
|
||||
# npm outdated --depth=0 | grep -v "^Package" | awk '{print $1}' | xargs npm install $1 --save-dev
|
||||
OUTDATED=`npm outdated --depth=0 | grep -v "^Package" | awk '{print $1}'`
|
||||
# echo $OUTDATED
|
||||
if test -n "$OUTDATED"; then
|
||||
echo "Plugins require update, doing this now..."
|
||||
echo "Updating $OUTDATED"
|
||||
npm install $OUTDATED --save-dev
|
||||
else
|
||||
echo "Plugins are all up to date"
|
||||
fi
|
0
sources/doc/api/api.md
Normal file → Executable file
0
sources/doc/api/api.md
Normal file → Executable file
0
sources/doc/api/changeset_library.md
Normal file → Executable file
0
sources/doc/api/changeset_library.md
Normal file → Executable file
0
sources/doc/api/editbar.md
Normal file → Executable file
0
sources/doc/api/editbar.md
Normal file → Executable file
0
sources/doc/api/editorInfo.md
Normal file → Executable file
0
sources/doc/api/editorInfo.md
Normal file → Executable file
0
sources/doc/api/embed_parameters.md
Normal file → Executable file
0
sources/doc/api/embed_parameters.md
Normal file → Executable file
48
sources/doc/api/hooks_client-side.md
Normal file → Executable file
48
sources/doc/api/hooks_client-side.md
Normal file → Executable file
|
@ -80,6 +80,22 @@ This hook is called during the attribute processing procedure, and should be use
|
|||
|
||||
The return value for this function should be a list of classes, which will then be parsed into a valid class string.
|
||||
|
||||
## aceAttribClasses
|
||||
Called from: src/static/js/linestylefilter.js
|
||||
|
||||
Things in context:
|
||||
1. Attributes - Object of Attributes
|
||||
|
||||
This hook is called when attributes are investigated on a line. It is useful if you want to add another attribute type or property type to a pad.
|
||||
|
||||
Example:
|
||||
```
|
||||
exports.aceAttribClasses = function(hook_name, attr, cb){
|
||||
attr.sub = 'tag:sub';
|
||||
cb(attr);
|
||||
}
|
||||
```
|
||||
|
||||
## aceGetFilterStack
|
||||
Called from: src/static/js/linestylefilter.js
|
||||
|
||||
|
@ -182,11 +198,41 @@ Things in context:
|
|||
1. cc - the contentcollector object
|
||||
2. state - the current state of the change being made
|
||||
3. tname - the tag name of this node currently being processed
|
||||
4. style - the style applied to the node (probably CSS)
|
||||
4. styl - the style applied to the node (probably CSS) -- Note the typo
|
||||
5. cls - the HTML class string of the node
|
||||
|
||||
This hook is called before the content of a node is collected by the usual methods. The cc object can be used to do a bunch of things that modify the content of the pad. See, for example, the heading1 plugin for etherpad original.
|
||||
|
||||
E.g. if you need to apply an attribute to newly inserted characters,
|
||||
call cc.doAttrib(state, "attributeName") which results in an attribute attributeName=true.
|
||||
|
||||
If you want to specify also a value, call cc.doAttrib(state, "attributeName:value")
|
||||
which results in an attribute attributeName=value.
|
||||
|
||||
|
||||
## collectContentImage
|
||||
Called from: src/static/js/contentcollector.js
|
||||
|
||||
Things in context:
|
||||
|
||||
1. cc - the contentcollector object
|
||||
2. state - the current state of the change being made
|
||||
3. tname - the tag name of this node currently being processed
|
||||
4. style - the style applied to the node (probably CSS)
|
||||
5. cls - the HTML class string of the node
|
||||
6. node - the node being modified
|
||||
|
||||
This hook is called before the content of an image node is collected by the usual methods. The cc object can be used to do a bunch of things that modify the content of the pad.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
exports.collectContentImage = function(name, context){
|
||||
context.state.lineAttributes.img = context.node.outerHTML;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## collectContentPost
|
||||
Called from: src/static/js/contentcollector.js
|
||||
|
||||
|
|
0
sources/doc/api/hooks_overview.md
Normal file → Executable file
0
sources/doc/api/hooks_overview.md
Normal file → Executable file
109
sources/doc/api/hooks_server-side.md
Normal file → Executable file
109
sources/doc/api/hooks_server-side.md
Normal file → Executable file
|
@ -247,3 +247,112 @@ Things in context:
|
|||
|
||||
This hook will allow a plug-in developer to re-write each line when exporting to HTML.
|
||||
|
||||
Example:
|
||||
```
|
||||
var Changeset = require("ep_etherpad-lite/static/js/Changeset");
|
||||
|
||||
exports.getLineHTMLForExport = function (hook, context) {
|
||||
var header = _analyzeLine(context.attribLine, context.apool);
|
||||
if (header) {
|
||||
return "<" + header + ">" + context.lineContent + "</" + header + ">";
|
||||
}
|
||||
}
|
||||
|
||||
function _analyzeLine(alineAttrs, apool) {
|
||||
var header = null;
|
||||
if (alineAttrs) {
|
||||
var opIter = Changeset.opIterator(alineAttrs);
|
||||
if (opIter.hasNext()) {
|
||||
var op = opIter.next();
|
||||
header = Changeset.opAttributeValue(op, 'heading', apool);
|
||||
}
|
||||
}
|
||||
return header;
|
||||
}
|
||||
```
|
||||
|
||||
## stylesForExport
|
||||
Called from: src/node/utils/ExportHtml.js
|
||||
|
||||
Things in context:
|
||||
|
||||
1. padId - The Pad Id
|
||||
|
||||
This hook will allow a plug-in developer to append Styles to the Exported HTML.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
exports.stylesForExport = function(hook, padId, cb){
|
||||
cb("body{font-size:13.37em !important}");
|
||||
}
|
||||
```
|
||||
|
||||
## aceAttribClasses
|
||||
Called from: src/static/js/linestylefilter.js
|
||||
|
||||
Things in context:
|
||||
1. Attributes - Object of Attributes
|
||||
|
||||
This hook is called when attributes are investigated on a line. It is useful if you want to add another attribute type or property type to a pad.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
exports.aceAttribClasses = function(hook_name, attr, cb){
|
||||
attr.sub = 'tag:sub';
|
||||
cb(attr);
|
||||
}
|
||||
```
|
||||
|
||||
## exportFileName
|
||||
Called from src/node/handler/ExportHandler.js
|
||||
|
||||
Things in context:
|
||||
|
||||
1. padId
|
||||
|
||||
This hook will allow a plug-in developer to modify the file name of an exported pad. This is useful if you want to export a pad under another name and/or hide the padId under export. Note that the doctype or file extension cannot be modified for security reasons.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
exports.exportFileName = function(hook, padId, callback){
|
||||
callback("newFileName"+padId);
|
||||
}
|
||||
```
|
||||
|
||||
## exportHtmlAdditionalTags
|
||||
Called from src/node/utils/ExportHtml.js
|
||||
|
||||
Things in context:
|
||||
|
||||
1. Pad object
|
||||
|
||||
This hook will allow a plug-in developer to include more properties and attributes to support during HTML Export. An Array should be returned.
|
||||
|
||||
Example:
|
||||
```
|
||||
// Add the props to be supported in export
|
||||
exports.exportHtmlAdditionalTags = function(hook, pad, cb){
|
||||
var padId = pad.id;
|
||||
cb(["massive","jugs"]);
|
||||
};
|
||||
```
|
||||
|
||||
## userLeave
|
||||
Called from src/node/handler/PadMessageHandler.js
|
||||
|
||||
This in context:
|
||||
|
||||
1. session (including the pad id and author id)
|
||||
|
||||
This hook gets called when an author leaves a pad. This is useful if you want to perform certain actions after a pad has been edited
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
exports.userLeave = function(hook, session, callback) {
|
||||
console.log('%s left pad %s', session.author, session.padId);
|
||||
};
|
||||
```
|
||||
|
|
44
sources/doc/api/http_api.md
Normal file → Executable file
44
sources/doc/api/http_api.md
Normal file → Executable file
|
@ -61,7 +61,7 @@ Portal submits content into new blog post
|
|||
## Usage
|
||||
|
||||
### API version
|
||||
The latest version is `1.2.9`
|
||||
The latest version is `1.2.12`
|
||||
|
||||
The current version can be queried via /api.
|
||||
|
||||
|
@ -232,7 +232,7 @@ creates a new session. validUntil is an unix timestamp in seconds
|
|||
deletes a session
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 1, message:"ok", data: null}`
|
||||
* `{code: 0, message:"ok", data: null}`
|
||||
* `{code: 1, message:"sessionID does not exist", data: null}`
|
||||
|
||||
#### getSessionInfo(sessionID)
|
||||
|
@ -388,10 +388,12 @@ Group pads are normal pads, but with the name schema GROUPID$PADNAME. A security
|
|||
* API >= 1
|
||||
|
||||
creates a new (non-group) pad. Note that if you need to create a group Pad, you should call **createGroupPad**.
|
||||
You get an error message if you use one of the following characters in the padID: "/", "?", "&" or "#".
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 0, message:"ok", data: null}`
|
||||
* `{code: 1, message:"pad does already exist", data: null}`
|
||||
* `{code: 1, message:"padID does already exist", data: null}`
|
||||
* `{code: 1, message:"malformed padID: Remove special characters", data: null}`
|
||||
|
||||
#### getRevisionsCount(padID)
|
||||
* API >= 1
|
||||
|
@ -402,6 +404,33 @@ returns the number of revisions of this pad
|
|||
* `{code: 0, message:"ok", data: {revisions: 56}}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### getSavedRevisionsCount(padID)
|
||||
* API >= 1.2.11
|
||||
|
||||
returns the number of saved revisions of this pad
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 0, message:"ok", data: {savedRevisions: 42}}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### listSavedRevisions(padID)
|
||||
* API >= 1.2.11
|
||||
|
||||
returns the list of saved revisions of this pad
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 0, message:"ok", data: {savedRevisions: [2, 42, 1337]}}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### saveRevision(padID [, rev])
|
||||
* API >= 1.2.11
|
||||
|
||||
saves a revision
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 0, message:"ok", data: null}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### padUsersCount(padID)
|
||||
* API >= 1
|
||||
|
||||
|
@ -455,6 +484,15 @@ returns the read only link of a pad
|
|||
* `{code: 0, message:"ok", data: {readOnlyID: "r.s8oes9dhwrvt0zif"}}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### getPadID(readOnlyID)
|
||||
* API >= 1.2.10
|
||||
|
||||
returns the id of a pad which is assigned to the readOnlyID
|
||||
|
||||
*Example returns:*
|
||||
* `{code: 0, message:"ok", data: {padID: "p.s8oes9dhwrvt0zif"}}`
|
||||
* `{code: 1, message:"padID does not exist", data: null}`
|
||||
|
||||
#### setPublicStatus(padID, publicStatus)
|
||||
* API >= 1
|
||||
|
||||
|
|
0
sources/doc/api/pluginfw.md
Normal file → Executable file
0
sources/doc/api/pluginfw.md
Normal file → Executable file
0
sources/doc/api/toolbar.md
Normal file → Executable file
0
sources/doc/api/toolbar.md
Normal file → Executable file
0
sources/doc/assets/style.css
Normal file → Executable file
0
sources/doc/assets/style.css
Normal file → Executable file
0
sources/doc/custom_static.md
Normal file → Executable file
0
sources/doc/custom_static.md
Normal file → Executable file
0
sources/doc/database.md
Normal file → Executable file
0
sources/doc/database.md
Normal file → Executable file
0
sources/doc/documentation.md
Normal file → Executable file
0
sources/doc/documentation.md
Normal file → Executable file
0
sources/doc/easysync/README.md
Normal file → Executable file
0
sources/doc/easysync/README.md
Normal file → Executable file
0
sources/doc/easysync/easysync-full-description.pdf
Normal file → Executable file
0
sources/doc/easysync/easysync-full-description.pdf
Normal file → Executable file
4
sources/doc/easysync/easysync-full-description.tex
Normal file → Executable file
4
sources/doc/easysync/easysync-full-description.tex
Normal file → Executable file
|
@ -83,7 +83,7 @@ For any two changesets $A$, $B$ such that
|
|||
|
||||
\begin{itemize}
|
||||
\item[] $A=(n_1\rightarrow n_2)[\cdots]$
|
||||
\item[] $A=(n_2\rightarrow n_3)[\cdots]$
|
||||
\item[] $B=(n_2\rightarrow n_3)[\cdots]$
|
||||
\end{itemize}
|
||||
it is clear that there is a third changeset $C=(n_1\rightarrow n_3)[\cdots]$ such that applying $C$ to a document $X$ yeilds the same resulting document as does applying $A$ and then $B$. In this case, we write $AB=C$.
|
||||
|
||||
|
@ -104,7 +104,7 @@ Aside from what we have said so far about merging, there aremany different imple
|
|||
When users $A$ and $B$ have the same document $X$ on their screen, and they proceed to make respective changesets $A$ and $B$, it is no use to compute $m(A,B)$, because $m(A,B)$ applies to document $X$, but the users are already looking at document $XA$ and $XB$. What we really want is to compute $B'$ and $A'$ such that
|
||||
$$XAB' = XBA' = Xm(A,B)$$
|
||||
|
||||
``Following'' computes these $B'$ and $A'$ changesets. The definition of the ``follow'' function $f$ is such that $Af(A,B)=Bf(B,A)=m(A,B)=m(B,A)$. When we computer $f(A,B)$.
|
||||
``Following'' computes these $B'$ and $A'$ changesets. The definition of the ``follow'' function $f$ is such that $Af(A,B)=Bf(B,A)=m(A,B)=m(B,A)$. When we compute $f(A,B)$
|
||||
\begin{itemize}
|
||||
\item Insertions in $A$ become retained characters in $f(A,B)$
|
||||
\item Insertions in $B$ become insertions in $f(A,B)$
|
||||
|
|
0
sources/doc/easysync/easysync-notes.pdf
Normal file → Executable file
0
sources/doc/easysync/easysync-notes.pdf
Normal file → Executable file
0
sources/doc/easysync/easysync-notes.tex
Normal file → Executable file
0
sources/doc/easysync/easysync-notes.tex
Normal file → Executable file
0
sources/doc/easysync/easysync-notes.txt
Normal file → Executable file
0
sources/doc/easysync/easysync-notes.txt
Normal file → Executable file
0
sources/doc/index.md
Normal file → Executable file
0
sources/doc/index.md
Normal file → Executable file
0
sources/doc/localization.md
Normal file → Executable file
0
sources/doc/localization.md
Normal file → Executable file
0
sources/doc/plugins.md
Normal file → Executable file
0
sources/doc/plugins.md
Normal file → Executable file
0
sources/doc/stats.md
Normal file → Executable file
0
sources/doc/stats.md
Normal file → Executable file
0
sources/doc/template.html
Normal file → Executable file
0
sources/doc/template.html
Normal file → Executable file
32
sources/settings.json.template
Normal file → Executable file
32
sources/settings.json.template
Normal file → Executable file
|
@ -15,10 +15,6 @@
|
|||
"ip": "0.0.0.0",
|
||||
"port" : 9001,
|
||||
|
||||
// Session Key, used for reconnecting user sessions
|
||||
// Set this to a secure string at least 10 characters long. Do not share this value.
|
||||
"sessionKey" : "",
|
||||
|
||||
/*
|
||||
// Node native SSL support
|
||||
// this is disabled by default
|
||||
|
@ -29,6 +25,7 @@
|
|||
"ssl" : {
|
||||
"key" : "/path-to-your/epl-server.key",
|
||||
"cert" : "/path-to-your/epl-server.crt"
|
||||
"ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
|
||||
},
|
||||
|
||||
*/
|
||||
|
@ -54,12 +51,33 @@
|
|||
//the default text of a pad
|
||||
"defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at http:\/\/etherpad.org\n",
|
||||
|
||||
/* Default Pad behavior, users can override by changing */
|
||||
"padOptions": {
|
||||
"noColors": false,
|
||||
"showControls": true,
|
||||
"showChat": true,
|
||||
"showLineNumbers": true,
|
||||
"useMonospaceFont": false,
|
||||
"userName": false,
|
||||
"userColor": false,
|
||||
"rtl": false,
|
||||
"alwaysShowChat": false,
|
||||
"chatAndUsers": false,
|
||||
"lang": "en-gb"
|
||||
},
|
||||
|
||||
/* Shoud we suppress errors from being visible in the default Pad Text? */
|
||||
"suppressErrorsInPadText" : false,
|
||||
|
||||
/* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
|
||||
"requireSession" : false,
|
||||
|
||||
/* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
|
||||
"editOnly" : false,
|
||||
|
||||
/* Users, who have a valid session, automatically get granted access to password protected pads */
|
||||
"sessionNoPassword" : false,
|
||||
|
||||
/* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
|
||||
but makes it impossible to debug the javascript/css */
|
||||
"minify" : true,
|
||||
|
@ -72,6 +90,9 @@
|
|||
Abiword is needed to advanced import/export features of pads*/
|
||||
"abiword" : null,
|
||||
|
||||
/* Allow import of file types other than the supported types: txt, doc, docx, rtf, odt, html & htm */
|
||||
"allowUnknownFileEnds" : true,
|
||||
|
||||
/* This setting is used if you require authentication of all users.
|
||||
Note: /admin always requires authentication. */
|
||||
"requireAuthentication" : false,
|
||||
|
@ -103,6 +124,9 @@
|
|||
// restrict socket.io transport methods
|
||||
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
|
||||
|
||||
// Allow Load Testing tools to hit the Etherpad Instance. Warning this will disable security on the instance.
|
||||
"loadTest": false,
|
||||
|
||||
/* The toolbar buttons configuration.
|
||||
"toolbar": {
|
||||
"left": [
|
||||
|
|
0
sources/src/README.md
Normal file → Executable file
0
sources/src/README.md
Normal file → Executable file
0
sources/src/ep.json
Normal file → Executable file
0
sources/src/ep.json
Normal file → Executable file
92
sources/src/etherpad_icon.svg
Executable file
92
sources/src/etherpad_icon.svg
Executable file
|
@ -0,0 +1,92 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
width="16"
|
||||
height="16"
|
||||
id="svg2987">
|
||||
<defs
|
||||
id="defs2989" />
|
||||
<metadata
|
||||
id="metadata2992">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-1036.3618)"
|
||||
id="layer1">
|
||||
<path
|
||||
d="m 5.0621446,1039.5621 c 5.6960494,0 6.2053964,0 6.2053964,0 l -0.0238,-0.8981 -3.131226,-0.018 -3.1312269,-0.018 z"
|
||||
id="path3806"
|
||||
style="fill:#464646;fill-opacity:1;stroke:#464646;stroke-width:0.68021488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 12.4892,1052.3561 0,-2.1733 2.173211,0 0,2.1733 z"
|
||||
id="path3770-7-0-9"
|
||||
style="fill:#b1b1b1;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 1.6231475,1052.3561 0,-2.1733 2.1732107,0 0,2.1733 z"
|
||||
id="path3770-7-0"
|
||||
style="fill:#b1b1b1;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 2.7097528,1041.49 2.1732106,-1.0866 0,-2.1251"
|
||||
id="path3775"
|
||||
style="fill:none;stroke:#aeaeae;stroke-width:0.54330266;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 13.575806,1041.49 -2.17321,-1.0866 0.0065,-2.0833"
|
||||
id="path3777"
|
||||
style="fill:none;stroke:#aeaeae;stroke-width:0.54330266;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 1.6231475,1041.49 c 0.014561,3.8432 -0.019342,6.178 0,7.6063 0.030207,2.23 0,2.1732 0,2.1732 1.1853886,0 1.1853886,0 1.1853886,1.0866 l 10.6684869,0 c 0,-1.0866 0,-1.0866 1.185388,-1.0866 0,-3.26 0,-6.5198 0,-9.7795 z"
|
||||
id="path3019"
|
||||
style="fill:#464646;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 3.7963582,1050.1828 c 6.3865768,0 8.6928418,0 8.6928418,0"
|
||||
id="path3023"
|
||||
style="fill:none;stroke:#09c900;stroke-width:1.07546031;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.7963582,1048.0095 8.6928418,0"
|
||||
id="path3025"
|
||||
style="fill:none;stroke:#fcc200;stroke-width:1.1616298;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.7963582,1045.8365 8.6928418,0"
|
||||
id="path3027"
|
||||
style="fill:none;stroke:#00a3fb;stroke-width:1.1616298;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.7963582,1043.6632 8.6928418,0"
|
||||
id="path3029"
|
||||
style="fill:none;stroke:#ff4091;stroke-width:1.1616298;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 1.6231475,1042.5766 0,-4.3464 1.0866053,0 0,4.3464 z"
|
||||
id="path3770"
|
||||
style="fill:#464646;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 13.575806,1042.5766 0,-4.3464 1.086605,0 0,4.3464 z"
|
||||
id="path3770-1"
|
||||
style="fill:#464646;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 1.6231475,1038.2302 0,-1.0867 1.0866053,0 0,1.0867 z"
|
||||
id="path3770-7"
|
||||
style="fill:#b1b1b1;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 13.575806,1038.2302 0,-1.0867 1.086605,0 0,1.0867 z"
|
||||
id="path3770-4"
|
||||
style="fill:#b1b1b1;fill-opacity:1;stroke:none" />
|
||||
<path
|
||||
d="m 5.3413804,1038.5358 c 2.6160566,-2.5761 3.1649988,-2.3796 5.6028086,0.018"
|
||||
id="path3767"
|
||||
style="fill:none;stroke:#464646;stroke-width:0.54330266;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.5999999;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
1
sources/src/locales/af.json
Normal file → Executable file
1
sources/src/locales/af.json
Normal file → Executable file
|
@ -25,7 +25,6 @@
|
|||
"pad.settings.fontType.monospaced": "Monospasie",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.modals.userdup.advice": "Maak weer 'n verbinding as u die venster wil gebruik.",
|
||||
"pad.modals.unauth": "Nie toegestaan",
|
||||
"pad.modals.deleted": "Geskrap.",
|
||||
|
|
39
sources/src/locales/ar.json
Normal file → Executable file
39
sources/src/locales/ar.json
Normal file → Executable file
|
@ -2,7 +2,10 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Ali1",
|
||||
"Tux-tn"
|
||||
"Tux-tn",
|
||||
"Alami",
|
||||
"Meno25",
|
||||
"Test Create account"
|
||||
]
|
||||
},
|
||||
"index.newPad": "باد جديد",
|
||||
|
@ -10,13 +13,14 @@
|
|||
"pad.toolbar.bold.title": "سميك (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "مائل (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "تسطير (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "شطب",
|
||||
"pad.toolbar.ol.title": "قائمة مرتبة",
|
||||
"pad.toolbar.ul.title": "قائمة غير مرتبة",
|
||||
"pad.toolbar.strikethrough.title": "شطب (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "قائمة مرتبة (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "قائمة غير مرتبة (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "إزاحة",
|
||||
"pad.toolbar.unindent.title": "حذف الإزاحة",
|
||||
"pad.toolbar.undo.title": "فك (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "تكرار (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "مسح ألوان التأليف (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "استيراد/تصدير من/إلى تنسيقات ملفات مختلفة",
|
||||
"pad.toolbar.timeslider.title": "متصفح التاريخ",
|
||||
"pad.toolbar.savedRevision.title": "حفظ المراجعة",
|
||||
|
@ -26,6 +30,7 @@
|
|||
"pad.colorpicker.save": "تسجيل",
|
||||
"pad.colorpicker.cancel": "إلغاء",
|
||||
"pad.loading": "جاري التحميل...",
|
||||
"pad.noCookie": "الكوكيز غير متاحة. الرجاء السماح بتحميل الكوكيز على متصفحك!",
|
||||
"pad.passwordRequired": "تحتاج إلى كلمة مرور للوصول إلى هذا الباد",
|
||||
"pad.permissionDenied": "ليس لديك إذن لدخول هذا الباد",
|
||||
"pad.wrongPassword": "كانت كلمة المرور خاطئة",
|
||||
|
@ -44,12 +49,13 @@
|
|||
"pad.importExport.import": "تحميل أي ملف نصي أو وثيقة",
|
||||
"pad.importExport.importSuccessful": "ناجح!",
|
||||
"pad.importExport.export": "تصدير الباد الحالي بصفة:",
|
||||
"pad.importExport.exportetherpad": "إيثرباد",
|
||||
"pad.importExport.exporthtml": "إتش تي إم إل",
|
||||
"pad.importExport.exportplain": "نص عادي",
|
||||
"pad.importExport.exportword": "مايكروسوفت وورد",
|
||||
"pad.importExport.exportpdf": "صيغة المستندات المحمولة",
|
||||
"pad.importExport.exportopen": "ODF (نسق المستند المفتوح)",
|
||||
"pad.importExport.exportdokuwiki": "دوکوويكي",
|
||||
"pad.importExport.abiword.innerHTML": "لايمكنك الاستيراد إلا من نص عادي أو من تنسيقات إتش تي إم إل. للحصول على المزيد من ميزات الاستيراد المتقدمة، يرجى تثبيت أبيورد <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"></a>.",
|
||||
"pad.modals.connected": "متصل.",
|
||||
"pad.modals.reconnecting": "إعادة الاتصال ببادك",
|
||||
"pad.modals.forcereconnect": "فرض إعادة الاتصال",
|
||||
|
@ -57,21 +63,31 @@
|
|||
"pad.modals.userdup.explanation": "يبدو أن هذا الباد تم فتحه في أكثر من نافذة متصفح في هذا الحاسوب.",
|
||||
"pad.modals.userdup.advice": "إعادة الاتصال لإستعمال هذه النافذة بدلاً من الاخرى.",
|
||||
"pad.modals.unauth": "غير مخول",
|
||||
"pad.modals.unauth.explanation": "لقد تغيرت الأذونات الخاصة بك أثناء عرض هذه الصفحة. حاول إعادة الاتصال.",
|
||||
"pad.modals.looping.explanation": "هناك مشاكل في الاتصال مع ملقم التزامن.",
|
||||
"pad.modals.looping.cause": "ربما كنت متصلاً من خلال وكيل أو جدار حماية غير متوافق.",
|
||||
"pad.modals.initsocketfail": "لا يمكن الوصول إلى الخادم",
|
||||
"pad.modals.initsocketfail.explanation": "تعذر الاتصال بخادم المزامنة.",
|
||||
"pad.modals.initsocketfail.cause": "وهذا على الأرجح بسبب مشكلة في المستعرض الخاص بك أو الاتصال بإنترنت.",
|
||||
"pad.modals.slowcommit.explanation": "الخادم لا يستجيب.",
|
||||
"pad.modals.slowcommit.cause": "يمكن أن يكون هذا بسبب مشاكل في الاتصال بالشبكة.",
|
||||
"pad.modals.badChangeset.explanation": "لقد صنفت إحدى عمليات التحرير التي قمت بها كعملية غير مسموح بها من قبل ملقم التزامن.",
|
||||
"pad.modals.badChangeset.cause": "يمكن أن يكون هذا بسبب تكوين ملقم خاطئ أو بسبب سلوك آخر غير متوقع. يرجى الاتصال بمسؤول الخدمة إذا كنت تعتقد بأن هناك خطأ ما. حاول إعادة الاتصال لمتابعة التحرير.",
|
||||
"pad.modals.corruptPad.explanation": "الباد الذي تحاول الوصول إليه تالف.",
|
||||
"pad.modals.corruptPad.cause": "قد يكون هذا بسبب تكوين ملقم خاطئ أو بسبب سلوك آخر غير متوقع. يرجى الاتصال بمسؤول الخدمة.",
|
||||
"pad.modals.deleted": "محذوف.",
|
||||
"pad.modals.deleted.explanation": "تمت إزالة هذا الباد",
|
||||
"pad.modals.disconnected": "لم تعد متّصل.",
|
||||
"pad.modals.disconnected.explanation": "تم فقدان الإتصال بالخادم",
|
||||
"pad.modals.disconnected.cause": "قد يكون الخادم غير متوفر. الرجاء إعلامنا إذا تكرر هذا.",
|
||||
"pad.modals.disconnected.cause": "قد يكون الخادم غير متوفر. يرجى إعلام مسؤول الخدمة إذا كان هذا لا يزال يحدث.",
|
||||
"pad.share": "شارك هذه الباد",
|
||||
"pad.share.readonly": "للقراءة فقط",
|
||||
"pad.share.link": "رابط",
|
||||
"pad.share.emebdcode": "URL للتضمين",
|
||||
"pad.chat": "دردشة",
|
||||
"pad.chat.title": "فتح الدردشة لهذا الباد",
|
||||
"pad.chat.loadmessages": "تحميل المزيد من الرسائل",
|
||||
"timeslider.pageTitle": "{{appTitle}} متصفح التاريخ",
|
||||
"timeslider.toolbar.returnbutton": "العودة إلى الباد",
|
||||
"timeslider.toolbar.authors": "المؤلفون:",
|
||||
"timeslider.toolbar.authorsList": "بدون مؤلفين",
|
||||
|
@ -92,14 +108,21 @@
|
|||
"timeslider.month.october": "أكتوبر",
|
||||
"timeslider.month.november": "نوفمبر",
|
||||
"timeslider.month.december": "ديسمبر",
|
||||
"pad.userlist.entername": "إدخل اسمك",
|
||||
"timeslider.unnamedauthors": "بدون اسم {{num}} {[plural(num) واحد: كاتب، آخر: مؤلف]}",
|
||||
"pad.savedrevs.marked": "هذا التنقيح محدد الآن كمراجعة محفوظة",
|
||||
"pad.userlist.entername": "أدخل اسمك",
|
||||
"pad.userlist.unnamed": "غير مسمى",
|
||||
"pad.userlist.guest": "ضيف",
|
||||
"pad.userlist.deny": "رفض",
|
||||
"pad.userlist.approve": "موافقة",
|
||||
"pad.editbar.clearcolors": "مسح ألوان التأليف أو المستند بأكمله؟",
|
||||
"pad.impexp.importbutton": "الاستيراد الآن",
|
||||
"pad.impexp.importing": "الاستيراد...",
|
||||
"pad.impexp.confirmimport": "استيراد ملف سيؤدي للكتابة فوق النص الحالي بالباد. هل أنت متأكد من أنك تريد المتابعة؟",
|
||||
"pad.impexp.convertFailed": "لم نتمكن من استيراد هذا الملف. يرجى استخدام تنسيق مستند مختلف، أو النسخ واللصق يدوياً",
|
||||
"pad.impexp.padHasData": "لا يمكننا استيراد هذا الملف لأن هذه اللوحة تم بالفعل تغييره, الرجاء استيراد لوحة جديد",
|
||||
"pad.impexp.uploadFailed": "فشل التحميل، الرجاء المحاولة مرة أخرى",
|
||||
"pad.impexp.importfailed": "فشل الاستيراد",
|
||||
"pad.impexp.copypaste": "الرجاء نسخ/لصق"
|
||||
"pad.impexp.copypaste": "الرجاء نسخ/لصق",
|
||||
"pad.impexp.exportdisabled": "تصدير التنسيق {{type}} معطل. يرجى الاتصال بمسؤول النظام الخاص بك للحصول على التفاصيل."
|
||||
}
|
20
sources/src/locales/ast.json
Normal file → Executable file
20
sources/src/locales/ast.json
Normal file → Executable file
|
@ -9,14 +9,14 @@
|
|||
"pad.toolbar.bold.title": "Negrina (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Sorrayáu (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Tacháu",
|
||||
"pad.toolbar.ol.title": "Llista ordenada",
|
||||
"pad.toolbar.ul.title": "Llista ensin ordenar",
|
||||
"pad.toolbar.indent.title": "Sangría",
|
||||
"pad.toolbar.unindent.title": "Sangría inversa",
|
||||
"pad.toolbar.strikethrough.title": "Tacháu (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Llista ordenada (Ctrl+Mayús+N)",
|
||||
"pad.toolbar.ul.title": "Llista desordenada (Ctrl+Mayús+L)",
|
||||
"pad.toolbar.indent.title": "Sangría (TAB)",
|
||||
"pad.toolbar.unindent.title": "Sangría inversa (Mayúsc+TAB)",
|
||||
"pad.toolbar.undo.title": "Desfacer (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Refacer (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Llimpiar los colores d'autoría",
|
||||
"pad.toolbar.clearAuthorship.title": "Llimpiar los colores d'autoría (Ctrl+Mayús+C)",
|
||||
"pad.toolbar.import_export.title": "Importar/Esportar ente distintos formatos de ficheru",
|
||||
"pad.toolbar.timeslider.title": "Eslizador de tiempu",
|
||||
"pad.toolbar.savedRevision.title": "Guardar revisión",
|
||||
|
@ -26,12 +26,14 @@
|
|||
"pad.colorpicker.save": "Guardar",
|
||||
"pad.colorpicker.cancel": "Encaboxar",
|
||||
"pad.loading": "Cargando...",
|
||||
"pad.noCookie": "Nun pudo alcontrase la cookie. ¡Por favor, permite les cookies nel navegador!",
|
||||
"pad.passwordRequired": "Necesites una contraseña pa entrar a esti bloc",
|
||||
"pad.permissionDenied": "Nun tienes permisu pa entrar a esti bloc",
|
||||
"pad.wrongPassword": "La contraseña era incorreuta",
|
||||
"pad.settings.padSettings": "Configuración del bloc",
|
||||
"pad.settings.myView": "la mio vista",
|
||||
"pad.settings.stickychat": "Alderique en pantalla siempres",
|
||||
"pad.settings.chatandusers": "Amosar la charra y los usuarios",
|
||||
"pad.settings.colorcheck": "Colores d'autoría",
|
||||
"pad.settings.linenocheck": "Númberos de llinia",
|
||||
"pad.settings.rtlcheck": "¿Lleer el conteníu de drecha a izquierda?",
|
||||
|
@ -44,13 +46,13 @@
|
|||
"pad.importExport.import": "Xubir cualquier ficheru o documentu de testu",
|
||||
"pad.importExport.importSuccessful": "¡Correuto!",
|
||||
"pad.importExport.export": "Esportar el bloc actual como:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Testu simple",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Sólo se pue importar dende los formatos de testu planu o html. Pa carauterístiques d'importación más avanzaes \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstala abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Sólo se pue importar dende los formatos de testu planu o html. Pa carauterístiques d'importación más avanzaes <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instala abiword</a>.",
|
||||
"pad.modals.connected": "Coneutáu.",
|
||||
"pad.modals.reconnecting": "Reconeutando col to bloc...",
|
||||
"pad.modals.forcereconnect": "Forzar la reconexón",
|
||||
|
@ -105,6 +107,7 @@
|
|||
"timeslider.month.december": "d'avientu",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anónimu, other: autores anónimos]}",
|
||||
"pad.savedrevs.marked": "Esta revisión marcose como revisión guardada",
|
||||
"pad.savedrevs.timeslider": "Pues ver les revisiones guardaes visitando la llinia temporal",
|
||||
"pad.userlist.entername": "Escribi'l to nome",
|
||||
"pad.userlist.unnamed": "ensin nome",
|
||||
"pad.userlist.guest": "Invitáu",
|
||||
|
@ -115,6 +118,7 @@
|
|||
"pad.impexp.importing": "Importando...",
|
||||
"pad.impexp.confirmimport": "La importación d'un ficheru sustituirá'l testu actual del bloc. ¿Seguro que quies siguir?",
|
||||
"pad.impexp.convertFailed": "Nun pudimos importar esti ficheru. Por favor,usa otru formatu de ficheru diferente o copia y pega manualmente.",
|
||||
"pad.impexp.padHasData": "Nun pudimos importar esti ficheru porque esti bloc yá tuvo cambios; impórtalu a un bloc nuevu",
|
||||
"pad.impexp.uploadFailed": "Falló la carga del ficheru, intentalo otra vuelta",
|
||||
"pad.impexp.importfailed": "Falló la importación",
|
||||
"pad.impexp.copypaste": "Por favor, copia y apega",
|
||||
|
|
69
sources/src/locales/awa.json
Executable file
69
sources/src/locales/awa.json
Executable file
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"1AnuraagPandey"
|
||||
]
|
||||
},
|
||||
"index.newPad": "नयाँ प्याड",
|
||||
"pad.toolbar.bold.title": "मोट (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "तिरछा (Ctrl+I)",
|
||||
"pad.toolbar.underline.title": "निम्न रेखाङ्कन (Ctrl-U)",
|
||||
"pad.toolbar.indent.title": "इन्डेन्ट (TAB)",
|
||||
"pad.toolbar.unindent.title": "आउटडेन्ट (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "रद्द (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "पुन:लागु (Ctrl-Y)",
|
||||
"pad.toolbar.timeslider.title": "टाइमस्लाइडर",
|
||||
"pad.toolbar.savedRevision.title": "पुनरावलोकन संग्रह किहा जाय",
|
||||
"pad.toolbar.settings.title": "सेटिङ्ग",
|
||||
"pad.colorpicker.save": "सहेजा जाय",
|
||||
"pad.colorpicker.cancel": "रद्द करा जाय",
|
||||
"pad.loading": "लोड होत है...",
|
||||
"pad.wrongPassword": "आप कय पासवर्ड गलत रहा",
|
||||
"pad.settings.padSettings": "प्याड सेटिङ्ग",
|
||||
"pad.settings.myView": "हमार दृष्य",
|
||||
"pad.settings.colorcheck": "लेखकीय रङ्ग",
|
||||
"pad.settings.linenocheck": "हरफ संख्या",
|
||||
"pad.settings.fontType": "फन्ट प्रकार:",
|
||||
"pad.settings.fontType.normal": "साधारण",
|
||||
"pad.settings.fontType.monospaced": "मोनोस्पेस",
|
||||
"pad.settings.globalView": "विश्वव्यापी दृष्य",
|
||||
"pad.settings.language": "भाषा",
|
||||
"pad.importExport.import_export": "आयात/निर्यात",
|
||||
"pad.importExport.importSuccessful": "सफल!",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "सामान्य पाठ",
|
||||
"pad.importExport.exportword": "माइक्रोसफ्ट वर्ड",
|
||||
"pad.importExport.exportpdf": "पिडिएफ",
|
||||
"pad.importExport.exportopen": "ओडिएफ(खुल्ला कागजात ढाँचा)",
|
||||
"pad.modals.unauth": "अनाधिकृत",
|
||||
"pad.modals.initsocketfail": "सर्भरमा पहुँच से बहरे है ।",
|
||||
"pad.share.readonly": "पढय वाला खाली",
|
||||
"pad.share.link": "लिङ्क",
|
||||
"pad.share.emebdcode": "URL जोडा जाय",
|
||||
"pad.chat": "बातचीत",
|
||||
"timeslider.pageTitle": "{{appTitle}} समय रेखा",
|
||||
"timeslider.toolbar.authors": "लेखक:",
|
||||
"timeslider.toolbar.exportlink.title": "निर्यात",
|
||||
"timeslider.version": "संस्करण {{version}}",
|
||||
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "जनवरी",
|
||||
"timeslider.month.february": "फेब्रुअरी",
|
||||
"timeslider.month.march": "मार्च",
|
||||
"timeslider.month.april": "अप्रैल",
|
||||
"timeslider.month.may": "मई",
|
||||
"timeslider.month.june": "जून",
|
||||
"timeslider.month.july": "जुलाई",
|
||||
"timeslider.month.august": "अगस्त",
|
||||
"timeslider.month.september": "सेप्टेम्बर",
|
||||
"timeslider.month.october": "अक्टूबर",
|
||||
"timeslider.month.november": "नोभेम्बर",
|
||||
"timeslider.month.december": "डिसेम्बर",
|
||||
"timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) one: author, other: authors ]}",
|
||||
"pad.userlist.unnamed": "बेनामी",
|
||||
"pad.userlist.guest": "पहुना",
|
||||
"pad.userlist.deny": "अस्वीकार",
|
||||
"pad.userlist.approve": "स्वीकृत",
|
||||
"pad.impexp.importing": "आयात होत है...",
|
||||
"pad.impexp.importfailed": "आयात असफल रहा",
|
||||
"pad.impexp.copypaste": "कृपया कपी पेस्ट कीन जाय"
|
||||
}
|
66
sources/src/locales/az.json
Normal file → Executable file
66
sources/src/locales/az.json
Normal file → Executable file
|
@ -3,35 +3,36 @@
|
|||
"authors": [
|
||||
"AZISS",
|
||||
"Khan27",
|
||||
"Mushviq Abdulla"
|
||||
"Mushviq Abdulla",
|
||||
"Wertuose"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Yeni Pad",
|
||||
"index.createOpenPad": "və ya Pad-ı adı ilə yarat/aç:",
|
||||
"index.newPad": "Yeni lövhə",
|
||||
"index.createOpenPad": "və ya lövhəni bu adla yarat/aç:",
|
||||
"pad.toolbar.bold.title": "Qalın (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Kursiv (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Altından xətt çəkmə (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Pozulma",
|
||||
"pad.toolbar.ol.title": "Qaydaya salınmış siyahı",
|
||||
"pad.toolbar.ul.title": "Qaydaya salınmamış siyahı",
|
||||
"pad.toolbar.indent.title": "Abzas",
|
||||
"pad.toolbar.unindent.title": "Çıxıntı",
|
||||
"pad.toolbar.undo.title": "Geri Al (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Qaytarmaq (Ctrl-Y)",
|
||||
"pad.toolbar.strikethrough.title": "Üstdən xətləmək (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Sıralanmış siyahı (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Sırasız siyahı (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Abzas (TAB)",
|
||||
"pad.toolbar.unindent.title": "Çıxıntı (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Geri qaytar (Ctrl+Z)",
|
||||
"pad.toolbar.redo.title": "Qaytar (Ctrl+Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Müəlliflik Rənglərini Təmizlə",
|
||||
"pad.toolbar.import_export.title": "Müxtəlif fayl formatların(a/dan) idxal/ixrac",
|
||||
"pad.toolbar.timeslider.title": "Vaxt cədvəli",
|
||||
"pad.toolbar.savedRevision.title": "Saxlanılan Düzəlişlər",
|
||||
"pad.toolbar.settings.title": "Tənzimləmələr",
|
||||
"pad.toolbar.embed.title": "Bu pad-ı yayımla",
|
||||
"pad.toolbar.showusers.title": "Pad-da istifadəçiləri göstər",
|
||||
"pad.toolbar.embed.title": "Bu lövhəni paylaş və qur",
|
||||
"pad.toolbar.showusers.title": "Lövhədəki istifadəçiləri göstər",
|
||||
"pad.colorpicker.save": "Saxla",
|
||||
"pad.colorpicker.cancel": "İmtina",
|
||||
"pad.loading": "Yüklənir...",
|
||||
"pad.passwordRequired": "Bu pad-a daxil olmaq üçün parol lazımdır",
|
||||
"pad.permissionDenied": "Bu pad-a daxil olmaq üçün icazəniz yoxdur",
|
||||
"pad.passwordRequired": "Bu lövhəyə daxil olmaq üçün parol lazımdır",
|
||||
"pad.permissionDenied": "Bu lövhəyə daxil olmaq üçün icazəniz yoxdur",
|
||||
"pad.wrongPassword": "Sizin parolunuz səhvdir",
|
||||
"pad.settings.padSettings": "Pad Tənzimləmələri",
|
||||
"pad.settings.padSettings": "Lövhə nizamlamaları",
|
||||
"pad.settings.myView": "Mənim Görüntüm",
|
||||
"pad.settings.stickychat": "Söhbət həmişə ekranda",
|
||||
"pad.settings.colorcheck": "Müəlliflik rəngləri",
|
||||
|
@ -45,20 +46,20 @@
|
|||
"pad.importExport.import_export": "İdxal/İxrac",
|
||||
"pad.importExport.import": "Hər hansı bir mətn faylı və ya sənəd yüklə",
|
||||
"pad.importExport.importSuccessful": "Uğurlu!",
|
||||
"pad.importExport.export": "Hazırki pad-ı ixrac etmək kimi:",
|
||||
"pad.importExport.export": "Hazırkı lövhəni bu şəkildə ixrac et:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Adi mətn",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Açıq Sənəd Formatı)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Siz yalnız adi mətndən və ya HTML-dən idxal edə bilərsiniz. İdxalın daha mürəkkəb funksiyaları üçün, zəhmət olmasa, \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003E AbiWord-i quraşdırın\u003C/a\u003E.",
|
||||
"pad.importExport.exportopen": "ODF (açıq sənəd formatı)",
|
||||
"pad.importExport.abiword.innerHTML": "Siz yalnız adi mətndən və ya HTML-dən idxal edə bilərsiniz. İdxalın daha mürəkkəb funksiyaları üçün, zəhmət olmasa, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"> AbiWord-i quraşdırın</a>.",
|
||||
"pad.modals.connected": "Bağlandı.",
|
||||
"pad.modals.reconnecting": "Sizin pad yenidən qoşulur..",
|
||||
"pad.modals.reconnecting": "Sizin lövhə yenidən qoşulur..",
|
||||
"pad.modals.forcereconnect": "Məcbur təkrarən bağlan",
|
||||
"pad.modals.userdup": "Başqa pəncərədə artıq açıqdır",
|
||||
"pad.modals.userdup.explanation": "Sənəd, ola bilsin ki, bu kompyuterdə, brauzerin bir neçə pəncərəsində açılmışdır.",
|
||||
"pad.modals.userdup.advice": "Bu pəncərədən istifadəylə yenidən qoşulun.",
|
||||
"pad.modals.userdup.explanation": "Bu lövhə, ola bilsin ki, bu kompüterdəki brauzerin bir neçə pəncərəsində açılmışdır.",
|
||||
"pad.modals.userdup.advice": "Bu pəncərəni istifadə etmək üçün yenidən qoşul.",
|
||||
"pad.modals.unauth": "İcazəli deyil",
|
||||
"pad.modals.unauth.explanation": "Bu səhifəyə baxdığınız vaxt sizin icazəniz dəyişilib. Bərpa etmək üşün yenidən cəhd edin.",
|
||||
"pad.modals.looping.explanation": "Sinxronlaşdırma serveri ilə kommunikasiya xətası var.",
|
||||
|
@ -70,22 +71,22 @@
|
|||
"pad.modals.slowcommit.cause": "Bu şəbəkə bağlantısında problemlər yarana bilər.",
|
||||
"pad.modals.badChangeset.explanation": "Etdiyiniz bir redaktə sinxronizasiya serveri tərəfindən qeyri-leqal/qanundan kənar olaraq təsbit edildi.",
|
||||
"pad.modals.badChangeset.cause": "Bu, yanlış server tərtibatı ya da başqa bir gözlənilməyən davranışlar nəticəsində ola bilər. Bu sizə bir xəta imiş kimi görünürsə lütfən servis nəzarətçisi ilə əlaqə yaradın. Redaktəyə davam etmək üçün yenidən qoşulmanı yoxlayın.",
|
||||
"pad.modals.corruptPad.explanation": "Əldə etməyə çalışdığınız sənəd zədəlidir.",
|
||||
"pad.modals.corruptPad.explanation": "Daxil olmağa çalışdığınız lövhə zədəlidir.",
|
||||
"pad.modals.corruptPad.cause": "Bu, yanlış server tərtibatı ya da başqa bir gözlənilməyən davranışlardan əmələ gələ bilər. Lütfən servis nəzarətçisi ilə əlaqə yaradın.",
|
||||
"pad.modals.deleted": "Silindi.",
|
||||
"pad.modals.deleted.explanation": "Bu pad silindi.",
|
||||
"pad.modals.deleted.explanation": "Bu lövhə silindi.",
|
||||
"pad.modals.disconnected": "Əlaqə kəsilib.",
|
||||
"pad.modals.disconnected.explanation": "Serverə qoşulma itirilib",
|
||||
"pad.modals.disconnected.cause": "Server istifadə olunmur. Əgər problem təkrarlanacaqsa, bizə bildirin.",
|
||||
"pad.share": "Bu pad-ı yayımla",
|
||||
"pad.share": "Bu lövhəni paylaş",
|
||||
"pad.share.readonly": "Yalnız oxuyun",
|
||||
"pad.share.link": "Keçid",
|
||||
"pad.share.emebdcode": "URL-ni yayımla",
|
||||
"pad.chat": "Söhbət",
|
||||
"pad.chat.title": "Bu pad üçün chat açın.",
|
||||
"pad.chat.title": "Bu lövhə üçün çat açın.",
|
||||
"pad.chat.loadmessages": "Daha çox mesaj yüklə",
|
||||
"timeslider.pageTitle": "{{appTitle}} Vaxt cədvəli",
|
||||
"timeslider.toolbar.returnbutton": "Pad-a qayıt",
|
||||
"timeslider.toolbar.returnbutton": "Lövhəyə qayıt",
|
||||
"timeslider.toolbar.authors": "Müəlliflər:",
|
||||
"timeslider.toolbar.authorsList": "Müəllif yoxdur",
|
||||
"timeslider.toolbar.exportlink.title": "İxrac",
|
||||
|
@ -105,18 +106,19 @@
|
|||
"timeslider.month.october": "Oktyabr",
|
||||
"timeslider.month.november": "Noyabr",
|
||||
"timeslider.month.december": "Dekabr",
|
||||
"timeslider.unnamedauthors": "{{num}} adsız müəlliflər",
|
||||
"timeslider.unnamedauthors": "{{num}} adsız {[plural(num) one: müəllif, other: müəllif]}",
|
||||
"pad.savedrevs.marked": "Bu versiya indi yaddaşa saxlanmış kimi nişanlandı",
|
||||
"pad.userlist.entername": "Adınızı daxil et",
|
||||
"pad.userlist.entername": "Adınızı daxil edin",
|
||||
"pad.userlist.unnamed": "adsız",
|
||||
"pad.userlist.guest": "Qonaq",
|
||||
"pad.userlist.deny": "İnkar etmək",
|
||||
"pad.userlist.approve": "Təsdiqləmək",
|
||||
"pad.editbar.clearcolors": "Bütün sənədlərdə müəlliflik rənglərini təmizlə?",
|
||||
"pad.impexp.importbutton": "İndi idxal edin",
|
||||
"pad.editbar.clearcolors": "Bütün sənədlərdə müəllif rəngləri təmizlənsin?",
|
||||
"pad.impexp.importbutton": "İndi idxal et",
|
||||
"pad.impexp.importing": "İdxal...",
|
||||
"pad.impexp.confirmimport": "Faylın idxalı cari mətni yeniləyəcək. Siz əminsinizmi ki, davam etmək istəyirsiniz?",
|
||||
"pad.impexp.confirmimport": "Faylın idxalı lövhədəki cari mətni yeniləyəcək. Davam etmək istədiyinizə əminsinizmi?",
|
||||
"pad.impexp.convertFailed": "Biz bu fayl idxal etmək mümkün deyil idi. Xahiş olunur müxtəlif sənəddən istifadə edin və ya kopyalayıb yapışdırmaq yolundan istifadə edin",
|
||||
"pad.impexp.padHasData": "Biz bu faylı idxal edə bilmədik, çünki bu lövhədə düzəlişlər edilib, lütfən yeni lövhə idxal edin",
|
||||
"pad.impexp.uploadFailed": "Yükləmədə səhv, xahiş olunur yenə cəhd edin",
|
||||
"pad.impexp.importfailed": "İdxal zamanı səhv",
|
||||
"pad.impexp.copypaste": "Xahiş edirik kopyalayıb yapışdırın",
|
||||
|
|
22
sources/src/locales/azb.json
Normal file → Executable file
22
sources/src/locales/azb.json
Normal file → Executable file
|
@ -2,7 +2,8 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Amir a57",
|
||||
"Mousa"
|
||||
"Mousa",
|
||||
"Koroğlu"
|
||||
]
|
||||
},
|
||||
"index.newPad": "یئنی یادداشت دفترچه سی",
|
||||
|
@ -45,7 +46,6 @@
|
|||
"pad.importExport.exportword": "مایکروسافت وورد",
|
||||
"pad.importExport.exportpdf": "پی دی اف",
|
||||
"pad.importExport.exportopen": "او دی اف",
|
||||
"pad.importExport.exportdokuwiki": "دوکو ویکی",
|
||||
"pad.modals.connected": "متصل اولدی",
|
||||
"pad.modals.reconnecting": "سیزین یادداشت دفترچه سینه یئنی دن متصیل اولدی",
|
||||
"pad.modals.forcereconnect": "یئنی اتصال اوچون زورلاما",
|
||||
|
@ -68,5 +68,21 @@
|
|||
"timeslider.pageTitle": "{{appTitle}}زمان اسلایدری",
|
||||
"timeslider.toolbar.returnbutton": "یادداشت دفترچه سینه قاییت",
|
||||
"timeslider.toolbar.authors": "یازیچیلار",
|
||||
"timeslider.toolbar.authorsList": "یازیچی سیز"
|
||||
"timeslider.toolbar.authorsList": "یازیچی سیز",
|
||||
"timeslider.month.january": "ژانویه",
|
||||
"timeslider.month.february": "فوریه",
|
||||
"timeslider.month.march": "مارس",
|
||||
"timeslider.month.april": "آپریل",
|
||||
"timeslider.month.may": "مای",
|
||||
"timeslider.month.june": "ژوئن",
|
||||
"timeslider.month.july": "جولای",
|
||||
"timeslider.month.august": "آقوست",
|
||||
"timeslider.month.september": "سپتامبر",
|
||||
"timeslider.month.october": "اوْکتوبر",
|
||||
"timeslider.month.november": "نوْوامبر",
|
||||
"timeslider.month.december": "دسامبر",
|
||||
"pad.userlist.unnamed": "آدسیز",
|
||||
"pad.userlist.guest": "قوْناق",
|
||||
"pad.userlist.deny": "دانماق",
|
||||
"pad.userlist.approve": "اوْنایلا"
|
||||
}
|
121
sources/src/locales/bcc.json
Executable file
121
sources/src/locales/bcc.json
Executable file
|
@ -0,0 +1,121 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Baloch Afghanistan"
|
||||
]
|
||||
},
|
||||
"index.newPad": "دفترچه یادداشت تازه",
|
||||
"index.createOpenPad": "یا ایجاد/بازکردن یک دفترچه یادداشت با نام:",
|
||||
"pad.toolbar.bold.title": "پررنگ (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "کج (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "زیرخط (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "خط خورده",
|
||||
"pad.toolbar.ol.title": "فهرست مرتب شده",
|
||||
"pad.toolbar.ul.title": "فهرست مرتب نشده",
|
||||
"pad.toolbar.indent.title": "تورفتگی (TAB)",
|
||||
"pad.toolbar.unindent.title": "بیرون رفتگی (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "باطلکردن (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "از نو (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "پاککردن رنگهای نویسندگی",
|
||||
"pad.toolbar.import_export.title": "درونریزی/برونریزی از/به قالبهای مختلف",
|
||||
"pad.toolbar.timeslider.title": "لغزندهٔ زمان",
|
||||
"pad.toolbar.savedRevision.title": "ذخیرهسازی نسخه",
|
||||
"pad.toolbar.settings.title": "تنظیمات",
|
||||
"pad.toolbar.embed.title": "اشتراک و جاسازی این دفترچه یادداشت",
|
||||
"pad.toolbar.showusers.title": "نمایش کاربران در این دفترچه یادداشت",
|
||||
"pad.colorpicker.save": "زاپاس کورتین",
|
||||
"pad.colorpicker.cancel": "کنسیل",
|
||||
"pad.loading": "...بار بیت",
|
||||
"pad.passwordRequired": "برای دسترسی به این دفترچه یادداشت نیاز به یک گذرواژه دارید",
|
||||
"pad.permissionDenied": "شرمنده، شما را اجازت په دسترسی ای صفحه نیست.",
|
||||
"pad.wrongPassword": "گذرواژهی شما درست نیست",
|
||||
"pad.settings.padSettings": "تنظیمات دفترچه یادداشت",
|
||||
"pad.settings.myView": "نمای من",
|
||||
"pad.settings.stickychat": "گفتگو همیشه روی صفحه نمایش باشد",
|
||||
"pad.settings.colorcheck": "رنگهای نویسندگی",
|
||||
"pad.settings.linenocheck": "شمارهی خطوط",
|
||||
"pad.settings.rtlcheck": "خواندن محتوا از راست به چپ؟",
|
||||
"pad.settings.fontType": "نوع قلم:",
|
||||
"pad.settings.fontType.normal": "نرمال",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.globalView": "نمای سراسری",
|
||||
"pad.settings.language": "زبان:",
|
||||
"pad.importExport.import_export": "درونریزی/برونریزی",
|
||||
"pad.importExport.import": "بارگذاری پروندهی متنی یا سند",
|
||||
"pad.importExport.importSuccessful": "موفقیت آمیز بود!",
|
||||
"pad.importExport.export": "برونریزی این دفترچه یادداشت با قالب:",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "سادگین متن",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (قالب سند باز)",
|
||||
"pad.importExport.abiword.innerHTML": "شما تنها میتوانید از قالب متن ساده یا اچتیامال درونریزی کنید. برای بیشتر شدن ویژگیهای درونریزی پیشرفته <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">AbiWord</a> را نصب کنید.",
|
||||
"pad.modals.connected": "متصل شد.",
|
||||
"pad.modals.reconnecting": "در حال اتصال دوباره به دفترچه یادداشت شما..",
|
||||
"pad.modals.forcereconnect": "واداشتن به اتصال دوباره",
|
||||
"pad.modals.userdup": "در پنجرهای دیگر باز شد",
|
||||
"pad.modals.userdup.explanation": "گمان میرود این دفترچه یادداشت در بیش از یک پنجرهی مرورگر باز شدهاست.",
|
||||
"pad.modals.userdup.advice": "برای استفاده از این پنجره دوباره وصل شوید.",
|
||||
"pad.modals.unauth": "مجاز نیست",
|
||||
"pad.modals.unauth.explanation": "دسترسی شما در حین مشاهدهی این برگه تغییر یافتهاست. دوباره متصل شوید.",
|
||||
"pad.modals.looping.explanation": "مشکلاتی ارتباطی با سرور همگامسازی وجود دارد.",
|
||||
"pad.modals.looping.cause": "شاید شما از طریق یک فایروال یا پروکسی ناسازگار متصل شدهاید.",
|
||||
"pad.modals.initsocketfail": "سرور در دسترس نیست.",
|
||||
"pad.modals.initsocketfail.explanation": "نمیتوان به سرور همگام سازی وصل شد.",
|
||||
"pad.modals.initsocketfail.cause": "شاید این به خاطر مشکلی در مرورگر یا اتصال اینترنتی شما باشد.",
|
||||
"pad.modals.slowcommit.explanation": "سرور پاسخ نمیدهد.",
|
||||
"pad.modals.slowcommit.cause": "این میتواند به خاطر مشکلاتی در اتصال به شبکه باشد.",
|
||||
"pad.modals.badChangeset.explanation": "ویرایشی که شما انجام دادهاید توسط سرور همگامسازی نادرست طیقهبندی شدهاست.",
|
||||
"pad.modals.badChangeset.cause": "این میتواند به دلیل پیکربندی اشتباه یا سایر رفتارهای غیرمنتظره باشد. اگر فکر میکنید این یک خطا است لطفاً با مدیر خدمت تماس بگیرید. برای ادامهٔ ویرایش سعی کنید که دوباره متصل شوید.",
|
||||
"pad.modals.corruptPad.explanation": "پدی که شما سعی دارید دسترسی پیدا کنید خراب است.",
|
||||
"pad.modals.corruptPad.cause": "این احتمالاً به دلیل تنظیمات اشتباه کارساز یا سایر رفتارهای غیرمنتظره است. لطفاً با مدیر خدمت تماس حاصل کنید.",
|
||||
"pad.modals.deleted": "پاک کورتین",
|
||||
"pad.modals.deleted.explanation": "این دفترچه یادداشت پاک شدهاست.",
|
||||
"pad.modals.disconnected": "اتصال شما قطع شدهاست.",
|
||||
"pad.modals.disconnected.explanation": "اتصال به سرور قطع شدهاست.",
|
||||
"pad.modals.disconnected.cause": "ممکن است سرور در دسترس نباشد. اگر این مشکل باز هم رخ داد مدیر حدمت را آگاه کنید.",
|
||||
"pad.share": "به اشتراکگذاری این دفترچه یادداشت",
|
||||
"pad.share.readonly": "فقط خواندنی",
|
||||
"pad.share.link": "پیوند",
|
||||
"pad.share.emebdcode": "جاسازی نشانی",
|
||||
"pad.chat": "گفتگو",
|
||||
"pad.chat.title": "بازکردن گفتگو برای این دفترچه یادداشت",
|
||||
"pad.chat.loadmessages": "بارگیری پیامهای بیشتر",
|
||||
"timeslider.pageTitle": "لغزندهٔ زمان {{appTitle}}",
|
||||
"timeslider.toolbar.returnbutton": "بازگشت به دفترچه یادداشت",
|
||||
"timeslider.toolbar.authors": "نویسوک:",
|
||||
"timeslider.toolbar.authorsList": "بدون نویسنده",
|
||||
"timeslider.toolbar.exportlink.title": "درگیزگ",
|
||||
"timeslider.exportCurrent": "برونریزی نگارش کنونی به عنوان:",
|
||||
"timeslider.version": "نگارش {{version}}",
|
||||
"timeslider.saved": "{{month}} {{day}}، {{year}} ذخیره شد",
|
||||
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "جنوری",
|
||||
"timeslider.month.february": "پیبروری",
|
||||
"timeslider.month.march": "مارچ",
|
||||
"timeslider.month.april": "آپریل",
|
||||
"timeslider.month.may": "می",
|
||||
"timeslider.month.june": "جون",
|
||||
"timeslider.month.july": "جولای",
|
||||
"timeslider.month.august": "آگوست",
|
||||
"timeslider.month.september": "سپٹامبر",
|
||||
"timeslider.month.october": "اکتوبر",
|
||||
"timeslider.month.november": "نوامبر",
|
||||
"timeslider.month.december": "دسمبر",
|
||||
"timeslider.unnamedauthors": "{{num}} نویسندهٔ بینام",
|
||||
"pad.savedrevs.marked": "این بازنویسی هم اکنون به عنوان ذخیره شده علامتگذاری شد",
|
||||
"pad.userlist.entername": "وتی یوزرنامء بلک ات",
|
||||
"pad.userlist.unnamed": "بدون نام",
|
||||
"pad.userlist.guest": "مهمان",
|
||||
"pad.userlist.deny": "رد کردن",
|
||||
"pad.userlist.approve": "تایید",
|
||||
"pad.editbar.clearcolors": "رنگ نویسندگی از همهی سند پاک شود؟",
|
||||
"pad.impexp.importbutton": "هم اکنون درونریزی کن",
|
||||
"pad.impexp.importing": "در حال درونریزی...",
|
||||
"pad.impexp.confirmimport": "با درونریزی یک پرونده نوشتهٔ کنونی دفترچه پاک میشود. آیا میخواهید ادامه دهید؟",
|
||||
"pad.impexp.convertFailed": "ما نمیتوانیم این پرونده را درونریزی کنیم. خواهشمندیم قالب دیگری برای سندتان انتخاب کرده یا بصورت دستی آنرا کپی کنید",
|
||||
"pad.impexp.uploadFailed": "آپلود انجام نشد، دوباره تلاش کنید",
|
||||
"pad.impexp.importfailed": "درونریزی انجام نشد",
|
||||
"pad.impexp.copypaste": "کپی پیست کنید",
|
||||
"pad.impexp.exportdisabled": "برونریزی با قالب {{type}} از کار افتاده است. برای جزئیات بیشتر با مدیر سیستمتان تماس بگیرید."
|
||||
}
|
82
sources/src/locales/be-tarask.json
Normal file → Executable file
82
sources/src/locales/be-tarask.json
Normal file → Executable file
|
@ -11,29 +11,31 @@
|
|||
"pad.toolbar.bold.title": "Тоўсты (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Курсіў (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Падкрэсьліваньне (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Закрэсьліваньне",
|
||||
"pad.toolbar.ol.title": "Упарадкаваны сьпіс",
|
||||
"pad.toolbar.ul.title": "Неўпарадкаваны сьпіс",
|
||||
"pad.toolbar.strikethrough.title": "Закрэсьліваньне (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Упарадкаваны сьпіс (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Неўпарадкаваны сьпіс (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Водступ (TAB)",
|
||||
"pad.toolbar.unindent.title": "Выступ",
|
||||
"pad.toolbar.unindent.title": "Выступ (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Скасаваць(Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Вярнуць (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Прыбраць колер дакумэнту",
|
||||
"pad.toolbar.clearAuthorship.title": "Прыбраць колер дакумэнту (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Імпарт/Экспарт з выкарыстаньне розных фарматаў файлаў",
|
||||
"pad.toolbar.timeslider.title": "Шкала часу",
|
||||
"pad.toolbar.savedRevision.title": "Захаваць вэрсію",
|
||||
"pad.toolbar.settings.title": "Налады",
|
||||
"pad.toolbar.embed.title": "Убудаваць гэты дакумэнт",
|
||||
"pad.toolbar.embed.title": "Падзяліцца і ўбудаваць гэты дакумэнт",
|
||||
"pad.toolbar.showusers.title": "Паказаць карыстальнікаў у гэтым дакумэнце",
|
||||
"pad.colorpicker.save": "Захаваць",
|
||||
"pad.colorpicker.cancel": "Скасаваць",
|
||||
"pad.loading": "Загрузка...",
|
||||
"pad.noCookie": "Кукі ня знойдзеныя. Калі ласка, дазвольце кукі ў вашым браўзэры!",
|
||||
"pad.passwordRequired": "Для доступу да гэтага дакумэнта патрэбны пароль",
|
||||
"pad.permissionDenied": "Вы ня маеце дазволу на доступ да гэтага дакумэнта",
|
||||
"pad.wrongPassword": "Вы ўвялі няслушны пароль",
|
||||
"pad.settings.padSettings": "Налады дакумэнта",
|
||||
"pad.settings.myView": "Мой выгляд",
|
||||
"pad.settings.stickychat": "Заўсёды паказваць чат",
|
||||
"pad.settings.chatandusers": "Паказаць чат і ўдзельнікаў",
|
||||
"pad.settings.colorcheck": "Колеры аўтарства",
|
||||
"pad.settings.linenocheck": "Нумары радкоў",
|
||||
"pad.settings.rtlcheck": "Тэкст справа-налева",
|
||||
|
@ -46,17 +48,81 @@
|
|||
"pad.importExport.import": "Загрузіжайце любыя тэкставыя файлы або дакумэнты",
|
||||
"pad.importExport.importSuccessful": "Пасьпяхова!",
|
||||
"pad.importExport.export": "Экспартаваць бягучы дакумэнт як:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Просты тэкст",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Вы можаце імпартаваць толькі з звычайнага тэксту або HTML. Дзеля больш пашыраных магчымасьцяў імпарту, калі ласка, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">усталюйце abiword</a>.",
|
||||
"pad.modals.connected": "Падлучыліся.",
|
||||
"pad.modals.reconnecting": "Перападлучэньне да вашага дакумэнта...",
|
||||
"pad.modals.forcereconnect": "Прымусовае перападлучэньне",
|
||||
"pad.modals.userdup": "Адкрыта ў іншым акне",
|
||||
"pad.modals.userdup.explanation": "Падобна, дакумэнт адкрыты больш чым у адным акне браўзэра на гэтым кампутары.",
|
||||
"pad.modals.userdup.advice": "Паўторна падключыць з выкарыстаньнем гэтага акна.",
|
||||
"pad.modals.unauth": "Не аўтарызаваны",
|
||||
"pad.modals.unauth.explanation": "Вашыя правы былі зьмененыя ў часе прагляду гэтай старонкі. Паспрабуйце перападключыцца.",
|
||||
"pad.modals.looping.explanation": "Праблемы далучэньня да сэрвэра сынхранізацыі.",
|
||||
"pad.modals.looping.cause": "Магчыма, вы падключыліся празь несумяшчальны брандмаўэр або проксі.",
|
||||
"pad.modals.initsocketfail": "Сэрвэр недаступны.",
|
||||
"pad.modals.initsocketfail.explanation": "Не атрымалася падлучыцца да сэрвэра сынхранізацыі.",
|
||||
"pad.modals.initsocketfail.cause": "Імаверна, гэта зьвязана з праблемамі з вашым браўзэрам або інтэрнэт-злучэньнем.",
|
||||
"pad.modals.slowcommit.explanation": "Сэрвэр не адказвае.",
|
||||
"pad.modals.slowcommit.cause": "Гэта можа быць выклікана праблемамі зь сеткавым падлучэньнем.",
|
||||
"pad.modals.badChangeset.explanation": "Сэрвэр сынхранізацыі вызначыў зробленае вамі рэдагаваньне як недапушчальнае.",
|
||||
"pad.modals.badChangeset.cause": "Гэта можа адбывацца празь няслушную канфігурацыю сэрвэра або празь іншыя нечаканыя дзеяньні. Калі ласка, скантактуйцеся з адміністратарам, калі вы лічыце, што гэта памылка. Паспрабуйце перападлучыцца, каб працягнуць рэдагаваньне.",
|
||||
"pad.modals.corruptPad.explanation": "Дакумэнт, да якога вы спрабуеце атрымаць доступ, пашкоджаны.",
|
||||
"pad.modals.corruptPad.cause": "Гэта можа быць выклікана няправільнай канфігурацыяй сэрвэру або іншымі нечаканымі дзеяньнямі. Калі ласка, скантактуйцеся з адміністратарам службы.",
|
||||
"pad.modals.deleted": "Выдалены.",
|
||||
"pad.modals.deleted.explanation": "Гэты дакумэнт быў выдалены.",
|
||||
"pad.modals.disconnected": "Вы былі адключаныя.",
|
||||
"pad.modals.disconnected.explanation": "Злучэньне з сэрвэрам было страчанае",
|
||||
"pad.modals.disconnected.cause": "Магчыма, сэрвэр недаступны. Калі ласка, паведаміце адміністратару службы, калі праблема будзе паўтарацца.",
|
||||
"pad.share": "Падзяліцца дакумэнтам",
|
||||
"pad.share.readonly": "Толькі для чытаньня",
|
||||
"pad.share.link": "Спасылка",
|
||||
"pad.chat": "Чат"
|
||||
"pad.share.emebdcode": "Укласьці URL",
|
||||
"pad.chat": "Чат",
|
||||
"pad.chat.title": "Адкрыць чат для гэтага дакумэнту.",
|
||||
"pad.chat.loadmessages": "Загрузіць болей паведамленьняў",
|
||||
"timeslider.pageTitle": "Часавая шкала {{appTitle}}",
|
||||
"timeslider.toolbar.returnbutton": "Вярнуцца да дакумэнту",
|
||||
"timeslider.toolbar.authors": "Аўтары:",
|
||||
"timeslider.toolbar.authorsList": "Няма аўтараў",
|
||||
"timeslider.toolbar.exportlink.title": "Экспарт",
|
||||
"timeslider.exportCurrent": "Экспартаваць актуальную вэрсію як:",
|
||||
"timeslider.version": "Вэрсія {{version}}",
|
||||
"timeslider.saved": "Захавана {{day}}.{{month}}.{{year}}",
|
||||
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "студзень",
|
||||
"timeslider.month.february": "люты",
|
||||
"timeslider.month.march": "сакавік",
|
||||
"timeslider.month.april": "красавік",
|
||||
"timeslider.month.may": "травень",
|
||||
"timeslider.month.june": "чэрвень",
|
||||
"timeslider.month.july": "ліпень",
|
||||
"timeslider.month.august": "жнівень",
|
||||
"timeslider.month.september": "верасень",
|
||||
"timeslider.month.october": "кастрычнік",
|
||||
"timeslider.month.november": "лістапад",
|
||||
"timeslider.month.december": "сьнежань",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: безыменны аўтар, few: безыменныя аўтары, many: безыменных аўтараў, other: безыменных аўтараў ]}",
|
||||
"pad.savedrevs.marked": "Гэтая вэрсія цяпер пазначаная як захаваная",
|
||||
"pad.savedrevs.timeslider": "Вы можаце пабачыць захаваныя вэрсіі з дапамогай шкалы часу",
|
||||
"pad.userlist.entername": "Увядзіце вашае імя",
|
||||
"pad.userlist.unnamed": "безыменны",
|
||||
"pad.userlist.guest": "Госьць",
|
||||
"pad.userlist.deny": "Адхіліць",
|
||||
"pad.userlist.approve": "Зацьвердзіць",
|
||||
"pad.editbar.clearcolors": "Ачысьціць аўтарскія колеры ва ўсім дакумэнце?",
|
||||
"pad.impexp.importbutton": "Імпартаваць зараз",
|
||||
"pad.impexp.importing": "Імпартаваньне…",
|
||||
"pad.impexp.confirmimport": "Імпарт файла перазапіша цяперашні тэкст дакумэнту. Вы ўпэўненыя, што хочаце працягваць?",
|
||||
"pad.impexp.convertFailed": "Не атрымалася імпартаваць гэты файл. Калі ласка, выкарыстайце іншы фармат дакумэнту або скапіюйце ўручную.",
|
||||
"pad.impexp.padHasData": "Мы не змаглі імпартаваць гэты файл, бо дакумэнт ужо мае зьмены, калі ласка, імпартуйце ў новы дакумэнт",
|
||||
"pad.impexp.uploadFailed": "Загрузка не атрымалася, калі ласка, паспрабуйце яшчэ раз",
|
||||
"pad.impexp.importfailed": "Памылка імпарту",
|
||||
"pad.impexp.copypaste": "Калі ласка, скапіюйце і ўстаўце",
|
||||
"pad.impexp.exportdisabled": "Экспарт у фармаце {{type}} адключаны. Калі ласка, зьвярніцеся да вашага сыстэмнага адміністратара па падрабязнасьці."
|
||||
}
|
75
sources/src/locales/bgn.json
Executable file
75
sources/src/locales/bgn.json
Executable file
|
@ -0,0 +1,75 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Baloch Afghanistan"
|
||||
]
|
||||
},
|
||||
"index.newPad": "یاداشتی نوکین کتابچه",
|
||||
"index.createOpenPad": "یا جوڑ\t کورتین/پاچ کورتین یک کتابچه ئی یاداشتی بی نام:",
|
||||
"pad.toolbar.bold.title": "پررنگ (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "چوّٹ (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "جهلگ خط (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "خط وارته (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "ترتیب بوتگین لر لیست (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "ترتیب نه بوتگین لر لیست (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "بیئتئ بوتگین (TAB)",
|
||||
"pad.toolbar.unindent.title": "در آتگی (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "باطلکورتین (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "شه نوک (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "نویسوکئ رنگانی پاک کورتین (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "بی تئ کورتین/دَر کورتین شه/بی رکم رکمین قالیبان",
|
||||
"pad.toolbar.timeslider.title": "وختئ لَگوشوک",
|
||||
"pad.toolbar.savedRevision.title": "نسخه ئی ذخیره کورتین",
|
||||
"pad.toolbar.settings.title": "تنظیمات",
|
||||
"pad.colorpicker.save": "ذخیره",
|
||||
"pad.colorpicker.cancel": "کنسیل",
|
||||
"pad.loading": "لودینگ...",
|
||||
"pad.wrongPassword": "شمی پاسورد جووان نه اینت",
|
||||
"pad.settings.padSettings": "یاداشتئ دفترچه ئی تنظیمات",
|
||||
"pad.settings.myView": "نئ دیست",
|
||||
"pad.settings.stickychat": "هبر موچین وختا بی دیستئ تاکدیمئ سرا بیئت",
|
||||
"pad.settings.colorcheck": "نویسوکی رنگ ئان",
|
||||
"pad.settings.linenocheck": "خط ئانی نمبر",
|
||||
"pad.settings.rtlcheck": "محتوایی وانتین شه راست بی چپا؟",
|
||||
"pad.settings.fontType": "قلم رکم:",
|
||||
"pad.settings.fontType.normal": "ساددگ",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.globalView": "سراسرین دیست یا نما",
|
||||
"pad.settings.language": "زبان:",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "ساده گین متن",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (پاچین سندئ قالب)",
|
||||
"pad.importExport.abiword.innerHTML": "شما تا توانیت که شه ساده گین متنی ئین قالب یا اچتیامال بی تئ کنیت . په گیشتیرین کارا ئییان پیشرفته ئین بی تئ کورتینا <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">AbiWord</a> نصب کنیت.",
|
||||
"pad.modals.connected": "وصل بوت.",
|
||||
"pad.modals.userdup": "نوکین دروازه گئ پاچ کورتین",
|
||||
"pad.modals.unauth": "مجاز نه اینت",
|
||||
"pad.modals.deleted.explanation": "ای یاداشتی دفترچه پاک بوته.",
|
||||
"pad.share.readonly": "فقط وانتین",
|
||||
"pad.share.link": "لینک",
|
||||
"pad.chat": "چت وهبر",
|
||||
"timeslider.toolbar.exportlink.title": "دَر کورتین",
|
||||
"timeslider.month.january": "جنوری",
|
||||
"timeslider.month.february": "فیبروری",
|
||||
"timeslider.month.march": "مارچ",
|
||||
"timeslider.month.april": "اپریل",
|
||||
"timeslider.month.may": "می",
|
||||
"timeslider.month.june": "جون",
|
||||
"timeslider.month.july": "جولای",
|
||||
"timeslider.month.august": "اگوست",
|
||||
"timeslider.month.september": "سیپٹمبر",
|
||||
"timeslider.month.october": "اکتوبر",
|
||||
"timeslider.month.november": "نوامبر",
|
||||
"timeslider.month.december": "ڈ\tسمبر",
|
||||
"timeslider.unnamedauthors": "{{num}} بی نامین نویسوک",
|
||||
"pad.userlist.entername": "وتئ ناما نیویشته بکنیت",
|
||||
"pad.userlist.unnamed": "بی نام",
|
||||
"pad.userlist.guest": "مهمان",
|
||||
"pad.userlist.deny": "رد کورتین",
|
||||
"pad.userlist.approve": "قبول کورتین",
|
||||
"pad.impexp.importbutton": "انون بی تئ کن",
|
||||
"pad.impexp.importing": "بی بی تئ کورتینی حالا...",
|
||||
"pad.impexp.uploadFailed": "آپلود انجام نه بوت، پدا کوشش کن",
|
||||
"pad.impexp.copypaste": "کپی پیست کَنیت"
|
||||
}
|
31
sources/src/locales/bn.json
Normal file → Executable file
31
sources/src/locales/bn.json
Normal file → Executable file
|
@ -3,7 +3,9 @@
|
|||
"authors": [
|
||||
"Bellayet",
|
||||
"Nasir8891",
|
||||
"Sankarshan"
|
||||
"Sankarshan",
|
||||
"Aftab1995",
|
||||
"Aftabuzzaman"
|
||||
]
|
||||
},
|
||||
"index.newPad": "নতুন প্যাড",
|
||||
|
@ -11,16 +13,17 @@
|
|||
"pad.toolbar.bold.title": "গাড় করা (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "বাঁকা করা (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "আন্ডারলাইন (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "স্ট্রাইক্থ্রু",
|
||||
"pad.toolbar.ol.title": "সারিবদ্ধ তালিকা",
|
||||
"pad.toolbar.indent.title": "প্রান্তিককরণ",
|
||||
"pad.toolbar.unindent.title": "আউটডেন্ট",
|
||||
"pad.toolbar.indent.title": "প্রান্তিককরণ (TAB)",
|
||||
"pad.toolbar.unindent.title": "আউটডেন্ট (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "বাতিল করুন (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "পুনরায় করুন (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "কৃতি রং পরিষ্কার করুন",
|
||||
"pad.toolbar.clearAuthorship.title": "কৃতি রং পরিষ্কার করুন (Ctrl+Shift+C)",
|
||||
"pad.toolbar.timeslider.title": "টাইমস্লাইডার",
|
||||
"pad.toolbar.savedRevision.title": "সংস্করণ সংরক্ষণ করুন",
|
||||
"pad.toolbar.settings.title": "সেটিং",
|
||||
"pad.toolbar.embed.title": "এই প্যাড-টি এম্বেড করুন",
|
||||
"pad.toolbar.embed.title": "এই প্যাডটি শেয়ার ও এম্বেড করুন",
|
||||
"pad.toolbar.showusers.title": "এই প্যাডের ব্যবহারকারীদের দেখান",
|
||||
"pad.colorpicker.save": "সংরক্ষণ",
|
||||
"pad.colorpicker.cancel": "বাতিল",
|
||||
|
@ -38,16 +41,15 @@
|
|||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.globalView": "সর্বব্যাপী দৃশ্য",
|
||||
"pad.settings.language": "ভাষা:",
|
||||
"pad.importExport.import_export": "ইম্পোরট/এক্সপোর্ট",
|
||||
"pad.importExport.import_export": "আমদানি/রপ্তানি",
|
||||
"pad.importExport.import": "কোন টেক্সট ফাইল বা ডকুমেন্ট আপলোড করুন",
|
||||
"pad.importExport.importSuccessful": "সফল!",
|
||||
"pad.importExport.export": "এই প্যাডটি এক্সপোর্ট করুন",
|
||||
"pad.importExport.export": "এই প্যাডটি রপ্তানি করুন:",
|
||||
"pad.importExport.exporthtml": "এইচটিএমএল",
|
||||
"pad.importExport.exportplain": "সাধারণ লেখা",
|
||||
"pad.importExport.exportword": "মাইক্রোসফট ওয়ার্ড",
|
||||
"pad.importExport.exportpdf": "পিডিএফ",
|
||||
"pad.importExport.exportopen": "ওডিএফ (ওপেন ডকুমেন্ট ফরম্যাট)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.modals.connected": "যোগাযোগ সফল",
|
||||
"pad.modals.reconnecting": "আপনার প্যাডের সাথে সংযোগস্থাপন করা হচ্ছে..",
|
||||
"pad.modals.forcereconnect": "পুনরায় সংযোগস্থাপনের চেষ্টা",
|
||||
|
@ -58,14 +60,19 @@
|
|||
"pad.modals.deleted.explanation": "এই প্যাডটি অপসারণ করা হয়েছে।",
|
||||
"pad.modals.disconnected.explanation": "সার্ভারের সাথে যোগাযোগ করা যাচ্ছে না",
|
||||
"pad.share": "শেয়ার করুন",
|
||||
"pad.share.readonly": "শুধু পড়া",
|
||||
"pad.share.link": "লিংক",
|
||||
"pad.share.emebdcode": "ইউআরএল সংযোজন",
|
||||
"pad.chat": "চ্যাট",
|
||||
"pad.chat.title": "এই প্যাডের জন্য চ্যাট চালু করুন।",
|
||||
"pad.chat.loadmessages": "আরও বার্তা লোড করুন",
|
||||
"timeslider.toolbar.returnbutton": "প্যাডে ফিরে যাও",
|
||||
"timeslider.toolbar.authors": "লেখকগণ:",
|
||||
"timeslider.toolbar.authorsList": "কোনো লেখক নেই",
|
||||
"timeslider.exportCurrent": "বর্তমান সংস্করণটি এক্সপোর্ট করুন:",
|
||||
"timeslider.toolbar.exportlink.title": "রপ্তানি",
|
||||
"timeslider.exportCurrent": "বর্তমান সংস্করণটি রপ্তানি করুন:",
|
||||
"timeslider.version": "সংস্করণ {{version}}",
|
||||
"timeslider.saved": "সংরক্ষিত হয় {{month}} {{day}}, {{year}}",
|
||||
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "জানুয়ারি",
|
||||
"timeslider.month.february": "ফেব্রুয়ারি",
|
||||
|
@ -83,7 +90,7 @@
|
|||
"pad.userlist.unnamed": "কোন নাম নির্বাচন করা হয়নি",
|
||||
"pad.userlist.guest": "অতিথি",
|
||||
"pad.userlist.approve": "অনুমোদিত",
|
||||
"pad.impexp.importbutton": "এখন ইম্পোর্ট করুন",
|
||||
"pad.impexp.importing": "ইম্পোর্ট চলছে...",
|
||||
"pad.impexp.importfailed": "ইম্পোর্ট অসক্ষম"
|
||||
"pad.impexp.importbutton": "এখন আমদানি করুন",
|
||||
"pad.impexp.importing": "আমদানি হচ্ছে...",
|
||||
"pad.impexp.importfailed": "আমদানি ব্যর্থ"
|
||||
}
|
16
sources/src/locales/br.json
Normal file → Executable file
16
sources/src/locales/br.json
Normal file → Executable file
|
@ -12,14 +12,14 @@
|
|||
"pad.toolbar.bold.title": "Tev (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Italek (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Islinennañ (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Barrennet",
|
||||
"pad.toolbar.ol.title": "Roll urzhiet",
|
||||
"pad.toolbar.ul.title": "Roll en dizurzh",
|
||||
"pad.toolbar.strikethrough.title": "Barrennet(Ktrl+5)",
|
||||
"pad.toolbar.ol.title": "Listenn urzhiet (Ktrl+Pennlizherenn+N)",
|
||||
"pad.toolbar.ul.title": "Listenn en dizurzh (Ktrl+Pennlizherenn+L)",
|
||||
"pad.toolbar.indent.title": "Endantañ (TAB)",
|
||||
"pad.toolbar.unindent.title": "Diendantañ (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Dizober (Ktrl-Z)",
|
||||
"pad.toolbar.redo.title": "Adober (Ktrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Diverkañ al livioù oc'h anaout an aozerien",
|
||||
"pad.toolbar.clearAuthorship.title": "Diverkañ al livioù oc'h anaout an aozerien (Ktrl+Pennlizherenn+C)",
|
||||
"pad.toolbar.import_export.title": "Enporzhiañ/Ezporzhiañ eus/war-zu ur furmad restr disheñvel",
|
||||
"pad.toolbar.timeslider.title": "Istor dinamek",
|
||||
"pad.toolbar.savedRevision.title": "Doareoù enrollet",
|
||||
|
@ -29,12 +29,14 @@
|
|||
"pad.colorpicker.save": "Enrollañ",
|
||||
"pad.colorpicker.cancel": "Nullañ",
|
||||
"pad.loading": "O kargañ...",
|
||||
"pad.noCookie": "N'eus ket gallet kavout an toupin. Aotreit an toupinoù en ho merdeer, mar plij !",
|
||||
"pad.passwordRequired": "Ezhomm ho peus ur ger-tremen evit mont d'ar Pad-se",
|
||||
"pad.permissionDenied": "\nN'oc'h ket aotreet da vont d'ar pad-mañ",
|
||||
"pad.wrongPassword": "Fazius e oa ho ker-tremen",
|
||||
"pad.settings.padSettings": "Arventennoù Pad",
|
||||
"pad.settings.myView": "Ma diskwel",
|
||||
"pad.settings.stickychat": "Diskwel ar flap bepred",
|
||||
"pad.settings.chatandusers": "Diskouez ar gaoz hag an implijerien",
|
||||
"pad.settings.colorcheck": "Livioù anaout",
|
||||
"pad.settings.linenocheck": "Niverennoù linennoù",
|
||||
"pad.settings.rtlcheck": "Lenn an danvez a-zehou da gleiz ?",
|
||||
|
@ -47,13 +49,13 @@
|
|||
"pad.importExport.import": "Enkargañ un destenn pe ur restr",
|
||||
"pad.importExport.importSuccessful": "Deuet eo ganeoc'h !",
|
||||
"pad.importExport.export": "Ezporzhiañ ar pad bremañ evel :",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Testenn blaen",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Ne c'hallit ket emporzjiañ furmadoù testennoù kriz pe html. Evit arc'hwelioù enporzhiañ emdroetoc'h, staliit \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eabiword\u003C/a\u003E mar plij.",
|
||||
"pad.importExport.abiword.innerHTML": "Ne c'hallit ket emporzjiañ furmadoù testennoù kriz pe html. Evit arc'hwelioù enporzhiañ emdroetoc'h, staliit <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">abiword</a> mar plij.",
|
||||
"pad.modals.connected": "Kevreet.",
|
||||
"pad.modals.reconnecting": "Adkevreañ war-zu ho pad...",
|
||||
"pad.modals.forcereconnect": "Adkevreañ dre heg",
|
||||
|
@ -108,6 +110,7 @@
|
|||
"timeslider.month.december": "Kerzu",
|
||||
"timeslider.unnamedauthors": "{{num}} dianav {[plural(num) one: aozer, other: aozerien ]}",
|
||||
"pad.savedrevs.marked": "Merket eo an adweladenn-mañ evel adweladenn gwiriet",
|
||||
"pad.savedrevs.timeslider": "Gallout a reot gwelet an adweladurioù enrollet en ur weladenniñ ar bignerez amzerel",
|
||||
"pad.userlist.entername": "Ebarzhit hoc'h anv",
|
||||
"pad.userlist.unnamed": "dizanv",
|
||||
"pad.userlist.guest": "Den pedet",
|
||||
|
@ -118,6 +121,7 @@
|
|||
"pad.impexp.importing": "Oc'h enporzhiañ...",
|
||||
"pad.impexp.confirmimport": "Ma vez enporzhiet ur restr e vo diverket ar pezh zo en teul a-vremañ. Ha sur oc'h e fell deoc'h mont betek penn ?",
|
||||
"pad.impexp.convertFailed": "N'eus ket bet gallet enporzhiañ ar restr. Ober gant ur furmad teul all pe eilañ/pegañ gant an dorn.",
|
||||
"pad.impexp.padHasData": "N'hon eus ket gallet enporzhiañ ar restr-mañdre ma'z eus bet degaset kemmoù er bloc'h-se ; enporzhiit anezhi war-zu ur bloc'h nevez, mar plij.",
|
||||
"pad.impexp.uploadFailed": "C'hwitet eo bet an enporzhiañ. Klaskit en-dro.",
|
||||
"pad.impexp.importfailed": "C'hwitet eo an enporzhiadenn",
|
||||
"pad.impexp.copypaste": "Eilit/pegit, mar plij",
|
||||
|
|
20
sources/src/locales/ca.json
Normal file → Executable file
20
sources/src/locales/ca.json
Normal file → Executable file
|
@ -4,7 +4,9 @@
|
|||
"Alvaro Vidal-Abarca",
|
||||
"Pginer",
|
||||
"Pitort",
|
||||
"Toniher"
|
||||
"Toniher",
|
||||
"Macofe",
|
||||
"Joan manel"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Nou pad",
|
||||
|
@ -12,14 +14,14 @@
|
|||
"pad.toolbar.bold.title": "Negreta (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Subratllat (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Ratllat",
|
||||
"pad.toolbar.ol.title": "Llista ordenada",
|
||||
"pad.toolbar.ul.title": "Llista sense ordenar",
|
||||
"pad.toolbar.strikethrough.title": "Ratllat (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Llista ordenada (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Llista sense ordenar (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Sagnat (TAB)",
|
||||
"pad.toolbar.unindent.title": "Sagnat invers (Majúsc+TAB)",
|
||||
"pad.toolbar.undo.title": "Desfés (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Refés (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Neteja els colors d'autoria",
|
||||
"pad.toolbar.clearAuthorship.title": "Neteja els colors d'autoria (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importa/exporta a partir de diferents formats de fitxer",
|
||||
"pad.toolbar.timeslider.title": "Línia temporal",
|
||||
"pad.toolbar.savedRevision.title": "Desa la revisió",
|
||||
|
@ -29,12 +31,14 @@
|
|||
"pad.colorpicker.save": "Desa",
|
||||
"pad.colorpicker.cancel": "Cancel·la",
|
||||
"pad.loading": "S'està carregant...",
|
||||
"pad.noCookie": "No s'ha trobat la galeta. Permeteu les galetes en el navegador!",
|
||||
"pad.passwordRequired": "Us cal una contrasenya per a accedir a aquest pad",
|
||||
"pad.permissionDenied": "No teniu permisos per a accedir a aquest pad",
|
||||
"pad.wrongPassword": "La contrasenya és incorrecta",
|
||||
"pad.settings.padSettings": "Paràmetres del pad",
|
||||
"pad.settings.myView": "La meva vista",
|
||||
"pad.settings.stickychat": "Xateja sempre a la pantalla",
|
||||
"pad.settings.chatandusers": "Mostra el xat i els usuaris",
|
||||
"pad.settings.colorcheck": "Colors d'autoria",
|
||||
"pad.settings.linenocheck": "Números de línia",
|
||||
"pad.settings.rtlcheck": "Llegir el contingut de dreta a esquerra?",
|
||||
|
@ -47,13 +51,13 @@
|
|||
"pad.importExport.import": "Puja qualsevol fitxer de text o document",
|
||||
"pad.importExport.importSuccessful": "Hi ha hagut èxit!",
|
||||
"pad.importExport.export": "Exporta el pad actual com a:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Text net",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Només podeu importar de text net o html. Per a opcions d'importació més avançades \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstal·leu l'Abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Només podeu importar de text net o html. Per a opcions d'importació més avançades <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instal·leu l'Abiword</a>.",
|
||||
"pad.modals.connected": "Connectat.",
|
||||
"pad.modals.reconnecting": "S'està tornant a connectar al vostre pad…",
|
||||
"pad.modals.forcereconnect": "Força tornar a connectar",
|
||||
|
@ -108,6 +112,7 @@
|
|||
"timeslider.month.december": "Desembre",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor, other: autors ]} sense nom",
|
||||
"pad.savedrevs.marked": "Aquesta revisió està marcada ara com a revisió desada",
|
||||
"pad.savedrevs.timeslider": "Les revisions que s'han desat les podeu veure amb la línia de temps",
|
||||
"pad.userlist.entername": "Introduïu el vostre nom",
|
||||
"pad.userlist.unnamed": "sense nom",
|
||||
"pad.userlist.guest": "Convidat",
|
||||
|
@ -118,6 +123,7 @@
|
|||
"pad.impexp.importing": "Important...",
|
||||
"pad.impexp.confirmimport": "En importar un fitxer se sobreescriurà el text actual del pad. Esteu segur que voleu continuar?",
|
||||
"pad.impexp.convertFailed": "No és possible d'importar aquest fitxer. Si us plau, podeu provar d'utilitzar un format diferent o copiar i enganxar manualment.",
|
||||
"pad.impexp.padHasData": "No vam poder importar el fitxer perquè el pad ja tenia canvis. Importeu-lo a un nou pad",
|
||||
"pad.impexp.uploadFailed": "Ha fallat la càrrega. Torneu-ho a provar",
|
||||
"pad.impexp.importfailed": "Ha fallat la importació",
|
||||
"pad.impexp.copypaste": "Si us plau, copieu i enganxeu",
|
||||
|
|
14
sources/src/locales/cs.json
Normal file → Executable file
14
sources/src/locales/cs.json
Normal file → Executable file
|
@ -13,11 +13,11 @@
|
|||
"pad.toolbar.bold.title": "Tučný text (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Kurzíva (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Podtržené písmo (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Přeskrtnuté písmo",
|
||||
"pad.toolbar.strikethrough.title": "Přeškrtnuto (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Číslovaný seznam",
|
||||
"pad.toolbar.ul.title": "Nečíslovaný seznam",
|
||||
"pad.toolbar.indent.title": "Odsazení",
|
||||
"pad.toolbar.unindent.title": "Předsazení",
|
||||
"pad.toolbar.indent.title": "Odsazení (TAB)",
|
||||
"pad.toolbar.unindent.title": "Předsazení (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Zpět (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Opakovat (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Vymazat barvy autorů",
|
||||
|
@ -30,12 +30,14 @@
|
|||
"pad.colorpicker.save": "Uložit",
|
||||
"pad.colorpicker.cancel": "Zrušit",
|
||||
"pad.loading": "Načítání...",
|
||||
"pad.noCookie": "Nelze nalézt cookie. Povolte prosím cookie ve Vašem prohlížeči.",
|
||||
"pad.passwordRequired": "Pro přístup k tomuto Padu je třeba znát heslo",
|
||||
"pad.permissionDenied": "Nemáte oprávnění pro přístup k tomuto Padu",
|
||||
"pad.wrongPassword": "Nesprávné heslo",
|
||||
"pad.settings.padSettings": "Nastavení Padu",
|
||||
"pad.settings.myView": "Vlastní pohled",
|
||||
"pad.settings.stickychat": "Chat vždy na obrazovce",
|
||||
"pad.settings.chatandusers": "Ukázat Chat a Uživatele",
|
||||
"pad.settings.colorcheck": "Barvy autorů",
|
||||
"pad.settings.linenocheck": "Čísla řádků",
|
||||
"pad.settings.rtlcheck": "Číst obsah zprava doleva?",
|
||||
|
@ -48,13 +50,13 @@
|
|||
"pad.importExport.import": "Nahrát libovolný textový soubor nebo dokument",
|
||||
"pad.importExport.importSuccessful": "Úspěšně!",
|
||||
"pad.importExport.export": "Exportovat stávající Pad jako:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Prostý text",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Importovat můžeš pouze prostý text nebo HTML formátování. Pro pokročilejší funkce importu, prosím, nainstaluj „\u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eabiword\u003C/a\u003E“.",
|
||||
"pad.importExport.abiword.innerHTML": "Importovat můžeš pouze prostý text nebo HTML formátování. Pro pokročilejší funkce importu, prosím, nainstaluj „<a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">abiword</a>“.",
|
||||
"pad.modals.connected": "Připojeno.",
|
||||
"pad.modals.reconnecting": "Znovupřipojování k Padu…",
|
||||
"pad.modals.forcereconnect": "Vynutit znovupřipojení",
|
||||
|
@ -109,6 +111,7 @@
|
|||
"timeslider.month.december": "prosinec",
|
||||
"timeslider.unnamedauthors": "{{num}} {[ plural(num) one: nejmenovaný Autor, few: nejmenovaní Autoři, other: nejmenovaných Autorů ]}",
|
||||
"pad.savedrevs.marked": "Tato revize je nyní označena jako uložená",
|
||||
"pad.savedrevs.timeslider": "Návštěvou časové osy zobrazíte uložené revize",
|
||||
"pad.userlist.entername": "Zadejte své jméno",
|
||||
"pad.userlist.unnamed": "nejmenovaný",
|
||||
"pad.userlist.guest": "Host",
|
||||
|
@ -119,6 +122,7 @@
|
|||
"pad.impexp.importing": "Importování…",
|
||||
"pad.impexp.confirmimport": "Import souboru přepíše aktuální text v padu. Opravdu chcete tuto akci provést?",
|
||||
"pad.impexp.convertFailed": "Tento soubor nelze importovat. Použijte prosím jiný formát dokumentu nebo nakopírujte text ručně",
|
||||
"pad.impexp.padHasData": "Tento soubor jsme nebyly schopni importovat, protože tento Pad již obsahoval změny. Importujte ho prosím do nového padu",
|
||||
"pad.impexp.uploadFailed": "Nahrávání selhalo, zkuste to znovu",
|
||||
"pad.impexp.importfailed": "Import selhal",
|
||||
"pad.impexp.copypaste": "Vložte prosím kopii",
|
||||
|
|
15
sources/src/locales/da.json
Normal file → Executable file
15
sources/src/locales/da.json
Normal file → Executable file
|
@ -11,14 +11,14 @@
|
|||
"pad.toolbar.bold.title": "Fed (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Kursiv (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Understregning (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Gennemstregning",
|
||||
"pad.toolbar.ol.title": "Sorteret liste",
|
||||
"pad.toolbar.ul.title": "Usorteret liste",
|
||||
"pad.toolbar.indent.title": "Indrykning",
|
||||
"pad.toolbar.unindent.title": "Ryk ud",
|
||||
"pad.toolbar.strikethrough.title": "Gennemstregning (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Sorteret liste (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Usorteret liste (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Indrykning (TAB)",
|
||||
"pad.toolbar.unindent.title": "Ryk ud (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Fortryd (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Annuller Fortryd (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Fjern farver for forfatterskab",
|
||||
"pad.toolbar.clearAuthorship.title": "Fjern farver for forfatterskab (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Import/eksport fra/til forskellige filformater",
|
||||
"pad.toolbar.timeslider.title": "Timeslider",
|
||||
"pad.toolbar.savedRevision.title": "Gem Revision",
|
||||
|
@ -51,8 +51,7 @@
|
|||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Du kan kun importere fra almindelig tekst eller HTML-formater. For mere avancerede importfunktioner, \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstaller venligst abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Du kan kun importere fra almindelig tekst eller HTML-formater. For mere avancerede importfunktioner, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installer venligst abiword</a>.",
|
||||
"pad.modals.connected": "Forbundet.",
|
||||
"pad.modals.reconnecting": "Genopretter forbindelsen til din pad...",
|
||||
"pad.modals.forcereconnect": "Gennemtving genoprettelse af forbindelsen",
|
||||
|
|
23
sources/src/locales/de.json
Normal file → Executable file
23
sources/src/locales/de.json
Normal file → Executable file
|
@ -4,7 +4,8 @@
|
|||
"Metalhead64",
|
||||
"Mklehr",
|
||||
"Nipsky",
|
||||
"Wikinaut"
|
||||
"Wikinaut",
|
||||
"Thargon"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Neues Pad",
|
||||
|
@ -12,14 +13,14 @@
|
|||
"pad.toolbar.bold.title": "Fett (Strg-B)",
|
||||
"pad.toolbar.italic.title": "Kursiv (Strg-I)",
|
||||
"pad.toolbar.underline.title": "Unterstrichen (Strg-U)",
|
||||
"pad.toolbar.strikethrough.title": "Durchgestrichen",
|
||||
"pad.toolbar.ol.title": "Nummerierte Liste",
|
||||
"pad.toolbar.ul.title": "Ungeordnete Liste",
|
||||
"pad.toolbar.strikethrough.title": "Durchgestrichen (Strg+5)",
|
||||
"pad.toolbar.ol.title": "Nummerierte Liste (Strg+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Ungeordnete Liste (Strg+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Einrücken (TAB)",
|
||||
"pad.toolbar.unindent.title": "Ausrücken (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Rückgängig (Strg-Z)",
|
||||
"pad.toolbar.redo.title": "Wiederholen (Strg-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Autorenfarben zurücksetzen",
|
||||
"pad.toolbar.clearAuthorship.title": "Autorenfarben zurücksetzen (Strg+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Import/Export von/zu verschiedenen Dateiformaten",
|
||||
"pad.toolbar.timeslider.title": "Pad-Versionsgeschichte anzeigen",
|
||||
"pad.toolbar.savedRevision.title": "Version markieren",
|
||||
|
@ -29,12 +30,14 @@
|
|||
"pad.colorpicker.save": "Speichern",
|
||||
"pad.colorpicker.cancel": "Abbrechen",
|
||||
"pad.loading": "Laden …",
|
||||
"pad.noCookie": "Das Cookie konnte nicht gefunden werden. Bitte erlaube Cookies in deinem Browser!",
|
||||
"pad.passwordRequired": "Sie benötigen ein Passwort, um auf dieses Pad zuzugreifen",
|
||||
"pad.permissionDenied": "Sie haben keine Berechtigung, um auf dieses Pad zuzugreifen",
|
||||
"pad.wrongPassword": "Ihr Passwort war falsch",
|
||||
"pad.settings.padSettings": "Pad Einstellungen",
|
||||
"pad.settings.myView": "Eigene Ansicht",
|
||||
"pad.settings.stickychat": "Chat immer anzeigen",
|
||||
"pad.settings.chatandusers": "Chat und Benutzer anzeigen",
|
||||
"pad.settings.colorcheck": "Autorenfarben anzeigen",
|
||||
"pad.settings.linenocheck": "Zeilennummern",
|
||||
"pad.settings.rtlcheck": "Inhalt von rechts nach links lesen?",
|
||||
|
@ -47,13 +50,13 @@
|
|||
"pad.importExport.import": "Text-Datei oder Dokument hochladen",
|
||||
"pad.importExport.importSuccessful": "Erfolgreich!",
|
||||
"pad.importExport.export": "Aktuelles Pad exportieren als:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Textdatei",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Sie können nur aus Klartext oder HTML-Formaten importieren. Für mehr erweiterte Importfunktionen \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstallieren Sie bitte abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Sie können nur aus Klartext oder HTML-Formaten importieren. Für mehr erweiterte Importfunktionen <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installieren Sie bitte abiword</a>.",
|
||||
"pad.modals.connected": "Verbunden.",
|
||||
"pad.modals.reconnecting": "Wiederherstellen der Verbindung …",
|
||||
"pad.modals.forcereconnect": "Erneut Verbinden",
|
||||
|
@ -75,7 +78,7 @@
|
|||
"pad.modals.corruptPad.cause": "Dies könnte an einer falschen Serverkonfiguration oder eines anderen unerwarteten Verhaltens liegen. Bitte kontaktiere den Diensteadministrator.",
|
||||
"pad.modals.deleted": "Gelöscht.",
|
||||
"pad.modals.deleted.explanation": "Dieses Pad wurde entfernt.",
|
||||
"pad.modals.disconnected": "Verbindung unterbrochen.",
|
||||
"pad.modals.disconnected": "Deine Verbindung wurde getrennt.",
|
||||
"pad.modals.disconnected.explanation": "Die Verbindung zum Pad-Server wurde unterbrochen.",
|
||||
"pad.modals.disconnected.cause": "Möglicherweise ist der Pad-Server nicht erreichbar. Bitte benachrichtigen Sie den Dienstadministrator, falls dies weiterhin passiert.",
|
||||
"pad.share": "Dieses Pad teilen",
|
||||
|
@ -92,7 +95,7 @@
|
|||
"timeslider.toolbar.exportlink.title": "Diese Version exportieren",
|
||||
"timeslider.exportCurrent": "Exportiere diese Version als:",
|
||||
"timeslider.version": "Version {{version}}",
|
||||
"timeslider.saved": "Gespeichert am {{day}}.{{month}}.{{year}}",
|
||||
"timeslider.saved": "gespeichert am {{day}}. {{month}} {{year}}",
|
||||
"timeslider.dateformat": "{{day}}.{{month}}.{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "Januar",
|
||||
"timeslider.month.february": "Februar",
|
||||
|
@ -108,6 +111,7 @@
|
|||
"timeslider.month.december": "Dezember",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: unbenannter Autor, other: unbenannte Autoren ]}",
|
||||
"pad.savedrevs.marked": "Diese Version wurde jetzt als gespeicherte Version gekennzeichnet",
|
||||
"pad.savedrevs.timeslider": "Du kannst gespeicherte Versionen durch das Besuchen der Pad-Versionsgeschichte ansehen",
|
||||
"pad.userlist.entername": "Geben Sie Ihren Namen ein",
|
||||
"pad.userlist.unnamed": "unbenannt",
|
||||
"pad.userlist.guest": "Gast",
|
||||
|
@ -118,6 +122,7 @@
|
|||
"pad.impexp.importing": "Importiere …",
|
||||
"pad.impexp.confirmimport": "Das Importieren einer Datei überschreibt den aktuellen Text des Pads. Wollen Sie wirklich fortfahren?",
|
||||
"pad.impexp.convertFailed": "Wir können diese Datei nicht importieren. Bitte verwenden Sie ein anderes Dokumentformat oder übertragen Sie den Text manuell.",
|
||||
"pad.impexp.padHasData": "Wir konnten diese Datei nicht importieren, da dieses Pad bereits Änderungen enthält. Bitte importiere sie in ein neues Pad.",
|
||||
"pad.impexp.uploadFailed": "Der Upload ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"pad.impexp.importfailed": "Import fehlgeschlagen",
|
||||
"pad.impexp.copypaste": "Bitte kopieren und einfügen",
|
||||
|
|
23
sources/src/locales/diq.json
Normal file → Executable file
23
sources/src/locales/diq.json
Normal file → Executable file
|
@ -10,22 +10,23 @@
|
|||
"pad.toolbar.bold.title": "Qalın (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Namıte (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Bınxetın (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Serxetın",
|
||||
"pad.toolbar.ol.title": "Lista rêzkerdiye",
|
||||
"pad.toolbar.ul.title": "Lista rêznêkerdiye",
|
||||
"pad.toolbar.strikethrough.title": "Serxetın (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Lista rêzkerdiye (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Lista rêznêkerdiye (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Serrêze (TAB)",
|
||||
"pad.toolbar.unindent.title": "Teberdayış (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Meke (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Fına bıke (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Rengê Nuştoğiê Arıstey",
|
||||
"pad.toolbar.clearAuthorship.title": "Rengê Nuştoğiê Arıstey (Ctrl+Shift+C)",
|
||||
"pad.toolbar.timeslider.title": "Ğızagê zemani",
|
||||
"pad.toolbar.savedRevision.title": "Revizyoni qeyd ke",
|
||||
"pad.toolbar.savedRevision.title": "Çımraviyarnayışi qeyd ke",
|
||||
"pad.toolbar.settings.title": "Sazkerdışi",
|
||||
"pad.toolbar.embed.title": "Na bloknot degusn u bıhesrne",
|
||||
"pad.toolbar.showusers.title": "Na bloknot de karbera bıasne",
|
||||
"pad.colorpicker.save": "Qeyd ke",
|
||||
"pad.colorpicker.cancel": "Bıtexelne",
|
||||
"pad.loading": "Bar beno...",
|
||||
"pad.wrongPassword": "Parola şıma ğeleta",
|
||||
"pad.settings.padSettings": "Sazkerdışê Pedi",
|
||||
"pad.settings.myView": "Asayışê mı",
|
||||
"pad.settings.colorcheck": "Rengê nuştekariye",
|
||||
|
@ -37,15 +38,18 @@
|
|||
"pad.settings.language": "Zıwan:",
|
||||
"pad.importExport.import_export": "Zeredayış/Teberdayış",
|
||||
"pad.importExport.importSuccessful": "Mıwafaq biye",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Duz metin",
|
||||
"pad.importExport.exportplain": "Metno pan",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.modals.connected": "Gırediya.",
|
||||
"pad.modals.forcereconnect": "Mecbur anciya gırê de",
|
||||
"pad.modals.userdup": "Zewbina pençere de bi a",
|
||||
"pad.modals.unauth": "Selahiyetdar niyo",
|
||||
"pad.modals.initsocketfail": "Nêresneyêno ciyageyroği.",
|
||||
"pad.modals.slowcommit.explanation": "Server cewab nêdano.",
|
||||
"pad.modals.deleted": "Esteriya.",
|
||||
"pad.modals.deleted.explanation": "Ena ped wedariye",
|
||||
"pad.share": "Na ped vıla ke",
|
||||
|
@ -77,14 +81,15 @@
|
|||
"timeslider.month.november": "Tışrino Peyên",
|
||||
"timeslider.month.december": "Kanun",
|
||||
"timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) zu: nuştoğ, zewbi: nustoği ]}",
|
||||
"pad.userlist.entername": "Namey ğo cı kewe",
|
||||
"pad.userlist.entername": "Nameyê xo cıkewe",
|
||||
"pad.userlist.unnamed": "Name nébıyo",
|
||||
"pad.userlist.guest": "Meyman",
|
||||
"pad.userlist.deny": "Red ke",
|
||||
"pad.userlist.approve": "Tesdiq ke",
|
||||
"pad.editbar.clearcolors": "Wesiqa de renge nuştoğey bıesterneye?",
|
||||
"pad.impexp.importbutton": "Newke miyan ke",
|
||||
"pad.impexp.importbutton": "Nıka miyan ke",
|
||||
"pad.impexp.importing": "Deyeno azere...",
|
||||
"pad.impexp.uploadFailed": "Barkerdış nêbi, kerem ke anciya bıcerebne",
|
||||
"pad.impexp.importfailed": "Zer kerdış mıwafaq nebı",
|
||||
"pad.impexp.copypaste": "Reca keme kopya pronayış bıkeri"
|
||||
}
|
3
sources/src/locales/dsb.json
Normal file → Executable file
3
sources/src/locales/dsb.json
Normal file → Executable file
|
@ -49,8 +49,7 @@
|
|||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Móžoš jano z fprmatow lutnego teksta abo z HTML-formata importěrowaś. Za wěcej rozšyrjone importěrowańske funkcije \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstalěruj pšosym Abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Móžoš jano z fprmatow lutnego teksta abo z HTML-formata importěrowaś. Za wěcej rozšyrjone importěrowańske funkcije <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instalěruj pšosym Abiword</a>.",
|
||||
"pad.modals.connected": "Zwězany.",
|
||||
"pad.modals.reconnecting": "Zwězujo se znowego z twójim zapisnikom...",
|
||||
"pad.modals.forcereconnect": "Znowego zwězaś",
|
||||
|
|
30
sources/src/locales/el.json
Normal file → Executable file
30
sources/src/locales/el.json
Normal file → Executable file
|
@ -10,17 +10,17 @@
|
|||
},
|
||||
"index.newPad": "Νέο Pad",
|
||||
"index.createOpenPad": "ή δημιουργία/άνοιγμα ενός Pad με όνομα:",
|
||||
"pad.toolbar.bold.title": "Έντονα (Ctrl-B)",
|
||||
"pad.toolbar.bold.title": "Έντονη (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Πλάγια (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Υπογράμμιση (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Διακριτή διαγραφή",
|
||||
"pad.toolbar.ol.title": "Ταξινομημένη λίστα",
|
||||
"pad.toolbar.ul.title": "Λίστα χωρίς σειρά",
|
||||
"pad.toolbar.indent.title": "Εισαγωγή εσοχής (TAB)",
|
||||
"pad.toolbar.unindent.title": "Αφαίρεση εσοχής (Shift+TAB)",
|
||||
"pad.toolbar.strikethrough.title": "Διακριτή διαγραφή (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Ταξινομημένη λίστα (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Λίστα χωρίς σειρά (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Αριστερά εσοχή (TAB)",
|
||||
"pad.toolbar.unindent.title": "Δεξιά εσοχή (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Αναίρεση (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Επανάληψη (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Εκκαθάριση των χρωμάτων των συντακτών",
|
||||
"pad.toolbar.clearAuthorship.title": "Εκκαθάριση των χρωμάτων των συντακτών (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Εισαγωγή/Εξαγωγή από/σε διαφορετικούς τύπους αρχείων",
|
||||
"pad.toolbar.timeslider.title": "Χρονοδιάγραμμα",
|
||||
"pad.toolbar.savedRevision.title": "Αποθήκευση Αναθεώρησης",
|
||||
|
@ -30,15 +30,17 @@
|
|||
"pad.colorpicker.save": "Αποθήκευση",
|
||||
"pad.colorpicker.cancel": "Άκυρο",
|
||||
"pad.loading": "Φόρτωση...",
|
||||
"pad.noCookie": "Το cookie δεν βρέθηκε. Παρακαλώ επιτρέψτε τα cookies στον περιηγητή σας!",
|
||||
"pad.passwordRequired": "Χρειάζεστε κωδικό πρόσβασης για πρόσβαση σε αυτό το pad",
|
||||
"pad.permissionDenied": "Δεν έχετε δικαίωμα πρόσβασης σε αυτό το pad",
|
||||
"pad.wrongPassword": "Ο κωδικός σας ήταν λανθασμένος",
|
||||
"pad.settings.padSettings": "Ρυθμίσεις Pad",
|
||||
"pad.settings.myView": "Η προβολή μου",
|
||||
"pad.settings.stickychat": "Να είναι πάντα ορατή η συνομιλία",
|
||||
"pad.settings.chatandusers": "Εμφάνιση Συνομιλίας και Χρηστών",
|
||||
"pad.settings.colorcheck": "Χρώματα συντάκτη",
|
||||
"pad.settings.linenocheck": "Αριθμοί γραμμών",
|
||||
"pad.settings.rtlcheck": "Να διαβάζεται το περιεχόμενο από δεξιά προς τα αριστερά;",
|
||||
"pad.settings.rtlcheck": "Διαβάζεται το περιεχόμενο από δεξιά προς τα αριστερά;",
|
||||
"pad.settings.fontType": "Τύπος γραμματοσειράς:",
|
||||
"pad.settings.fontType.normal": "Κανονική",
|
||||
"pad.settings.fontType.monospaced": "Καθορισμένου πλάτους",
|
||||
|
@ -48,19 +50,19 @@
|
|||
"pad.importExport.import": "Αποστολή οποιουδήποτε αρχείου κειμένου ή εγγράφου",
|
||||
"pad.importExport.importSuccessful": "Επιτυχής!",
|
||||
"pad.importExport.export": "Εξαγωγή τρέχοντος pad ως:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Απλό κείμενο",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Μπορείτε να κάνετε εισαγωγή απλού κειμένου ή μορφής html. Για πιο προηγμένες δυνατότητες εισαγωγής παρακαλώ \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eεγκαταστήστε το abiword\u003C/a\u003E.",
|
||||
"pad.importExport.exportopen": "ODF (Μορφή Open Document)",
|
||||
"pad.importExport.abiword.innerHTML": "Μπορείτε να κάνετε εισαγωγή απλού κειμένου ή μορφής html. Για πιο προηγμένες δυνατότητες εισαγωγής παρακαλώ <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">εγκαταστήστε το abiword</a>.",
|
||||
"pad.modals.connected": "Συνδεμένοι.",
|
||||
"pad.modals.reconnecting": "Επανασύνδεση στο pad σας...",
|
||||
"pad.modals.forcereconnect": "Επιβολή επανασύνδεσης",
|
||||
"pad.modals.userdup": "Ανοιγμένο σε άλλο παράθυρο",
|
||||
"pad.modals.userdup.explanation": "Αυτό το pad φαίνεται να είναι ανοιχτό σε περισσότερα από ένα παράθυρο του προγράμματος περιήγησης σε αυτόν τον υπολογιστή.",
|
||||
"pad.modals.userdup.advice": "Επανασύνδεση για να χρησιμοποιήσετε αυτό το παράθυρο.",
|
||||
"pad.modals.userdup.advice": "Επανασυνδεθείτε για να χρησιμοποιήσετε αυτό το παράθυρο.",
|
||||
"pad.modals.unauth": "Δεν επιτρέπεται",
|
||||
"pad.modals.unauth.explanation": "Τα δικαιώματά σας άλλαξαν όσο βλέπατε αυτήν τη σελίδα. Δοκιμάστε να επανασυνδεθείτε.",
|
||||
"pad.modals.looping.explanation": "Υπάρχουν προβλήματα επικοινωνίας με τον διακομιστή συγχρονισμού.",
|
||||
|
@ -76,7 +78,7 @@
|
|||
"pad.modals.corruptPad.cause": "Αυτό μπορεί να οφείλεται σε ένα λάθος στη ρύθμιση του διακομιστή ή κάποια άλλη απρόβλεπτη συμπεριφορά. Παρακαλώ επικοινωνήστε με τον διαχειριστή της υπηρεσίας.",
|
||||
"pad.modals.deleted": "Διεγράφη.",
|
||||
"pad.modals.deleted.explanation": "Αυτό το pad έχει καταργηθεί.",
|
||||
"pad.modals.disconnected": "Έχετε αποσυνδεθεί.",
|
||||
"pad.modals.disconnected": "Είστε αποσυνδεδεμένοι.",
|
||||
"pad.modals.disconnected.explanation": "Χάθηκε η σύνδεση με τον διακομιστή",
|
||||
"pad.modals.disconnected.cause": "Ο διακομιστής μπορεί να μην είναι διαθέσιμος. Παρακαλούμε ειδοποιήστε τον διαχειριστή της υπηρεσίας εάν εξακολουθεί να συμβαίνει αυτό.",
|
||||
"pad.share": "Μοιραστείτε αυτό το pad",
|
||||
|
@ -109,6 +111,7 @@
|
|||
"timeslider.month.december": "Δεκεμβρίου",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: ανώνυμος συντάκτης, other: ανώνυμοι συντάκτες]}",
|
||||
"pad.savedrevs.marked": "Αυτή η έκδοση επισημάνθηκε ως αποθηκευμένη έκδοση",
|
||||
"pad.savedrevs.timeslider": "Μπορείτε να δείτε αποθηκευμένες αναθεωρήσεις στο χρονοδιάγραμμα",
|
||||
"pad.userlist.entername": "Εισάγετε το όνομά σας",
|
||||
"pad.userlist.unnamed": "ανώνυμος",
|
||||
"pad.userlist.guest": "Επισκέπτης",
|
||||
|
@ -119,6 +122,7 @@
|
|||
"pad.impexp.importing": "Εισάγεται...",
|
||||
"pad.impexp.confirmimport": "Η εισαγωγή ενός αρχείου θα αντικαταστήσει το κείμενο του pad. Είστε βέβαιοι ότι θέλετε να συνεχίσετε;",
|
||||
"pad.impexp.convertFailed": "Δεν καταφέραμε να εισάγουμε αυτό το αρχείο. Παρακαλώ χρησιμοποιήστε διαφορετικό τύπο αρχείου ή αντιγράψτε και επικολλήστε χειροκίνητα",
|
||||
"pad.impexp.padHasData": "Δεν μπορέσαμε να εισάγουμε το αρχείο επειδή το Pad είχε ήδη αλλαγές. Παρακαλούμε εισαγάγετε το αρχείο σε νέο pad",
|
||||
"pad.impexp.uploadFailed": "Η αποστολή απέτυχε, παρακαλώ προσπαθήστε ξανά",
|
||||
"pad.impexp.importfailed": "Η εισαγωγή απέτυχε",
|
||||
"pad.impexp.copypaste": "Παρακαλώ αντιγράψτε και επικολλήστε",
|
||||
|
|
127
sources/src/locales/en-gb.json
Executable file
127
sources/src/locales/en-gb.json
Executable file
|
@ -0,0 +1,127 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Chase me ladies, I'm the Cavalry",
|
||||
"Shirayuki"
|
||||
]
|
||||
},
|
||||
"index.newPad": "New Pad",
|
||||
"index.createOpenPad": "or create/open a Pad with the name:",
|
||||
"pad.toolbar.bold.title": "Bold (Ctrl+B)",
|
||||
"pad.toolbar.italic.title": "Italic (Ctrl+I)",
|
||||
"pad.toolbar.underline.title": "Underline (Ctrl+U)",
|
||||
"pad.toolbar.strikethrough.title": "Strikethrough (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Ordered list (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Unordered List (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Indent (Tab)",
|
||||
"pad.toolbar.unindent.title": "Outdent (Shift+Tab)",
|
||||
"pad.toolbar.undo.title": "Undo (Ctrl+Z)",
|
||||
"pad.toolbar.redo.title": "Redo (Ctrl+Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Clear Authorship Colours (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Import/Export from/to different file formats",
|
||||
"pad.toolbar.timeslider.title": "Timeslider",
|
||||
"pad.toolbar.savedRevision.title": "Save Revision",
|
||||
"pad.toolbar.settings.title": "Settings",
|
||||
"pad.toolbar.embed.title": "Share and Embed this pad",
|
||||
"pad.toolbar.showusers.title": "Show the users on this pad",
|
||||
"pad.colorpicker.save": "Save",
|
||||
"pad.colorpicker.cancel": "Cancel",
|
||||
"pad.loading": "Loading...",
|
||||
"pad.noCookie": "Cookie could not be found. Please allow cookies in your browser!",
|
||||
"pad.passwordRequired": "You need a password to access this pad",
|
||||
"pad.permissionDenied": "You do not have permission to access this pad",
|
||||
"pad.wrongPassword": "Your password was wrong",
|
||||
"pad.settings.padSettings": "Pad Settings",
|
||||
"pad.settings.myView": "My View",
|
||||
"pad.settings.stickychat": "Chat always on screen",
|
||||
"pad.settings.chatandusers": "Show Chat and Users",
|
||||
"pad.settings.colorcheck": "Authorship colours",
|
||||
"pad.settings.linenocheck": "Line numbers",
|
||||
"pad.settings.rtlcheck": "Read content from right to left?",
|
||||
"pad.settings.fontType": "Font type:",
|
||||
"pad.settings.fontType.normal": "Normal",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.globalView": "Global View",
|
||||
"pad.settings.language": "Language:",
|
||||
"pad.importExport.import_export": "Import/Export",
|
||||
"pad.importExport.import": "Upload any text file or document",
|
||||
"pad.importExport.importSuccessful": "Successful!",
|
||||
"pad.importExport.export": "Export current pad as:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Plain text",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.abiword.innerHTML": "You only can import from plain text or HTML formats. For more advanced import features please <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">install abiword</a>.",
|
||||
"pad.modals.connected": "Connected.",
|
||||
"pad.modals.reconnecting": "Reconnecting to your pad..",
|
||||
"pad.modals.forcereconnect": "Force reconnect",
|
||||
"pad.modals.userdup": "Opened in another window",
|
||||
"pad.modals.userdup.explanation": "This pad seems to be opened in more than one browser window on this computer.",
|
||||
"pad.modals.userdup.advice": "Reconnect to use this window instead.",
|
||||
"pad.modals.unauth": "Not authorised",
|
||||
"pad.modals.unauth.explanation": "Your permissions have changed while viewing this page. Try to reconnect.",
|
||||
"pad.modals.looping.explanation": "There are communication problems with the synchronisation server.",
|
||||
"pad.modals.looping.cause": "Perhaps you connected through an incompatible firewall or proxy.",
|
||||
"pad.modals.initsocketfail": "Server is unreachable.",
|
||||
"pad.modals.initsocketfail.explanation": "Couldn't connect to the synchronisation server.",
|
||||
"pad.modals.initsocketfail.cause": "This is probably due to a problem with your browser or your internet connection.",
|
||||
"pad.modals.slowcommit.explanation": "The server is not responding.",
|
||||
"pad.modals.slowcommit.cause": "This could be due to problems with network connectivity.",
|
||||
"pad.modals.badChangeset.explanation": "An edit you have made was classified illegal by the synchronisation server.",
|
||||
"pad.modals.badChangeset.cause": "This could be due to a wrong server configuration or some other unexpected behaviour. Please contact the service administrator, if you feel this is an error. Try to reconnect in order to continue editing.",
|
||||
"pad.modals.corruptPad.explanation": "The pad you are trying to access is corrupt.",
|
||||
"pad.modals.corruptPad.cause": "This may be due to a wrong server configuration or some other unexpected behaviour. Please contact the service administrator.",
|
||||
"pad.modals.deleted": "Deleted.",
|
||||
"pad.modals.deleted.explanation": "This pad has been removed.",
|
||||
"pad.modals.disconnected": "You have been disconnected.",
|
||||
"pad.modals.disconnected.explanation": "The connection to the server was lost",
|
||||
"pad.modals.disconnected.cause": "The server may be unavailable. Please notify the service administrator if this continues to happen.",
|
||||
"pad.share": "Share this pad",
|
||||
"pad.share.readonly": "Read only",
|
||||
"pad.share.link": "Link",
|
||||
"pad.share.emebdcode": "Embed URL",
|
||||
"pad.chat": "Chat",
|
||||
"pad.chat.title": "Open the chat for this pad.",
|
||||
"pad.chat.loadmessages": "Load more messages",
|
||||
"timeslider.pageTitle": "{{appTitle}} Timeslider",
|
||||
"timeslider.toolbar.returnbutton": "Return to pad",
|
||||
"timeslider.toolbar.authors": "Authors:",
|
||||
"timeslider.toolbar.authorsList": "No Authors",
|
||||
"timeslider.toolbar.exportlink.title": "Export",
|
||||
"timeslider.exportCurrent": "Export current version as:",
|
||||
"timeslider.version": "Version {{version}}",
|
||||
"timeslider.saved": "Saved {{month}} {{day}}, {{year}}",
|
||||
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "January",
|
||||
"timeslider.month.february": "February",
|
||||
"timeslider.month.march": "March",
|
||||
"timeslider.month.april": "April",
|
||||
"timeslider.month.may": "May",
|
||||
"timeslider.month.june": "June",
|
||||
"timeslider.month.july": "July",
|
||||
"timeslider.month.august": "August",
|
||||
"timeslider.month.september": "September",
|
||||
"timeslider.month.october": "October",
|
||||
"timeslider.month.november": "November",
|
||||
"timeslider.month.december": "December",
|
||||
"timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) one: author, other: authors ]}",
|
||||
"pad.savedrevs.marked": "This revision is now marked as a saved revision",
|
||||
"pad.savedrevs.timeslider": "You can see saved revisions by visiting the timeslider",
|
||||
"pad.userlist.entername": "Enter your name",
|
||||
"pad.userlist.unnamed": "unnamed",
|
||||
"pad.userlist.guest": "Guest",
|
||||
"pad.userlist.deny": "Deny",
|
||||
"pad.userlist.approve": "Approve",
|
||||
"pad.editbar.clearcolors": "Clear authorship colours on entire document?",
|
||||
"pad.impexp.importbutton": "Import Now",
|
||||
"pad.impexp.importing": "Importing...",
|
||||
"pad.impexp.confirmimport": "Importing a file will overwrite the current text of the pad. Are you sure you want to proceed?",
|
||||
"pad.impexp.convertFailed": "We were not able to import this file. Please use a different document format or copy & paste manually",
|
||||
"pad.impexp.padHasData": "We were not able to import this file because this Pad has already had changes, please import to a new pad",
|
||||
"pad.impexp.uploadFailed": "The upload failed, please try again",
|
||||
"pad.impexp.importfailed": "Import failed",
|
||||
"pad.impexp.copypaste": "Please copy & paste",
|
||||
"pad.impexp.exportdisabled": "Exporting as {{type}} format is disabled. Please contact your system administrator for details."
|
||||
}
|
45
sources/src/locales/en.json
Normal file → Executable file
45
sources/src/locales/en.json
Normal file → Executable file
|
@ -2,17 +2,17 @@
|
|||
"index.newPad": "New Pad",
|
||||
"index.createOpenPad": "or create/open a Pad with the name:",
|
||||
|
||||
"pad.toolbar.bold.title": "Bold (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Italic (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Underline (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Strikethrough",
|
||||
"pad.toolbar.ol.title": "Ordered list",
|
||||
"pad.toolbar.ul.title": "Unordered List",
|
||||
"pad.toolbar.bold.title": "Bold (Ctrl+B)",
|
||||
"pad.toolbar.italic.title": "Italic (Ctrl+I)",
|
||||
"pad.toolbar.underline.title": "Underline (Ctrl+U)",
|
||||
"pad.toolbar.strikethrough.title": "Strikethrough (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Ordered list (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Unordered List (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Indent (TAB)",
|
||||
"pad.toolbar.unindent.title": "Outdent (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Undo (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Redo (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Clear Authorship Colors",
|
||||
"pad.toolbar.undo.title": "Undo (Ctrl+Z)",
|
||||
"pad.toolbar.redo.title": "Redo (Ctrl+Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Clear Authorship Colors (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Import/Export from/to different file formats",
|
||||
"pad.toolbar.timeslider.title": "Timeslider",
|
||||
"pad.toolbar.savedRevision.title": "Save Revision",
|
||||
|
@ -24,6 +24,7 @@
|
|||
"pad.colorpicker.cancel": "Cancel",
|
||||
|
||||
"pad.loading": "Loading...",
|
||||
"pad.noCookie": "Cookie could not be found. Please allow cookies in your browser!",
|
||||
"pad.passwordRequired": "You need a password to access this pad",
|
||||
"pad.permissionDenied": "You do not have permission to access this pad",
|
||||
"pad.wrongPassword": "Your password was wrong",
|
||||
|
@ -31,12 +32,30 @@
|
|||
"pad.settings.padSettings": "Pad Settings",
|
||||
"pad.settings.myView": "My View",
|
||||
"pad.settings.stickychat": "Chat always on screen",
|
||||
"pad.settings.chatandusers": "Show Chat and Users",
|
||||
"pad.settings.colorcheck": "Authorship colors",
|
||||
"pad.settings.linenocheck": "Line numbers",
|
||||
"pad.settings.rtlcheck": "Read content from right to left?",
|
||||
"pad.settings.fontType": "Font type:",
|
||||
"pad.settings.fontType.normal": "Normal",
|
||||
"pad.settings.fontType.opendyslexic": "Open Dyslexic",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.fontType.comicsans": "Comic Sans",
|
||||
"pad.settings.fontType.couriernew": "Courier New",
|
||||
"pad.settings.fontType.georgia": "Georgia",
|
||||
"pad.settings.fontType.impact": "Impact",
|
||||
"pad.settings.fontType.lucida": "Lucida",
|
||||
"pad.settings.fontType.lucidasans": "Lucida Sans",
|
||||
"pad.settings.fontType.palatino": "Palatino",
|
||||
"pad.settings.fontType.tahoma": "Tahoma",
|
||||
"pad.settings.fontType.timesnewroman": "Times New Roman",
|
||||
"pad.settings.fontType.trebuchet": "Trebuchet",
|
||||
"pad.settings.fontType.verdana": "Verdana",
|
||||
"pad.settings.fontType.symbol": "Symbol",
|
||||
"pad.settings.fontType.webdings": "Webdings",
|
||||
"pad.settings.fontType.wingdings": "Wingdings",
|
||||
"pad.settings.fontType.sansserif": "Sans Serif",
|
||||
"pad.settings.fontType.serif": "Serif",
|
||||
"pad.settings.globalView": "Global View",
|
||||
"pad.settings.language": "Language:",
|
||||
|
||||
|
@ -44,12 +63,12 @@
|
|||
"pad.importExport.import": "Upload any text file or document",
|
||||
"pad.importExport.importSuccessful": "Successful!",
|
||||
"pad.importExport.export": "Export current pad as:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Plain text",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "You only can import from plain text or HTML formats. For more advanced import features please <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">install abiword</a>.",
|
||||
|
||||
"pad.modals.connected": "Connected.",
|
||||
|
@ -103,6 +122,10 @@
|
|||
"timeslider.version": "Version {{version}}",
|
||||
"timeslider.saved": "Saved {{month}} {{day}}, {{year}}",
|
||||
|
||||
"timeslider.playPause": "Playback / Pause Pad Contents",
|
||||
"timeslider.backRevision":"Go back a revision in this Pad",
|
||||
"timeslider.forwardRevision":"Go forward a revision in this Pad",
|
||||
|
||||
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "January",
|
||||
"timeslider.month.february": "February",
|
||||
|
@ -119,6 +142,7 @@
|
|||
|
||||
"timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) one: author, other: authors ]}",
|
||||
"pad.savedrevs.marked": "This revision is now marked as a saved revision",
|
||||
"pad.savedrevs.timeslider": "You can see saved revisions by visiting the timeslider",
|
||||
"pad.userlist.entername": "Enter your name",
|
||||
"pad.userlist.unnamed": "unnamed",
|
||||
"pad.userlist.guest": "Guest",
|
||||
|
@ -130,6 +154,7 @@
|
|||
"pad.impexp.importing": "Importing...",
|
||||
"pad.impexp.confirmimport": "Importing a file will overwrite the current text of the pad. Are you sure you want to proceed?",
|
||||
"pad.impexp.convertFailed": "We were not able to import this file. Please use a different document format or copy paste manually",
|
||||
"pad.impexp.padHasData": "We were not able to import this file because this Pad has already had changes, please import to a new pad",
|
||||
"pad.impexp.uploadFailed": "The upload failed, please try again",
|
||||
"pad.impexp.importfailed": "Import failed",
|
||||
"pad.impexp.copypaste": "Please copy paste",
|
||||
|
|
128
sources/src/locales/eo.json
Executable file
128
sources/src/locales/eo.json
Executable file
|
@ -0,0 +1,128 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Eliovir",
|
||||
"Mschmitt",
|
||||
"Objectivesea"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Nova Teksto",
|
||||
"index.createOpenPad": "aŭ krei/malfermi novan tekston kun la nomo:",
|
||||
"pad.toolbar.bold.title": "Grasa (Ctrl+B)",
|
||||
"pad.toolbar.italic.title": "Kursiva (Ctrl+I)",
|
||||
"pad.toolbar.underline.title": "Substrekita (Ctrl+U)",
|
||||
"pad.toolbar.strikethrough.title": "Trastrekita (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Ordigita listo (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Neordigita Listo (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Enŝovi (TAB)",
|
||||
"pad.toolbar.unindent.title": "Elŝovi (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Malfari (Ctrl+Z)",
|
||||
"pad.toolbar.redo.title": "Refari (Ctrl+Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Forigi kolorojn de aŭtoreco (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Enporti/elporti de/al aliaj dosierformatoj",
|
||||
"pad.toolbar.timeslider.title": "Tempoŝovilo",
|
||||
"pad.toolbar.savedRevision.title": "Konservi version",
|
||||
"pad.toolbar.settings.title": "Agordoj",
|
||||
"pad.toolbar.embed.title": "Kunhavigi kaj enigi ĉi tiun tekston",
|
||||
"pad.toolbar.showusers.title": "Montri la redaktantojn sur ĉi tiu teksto",
|
||||
"pad.colorpicker.save": "Konservi",
|
||||
"pad.colorpicker.cancel": "Nuligi",
|
||||
"pad.loading": "Ŝargante...",
|
||||
"pad.noCookie": "Kuketo ne estis trovigebla. Bonvolu permesi kuketojn en via retumilo!",
|
||||
"pad.passwordRequired": "Vi bezonas pasvorton por aliri ĉi tiun tekston",
|
||||
"pad.permissionDenied": "Vi ne havas permeson por aliri ĉi tiun tekston",
|
||||
"pad.wrongPassword": "Via pasvorto estis malĝusta",
|
||||
"pad.settings.padSettings": "Redaktilaj Agordoj",
|
||||
"pad.settings.myView": "Mia vido",
|
||||
"pad.settings.stickychat": "Babilejo ĉiam videbla",
|
||||
"pad.settings.chatandusers": "Montri babilejon kaj uzantojn",
|
||||
"pad.settings.colorcheck": "Koloroj de aŭtoreco",
|
||||
"pad.settings.linenocheck": "Liniaj nombroj",
|
||||
"pad.settings.rtlcheck": "Legi dekstre-maldekstren?",
|
||||
"pad.settings.fontType": "Tiparo:",
|
||||
"pad.settings.fontType.normal": "Normala",
|
||||
"pad.settings.fontType.monospaced": "Egallarĝa",
|
||||
"pad.settings.globalView": "Ĉiea Vido",
|
||||
"pad.settings.language": "Lingvo:",
|
||||
"pad.importExport.import_export": "Enporti/Elporti",
|
||||
"pad.importExport.import": "Alŝuti ajnan dosieron aŭ dokumenton",
|
||||
"pad.importExport.importSuccessful": "Sukceso!",
|
||||
"pad.importExport.export": "Elporti la nunan tekston kiel:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Plata teksto",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Formato “OpenDocument”)",
|
||||
"pad.importExport.abiword.innerHTML": "Nur kapablas enporti de plata teksto aŭ HTML. Por pli speciala importkapablo, bonvolu <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instalu la programon, Abiword</a>.",
|
||||
"pad.modals.connected": "Konektita.",
|
||||
"pad.modals.reconnecting": "Rekonektanta al via redaktilo..",
|
||||
"pad.modals.forcereconnect": "Perforte rekonekti",
|
||||
"pad.modals.userdup": "Malfermita en alia fenestro",
|
||||
"pad.modals.userdup.explanation": "Ĉi tiu teksto ŝajne estas malferma en pli ol unu retumilo sur ĉi tiu komputilo.",
|
||||
"pad.modals.userdup.advice": "Rekonekti por anstataŭe uzi ĉi tiun fenestron.",
|
||||
"pad.modals.unauth": "Ne permesita",
|
||||
"pad.modals.unauth.explanation": "Viaj permesoj ŝanĝis dum kiam vi rigardis ĉi tiun paĝon. Provu rekonekti.",
|
||||
"pad.modals.looping.explanation": "Okazas problemoj dum komunikado kun la sinkronigservilo.",
|
||||
"pad.modals.looping.cause": "Eble vi konektis per malkongrua fajroŝirmilo aŭ retperanto.",
|
||||
"pad.modals.initsocketfail": "Servilo ne estas atingebla.",
|
||||
"pad.modals.initsocketfail.explanation": "Ne kapablis konekti al la sinkronigservilo.",
|
||||
"pad.modals.initsocketfail.cause": "Tio verŝajne okazas pro problemo kun via retumilo aŭ via retkonekto.",
|
||||
"pad.modals.slowcommit.explanation": "La servilo ne respondas.",
|
||||
"pad.modals.slowcommit.cause": "Tio eble estas pro problemoj kun retkonekto.",
|
||||
"pad.modals.badChangeset.explanation": "La sinkronigservilo decidis ke redakto de vi estas malpermesita.",
|
||||
"pad.modals.badChangeset.cause": "Tio eble okazis pro malĝustaj agordoj aŭ alia neatendita teniĝo sur la servilo. Se vi pensas ke estas eraro, bonvolu kontakti la servoadminstranton. Provu rekonekti por denove redakti.",
|
||||
"pad.modals.corruptPad.explanation": "La teksto kiun vi provas atingi estas difekta.",
|
||||
"pad.modals.corruptPad.cause": "Tio eble okazis pro malĝustaj agordoj aŭ alia neatendita teniĝo sur la servilo. Bonvolu kontakti la servoadminstranton.",
|
||||
"pad.modals.deleted": "Forigita.",
|
||||
"pad.modals.deleted.explanation": "Ĉi tiu teksto estis forigita.",
|
||||
"pad.modals.disconnected": "Vi estas malkonektita.",
|
||||
"pad.modals.disconnected.explanation": "La konekto al la servilo perdiĝis",
|
||||
"pad.modals.disconnected.cause": "Eble la servilo ne estas disponebla. Bonvolu kontakti la servoadministranton se tio daŭre okazas.",
|
||||
"pad.share": "Kunhavigi ĉi tiun tekston",
|
||||
"pad.share.readonly": "Nur legebla",
|
||||
"pad.share.link": "Ligilo",
|
||||
"pad.share.emebdcode": "Enfiksi URL-on",
|
||||
"pad.chat": "Babilejo",
|
||||
"pad.chat.title": "Malfermi la babilejon por ĉi tiu teksto.",
|
||||
"pad.chat.loadmessages": "Ŝargi pliajn mesaĝojn",
|
||||
"timeslider.pageTitle": "{{appTitle}} Tempoŝovilo",
|
||||
"timeslider.toolbar.returnbutton": "Reiri al teksto",
|
||||
"timeslider.toolbar.authors": "Aŭtoroj:",
|
||||
"timeslider.toolbar.authorsList": "Neniu aŭtoro",
|
||||
"timeslider.toolbar.exportlink.title": "Elporti",
|
||||
"timeslider.exportCurrent": "Elporti la nunan version kiel:",
|
||||
"timeslider.version": "Versio {{version}}",
|
||||
"timeslider.saved": "Konservita la {{day}}an de {{month}}, {{year}}",
|
||||
"timeslider.dateformat": "{{day}}-{{month}}-{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "januaro",
|
||||
"timeslider.month.february": "februaro",
|
||||
"timeslider.month.march": "marto",
|
||||
"timeslider.month.april": "aprilo",
|
||||
"timeslider.month.may": "majo",
|
||||
"timeslider.month.june": "junio",
|
||||
"timeslider.month.july": "julio",
|
||||
"timeslider.month.august": "aŭgusto",
|
||||
"timeslider.month.september": "septembro",
|
||||
"timeslider.month.october": "oktobro",
|
||||
"timeslider.month.november": "novembro",
|
||||
"timeslider.month.december": "decembro",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: sennoma aŭtoro, other: sennomaj aŭtoroj ]}",
|
||||
"pad.savedrevs.marked": "Ĉi tiu versio nun estas markita kiel konservita versio",
|
||||
"pad.savedrevs.timeslider": "Vi povas rigardi konservitajn versiojn per la tempoŝovilo",
|
||||
"pad.userlist.entername": "Entajpu vian nomon",
|
||||
"pad.userlist.unnamed": "sennoma",
|
||||
"pad.userlist.guest": "Gasto",
|
||||
"pad.userlist.deny": "Malaprobi",
|
||||
"pad.userlist.approve": "Aprobi",
|
||||
"pad.editbar.clearcolors": "Forigi kolorojn de aŭtoreco en la tuta dokumento?",
|
||||
"pad.impexp.importbutton": "Enporti Nun",
|
||||
"pad.impexp.importing": "Enportanta...",
|
||||
"pad.impexp.confirmimport": "Enporti dosieron superskribos la nunan tekston en la redaktilo. Ĉu vi certe volas daŭrigi?",
|
||||
"pad.impexp.convertFailed": "Ni ne kapablis enporti tiun dosieron. Bonvolu uzi alian dokumentformaton aŭ permane kopii kaj alglui.",
|
||||
"pad.impexp.padHasData": "Ni ne kapablis enporti tiun dosieron ĉar la teksto jam estas ŝanĝita. Bonvolu enporti en novan tekston.",
|
||||
"pad.impexp.uploadFailed": "La alŝuto malsukcesis, bonvolu provi denove.",
|
||||
"pad.impexp.importfailed": "Enporti malsukcesis.",
|
||||
"pad.impexp.copypaste": "Bonvolu kopii kaj alglui",
|
||||
"pad.impexp.exportdisabled": "Elporti en {{type}} formato estas malŝalta. Bonvolu kontakti la sistremadministranton pro pliaj informoj."
|
||||
}
|
102
sources/src/locales/es.json
Normal file → Executable file
102
sources/src/locales/es.json
Normal file → Executable file
|
@ -9,22 +9,24 @@
|
|||
"Rubenwap",
|
||||
"VegaDark",
|
||||
"Vivaelcelta",
|
||||
"Xuacu"
|
||||
"Xuacu",
|
||||
"Macofe",
|
||||
"Fitoschido"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Nuevo Pad",
|
||||
"index.createOpenPad": "o crea/abre un Pad con el nombre:",
|
||||
"index.newPad": "Nuevo pad",
|
||||
"index.createOpenPad": "o crea/abre un pad con el nombre:",
|
||||
"pad.toolbar.bold.title": "Negrita (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Subrayado (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Tachado",
|
||||
"pad.toolbar.ol.title": "Lista ordenada",
|
||||
"pad.toolbar.ul.title": "Lista desordenada",
|
||||
"pad.toolbar.indent.title": "Sangrar",
|
||||
"pad.toolbar.unindent.title": "Desangrar",
|
||||
"pad.toolbar.strikethrough.title": "Tachado (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Lista ordenada (Ctrl+Mayús+N)",
|
||||
"pad.toolbar.ul.title": "Lista desordenada (Ctrl+Mayús+L)",
|
||||
"pad.toolbar.indent.title": "Sangría (TAB)",
|
||||
"pad.toolbar.unindent.title": "Eliminar sangría (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Deshacer (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Rehacer (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Eliminar los colores de los autores",
|
||||
"pad.toolbar.clearAuthorship.title": "Eliminar los colores de autoría (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importar/Exportar a diferentes formatos de archivos",
|
||||
"pad.toolbar.timeslider.title": "Línea de tiempo",
|
||||
"pad.toolbar.savedRevision.title": "Guardar revisión",
|
||||
|
@ -34,13 +36,15 @@
|
|||
"pad.colorpicker.save": "Guardar",
|
||||
"pad.colorpicker.cancel": "Cancelar",
|
||||
"pad.loading": "Cargando...",
|
||||
"pad.passwordRequired": "Necesitas una contraseña para acceder a este documento",
|
||||
"pad.permissionDenied": "No tienes permiso para acceder a esta página",
|
||||
"pad.noCookie": "La cookie no se pudo encontrar. ¡Por favor, habilita las cookies en tu navegador!",
|
||||
"pad.passwordRequired": "Necesitas una contraseña para acceder a este pad",
|
||||
"pad.permissionDenied": "No tienes permiso para acceder a este pad",
|
||||
"pad.wrongPassword": "La contraseña era incorrecta",
|
||||
"pad.settings.padSettings": "Configuración del Pad",
|
||||
"pad.settings.padSettings": "Configuración del pad",
|
||||
"pad.settings.myView": "Preferencias personales",
|
||||
"pad.settings.stickychat": "Chat siempre encima",
|
||||
"pad.settings.colorcheck": "Color de autoría",
|
||||
"pad.settings.stickychat": "Chat siempre en pantalla",
|
||||
"pad.settings.chatandusers": "Mostrar el chat y los usuarios",
|
||||
"pad.settings.colorcheck": "Colores de autoría",
|
||||
"pad.settings.linenocheck": "Números de línea",
|
||||
"pad.settings.rtlcheck": "¿Leer contenido de derecha a izquierda?",
|
||||
"pad.settings.fontType": "Tipografía:",
|
||||
|
@ -50,40 +54,40 @@
|
|||
"pad.settings.language": "Idioma:",
|
||||
"pad.importExport.import_export": "Importar/Exportar",
|
||||
"pad.importExport.import": "Subir cualquier texto o documento",
|
||||
"pad.importExport.importSuccessful": "¡Operación realizada con éxito!",
|
||||
"pad.importExport.importSuccessful": "¡Éxito!",
|
||||
"pad.importExport.export": "Exporta el pad actual como:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Texto plano",
|
||||
"pad.importExport.exportplain": "Texto sin formato",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Sólo puede importar formatos de texto plano o html. Para funciones más avanzadas instale \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eabiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Solo es posible importar texto sin formato o en HTML. Para obtener funciones de importación más avanzadas es necesario <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instalar AbiWord</a>.",
|
||||
"pad.modals.connected": "Conectado.",
|
||||
"pad.modals.reconnecting": "Reconectando a tu pad..",
|
||||
"pad.modals.forcereconnect": "Reconexión forzosa",
|
||||
"pad.modals.forcereconnect": "Forzar reconexión",
|
||||
"pad.modals.userdup": "Abierto en otra ventana",
|
||||
"pad.modals.userdup.explanation": "Este pad parece estar abierto en más de una ventana de tu navegador.",
|
||||
"pad.modals.userdup.advice": "Reconectar para usar esta ventana.",
|
||||
"pad.modals.unauth": "No autorizado.",
|
||||
"pad.modals.unauth.explanation": "Los permisos han cambiado mientras estabas viendo esta página. Intenta reconectar de nuevo.",
|
||||
"pad.modals.looping.explanation": "Estamos teniendo problemas con la sincronización en el servidor.",
|
||||
"pad.modals.unauth.explanation": "Tus permisos han cambiado mientras estabas viendo esta página. Intenta reconectarte.",
|
||||
"pad.modals.looping.explanation": "Hay problemas con el servidor de sincronización.",
|
||||
"pad.modals.looping.cause": "Puede deberse a que te conectes a través de un proxy o un cortafuegos incompatible.",
|
||||
"pad.modals.initsocketfail": "Servidor incalcanzable.",
|
||||
"pad.modals.initsocketfail.explanation": "No se pudo conectar al servidor de sincronización.",
|
||||
"pad.modals.initsocketfail.cause": "Puede ser a causa de tu navegador o de una caída en tu conexión de Internet.",
|
||||
"pad.modals.initsocketfail.cause": "Probablemente debido a un problema en tu navegador o en tu conexión a internet.",
|
||||
"pad.modals.slowcommit.explanation": "El servidor no responde.",
|
||||
"pad.modals.slowcommit.cause": "Puede deberse a problemas con tu conexión de red.",
|
||||
"pad.modals.badChangeset.explanation": "Ha hecho una edición clasificada como ilegal por el servidor de sincronización.",
|
||||
"pad.modals.badChangeset.cause": "Esto podría ser debido a una mala configuración del servidor o algún otro comportamiento inesperado. Póngase en contacto con el administrador del servicio, si siente que esto es un error. Intente volver a conectar con el fin de seguir editando.",
|
||||
"pad.modals.corruptPad.explanation": "El pad que está intentando acceder está dañado.",
|
||||
"pad.modals.corruptPad.cause": "Esto puede deberse a una mala configuración de servidor o algún otro comportamiento inesperado. Póngase en contacto con el administrador del servicio.",
|
||||
"pad.modals.badChangeset.explanation": "Has hecho una edición clasificada como ilegal por el servidor de sincronización.",
|
||||
"pad.modals.badChangeset.cause": "Esto podría deberse a una mala configuración del servidor o algún otro comportamiento inesperado. Contacta al administrador del servicio, si piensas que esto es un error. Intenta reconectarte con el fin de seguir editando.",
|
||||
"pad.modals.corruptPad.explanation": "El pad que intentas acceder está dañado.",
|
||||
"pad.modals.corruptPad.cause": "Esto puede deberse a una mala configuración del servidor o algún otro comportamiento inesperado. Contacta al administrador del servicio.",
|
||||
"pad.modals.deleted": "Borrado.",
|
||||
"pad.modals.deleted.explanation": "Este pad ha sido borrado.",
|
||||
"pad.modals.disconnected": "Has sido desconectado.",
|
||||
"pad.modals.disconnected": "Te has desconectado.",
|
||||
"pad.modals.disconnected.explanation": "Se perdió la conexión con el servidor",
|
||||
"pad.modals.disconnected.cause": "El servidor podría no estar disponible. Contacte con nosotros si esto continúa sucediendo.",
|
||||
"pad.share": "Compatir el pad",
|
||||
"pad.modals.disconnected.cause": "El servidor podría no estar disponible. Contacta al administrador del servicio si esto continúa sucediendo.",
|
||||
"pad.share": "Compatir este pad",
|
||||
"pad.share.readonly": "Sólo lectura",
|
||||
"pad.share.link": "Enlace",
|
||||
"pad.share.emebdcode": "Incrustar URL",
|
||||
|
@ -99,32 +103,34 @@
|
|||
"timeslider.version": "Versión {{version}}",
|
||||
"timeslider.saved": "Guardado el {{day}} de {{month}} de {{year}}",
|
||||
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "Enero",
|
||||
"timeslider.month.february": "Febrero",
|
||||
"timeslider.month.march": "Marzo",
|
||||
"timeslider.month.april": "Abril",
|
||||
"timeslider.month.may": "Mayo",
|
||||
"timeslider.month.june": "Junio",
|
||||
"timeslider.month.july": "Julio",
|
||||
"timeslider.month.august": "Agosto",
|
||||
"timeslider.month.september": "Septiembre",
|
||||
"timeslider.month.october": "Octubre",
|
||||
"timeslider.month.november": "Noviembre",
|
||||
"timeslider.month.december": "Diciembre",
|
||||
"timeslider.month.january": "enero",
|
||||
"timeslider.month.february": "febrero",
|
||||
"timeslider.month.march": "marzo",
|
||||
"timeslider.month.april": "abril",
|
||||
"timeslider.month.may": "mayo",
|
||||
"timeslider.month.june": "junio",
|
||||
"timeslider.month.july": "julio",
|
||||
"timeslider.month.august": "agosto",
|
||||
"timeslider.month.september": "septiembre",
|
||||
"timeslider.month.october": "octubre",
|
||||
"timeslider.month.november": "noviembre",
|
||||
"timeslider.month.december": "diciembre",
|
||||
"timeslider.unnamedauthors": "{{num}} {[ plural(num) one: autor desconocido, other: autores desconocidos]}",
|
||||
"pad.savedrevs.marked": "Revisión guardada",
|
||||
"pad.savedrevs.timeslider": "Puedes ver revisiones guardadas visitando la línea de tiempo",
|
||||
"pad.userlist.entername": "Escribe tu nombre",
|
||||
"pad.userlist.unnamed": "anónimo",
|
||||
"pad.userlist.guest": "Invitado",
|
||||
"pad.userlist.deny": "Denegar",
|
||||
"pad.userlist.approve": "Aprobar",
|
||||
"pad.editbar.clearcolors": "¿Desea borrar el color de los autores en todo el documento?",
|
||||
"pad.impexp.importbutton": "Importar",
|
||||
"pad.editbar.clearcolors": "¿Quieres borrar los colores de autoría en todo el documento?",
|
||||
"pad.impexp.importbutton": "Importar ahora",
|
||||
"pad.impexp.importing": "Importando...",
|
||||
"pad.impexp.confirmimport": "Al importar un fichero se borrará el contenido actual del documento. ¿Quiere continuar?",
|
||||
"pad.impexp.convertFailed": "No pudimos importar este fichero. Intentalo con otro formato diferente o copia y pega manualmente.",
|
||||
"pad.impexp.uploadFailed": "El envío del fichero falló. Intentelo de nuevo.",
|
||||
"pad.impexp.confirmimport": "Al importar un archivo se borrará el contenido actual del pad. ¿Estás seguro de que quieres continuar?",
|
||||
"pad.impexp.convertFailed": "No pudimos importar este archivo. Inténtalo con un formato diferente o copia y pega manualmente.",
|
||||
"pad.impexp.padHasData": "No hemos podido importar este archivo porque esta almohadilla ya ha tenido cambios, por favor, importa a una nueva almohadilla",
|
||||
"pad.impexp.uploadFailed": "El envío falló. Intentalo de nuevo.",
|
||||
"pad.impexp.importfailed": "Fallo al importar",
|
||||
"pad.impexp.copypaste": "Intente copiar y pegar",
|
||||
"pad.impexp.exportdisabled": "La exportación al formato {{type}} format está desactivada. Contacte con su administrador de sistemas."
|
||||
"pad.impexp.copypaste": "Intenta copiar y pegar",
|
||||
"pad.impexp.exportdisabled": "La exportación al formato {{type}} está desactivada. Contacta a tu administrador de sistemas."
|
||||
}
|
3
sources/src/locales/et.json
Normal file → Executable file
3
sources/src/locales/et.json
Normal file → Executable file
|
@ -49,8 +49,7 @@
|
|||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Paraku on ainult lihttekstis voi HTML-vormingus dokumentide importimine võimaldatud. Rohkem võimaluste jaoks peab \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Epaigaldama abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Paraku on ainult lihttekstis voi HTML-vormingus dokumentide importimine võimaldatud. Rohkem võimaluste jaoks peab <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">paigaldama abiword</a>.",
|
||||
"pad.modals.connected": "Ühendatud.",
|
||||
"pad.modals.reconnecting": "Proovitakse luua ühendus klade juurde...",
|
||||
"pad.modals.forcereconnect": "Sunni ühenduse taasloomist",
|
||||
|
|
7
sources/src/locales/eu.json
Normal file → Executable file
7
sources/src/locales/eu.json
Normal file → Executable file
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Theklan"
|
||||
"Theklan",
|
||||
"Subi"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Pad berria",
|
||||
|
@ -44,13 +45,13 @@
|
|||
"pad.importExport.import": "Igo edozein testu fitxategi edo dokumentu",
|
||||
"pad.importExport.importSuccessful": "Arrakastatsua!",
|
||||
"pad.importExport.export": "Oraingo pad hau honela esportatu:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Testu laua",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DocuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Testu laua edo html formatudun testuak bakarrik inporta ditzakezu. Aurreratuagoak diren inportazio aukerak izateko \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eabiword instala ezazu\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Testu laua edo html formatudun testuak bakarrik inporta ditzakezu. Aurreratuagoak diren inportazio aukerak izateko <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">abiword instala ezazu</a>.",
|
||||
"pad.modals.connected": "Konektatuta.",
|
||||
"pad.modals.reconnecting": "Zure pad-era birkonektatu...",
|
||||
"pad.modals.forcereconnect": "Berkonexioa fortzatu",
|
||||
|
|
31
sources/src/locales/fa.json
Normal file → Executable file
31
sources/src/locales/fa.json
Normal file → Executable file
|
@ -6,7 +6,8 @@
|
|||
"Ebraminio",
|
||||
"Reza1615",
|
||||
"ZxxZxxZ",
|
||||
"الناز"
|
||||
"الناز",
|
||||
"Omid.koli"
|
||||
]
|
||||
},
|
||||
"index.newPad": "دفترچه یادداشت تازه",
|
||||
|
@ -14,14 +15,14 @@
|
|||
"pad.toolbar.bold.title": "پررنگ (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "کج (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "زیرخط (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "خط خورده",
|
||||
"pad.toolbar.ol.title": "فهرست مرتب شده",
|
||||
"pad.toolbar.ul.title": "فهرست مرتب نشده",
|
||||
"pad.toolbar.strikethrough.title": "خط خورده (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "فهرست مرتب شده (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "فهرست مرتب نشده (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "تورفتگی (TAB)",
|
||||
"pad.toolbar.unindent.title": "بیرون رفتگی (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "باطلکردن (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "از نو (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "پاککردن رنگهای نویسندگی",
|
||||
"pad.toolbar.clearAuthorship.title": "پاککردن رنگهای نویسندگی (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "درونریزی/برونریزی از/به قالبهای مختلف",
|
||||
"pad.toolbar.timeslider.title": "لغزندهٔ زمان",
|
||||
"pad.toolbar.savedRevision.title": "ذخیرهسازی نسخه",
|
||||
|
@ -31,12 +32,14 @@
|
|||
"pad.colorpicker.save": "ذخیره",
|
||||
"pad.colorpicker.cancel": "لغو",
|
||||
"pad.loading": "در حال بارگذاری...",
|
||||
"pad.noCookie": "کوکی یافت نشد. لطفاً اجازهٔ اجرای کوکی در مروگرتان را بدهید!",
|
||||
"pad.passwordRequired": "برای دسترسی به این دفترچه یادداشت نیاز به یک گذرواژه دارید",
|
||||
"pad.permissionDenied": "شما اجازهی دسترسی به این دفترچه یادداشت را ندارید",
|
||||
"pad.wrongPassword": "گذرواژهی شما درست نیست",
|
||||
"pad.settings.padSettings": "تنظیمات دفترچه یادداشت",
|
||||
"pad.settings.myView": "نمای من",
|
||||
"pad.settings.stickychat": "گفتگو همیشه روی صفحه نمایش باشد",
|
||||
"pad.settings.chatandusers": "نمایش چت و کاربران",
|
||||
"pad.settings.colorcheck": "رنگهای نویسندگی",
|
||||
"pad.settings.linenocheck": "شمارهی خطوط",
|
||||
"pad.settings.rtlcheck": "خواندن محتوا از راست به چپ؟",
|
||||
|
@ -49,13 +52,13 @@
|
|||
"pad.importExport.import": "بارگذاری پروندهی متنی یا سند",
|
||||
"pad.importExport.importSuccessful": "موفقیت آمیز بود!",
|
||||
"pad.importExport.export": "برونریزی این دفترچه یادداشت با قالب:",
|
||||
"pad.importExport.exportetherpad": "اترپد",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "متن ساده",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (قالب سند باز)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "شما تنها میتوانید از قالب متن ساده یا اچتیامال درونریزی کنید. برای بیشتر شدن ویژگیهای درونریزی پیشرفته \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003EAbiWord\u003C/a\u003E را نصب کنید.",
|
||||
"pad.importExport.abiword.innerHTML": "شما تنها میتوانید از قالب متن ساده یا اچتیامال درونریزی کنید. برای بیشتر شدن ویژگیهای درونریزی پیشرفته <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">AbiWord</a> را نصب کنید.",
|
||||
"pad.modals.connected": "متصل شد.",
|
||||
"pad.modals.reconnecting": "در حال اتصال دوباره به دفترچه یادداشت شما..",
|
||||
"pad.modals.forcereconnect": "واداشتن به اتصال دوباره",
|
||||
|
@ -97,19 +100,20 @@
|
|||
"timeslider.saved": "{{month}} {{day}}، {{year}} ذخیره شد",
|
||||
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "ژانویه",
|
||||
"timeslider.month.february": "فبریه",
|
||||
"timeslider.month.march": "مارچ",
|
||||
"timeslider.month.april": "آپریل",
|
||||
"timeslider.month.may": "می",
|
||||
"timeslider.month.february": "فوریه",
|
||||
"timeslider.month.march": "مارس",
|
||||
"timeslider.month.april": "آوریل",
|
||||
"timeslider.month.may": "مه",
|
||||
"timeslider.month.june": "ژوئن",
|
||||
"timeslider.month.july": "جولای",
|
||||
"timeslider.month.august": "آگوست",
|
||||
"timeslider.month.july": "ژوئیه",
|
||||
"timeslider.month.august": "اوت",
|
||||
"timeslider.month.september": "سپتامبر",
|
||||
"timeslider.month.october": "اکتبر",
|
||||
"timeslider.month.november": "نوامبر",
|
||||
"timeslider.month.december": "دسامبر",
|
||||
"timeslider.unnamedauthors": "{{num}} نویسندهٔ بینام",
|
||||
"pad.savedrevs.marked": "این بازنویسی هم اکنون به عنوان ذخیره شده علامتگذاری شد",
|
||||
"pad.savedrevs.timeslider": "شما میتوانید نسخههای ذخیره شده را با دیدن نوار زمان ببنید",
|
||||
"pad.userlist.entername": "نام خود را بنویسید",
|
||||
"pad.userlist.unnamed": "بدون نام",
|
||||
"pad.userlist.guest": "مهمان",
|
||||
|
@ -120,6 +124,7 @@
|
|||
"pad.impexp.importing": "در حال درونریزی...",
|
||||
"pad.impexp.confirmimport": "با درونریزی یک پرونده نوشتهٔ کنونی دفترچه پاک میشود. آیا میخواهید ادامه دهید؟",
|
||||
"pad.impexp.convertFailed": "ما نمیتوانیم این پرونده را درونریزی کنیم. خواهشمندیم قالب دیگری برای سندتان انتخاب کرده یا بصورت دستی آنرا کپی کنید",
|
||||
"pad.impexp.padHasData": "امکان درونریز این پرونده نیست زیرا این پد تغییر کردهاست. لطفاً در پد جدید درونریزی کنید.",
|
||||
"pad.impexp.uploadFailed": "آپلود انجام نشد، دوباره تلاش کنید",
|
||||
"pad.impexp.importfailed": "درونریزی انجام نشد",
|
||||
"pad.impexp.copypaste": "کپی پیست کنید",
|
||||
|
|
22
sources/src/locales/fi.json
Normal file → Executable file
22
sources/src/locales/fi.json
Normal file → Executable file
|
@ -9,7 +9,10 @@
|
|||
"Stryn",
|
||||
"Tomi Toivio",
|
||||
"Veikk0.ma",
|
||||
"VezonThunder"
|
||||
"VezonThunder",
|
||||
"Macofe",
|
||||
"MrTapsa",
|
||||
"Silvonen"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Uusi muistio",
|
||||
|
@ -17,14 +20,14 @@
|
|||
"pad.toolbar.bold.title": "Lihavointi (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Kursivointi (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Alleviivaus (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Yliviivaus",
|
||||
"pad.toolbar.ol.title": "Numeroitu lista",
|
||||
"pad.toolbar.ul.title": "Numeroimaton lista",
|
||||
"pad.toolbar.strikethrough.title": "Yliviivaus (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Numeroitu lista (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Numeroimaton lista (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Sisennä (TAB)",
|
||||
"pad.toolbar.unindent.title": "Ulonna (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Kumoa (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Tee uudelleen (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Poista kirjoittajavärit",
|
||||
"pad.toolbar.clearAuthorship.title": "Poista kirjoittajavärit (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Tuo tai vie eri tiedostomuodoista tai -muotoihin",
|
||||
"pad.toolbar.timeslider.title": "Aikajana",
|
||||
"pad.toolbar.savedRevision.title": "Tallenna muutos",
|
||||
|
@ -32,8 +35,9 @@
|
|||
"pad.toolbar.embed.title": "Jaa ja upota muistio",
|
||||
"pad.toolbar.showusers.title": "Näytä muistion käyttäjät",
|
||||
"pad.colorpicker.save": "Tallenna",
|
||||
"pad.colorpicker.cancel": "Peruuta",
|
||||
"pad.colorpicker.cancel": "Peru",
|
||||
"pad.loading": "Ladataan…",
|
||||
"pad.noCookie": "Evästettä ei löytynyt. Ole hyvä, ja salli evästeet selaimessasi!",
|
||||
"pad.passwordRequired": "Tämä muistio on suojattu salasanalla.",
|
||||
"pad.permissionDenied": "Käyttöoikeutesi eivät riitä tämän muistion käyttämiseen.",
|
||||
"pad.wrongPassword": "Väärä salasana",
|
||||
|
@ -43,7 +47,7 @@
|
|||
"pad.settings.colorcheck": "Kirjoittajavärit",
|
||||
"pad.settings.linenocheck": "Rivinumerot",
|
||||
"pad.settings.rtlcheck": "Luetaanko sisältö oikealta vasemmalle?",
|
||||
"pad.settings.fontType": "Kirjasintyyppi:",
|
||||
"pad.settings.fontType": "Fonttityyppi:",
|
||||
"pad.settings.fontType.normal": "normaali",
|
||||
"pad.settings.fontType.monospaced": "tasalevyinen",
|
||||
"pad.settings.globalView": "Yleisnäkymä",
|
||||
|
@ -52,13 +56,13 @@
|
|||
"pad.importExport.import": "Lähetä mikä tahansa tekstitiedosto tai asiakirja",
|
||||
"pad.importExport.importSuccessful": "Onnistui!",
|
||||
"pad.importExport.export": "Vie muistio muodossa:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Muotoilematon teksti",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Tuonti on tuettu vain HTML- ja raakatekstitiedostoista. Lisätietoja tuonnin lisäasetuksista on sivulla \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstall abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Tuonti on tuettu vain HTML- ja raakatekstitiedostoista. Lisätietoja tuonnin lisäasetuksista on sivulla <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">install abiword</a>.",
|
||||
"pad.modals.connected": "Yhdistetty.",
|
||||
"pad.modals.reconnecting": "Muodostetaan yhteyttä muistioon uudelleen...",
|
||||
"pad.modals.forcereconnect": "Pakota yhdistämään uudelleen",
|
||||
|
|
3
sources/src/locales/fo.json
Normal file → Executable file
3
sources/src/locales/fo.json
Normal file → Executable file
|
@ -43,8 +43,7 @@
|
|||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Opið Dokument Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Tú kanst bert innflyta frá einføldum teksti ella html formatum. Fyri funksjónir til innflytan fyri víðarikomin vinarliga \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstallera abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Tú kanst bert innflyta frá einføldum teksti ella html formatum. Fyri funksjónir til innflytan fyri víðarikomin vinarliga <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installera abiword</a>.",
|
||||
"pad.modals.connected": "Tú hevur samband.",
|
||||
"pad.modals.reconnecting": "Roynir aftur at fáa samband við tín pad..",
|
||||
"pad.modals.forcereconnect": "Tvinga endurstovnan av sambandi.",
|
||||
|
|
52
sources/src/locales/fr.json
Normal file → Executable file
52
sources/src/locales/fr.json
Normal file → Executable file
|
@ -16,7 +16,9 @@
|
|||
"Rastus Vernon",
|
||||
"Stephane Cottin",
|
||||
"Tux-tn",
|
||||
"Maxim21"
|
||||
"Maxim21",
|
||||
"Boniface",
|
||||
"Macofe"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Nouveau pad",
|
||||
|
@ -24,14 +26,14 @@
|
|||
"pad.toolbar.bold.title": "Gras (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Italique (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Souligné (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Barré",
|
||||
"pad.toolbar.ol.title": "Liste ordonnée",
|
||||
"pad.toolbar.ul.title": "Liste non ordonnée",
|
||||
"pad.toolbar.strikethrough.title": "Barré (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Liste ordonnée (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Liste non ordonnée (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Indenter (TAB)",
|
||||
"pad.toolbar.unindent.title": "Désindenter (Maj+TAB)",
|
||||
"pad.toolbar.undo.title": "Annuler (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Rétablir (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Effacer les couleurs identifiant les auteurs",
|
||||
"pad.toolbar.clearAuthorship.title": "Effacer les couleurs identifiant les auteurs (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importer/Exporter de/vers un format de fichier différent",
|
||||
"pad.toolbar.timeslider.title": "Historique dynamique",
|
||||
"pad.toolbar.savedRevision.title": "Enregistrer la révision",
|
||||
|
@ -41,15 +43,17 @@
|
|||
"pad.colorpicker.save": "Enregistrer",
|
||||
"pad.colorpicker.cancel": "Annuler",
|
||||
"pad.loading": "Chargement…",
|
||||
"pad.noCookie": "Le cookie n’a pas pu être trouvé. Veuillez autoriser les cookies dans votre navigateur !",
|
||||
"pad.passwordRequired": "Vous avez besoin d'un mot de passe pour accéder à ce pad",
|
||||
"pad.permissionDenied": "Il ne vous est pas permis d’accéder à ce pad",
|
||||
"pad.wrongPassword": "Votre mot de passe est incorrect",
|
||||
"pad.settings.padSettings": "Paramètres du pad",
|
||||
"pad.settings.myView": "Ma vue",
|
||||
"pad.settings.stickychat": "Toujours afficher le chat",
|
||||
"pad.settings.chatandusers": "Afficher la discussion et les utilisateurs",
|
||||
"pad.settings.colorcheck": "Couleurs d’identification",
|
||||
"pad.settings.linenocheck": "Numéros de lignes",
|
||||
"pad.settings.rtlcheck": "Lecture de droite à gauche",
|
||||
"pad.settings.rtlcheck": "Le contenu doit-il être lu de droite à gauche ?",
|
||||
"pad.settings.fontType": "Police :",
|
||||
"pad.settings.fontType.normal": "Normal",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
|
@ -59,13 +63,13 @@
|
|||
"pad.importExport.import": "Charger un texte ou un document",
|
||||
"pad.importExport.importSuccessful": "Réussi !",
|
||||
"pad.importExport.export": "Exporter le pad actuel comme :",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Texte brut",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Vous ne pouvez importer que des formats texte brut ou html. Pour des fonctionnalités d'importation plus évoluées, veuillez \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstaller abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Vous ne pouvez importer que des formats texte brut ou html. Pour des fonctionnalités d'importation plus évoluées, veuillez <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installer abiword</a>.",
|
||||
"pad.modals.connected": "Connecté.",
|
||||
"pad.modals.reconnecting": "Reconnexion vers votre pad...",
|
||||
"pad.modals.forcereconnect": "Forcer la reconnexion",
|
||||
|
@ -83,7 +87,7 @@
|
|||
"pad.modals.slowcommit.cause": "Ce problème peut venir d'une mauvaise connectivité au réseau.",
|
||||
"pad.modals.badChangeset.explanation": "Une modification que vous avez effectuée a été classée comme illégale par le serveur de synchronisation.",
|
||||
"pad.modals.badChangeset.cause": "Cela peut être dû à une mauvaise configuration du serveur ou à un autre comportement inattendu. Veuillez contacter l’administrateur du service, si vous pensez que c’est une erreur. Essayez de vous reconnecter pour continuer à modifier.",
|
||||
"pad.modals.corruptPad.explanation": "Le bloc auquel vous essayez d’accéder est corrompu.",
|
||||
"pad.modals.corruptPad.explanation": "Le pad auquel vous essayez d’accéder est corrompu.",
|
||||
"pad.modals.corruptPad.cause": "Cela peut être dû à une mauvaise configuration du serveur ou à un autre comportement inattendu. Veuillez contacter l’administrateur du service.",
|
||||
"pad.modals.deleted": "Supprimé.",
|
||||
"pad.modals.deleted.explanation": "Ce pad a été supprimé.",
|
||||
|
@ -102,24 +106,25 @@
|
|||
"timeslider.toolbar.authors": "Auteurs :",
|
||||
"timeslider.toolbar.authorsList": "Aucun auteur",
|
||||
"timeslider.toolbar.exportlink.title": "Exporter",
|
||||
"timeslider.exportCurrent": "Exporter la version actuelle en :",
|
||||
"timeslider.exportCurrent": "Exporter la version actuelle sous :",
|
||||
"timeslider.version": "Version {{version}}",
|
||||
"timeslider.saved": "Enregistré le {{day}} {{month}} {{year}}",
|
||||
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "Janvier",
|
||||
"timeslider.month.february": "Février",
|
||||
"timeslider.month.march": "Mars",
|
||||
"timeslider.month.april": "Avril",
|
||||
"timeslider.month.may": "Mai",
|
||||
"timeslider.month.june": "Juin",
|
||||
"timeslider.month.july": "Juillet",
|
||||
"timeslider.month.august": "Août",
|
||||
"timeslider.month.september": "Septembre",
|
||||
"timeslider.month.october": "Octobre",
|
||||
"timeslider.month.november": "Novembre",
|
||||
"timeslider.month.december": "Décembre",
|
||||
"timeslider.month.january": "janvier",
|
||||
"timeslider.month.february": "février",
|
||||
"timeslider.month.march": "mars",
|
||||
"timeslider.month.april": "avril",
|
||||
"timeslider.month.may": "mai",
|
||||
"timeslider.month.june": "juin",
|
||||
"timeslider.month.july": "juillet",
|
||||
"timeslider.month.august": "août",
|
||||
"timeslider.month.september": "septembre",
|
||||
"timeslider.month.october": "octobre",
|
||||
"timeslider.month.november": "novembre",
|
||||
"timeslider.month.december": "décembre",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: auteur anonyme, other: auteurs anonymes ]}",
|
||||
"pad.savedrevs.marked": "Cette révision est maintenant marquée comme révision enregistrée",
|
||||
"pad.savedrevs.timeslider": "Vous pouvez voir les révisions enregistrées en visitant l’ascenseur temporel",
|
||||
"pad.userlist.entername": "Entrez votre nom",
|
||||
"pad.userlist.unnamed": "anonyme",
|
||||
"pad.userlist.guest": "Invité",
|
||||
|
@ -130,8 +135,9 @@
|
|||
"pad.impexp.importing": "Import en cours...",
|
||||
"pad.impexp.confirmimport": "Importer un fichier écrasera le texte actuel du pad. Êtes-vous sûr de vouloir le faire ?",
|
||||
"pad.impexp.convertFailed": "Nous ne pouvons pas importer ce fichier. Veuillez utiliser un autre format de document ou faire un copier/coller manuel",
|
||||
"pad.impexp.padHasData": "Nous n’avons pas pu importer ce fichier parce que ce bloc a déjà eu des modifications ; veuillez importer vers un nouveau bloc",
|
||||
"pad.impexp.uploadFailed": "Le téléchargement a échoué, veuillez réessayer",
|
||||
"pad.impexp.importfailed": "Échec de l'importation",
|
||||
"pad.impexp.copypaste": "Veuillez copier/coller",
|
||||
"pad.impexp.exportdisabled": "Exporter au format {{type}} est désactivé. Veuillez contacter votre administrateur système pour plus de détails."
|
||||
"pad.impexp.exportdisabled": "L'option d'export au format {{type}} est désactivée. Veuillez contacter votre administrateur système pour plus de détails."
|
||||
}
|
23
sources/src/locales/gl.json
Normal file → Executable file
23
sources/src/locales/gl.json
Normal file → Executable file
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Toliño"
|
||||
"Toliño",
|
||||
"Elisardojm"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Novo documento",
|
||||
|
@ -9,14 +10,14 @@
|
|||
"pad.toolbar.bold.title": "Negra (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Cursiva (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Subliñar (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Riscar",
|
||||
"pad.toolbar.ol.title": "Lista ordenada",
|
||||
"pad.toolbar.ul.title": "Lista sen ordenar",
|
||||
"pad.toolbar.indent.title": "Sangría",
|
||||
"pad.toolbar.unindent.title": "Sen sangría",
|
||||
"pad.toolbar.strikethrough.title": "Riscar (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Lista ordenada (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Lista sen ordenar (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Sangría (TAB)",
|
||||
"pad.toolbar.unindent.title": "Sen sangría (Maiús.+TAB)",
|
||||
"pad.toolbar.undo.title": "Desfacer (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Refacer (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Limpar as cores de identificación dos autores",
|
||||
"pad.toolbar.clearAuthorship.title": "Limpar as cores de identificación dos autores (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importar/Exportar desde/a diferentes formatos de ficheiro",
|
||||
"pad.toolbar.timeslider.title": "Liña do tempo",
|
||||
"pad.toolbar.savedRevision.title": "Gardar a revisión",
|
||||
|
@ -26,12 +27,14 @@
|
|||
"pad.colorpicker.save": "Gardar",
|
||||
"pad.colorpicker.cancel": "Cancelar",
|
||||
"pad.loading": "Cargando...",
|
||||
"pad.noCookie": "Non se puido atopar a cookie. Por favor, habilite as cookies no seu navegador!",
|
||||
"pad.passwordRequired": "Cómpre un contrasinal para acceder a este documento",
|
||||
"pad.permissionDenied": "Non ten permiso para acceder a este documento",
|
||||
"pad.wrongPassword": "O contrasinal era incorrecto",
|
||||
"pad.settings.padSettings": "Configuracións do documento",
|
||||
"pad.settings.myView": "A miña vista",
|
||||
"pad.settings.stickychat": "Chat sempre visible",
|
||||
"pad.settings.chatandusers": "Mostrar o chat e os usuarios",
|
||||
"pad.settings.colorcheck": "Cores de identificación",
|
||||
"pad.settings.linenocheck": "Números de liña",
|
||||
"pad.settings.rtlcheck": "Quere ler o contido da dereita á esquerda?",
|
||||
|
@ -44,13 +47,13 @@
|
|||
"pad.importExport.import": "Cargar un ficheiro de texto ou documento",
|
||||
"pad.importExport.importSuccessful": "Correcto!",
|
||||
"pad.importExport.export": "Exportar o documento actual en formato:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Texto simple",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Só pode importar texto simple ou formatos HTML. Para obter máis información sobre as características de importación avanzadas \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstale abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Só pode importar texto simple ou formatos HTML. Para obter máis información sobre as características de importación avanzadas <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instale abiword</a>.",
|
||||
"pad.modals.connected": "Conectado.",
|
||||
"pad.modals.reconnecting": "Reconectando co seu documento...",
|
||||
"pad.modals.forcereconnect": "Forzar a reconexión",
|
||||
|
@ -105,6 +108,7 @@
|
|||
"timeslider.month.december": "decembro",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anónimo, other: autores anónimos ]}",
|
||||
"pad.savedrevs.marked": "Esta revisión está agora marcada como revisión gardada",
|
||||
"pad.savedrevs.timeslider": "Pode consultar as revisións gardadas visitando a liña do tempo",
|
||||
"pad.userlist.entername": "Insira o seu nome",
|
||||
"pad.userlist.unnamed": "anónimo",
|
||||
"pad.userlist.guest": "Convidado",
|
||||
|
@ -115,6 +119,7 @@
|
|||
"pad.impexp.importing": "Importando...",
|
||||
"pad.impexp.confirmimport": "A importación dun ficheiro ha sobrescribir o texto actual do documento. Está seguro de querer continuar?",
|
||||
"pad.impexp.convertFailed": "Non somos capaces de importar o ficheiro. Utilice un formato de documento diferente ou copie e pegue manualmente",
|
||||
"pad.impexp.padHasData": "Non puidemos importar este ficheiro porque este documento xa sufriu cambios; importe a un novo documento.",
|
||||
"pad.impexp.uploadFailed": "Houbo un erro ao cargar o ficheiro; inténteo de novo",
|
||||
"pad.impexp.importfailed": "Fallou a importación",
|
||||
"pad.impexp.copypaste": "Copie e pegue",
|
||||
|
|
20
sources/src/locales/he.json
Normal file → Executable file
20
sources/src/locales/he.json
Normal file → Executable file
|
@ -12,14 +12,14 @@
|
|||
"pad.toolbar.bold.title": "בולט (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "נטוי (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "קו תחתי (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "קו מוחק",
|
||||
"pad.toolbar.ol.title": "רשימה ממוספרת",
|
||||
"pad.toolbar.ul.title": "רשימה",
|
||||
"pad.toolbar.indent.title": "הזחה",
|
||||
"pad.toolbar.unindent.title": "צמצום הזחה",
|
||||
"pad.toolbar.strikethrough.title": "קו מוחק (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "רשימה ממוספרת (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "רשימת תבליטים (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "הזחה (טאב)",
|
||||
"pad.toolbar.unindent.title": "צמצום הזחה (שיפט–טאב)",
|
||||
"pad.toolbar.undo.title": "ביטול (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "ביצוע מחדש",
|
||||
"pad.toolbar.clearAuthorship.title": "ניקוי צבעים",
|
||||
"pad.toolbar.clearAuthorship.title": "ניקוי צבעי כותבים (Ctrl-Shift-C)",
|
||||
"pad.toolbar.import_export.title": "ייבוא/ייצוא בתסדירי קבצים שונים",
|
||||
"pad.toolbar.timeslider.title": "גולל זמן",
|
||||
"pad.toolbar.savedRevision.title": "שמירת גרסה",
|
||||
|
@ -29,12 +29,14 @@
|
|||
"pad.colorpicker.save": "שמירה",
|
||||
"pad.colorpicker.cancel": "ביטול",
|
||||
"pad.loading": "טעינה...",
|
||||
"pad.noCookie": "העוגייה לא נמצאה. נא לאפשר עוגיות בדפדפן שלך!",
|
||||
"pad.passwordRequired": "דרושה ססמה כדי לגשת לפנקס הזה",
|
||||
"pad.permissionDenied": "אין לך הרשאה לגשת לפנקס הזה",
|
||||
"pad.wrongPassword": "ססמתך הייתה שגויה",
|
||||
"pad.settings.padSettings": "הגדרות פנקס",
|
||||
"pad.settings.myView": "התצוגה שלי",
|
||||
"pad.settings.stickychat": "השיחה תמיד על המסך",
|
||||
"pad.settings.chatandusers": "הצגת צ'אט ומשתמשים",
|
||||
"pad.settings.colorcheck": "צביעה לפי מחבר",
|
||||
"pad.settings.linenocheck": "מספרי שורות",
|
||||
"pad.settings.rtlcheck": "לקרוא את התוכן מימין לשמאל?",
|
||||
|
@ -47,13 +49,13 @@
|
|||
"pad.importExport.import": "העלאת כל קובץ טקסט או מסמך",
|
||||
"pad.importExport.importSuccessful": "זה עבד!",
|
||||
"pad.importExport.export": "ייצוא הפנקס הנוכחי בתור:",
|
||||
"pad.importExport.exportetherpad": "את'רפד",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "טקסט רגיל",
|
||||
"pad.importExport.exportword": "מיקרוסופט וורד",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "באפשרותך לייבא מטקסט פשוט או מ־HTML. לאפשרויות ייבוא מתקדמות יותר יש \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Eלהתקין את abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "באפשרותך לייבא מטקסט פשוט או מ־HTML. לאפשרויות ייבוא מתקדמות יותר יש <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">להתקין את abiword</a>.",
|
||||
"pad.modals.connected": "מחובר.",
|
||||
"pad.modals.reconnecting": "מתבצע חיבור מחדש...",
|
||||
"pad.modals.forcereconnect": "לכפות חיבור מחדש",
|
||||
|
@ -108,6 +110,7 @@
|
|||
"timeslider.month.december": "דצמבר",
|
||||
"timeslider.unnamedauthors": "{[plural(num) one: יוצר אחד, other: {{num}} יוצרים ]} ללא שם",
|
||||
"pad.savedrevs.marked": "גרסה זו מסומנת כגרסה שמורה",
|
||||
"pad.savedrevs.timeslider": "אפשר להציג גרסאות שמורות באמצעות ביקור בגולל הזמן",
|
||||
"pad.userlist.entername": "נא להזין את שמך",
|
||||
"pad.userlist.unnamed": "ללא שם",
|
||||
"pad.userlist.guest": "אורח",
|
||||
|
@ -118,6 +121,7 @@
|
|||
"pad.impexp.importing": "ייבוא...",
|
||||
"pad.impexp.confirmimport": "ייבוא של קובץ יבטל את הטקסט הנוכחי בפנקס. האם ברצונך להמשיך?",
|
||||
"pad.impexp.convertFailed": "לא הצלחנו לייבא את הקובץ הזה. נא להשתמש בתסדיר מסמך שונה או להעתיק ולהדביק ידנית",
|
||||
"pad.impexp.padHasData": "לא הצלחנו לייבא את הקובץ הזה, כי בפנקס הזה כבר יש שינויים. נא לייבא לפנקס חדש.",
|
||||
"pad.impexp.uploadFailed": "ההעלאה נכשלה, נא לנסות שוב",
|
||||
"pad.impexp.importfailed": "הייבוא נכשל",
|
||||
"pad.impexp.copypaste": "נא להעתיק ולהדביק",
|
||||
|
|
121
sources/src/locales/hrx.json
Executable file
121
sources/src/locales/hrx.json
Executable file
|
@ -0,0 +1,121 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Paul Beppler"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Neies Pad",
|
||||
"index.createOpenPad": "Pad mit follichendem Noome uffmache:",
|
||||
"pad.toolbar.bold.title": "Fett (Strg-B)",
|
||||
"pad.toolbar.italic.title": "Kursiv (Strg-I)",
|
||||
"pad.toolbar.underline.title": "Unnerstrich (Strg-U)",
|
||||
"pad.toolbar.strikethrough.title": "Dorrichgestrich",
|
||||
"pad.toolbar.ol.title": "Nummerierte List",
|
||||
"pad.toolbar.ul.title": "Ungeordnete List",
|
||||
"pad.toolbar.indent.title": "Einrück (TAB)",
|
||||
"pad.toolbar.unindent.title": "Ausrück (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Rückgängich (Strg-Z)",
|
||||
"pad.toolbar.redo.title": "Wiederhole (Strg-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Autorefarbe zurücksetze",
|
||||
"pad.toolbar.import_export.title": "Import/Export von/zu verschiedne Dateiformate",
|
||||
"pad.toolbar.timeslider.title": "Pad-Versionsgeschicht oonzeiche",
|
||||
"pad.toolbar.savedRevision.title": "Version markiere",
|
||||
"pad.toolbar.settings.title": "Einstellunge",
|
||||
"pad.toolbar.embed.title": "Pad teile orrer inbette",
|
||||
"pad.toolbar.showusers.title": "Aktuell verbundne Benutzer oonzeiche",
|
||||
"pad.colorpicker.save": "Speichre",
|
||||
"pad.colorpicker.cancel": "Abbreche",
|
||||
"pad.loading": "Loode …",
|
||||
"pad.passwordRequired": "Sie benötiche en Passwort, um uff das Pad zuzugreife",
|
||||
"pad.permissionDenied": "Du host ken Berechtichung, um uff das Pad zuzugreif",
|
||||
"pad.wrongPassword": "Dein Passwort woor falsch",
|
||||
"pad.settings.padSettings": "Pad Einstellunge",
|
||||
"pad.settings.myView": "Eichne Oonsicht",
|
||||
"pad.settings.stickychat": "Chat immer oonzeiche",
|
||||
"pad.settings.colorcheck": "Autorenfarbe oonzeiche",
|
||||
"pad.settings.linenocheck": "Zeilenummer",
|
||||
"pad.settings.rtlcheck": "Inhalt von rechts bis links lese?",
|
||||
"pad.settings.fontType": "Schriftoort:",
|
||||
"pad.settings.fontType.normal": "Normal",
|
||||
"pad.settings.fontType.monospaced": "Monospace",
|
||||
"pad.settings.globalView": "Gemeinsame Oonsicht",
|
||||
"pad.settings.language": "Sproch:",
|
||||
"pad.importExport.import_export": "Import/Export",
|
||||
"pad.importExport.import": "Text-Datei orrer Dokument hochloode",
|
||||
"pad.importExport.importSuccessful": "Erfollichreich!",
|
||||
"pad.importExport.export": "Aktuelles Pad exportiere wie:",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Textdatei",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.abiword.innerHTML": "Sie können nur aus Klartext oder HTML-Formaten importieren. Für mehr erweiterte Importfunktionen <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installieren Sie bitte abiword</a>.",
|
||||
"pad.modals.connected": "Verbünd (konnektiert).",
|
||||
"pad.modals.reconnecting": "Wiederherstelle von der Verbinnung …",
|
||||
"pad.modals.forcereconnect": "Erneit Verbinne",
|
||||
"pad.modals.userdup": "In enem andren Fenster schon uff (geöffnet)",
|
||||
"pad.modals.userdup.explanation": "Das Pad scheint in meahr wie enem Browser-Fenster uff dem Komputadoar uff sin (geöffnet zu sein).",
|
||||
"pad.modals.userdup.advice": "Um das Fenster se benutze, verbinn bittschön wieder erneit.",
|
||||
"pad.modals.unauth": "Net authorisiert.",
|
||||
"pad.modals.unauth.explanation": "Dein Zugriffsberechtichung für das Pad hot sich zwischichzeitlich geännert. Du kannst versuche das Pad wieder erneit uffserufe.",
|
||||
"pad.modals.looping.explanation": "Es gebt Probleme bei der Kommunikation mit dem Pad-Server.",
|
||||
"pad.modals.looping.cause": "Möchlicherweis bist dorrich en inkompatible Firewall orrer üwer en inkompatible Proxy mit dem Pad-Server verbünd (konnektiert).",
|
||||
"pad.modals.initsocketfail": "Pad-Server net erreichbar.",
|
||||
"pad.modals.initsocketfail.explanation": "Do konnt ken Verbinnung zum Pad-Server heargestellt sin.",
|
||||
"pad.modals.initsocketfail.cause": "Dies könnt an deinem Browser orrer dein Internet-Verbinnung leihe.",
|
||||
"pad.modals.slowcommit.explanation": "Der Pad-Server reagiert net.",
|
||||
"pad.modals.slowcommit.cause": "Das könnt en Netzwerkverbinnungsproblem sin orrer en momentane Üwerlaschtung von der Pad-Server.",
|
||||
"pad.modals.badChangeset.explanation": "En von dein gemachte Ännrung woard vom Pad-Server wie ungültich ingeschtuft (klassifiziert).",
|
||||
"pad.modals.badChangeset.cause": "Das könnt uffgrund von en falsche Serverkonfiguration orrer en annre unerwoortete Verhalt passiert sin. Bittschön kontaktier den Diensteadministratoar, falls du gloobst, dass das sich um en Fehler handelt. Versuch dich wieder erneit se verbinne, um mit dem Beoorbeite fortzufoohre.",
|
||||
"pad.modals.corruptPad.explanation": "Das Pad, uff das du zugreife willst, ist beschädicht.",
|
||||
"pad.modals.corruptPad.cause": "Das könnt an en falsche Serverkonfiguration orrer en annre unerwoortete Verhalten liehn. Bittschön kontaktier den Diensteadministratoar.",
|
||||
"pad.modals.deleted": "Abgewischt.",
|
||||
"pad.modals.deleted.explanation": "Das Pad woard entfernt.",
|
||||
"pad.modals.disconnected": "Verbinnung unnerbroch (du bist jetzt deskonnektiert).",
|
||||
"pad.modals.disconnected.explanation": "Die Verbinnung (konnektion) zu dem Pad-Server woard unnerbroch.",
|
||||
"pad.modals.disconnected.cause": "Möchlicherweis ist der Pad-Server net erreichbar. Bittschön benachrichtig den Dienstadministratoar, falls das weiterhin passiere tut.",
|
||||
"pad.share": "Das Pad teile",
|
||||
"pad.share.readonly": "Ingeschränkter Nur-Lese-Zugriff",
|
||||
"pad.share.link": "Link",
|
||||
"pad.share.emebdcode": "In Webseite einbette",
|
||||
"pad.chat": "Chat",
|
||||
"pad.chat.title": "Den Chat von dem Pad uffmache",
|
||||
"pad.chat.loadmessages": "Weitre Nachrichte loode",
|
||||
"timeslider.pageTitle": "{{appTitle}} Pad-Versionsgeschicht",
|
||||
"timeslider.toolbar.returnbutton": "Zurück zum Pad",
|
||||
"timeslider.toolbar.authors": "Autore:",
|
||||
"timeslider.toolbar.authorsList": "ken Autore",
|
||||
"timeslider.toolbar.exportlink.title": "Die Version exportiere",
|
||||
"timeslider.exportCurrent": "Exportier die Version wie:",
|
||||
"timeslider.version": "Version {{version}}",
|
||||
"timeslider.saved": "Gespeichert am {{day}}.{{month}}.{{year}}",
|
||||
"timeslider.dateformat": "{{day}}.{{month}}.{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "Januar",
|
||||
"timeslider.month.february": "Februar",
|
||||
"timeslider.month.march": "März",
|
||||
"timeslider.month.april": "April",
|
||||
"timeslider.month.may": "Mai",
|
||||
"timeslider.month.june": "Juni",
|
||||
"timeslider.month.july": "Juli",
|
||||
"timeslider.month.august": "August",
|
||||
"timeslider.month.september": "September",
|
||||
"timeslider.month.october": "Oktober",
|
||||
"timeslider.month.november": "November",
|
||||
"timeslider.month.december": "Dezember",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: unbenannter Autoar, other: unbenannte Autore ]}",
|
||||
"pad.savedrevs.marked": "Die Version woard jetzt wie gespeicherte Version gekennzeichnet",
|
||||
"pad.userlist.entername": "Tue en Noome ren gebe",
|
||||
"pad.userlist.unnamed": "unbenannt",
|
||||
"pad.userlist.guest": "Gast",
|
||||
"pad.userlist.deny": "Verweihe (negiere)",
|
||||
"pad.userlist.approve": "Genehmiche (approviere)",
|
||||
"pad.editbar.clearcolors": "Autorefarbe im gesamte Dokument zurücksetze?",
|
||||
"pad.impexp.importbutton": "Jetzt importiere",
|
||||
"pad.impexp.importing": "Importiere …",
|
||||
"pad.impexp.confirmimport": "Das Importiere von en Datei üwerschreibt den aktuelle Text von dem Pad. Willst du weerklich fortfoohre?",
|
||||
"pad.impexp.convertFailed": "Mir könne die Datei net importiere. Bittschön verwenn en anner Dokumentformat orrer üwertrooh den Text manuell.",
|
||||
"pad.impexp.uploadFailed": "Der Upload ist fehlgeschloohn (das hot net funktioniert). Bittschön versuch das wieder erneit.",
|
||||
"pad.impexp.importfailed": "Import fehlgeschloohn (das hot net funktioniert)",
|
||||
"pad.impexp.copypaste": "Bittschön tue kopiere und einfüche (oonklebe)",
|
||||
"pad.impexp.exportdisabled": "Der Export im {{type}}-Format ist deaktiviert. Für Einzelheite (Detalhes) tue bittschön dein Systemadministratoar kontaktiere."
|
||||
}
|
16
sources/src/locales/hsb.json
Normal file → Executable file
16
sources/src/locales/hsb.json
Normal file → Executable file
|
@ -9,14 +9,14 @@
|
|||
"pad.toolbar.bold.title": "Tučny (Strg-B)",
|
||||
"pad.toolbar.italic.title": "Kursiwny (Strg-I)",
|
||||
"pad.toolbar.underline.title": "Podšmórnyć (Strg-U)",
|
||||
"pad.toolbar.strikethrough.title": "Přešmórnyć",
|
||||
"pad.toolbar.ol.title": "Čisłowana lisćina",
|
||||
"pad.toolbar.ul.title": "Naličenje",
|
||||
"pad.toolbar.strikethrough.title": "Přešmórnyć (Strg+5)",
|
||||
"pad.toolbar.ol.title": "Čisłowana lisćina (Strg+Umsch+N)",
|
||||
"pad.toolbar.ul.title": "Naličenje (Strg+Umsch+L)",
|
||||
"pad.toolbar.indent.title": "Zasunyć (TAB)",
|
||||
"pad.toolbar.unindent.title": "Wusunyć (Umsch+TAB)",
|
||||
"pad.toolbar.undo.title": "Cofnyć (Strg-Z)",
|
||||
"pad.toolbar.redo.title": "Wospjetować (Strg-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Awtorowe barby wotstronić",
|
||||
"pad.toolbar.clearAuthorship.title": "Awtorowe barby wotstronić (Strg+Umsch+C)",
|
||||
"pad.toolbar.import_export.title": "Import/Eksport z/do druhich datajowych formatow",
|
||||
"pad.toolbar.timeslider.title": "Historijowa strona",
|
||||
"pad.toolbar.savedRevision.title": "Wersiju składować",
|
||||
|
@ -26,12 +26,14 @@
|
|||
"pad.colorpicker.save": "Składować",
|
||||
"pad.colorpicker.cancel": "Přetorhnyć",
|
||||
"pad.loading": "Začituje so...",
|
||||
"pad.noCookie": "Plack njeje so namakał. Prošu dopušćće placki w swojim wobhladowaku!",
|
||||
"pad.passwordRequired": "Trjebaš hesło, zo by na tutón zapisnik přistup měł",
|
||||
"pad.permissionDenied": "Nimaće prawo za přistup na tutón zapisnik.",
|
||||
"pad.wrongPassword": "Twoje hesło bě wopak",
|
||||
"pad.settings.padSettings": "Nastajenja zapisnika",
|
||||
"pad.settings.myView": "Mój napohlad",
|
||||
"pad.settings.stickychat": "Chat přeco na wobrazowce pokazać",
|
||||
"pad.settings.chatandusers": "Chat a wužiwarjow pokazać",
|
||||
"pad.settings.colorcheck": "Awtorowe barby",
|
||||
"pad.settings.linenocheck": "Linkowe čisła",
|
||||
"pad.settings.rtlcheck": "Wobsah wotprawa nalěwo čitać?",
|
||||
|
@ -44,13 +46,13 @@
|
|||
"pad.importExport.import": "Tekstowu dataju abo dokument nahrać",
|
||||
"pad.importExport.importSuccessful": "Wuspěšny!",
|
||||
"pad.importExport.export": "Aktualny zapisnik eksportować jako:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Luty tekst",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Móžeš jenož z formatow luteho teksta abo z HTML-formata importować. Za bóle rozšěrjene importowanske funkcije \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstaluj prošu Abiword\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Móžeš jenož z formatow luteho teksta abo z HTML-formata importować. Za bóle rozšěrjene importowanske funkcije <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">instaluj prošu Abiword</a>.",
|
||||
"pad.modals.connected": "Zwjazany.",
|
||||
"pad.modals.reconnecting": "Zwjazuje so znowa z twojim zapisnikom...",
|
||||
"pad.modals.forcereconnect": "Znowa zwjazać",
|
||||
|
@ -105,6 +107,7 @@
|
|||
"timeslider.month.december": "decembra",
|
||||
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: awtor, two: awtoraj, few: awtorojo, other: awtorow ]} bjez mjena",
|
||||
"pad.savedrevs.marked": "Tuta wersija je so nětko jako składowana wersija woznamjeniła",
|
||||
"pad.savedrevs.timeslider": "Móžeš sej składowane wersije wobhladować, wopytujo historiju dokumenta.",
|
||||
"pad.userlist.entername": "Zapodaj swoje mjeno",
|
||||
"pad.userlist.unnamed": "bjez mjena",
|
||||
"pad.userlist.guest": "Hósć",
|
||||
|
@ -115,6 +118,7 @@
|
|||
"pad.impexp.importing": "Importuje so...",
|
||||
"pad.impexp.confirmimport": "Importowanje dataje přepisa aktualny tekst zapisnika. Chceš woprawdźe pokročować?",
|
||||
"pad.impexp.convertFailed": "Njemóžachmy tutu dataju importować. Prošu wužij druhi dokumentowy format abo kopěruj manuelnje",
|
||||
"pad.impexp.padHasData": "Njemóžachmy tutu dataju importować, dokelž tutón dokument hižo změny wobsahuje, prošu importuj nowy dokument.",
|
||||
"pad.impexp.uploadFailed": "Nahraće njeje so poradźiło, prošu spytaj hišće raz",
|
||||
"pad.impexp.importfailed": "Import njeje so poradźiło",
|
||||
"pad.impexp.copypaste": "Prošu kopěrować a zasadźić",
|
||||
|
|
48
sources/src/locales/hu.json
Normal file → Executable file
48
sources/src/locales/hu.json
Normal file → Executable file
|
@ -4,39 +4,43 @@
|
|||
"Dj",
|
||||
"Misibacsi",
|
||||
"R-Joe",
|
||||
"Tgr"
|
||||
"Tgr",
|
||||
"Csega"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Új notesz",
|
||||
"index.createOpenPad": "vagy notesz létrehozása ezen a néven:",
|
||||
"index.createOpenPad": "vagy notesz létrehozása/megnyitása ezzel a névvel:",
|
||||
"pad.toolbar.bold.title": "Félkövér (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Dőlt (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Aláhúzás (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Áthúzás",
|
||||
"pad.toolbar.ol.title": "Számozott lista",
|
||||
"pad.toolbar.ul.title": "Számozatlan lista",
|
||||
"pad.toolbar.strikethrough.title": "Áthúzás (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Számozott lista (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Számozatlan lista (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Behúzás növelése (TAB)",
|
||||
"pad.toolbar.unindent.title": "Behúzás csökkentése (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Vissza (Ctrl-Z)",
|
||||
"pad.toolbar.undo.title": "Visszavonás (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Újra (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Szerzők színezésének kikapcsolása",
|
||||
"pad.toolbar.clearAuthorship.title": "Szerzők színezésének kikapcsolása (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importálás/exportálás különböző fájlformátumokból/ba",
|
||||
"pad.toolbar.timeslider.title": "Időcsúszka",
|
||||
"pad.toolbar.savedRevision.title": "Mentett állapotok",
|
||||
"pad.toolbar.savedRevision.title": "Revízió mentése",
|
||||
"pad.toolbar.settings.title": "Beállítások",
|
||||
"pad.toolbar.embed.title": "Notesz beágyazása",
|
||||
"pad.toolbar.embed.title": "Notesz beágyazása és megosztása",
|
||||
"pad.toolbar.showusers.title": "Notesz felhasználóinak megmutatása",
|
||||
"pad.colorpicker.save": "Mentés",
|
||||
"pad.colorpicker.cancel": "Mégsem",
|
||||
"pad.loading": "Betöltés…",
|
||||
"pad.noCookie": "Nem található a süti. Engedélyezd a böngésződben a sütik használatát!",
|
||||
"pad.passwordRequired": "Jelszóra van szükséged ezen notesz eléréséhez",
|
||||
"pad.permissionDenied": "Nincs engedélyed ezen notesz eléréséhez",
|
||||
"pad.wrongPassword": "A jelszó rossz volt",
|
||||
"pad.settings.padSettings": "Notesz beállításai",
|
||||
"pad.settings.myView": "Az én nézetem",
|
||||
"pad.settings.stickychat": "Mindig mutasd a csevegés-dobozt",
|
||||
"pad.settings.chatandusers": "Csevegés és felhasználók mutatása",
|
||||
"pad.settings.colorcheck": "Szerzők színei",
|
||||
"pad.settings.linenocheck": "Sorok számozása",
|
||||
"pad.settings.rtlcheck": "Tartalom olvasása balról jobbra?",
|
||||
"pad.settings.fontType": "Betűtípus:",
|
||||
"pad.settings.fontType.normal": "Szokásos",
|
||||
"pad.settings.fontType.monospaced": "Írógépes",
|
||||
|
@ -46,19 +50,21 @@
|
|||
"pad.importExport.import": "Tetszőleges szövegfájl vagy dokumentum feltöltése",
|
||||
"pad.importExport.importSuccessful": "Siker!",
|
||||
"pad.importExport.export": "Jelenlegi notesz exportálása így:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Sima szöveg",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document formátum)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Csak szöveges, vagy HTML formátumokból importálhatsz. A speciális importálási funkciókért kérjük <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">telepítsd az abiword-öt</a>.",
|
||||
"pad.modals.connected": "Kapcsolódva.",
|
||||
"pad.modals.reconnecting": "Újrakapcsolódás a noteszhez...",
|
||||
"pad.modals.forcereconnect": "Újrakapcsolódás kényszerítése",
|
||||
"pad.modals.userdup": "Új ablakban megnyitva",
|
||||
"pad.modals.userdup.explanation": "Úgy tűnik, ez a notesz több különböző böngészőablakban is meg van nyitva a számítógépeden.",
|
||||
"pad.modals.userdup.advice": "Kapcsolódj újra, ha ezt az ablakot akarod használni.",
|
||||
"pad.modals.unauth": "Nincs rá jogosultságod",
|
||||
"pad.modals.unauth.explanation": "A jogosultságaid változtak, miközben nézted ezt az oldalt. Próbálj újrakapcsolódni.",
|
||||
"pad.modals.unauth.explanation": "A jogosultságaid megváltoztak, miközben ezt az oldalt nézted. Próbálj meg újrakapcsolódni.",
|
||||
"pad.modals.looping.explanation": "Nem sikerült a kommunikáció a szinkronizációs szerverrel.",
|
||||
"pad.modals.looping.cause": "Talán egy túl szigorú tűzfalon vagy proxyn keresztül kapcsolódtál az internetre.",
|
||||
"pad.modals.initsocketfail": "A szerver nem érhető el.",
|
||||
|
@ -66,21 +72,27 @@
|
|||
"pad.modals.initsocketfail.cause": "Valószínűleg a böngésződdel vagy az internetkapcsolatoddal van probléma.",
|
||||
"pad.modals.slowcommit.explanation": "A szerver nem válaszol.",
|
||||
"pad.modals.slowcommit.cause": "Valószínűleg az internetkapcsolattal van probléma.",
|
||||
"pad.modals.badChangeset.explanation": "Szerkesztéseded a szinkronizációs szerver illegálisnak sorolta be.",
|
||||
"pad.modals.badChangeset.cause": "Ennek oka lehet egy rossz szerver konfiguráció, vagy más váratlan viselkedés. Ha úgy érzi, ez hiba eredménye, lépjen kapcsolatba a szolgáltatás adminisztrátorával. Próbáljon meg újrakapcsolódni a szerkesztés folytatásához.",
|
||||
"pad.modals.corruptPad.explanation": "A notesz, amit megpróbálsz elérni, sérült.",
|
||||
"pad.modals.corruptPad.cause": "Ennek oka lehet egy rossz szerver konfiguráció, vagy más váratlan viselkedés. Kérjük, lépj kapcsolatba a szolgáltatás adminisztrátorával.",
|
||||
"pad.modals.deleted": "Törölve.",
|
||||
"pad.modals.deleted.explanation": "Ez a notesz el lett távolítva.",
|
||||
"pad.modals.disconnected": "Kapcsolat bontva.",
|
||||
"pad.modals.disconnected.explanation": "A szerverrel való kapcsolat megszűnt.",
|
||||
"pad.modals.disconnected.cause": "Lehet, hogy a szerver nem elérhető. Kérlek, értesíts minket, ha a probléma tartósan fennáll.",
|
||||
"pad.modals.disconnected.explanation": "A szerverrel való kapcsolat megszűnt",
|
||||
"pad.modals.disconnected.cause": "Lehet, hogy a szerver nem elérhető. Kérlek, értesítsd a szolgáltatás adminisztrátorát, ha a probléma tartósan fennáll.",
|
||||
"pad.share": "Notesz megosztása",
|
||||
"pad.share.readonly": "Csak olvasható",
|
||||
"pad.share.link": "Hivatkozás",
|
||||
"pad.share.emebdcode": "URL beágyazása",
|
||||
"pad.chat": "Csevegés",
|
||||
"pad.chat.title": "A noteszhez tartozó csevegés megnyitása.",
|
||||
"pad.chat.loadmessages": "További üzenetek betöltése",
|
||||
"timeslider.pageTitle": "{{appTitle}} időcsúszka",
|
||||
"timeslider.toolbar.returnbutton": "Vissza a noteszhez",
|
||||
"timeslider.toolbar.authors": "Szerzők:",
|
||||
"timeslider.toolbar.authorsList": "Nincsenek szerzők",
|
||||
"timeslider.toolbar.exportlink.title": "Exportálás",
|
||||
"timeslider.exportCurrent": "Jelenlegi változat exportálása így:",
|
||||
"timeslider.version": "{{version}} verzió",
|
||||
"timeslider.saved": "{{year}}. {{month}} {{day}}-n elmentve",
|
||||
|
@ -97,13 +109,21 @@
|
|||
"timeslider.month.october": "október",
|
||||
"timeslider.month.november": "november",
|
||||
"timeslider.month.december": "december",
|
||||
"timeslider.unnamedauthors": "{{num}} névtelen {[plural(num), one: szerző, other: szerző]}",
|
||||
"pad.savedrevs.marked": "Ez a revízió mostantól mentettként jelölve",
|
||||
"pad.userlist.entername": "Add meg a nevedet",
|
||||
"pad.userlist.unnamed": "névtelen",
|
||||
"pad.userlist.guest": "Vendég",
|
||||
"pad.userlist.deny": "Megtagad",
|
||||
"pad.userlist.approve": "Jóváhagy",
|
||||
"pad.editbar.clearcolors": "A szerzőséget jelző színeket törlöd a teljes dokumentumból?",
|
||||
"pad.impexp.importbutton": "Importálás most",
|
||||
"pad.impexp.importing": "Importálás…",
|
||||
"pad.impexp.confirmimport": "Egy fájl importálása felülírja a jelenlegi szöveget a noteszben. Biztos hogy folytatod?",
|
||||
"pad.impexp.convertFailed": "Nem tudtuk importálni ezt a fájlt. Kérjük, használj másik dokumentum formátumot, vagy kézzel másold és illeszd be a tartalmat",
|
||||
"pad.impexp.padHasData": "Nem tudjuk importálni ezt a fájlt, mert ez a Pad már megváltozott, kérjük, importálj egy új padra",
|
||||
"pad.impexp.uploadFailed": "A feltöltés sikertelen, próbáld meg újra",
|
||||
"pad.impexp.importfailed": "Az importálás nem sikerült"
|
||||
"pad.impexp.importfailed": "Az importálás nem sikerült",
|
||||
"pad.impexp.copypaste": "Kérjük másold be",
|
||||
"pad.impexp.exportdisabled": "{{type}} formátumba az exportálás nem engedélyezett. Kérjük, a részletekért fordulj a rendszeradminisztrátorhoz."
|
||||
}
|
18
sources/src/locales/ia.json
Normal file → Executable file
18
sources/src/locales/ia.json
Normal file → Executable file
|
@ -9,14 +9,14 @@
|
|||
"pad.toolbar.bold.title": "Grasse (Ctrl-B)",
|
||||
"pad.toolbar.italic.title": "Italic (Ctrl-I)",
|
||||
"pad.toolbar.underline.title": "Sublinear (Ctrl-U)",
|
||||
"pad.toolbar.strikethrough.title": "Cancellar",
|
||||
"pad.toolbar.ol.title": "Lista ordinate",
|
||||
"pad.toolbar.ul.title": "Lista non ordinate",
|
||||
"pad.toolbar.indent.title": "Indentar",
|
||||
"pad.toolbar.unindent.title": "Disindentar",
|
||||
"pad.toolbar.strikethrough.title": "Cancellar (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Lista ordinate (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Lista non ordinate (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Indentar (TAB)",
|
||||
"pad.toolbar.unindent.title": "Disindentar (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Disfacer (Ctrl-Z)",
|
||||
"pad.toolbar.redo.title": "Refacer (Ctrl-Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Rader colores de autor",
|
||||
"pad.toolbar.clearAuthorship.title": "Rader colores de autor (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Importar/exportar in differente formatos de file",
|
||||
"pad.toolbar.timeslider.title": "Glissa-tempore",
|
||||
"pad.toolbar.savedRevision.title": "Version salveguardate",
|
||||
|
@ -26,6 +26,7 @@
|
|||
"pad.colorpicker.save": "Salveguardar",
|
||||
"pad.colorpicker.cancel": "Cancellar",
|
||||
"pad.loading": "Cargamento…",
|
||||
"pad.noCookie": "Le cookie non pote esser trovate. Per favor permitte le cookies in tu navigator!",
|
||||
"pad.passwordRequired": "Un contrasigno es necessari pro acceder a iste pad",
|
||||
"pad.permissionDenied": "Tu non ha le permission de acceder a iste pad",
|
||||
"pad.wrongPassword": "Le contrasigno es incorrecte",
|
||||
|
@ -44,13 +45,13 @@
|
|||
"pad.importExport.import": "Incargar qualcunque file de texto o documento",
|
||||
"pad.importExport.importSuccessful": "Succedite!",
|
||||
"pad.importExport.export": "Exportar le pad actual como:",
|
||||
"pad.importExport.exportetherpad": "Etherpad",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Texto simple",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.importExport.abiword.innerHTML": "Tu pote solmente importar files in formato de texto simple o HTML. Pro functionalitate de importation plus extense, \u003Ca href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\"\u003Einstalla AbiWord\u003C/a\u003E.",
|
||||
"pad.importExport.abiword.innerHTML": "Tu pote solmente importar files in formato de texto simple o HTML. Pro functionalitate de importation plus extense, <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">installa AbiWord</a>.",
|
||||
"pad.modals.connected": "Connectite.",
|
||||
"pad.modals.reconnecting": "Reconnecte a tu pad…",
|
||||
"pad.modals.forcereconnect": "Fortiar reconnexion",
|
||||
|
@ -115,6 +116,7 @@
|
|||
"pad.impexp.importing": "Importation in curso…",
|
||||
"pad.impexp.confirmimport": "Le importation de un file superscribera le texto actual del pad. Es tu secur de voler continuar?",
|
||||
"pad.impexp.convertFailed": "Nos non ha potite importar iste file. Per favor usa un altere formato de documento o copia e colla le texto manualmente.",
|
||||
"pad.impexp.padHasData": "Nos non ha potite importar iste file perque iste Pad ha jam habite cambiamentos. Per favor importa lo a un nove pad.",
|
||||
"pad.impexp.uploadFailed": "Le incargamento ha fallite. Per favor reproba.",
|
||||
"pad.impexp.importfailed": "Importation fallite",
|
||||
"pad.impexp.copypaste": "Per favor copia e colla",
|
||||
|
|
126
sources/src/locales/is.json
Executable file
126
sources/src/locales/is.json
Executable file
|
@ -0,0 +1,126 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Sveinn í Felli"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Ný skrifblokk",
|
||||
"index.createOpenPad": "eða búa til/opna skrifblokk með heitinu:",
|
||||
"pad.toolbar.bold.title": "Feitletrað (Ctrl+B)",
|
||||
"pad.toolbar.italic.title": "Skáletrað (Ctrl+I)",
|
||||
"pad.toolbar.underline.title": "Undirstrikað (Ctrl+U)",
|
||||
"pad.toolbar.strikethrough.title": "Yfirstrikun (Ctrl+5)",
|
||||
"pad.toolbar.ol.title": "Raðaður listi (Ctrl+Shift+N)",
|
||||
"pad.toolbar.ul.title": "Óraðaður listi (Ctrl+Shift+L)",
|
||||
"pad.toolbar.indent.title": "Inndráttur (TAB)",
|
||||
"pad.toolbar.unindent.title": "Draga til baka (Shift+TAB)",
|
||||
"pad.toolbar.undo.title": "Afturkalla (Ctrl+Z)",
|
||||
"pad.toolbar.redo.title": "Endurtaka (Ctrl+Y)",
|
||||
"pad.toolbar.clearAuthorship.title": "Hreinsa liti höfunda (Ctrl+Shift+C)",
|
||||
"pad.toolbar.import_export.title": "Flytja inn/út frá/í önnur skráasnið",
|
||||
"pad.toolbar.timeslider.title": "Tímalína",
|
||||
"pad.toolbar.savedRevision.title": "Vista endurskoðaða útgáfu",
|
||||
"pad.toolbar.settings.title": "Stillingar",
|
||||
"pad.toolbar.embed.title": "Deila og ívefja þessari skrifblokk",
|
||||
"pad.toolbar.showusers.title": "Sýna notendur þessarar skrifblokkar",
|
||||
"pad.colorpicker.save": "Vista",
|
||||
"pad.colorpicker.cancel": "Hætta við",
|
||||
"pad.loading": "Hleð inn...",
|
||||
"pad.noCookie": "Smákaka fannst ekki. Þú verður að leyfa smákökur í vafranum þínum!",
|
||||
"pad.passwordRequired": "Þú þarft að gefa upp lykilorð til að komast á þessa skrifblokk",
|
||||
"pad.permissionDenied": "Þú hefur ekki réttindi til að nota þessa skrifblokk",
|
||||
"pad.wrongPassword": "Lykilorðinu þínu var hafnað",
|
||||
"pad.settings.padSettings": "Stillingar skrifblokkar",
|
||||
"pad.settings.myView": "Mitt yfirlit",
|
||||
"pad.settings.stickychat": "Spjall alltaf á skjánum",
|
||||
"pad.settings.chatandusers": "Sýna spjall og notendur",
|
||||
"pad.settings.colorcheck": "Litir höfunda",
|
||||
"pad.settings.linenocheck": "Línunúmer",
|
||||
"pad.settings.rtlcheck": "Lesa innihaldið frá hægri til vinstri?",
|
||||
"pad.settings.fontType": "Leturgerð:",
|
||||
"pad.settings.fontType.normal": "Venjulegt",
|
||||
"pad.settings.fontType.monospaced": "Jafnbreitt",
|
||||
"pad.settings.globalView": "Yfirlitssýn",
|
||||
"pad.settings.language": "Tungumál:",
|
||||
"pad.importExport.import_export": "Flytja inn/út",
|
||||
"pad.importExport.import": "Settu inn hverskyns texta eða skjal",
|
||||
"pad.importExport.importSuccessful": "Heppnaðist!",
|
||||
"pad.importExport.export": "Flytja út núverandi skrifblokk sem:",
|
||||
"pad.importExport.exportetherpad": "Etherpad netskrifblokk",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "Hreinn texti",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
"pad.importExport.exportpdf": "PDF",
|
||||
"pad.importExport.exportopen": "ODF (Open Document Format)",
|
||||
"pad.importExport.abiword.innerHTML": "Þú getur aðeins flutt inn úr hreinum texta eða HTML sniðum. Til að geta nýtt \nfleiri þróaðri innflutningssnið <a href=\"https://github.com/ether/etherpad-li\nte/wiki/How-to-e\nnable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-\nSLES-with-AbiWord\">settu þá upp abiword forritið</a>.",
|
||||
"pad.modals.connected": "Tengt.",
|
||||
"pad.modals.reconnecting": "Endurtengist skrifblokkinni þinni...",
|
||||
"pad.modals.forcereconnect": "Þvinga endurtengingu",
|
||||
"pad.modals.userdup": "Opnað í öðrum glugga",
|
||||
"pad.modals.userdup.explanation": "Þessi skrifblokk virðist vera opin í fleiri en einum vafraglugga á þessari tölvu.",
|
||||
"pad.modals.userdup.advice": "Endurtengdu til að nota þennan glugga í staðinn.",
|
||||
"pad.modals.unauth": "Ekki leyfilegt",
|
||||
"pad.modals.unauth.explanation": "Heimildir þínar hafa breyst á meðan þú skoðaðir þessa síðu. Reyndu að endurtengjast.",
|
||||
"pad.modals.looping.explanation": "Það eru samskiptavandamál við samstillingarmiðlarann.",
|
||||
"pad.modals.looping.cause": "Hugsanlega ertu tengdur í gegnum ósamhæfðan eldvegg eða milliþjón.",
|
||||
"pad.modals.initsocketfail": "Næ ekki sambandi við netþjón.",
|
||||
"pad.modals.initsocketfail.explanation": "Gat ekki tengst samstillingarmiðlaranum.",
|
||||
"pad.modals.initsocketfail.cause": "Þetta er líklega vegna vandamáls varðandi vafrann þinn eða internettenginguna þína.",
|
||||
"pad.modals.slowcommit.explanation": "Þjónninn svarar ekki.",
|
||||
"pad.modals.slowcommit.cause": "Þetta gæti verið vegna vandamála varðandi nettengingar.",
|
||||
"pad.modals.badChangeset.explanation": "Breyting sem þú gerðir var flokkuð sem óleyfileg af samstillingarmiðlaranum.",
|
||||
"pad.modals.badChangeset.cause": "Þetta gæti verið vegna rangrar uppsetningar á þjóninum eða annarar óvæntrar hegðunar. Hafðu samband við stjórnanda þjónustunnar ef þér sýnist þetta vera villa. Reyndu að endurtengjast til að halda áfram með breytingar.",
|
||||
"pad.modals.corruptPad.explanation": "Skrifblokkin sem þú ert að reyna að tengjast er skemmd.",
|
||||
"pad.modals.corruptPad.cause": "Þetta gæti verið vegna rangrar uppsetningar á þjóninum eða annarar óvæntrar hegðunar. Hafðu samband við stjórnanda þjónustunnar.",
|
||||
"pad.modals.deleted": "Eytt.",
|
||||
"pad.modals.deleted.explanation": "Þessi skrifblokk hefur verið fjarlægð.",
|
||||
"pad.modals.disconnected": "Þú hefur verið aftengd(ur).",
|
||||
"pad.modals.disconnected.explanation": "Missti tengingu við miðlara",
|
||||
"pad.modals.disconnected.cause": "Miðlarinn gæti verið ekki tiltækur. Láttu kerfisstjóra vita ef þetta heldur áfram að gerast.",
|
||||
"pad.share": "Deila þessari skrifblokk",
|
||||
"pad.share.readonly": "Skrifvarið",
|
||||
"pad.share.link": "Tengill",
|
||||
"pad.share.emebdcode": "Ívefja slóð",
|
||||
"pad.chat": "Spjall",
|
||||
"pad.chat.title": "Opna spjallið fyrir þessa skrifblokk.",
|
||||
"pad.chat.loadmessages": "Hlaða inn fleiri skeytum",
|
||||
"timeslider.pageTitle": "Tímalína {{appTitle}}",
|
||||
"timeslider.toolbar.returnbutton": "Fara til baka í skrifblokk",
|
||||
"timeslider.toolbar.authors": "Höfundar:",
|
||||
"timeslider.toolbar.authorsList": "Engir höfundar",
|
||||
"timeslider.toolbar.exportlink.title": "Flytja út",
|
||||
"timeslider.exportCurrent": "Flytja út núverandi útgáfu sem:",
|
||||
"timeslider.version": "Útgáfa {{version}}",
|
||||
"timeslider.saved": "Vistað {{day}}. {{month}}, {{year}}",
|
||||
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "Janúar",
|
||||
"timeslider.month.february": "febrúar",
|
||||
"timeslider.month.march": "mars",
|
||||
"timeslider.month.april": "apríl",
|
||||
"timeslider.month.may": "maí",
|
||||
"timeslider.month.june": "júní",
|
||||
"timeslider.month.july": "Júlí",
|
||||
"timeslider.month.august": "ágúst",
|
||||
"timeslider.month.september": "september",
|
||||
"timeslider.month.october": "október",
|
||||
"timeslider.month.november": "nóvember",
|
||||
"timeslider.month.december": "desember",
|
||||
"timeslider.unnamedauthors": "{{num}} ónefnt {[plural(num) one: höfundur, other: höfundar ]}",
|
||||
"pad.savedrevs.marked": "Þessi útgáfa er núna merkt sem vistuð útgáfa",
|
||||
"pad.savedrevs.timeslider": "Þú getur skoðað vistaðar útgáfur með því að fara á tímalínuna",
|
||||
"pad.userlist.entername": "Settu inn nafnið þitt",
|
||||
"pad.userlist.unnamed": "ónefnt",
|
||||
"pad.userlist.guest": "Gestur",
|
||||
"pad.userlist.deny": "Hafna",
|
||||
"pad.userlist.approve": "Samþykkja",
|
||||
"pad.editbar.clearcolors": "Hreinsa liti höfunda á öllu skjalinu?",
|
||||
"pad.impexp.importbutton": "Flytja inn núna",
|
||||
"pad.impexp.importing": "Flyt inn...",
|
||||
"pad.impexp.confirmimport": "Innflutningur á skrá mun skrifa yfir þann texta sem er á skrifblokkinni núna. \nErtu viss um að þú viljir halda áfram?",
|
||||
"pad.impexp.convertFailed": "Við getum ekki flutt inn þessa skrá. Notaðu annað skráasnið eða afritaðu og \nlímdu handvirkt",
|
||||
"pad.impexp.padHasData": "Við getum ekki flutt inn þessa skrá því þegar er búið að breyta þessari skrifblokk, flyttu inn í nýja skrifblokk",
|
||||
"pad.impexp.uploadFailed": "Sending mistókst, endilega reyndu aftur",
|
||||
"pad.impexp.importfailed": "Innflutningur mistókst",
|
||||
"pad.impexp.copypaste": "Afritaðu og límdu",
|
||||
"pad.impexp.exportdisabled": "Útflutningur á {{type}} sniði er óvirkur. Hafðu samband við kerfisstjóra til að fá frekari aðstoð."
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue