Merge branch 'upstream/develop'

This commit is contained in:
goldquest 2013-09-04 15:30:37 +02:00
commit 842e09a7ad
76 changed files with 1411 additions and 403 deletions

View file

@ -4,14 +4,14 @@ node_js:
install:
- "bin/installDeps.sh"
- "export GIT_HASH=$(cat .git/HEAD | head -c 7)"
before_script:
before_script:
- "tests/frontend/travis/sauce_tunnel.sh"
script:
- "tests/frontend/travis/runner.sh"
env:
global:
- secure: "gVR70BdAh093qBS5P5+V5NzmCYnLFFeIZn3XdgTpgpGRm7UE8GP53TEobtPf\neqpEpbWRTsEbdf+QPisVWrBZcNPFU4I3nucIqdyVobIcQD0TbBQYudm0yLQd\n3Ocqck0BIx9Ni9hBklJupmKt89LDQxNvkEb+uJJqlQwo2RZd36U="
- SAUCE_USER=etherpad
- secure: "WMGxFkOeTTlhWB+ChMucRtIqVmMbwzYdNHuHQjKCcj8HBEPdZLfCuK/kf4rG\nVLcLQiIsyllqzNhBGVHG1nyqWr0/LTm8JRqSCDDVIhpyzp9KpCJQQJG2Uwjk\n6/HIJJh/wbxsEdLNV2crYU/EiVO3A4Bq0YTHUlbhUqG3mSCr5Ec="
- secure: "gejXUAHYscbR6Bodw35XexpToqWkv2ifeECsbeEmjaLkYzXmUUNWJGknKSu7\nEUsSfQV8w+hxApr1Z+jNqk9aX3K1I4btL3cwk2trnNI8XRAvu1c1Iv60eerI\nkE82Rsd5lwUaMEh+/HoL8ztFCZamVndoNgX7HWp5J/NRZZMmh4g="
jdk:
- oraclejdk6
notifications:

View file

@ -1,3 +1,16 @@
# 1.2.11
* NEW: New Hook for outer_ace dynamic css manager and author style hook
* NEW: Bump log4js for improved logging
* Fix: Remove URL schemes which don't have RFC standard
* Fix: Fix safeRun subsequent restarts issue
* Fix: Allow safeRun to pass arguements to run.sh
* Fix: Include script for more efficient import
* Fix: Fix sysv comptibile script
* Fix: Fix client side changeset spamming
* Fix: Don't crash on no-auth
* Fix: Fix some IE8 errors
* Fix: Fix authorship sanitation
# 1.2.10
* NEW: Broadcast slider is exposed in timeslider so plugins can interact with it
* Fix: IE issue where pads wouldn't load due to missing console from i18n

View file

@ -2,7 +2,7 @@
(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))
## Important note for pull requests
**Pull requests should issued against the develop branch**. We never pull directly into master.
**Pull requests should be issued against the develop branch**. We never pull directly into master.
**Our goal is to iterate in small steps. Release often, release early. Evolution instead of a revolution**
@ -63,3 +63,6 @@ The docs are in the `doc/` folder in the git repository, so people can easily fi
Documentation should be kept up-to-date. This means, whenever you add a new API method, add a new hook or change the database model, pack the relevant changes to the docs in the same pull request.
You can build the docs e.g. produce html, using `make docs`. At some point in the future we will provide an online documentation. The current documentation in the github wiki should always reflect the state of `master` (!), since there are no docs in master, yet.
## Testing
Front-end tests are found in the `tests/frontend/` folder in the repository. Run them by pointing your browser to `<yourdomainhere>/tests/frontend`.

View file

@ -1,4 +1,3 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@ -187,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2012 THE ETHERPAD FOUNDATION
Copyright 2013 THE ETHERPAD FOUNDATION
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View file

@ -15,8 +15,6 @@ There's also a full-featured plugin framework, allowing you to easily add your o
Finally, Etherpad comes with translations into most languages! Users are automatically delivered the correct language for their local settings.
**Visit [beta.etherpad.org](http://beta.etherpad.org) to test it live**
Also, check out the **[FAQ](https://github.com/ether/etherpad-lite/wiki/FAQ)**, really!
# Installation
@ -81,7 +79,7 @@ Documentation can be found in `docs/`.
# Development
## Things you should know
Read this [git guide](http://learn.github.com/p/intro.html) and watch this [video on getting started with Etherpad Development](http://youtu.be/67-Q26YH97E).
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).
If you're new to node.js, start with Ryan Dahl's [Introduction to Node.js](http://youtu.be/jo_B4LTHi3I).

View file

@ -32,6 +32,7 @@ if [ -z "${LOG}" ]; then
exit 1
fi
shift
while [ 1 ]
do
#try to touch the file if it doesn't exist
@ -46,7 +47,6 @@ do
fi
#start the application
shift
bin/run.sh $@ >>${LOG} 2>>${LOG}
#Send email

View file

@ -126,6 +126,7 @@ Called from: src/static/js/pad.js
Things in context:
1. ace - the ace object that is applied to this editor.
2. pad - the pad object of the current pad.
There doesn't appear to be any example available of this particular hook being used, but it gets fired after the editor is all set up.
@ -261,3 +262,18 @@ This hook is provided to allow whether a given line should be deliniated with mu
Multiple authors in one line cause the creation of magic span lines. This might not suit you and
now you can disable it and handle your own deliniation.
The return value should be either true(disable) or false.
## aceSetAuthorStyle
Called from: src/static/js/ace2_inner.js
Things in context:
1. dynamicCSS - css manger for inner ace
2. outerDynamicCSS - css manager for outer ace
3. parentDynamicCSS - css manager for parent document
4. info - author style info
5. author - author info
6. authorSelector - css selector for author span in inner ace
This hook is provided to allow author highlight style to be modified.
Registered hooks should return 1 if the plugin handles highlighting. If no plugin returns 1, the core will use the default background-based highlighting.

View file

@ -19,9 +19,9 @@ Translations will be send back to us regularly and will eventually appear in the
`/src/locales` contains files for all supported languages which contain the translated strings. Translation files are simple `*.json` files and look like this:
```json
{ "pad.modals.connected": "Connecté."
, "pad.modals.uderdup": "Ouvrir dans une nouvelle fenêtre."
, "pad.toolbar.unindent.title": "Désindenter"
{ "pad.modals.connected": "Connecté."
, "pad.modals.uderdup": "Ouvrir dans une nouvelle fenêtre."
, "pad.toolbar.unindent.title": "Dèsindenter"
, "pad.toolbar.undo.title": "Annuler (Ctrl-Z)"
, "timeslider.pageTitle": "{{appTitle}} Curseur temporel"
, ...
@ -50,7 +50,7 @@ to:
<option data-l10n-id="ep_heading.h1" value="0"></option>
```
In the javascript files of your plugin, chaneg all hardcoded messages/strings...
In the javascript files of your plugin, change all hardcoded messages/strings...
from:
```js
@ -75,7 +75,7 @@ alert(window._('pad.chat'));
*ep_your-plugin/locales/es.json*
```
{ "ep_your-plugin.h1": "Título 1"
{ "ep_your-plugin.h1": "Título 1"
}
```

View file

@ -5,6 +5,8 @@
"Tux-tn"
]
},
"index.newPad": "\u0628\u0627\u062f \u062c\u062f\u064a\u062f",
"index.createOpenPad": "\u0623\u0648 \u0635\u0646\u0639/\u0641\u062a\u062d \u0628\u0627\u062f \u0628\u0648\u0636\u0639 \u0625\u0633\u0645\u0647:",
"pad.toolbar.bold.title": "\u0633\u0645\u064a\u0643 (Ctrl-B)",
"pad.toolbar.italic.title": "\u0645\u0627\u0626\u0644 (Ctrl-I)",
"pad.toolbar.underline.title": "\u062a\u0633\u0637\u064a\u0631 (Ctrl-U)",
@ -17,20 +19,31 @@
"pad.toolbar.redo.title": "\u062a\u0643\u0631\u0627\u0631 (Ctrl-Y)",
"pad.toolbar.import_export.title": "\u0627\u0633\u062a\u064a\u0631\u0627\u062f/\u062a\u0635\u062f\u064a\u0631 \u0645\u0646/\u0625\u0644\u0649 \u062a\u0646\u0633\u064a\u0642\u0627\u062a \u0645\u0644\u0641\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629",
"pad.toolbar.timeslider.title": "\u0645\u062a\u0635\u0641\u062d \u0627\u0644\u062a\u0627\u0631\u064a\u062e",
"pad.toolbar.savedRevision.title": "\u0627\u0644\u062a\u0646\u0642\u064a\u062d\u0627\u062a \u0627\u0644\u0645\u062d\u0641\u0648\u0638\u0629",
"pad.toolbar.savedRevision.title": "\u062d\u0641\u0638 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629",
"pad.toolbar.settings.title": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a",
"pad.toolbar.embed.title": "\u062a\u0628\u0627\u062f\u0644 \u0648 \u062a\u0636\u0645\u064a\u0646 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.toolbar.showusers.title": "\u0639\u0631\u0636 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.colorpicker.save": "\u062a\u0633\u062c\u064a\u0644",
"pad.colorpicker.cancel": "\u0625\u0644\u063a\u0627\u0621",
"pad.loading": "\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644...",
"pad.passwordRequired": "\u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.permissionDenied": "\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0625\u0630\u0646 \u0644\u062f\u062e\u0648\u0644 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.wrongPassword": "\u0643\u0627\u0646\u062a \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u062e\u0627\u0637\u0626\u0629",
"pad.settings.padSettings": "\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0628\u0627\u062f",
"pad.settings.myView": "\u0631\u0624\u064a\u062a\u064a",
"pad.settings.stickychat": "\u0627\u0644\u062f\u0631\u062f\u0634\u0629 \u062f\u0627\u0626\u0645\u0627 \u0639\u0644\u0649 \u0627\u0644\u0634\u0627\u0634\u0629",
"pad.settings.colorcheck": "\u0623\u0644\u0648\u0627\u0646 \u0627\u0644\u062a\u0623\u0644\u064a\u0641",
"pad.settings.linenocheck": "\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0623\u0633\u0637\u0631",
"pad.settings.rtlcheck": "\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0645\u0646 \u0627\u0644\u064a\u0645\u064a\u0646 \u0625\u0644\u0649 \u0627\u0644\u064a\u0633\u0627\u0631\u061f",
"pad.settings.fontType": "\u0646\u0648\u0639 \u0627\u0644\u062e\u0637:",
"pad.settings.fontType.normal": "\u0639\u0627\u062f\u064a",
"pad.settings.fontType.monospaced": "\u062b\u0627\u0628\u062a \u0627\u0644\u0639\u0631\u0636",
"pad.settings.globalView": "\u0627\u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0634\u0627\u0645\u0644\u0629",
"pad.settings.language": "\u0627\u0644\u0644\u063a\u0629:",
"pad.importExport.import_export": "\u0627\u0633\u062a\u064a\u0631\u0627\u062f/\u062a\u0635\u062f\u064a\u0631",
"pad.importExport.import": "\u062a\u062d\u0645\u064a\u0644 \u0623\u064a \u0645\u0644\u0641 \u0646\u0635\u064a \u0623\u0648 \u0648\u062b\u064a\u0642\u0629",
"pad.importExport.importSuccessful": "\u0646\u0627\u062c\u062d!",
"pad.importExport.export": "\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0628\u0627\u062f \u0627\u0644\u062d\u0627\u0644\u064a \u0628\u0635\u0641\u0629:",
"pad.importExport.exporthtml": "\u0625\u062a\u0634 \u062a\u064a \u0625\u0645 \u0625\u0644",
"pad.importExport.exportplain": "\u0646\u0635 \u0639\u0627\u062f\u064a",
"pad.importExport.exportword": "\u0645\u0627\u064a\u0643\u0631\u0648\u0633\u0648\u0641\u062a \u0648\u0648\u0631\u062f",
@ -38,7 +51,11 @@
"pad.importExport.exportopen": "ODF (\u0646\u0633\u0642 \u0627\u0644\u0645\u0633\u062a\u0646\u062f \u0627\u0644\u0645\u0641\u062a\u0648\u062d)",
"pad.importExport.exportdokuwiki": "\u062f\u0648\u06a9\u0648\u0648\u064a\u0643\u064a",
"pad.modals.connected": "\u0645\u062a\u0635\u0644.",
"pad.modals.reconnecting": "\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0628\u0627\u062f\u0643",
"pad.modals.forcereconnect": "\u0641\u0631\u0636 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644",
"pad.modals.userdup": "\u0645\u0641\u062a\u0648\u062d \u0641\u064a \u0646\u0627\u0641\u0630\u0629 \u0623\u062e\u0631\u0649",
"pad.modals.userdup.explanation": "\u064a\u0628\u062f\u0648 \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f \u062a\u0645 \u0641\u062a\u062d\u0647 \u0641\u064a \u0623\u0643\u062b\u0631 \u0645\u0646 \u0646\u0627\u0641\u0630\u0629 \u0645\u062a\u0635\u0641\u062d \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628.",
"pad.modals.userdup.advice": "\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0644\u0625\u0633\u062a\u0639\u0645\u0627\u0644 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0627\u062e\u0631\u0649.",
"pad.modals.unauth": "\u063a\u064a\u0631 \u0645\u062e\u0648\u0644",
"pad.modals.looping": "\u062a\u0645 \u0642\u0637\u0639 \u0627\u0644\u0627\u062a\u0635\u0627\u0644.",
"pad.modals.initsocketfail": "\u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645",
@ -47,16 +64,24 @@
"pad.modals.slowcommit.explanation": "\u0627\u0644\u062e\u0627\u062f\u0645 \u0644\u0627 \u064a\u0633\u062a\u062c\u064a\u0628.",
"pad.modals.slowcommit.cause": "\u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0647\u0630\u0627 \u0628\u0633\u0628\u0628 \u0645\u0634\u0627\u0643\u0644 \u0641\u064a \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0634\u0628\u0643\u0629.",
"pad.modals.deleted": "\u0645\u062d\u0630\u0648\u0641.",
"pad.modals.deleted.explanation": "\u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.modals.disconnected": "\u0644\u0645 \u062a\u0639\u062f \u0645\u062a\u0651\u0635\u0644.",
"pad.modals.disconnected.explanation": "\u062a\u0645 \u0641\u0642\u062f\u0627\u0646 \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u062e\u0627\u062f\u0645",
"pad.modals.disconnected.cause": "\u0642\u062f \u064a\u0643\u0648\u0646 \u0627\u0644\u062e\u0627\u062f\u0645 \u063a\u064a\u0631 \u0645\u062a\u0648\u0641\u0631. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0644\u0627\u0645\u0646\u0627 \u0625\u0630\u0627 \u062a\u0643\u0631\u0631 \u0647\u0630\u0627.",
"pad.share.readonly": "\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637",
"pad.share.link": "\u0631\u0627\u0628\u0637",
"pad.share.emebdcode": "URL \u0644\u0644\u062a\u0636\u0645\u064a\u0646",
"pad.chat": "\u062f\u0631\u062f\u0634\u0629",
"pad.chat.title": "\u0641\u062a\u062d \u0627\u0644\u062f\u0631\u062f\u0634\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0628\u0627\u062f",
"pad.chat.loadmessages": "\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0631\u0633\u0627\u0626\u0644",
"timeslider.toolbar.returnbutton": "\u0627\u0644\u0639\u0648\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0628\u0627\u062f",
"timeslider.toolbar.authors": "\u0627\u0644\u0645\u0624\u0644\u0641\u0648\u0646:",
"timeslider.toolbar.authorsList": "\u0628\u062f\u0648\u0646 \u0645\u0624\u0644\u0641\u064a\u0646",
"timeslider.toolbar.exportlink.title": "\u062a\u0635\u062f\u064a\u0631",
"timeslider.exportCurrent": "\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0643:",
"timeslider.version": "\u0625\u0635\u062f\u0627\u0631 {{version}}",
"timeslider.saved": "\u0645\u062d\u0641\u0648\u0638 {{month}} {{day}}, {{year}}",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "\u064a\u0646\u0627\u064a\u0631",
"timeslider.month.february": "\u0641\u0628\u0631\u0627\u064a\u0631",
"timeslider.month.march": "\u0645\u0627\u0631\u0633",
@ -73,5 +98,10 @@
"pad.userlist.unnamed": "\u063a\u064a\u0631 \u0645\u0633\u0645\u0649",
"pad.userlist.guest": "\u0636\u064a\u0641",
"pad.userlist.deny": "\u0631\u0641\u0636",
"pad.userlist.approve": "\u0645\u0648\u0627\u0641\u0642\u0629"
"pad.userlist.approve": "\u0645\u0648\u0627\u0641\u0642\u0629",
"pad.impexp.importbutton": "\u0627\u0644\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0627\u0644\u0622\u0646",
"pad.impexp.importing": "\u0627\u0644\u0627\u0633\u062a\u064a\u0631\u0627\u062f...",
"pad.impexp.uploadFailed": "\u0641\u0634\u0644 \u0627\u0644\u062a\u062d\u0645\u064a\u0644\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649",
"pad.impexp.importfailed": "\u0641\u0634\u0644 \u0627\u0644\u0627\u0633\u062a\u064a\u0631\u0627\u062f",
"pad.impexp.copypaste": "\u0627\u0644\u0631\u062c\u0627\u0621 \u0646\u0633\u062e/\u0644\u0635\u0642"
}

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "Eslizador de tiempu",
"pad.toolbar.savedRevision.title": "Guardar revisi\u00f3n",
"pad.toolbar.settings.title": "Configuraci\u00f3n",
"pad.toolbar.embed.title": "Incrustar esti bloc",
"pad.toolbar.embed.title": "Compartir ya incrustar esti bloc",
"pad.toolbar.showusers.title": "Amosar los usuarios d'esti bloc",
"pad.colorpicker.save": "Guardar",
"pad.colorpicker.cancel": "Encaboxar",
@ -101,8 +101,7 @@
"timeslider.month.october": "d'ochobre",
"timeslider.month.november": "de payares",
"timeslider.month.december": "d'avientu",
"timeslider.unnamedauthor": "{{num}} autor an\u00f3nimu",
"timeslider.unnamedauthors": "{{num}} autores an\u00f3nimos",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor an\u00f3nimu, other: autores an\u00f3nimos]}",
"pad.savedrevs.marked": "Esta revisi\u00f3n marcose como revisi\u00f3n guardada",
"pad.userlist.entername": "Escribi'l to nome",
"pad.userlist.unnamed": "ensin nome",

View file

@ -101,7 +101,6 @@
"timeslider.month.october": "Oktyabr",
"timeslider.month.november": "Noyabr",
"timeslider.month.december": "Dekabr",
"timeslider.unnamedauthor": "{{num}} ads\u0131z m\u00fc\u0259llif",
"timeslider.unnamedauthors": "{{num}} ads\u0131z m\u00fc\u0259llifl\u0259r",
"pad.savedrevs.marked": "Bu versiya indi yadda\u015fa saxlanm\u0131\u015f kimi ni\u015fanland\u0131",
"pad.userlist.entername": "Ad\u0131n\u0131z\u0131 daxil et",

View file

@ -24,7 +24,7 @@
"pad.toolbar.timeslider.title": "Istor dinamek",
"pad.toolbar.savedRevision.title": "Doareo\u00f9 enrollet",
"pad.toolbar.settings.title": "Arventenno\u00f9",
"pad.toolbar.embed.title": "Enframma\u00f1 ar pad-ma\u00f1",
"pad.toolbar.embed.title": "Ranna\u00f1 hag enframma\u00f1 ar pad-ma\u00f1",
"pad.toolbar.showusers.title": "Diskwelet implijerien ar Pad",
"pad.colorpicker.save": "Enrolla\u00f1",
"pad.colorpicker.cancel": "Nulla\u00f1",
@ -104,8 +104,7 @@
"timeslider.month.october": "Here",
"timeslider.month.november": "Du",
"timeslider.month.december": "Kerzu",
"timeslider.unnamedauthor": "{{niver}} aozer dianav",
"timeslider.unnamedauthors": "Aozerien dianav",
"timeslider.unnamedauthors": "{{num}} dianav {[plural(num) one: aozer, other: aozerien ]}",
"pad.savedrevs.marked": "Merket eo an adweladenn-ma\u00f1 evel adweladenn gwiriet",
"pad.userlist.entername": "Ebarzhit hoc'h anv",
"pad.userlist.unnamed": "dizanv",

View file

@ -103,8 +103,7 @@
"timeslider.month.october": "Octubre",
"timeslider.month.november": "Novembre",
"timeslider.month.december": "Desembre",
"timeslider.unnamedauthor": "{{num}} autor sense nom",
"timeslider.unnamedauthors": "{{num}} autors sense noms",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor, other: autors ]} sense nom",
"pad.savedrevs.marked": "Aquesta revisi\u00f3 est\u00e0 marcada ara com a revisi\u00f3 desada",
"pad.userlist.entername": "Introdu\u00efu el vostre nom",
"pad.userlist.unnamed": "sense nom",

View file

@ -1,15 +1,17 @@
{
"@metadata": {
"authors": [
"Jakubt",
"Jezevec",
"Leanes",
"Quinn"
]
},
"index.newPad": "Nov\u00fd Pad",
"index.createOpenPad": "nebo vytvo\u0159it/otev\u0159\u00edt Pad jm\u00e9nem:",
"index.newPad": "Zalo\u017e nov\u00fd Pad",
"index.createOpenPad": "nebo vytvo\u0159/otev\u0159i Pad s n\u00e1zvem:",
"pad.toolbar.bold.title": "Tu\u010dn\u00e9 (Ctrl-B)",
"pad.toolbar.italic.title": "Kurz\u00edva (Ctrl-I)",
"pad.toolbar.underline.title": "Podtr\u017een\u00ed (Ctrl-U)",
"pad.toolbar.underline.title": "Podtr\u017een\u00e9 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "P\u0159eskrtnut\u00e9",
"pad.toolbar.ol.title": "\u010c\u00edslovan\u00fd seznam",
"pad.toolbar.ul.title": "Ne\u010d\u00edslovan\u00fd seznam",
@ -17,28 +19,28 @@
"pad.toolbar.unindent.title": "P\u0159edsazen\u00ed",
"pad.toolbar.undo.title": "Zp\u011bt (Ctrl-Z)",
"pad.toolbar.redo.title": "Opakovat (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "Vymazat barvy autorstv\u00ed",
"pad.toolbar.clearAuthorship.title": "Vymazat barvy autor\u016f",
"pad.toolbar.import_export.title": "Importovat/Exportovat z/do jin\u00fdch form\u00e1t\u016f",
"pad.toolbar.timeslider.title": "Osa \u010dasu",
"pad.toolbar.timeslider.title": "\u010casov\u00e1 osa",
"pad.toolbar.savedRevision.title": "Ulo\u017eit revizi",
"pad.toolbar.settings.title": "Nastaven\u00ed",
"pad.toolbar.embed.title": "Um\u00edstit a nasd\u00edlet tento Pad",
"pad.toolbar.embed.title": "Sd\u00edlet a um\u00edstit tento Pad",
"pad.toolbar.showusers.title": "Zobrazit u\u017eivatele u tohoto Padu",
"pad.colorpicker.save": "Ulo\u017eit",
"pad.colorpicker.cancel": "Zru\u0161it",
"pad.loading": "Na\u010d\u00edt\u00e1n\u00ed...",
"pad.passwordRequired": "Pot\u0159ebuje\u0161 zadat heslo pro p\u0159\u00edstup k tomuto Padu",
"pad.permissionDenied": "Nem\u00e1\u0161 p\u0159\u00edstupov\u00e9 opr\u00e1vn\u011bn\u00ed k tomuto Padu",
"pad.wrongPassword": "Tv\u00e9 heslo je \u0161patn\u00e9",
"pad.passwordRequired": "Pro p\u0159\u00edstup k tomuto Padu je t\u0159eba zn\u00e1t heslo",
"pad.permissionDenied": "Nem\u00e1te opr\u00e1vn\u011bn\u00ed pro p\u0159\u00edstup k tomuto Padu",
"pad.wrongPassword": "Nespr\u00e1vn\u00e9 heslo",
"pad.settings.padSettings": "Nastaven\u00ed Padu",
"pad.settings.myView": "Vlastn\u00ed pohled",
"pad.settings.stickychat": "Chat v\u017edy na obrazovce",
"pad.settings.colorcheck": "Barvy autorstv\u00ed",
"pad.settings.colorcheck": "Barvy autor\u016f",
"pad.settings.linenocheck": "\u010c\u00edsla \u0159\u00e1dk\u016f",
"pad.settings.rtlcheck": "\u010c\u00edst obsah zprava doleva?",
"pad.settings.fontType": "Typ p\u00edsma:",
"pad.settings.fontType.normal": "Norm\u00e1ln\u00ed",
"pad.settings.fontType.monospaced": "Monospace",
"pad.settings.fontType.monospaced": "Nepropor\u010dn\u00ed",
"pad.settings.globalView": "Glob\u00e1ln\u00ed pohled",
"pad.settings.language": "Jazyk:",
"pad.importExport.import_export": "Import/Export",
@ -53,11 +55,11 @@
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "Importovat m\u016f\u017ee\u0161 pouze prost\u00fd text nebo HTML form\u00e1tov\u00e1n\u00ed. Pro pokro\u010dilej\u0161\u00ed funkce importu, pros\u00edm, nainstaluj \u201e\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\u201c.",
"pad.modals.connected": "P\u0159ipojeno.",
"pad.modals.reconnecting": "Znovup\u0159ipojov\u00e1n\u00ed k tv\u00e9mu Padu\u2026",
"pad.modals.reconnecting": "Znovup\u0159ipojov\u00e1n\u00ed k Padu\u2026",
"pad.modals.forcereconnect": "Vynutit znovup\u0159ipojen\u00ed",
"pad.modals.userdup": "Otev\u0159eno v jin\u00e9m okn\u011b",
"pad.modals.userdup.explanation": "Zd\u00e1 se, \u017ee tento Pad je na tomto po\u010d\u00edta\u010di otev\u0159en ve v\u00edce ne\u017e jednom okn\u011b.",
"pad.modals.userdup.advice": "Pro pou\u017eit\u00ed tohoto okna se mus\u00ed\u0161 znovu p\u0159ipojit.",
"pad.modals.userdup.advice": "Pro pou\u017eit\u00ed tohoto okna je t\u0159eba se znovu p\u0159ipojit.",
"pad.modals.unauth": "Nem\u00e1te autorizaci",
"pad.modals.unauth.explanation": "Va\u0161e opr\u00e1vn\u011bn\u00ed se zm\u011bnila, zat\u00edmco jste si prohl\u00ed\u017eel/a toto okno. Zkuste se znovu p\u0159ipojit.",
"pad.modals.looping": "Odpojeno.",
@ -71,9 +73,9 @@
"pad.modals.slowcommit.cause": "M\u016f\u017ee to b\u00fdt zp\u016fsobeno probl\u00e9my s internetov\u00fdm p\u0159ipojen\u00edm.",
"pad.modals.deleted": "Odstran\u011bno.",
"pad.modals.deleted.explanation": "Tento Pad byl odebr\u00e1n.",
"pad.modals.disconnected": "Byl jsi odpojen.",
"pad.modals.disconnected": "Byl jste odpojen.",
"pad.modals.disconnected.explanation": "P\u0159ipojen\u00ed k serveru bylo p\u0159eru\u0161eno",
"pad.modals.disconnected.cause": "Server m\u016f\u017ee b\u00fdt nedostupn\u00fd. Pros\u00edm, upozorni n\u00e1s, pokud bude tento probl\u00e9m p\u0159etrv\u00e1vat.",
"pad.modals.disconnected.cause": "Server m\u016f\u017ee b\u00fdt nedostupn\u00fd. Pros\u00edme o upozorn\u011bn\u00ed, pokud by tento probl\u00e9m trval del\u0161\u00ed dobu.",
"pad.share": "Sd\u00edlet tento Pad",
"pad.share.readonly": "Jen pro \u010dten\u00ed",
"pad.share.link": "Odkaz",
@ -81,7 +83,7 @@
"pad.chat": "Chat",
"pad.chat.title": "Otev\u0159\u00edt chat tohoto Padu.",
"pad.chat.loadmessages": "Na\u010d\u00edst v\u00edce zpr\u00e1v",
"timeslider.pageTitle": "Osa \u010dasu {{appTitle}}",
"timeslider.pageTitle": "\u010casov\u00e1 osa {{appTitle}}",
"timeslider.toolbar.returnbutton": "N\u00e1vrat do Padu",
"timeslider.toolbar.authors": "Auto\u0159i:",
"timeslider.toolbar.authorsList": "Bez autor\u016f",
@ -102,15 +104,14 @@
"timeslider.month.october": "\u0159\u00edjen",
"timeslider.month.november": "listopad",
"timeslider.month.december": "prosinec",
"timeslider.unnamedauthor": "{{num}} nejmenovan\u00fd autor",
"timeslider.unnamedauthors": "{{num}} nejmenovan\u00fdch autor\u016f",
"timeslider.unnamedauthors": "{{num}} {[ plural(num) one: nejmenovan\u00fd Autor, few: nejmenovan\u00ed Auto\u0159i, other: nejmenovan\u00fdch Autor\u016f ]}",
"pad.savedrevs.marked": "Tato revize je nyn\u00ed ozna\u010dena jako ulo\u017een\u00e1",
"pad.userlist.entername": "Zadejte sv\u00e9 jm\u00e9no",
"pad.userlist.unnamed": "nejmenovan\u00fd",
"pad.userlist.guest": "Host",
"pad.userlist.deny": "Zak\u00e1zat",
"pad.userlist.approve": "Povolit",
"pad.editbar.clearcolors": "Odstranit autorsk\u00e9 barvy z cel\u00e9ho dokumentu?",
"pad.editbar.clearcolors": "Odstranit barvy autor\u016f z cel\u00e9ho dokumentu?",
"pad.impexp.importbutton": "Importovat",
"pad.impexp.importing": "Importov\u00e1n\u00ed\u2026",
"pad.impexp.confirmimport": "Import souboru p\u0159ep\u00ed\u0161e aktu\u00e1ln\u00ed text v padu. Opravdu chcete tuto akci prov\u00e9st?",

View file

@ -23,7 +23,7 @@
"pad.toolbar.timeslider.title": "Timeslider",
"pad.toolbar.savedRevision.title": "Gem Revision",
"pad.toolbar.settings.title": "Indstillinger",
"pad.toolbar.embed.title": "Integrer denne pad",
"pad.toolbar.embed.title": "Del og integrer denne pad",
"pad.toolbar.showusers.title": "Vis brugere p\u00e5 denne pad",
"pad.colorpicker.save": "Gem",
"pad.colorpicker.cancel": "Afbryd",
@ -103,8 +103,7 @@
"timeslider.month.october": "oktober",
"timeslider.month.november": "november",
"timeslider.month.december": "december",
"timeslider.unnamedauthor": "{{num}} unavngiven forfatter",
"timeslider.unnamedauthors": "{{num}} unavngivne forfattere",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: unavngiven forfatter, other: unavngivne forfattere]}",
"pad.savedrevs.marked": "Denne revision er nu markeret som en gemt revision",
"pad.userlist.entername": "Indtast dit navn",
"pad.userlist.unnamed": "ikke-navngivet",

View file

@ -104,8 +104,7 @@
"timeslider.month.october": "Oktober",
"timeslider.month.november": "November",
"timeslider.month.december": "Dezember",
"timeslider.unnamedauthor": "{{num}} unbenannter Autor",
"timeslider.unnamedauthors": "{{num}} unbenannte Autoren",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: unbenannter Autor, other: unbenannte Autoren ]}",
"pad.savedrevs.marked": "Diese Version wurde jetzt als gespeicherte Version gekennzeichnet",
"pad.userlist.entername": "Geben Sie Ihren Namen ein",
"pad.userlist.unnamed": "unbenannt",

View file

@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Evropi",
"Geraki",
"Glavkos",
"Monopatis",
"Protnet"
@ -104,8 +105,7 @@
"timeslider.month.october": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
"timeslider.month.november": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
"timeslider.month.december": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
"timeslider.unnamedauthor": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ad\u03b1\u03c2",
"timeslider.unnamedauthors": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03b9 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03b5\u03af\u03c2",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2 \u03c3\u03c5\u03bd\u03c4\u03ac\u03ba\u03c4\u03b7\u03c2, other: \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03b9 \u03c3\u03c5\u03bd\u03c4\u03ac\u03ba\u03c4\u03b5\u03c2]}",
"pad.savedrevs.marked": "\u0391\u03c5\u03c4\u03ae \u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7 \u03b5\u03c0\u03b9\u03c3\u03b7\u03bc\u03ac\u03bd\u03b8\u03b7\u03ba\u03b5 \u03c9\u03c2 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03bc\u03ad\u03bd\u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7",
"pad.userlist.entername": "\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03cc\u03bd\u03bf\u03bc\u03ac \u03c3\u03b1\u03c2",
"pad.userlist.unnamed": "\u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2",

View file

@ -45,7 +45,7 @@
"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.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",
@ -96,8 +96,7 @@
"timeslider.month.october": "October",
"timeslider.month.november": "November",
"timeslider.month.december": "December",
"timeslider.unnamedauthor": "{{num}} unnamed author",
"timeslider.unnamedauthors": "{{num}} unnamed authors",
"timeslider.unnamedauthors": "{{num}} unnamed {[plural(num) one: author, other: authors ]}",
"pad.savedrevs.marked": "This revision is now marked as a saved revision",
"pad.userlist.entername": "Enter your name",
"pad.userlist.unnamed": "unnamed",

View file

@ -5,9 +5,10 @@
"1": "Jacobo",
"2": "Joker",
"3": "Larjona",
"4": "Rubenwap",
"6": "Vivaelcelta",
"7": "Xuacu"
"4": "Mklehr",
"5": "Rubenwap",
"7": "Vivaelcelta",
"8": "Xuacu"
}
},
"index.newPad": "Nuevo Pad",
@ -107,8 +108,7 @@
"timeslider.month.october": "Octubre",
"timeslider.month.november": "Noviembre",
"timeslider.month.december": "Diciembre",
"timeslider.unnamedauthor": "{{num}} autor desconocido",
"timeslider.unnamedauthors": "{{num}} autores desconocidos",
"timeslider.unnamedauthors": "{{num}} {[ plural(num) one: autor desconocido, other: autores desconocidos]}",
"pad.savedrevs.marked": "Revisi\u00f3n guardada",
"pad.userlist.entername": "Escribe tu nombre",
"pad.userlist.unnamed": "an\u00f3nimo",

120
src/locales/eu.json Normal file
View file

@ -0,0 +1,120 @@
{
"@metadata": {
"authors": [
"Theklan"
]
},
"index.newPad": "Pad berria",
"index.createOpenPad": "edo sortu/ireki Pad bat honako izenarekin:",
"pad.toolbar.bold.title": "Lodia (Ctrl-B)",
"pad.toolbar.italic.title": "Etzana (Ctrl-I)",
"pad.toolbar.underline.title": "Azpimarratua (Ctrl-U)",
"pad.toolbar.strikethrough.title": "Ezabatua",
"pad.toolbar.ol.title": "Zerrenda ordenatua",
"pad.toolbar.ul.title": "Zerrenda ez-ordenatua",
"pad.toolbar.indent.title": "Koska",
"pad.toolbar.unindent.title": "Koska kendu",
"pad.toolbar.undo.title": "Desegin (Ctrl-Z)",
"pad.toolbar.redo.title": "Berregin (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "Ezabatu Egiletza Koloreak",
"pad.toolbar.import_export.title": "Inportatu/Esportatu fitxategi formatu ezberdinetara/ezberdinetatik",
"pad.toolbar.timeslider.title": "Denbora lerroa",
"pad.toolbar.savedRevision.title": "Gorde berrikuspena",
"pad.toolbar.settings.title": "Hobespenak",
"pad.toolbar.embed.title": "Partekatu eta Txertatu pad hau",
"pad.toolbar.showusers.title": "Erakutsi pad honetako erabiltzaileak",
"pad.colorpicker.save": "Gorde",
"pad.colorpicker.cancel": "Utzi",
"pad.loading": "Kargatzen...",
"pad.passwordRequired": "Pasahitza behar duzu pad honetara sartzeko",
"pad.permissionDenied": "Ez duzu bamienik pad honetara sartzeko",
"pad.wrongPassword": "Zure pasahitza oker zegoen",
"pad.settings.padSettings": "Pad hobespenak",
"pad.settings.myView": "Nire ikusmoldea",
"pad.settings.stickychat": "Txata beti pantailan",
"pad.settings.colorcheck": "Egiletzaren koloreak",
"pad.settings.linenocheck": "Lerro zenbakiak",
"pad.settings.rtlcheck": "Edukia eskubitik ezkerrera irakurri?",
"pad.settings.fontType": "Tipografia:",
"pad.settings.fontType.normal": "Arrunta",
"pad.settings.fontType.monospaced": "Monospace",
"pad.settings.globalView": "Ikuspegi Globala",
"pad.settings.language": "Hizkuntza:",
"pad.importExport.import_export": "Inportatu/Esportatu",
"pad.importExport.import": "Igo edozein testu fitxategi edo dokumentu",
"pad.importExport.importSuccessful": "Arrakastatsua!",
"pad.importExport.export": "Oraingo pad hau honela esportatu:",
"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.modals.connected": "Konektatuta.",
"pad.modals.reconnecting": "Zure pad-era birkonektatu...",
"pad.modals.forcereconnect": "Berkonexioa fortzatu",
"pad.modals.userdup": "Beste leiho batean ireki da",
"pad.modals.userdup.explanation": "Pad hau zure nabigatzailearen beste leiho batean irekita dagoela ematen du.",
"pad.modals.userdup.advice": "Berriro konektatu beste leiho hau erabiltzeko.",
"pad.modals.unauth": "Baimenik gabe",
"pad.modals.unauth.explanation": "Orrialdea ikusten ari zinela zure baimenak aldatu dira. Saia zaitez berriro konektatzen.",
"pad.modals.looping": "Deskonektatua.",
"pad.modals.looping.explanation": "Sinkronizazio zerbitzariarekin komunikazioa arazoak daude.",
"pad.modals.looping.cause": "Agian firewall edo proxy ez-bateragarri baten bidez konektatu zara.",
"pad.modals.initsocketfail": "Zerbitzarira ezin da iritsi.",
"pad.modals.initsocketfail.explanation": "Ezin izan da konektatu sinkronizazio zerbitzarira.",
"pad.modals.initsocketfail.cause": "Ziurrenik hau zure nabigatzailea edo internet konexioaren arazo bat dela eta izango da.",
"pad.modals.slowcommit": "Deskonektatu.",
"pad.modals.slowcommit.explanation": "Zerbitzariak ez du erantzuten.",
"pad.modals.slowcommit.cause": "Baliteke hau sarearen konexio arazoak direla eta izatea.",
"pad.modals.deleted": "Ezabatua.",
"pad.modals.deleted.explanation": "Pad hau ezabatua izan da.",
"pad.modals.disconnected": "Deskonektatua izan zara.",
"pad.modals.disconnected.explanation": "Zerbitzariaren konexioa galdu da",
"pad.modals.disconnected.cause": "Baliteke zerbitzaria irisgarria ez izatea. Mesedez, esaiguzu hau gertatzen jarraitzen badu.",
"pad.share": "Pad hau partekatu",
"pad.share.readonly": "Irakurtzeko bakarrik",
"pad.share.link": "Lotura",
"pad.share.emebdcode": "URLa txertatu",
"pad.chat": "Txata",
"pad.chat.title": "Pad honetarako txata ireki.",
"pad.chat.loadmessages": "Mezu gehiago kargatu",
"timeslider.pageTitle": "{{appTitle}} denbora lerroa",
"timeslider.toolbar.returnbutton": "Padera itzuli",
"timeslider.toolbar.authors": "Egileak:",
"timeslider.toolbar.authorsList": "Egilerik gabe",
"timeslider.toolbar.exportlink.title": "Esportatu",
"timeslider.exportCurrent": "Gorde bertsio hau honela:",
"timeslider.version": "Bertsioa {{version}}",
"timeslider.saved": "{{year}}ko {{month}}ren {{day}}an gordeta",
"timeslider.dateformat": "{{year}}/{{month}}/{{day}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Urtarrila",
"timeslider.month.february": "Otsaila",
"timeslider.month.march": "Martxoa",
"timeslider.month.april": "Apirila",
"timeslider.month.may": "Maiatza",
"timeslider.month.june": "Ekaina",
"timeslider.month.july": "Uztaila",
"timeslider.month.august": "Abuztua",
"timeslider.month.september": "Iraila",
"timeslider.month.october": "Urria",
"timeslider.month.november": "Azaroa",
"timeslider.month.december": "Abendua",
"timeslider.unnamedauthors": "{{num}} izenik gabeko egileak",
"pad.savedrevs.marked": "Berrikuspen hau markatua dago gordetako berrikuspen gisa",
"pad.userlist.entername": "Sartu zure erabiltzaile izena",
"pad.userlist.unnamed": "izenik gabe",
"pad.userlist.guest": "Gonbidatua",
"pad.userlist.deny": "Ukatu",
"pad.userlist.approve": "Onartu",
"pad.editbar.clearcolors": "Ezabatu egile koloreak dokumentu osoan?",
"pad.impexp.importbutton": "Inportatu orain",
"pad.impexp.importing": "Inportatzen...",
"pad.impexp.confirmimport": "Fitxategi bat inportatzen baduzu oraingo pad honen testua ezabatuko da. Ziur zaude jarraitu nahi duzula?",
"pad.impexp.convertFailed": "Ez gara gai fitxategi hau inportatzeko. Erabil ezazu, mesedez, beste dokumentu formatu bat edo kopiatu eta itsasi eskuz.",
"pad.impexp.uploadFailed": "Igotzean akatsa egon da, saia zaitez berriro",
"pad.impexp.importfailed": "Inportazioak akatsa egin du",
"pad.impexp.copypaste": "Mesedez kopiatu eta pegatu",
"pad.impexp.exportdisabled": "{{type}} formatuarekin esportatzea desgaituta dago. Kontakta ezazu administratzailea detaile gehiagorako."
}

View file

@ -3,8 +3,10 @@
"authors": {
"0": "BMRG14",
"1": "Dalba",
"3": "ZxxZxxZ",
"4": "\u0627\u0644\u0646\u0627\u0632"
"2": "Ebraminio",
"3": "Reza1615",
"5": "ZxxZxxZ",
"6": "\u0627\u0644\u0646\u0627\u0632"
}
},
"index.newPad": "\u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u062a\u0627\u0632\u0647",
@ -22,9 +24,9 @@
"pad.toolbar.clearAuthorship.title": "\u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646 \u0631\u0646\u06af\u200c\u0647\u0627\u06cc \u0646\u0648\u06cc\u0633\u0646\u062f\u06af\u06cc",
"pad.toolbar.import_export.title": "\u062f\u0631\u0648\u0646\u200c\u0631\u06cc\u0632\u06cc/\u0628\u0631\u0648\u0646\u200c\u0631\u06cc\u0632\u06cc \u0627\u0632/\u0628\u0647 \u0642\u0627\u0644\u0628\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641",
"pad.toolbar.timeslider.title": "\u0627\u0633\u0644\u0627\u06cc\u062f\u0631 \u0632\u0645\u0627\u0646",
"pad.toolbar.savedRevision.title": "\u0630\u062e\u06cc\u0631\u0647\u200c\u06cc \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc",
"pad.toolbar.savedRevision.title": "\u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0646\u0633\u062e\u0647",
"pad.toolbar.settings.title": "\u062a\u0646\u0638\u06cc\u0645\u0627\u062a",
"pad.toolbar.embed.title": "\u062c\u0627\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a",
"pad.toolbar.embed.title": "\u0627\u0634\u062a\u0631\u0627\u06a9 \u0648 \u062c\u0627\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a",
"pad.toolbar.showusers.title": "\u0646\u0645\u0627\u06cc\u0634 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a",
"pad.colorpicker.save": "\u0630\u062e\u06cc\u0631\u0647",
"pad.colorpicker.cancel": "\u0644\u063a\u0648",
@ -104,7 +106,6 @@
"timeslider.month.october": "\u0627\u06a9\u062a\u0628\u0631",
"timeslider.month.november": "\u0646\u0648\u0627\u0645\u0628\u0631",
"timeslider.month.december": "\u062f\u0633\u0627\u0645\u0628\u0631",
"timeslider.unnamedauthor": "{{num}} \u0646\u0648\u06cc\u0633\u0646\u062f\u0647\u0654 \u0628\u06cc\u200c\u0646\u0627\u0645",
"timeslider.unnamedauthors": "{{num}} \u0646\u0648\u06cc\u0633\u0646\u062f\u0647\u0654 \u0628\u06cc\u200c\u0646\u0627\u0645",
"pad.savedrevs.marked": "\u0627\u06cc\u0646 \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u0647\u0645 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0639\u0644\u0627\u0645\u062a\u200c\u06af\u0630\u0627\u0631\u06cc \u0634\u062f",
"pad.userlist.entername": "\u0646\u0627\u0645 \u062e\u0648\u062f \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f",

View file

@ -107,8 +107,7 @@
"timeslider.month.october": "lokakuu",
"timeslider.month.november": "marraskuu",
"timeslider.month.december": "joulukuu",
"timeslider.unnamedauthor": "{{num}} nimet\u00f6n tekij\u00e4",
"timeslider.unnamedauthors": "{{num}} nimet\u00f6nt\u00e4 tekij\u00e4\u00e4",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: nimet\u00f6n tekij\u00e4, other: nimet\u00f6nt\u00e4 tekij\u00e4\u00e4 ]}",
"pad.savedrevs.marked": "T\u00e4m\u00e4 versio on nyt merkitty tallennetuksi versioksi",
"pad.userlist.entername": "Kirjoita nimesi",
"pad.userlist.unnamed": "nimet\u00f6n",

96
src/locales/fo.json Normal file
View file

@ -0,0 +1,96 @@
{
"@metadata": {
"authors": [
"EileenSanda"
]
},
"index.newPad": "N\u00fdggjur teldil",
"pad.toolbar.bold.title": "Vi\u00f0 feitum (Ctrl-B)",
"pad.toolbar.italic.title": "Skr\u00e1skrift (Ctrl-I)",
"pad.toolbar.underline.title": "Undirstrika\u00f0 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "Gj\u00f8gnumstrika\u00f0",
"pad.toolbar.ol.title": "B\u00edleggingarlisti",
"pad.toolbar.undo.title": "Angra (Ctrl-Z)",
"pad.toolbar.redo.title": "Ger umaftur (Ctrl-Y)",
"pad.toolbar.import_export.title": "Innflyt/\u00datflyt fr\u00e1/til ymiskar f\u00edlust\u00f8ddir",
"pad.toolbar.savedRevision.title": "Goym Endursko\u00f0an",
"pad.toolbar.settings.title": "Innstillingar",
"pad.toolbar.embed.title": "Deil og Innset henda pad'in",
"pad.toolbar.showusers.title": "V\u00eds br\u00fakarar \u00e1 hesum paddi",
"pad.colorpicker.save": "Goym",
"pad.colorpicker.cancel": "\u00d3gilda",
"pad.loading": "L\u00f8\u00f0ir...",
"pad.passwordRequired": "T\u00fa hevur br\u00fak fyri einum loynior\u00f0i fyri at f\u00e1a atgongd til henda paddin",
"pad.permissionDenied": "T\u00fa hevur ikki loyvi til at f\u00e1a atgongd til henda paddin",
"pad.wrongPassword": "T\u00edtt loynior\u00f0 var skeivt",
"pad.settings.padSettings": "Pad innstillingar",
"pad.settings.myView": "M\u00edn s\u00fdning",
"pad.settings.stickychat": "Kjatta alt\u00ed\u00f0 \u00e1 skerminum",
"pad.settings.colorcheck": "Litir hj\u00e1 rith\u00f8vundaskapinum",
"pad.settings.linenocheck": "Linjunummur",
"pad.settings.rtlcheck": "Vil t\u00fa lesa innihaldi\u00f0 fr\u00e1 h\u00f8gru til vinstu?",
"pad.settings.fontType": "Skriftslag:",
"pad.settings.fontType.normal": "Vanligt",
"pad.settings.fontType.monospaced": "F\u00f8st breidd",
"pad.settings.globalView": "Global s\u00fdning",
"pad.settings.language": "M\u00e1l:",
"pad.importExport.import_export": "Innflyt/\u00datflyt",
"pad.importExport.import": "Legg \u00fat onkra tekstf\u00edlu ella dokument",
"pad.importExport.importSuccessful": "Ta\u00f0 eydna\u00f0ist!",
"pad.importExport.export": "\u00datflyt verandi pad sum:",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Einfaldur tekstur",
"pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF (Opi\u00f0 Dokument Format)",
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "T\u00fa kanst bert innflyta fr\u00e1 einf\u00f8ldum teksti ella html formatum. Fyri funksj\u00f3nir til innflytan fyri v\u00ed\u00f0arikomin 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.modals.connected": "T\u00fa hevur samband.",
"pad.modals.reconnecting": "Roynir aftur at f\u00e1a samband vi\u00f0 t\u00edn pad..",
"pad.modals.forcereconnect": "Tvinga endurstovnan av sambandi.",
"pad.modals.userdup": "Er lati\u00f0 upp \u00ed \u00f8\u00f0rum vindeyga",
"pad.modals.userdup.explanation": "Ta\u00f0 s\u00e6r \u00fat til at hesin paddurin er latin upp \u00ed meira enn einum brovsara vindeyga \u00e1 hesari telduni.",
"pad.modals.userdup.advice": "Endurstovna sambandi fyri at n\u00fdta hetta vindeyga \u00ed sta\u00f0in.",
"pad.modals.unauth": "Er ikki loyvt",
"pad.modals.unauth.explanation": "T\u00edni loyvi eru broytt, me\u00f0an t\u00fa hevur hugt at hesi s\u00ed\u00f0uni. Royn og endurstovna sambandi.",
"pad.modals.looping": "T\u00fa misti sambandi.",
"pad.modals.initsocketfail": "Amb\u00e6tarin er \u00f3atkomuligur.",
"pad.modals.initsocketfail.cause": "Hetta skyldast mest sannl\u00edkt ein trupulleika vi\u00f0 t\u00ednum kaga/brovsara ella vi\u00f0 t\u00ednum internetsambandi.",
"pad.modals.slowcommit": "T\u00fa misti sambandi.",
"pad.modals.slowcommit.explanation": "Amb\u00e6tarin (servarin) svarar ikki.",
"pad.modals.slowcommit.cause": "Hetta kann skyldast trupulleikar vi\u00f0 netverkssambandinum.",
"pad.modals.deleted": "Er strika\u00f0.",
"pad.modals.deleted.explanation": "Hesin paddurin er fluttur.",
"pad.modals.disconnected": "T\u00fa hevur mist sambandi.",
"pad.modals.disconnected.explanation": "Sambandi\u00f0 til amb\u00e6tarin er avbroti\u00f0",
"pad.share": "Deil henda paddin",
"pad.share.readonly": "Vart fyri skriving",
"pad.share.link": "Sl\u00f3\u00f0",
"timeslider.toolbar.returnbutton": "Vend aftur til pad'in",
"timeslider.toolbar.authors": "H\u00f8vundar:",
"timeslider.toolbar.authorsList": "Ongir h\u00f8vundar",
"timeslider.toolbar.exportlink.title": "\u00datflyt",
"timeslider.exportCurrent": "\u00datflyt hesa versj\u00f3na sum:",
"timeslider.version": "Versj\u00f3n {{version}}",
"timeslider.saved": "Goymt {{month}} {{day}}, {{year}}",
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Januar",
"timeslider.month.february": "Februar",
"timeslider.month.march": "Mars",
"timeslider.month.april": "Apr\u00edl",
"timeslider.month.may": "Mai",
"timeslider.month.june": "Juni",
"timeslider.month.july": "Juli",
"timeslider.month.august": "August",
"timeslider.month.september": "September",
"timeslider.month.october": "October",
"timeslider.month.november": "November",
"timeslider.month.december": "Desember",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: \u00f3nevndur rith\u00f8vundur, other: \u00f3nevndir rith\u00f8vundar ]}",
"pad.savedrevs.marked": "Henda endursko\u00f0anin er n\u00fa merkt sum ein goymd endursko\u00f0an",
"pad.userlist.entername": "Skriva t\u00edtt navn",
"pad.userlist.unnamed": "ikki-navngivi\u00f0",
"pad.userlist.guest": "Gestur",
"pad.userlist.deny": "Nokta",
"pad.userlist.approve": "G\u00f3\u00f0kenn"
}

View file

@ -13,18 +13,19 @@
"9": "Od1n",
"10": "Peter17",
"11": "Quenenni",
"13": "Stephane Cottin",
"14": "Tux-tn"
"12": "Rastus Vernon",
"14": "Stephane Cottin",
"15": "Tux-tn"
}
},
"index.newPad": "Nouveau Pad",
"index.createOpenPad": "ou cr\u00e9er/ouvrir un Pad intitul\u00e9 :",
"index.newPad": "Nouveau pad",
"index.createOpenPad": "ou cr\u00e9er/ouvrir un pad intitul\u00e9 :",
"pad.toolbar.bold.title": "Gras (Ctrl-B)",
"pad.toolbar.italic.title": "Italique (Ctrl-I)",
"pad.toolbar.underline.title": "Soulign\u00e9 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "Barr\u00e9",
"pad.toolbar.ol.title": "Liste ordonn\u00e9e",
"pad.toolbar.ul.title": "Liste \u00e0 puces",
"pad.toolbar.ul.title": "Liste non ordonn\u00e9e",
"pad.toolbar.indent.title": "Indenter",
"pad.toolbar.unindent.title": "D\u00e9sindenter",
"pad.toolbar.undo.title": "Annuler (Ctrl-Z)",
@ -34,15 +35,15 @@
"pad.toolbar.timeslider.title": "Historique dynamique",
"pad.toolbar.savedRevision.title": "Enregistrer la r\u00e9vision",
"pad.toolbar.settings.title": "Param\u00e8tres",
"pad.toolbar.embed.title": "Partager et int\u00e9grer ce Pad",
"pad.toolbar.showusers.title": "Afficher les utilisateurs du Pad",
"pad.toolbar.embed.title": "Partager et int\u00e9grer ce pad",
"pad.toolbar.showusers.title": "Afficher les utilisateurs du pad",
"pad.colorpicker.save": "Enregistrer",
"pad.colorpicker.cancel": "Annuler",
"pad.loading": "Chargement\u2026",
"pad.passwordRequired": "Vous avez besoin d'un mot de passe pour acc\u00e9der \u00e0 ce Pad",
"pad.permissionDenied": "Il ne vous est pas permis d\u2019acc\u00e9der \u00e0 ce Pad",
"pad.wrongPassword": "Mot de passe incorrect",
"pad.settings.padSettings": "Param\u00e8tres du Pad",
"pad.passwordRequired": "Vous avez besoin d'un mot de passe pour acc\u00e9der \u00e0 ce pad",
"pad.permissionDenied": "Il ne vous est pas permis d\u2019acc\u00e9der \u00e0 ce pad",
"pad.wrongPassword": "Votre mot de passe est incorrect",
"pad.settings.padSettings": "Param\u00e8tres du pad",
"pad.settings.myView": "Ma vue",
"pad.settings.stickychat": "Toujours afficher le chat",
"pad.settings.colorcheck": "Couleurs d\u2019identification",
@ -56,7 +57,7 @@
"pad.importExport.import_export": "Importer/Exporter",
"pad.importExport.import": "Charger un texte ou un document",
"pad.importExport.importSuccessful": "R\u00e9ussi!",
"pad.importExport.export": "Exporter le Pad actuel comme :",
"pad.importExport.export": "Exporter le pad actuel comme :",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Texte brut",
"pad.importExport.exportword": "Microsoft Word",
@ -65,43 +66,43 @@
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "Vous ne pouvez importer que des formats texte brut ou html. Pour des fonctionnalit\u00e9s d'importation plus \u00e9volu\u00e9es, 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.modals.connected": "Connect\u00e9.",
"pad.modals.reconnecting": "Reconnexion vers votre Pad...",
"pad.modals.forcereconnect": "Forcer la reconnexion.",
"pad.modals.reconnecting": "Reconnexion vers votre pad...",
"pad.modals.forcereconnect": "Forcer la reconnexion",
"pad.modals.userdup": "Ouvert dans une autre fen\u00eatre",
"pad.modals.userdup.explanation": "Il semble que ce Pad soit ouvert dans plusieurs fen\u00eatres de votre navigateur sur cet ordinateur.",
"pad.modals.userdup.explanation": "Ce pad semble \u00eatre ouvert dans plus d'une fen\u00eatre de navigateur sur cet ordinateur.",
"pad.modals.userdup.advice": "Se reconnecter en utilisant cette fen\u00eatre.",
"pad.modals.unauth": "Non autoris\u00e9",
"pad.modals.unauth.explanation": "Vos permissions ont \u00e9t\u00e9 chang\u00e9es lors de l'affichage de cette page. Essayez de vous reconnecter.",
"pad.modals.looping": "D\u00e9connect\u00e9.",
"pad.modals.looping.explanation": "Nous \u00e9prouvons un probl\u00e8me de communication au serveur de synchronisation.",
"pad.modals.looping.cause": "Il est possible que votre connexion soit prot\u00e9g\u00e9e par un pare-feu incompatible ou un serveur proxy incompatible.",
"pad.modals.looping.cause": "Il est possible que votre connexion soit prot\u00e9g\u00e9e par un pare-feu ou un serveur mandataire incompatible.",
"pad.modals.initsocketfail": "Le serveur est introuvable.",
"pad.modals.initsocketfail.explanation": "Impossible de se connecter au serveur de synchronisation.",
"pad.modals.initsocketfail.cause": "Le probl\u00e8me peut venir de votre navigateur web ou de votre connexion Internet.",
"pad.modals.initsocketfail.cause": "Ceci est probablement d\u00fb \u00e0 un probl\u00e8me avec votre navigateur ou votre connexion internet.",
"pad.modals.slowcommit": "D\u00e9connect\u00e9.",
"pad.modals.slowcommit.explanation": "Le serveur ne r\u00e9pond pas.",
"pad.modals.slowcommit.cause": "Ce probl\u00e8me peut venir d'une mauvaise connectivit\u00e9 au r\u00e9seau.",
"pad.modals.deleted": "Supprim\u00e9.",
"pad.modals.deleted.explanation": "Ce Pad a \u00e9t\u00e9 supprim\u00e9.",
"pad.modals.deleted.explanation": "Ce pad a \u00e9t\u00e9 supprim\u00e9.",
"pad.modals.disconnected": "Vous avez \u00e9t\u00e9 d\u00e9connect\u00e9.",
"pad.modals.disconnected.explanation": "La connexion au serveur a \u00e9chou\u00e9.",
"pad.modals.disconnected.cause": "Il se peut que le serveur soit indisponible. Si le probl\u00e8me persiste, veuillez nous en informer.",
"pad.share": "Partager ce Pad",
"pad.share": "Partager ce pad",
"pad.share.readonly": "Lecture seule",
"pad.share.link": "Lien",
"pad.share.emebdcode": "Lien \u00e0 int\u00e9grer",
"pad.share.emebdcode": "Incorporer un lien",
"pad.chat": "Chat",
"pad.chat.title": "Ouvrir le chat associ\u00e9 \u00e0 ce pad.",
"pad.chat.loadmessages": "Charger davantage de messages",
"timeslider.pageTitle": "Historique dynamique de {{appTitle}}",
"timeslider.toolbar.returnbutton": "Retour au Pad.",
"timeslider.toolbar.returnbutton": "Retourner au pad",
"timeslider.toolbar.authors": "Auteurs :",
"timeslider.toolbar.authorsList": "Aucun auteur",
"timeslider.toolbar.exportlink.title": "Exporter",
"timeslider.exportCurrent": "Exporter la version actuelle en\u00a0:",
"timeslider.version": "Version {{version}}",
"timeslider.saved": "Enregistr\u00e9 le {{day}} {{month}} {{year}}",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{secondes}}",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Janvier",
"timeslider.month.february": "F\u00e9vrier",
"timeslider.month.march": "Mars",
@ -114,8 +115,7 @@
"timeslider.month.october": "Octobre",
"timeslider.month.november": "Novembre",
"timeslider.month.december": "D\u00e9cembre",
"timeslider.unnamedauthor": "{{num}} auteur anonyme",
"timeslider.unnamedauthors": "{{num}} auteurs anonymes",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: auteur anonyme, other: auteurs anonymes ]}",
"pad.savedrevs.marked": "Cette r\u00e9vision est maintenant marqu\u00e9e comme r\u00e9vision enregistr\u00e9e",
"pad.userlist.entername": "Entrez votre nom",
"pad.userlist.unnamed": "anonyme",
@ -125,7 +125,7 @@
"pad.editbar.clearcolors": "Effacer les couleurs de paternit\u00e9 dans tout le document ?",
"pad.impexp.importbutton": "Importer maintenant",
"pad.impexp.importing": "Import en cours...",
"pad.impexp.confirmimport": "Importer un fichier \u00e9crasera le texte actuel du bloc. \u00cates-vous s\u00fbr de vouloir le faire?",
"pad.impexp.confirmimport": "Importer un fichier \u00e9crasera le texte actuel du pad. \u00cates-vous s\u00fbr 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.uploadFailed": "Le t\u00e9l\u00e9chargement a \u00e9chou\u00e9, veuillez r\u00e9essayer",
"pad.impexp.importfailed": "\u00c9chec de l'importation",

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "Li\u00f1a do tempo",
"pad.toolbar.savedRevision.title": "Gardar a revisi\u00f3n",
"pad.toolbar.settings.title": "Configuraci\u00f3ns",
"pad.toolbar.embed.title": "Incorporar este documento",
"pad.toolbar.embed.title": "Compartir e incorporar este documento",
"pad.toolbar.showusers.title": "Mostrar os usuarios deste documento",
"pad.colorpicker.save": "Gardar",
"pad.colorpicker.cancel": "Cancelar",
@ -101,8 +101,7 @@
"timeslider.month.october": "outubro",
"timeslider.month.november": "novembro",
"timeslider.month.december": "decembro",
"timeslider.unnamedauthor": "{{num}} autor an\u00f3nimo",
"timeslider.unnamedauthors": "{{num}} autores an\u00f3nimos",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor an\u00f3nimo, other: autores an\u00f3nimos ]}",
"pad.savedrevs.marked": "Esta revisi\u00f3n est\u00e1 agora marcada como revisi\u00f3n gardada",
"pad.userlist.entername": "Insira o seu nome",
"pad.userlist.unnamed": "an\u00f3nimo",

View file

@ -3,7 +3,8 @@
"authors": {
"0": "Amire80",
"1": "Ofrahod",
"3": "\u05ea\u05d5\u05de\u05e8 \u05d8"
"3": "YaronSh",
"4": "\u05ea\u05d5\u05de\u05e8 \u05d8"
}
},
"index.newPad": "\u05e4\u05e0\u05e7\u05e1 \u05d7\u05d3\u05e9",
@ -103,8 +104,7 @@
"timeslider.month.october": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
"timeslider.month.november": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
"timeslider.month.december": "\u05d3\u05e6\u05de\u05d1\u05e8",
"timeslider.unnamedauthor": "\u05db\u05d5\u05ea\u05d1 \u05d7\u05e1\u05e8\u05be\u05e9\u05dd \u05d0\u05d7\u05d3",
"timeslider.unnamedauthors": "{{num}} \u05db\u05d5\u05ea\u05d1\u05d9\u05dd \u05d7\u05e1\u05e8\u05d9\u05be\u05e9\u05dd",
"timeslider.unnamedauthors": "{[plural(num) one: \u05d9\u05d5\u05e6\u05e8 \u05d0\u05d7\u05d3, other: {{num}} \u05d9\u05d5\u05e6\u05e8\u05d9\u05dd ]} \u05dc\u05dc\u05d0 \u05e9\u05dd",
"pad.savedrevs.marked": "\u05d2\u05e8\u05e1\u05d4 \u05d6\u05d5 \u05de\u05e1\u05d5\u05de\u05e0\u05ea \u05db\u05d2\u05e8\u05e1\u05d4 \u05e9\u05de\u05d5\u05e8\u05d4",
"pad.userlist.entername": "\u05e0\u05d0 \u05dc\u05d4\u05d6\u05d9\u05df \u05d0\u05ea \u05e9\u05de\u05da",
"pad.userlist.unnamed": "\u05dc\u05dc\u05d0 \u05e9\u05dd",

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "Glissa-tempore",
"pad.toolbar.savedRevision.title": "Version salveguardate",
"pad.toolbar.settings.title": "Configuration",
"pad.toolbar.embed.title": "Incorporar iste pad",
"pad.toolbar.embed.title": "Divider e incorporar iste pad",
"pad.toolbar.showusers.title": "Monstrar le usatores de iste pad",
"pad.colorpicker.save": "Salveguardar",
"pad.colorpicker.cancel": "Cancellar",
@ -101,8 +101,7 @@
"timeslider.month.october": "octobre",
"timeslider.month.november": "novembre",
"timeslider.month.december": "decembre",
"timeslider.unnamedauthor": "{{num}} autor sin nomine",
"timeslider.unnamedauthors": "{{num}} autores sin nomine",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor, other: autores ]} sin nomine",
"pad.savedrevs.marked": "Iste version es ora marcate como version salveguardate",
"pad.userlist.entername": "Entra tu nomine",
"pad.userlist.unnamed": "sin nomine",

View file

@ -104,8 +104,7 @@
"timeslider.month.october": "ottobre",
"timeslider.month.november": "novembre",
"timeslider.month.december": "dicembre",
"timeslider.unnamedauthor": "{{num}} autore senza nome",
"timeslider.unnamedauthors": "{{num}} autori senza nome",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autore, other: autori ]} senza nome",
"pad.savedrevs.marked": "Questa revisione \u00e8 ora contrassegnata come una versione salvata",
"pad.userlist.entername": "Inserisci il tuo nome",
"pad.userlist.unnamed": "senza nome",

View file

@ -101,8 +101,7 @@
"timeslider.month.october": "10\u6708",
"timeslider.month.november": "11\u6708",
"timeslider.month.december": "12\u6708",
"timeslider.unnamedauthor": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005",
"timeslider.unnamedauthors": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005",
"timeslider.unnamedauthors": "{{num}} \u4eba\u306e\u533f\u540d\u306e{[plural(num) other: \u4f5c\u8005 ]}",
"pad.savedrevs.marked": "\u3053\u306e\u7248\u3092\u3001\u4fdd\u5b58\u6e08\u307f\u306e\u7248\u3068\u3057\u3066\u30de\u30fc\u30af\u3057\u307e\u3057\u305f\u3002",
"pad.userlist.entername": "\u540d\u524d\u3092\u5165\u529b",
"pad.userlist.unnamed": "\u540d\u524d\u306a\u3057",

52
src/locales/km.json Normal file
View file

@ -0,0 +1,52 @@
{
"@metadata": {
"authors": [
"\u179c\u17d0\u178e\u1790\u17b6\u179a\u17b7\u1791\u17d2\u1792"
]
},
"index.newPad": "\u1795\u17c1\u178f\u1790\u17d2\u1798\u17b8",
"index.createOpenPad": "\u17ac\u1794\u1784\u17d2\u1780\u17be\u178f/\u1794\u17be\u1780\u1795\u17c1\u178f\u178a\u17c2\u179b\u1798\u17b6\u1793\u1788\u17d2\u1798\u17c4\u17c7\u17d6",
"pad.toolbar.bold.title": "\u178a\u17b7\u178f (Ctrl-B)",
"pad.toolbar.italic.title": "\u1791\u17d2\u179a\u17c1\u178f (Ctrl-I)",
"pad.toolbar.underline.title": "\u1782\u17bc\u179f\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb (Ctrl-U)",
"pad.toolbar.strikethrough.title": "\u1786\u17bc\u178f\u1785\u17c4\u179b",
"pad.toolbar.ol.title": "\u1794\u1789\u17d2\u1787\u17b8\u178f\u17b6\u1798\u178f\u1798\u17d2\u179a\u17c0\u1794",
"pad.toolbar.ul.title": "\u1794\u1789\u17d2\u1787\u17b8\u1798\u17b7\u1793\u178f\u17b6\u1798\u178f\u1798\u17d2\u179a\u17c0\u1794",
"pad.toolbar.indent.title": "\u1781\u17b7\u178f\u1785\u17bc\u179b\u1780\u17d2\u1793\u17bb\u1784",
"pad.toolbar.unindent.title": "\u1781\u17b7\u178f\u1785\u17c1\u1789\u1780\u17d2\u179a\u17c5",
"pad.toolbar.undo.title": "\u17a2\u17b6\u1793\u17cb\u178c\u17bc (Ctrl-Z)",
"pad.toolbar.redo.title": "\u179a\u17b8\u178c\u17bc (Ctrl-Y)",
"pad.toolbar.import_export.title": "\u1793\u17b6\u17c6\u1785\u17bc\u179b/\u1793\u17b6\u17c6\u1785\u17c1\u1789 \u1796\u17b8/\u1791\u17c5\u1794\u17d2\u179a\u1797\u17c1\u1791\u17af\u1780\u179f\u17b6\u179a\u1795\u17d2\u179f\u17c1\u1784\u1791\u17c0\u178f",
"pad.toolbar.settings.title": "\u1780\u17b6\u179a\u1780\u17c6\u178e\u178f\u17cb\u200b",
"pad.colorpicker.save": "\u179a\u1780\u17d2\u179f\u17b6\u1791\u17bb\u1780",
"pad.colorpicker.cancel": "\u1794\u17c4\u17c7\u1794\u1784\u17cb",
"pad.loading": "\u1780\u17c6\u1796\u17bb\u1784\u1795\u17d2\u1791\u17bb\u1780\u2026",
"pad.settings.fontType": "\u1794\u17d2\u179a\u1797\u17c1\u1791\u1796\u17bb\u1798\u17d2\u1796\u17a2\u1780\u17d2\u179f\u179a\u17d6",
"pad.settings.fontType.normal": "\u1792\u1798\u17d2\u1798\u178f\u17b6",
"pad.settings.language": "\u1797\u17b6\u179f\u17b6\u17d6",
"pad.importExport.import_export": "\u1793\u17b6\u17c6\u1785\u17bc\u179b/\u1793\u17b6\u17c6\u1785\u17c1\u1789",
"pad.importExport.importSuccessful": "\u178a\u17c4\u1799\u1787\u17c4\u1782\u1787\u17d0\u1799!",
"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.modals.connected": "\u1794\u17b6\u1793\u200b\u178f\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u17d4",
"pad.share.link": "\u178f\u17c6\u178e\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb",
"timeslider.month.january": "\u1798\u1780\u179a\u17b6",
"timeslider.month.february": "\u1780\u17bb\u1798\u17d2\u1797\u17c8",
"timeslider.month.march": "\u1798\u17b7\u1793\u17b6",
"timeslider.month.april": "\u1798\u17c1\u179f\u17b6",
"timeslider.month.may": "\u17a7\u179f\u1797\u17b6",
"timeslider.month.june": "\u1798\u17b7\u1790\u17bb\u1793\u17b6\u200b",
"timeslider.month.july": "\u1780\u1780\u17d2\u178a\u178a\u17b6\u200b",
"timeslider.month.august": "\u179f\u17b8\u17a0\u17b6",
"timeslider.month.september": "\u1780\u1789\u17d2\u1789\u17b6",
"timeslider.month.october": "\u178f\u17bb\u179b\u17b6",
"timeslider.month.november": "\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6",
"timeslider.month.december": "\u1792\u17d2\u1793\u17bc",
"pad.userlist.guest": "\u1797\u17d2\u1789\u17c0\u179c",
"pad.impexp.importbutton": "\u1793\u17b6\u17c6\u1785\u17bc\u179b\u17a5\u17a1\u17bc\u179c\u1793\u17c1\u17c7",
"pad.impexp.importing": "\u1780\u17c6\u1796\u17bb\u1784\u1793\u17b6\u17c6\u1785\u17bc\u179b\u200b..."
}

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "\uc2dc\uac04\uc2ac\ub77c\uc774\ub354",
"pad.toolbar.savedRevision.title": "\ud310 \uc800\uc7a5",
"pad.toolbar.settings.title": "\uc124\uc815",
"pad.toolbar.embed.title": "\uc774 \ud328\ub4dc \ud3ec\ud568\ud558\uae30",
"pad.toolbar.embed.title": "\uc774 \ud328\ub4dc\ub97c \uacf5\uc720\ud558\uace0 \ud3ec\ud568\ud558\uae30",
"pad.toolbar.showusers.title": "\uc774 \ud328\ub4dc\uc5d0 \uc0ac\uc6a9\uc790 \ubcf4\uae30",
"pad.colorpicker.save": "\uc800\uc7a5",
"pad.colorpicker.cancel": "\ucde8\uc18c",
@ -101,8 +101,7 @@
"timeslider.month.october": "10\uc6d4",
"timeslider.month.november": "11\uc6d4",
"timeslider.month.december": "12\uc6d4",
"timeslider.unnamedauthor": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85",
"timeslider.unnamedauthors": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85",
"timeslider.unnamedauthors": "\uc774\ub984 \uc5c6\ub294 {[plural(num) one: \uc800\uc790, other: \uc800\uc790 ]} {{num}}\uba85",
"pad.savedrevs.marked": "\uc774 \ud310\uc740 \uc774\uc81c \uc800\uc7a5\ud55c \ud310\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.",
"pad.userlist.entername": "\uc774\ub984\uc744 \uc785\ub825\ud558\uc138\uc694",
"pad.userlist.unnamed": "\uc774\ub984\uc5c6\uc74c",

View file

@ -101,7 +101,6 @@
"timeslider.month.october": "Oktoober",
"timeslider.month.november": "Nov\u00e4mber",
"timeslider.month.december": "Dez\u00e4mber",
"timeslider.unnamedauthor": "{{num}} naameloose Schriever",
"timeslider.unnamedauthors": "{{num}} naameloose Schriever",
"pad.savedrevs.marked": "Heh di V\u00e4sjohn es j\u00e4z fa\u00dfjehallde.",
"pad.userlist.entername": "Jif Dinge Naame en",

View file

@ -1,8 +1,9 @@
{
"@metadata": {
"authors": [
"Robby"
]
"authors": {
"0": "Robby",
"2": "Soued031"
}
},
"index.newPad": "Neie Pad",
"pad.toolbar.ol.title": "Numer\u00e9iert L\u00ebscht",
@ -14,7 +15,7 @@
"pad.colorpicker.save": "Sp\u00e4icheren",
"pad.colorpicker.cancel": "Ofbriechen",
"pad.loading": "Lueden...",
"pad.wrongPassword": "\u00c4rt Passwuert ass falsch",
"pad.wrongPassword": "\u00c4ert Passwuert ass falsch",
"pad.settings.fontType.normal": "Normal",
"pad.settings.language": "Sprooch:",
"pad.importExport.importSuccessful": "Erfollegr\u00e4ich",

75
src/locales/lt.json Normal file
View file

@ -0,0 +1,75 @@
{
"@metadata": {
"authors": [
"Eitvys200",
"Mantak111"
]
},
"pad.toolbar.bold.title": "Pary\u0161kintasis (Ctrl-B)",
"pad.toolbar.italic.title": "Pasvirasis (Ctrl-I)",
"pad.toolbar.underline.title": "Pabraukimas (Ctrl-U)",
"pad.toolbar.undo.title": "Anuliuoti (Ctrl-Z)",
"pad.toolbar.redo.title": "Perdaryti (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "Tvarkyti autoryst\u0117s spalvas",
"pad.toolbar.settings.title": "Nustatymai",
"pad.colorpicker.save": "I\u0161saugoti",
"pad.colorpicker.cancel": "At\u0161aukti",
"pad.loading": "\u012ekraunama...",
"pad.settings.myView": "Mano Vaizdas",
"pad.settings.fontType": "\u0160rifto tipas:",
"pad.settings.fontType.normal": "Normalus",
"pad.settings.globalView": "Bendras Vaizdas",
"pad.settings.language": "Kalba:",
"pad.importExport.import_export": "Importuoti/Eksportuoti",
"pad.importExport.import": "\u012ekelkite bet kok\u012f tekstin\u012f fail\u0105 arba dokument\u0105",
"pad.importExport.importSuccessful": "Pavyko!",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Paprastasis tekstas",
"pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF (Atvirasis dokumento formatas)",
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.modals.connected": "Prisijungta.",
"pad.modals.unauth": "Neleid\u017eiama",
"pad.modals.looping": "Atjungtas.",
"pad.modals.initsocketfail": "Serveris yra nepasiekiamas.",
"pad.modals.slowcommit": "Atjungtas.",
"pad.modals.slowcommit.explanation": "Serveris neatsako.",
"pad.modals.deleted": "I\u0161trintas.",
"pad.modals.disconnected": "J\u016bs atsijung\u0117te.",
"pad.share.readonly": "Tik skaityti",
"pad.share.link": "Nuoroda",
"pad.share.emebdcode": "\u012eterptasis URL",
"pad.chat": "Pokalbiai",
"pad.chat.loadmessages": "\u012ekrauti daugiau prane\u0161im\u0173",
"timeslider.toolbar.authors": "Autoriai:",
"timeslider.toolbar.authorsList": "N\u0117ra autori\u0173",
"timeslider.toolbar.exportlink.title": "Eksportuoti",
"timeslider.exportCurrent": "Eksportuoti dabartin\u0119 versij\u0105 kaip:",
"timeslider.version": "Versija {{version}}",
"timeslider.saved": "I\u0161saugota {{year}},{{month}} {{day}}",
"timeslider.dateformat": "{{year}}-{{month}}-{{day}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Sausis",
"timeslider.month.february": "Vasaris",
"timeslider.month.march": "Kovas",
"timeslider.month.april": "Balandis",
"timeslider.month.may": "Gegu\u017e\u0117",
"timeslider.month.june": "Bir\u017eelis",
"timeslider.month.july": "Liepa",
"timeslider.month.august": "Rugpj\u016btis",
"timeslider.month.september": "Rugs\u0117jis",
"timeslider.month.october": "Spalis",
"timeslider.month.november": "Lapkritis",
"timeslider.month.december": "Gruodis",
"timeslider.unnamedauthors": "{{num}} bevard\u017eiai(-i\u0173) autoriai(-i\u0173)",
"pad.userlist.entername": "\u012eveskite savo vard\u0105",
"pad.userlist.unnamed": "bevardis",
"pad.userlist.guest": "Sve\u010dias",
"pad.userlist.deny": "Neigti",
"pad.userlist.approve": "Patvirtinti",
"pad.impexp.importbutton": "Importuoti dabar",
"pad.impexp.importing": "Importuojama...",
"pad.impexp.uploadFailed": "\u012ek\u0117limas nepavyko, bandykite dar kart\u0105",
"pad.impexp.importfailed": "Importuoti nepavyko",
"pad.impexp.copypaste": "Pra\u0161ome nukopijuoti ir \u012fklijuoti"
}

View file

@ -1,7 +1,9 @@
{
"@metadata": {
"authors": [
"Admresdeserv."
"Admresdeserv.",
"Jmg.cmdi",
"Papuass"
]
},
"pad.toolbar.bold.title": "Treknrakst\u0101 (CTRL + B)",
@ -16,19 +18,28 @@
"pad.toolbar.redo.title": "Atcelt atsauk\u0161anu (CTRL + Y)",
"pad.toolbar.clearAuthorship.title": "Not\u012brit autoru kr\u0101sas",
"pad.toolbar.import_export.title": "Import\u0113\u0161anas/eksport\u0113\u0161anas no un uz citu failu form\u0101tiem",
"pad.toolbar.savedRevision.title": "Saglab\u0101t p\u0101rskat\u012b\u0161anu",
"pad.toolbar.settings.title": "Iestat\u012bjumi",
"pad.toolbar.embed.title": "Koplietot un iegut \u0161o pad",
"pad.toolbar.showusers.title": "Par\u0101d\u012bt \u0161o padu lietot\u0101jus",
"pad.colorpicker.save": "Saglab\u0101t",
"pad.colorpicker.cancel": "Atcelt",
"pad.loading": "Iel\u0101d\u0113\u2026",
"pad.passwordRequired": "Ir nepiecie\u0161ama parole, lai piek\u013c\u016btu \u0161im pad",
"pad.permissionDenied": "Atvaino, bet tev nav pieejas \u0161im pad.",
"pad.wrongPassword": "J\u016bsu parole bija nepareiza",
"pad.settings.padSettings": "Pad Iestatijumi",
"pad.settings.myView": "Mans viedoklis",
"pad.settings.stickychat": "\u010cats vienm\u0113r ekr\u0101n\u0101",
"pad.settings.colorcheck": "Autor\u012bbas kr\u0101sas",
"pad.settings.linenocheck": "Rindi\u0146u numurus",
"pad.settings.rtlcheck": "Las\u012bt saturu no lab\u0101s puses uz kreiso?",
"pad.settings.fontType": "Fonta tips:",
"pad.settings.fontType.normal": "Norm\u0101ls",
"pad.settings.globalView": "Glob\u0101lu skat\u012bjumu",
"pad.settings.language": "Valoda:",
"pad.importExport.import_export": "Importet/Eksportet",
"pad.importExport.import": "Aug\u0161upiel\u0101d\u0113t jebkuru teksta failu vai dokumentu",
"pad.importExport.importSuccessful": "Veiksm\u012bgi!",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Vienk\u0101r\u0161a teksta",
@ -50,5 +61,26 @@
"pad.modals.disconnected.cause": "Iesp\u0113jams, ka serveris nav pieejams. L\u016bgums pazi\u0146ot mums, ja tas turpina notikt.",
"pad.share": "Koplietot \u0161o pad",
"pad.share.readonly": "Tikai las\u0101ms",
"pad.share.link": "Saite"
"pad.share.link": "Saite",
"timeslider.toolbar.authors": "Autori:",
"timeslider.toolbar.authorsList": "Nav autoru",
"timeslider.toolbar.exportlink.title": "Eksport\u0113t",
"timeslider.month.january": "Janv\u0101ris",
"timeslider.month.february": "Febru\u0101ris",
"timeslider.month.march": "Marts",
"timeslider.month.april": "Apr\u012blis",
"timeslider.month.may": "Maijs",
"timeslider.month.june": "J\u016bnijs",
"timeslider.month.july": "J\u016blijs",
"timeslider.month.august": "Augusts",
"timeslider.month.september": "Septembris",
"timeslider.month.october": "Oktobris",
"timeslider.month.november": "Novembris",
"timeslider.month.december": "Decembris",
"pad.userlist.entername": "Ievadiet savu v\u0101rdu",
"pad.userlist.unnamed": "nenosaukts",
"pad.userlist.guest": "Viesis",
"pad.impexp.importbutton": "Import\u0113t t\u016bl\u012bt",
"pad.impexp.importing": "Import\u0113...",
"pad.impexp.importfailed": "Imports neizdev\u0101s"
}

120
src/locales/map-bms.json Normal file
View file

@ -0,0 +1,120 @@
{
"@metadata": {
"authors": [
"StefanusRA"
]
},
"index.newPad": "Pad Anyar",
"index.createOpenPad": "utawa gawe/bukak Pad nganggo jeneng:",
"pad.toolbar.bold.title": "Kandhel (Ctrl-B)",
"pad.toolbar.italic.title": "Miring (Ctrl-I)",
"pad.toolbar.underline.title": "Garisngisor (Ctrl-U)",
"pad.toolbar.strikethrough.title": "Corettengaeh",
"pad.toolbar.ol.title": "Daftar nganggo nomer",
"pad.toolbar.ul.title": "Daftar ora nganggo nomer",
"pad.toolbar.indent.title": "Nggantung",
"pad.toolbar.unindent.title": "nggantung njaba",
"pad.toolbar.undo.title": "Batalna (Ctrl-Z)",
"pad.toolbar.redo.title": "Baleni (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "Busek ''Authorship Colors''",
"pad.toolbar.import_export.title": "Impor/Ekspor sekang/maring format berkas sejen",
"pad.toolbar.timeslider.title": "Timeslider",
"pad.toolbar.savedRevision.title": "Simpen revisi",
"pad.toolbar.settings.title": "Pangaturan",
"pad.toolbar.embed.title": "Sebarna lan ''embed'' pad kiye",
"pad.toolbar.showusers.title": "Tidokna panganggo-panganggo nang pad kiye",
"pad.colorpicker.save": "Simpen",
"pad.colorpicker.cancel": "Batalna",
"pad.loading": "Muatna...",
"pad.passwordRequired": "Rika perlu tembung sandhi kanggo ngakses pad kiye",
"pad.permissionDenied": "Rika ora duwe idin kanggo ngakses pad kiye",
"pad.wrongPassword": "Tembung sandhine Rika salah",
"pad.settings.padSettings": "Pangaturan Pad",
"pad.settings.myView": "Delengane Inyong",
"pad.settings.stickychat": "Dopokan mesti nang layar",
"pad.settings.colorcheck": "Authorship colors",
"pad.settings.linenocheck": "Nomer baris",
"pad.settings.rtlcheck": "Waca isi sekang tengen maring kiwe?",
"pad.settings.fontType": "Tipe Font:",
"pad.settings.fontType.normal": "Normal",
"pad.settings.fontType.monospaced": "Monospace",
"pad.settings.globalView": "Global View",
"pad.settings.language": "Basa:",
"pad.importExport.import_export": "Impor/Ekspor",
"pad.importExport.import": "Unggahna berkas teks utawa dokumen",
"pad.importExport.importSuccessful": "Sukses!",
"pad.importExport.export": "Ekspor pad kiye dadi:",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "t",
"pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF (Open Document Format)",
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "Rika mung teyeng impor sekang format plain text utawa HTML. Kanggo fitur impor sing lewih maju monggo \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\"\u003Emasang abiword\u003C/a\u003E.",
"pad.modals.connected": "Nyambung.",
"pad.modals.reconnecting": "Mbaleli nyambung ming pad Rika...",
"pad.modals.forcereconnect": "Maksa nyambung maning",
"pad.modals.userdup": "Bukak nang jendela sejen",
"pad.modals.userdup.explanation": "Pad kiye kayane dibukak nang lewih sekang siji browser nang komputer kiye.",
"pad.modals.userdup.advice": "Nyambung maning nganggo jendela kiye baen.",
"pad.modals.unauth": "Not authorized",
"pad.modals.unauth.explanation": "Idin-e Rika wis diowahi dong lagi ndeleng kaca kiye. Jajal nyambung maning.",
"pad.modals.looping": "Pedot sambungane.",
"pad.modals.looping.explanation": "Pra ana masalah komunikasi karo server sinkronisasi.",
"pad.modals.looping.cause": "Ndeyan Rika gole nyambung nganggo firewall utawa proksi sing ora pas.",
"pad.modals.initsocketfail": "Server ora teyeng dihubungi.",
"pad.modals.initsocketfail.explanation": "Ora teyeng nyambung maring sinkronisasi server.",
"pad.modals.initsocketfail.cause": "Kiye ndeyan ana masalah karo perambanne Rika utawa sambungan internete Rika.",
"pad.modals.slowcommit": "Pedot sambungane.",
"pad.modals.slowcommit.explanation": "Server ora respon.",
"pad.modals.slowcommit.cause": "Kiye ndeyan ana masalah karo sambungan jaringan.",
"pad.modals.deleted": "Dibusek.",
"pad.modals.deleted.explanation": "Pad kiye wis dibusek.",
"pad.modals.disconnected": "Rika wis dipedot sambungane.",
"pad.modals.disconnected.explanation": "Sambungan maring server wis ilang",
"pad.modals.disconnected.cause": "Servere ndeyan ora ana. Monggo tidokna inyong angger kahanan kiye terus kedaden maning.",
"pad.share": "Sebarna pad kiye",
"pad.share.readonly": "Waca thok",
"pad.share.link": "Pranala",
"pad.share.emebdcode": "Embed URL",
"pad.chat": "Dopokan",
"pad.chat.title": "Buka dopokan kanggo pad kiye.",
"pad.chat.loadmessages": "Muatna pesen lewih akeh",
"timeslider.pageTitle": "{{appTitle}} Timeslider",
"timeslider.toolbar.returnbutton": "Mbalik ming pad",
"timeslider.toolbar.authors": "Penulise:",
"timeslider.toolbar.authorsList": "Ora ana penulise",
"timeslider.toolbar.exportlink.title": "Ekspor",
"timeslider.exportCurrent": "Ekspor versi sekiye dadi:",
"timeslider.version": "Versi {{version}}",
"timeslider.saved": "Simpen {{day}} {{month}} {{year}}",
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Januari",
"timeslider.month.february": "Februari",
"timeslider.month.march": "Maret",
"timeslider.month.april": "April",
"timeslider.month.may": "Mei",
"timeslider.month.june": "Juni",
"timeslider.month.july": "Juli",
"timeslider.month.august": "Agustus",
"timeslider.month.september": "September",
"timeslider.month.october": "Oktober",
"timeslider.month.november": "November",
"timeslider.month.december": "Desember",
"timeslider.unnamedauthors": "{{num}} durung dijenengi {[plural(num) one: author, other: authors ]}",
"pad.savedrevs.marked": "Revisi kiye sekiye ditandani dadi revisi sing wis disimpen",
"pad.userlist.entername": "Lebokna jenenge Rika",
"pad.userlist.unnamed": "durungdijenengi",
"pad.userlist.guest": "Dayoh",
"pad.userlist.deny": "Ora olih",
"pad.userlist.approve": "Sarujuk",
"pad.editbar.clearcolors": "Busek ''authorship colors'' nang kabeh dokumen?",
"pad.impexp.importbutton": "Impor Sekiye",
"pad.impexp.importing": "Lagi ngimpor...",
"pad.impexp.confirmimport": "Ngimpor berkas bakal dadi nindih teks sekiye nang pad. Apa Rika wis mantep arep mroses kiye?",
"pad.impexp.convertFailed": "Inyong ora teyeng ngimpor berkas kiye. Jajal nganggo format dokumen sejen utawa salin-tempel manual.",
"pad.impexp.uploadFailed": "Gole ngunggah gagal, monggo dijajal maning",
"pad.impexp.importfailed": "Gole ngimpor gagal",
"pad.impexp.copypaste": "Monggo salin-tempel",
"pad.impexp.exportdisabled": "Ngekspor maring format {{type}} ora olih. Monggo takon maring administrator sisteme Rika kanggo detile."
}

View file

@ -102,8 +102,7 @@
"timeslider.month.october": "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
"timeslider.month.november": "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
"timeslider.month.december": "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438",
"timeslider.unnamedauthor": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u0430\u0432\u0442\u043e\u0440",
"timeslider.unnamedauthors": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u0438 \u0430\u0432\u0442\u043e\u0440\u0438",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u0430\u0432\u0442\u043e\u0440, other: \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u0438 \u0430\u0432\u0442\u043e\u0440\u0438 ]}",
"pad.savedrevs.marked": "\u041e\u0432\u0430\u0430 \u0440\u0435\u0432\u0438\u0437\u0438\u0458\u0430 \u0441\u0435\u0433\u0430 \u0435 \u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043a\u0430\u043a\u043e \u0437\u0430\u0447\u0443\u0432\u0430\u043d\u0430",
"pad.userlist.entername": "\u0412\u043d\u0435\u0441\u0435\u0442\u0435 \u0433\u043e \u0432\u0430\u0448\u0435\u0442\u043e \u0438\u043c\u0435",
"pad.userlist.unnamed": "\u0431\u0435\u0437 \u0438\u043c\u0435",

View file

@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
"Akhilan",
"Hrishikesh.kb",
"Praveenp",
"Santhosh.thottingal"
@ -8,7 +9,7 @@
},
"index.newPad": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d3e\u0d21\u0d4d",
"index.createOpenPad": "\u0d05\u0d32\u0d4d\u0d32\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d7d \u0d2a\u0d47\u0d30\u0d41\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d2a\u0d3e\u0d21\u0d4d \u0d38\u0d43\u0d37\u0d4d\u0d1f\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15/\u0d24\u0d41\u0d31\u0d15\u0d4d\u0d15\u0d41\u0d15:",
"pad.toolbar.bold.title": "\u0d15\u0d1f\u0d4d\u0d1f\u0d3f\u0d15\u0d42\u0d1f\u0d4d\u0d1f\u0d3f\u0d2f\u0d46\u0d34\u0d41\u0d24\u0d41\u0d15 (Ctrl-B)",
"pad.toolbar.bold.title": "\u0d15\u0d1f\u0d41\u0d2a\u0d4d\u0d2a\u0d24\u0d4d\u0d24\u0d3f\u0d7d (Ctrl-B)",
"pad.toolbar.italic.title": "\u0d1a\u0d46\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d46\u0d34\u0d41\u0d24\u0d41\u0d15 (Ctrl-I)",
"pad.toolbar.underline.title": "\u0d05\u0d1f\u0d3f\u0d35\u0d30\u0d2f\u0d3f\u0d1f\u0d41\u0d15 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "\u0d35\u0d46\u0d1f\u0d4d\u0d1f\u0d41\u0d15",
@ -103,8 +104,7 @@
"timeslider.month.october": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c",
"timeslider.month.november": "\u0d28\u0d35\u0d02\u0d2c\u0d7c",
"timeslider.month.december": "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c",
"timeslider.unnamedauthor": "{{num}} \u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d35\u0d4d",
"timeslider.unnamedauthors": "{{num}} \u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d7e",
"timeslider.unnamedauthors": "{{num}} \u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 {[plural(num) one: \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d35\u0d4d, other: \u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d7e }}",
"pad.savedrevs.marked": "\u0d08 \u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d4d \u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d3f\u0d1f\u0d4d\u0d1f\u0d41\u0d33\u0d4d\u0d33 \u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d3e\u0d2f\u0d3f \u0d05\u0d1f\u0d2f\u0d3e\u0d33\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d24\u0d4d\u0d24\u0d3f\u0d2f\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d41",
"pad.userlist.entername": "\u0d24\u0d3e\u0d19\u0d4d\u0d15\u0d33\u0d41\u0d1f\u0d46 \u0d2a\u0d47\u0d30\u0d4d \u0d28\u0d7d\u0d15\u0d41\u0d15",
"pad.userlist.unnamed": "\u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24\u0d35",

59
src/locales/mr.json Normal file
View file

@ -0,0 +1,59 @@
{
"@metadata": {
"authors": [
"Ganeshgiram",
"V.narsikar",
"Ydyashad"
]
},
"index.newPad": "\u0928\u0935 \u092a\u093e\u0928",
"pad.toolbar.bold.title": "\u0920\u0933\u0915 (Ctrl-B)",
"pad.toolbar.italic.title": "\u0924\u093f\u0930\u092a\u0940 \u092e\u0941\u0926\u094d\u0930\u093e\u0915\u094d\u0937\u0930\u0947 (Ctrl-I)",
"pad.toolbar.underline.title": "\u0905\u0927\u094b\u0930\u0947\u0916\u0928 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "\u0905\u0915\u094d\u0937\u0930\u093e\u0902\u0935\u0930 \u0915\u093e\u091f",
"pad.toolbar.savedRevision.title": "\u0906\u0935\u0943\u0924\u094d\u0924\u0940 \u091c\u0924\u0928 \u0915\u0930\u093e",
"pad.toolbar.settings.title": "\u0938\u0902\u0930\u091a\u0928\u093e",
"pad.colorpicker.save": "\u091c\u0924\u0928 \u0915\u0930\u093e",
"pad.colorpicker.cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
"pad.loading": "\u092a\u094d\u0930\u092d\u093e\u0930\u0923 \u0915\u0930\u0940\u0924 \u0906\u0939\u0947",
"pad.wrongPassword": "\u0906\u092a\u0932\u093e \u092a\u0930\u0935\u0932\u0940\u091a\u093e \u0936\u092c\u094d\u0926 \u091a\u0942\u0915 \u0939\u094b\u0924\u093e",
"pad.settings.myView": "\u092e\u093e\u091d\u0947 \u0926\u0943\u0936\u094d\u092f",
"pad.settings.linenocheck": "\u0930\u0947\u0937\u093e\u0902\u091a\u0947 \u0915\u094d\u0930\u092e\u093e\u0902\u0915",
"pad.settings.language": "\u092d\u093e\u0937\u093e",
"pad.importExport.import_export": "\u0906\u092f\u093e\u0924/\u0928\u093f\u0930\u094d\u092f\u093e\u0924",
"pad.importExport.importSuccessful": "\u092f\u0936\u0938\u094d\u0935\u0940!",
"pad.importExport.exportplain": "\u0938\u093e\u0927\u093e \u092e\u091c\u0915\u0942\u0930",
"pad.importExport.exportword": "\u092e\u093e\u092f\u0915\u094d\u0930\u094b\u0938\u0949\u092b\u094d\u091f \u0935\u0930\u094d\u0921",
"pad.importExport.exportpdf": "\u092a\u0940\u0921\u0940\u090f\u092b",
"pad.importExport.exportopen": "\u0913\u0921\u0940\u090f\u092b(\u0913\u092a\u0928 \u0921\u0949\u0915\u094d\u092f\u0942\u092e\u0947\u0902\u091f \u092b\u0949\u0930\u092e\u0945\u091f)",
"pad.importExport.exportdokuwiki": "\u0921\u0941\u0915\u0941\u0935\u093f\u0915\u093f",
"pad.modals.connected": "\u0905\u0928\u0941\u092c\u0902\u0927\u093f\u0924",
"pad.modals.looping": "\u0905\u0928-\u0905\u0928\u0941\u092c\u0902\u0927\u093f\u0924",
"pad.modals.initsocketfail": "\u0935\u093f\u0926\u093e\u0917\u093e\u0930\u093e\u0938 \u092a\u094b\u091a \u0928\u093e\u0939\u0940.",
"pad.modals.slowcommit": "\u0905\u0928-\u0905\u0928\u0941\u092c\u0902\u0927\u093f\u0924.",
"pad.modals.deleted": "\u0935\u0917\u0933\u0932\u0947.",
"pad.modals.disconnected.cause": "\u092c\u0939\u0941\u0924\u0947\u0915 \u0938\u0930\u0935\u0930 \u0909\u092a\u0932\u092c\u094d\u0927 \u0939\u094b\u0923\u093e\u0930 \u0928\u093e\u0939\u0940\u0964 \u0905\u0938 \u0935\u093e\u0930\u0902\u0935\u093e\u0930 \u091d\u093e\u0932\u094d\u092f\u093e\u0938 \u0915\u0943\u092a\u092f\u093e \u0906\u092e\u094d\u0939\u093e\u0932\u093e \u0915\u0933\u0935\u093e\u0964",
"pad.share.link": "\u0926\u0941\u0935\u093e",
"pad.chat": "\u0917\u092a\u094d\u092a\u093e",
"timeslider.toolbar.authorsList": "\u0932\u0947\u0916\u0915 \u0928\u093e\u0939\u0940",
"timeslider.month.january": "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940",
"timeslider.month.february": "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
"timeslider.month.march": "\u092e\u093e\u0930\u094d\u091a",
"timeslider.month.april": "\u090f\u092a\u094d\u0930\u093f\u0932",
"timeslider.month.may": "\u092e\u0947",
"timeslider.month.june": "\u091c\u0942\u0928",
"timeslider.month.july": "\u091c\u0941\u0932\u0948",
"timeslider.month.august": "\u0911\u0917\u0938\u094d\u091f",
"timeslider.month.september": "\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930",
"timeslider.month.october": "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
"timeslider.month.november": "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930",
"timeslider.month.december": "\u0921\u093f\u0938\u0947\u0902\u092c\u0930",
"pad.userlist.entername": "\u0906\u092a\u0932\u0947 \u0928\u093e\u0935 \u091f\u093e\u0915\u093e",
"pad.userlist.unnamed": "\u0928\u093f\u0928\u093e\u0935\u0940",
"pad.userlist.guest": "\u092a\u093e\u0939\u0942\u0923\u093e",
"pad.userlist.approve": "\u092e\u0902\u091c\u0942\u0930 \u0915\u0930\u093e",
"pad.impexp.importbutton": "\u0906\u0924\u093e \u0906\u092f\u093e\u0924 \u0915\u0930\u093e",
"pad.impexp.importing": "\u0906\u092f\u093e\u0924 \u0915\u0930\u0940\u0924 \u0906\u0939\u0947...",
"pad.impexp.importfailed": "\u0906\u092f\u093e\u0924 \u0905\u092f\u0936\u0938\u094d\u0935\u0940",
"pad.impexp.copypaste": "\u0915\u0943\u092a\u092f\u093e \u0928\u0915\u0932-\u0921\u0915\u0935\u093e"
}

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "Gelangsar masa",
"pad.toolbar.savedRevision.title": "Simpan Semakan",
"pad.toolbar.settings.title": "Tetapan",
"pad.toolbar.embed.title": "Benamkan pad ini",
"pad.toolbar.embed.title": "Kongsikan dan Terapkan pad ini",
"pad.toolbar.showusers.title": "Tunjukkan pengguna pada pad ini",
"pad.colorpicker.save": "Simpan",
"pad.colorpicker.cancel": "Batalkan",
@ -101,8 +101,7 @@
"timeslider.month.october": "Oktober",
"timeslider.month.november": "November",
"timeslider.month.december": "Disember",
"timeslider.unnamedauthor": "{{num}} orang pengarang awanama",
"timeslider.unnamedauthors": "{{num}} orang pengarang awanama",
"timeslider.unnamedauthors": "{{num}} orang {[plural(num) other: pengarang]} awanama",
"pad.savedrevs.marked": "Semakan ini telah ditandai sebagai semakan tersimpan",
"pad.userlist.entername": "Taipkan nama anda",
"pad.userlist.unnamed": "tanpa nama",

View file

@ -101,7 +101,6 @@
"timeslider.month.october": "oktober",
"timeslider.month.november": "november",
"timeslider.month.december": "desember",
"timeslider.unnamedauthor": "{{num}} navnl\u00f8se forfattere",
"timeslider.unnamedauthors": "{{num}} navnl\u00f8se forfattere",
"pad.savedrevs.marked": "Denne revisjonen er n\u00e5 markert som en lagret revisjon",
"pad.userlist.entername": "Skriv inn ditt navn",

121
src/locales/nds.json Normal file
View file

@ -0,0 +1,121 @@
{
"@metadata": {
"authors": [
"Gthoele",
"Joachim Mos"
]
},
"index.newPad": "Nee'et Pad",
"index.createOpenPad": "oder Pad mit d\u00fcssen Naam apen maken:",
"pad.toolbar.bold.title": "Fett (Strg-B)",
"pad.toolbar.italic.title": "Kursiv (Strg-I)",
"pad.toolbar.underline.title": "Mit Streek dor \u00fcnner (Strg-U)",
"pad.toolbar.strikethrough.title": "Mit Streek dor d\u00f6r",
"pad.toolbar.ol.title": "List na Nummern",
"pad.toolbar.ul.title": "List ahn Nummern",
"pad.toolbar.indent.title": "Text na rechts",
"pad.toolbar.unindent.title": "Text na links",
"pad.toolbar.undo.title": "Een Stapp retuur (Strg-Z)",
"pad.toolbar.redo.title": "Noch mal (Strg-Y)",
"pad.toolbar.clearAuthorship.title": "Kl\u00f6\u00f6r vun den Schriever wegnehmen",
"pad.toolbar.import_export.title": "Rinhalen/Rutgeven in verscheden Dateiformate",
"pad.toolbar.timeslider.title": "Geschicht vun de Pad-Faten wiesen",
"pad.toolbar.savedRevision.title": "Faten sekern",
"pad.toolbar.settings.title": "Instellungen",
"pad.toolbar.embed.title": "D\u00fct Pad verdelen oder annerswo ringeven",
"pad.toolbar.showusers.title": "Wokeen is online?",
"pad.colorpicker.save": "Spiekern",
"pad.colorpicker.cancel": "Afbreken",
"pad.loading": "L\u00e4\u00e4dt\u2026",
"pad.passwordRequired": "Du bruukst en Passwoort, wenn du in d\u00fct Pad rinwullt",
"pad.permissionDenied": "In d\u00fct Pad dr\u00f6ffst du nich rin",
"pad.wrongPassword": "Dien Passwoort weer nich richtig",
"pad.settings.padSettings": "So is dat Pad instellt",
"pad.settings.myView": "So heff ik dat instellt",
"pad.settings.stickychat": "Chat j\u00fcmmers wiesen",
"pad.settings.colorcheck": "Kl\u00f6ren vun de Schrievers wiesen",
"pad.settings.linenocheck": "Nummer vun de Reeg",
"pad.settings.rtlcheck": "Lees Pad vun rechts nach links",
"pad.settings.fontType": "Schriftoort:",
"pad.settings.fontType.normal": "Normaal",
"pad.settings.fontType.monospaced": "Monospace",
"pad.settings.globalView": "Ansicht f\u00f6r all",
"pad.settings.language": "Spraak:",
"pad.importExport.import_export": "Rinhalen/Rutgeven",
"pad.importExport.import": "Datei oder Dokument hoochladen",
"pad.importExport.importSuccessful": "Hett slumpt!",
"pad.importExport.export": "D\u00fct Pad rutgeven as:",
"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": "Se k\u00f6\u00f6nt blots wat vun Kloortext oder HTML-St\u00fccken r\u00f6verhalen. Mit \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 k\u00f6\u00f6nt Se ok anner Saken r\u00f6verhalen. Dorf\u00f6r m\u00f6\u00f6t Se bidde abiword inrichten\u003C/a\u003E.",
"pad.modals.connected": "Verbindung steiht.",
"pad.modals.reconnecting": "En Verbindung wedder opboen ...",
"pad.modals.forcereconnect": "Noch mal verbinnen",
"pad.modals.userdup": "In en anner Fenster op",
"pad.modals.userdup.explanation": "Dat lett, d\u00fct Pat is op d\u00fcssen Reekner in mehr as een Browser-Fenster op.",
"pad.modals.userdup.advice": "Wullt du d\u00fct Fenster bruken, bidde noch mal de Verbindung opboen.",
"pad.modals.unauth": "Nich freegeven.",
"pad.modals.unauth.explanation": "Du hest nu anner Rechten f\u00f6r d\u00fct Pad. Maak dat bidde noch mal wedder nee op.",
"pad.modals.looping": "Verbindung steiht nich mehr.",
"pad.modals.looping.explanation": "Dat gifft Kummer bi de Verbindung mit den Pad-Server.",
"pad.modals.looping.cause": "Mag ween un du hest Verbindung mit den Padserver \u00f6ver en Firewall, de nich passt, oder en Proxy, de nich passt.",
"pad.modals.initsocketfail": "Wi k\u00f6\u00f6nt den Pad-Server nich faat kriegen.",
"pad.modals.initsocketfail.explanation": "De Verbindung mit den Pad-Server hett nich klappt.",
"pad.modals.initsocketfail.cause": "Mag ween un dat liggt an dien Browser oder an dien Internet-Verbindung.",
"pad.modals.slowcommit": "Verbindung steiht nich mehr.",
"pad.modals.slowcommit.explanation": "De Pad-Server gifft keen Antwoort.",
"pad.modals.slowcommit.cause": "Kunn wenn un dat liggt an dat Nettwark, oder dor arbeidt j\u00fcst to veel L\u00fc\u00fcd op den Pad-Server.",
"pad.modals.deleted": "Weg is dat!",
"pad.modals.deleted.explanation": "D\u00fct Pad is nu weg.",
"pad.modals.disconnected": "De Kuntakt is afreten.",
"pad.modals.disconnected.explanation": "De Kuntakt mit den Pad-Server is afreten.",
"pad.modals.disconnected.cause": "Mag ween un wi k\u00f6\u00f6nt den Pad-Server j\u00fcst nich faat kriegen. Schull dat so wiedergahn, segg man Bescheed.",
"pad.share": "D\u00fct Pad ok anner L\u00fc\u00fcd wiesen",
"pad.share.readonly": "Se k\u00f6\u00f6nt hier j\u00fcst blots lesen",
"pad.share.link": "Link",
"pad.share.emebdcode": "In Websiet ringeven",
"pad.chat": "Chat",
"pad.chat.title": "Den Chat vun d\u00fct Pad apen maken",
"pad.chat.loadmessages": "Mehr Narichten laden",
"timeslider.pageTitle": "{{appTitle}} \u00d6llere Faten vun dat Pad",
"timeslider.toolbar.returnbutton": "Retuur na dat Pad",
"timeslider.toolbar.authors": "Schrievers:",
"timeslider.toolbar.authorsList": "keen Schrievers",
"timeslider.toolbar.exportlink.title": "Rutschicken",
"timeslider.exportCurrent": "Schick d\u00fcsse Faten rut as:",
"timeslider.version": "Faten {{version}}",
"timeslider.saved": "Sekert an den {{day}}.{{month}}.{{year}}",
"timeslider.dateformat": "{{day}}.{{month}}.{{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "Januar",
"timeslider.month.february": "Februar",
"timeslider.month.march": "M\u00e4rz",
"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}} Schriever ohn Naam {[plural(num) one: Schriever, other: Schrievers ]}",
"pad.savedrevs.marked": "D\u00fcsse Faten hett nu dat Teken: sekerte Faten",
"pad.userlist.entername": "Schriev dien Naam",
"pad.userlist.unnamed": "hett keen Naam",
"pad.userlist.guest": "Bes\u00f6ker",
"pad.userlist.deny": "Deit uns Leed, wieder geiht dat nich",
"pad.userlist.approve": "Man to!",
"pad.editbar.clearcolors": "Kl\u00f6ren vun de Schrievers in dat ganze Dokument tor\u00fcchsetten?",
"pad.impexp.importbutton": "Nu rinhalen",
"pad.impexp.importing": "Haal dat rin \u2026",
"pad.impexp.confirmimport": "Wenn du nu en Datei rinhaalst, warrt de Text in dat Pad \u00f6verschreven. Wullt du w\u00fcrklich wieder maken?",
"pad.impexp.convertFailed": "Wi k\u00f6\u00f6nt d\u00fcsse Datei nich rinhalen. \u00c4nnert Se bidde dat Format vun dat Dokument oder haalt Se den Text mit de Hand rin.",
"pad.impexp.uploadFailed": "Dat Hoochladen hett nich slumpt. Vers\u00f6\u00f6k dat man noch mal.",
"pad.impexp.importfailed": "Dat Rinhalen hett nich slumpt",
"pad.impexp.copypaste": "Bidde koperen un rinsetten",
"pad.impexp.exportdisabled": "Du kannst dat nich in dat {{type}}-Format rutschicken. Wenn du mehr weten wullt, fraag man den Systemadministrator."
}

View file

@ -47,7 +47,7 @@
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "Tekst zonder opmaak",
"pad.importExport.exportword": "Microsoft Word",
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportpdf": "Pdf",
"pad.importExport.exportopen": "ODF (Open Document Format)",
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "U kunt alleen importeren vanuit platte tekst of een HTML-opmaak. \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\"\u003EInstalleer abiword\u003C/a\u003E om meer geavanceerde importmogelijkheden te krijgen.",
@ -101,8 +101,7 @@
"timeslider.month.october": "oktober",
"timeslider.month.november": "november",
"timeslider.month.december": "december",
"timeslider.unnamedauthor": "{{num}} onbekende auteur",
"timeslider.unnamedauthors": "{{num}} onbekende auteurs",
"timeslider.unnamedauthors": "{{num}} onbekende {[plural(num) one: auteur, other: auteurs ]}",
"pad.savedrevs.marked": "Deze versie is nu gemarkeerd als opgeslagen versie",
"pad.userlist.entername": "Geef uw naam op",
"pad.userlist.unnamed": "zonder naam",

View file

@ -19,9 +19,9 @@
"pad.toolbar.clearAuthorship.title": "Escafar las colors qu'identifican los autors",
"pad.toolbar.import_export.title": "Importar/Exportar de/cap a un format de fichi\u00e8r diferent",
"pad.toolbar.timeslider.title": "Istoric dinamic",
"pad.toolbar.savedRevision.title": "Versions enregistradas",
"pad.toolbar.savedRevision.title": "Enregistrar la revision",
"pad.toolbar.settings.title": "Param\u00e8tres",
"pad.toolbar.embed.title": "Integrar aqueste Pad",
"pad.toolbar.embed.title": "Partejar e integrar aqueste Pad",
"pad.toolbar.showusers.title": "Afichar los utilizaires del Pad",
"pad.colorpicker.save": "Enregistrar",
"pad.colorpicker.cancel": "Anullar",
@ -34,6 +34,7 @@
"pad.settings.stickychat": "Afichar totjorn lo chat",
"pad.settings.colorcheck": "Colors d\u2019identificacion",
"pad.settings.linenocheck": "Num\u00e8ros de linhas",
"pad.settings.rtlcheck": "Lectura de drecha a esqu\u00e8rra",
"pad.settings.fontType": "Tipe de poli\u00e7a :",
"pad.settings.fontType.normal": "Normal",
"pad.settings.fontType.monospaced": "Monospace",
@ -100,6 +101,7 @@
"timeslider.month.october": "Octobre",
"timeslider.month.november": "Novembre",
"timeslider.month.december": "Decembre",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor anonim, other: autors anonims ]}",
"pad.savedrevs.marked": "Aquesta revision es ara marcada coma revision enregistrada",
"pad.userlist.entername": "Entratz v\u00f2stre nom",
"pad.userlist.unnamed": "sens nom",

View file

@ -101,7 +101,6 @@
"timeslider.month.october": "\u043e\u043a\u0442\u044f\u0431\u0440\u044c",
"timeslider.month.november": "\u043d\u043e\u044f\u0431\u0440\u044c",
"timeslider.month.december": "\u0434\u0435\u043a\u0430\u0431\u0440\u044c",
"timeslider.unnamedauthor": "{{num}} \u04d5\u043d\u04d5\u043d\u043e\u043c \u0444\u044b\u0441\u0441\u04d5\u0433",
"timeslider.unnamedauthors": "{{num}} \u04d5\u043d\u04d5\u043d\u043e\u043c \u0444\u044b\u0441\u0441\u04d5\u0434\u0436\u044b",
"pad.savedrevs.marked": "\u0410\u0446\u044b \u0444\u04d5\u043b\u0442\u04d5\u0440 \u043d\u044b\u0440 \u043a\u0443\u044b\u0434 \u04d5\u0432\u04d5\u0440\u0434 \u0444\u04d5\u043b\u0442\u04d5\u0440 \u043d\u044b\u0441\u0430\u043d\u0433\u043e\u043d\u0434 \u04d5\u0440\u0446\u044b\u0434",
"pad.userlist.entername": "\u0414\u04d5 \u043d\u043e\u043c \u0431\u0430\u0444\u044b\u0441\u0441",

View file

@ -90,7 +90,6 @@
"timeslider.month.october": "\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30",
"timeslider.month.november": "\u0a28\u0a35\u0a70\u0a2c\u0a30",
"timeslider.month.december": "\u0a26\u0a38\u0a70\u0a2c\u0a30",
"timeslider.unnamedauthor": "{{num}} \u0a2c\u0a47\u0a28\u0a3e\u0a2e \u0a32\u0a47\u0a16\u0a15",
"timeslider.unnamedauthors": "{{num}} \u0a2c\u0a47\u0a28\u0a3e\u0a2e \u0a32\u0a47\u0a16\u0a15",
"pad.savedrevs.marked": "\u0a07\u0a39 \u0a30\u0a40\u0a35\u0a3f\u0a1c\u0a3c\u0a28 \u0a28\u0a42\u0a70 \u0a39\u0a41\u0a23 \u0a38\u0a70\u0a2d\u0a3e\u0a32\u0a47 \u0a39\u0a4b\u0a0f \u0a30\u0a40\u0a35\u0a3f\u0a1c\u0a3c\u0a28 \u0a35\u0a1c\u0a4b\u0a02 \u0a2e\u0a70\u0a28\u0a3f\u0a06 \u0a17\u0a3f\u0a06 \u0a39\u0a48",
"pad.userlist.entername": "\u0a06\u0a2a\u0a23\u0a3e \u0a28\u0a3e\u0a02 \u0a26\u0a3f\u0a09",

View file

@ -79,7 +79,7 @@
"pad.share": "Udost\u0119pnij ten dokument",
"pad.share.readonly": "Tylko do odczytu",
"pad.share.link": "Link",
"pad.share.emebdcode": "Kod do umieszczenia",
"pad.share.emebdcode": "URL do umieszczenia",
"pad.chat": "Czat",
"pad.chat.title": "Otw\u00f3rz czat dla tego dokumentu.",
"pad.chat.loadmessages": "Za\u0142aduj wi\u0119cej wiadomo\u015bci",
@ -104,7 +104,6 @@
"timeslider.month.october": "Pa\u017adziernik",
"timeslider.month.november": "Listopad",
"timeslider.month.december": "Grudzie\u0144",
"timeslider.unnamedauthor": "{{num}} nienazwany autor",
"timeslider.unnamedauthors": "{{num}} autor\u00f3w bez nazw",
"pad.savedrevs.marked": "Ta wersja zosta\u0142a w\u0142a\u015bnie oznaczona jako zapisana.",
"pad.userlist.entername": "Wprowad\u017a swoj\u0105 nazw\u0119",

View file

@ -56,7 +56,6 @@
"timeslider.month.october": "\u0627\u06a9\u062a\u0648\u0628\u0631",
"timeslider.month.november": "\u0646\u0648\u0645\u0628\u0631",
"timeslider.month.december": "\u0689\u064a\u0633\u0645\u0628\u0631",
"timeslider.unnamedauthor": "{{num}} \u0628\u06d0\u0646\u0648\u0645 \u0644\u064a\u06a9\u0648\u0627\u0644",
"timeslider.unnamedauthors": "{{num}} \u0628\u06d0\u0646\u0648\u0645\u0647 \u0644\u064a\u06a9\u0648\u0627\u0644\u0627\u0646",
"pad.savedrevs.marked": "\u0627\u0648\u0633 \u062f\u0627 \u0645\u062e\u06a9\u062a\u0646\u0647 \u062f \u064a\u0648\u06d0 \u062e\u0648\u0646\u062f\u064a \u0634\u0648\u06d0 \u0645\u062e\u06a9\u062a\u0646\u06d0 \u067e\u0647 \u062a\u0648\u06ab\u0647 \u067e\u0647 \u0646\u069a\u0647 \u0634\u0648\u0647",
"pad.userlist.entername": "\u0646\u0648\u0645 \u0645\u0648 \u0648\u0631\u06a9\u0693\u06cd",

View file

@ -104,8 +104,7 @@
"timeslider.month.october": "Outubro",
"timeslider.month.november": "Novembro",
"timeslider.month.december": "Dezembro",
"timeslider.unnamedauthor": "{{num}} autor desconhecido",
"timeslider.unnamedauthors": "{{num}} autores desconhecidos",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: autor an\u00f4nimo, other: autores an\u00f4nimos ]}",
"pad.savedrevs.marked": "Esta revis\u00e3o foi marcada como salva",
"pad.userlist.entername": "Insira o seu nome",
"pad.userlist.unnamed": "Sem t\u00edtulo",

View file

@ -25,7 +25,7 @@
"pad.toolbar.settings.title": "Configura\u00e7\u00f5es",
"pad.toolbar.embed.title": "Incorporar este Pad",
"pad.toolbar.showusers.title": "Mostrar os utilizadores nesta Nota",
"pad.colorpicker.save": "Gravar",
"pad.colorpicker.save": "Salvar",
"pad.colorpicker.cancel": "Cancelar",
"pad.loading": "A carregar\u2026",
"pad.settings.padSettings": "Configura\u00e7\u00f5es da Nota",

View file

@ -24,7 +24,7 @@
"pad.toolbar.timeslider.title": "\u0428\u043a\u0430\u043b\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438",
"pad.toolbar.savedRevision.title": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e",
"pad.toolbar.settings.title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
"pad.toolbar.embed.title": "\u0412\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442",
"pad.toolbar.embed.title": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438 \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442",
"pad.toolbar.showusers.title": "\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435",
"pad.colorpicker.save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c",
"pad.colorpicker.cancel": "\u041e\u0442\u043c\u0435\u043d\u0430",
@ -104,8 +104,7 @@
"timeslider.month.october": "\u043e\u043a\u0442\u044f\u0431\u0440\u044c",
"timeslider.month.november": "\u043d\u043e\u044f\u0431\u0440\u044c",
"timeslider.month.december": "\u0434\u0435\u043a\u0430\u0431\u0440\u044c",
"timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440",
"timeslider.unnamedauthors": "\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440, few: \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u0430, many: \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432, other: \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432]}",
"pad.savedrevs.marked": "\u042d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0430\u044f",
"pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0438\u043c\u044f",
"pad.userlist.unnamed": "\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439",

120
src/locales/sk.json Normal file
View file

@ -0,0 +1,120 @@
{
"@metadata": {
"authors": [
"Teslaton"
]
},
"index.newPad": "Nov\u00fd Pad",
"index.createOpenPad": "alebo vytvori\u0165/otvori\u0165 Pad s n\u00e1zvom:",
"pad.toolbar.bold.title": "Tu\u010dn\u00e9 (Ctrl-B)",
"pad.toolbar.italic.title": "Kurz\u00edva (Ctrl-I)",
"pad.toolbar.underline.title": "Pod\u010diarknut\u00e9 (Ctrl-U)",
"pad.toolbar.strikethrough.title": "Pre\u010diarknut\u00e9",
"pad.toolbar.ol.title": "\u010c\u00edslovan\u00fd zoznam",
"pad.toolbar.ul.title": "Odr\u00e1\u017ekov\u00fd zoznam",
"pad.toolbar.indent.title": "Zv\u00e4\u010d\u0161i\u0165 odsadenie",
"pad.toolbar.unindent.title": "Zmen\u0161i\u0165 odsadenie",
"pad.toolbar.undo.title": "Sp\u00e4\u0165 (Ctrl-Z)",
"pad.toolbar.redo.title": "Znova (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "Odstr\u00e1ni\u0165 farby autorstva",
"pad.toolbar.import_export.title": "Import/export z/do r\u00f4znych form\u00e1tov s\u00faborov",
"pad.toolbar.timeslider.title": "\u010casov\u00e1 os",
"pad.toolbar.savedRevision.title": "Ulo\u017ei\u0165 rev\u00edziu",
"pad.toolbar.settings.title": "Nastavenia",
"pad.toolbar.embed.title": "Zdie\u013ea\u0165 alebo vlo\u017ei\u0165 tento Pad",
"pad.toolbar.showusers.title": "Zobrazi\u0165 pou\u017e\u00edvate\u013eov tohoto Padu",
"pad.colorpicker.save": "Ulo\u017ei\u0165",
"pad.colorpicker.cancel": "Zru\u0161i\u0165",
"pad.loading": "Na\u010d\u00edtava sa...",
"pad.passwordRequired": "Pr\u00edstup k tomuto Padu je chr\u00e1nen\u00fd heslom",
"pad.permissionDenied": "\u013dutujeme, nem\u00e1te opr\u00e1vnenie pristupova\u0165 k tomuto Padu",
"pad.wrongPassword": "Nespr\u00e1vne heslo",
"pad.settings.padSettings": "Nastavenia Padu",
"pad.settings.myView": "Vlastn\u00fd poh\u013ead",
"pad.settings.stickychat": "Chat st\u00e1le na obrazovke",
"pad.settings.colorcheck": "Farby autorstva",
"pad.settings.linenocheck": "\u010c\u00edsla riadkov",
"pad.settings.rtlcheck": "\u010c\u00edta\u0165 obsah sprava do\u013eava?",
"pad.settings.fontType": "Typ p\u00edsma:",
"pad.settings.fontType.normal": "Norm\u00e1lne",
"pad.settings.fontType.monospaced": "Strojov\u00e9",
"pad.settings.globalView": "Glob\u00e1lny poh\u013ead",
"pad.settings.language": "Jazyk:",
"pad.importExport.import_export": "Import/Export",
"pad.importExport.import": "Nahra\u0165 \u013eubovo\u013en\u00fd textov\u00fd s\u00fabor alebo dokument",
"pad.importExport.importSuccessful": "Import \u00faspe\u0161n\u00fd!",
"pad.importExport.export": "Exportova\u0165 aktu\u00e1lny Pad ako:",
"pad.importExport.exporthtml": "HTML",
"pad.importExport.exportplain": "\u010cist\u00fd 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": "Importova\u0165 m\u00f4\u017eete len \u010dist\u00fd text alebo HTML. Pre pokro\u010dilej\u0161ie funkcie importu pros\u00edm nain\u0161talujte \u201e\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\u201c.",
"pad.modals.connected": "Pripojen\u00e9.",
"pad.modals.reconnecting": "Op\u00e4tovn\u00e9 prip\u00e1janie k v\u00e1\u0161mu Padu...",
"pad.modals.forcereconnect": "Vyn\u00fati\u0165 znovupripojenie",
"pad.modals.userdup": "Otvoren\u00e9 v inom okne",
"pad.modals.userdup.explanation": "Zd\u00e1 sa, \u017ee tento Pad je na tomto po\u010d\u00edta\u010di otvoren\u00fd vo viacer\u00fdch okn\u00e1ch prehliada\u010da.",
"pad.modals.userdup.advice": "Pre pou\u017eitie tohoto okna se mus\u00edte znovu pripoji\u0165.",
"pad.modals.unauth": "Nie ste autorizovan\u00fd",
"pad.modals.unauth.explanation": "Va\u0161e opr\u00e1vnenia sa po\u010das prehliadania tejto str\u00e1nky zmenili. Sk\u00faste sa pripoji\u0165 znovu.",
"pad.modals.looping": "Odpojen\u00e9.",
"pad.modals.looping.explanation": "Nastali probl\u00e9my pri komunik\u00e1cii so synchroniza\u010dn\u00fdm serverom.",
"pad.modals.looping.cause": "Mo\u017eno ste pripojen\u00ed cez nekompatibiln\u00fd firewall alebo proxy server.",
"pad.modals.initsocketfail": "Server je nedostupn\u00fd.",
"pad.modals.initsocketfail.explanation": "Nepodarilo sa pripoji\u0165 k synchroniza\u010dn\u00e9mu serveru.",
"pad.modals.initsocketfail.cause": "Pr\u00ed\u010dinou je pravdepodobne probl\u00e9m s prehliada\u010dom alebo internetov\u00fdm pripojen\u00edm.",
"pad.modals.slowcommit": "Odpojen\u00e9.",
"pad.modals.slowcommit.explanation": "Server neodpoved\u00e1.",
"pad.modals.slowcommit.cause": "Pr\u00ed\u010dinou m\u00f4\u017ee by\u0165 probl\u00e9m so sie\u0165ov\u00fdm pripojen\u00edm.",
"pad.modals.deleted": "Odstr\u00e1nen\u00e9.",
"pad.modals.deleted.explanation": "Tento Pad bol odstr\u00e1nen\u00fd.",
"pad.modals.disconnected": "Boli ste odpojen\u00ed.",
"pad.modals.disconnected.explanation": "Spojenie so serverom sa preru\u0161ilo",
"pad.modals.disconnected.cause": "Server m\u00f4\u017ee by\u0165 nedostupn\u00fd. Ak by probl\u00e9m pretrv\u00e1val, informujte n\u00e1s pros\u00edm.",
"pad.share": "Zdie\u013ea\u0165 tento Pad",
"pad.share.readonly": "Len na \u010d\u00edtanie",
"pad.share.link": "Odkaz",
"pad.share.emebdcode": "Vlo\u017ei\u0165 URL",
"pad.chat": "Chat",
"pad.chat.title": "Otvori\u0165 chat tohoto Padu.",
"pad.chat.loadmessages": "Na\u010d\u00edta\u0165 \u010fal\u0161ie spr\u00e1vy",
"timeslider.pageTitle": "\u010casov\u00e1 os {{appTitle}}",
"timeslider.toolbar.returnbutton": "N\u00e1vrat do Padu",
"timeslider.toolbar.authors": "Autori:",
"timeslider.toolbar.authorsList": "Bez autorov",
"timeslider.toolbar.exportlink.title": "Export",
"timeslider.exportCurrent": "Exportova\u0165 aktu\u00e1lnu verziu ako:",
"timeslider.version": "Verzia {{version}}",
"timeslider.saved": "Ulo\u017een\u00e9 {{day}}. {{month}} {{year}}",
"timeslider.dateformat": "{{day}}. {{month}} {{year}} {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "janu\u00e1ra",
"timeslider.month.february": "febru\u00e1ra",
"timeslider.month.march": "marca",
"timeslider.month.april": "apr\u00edla",
"timeslider.month.may": "m\u00e1ja",
"timeslider.month.june": "j\u00fana",
"timeslider.month.july": "j\u00fala",
"timeslider.month.august": "augusta",
"timeslider.month.september": "septembra",
"timeslider.month.october": "okt\u00f3bra",
"timeslider.month.november": "novembra",
"timeslider.month.december": "decembra",
"timeslider.unnamedauthors": "{{num}} {[ plural(num) one: nemenovan\u00fd autor, few: nemenovan\u00ed autori, other: nemenovan\u00fdch autorov ]}",
"pad.savedrevs.marked": "T\u00e1to rev\u00edzia bola ozna\u010den\u00e1 ako ulo\u017een\u00e1",
"pad.userlist.entername": "Zadajte svoje meno",
"pad.userlist.unnamed": "nemenovan\u00fd",
"pad.userlist.guest": "Hos\u0165",
"pad.userlist.deny": "Zak\u00e1za\u0165",
"pad.userlist.approve": "Schv\u00e1li\u0165",
"pad.editbar.clearcolors": "Skuto\u010dne odstr\u00e1ni\u0165 autorsk\u00e9 farby z cel\u00e9ho dokumentu?",
"pad.impexp.importbutton": "Importova\u0165",
"pad.impexp.importing": "Prebieha import...",
"pad.impexp.confirmimport": "Import s\u00faboru prep\u00ed\u0161e cel\u00fd s\u00fa\u010dasn\u00fd obsah Padu. Skuto\u010dne si \u017eel\u00e1te vykona\u0165 t\u00fato akciu?",
"pad.impexp.convertFailed": "Tento s\u00fabor nie je mo\u017en\u00e9 importova\u0165. Pou\u017eite pros\u00edm in\u00fd form\u00e1t s\u00faboru alebo nakop\u00edrujte text manu\u00e1lne",
"pad.impexp.uploadFailed": "Nahr\u00e1vanie zlyhalo, sk\u00faste to pros\u00edm znovu",
"pad.impexp.importfailed": "Import zlyhal",
"pad.impexp.copypaste": "Vlo\u017ete pros\u00edm k\u00f3piu cez schr\u00e1nku",
"pad.impexp.exportdisabled": "Export do form\u00e1tu {{type}} nie je povolen\u00fd. Kontaktujte pros\u00edm administr\u00e1tora pre zistenie detailov."
}

View file

@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
"Dbc334",
"Mateju"
]
},
@ -21,7 +22,7 @@
"pad.toolbar.timeslider.title": "Drsnik zgodovine",
"pad.toolbar.savedRevision.title": "Shrani predelavo",
"pad.toolbar.settings.title": "Nastavitve",
"pad.toolbar.embed.title": "Vstavi dokument",
"pad.toolbar.embed.title": "Deli in vklju\u010di dokument",
"pad.toolbar.showusers.title": "Poka\u017ei uporabnike dokumenta",
"pad.colorpicker.save": "Shrani",
"pad.colorpicker.cancel": "Prekli\u010di",
@ -101,8 +102,7 @@
"timeslider.month.october": "Oktober",
"timeslider.month.november": "November",
"timeslider.month.december": "December",
"timeslider.unnamedauthor": "neimenovani avtor {{num}}",
"timeslider.unnamedauthors": "{{num}} neimenovani avtorji",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: neimenovan avtor, plural(num) two: neimenovana avtorja, plural(num) few: neimenovani avtorji, other: neimenovanih avtorjev ]}",
"pad.savedrevs.marked": "Ta predelava je ozna\u010dena kot shranjena predelava.",
"pad.userlist.entername": "Vpi\u0161ite ime",
"pad.userlist.unnamed": "neimenovana oseba",

View file

@ -21,7 +21,7 @@
"pad.toolbar.timeslider.title": "Tidsreglage",
"pad.toolbar.savedRevision.title": "Spara revision",
"pad.toolbar.settings.title": "Inst\u00e4llningar",
"pad.toolbar.embed.title": "B\u00e4dda in detta block",
"pad.toolbar.embed.title": "Dela och b\u00e4dda in detta block",
"pad.toolbar.showusers.title": "Visa anv\u00e4ndarna p\u00e5 detta block",
"pad.colorpicker.save": "Spara",
"pad.colorpicker.cancel": "Avbryt",
@ -101,8 +101,7 @@
"timeslider.month.october": "oktober",
"timeslider.month.november": "november",
"timeslider.month.december": "december",
"timeslider.unnamedauthor": "{{num}} namnl\u00f6s f\u00f6rfattare",
"timeslider.unnamedauthors": "{{num}} namnl\u00f6sa f\u00f6rfattare",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: namnl\u00f6s f\u00f6rfattare, other: namnl\u00f6sa f\u00f6rfattare]}",
"pad.savedrevs.marked": "Denna revision \u00e4r nu markerad som en sparad revision",
"pad.userlist.entername": "Ange ditt namn",
"pad.userlist.unnamed": "namnl\u00f6s",

View file

@ -1,9 +1,11 @@
{
"@metadata": {
"authors": {
"0": "Base",
"1": "Olvin",
"3": "Steve.rusyn"
"0": "Andriykopanytsia",
"1": "Base",
"2": "Olvin",
"4": "Steve.rusyn",
"5": "SteveR"
}
},
"index.newPad": "\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438",
@ -103,8 +105,7 @@
"timeslider.month.october": "\u0416\u043e\u0432\u0442\u0435\u043d\u044c",
"timeslider.month.november": "\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434",
"timeslider.month.december": "\u0413\u0440\u0443\u0434\u0435\u043d\u044c",
"timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440",
"timeslider.unnamedauthors": "\u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}",
"timeslider.unnamedauthors": "{{num}} {[plural(num) one: \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440, few: \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0456 \u0430\u0432\u0442\u043e\u0440\u0438, many: \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u0456\u0432, other: \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u0456\u0432]}",
"pad.savedrevs.marked": "\u0426\u044e \u0432\u0435\u0440\u0441\u0456\u044e \u043f\u043e\u043c\u0456\u0447\u0435\u043d\u043e \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043e\u044e \u0432\u0435\u0440\u0441\u0456\u0454\u044e",
"pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0412\u0430\u0448\u0435 \u0456\u043c'\u044f",
"pad.userlist.unnamed": "\u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439",

View file

@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
"Minh Nguyen",
"Tuankiet65"
]
},
@ -9,7 +10,7 @@
"pad.toolbar.bold.title": "In \u0111\u1eadm (Ctrl-B)",
"pad.toolbar.italic.title": "In nghi\u00eang (Ctrl-I)",
"pad.toolbar.underline.title": "G\u1ea1ch ch\u00e2n (Ctrl-U)",
"pad.toolbar.strikethrough.title": "G\u1ea1ch b\u1ecf",
"pad.toolbar.strikethrough.title": "G\u1ea1ch ngang",
"pad.toolbar.ol.title": "Danh s\u00e1ch C\u00f3 \u0110\u00e1nh s\u1ed1",
"pad.toolbar.ul.title": "Danh s\u00e1ch Kh\u00f4ng \u0110\u00e1nh s\u1ed1",
"pad.toolbar.indent.title": "T\u0103ng l\u1ec1",
@ -101,7 +102,6 @@
"timeslider.month.october": "Th\u00e1ng M\u01b0\u1eddi",
"timeslider.month.november": "Th\u00e1ng M\u01b0\u1eddi M\u1ed9t",
"timeslider.month.december": "Th\u00e1ng M\u01b0\u1eddi Hai",
"timeslider.unnamedauthor": "{{num}} t\u00e1c gi\u1ea3 kh\u00f4ng t\u00ean",
"timeslider.unnamedauthors": "{{num}} t\u00e1c gi\u1ea3 kh\u00f4ng t\u00ean",
"pad.savedrevs.marked": "Phi\u00ean b\u1ea3n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u l\u00e0 m\u1ed9t phi\u00ean b\u1ea3n \u0111\u00e3 l\u01b0u",
"pad.userlist.entername": "Nh\u1eadp t\u00ean c\u1ee7a b\u1ea1n",

View file

@ -3,12 +3,16 @@
"authors": [
"Dimension",
"Hydra",
"Liuxinyu970226",
"Qiyue2001",
"Shangkuanlc",
"Yfdyh000",
"\u4e4c\u62c9\u8de8\u6c2a",
"\u71c3\u7389"
]
},
"index.newPad": "\u65b0\u8bb0\u4e8b\u672c",
"index.createOpenPad": "\u6216\u8005\u521b\u5efa/\u6253\u5f00\u5e26\u540d\u5b57\u7684\u8bb0\u4e8b\u672c\uff1a",
"pad.toolbar.bold.title": "\u7c97\u4f53\uff08Ctrl-B\uff09",
"pad.toolbar.italic.title": "\u659c\u4f53 (Ctrl-I)",
"pad.toolbar.underline.title": "\u5e95\u7ebf\uff08Ctrl-U\uff09",
@ -37,6 +41,7 @@
"pad.settings.stickychat": "\u603b\u662f\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u804a\u5929",
"pad.settings.colorcheck": "\u4f5c\u8005\u989c\u8272",
"pad.settings.linenocheck": "\u884c\u53f7",
"pad.settings.rtlcheck": "\u4ece\u53f3\u5230\u5de6\u7684\u8bfb\u53d6\u5185\u5bb9\u5417\uff1f",
"pad.settings.fontType": "\u5b57\u4f53\u7c7b\u578b\uff1a",
"pad.settings.fontType.normal": "\u6b63\u5e38",
"pad.settings.fontType.monospaced": "\u7b49\u5bbd\u5b57\u4f53",
@ -52,6 +57,7 @@
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF\uff08\u5f00\u653e\u6587\u6863\u683c\u5f0f\uff09",
"pad.importExport.exportdokuwiki": "DokuWiki",
"pad.importExport.abiword.innerHTML": "\u60a8\u53ea\u53ef\u4ee5\u7eaf\u6587\u672c\u6216html\u683c\u5f0f\u8f93\u5165\u3002\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\u5b89\u88ddabiword\u003C/a\u003E\u53d6\u5f97\u66f4\u591a\u9ad8\u7ea7\u7684\u8f93\u5165\u529f\u80fd\u3002",
"pad.modals.connected": "\u5df2\u8fde\u63a5\u3002",
"pad.modals.reconnecting": "\u91cd\u65b0\u8fde\u63a5\u5230\u60a8\u7684\u8bb0\u4e8b\u7c3f...",
"pad.modals.forcereconnect": "\u5f3a\u5236\u91cd\u65b0\u8fde\u63a5",
@ -59,7 +65,10 @@
"pad.modals.userdup.explanation": "\u6b64\u8bb0\u4e8b\u7c3f\u4f3c\u4e4e\u5728\u6b64\u7535\u8111\u4e0a\u5728\u591a\u4e2a\u6d4f\u89c8\u5668\u89c6\u7a97\u4e2d\u6253\u5f00\u3002",
"pad.modals.userdup.advice": "\u91cd\u65b0\u8fde\u63a5\u5230\u6b64\u89c6\u7a97\u3002",
"pad.modals.unauth": "\u672a\u6388\u6743",
"pad.modals.unauth.explanation": "\u60a8\u7684\u6743\u9650\u5728\u67e5\u770b\u6b64\u9875\u9762\u65f6\u5df2\u6539\u53d8\u3002\u5c1d\u8bd5\u91cd\u65b0\u8fde\u63a5\u3002",
"pad.modals.looping": "\u5df2\u79bb\u7ebf\u3002",
"pad.modals.looping.explanation": "\u4e0e\u540c\u6b65\u670d\u52a1\u5668\u7684\u901a\u4fe1\u51fa\u73b0\u95ee\u9898\u3002",
"pad.modals.looping.cause": "\u4e5f\u8bb8\u60a8\u662f\u901a\u8fc7\u4e0d\u517c\u5bb9\u7684\u9632\u706b\u5899\u6216\u4ee3\u7406\u670d\u52a1\u5668\u8fde\u63a5\u3002",
"pad.modals.initsocketfail": "\u65e0\u6cd5\u8bbf\u95ee\u670d\u52a1\u5668\u3002",
"pad.modals.initsocketfail.explanation": "\u65e0\u6cd5\u8fde\u63a5\u5230\u540c\u6b65\u670d\u52a1\u5668\u3002",
"pad.modals.initsocketfail.cause": "\u8fd9\u53ef\u80fd\u662f\u7531\u4e8e\u60a8\u7684\u6d4f\u89c8\u5668\u6216\u60a8\u7684\u4e92\u8054\u7f51\u8fde\u63a5\u7684\u95ee\u9898\u3002",
@ -78,6 +87,7 @@
"pad.chat": "\u804a\u5929",
"pad.chat.title": "\u6253\u5f00\u6b64\u8bb0\u4e8b\u7c3f\u7684\u804a\u5929\u3002",
"pad.chat.loadmessages": "\u52a0\u8f7d\u66f4\u591a\u4fe1\u606f",
"timeslider.pageTitle": "{{appTitle}} \u65f6\u95f4\u6ed1\u5757",
"timeslider.toolbar.returnbutton": "\u8fd4\u56de\u8bb0\u4e8b\u672c",
"timeslider.toolbar.authors": "\u4f5c\u8005\uff1a",
"timeslider.toolbar.authorsList": "\u6ca1\u6709\u4f5c\u8005",
@ -85,6 +95,7 @@
"timeslider.exportCurrent": "\u5bfc\u51fa\u76ee\u524d\u7248\u672c\u4e3a\uff1a",
"timeslider.version": "\u7b2c {{version}} \u7248\u672c",
"timeslider.saved": "\u5728{{year}}\u5e74{{month}}{{day}}\u65e5\u4fdd\u5b58",
"timeslider.dateformat": "{{year}} \u5e74 {{month}} \u6708 {{day}} \u65e5 {{hours}}\u65f6:{{minutes}}\u5206:{{seconds}}\u79d2",
"timeslider.month.january": "\u4e00\u6708",
"timeslider.month.february": "\u4e8c\u6708",
"timeslider.month.march": "\u4e09\u6708",
@ -97,8 +108,7 @@
"timeslider.month.october": "\u5341\u6708",
"timeslider.month.november": "\u5341\u4e00\u6708",
"timeslider.month.december": "\u5341\u4e8c\u6708",
"timeslider.unnamedauthor": "{{num}}\u533f\u540d\u4f5c\u8005",
"timeslider.unnamedauthors": "{{num}}\u533f\u540d\u4f5c\u8005",
"timeslider.unnamedauthors": "{{num}}\u533f\u540d\u4f5c\u8005{[plural(num) one: author, other: authors ]}",
"pad.savedrevs.marked": "\u6b64\u4fee\u8ba2\u5df2\u6807\u8bb0\u4e3a\u4fdd\u5b58\u4fee\u8ba2",
"pad.userlist.entername": "\u8f93\u5165\u60a8\u7684\u59d3\u540d",
"pad.userlist.unnamed": "\u65e0\u540d",
@ -108,6 +118,7 @@
"pad.editbar.clearcolors": "\u6e05\u9664\u6574\u4e2a\u6587\u6863\u7684\u4f5c\u8005\u989c\u8272\u5417\uff1f",
"pad.impexp.importbutton": "\u73b0\u5728\u5bfc\u5165",
"pad.impexp.importing": "\u6b63\u5728\u5bfc\u5165...",
"pad.impexp.confirmimport": "\u5bfc\u5165\u7684\u6587\u4ef6\u5c06\u8986\u76d6pad\u7684\u5f53\u524d\u6587\u672c\u3002\u4f60\u786e\u5b9a\u8981\u7ee7\u7eed\u5417\uff1f",
"pad.impexp.convertFailed": "\u6211\u4eec\u65e0\u6cd5\u5bfc\u5165\u6b64\u6587\u6863\u3002\u8bf7\u4f7f\u7528\u4ed6\u6587\u6863\u683c\u5f0f\u6216\u624b\u52a8\u590d\u5236\u8d34\u4e0a\u3002",
"pad.impexp.uploadFailed": "\u4e0a\u8f7d\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5",
"pad.impexp.importfailed": "\u5bfc\u5165\u5931\u8d25",

View file

@ -1,8 +1,9 @@
{
"@metadata": {
"authors": {
"0": "Shirayuki",
"2": "Simon Shek"
"0": "Shangkuanlc",
"1": "Shirayuki",
"3": "Simon Shek"
}
},
"index.newPad": "\u65b0Pad",
@ -17,8 +18,8 @@
"pad.toolbar.unindent.title": "\u51f8\u6392",
"pad.toolbar.undo.title": "\u64a4\u92b7\uff08Ctrl-Z\uff09",
"pad.toolbar.redo.title": "\u91cd\u505a\uff08Ctrl-Y\uff09",
"pad.toolbar.clearAuthorship.title": "\u6e05\u9664\u4f5c\u540d\u984f\u8272",
"pad.toolbar.import_export.title": "\u4ee5\u5176\u4ed6\u6a94\u6848\u683c\u5f0f\u5c0e\u5165\uff0f\u532f\u51fa",
"pad.toolbar.clearAuthorship.title": "\u6e05\u9664\u5354\u4f5c\u8005\u984f\u8272\u5340\u5225",
"pad.toolbar.import_export.title": "\u4ee5\u5176\u4ed6\u6a94\u6848\u683c\u5f0f\u532f\u5165\uff0f\u532f\u51fa",
"pad.toolbar.timeslider.title": "\u6642\u9593\u8ef8",
"pad.toolbar.savedRevision.title": "\u5132\u5b58\u4fee\u8a02",
"pad.toolbar.settings.title": "\u8a2d\u5b9a",
@ -33,7 +34,7 @@
"pad.settings.padSettings": "Pad\u8a2d\u5b9a",
"pad.settings.myView": "\u6211\u7684\u8996\u7a97",
"pad.settings.stickychat": "\u6c38\u9060\u5728\u5c4f\u5e55\u4e0a\u986f\u793a\u804a\u5929",
"pad.settings.colorcheck": "\u4f5c\u8005\u984f\u8272",
"pad.settings.colorcheck": "\u5354\u4f5c\u8005\u984f\u8272",
"pad.settings.linenocheck": "\u884c\u865f",
"pad.settings.rtlcheck": "\u5f9e\u53f3\u81f3\u5de6\u8b80\u53d6\u5167\u5bb9\uff1f",
"pad.settings.fontType": "\u5b57\u9ad4\u985e\u578b\uff1a",
@ -41,7 +42,7 @@
"pad.settings.fontType.monospaced": "\u7b49\u5bec",
"pad.settings.globalView": "\u6240\u6709\u4eba\u7684\u8996\u7a97",
"pad.settings.language": "\u8a9e\u8a00\uff1a",
"pad.importExport.import_export": "\u5c0e\u5165\uff0f\u532f\u51fa",
"pad.importExport.import_export": "\u532f\u5165\uff0f\u532f\u51fa",
"pad.importExport.import": "\u4e0a\u8f09\u4efb\u4f55\u6587\u5b57\u6a94\u6216\u6587\u6a94",
"pad.importExport.importSuccessful": "\u5b8c\u6210\uff01",
"pad.importExport.export": "\u532f\u51fa\u7576\u524dpad\u70ba\uff1a",
@ -62,13 +63,13 @@
"pad.modals.unauth.explanation": "\u60a8\u7684\u6b0a\u9650\u5728\u67e5\u770b\u6b64\u9801\u6642\u767c\u751f\u66f4\u6539\u3002\u8acb\u5617\u8a66\u91cd\u65b0\u9023\u63a5\u3002",
"pad.modals.looping": "\u5df2\u96e2\u7dda\u3002",
"pad.modals.looping.explanation": "\u8207\u540c\u6b65\u4f3a\u670d\u5668\u9593\u6709\u901a\u4fe1\u554f\u984c\u3002",
"pad.modals.looping.cause": "\u4e5f\u8a31\u60a8\u901a\u904e\u4e00\u500b\u4e0d\u76f8\u5bb9\u7684\u9632\u706b\u7246\u6216\u4ee3\u7406\u4f3a\u670d\u5668\u9023\u63a5\u3002",
"pad.modals.looping.cause": "\u4e5f\u8a31\u60a8\u662f\u901a\u904e\u4e0d\u76f8\u5bb9\u7684\u9632\u706b\u7246\u6216\u4ee3\u7406\u4f3a\u670d\u5668\u9023\u7dda\u3002",
"pad.modals.initsocketfail": "\u7121\u6cd5\u8a2a\u554f\u4f3a\u670d\u5668\u3002",
"pad.modals.initsocketfail.explanation": "\u7121\u6cd5\u9023\u63a5\u5230\u540c\u6b65\u4f3a\u670d\u5668\u3002",
"pad.modals.initsocketfail.cause": "\u53ef\u80fd\u662f\u7531\u65bc\u60a8\u7684\u700f\u89bd\u5668\u6216\u60a8\u7684\u4e92\u806f\u7db2\u9023\u63a5\u7684\u554f\u984c\u3002",
"pad.modals.initsocketfail.cause": "\u9019\u53ef\u80fd\u662f\u56e0\u70ba\u700f\u89bd\u5668\u6216\u7db2\u969b\u7db2\u8def\u9023\u7dda\u554f\u984c\u6240\u9020\u6210\u3002",
"pad.modals.slowcommit": "\u5df2\u96e2\u7dda\u3002",
"pad.modals.slowcommit.explanation": "\u4f3a\u670d\u5668\u6c92\u6709\u56de\u61c9\u3002",
"pad.modals.slowcommit.cause": "\u53ef\u80fd\u662f\u7531\u65bc\u7db2\u8def\u9023\u63a5\u554f\u984c\u3002",
"pad.modals.slowcommit.cause": "\u9019\u53ef\u80fd\u662f\u56e0\u70ba\u7db2\u8def\u9023\u7dda\u554f\u984c\u6240\u9020\u6210\u3002",
"pad.modals.deleted": "\u5df2\u522a\u9664\u3002",
"pad.modals.deleted.explanation": "\u6b64pad\u5df2\u88ab\u79fb\u9664\u3002",
"pad.modals.disconnected": "\u60a8\u5df2\u4e2d\u65b7\u9023\u7dda\u3002",
@ -78,17 +79,17 @@
"pad.share.readonly": "\u552f\u8b80",
"pad.share.link": "\u9023\u7d50",
"pad.share.emebdcode": "\u5d4c\u5165\u7db2\u5740",
"pad.chat": "\u804a\u5929",
"pad.chat.title": "\u6253\u958b\u6b64pad\u7684\u804a\u5929\u3002",
"pad.chat": "\u804a\u5929\u529f\u80fd",
"pad.chat.title": "\u6253\u958bpad\u804a\u5929\u529f\u80fd",
"pad.chat.loadmessages": "\u8f09\u5165\u66f4\u591a\u8a0a\u606f",
"timeslider.pageTitle": "{{appTitle}}\u6642\u9593\u8ef8",
"timeslider.toolbar.returnbutton": "\u8fd4\u56de\u5230pad",
"timeslider.toolbar.authors": "\u4f5c\u8005\uff1a",
"timeslider.toolbar.authorsList": "\u7121\u4f5c\u8005",
"timeslider.toolbar.authors": "\u5354\u4f5c\u8005\uff1a",
"timeslider.toolbar.authorsList": "\u7121\u5354\u4f5c\u8005",
"timeslider.toolbar.exportlink.title": "\u532f\u51fa",
"timeslider.exportCurrent": "\u532f\u51fa\u7576\u524d\u7248\u672c\u70ba\uff1a",
"timeslider.version": "\u7248\u672c{{version}}",
"timeslider.saved": "{{year}}\u5e74{{month}}{{day}}\u65e5\u4fdd\u5b58",
"timeslider.saved": "{{year}}\u5e74{{month}}\u6708{{day}}\u65e5\u5132\u5b58",
"timeslider.dateformat": "{{year}}\u5e74{{month}}\u6708{{day}}\u65e5 {{hours}}:{{minutes}}:{{seconds}}",
"timeslider.month.january": "1\u6708",
"timeslider.month.february": "2\u6708",
@ -102,15 +103,14 @@
"timeslider.month.october": "10\u6708",
"timeslider.month.november": "11\u6708",
"timeslider.month.december": "12\u6708",
"timeslider.unnamedauthor": "{{num}} \u533f\u540d\u4f5c\u8005",
"timeslider.unnamedauthors": "{{num}} \u533f\u540d\u4f5c\u8005",
"pad.savedrevs.marked": "\u6b64\u4fee\u8a02\u5df2\u6a19\u8a18\u70ba\u5df2\u4fdd\u5b58\u3002",
"timeslider.unnamedauthors": "{{num}} \u533f\u540d\u5354\u4f5c\u8005",
"pad.savedrevs.marked": "\u6a19\u8a18\u6b64\u4fee\u8a02\u7248\u672c\u70ba\u5df2\u5132\u5b58\u4fee\u8a02\u7248\u672c\u3002",
"pad.userlist.entername": "\u8f38\u5165\u60a8\u7684\u59d3\u540d",
"pad.userlist.unnamed": "\u672a\u547d\u540d",
"pad.userlist.guest": "\u8a2a\u5ba2",
"pad.userlist.deny": "\u62d2\u7d55",
"pad.userlist.approve": "\u6279\u51c6",
"pad.editbar.clearcolors": "\u6e05\u9664\u6574\u500b\u6587\u6a94\u7684\u4f5c\u8005\u984f\u8272\u55ce\uff1f",
"pad.editbar.clearcolors": "\u6e05\u9664\u6574\u500b\u6587\u6a94\u7684\u5354\u4f5c\u8005\u984f\u8272\u5340\u5225\u55ce\uff1f",
"pad.impexp.importbutton": "\u73fe\u5728\u532f\u5165",
"pad.impexp.importing": "\u532f\u5165\u4e2d...",
"pad.impexp.confirmimport": "\u532f\u5165\u7684\u6a94\u6848\u5c07\u6703\u8986\u84cbpad\u5167\u76ee\u524d\u7684\u6587\u5b57\u3002\u60a8\u78ba\u5b9a\u8981\u7e7c\u7e8c\u55ce\uff1f",

View file

@ -48,6 +48,7 @@ var channels = require("channels");
* author = the author name of this session
*/
var sessioninfos = {};
exports.sessioninfos = sessioninfos;
/**
* A changeset queue per pad that is processed by handleUserChanges()
@ -230,22 +231,30 @@ exports.handleMessage = function(client, message)
// FIXME: Call our "sessions" "connections".
// FIXME: Use a hook instead
// FIXME: Allow to override readwrite access with readonly
var auth = sessioninfos[client.id].auth;
securityManager.checkAccess(auth.padID, auth.sessionID, auth.token, auth.password, function(err, statusObject)
{
if(ERR(err, callback)) return;
//access was granted
if(statusObject.accessStatus == "grant")
// FIXME: A message might arrive but wont have an auth object, this is obviously bad so we should deny it
// Simulate using the load testing tool
if(!sessioninfos[client.id].auth){
console.error("Auth was never applied to a session. If you are using the stress-test tool then restart Etherpad and the Stress test tool.")
callback();
}else{
var auth = sessioninfos[client.id].auth;
securityManager.checkAccess(auth.padID, auth.sessionID, auth.token, auth.password, function(err, statusObject)
{
callback();
}
//no access, send the client a message that tell him why
else
{
client.json.send({accessStatus: statusObject.accessStatus})
}
});
if(ERR(err, callback)) return;
//access was granted
if(statusObject.accessStatus == "grant")
{
callback();
}
//no access, send the client a message that tell him why
else
{
client.json.send({accessStatus: statusObject.accessStatus})
}
});
}
},
finalHandler
]);
@ -684,7 +693,10 @@ function handleUserChanges(data, cb)
pad.appendRevision(nlChangeset);
}
exports.updatePadClients(pad, callback);
exports.updatePadClients(pad, function(er) {
ERR(er)
});
callback();
}
], function(err)
{

View file

@ -23,7 +23,7 @@
"clean-css" : "0.3.2",
"uglify-js" : "1.2.5",
"formidable" : "1.0.9",
"log4js" : "0.5.x",
"log4js" : "0.6.6",
"nodemailer" : "0.3.x",
"jsdom-nocontextifiy" : "0.2.10",
"async-stacktrace" : "0.0.2",
@ -47,5 +47,8 @@
"engines" : { "node" : ">=0.6.3",
"npm" : ">=1.0"
},
"version" : "1.2.10"
"repository" : { "type" : "git",
"url" : "http://github.com/ether/etherpad-lite.git"
},
"version" : "1.2.11"
}

View file

@ -168,9 +168,9 @@ a img {
}
#editorcontainer {
position: absolute;
width: 100%;
top: 37px; /* + 1px border */
left: 0px;
right: 0px;
bottom: 0px;
z-index: 1;
}

View file

@ -1,5 +1,5 @@
/**
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This helps other people to understand this code better and helps them to improve it.
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
*/
@ -86,7 +86,7 @@ function Ace2Editor()
});
actionsPendingInit = [];
}
ace2.registry[info.id] = info;
// The following functions (prefixed by 'ace_') are exposed by editor, but
@ -97,7 +97,7 @@ function Ace2Editor()
'applyChangesToBase', 'applyPreparedChangesetToBase',
'setUserChangeNotificationCallback', 'setAuthorInfo',
'setAuthorSelectionRange', 'callWithAce', 'execCommand', 'replaceRange'];
_.each(aceFunctionsPendingInit, function(fnName,i){
var prefix = 'ace_';
var name = prefix + fnName;
@ -105,18 +105,18 @@ function Ace2Editor()
info[prefix + fnName].apply(this, arguments);
});
});
editor.exportText = function()
{
if (!loaded) return "(awaiting init)\n";
return info.ace_exportText();
};
editor.getFrame = function()
{
return info.frame || null;
};
editor.getDebugProperty = function(prop)
{
return info.ace_getDebugProperty(prop);
@ -221,16 +221,16 @@ function Ace2Editor()
// calls to these functions ($$INCLUDE_...) are replaced when this file is processed
// and compressed, putting the compressed code from the named file directly into the
// source here.
// these lines must conform to a specific format because they are passed by the build script:
// these lines must conform to a specific format because they are passed by the build script:
var includedCSS = [];
var $$INCLUDE_CSS = function(filename) {includedCSS.push(filename)};
$$INCLUDE_CSS("../static/css/iframe_editor.css");
$$INCLUDE_CSS("../static/css/pad.css");
$$INCLUDE_CSS("../static/custom/pad.css");
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
includedCSS = includedCSS.concat(additionalCSS);
pushStyleTagsFor(iframeHTML, includedCSS);
if (!Ace2Editor.EMBEDED && Ace2Editor.EMBEDED[KERNEL_SOURCE]) {
@ -304,16 +304,16 @@ window.onload = function () {\n\
$$INCLUDE_CSS("../static/css/iframe_editor.css");
$$INCLUDE_CSS("../static/css/pad.css");
$$INCLUDE_CSS("../static/custom/pad.css");
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
includedCSS = includedCSS.concat(additionalCSS);
pushStyleTagsFor(outerHTML, includedCSS);
// bizarrely, in FF2, a file with no "external" dependencies won't finish loading properly
// (throbs busy while typing)
outerHTML.push('<link rel="stylesheet" type="text/css" href="data:text/css,"/>', scriptTag(outerScript), '</head><body id="outerdocbody"><div id="sidediv"><!-- --></div><div id="linemetricsdiv">x</div><div id="overlaysdiv"><!-- --></div></body></html>');
outerHTML.push('<style type="text/css" title="dynamicsyntax"></style>', '<link rel="stylesheet" type="text/css" href="data:text/css,"/>', scriptTag(outerScript), '</head><body id="outerdocbody"><div id="sidediv"><!-- --></div><div id="linemetricsdiv">x</div><div id="overlaysdiv"><!-- --></div></body></html>');
var outerFrame = document.createElement("IFRAME");
outerFrame.name = "ace_outer";

View file

@ -1,5 +1,5 @@
/**
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This helps other people to understand this code better and helps them to improve it.
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
*/
@ -36,10 +36,10 @@ var isNodeText = Ace2Common.isNodeText,
htmlPrettyEscape = Ace2Common.htmlPrettyEscape,
noop = Ace2Common.noop;
var hooks = require('./pluginfw/hooks');
function Ace2Inner(){
var makeChangesetTracker = require('./changesettracker').makeChangesetTracker;
var colorutils = require('./colorutils').colorutils;
var makeContentCollector = require('./contentcollector').makeContentCollector;
@ -53,9 +53,9 @@ function Ace2Inner(){
var undoModule = require('./undomodule').undoModule;
var makeVirtualLineView = require('./virtual_lines').makeVirtualLineView;
var AttributeManager = require('./AttributeManager');
var DEBUG = false; //$$ build script replaces the string "var DEBUG=true;//$$" with "var DEBUG=false;"
// changed to false
// changed to false
var isSetUp = false;
var THE_TAB = ' '; //4
@ -83,9 +83,9 @@ function Ace2Inner(){
initLineNumbers();
var outsideKeyDown = noop;
var outsideKeyPress = function(){return true;};
var outsideNotifyDirty = noop;
// selFocusAtStart -- determines whether the selection extends "backwards", so that the focus
@ -101,7 +101,7 @@ function Ace2Inner(){
alines: [],
apool: new AttribPool()
};
// lines, alltext, alines, and DOM are set up in setup()
if (undoModule.enabled)
{
@ -113,7 +113,7 @@ function Ace2Inner(){
var doesWrap = true;
var hasLineNumbers = true;
var isStyled = true;
// space around the innermost iframe element
var iframePadLeft = MIN_LINEDIV_WIDTH + LINE_NUMBER_PADDING_RIGHT + EDIT_BODY_PADDING_LEFT;
var iframePadTop = EDIT_BODY_PADDING_TOP;
@ -122,7 +122,7 @@ function Ace2Inner(){
var console = (DEBUG && window.console);
var documentAttributeManager;
if (!window.console)
{
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
@ -159,7 +159,7 @@ function Ace2Inner(){
var textFace = 'monospace';
var textSize = 12;
function textLineHeight()
{
@ -167,12 +167,14 @@ function Ace2Inner(){
}
var dynamicCSS = null;
var outerDynamicCSS = null;
var parentDynamicCSS = null;
function initDynamicCSS()
{
dynamicCSS = makeCSSManager("dynamicsyntax");
parentDynamicCSS = makeCSSManager("dynamicsyntax", true);
outerDynamicCSS = makeCSSManager("dynamicsyntax", "outer");
parentDynamicCSS = makeCSSManager("dynamicsyntax", "parent");
}
var changesetTracker = makeChangesetTracker(scheduler, rep.apool, {
@ -208,6 +210,72 @@ function Ace2Inner(){
};
editorInfo.ace_getAuthorInfos= getAuthorInfos;
function setAuthorStyle(author, info)
{
if (!dynamicCSS) {
return;
}
var authorSelector = getAuthorColorClassSelector(getAuthorClassName(author));
var authorStyleSet = hooks.callAll('aceSetAuthorStyle', {
dynamicCSS: dynamicCSS,
parentDynamicCSS: parentDynamicCSS,
outerDynamicCSS: outerDynamicCSS,
info: info,
author: author,
authorSelector: authorSelector,
});
// Prevent default behaviour if any hook says so
if (_.any(authorStyleSet, function(it) { return it }))
{
return
}
if (!info)
{
dynamicCSS.removeSelectorStyle(authorSelector);
parentDynamicCSS.removeSelectorStyle(authorSelector);
}
else
{
if (info.bgcolor)
{
var bgcolor = info.bgcolor;
if ((typeof info.fade) == "number")
{
bgcolor = fadeColor(bgcolor, info.fade);
}
var authorStyle = dynamicCSS.selectorStyle(authorSelector);
var parentAuthorStyle = parentDynamicCSS.selectorStyle(authorSelector);
var anchorStyle = dynamicCSS.selectorStyle(authorSelector + ' > a')
// author color
authorStyle.backgroundColor = bgcolor;
parentAuthorStyle.backgroundColor = bgcolor;
// text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.5)
{
authorStyle.color = '#ffffff';
parentAuthorStyle.color = '#ffffff';
}else{
authorStyle.color = null;
parentAuthorStyle.color = null;
}
// anchor text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.55)
{
anchorStyle.color = colorutils.triple2css(colorutils.complementary(colorutils.css2triple(bgcolor)));
}else{
anchorStyle.color = null;
}
}
}
}
function setAuthorInfo(author, info)
{
if ((typeof author) != "string")
@ -217,56 +285,12 @@ function Ace2Inner(){
if (!info)
{
delete authorInfos[author];
if (dynamicCSS)
{
dynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author)));
parentDynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author)));
}
}
else
{
authorInfos[author] = info;
if (info.bgcolor)
{
if (dynamicCSS)
{
var bgcolor = info.bgcolor;
if ((typeof info.fade) == "number")
{
bgcolor = fadeColor(bgcolor, info.fade);
}
var authorStyle = dynamicCSS.selectorStyle(getAuthorColorClassSelector(
getAuthorClassName(author)));
var parentAuthorStyle = parentDynamicCSS.selectorStyle(getAuthorColorClassSelector(
getAuthorClassName(author)));
var anchorStyle = dynamicCSS.selectorStyle(getAuthorColorClassSelector(
getAuthorClassName(author))+' > a')
// author color
authorStyle.backgroundColor = bgcolor;
parentAuthorStyle.backgroundColor = bgcolor;
// text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.5)
{
authorStyle.color = '#ffffff';
parentAuthorStyle.color = '#ffffff';
}else{
authorStyle.color = null;
parentAuthorStyle.color = null;
}
// anchor text contrast
if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.55)
{
anchorStyle.color = colorutils.triple2css(colorutils.complementary(colorutils.css2triple(bgcolor)));
}else{
anchorStyle.color = null;
}
}
}
}
setAuthorStyle(author, info);
}
function getAuthorClassName(author)
@ -541,8 +565,8 @@ function Ace2Inner(){
{
return rep.lines.atOffset(charOffset).key;
}
function dispose()
{
disposed = true;
@ -897,14 +921,14 @@ function Ace2Inner(){
editorInfo.ace_doReturnKey = doReturnKey;
editorInfo.ace_isBlockElement = isBlockElement;
editorInfo.ace_getLineListType = getLineListType;
editorInfo.ace_callWithAce = function(fn, callStack, normalize)
{
var wrapper = function()
{
return fn(editorInfo);
};
if (normalize !== undefined)
{
var wrapper1 = wrapper;
@ -930,14 +954,14 @@ function Ace2Inner(){
// @param value the value to set to
editorInfo.ace_setProperty = function(key, value)
{
// Convinience function returning a setter for a class on an element
// Convinience function returning a setter for a class on an element
var setClassPresenceNamed = function(element, cls){
return function(value){
setClassPresence(element, cls, !! value)
}
};
// These properties are exposed
var setters = {
wraps: setWraps,
@ -952,7 +976,7 @@ function Ace2Inner(){
},
grayedout: setClassPresenceNamed(outerWin.document.body, "grayedout"),
dmesg: function(){ dmesg = window.dmesg = value; },
userauthor: function(value){
userauthor: function(value){
thisAuthor = String(value);
documentAttributeManager.author = thisAuthor;
},
@ -965,10 +989,10 @@ function Ace2Inner(){
document.documentElement.dir = value? 'rtl' : 'ltr'
}
};
var setter = setters[key.toLowerCase()];
// check if setter is present
// check if setter is present
if(setter !== undefined){
setter(value)
}
@ -1077,7 +1101,7 @@ function Ace2Inner(){
return false;
}
};
isTimeUp.elapsed = function()
{
return now() - startTime;
@ -1458,7 +1482,7 @@ function Ace2Inner(){
var p = PROFILER("getSelection", false);
var selection = getSelection();
p.end();
function topLevel(n)
{
if ((!n) || n == root) return null;
@ -1468,7 +1492,7 @@ function Ace2Inner(){
}
return n;
}
if (selection)
{
var node1 = topLevel(selection.startPoint.node);
@ -1726,7 +1750,7 @@ function Ace2Inner(){
root:root,
point:selection.startPoint,
documentAttributeManager: documentAttributeManager
});
});
selStart = (selStartFromHook==null||selStartFromHook.length==0)?getLineAndCharForPoint(selection.startPoint):selStartFromHook;
}
if (selection && !selEnd)
@ -1739,7 +1763,7 @@ function Ace2Inner(){
point:selection.endPoint,
documentAttributeManager: documentAttributeManager
});
selEnd = (selEndFromHook==null||selEndFromHook.length==0)?getLineAndCharForPoint(selection.endPoint):selEndFromHook;
selEnd = (selEndFromHook==null||selEndFromHook.length==0)?getLineAndCharForPoint(selection.endPoint):selEndFromHook;
}
// selection from content collection can, in various ways, extend past final
@ -1760,7 +1784,7 @@ function Ace2Inner(){
// update rep if we have a new selection
// NOTE: IE loses the selection when you click stuff in e.g. the
// editbar, so removing the selection when it's lost is not a good
// idea.
// idea.
if (selection) repSelectionChange(selStart, selEnd, selection && selection.focusAtStart);
// update browser selection
p.mark("browsel");
@ -1895,19 +1919,19 @@ function Ace2Inner(){
return rep.selStart[0];
}
editorInfo.ace_caretLine = caretLine;
function caretColumn()
{
return rep.selStart[1];
}
editorInfo.ace_caretColumn = caretColumn;
function caretDocChar()
{
return rep.lines.offsetOfIndex(caretLine()) + caretColumn();
}
editorInfo.ace_caretDocChar = caretDocChar;
function handleReturnIndentation()
{
// on return, indent to level of previous line
@ -2336,8 +2360,8 @@ function Ace2Inner(){
documentAttributeManager.setAttributesOnRange(lineAndColumnFromChar(start), lineAndColumnFromChar(end), attribs);
}
editorInfo.ace_performDocumentApplyAttributesToCharRange = performDocumentApplyAttributesToCharRange;
function setAttributeOnSelection(attributeName, attributeValue)
{
if (!(rep.selStart && rep.selEnd)) return;
@ -2900,7 +2924,7 @@ function Ace2Inner(){
{
if (lineClass !== null) lineElem.className = lineClass;
};
result.prepareForAdd = writeClass;
result.finishUpdate = writeClass;
result.getInnerHTML = function()
@ -3262,7 +3286,7 @@ function Ace2Inner(){
{
return (n.tagName || '').toLowerCase() == "a" && n.href;
}
// only want to catch left-click
if ((!evt.ctrlKey) && (evt.button != 2) && (evt.button != 3))
{
@ -3298,7 +3322,7 @@ function Ace2Inner(){
{
return;
}
var lineNum = rep.selStart[0];
var listType = getLineListType(lineNum);
@ -3423,9 +3447,9 @@ function Ace2Inner(){
var thisLineListType = getLineListType(theLine);
var prevLineEntry = (theLine > 0 && rep.lines.atIndex(theLine - 1));
var prevLineBlank = (prevLineEntry && prevLineEntry.text.length == prevLineEntry.lineMarker);
var thisLineHasMarker = documentAttributeManager.lineHasMarker(theLine);
if (thisLineListType)
{
// this line is a list
@ -3500,7 +3524,7 @@ function Ace2Inner(){
return !!REGEX_WORDCHAR.exec(c);
}
editorInfo.ace_isWordChar = isWordChar;
function isSpaceChar(c)
{
return !!REGEX_SPACE.exec(c);
@ -3831,7 +3855,7 @@ function Ace2Inner(){
}
else if (type == "keyup")
{
var wait = 200;
var wait = 0;
idleWorkTimer.atLeast(wait);
idleWorkTimer.atMost(wait);
}
@ -3851,7 +3875,7 @@ function Ace2Inner(){
if ((!specialHandled) && (!thisKeyDoesntTriggerNormalize) && (!inInternationalComposition))
{
if (type != "keyup" || !incorpIfQuick())
if (type != "keyup")
{
observeChangesAroundSelection();
}
@ -4130,7 +4154,7 @@ function Ace2Inner(){
maxIndex: tn.nodeValue.length
};
};
var selection = {};
if (origSelectionRange.compareEndPoints("StartToEnd", origSelectionRange) === 0)
{
@ -4234,7 +4258,7 @@ function Ace2Inner(){
selection.startPoint = pointFromRangeBound(range.startContainer, range.startOffset);
selection.endPoint = pointFromRangeBound(range.endContainer, range.endOffset);
selection.focusAtStart = (((range.startContainer != range.endContainer) || (range.startOffset != range.endOffset)) && browserSelection.anchorNode && (browserSelection.anchorNode == range.endContainer) && (browserSelection.anchorOffset == range.endOffset));
if(selection.startPoint.node.ownerDocument !== window.document){
return null;
}
@ -4999,9 +5023,9 @@ function Ace2Inner(){
}
}
}
var listAttributeName = 'list';
function getLineListType(lineNum)
{
return documentAttributeManager.getAttributeOnLine(lineNum, listAttributeName)
@ -5014,7 +5038,7 @@ function Ace2Inner(){
}else{
documentAttributeManager.setAttributeOnLine(lineNum, listAttributeName, listType);
}
//if the list has been removed, it is necessary to renumber
//starting from the *next* line because the list may have been
//separated. If it returns null, it means that the list was not cut, try
@ -5024,7 +5048,7 @@ function Ace2Inner(){
renumberList(lineNum);
}
}
function renumberList(lineNum){
//1-check we are in a list
var type = getLineListType(lineNum);
@ -5037,7 +5061,7 @@ function Ace2Inner(){
{
return null;
}
//2-find the first line of the list
while(lineNum-1 >= 0 && (type=getLineListType(lineNum-1)))
{
@ -5046,7 +5070,7 @@ function Ace2Inner(){
break;
lineNum--;
}
//3-renumber every list item of the same level from the beginning, level 1
//IMPORTANT: never skip a level because there imbrication may be arbitrary
var builder = Changeset.builder(rep.lines.totalWidth());
@ -5073,7 +5097,7 @@ function Ace2Inner(){
ChangesetUtils.buildKeepRange(rep, builder, loc, (loc = [line, 1]), [
['start', position]
], rep.apool);
position++;
line++;
}
@ -5088,19 +5112,19 @@ function Ace2Inner(){
}
return line;
}
applyNumberList(lineNum, 1);
var cs = builder.toString();
if (!Changeset.isIdentity(cs))
{
performDocumentApplyChangeset(cs);
}
//4-apply the modifications
}
function doInsertList(type)
{
@ -5138,7 +5162,7 @@ function Ace2Inner(){
var t = getLineListType(n);
mods.push([n, allLinesAreList ? 'indent' + level : (t ? type + level : type + '1')]);
}
_.each(mods, function(mod){
setLineListType(mod[0], mod[1]);
});
@ -5152,7 +5176,7 @@ function Ace2Inner(){
}
editorInfo.ace_doInsertUnorderedList = doInsertUnorderedList;
editorInfo.ace_doInsertOrderedList = doInsertOrderedList;
var lineNumbersShown;
var sideDivInner;
@ -5168,11 +5192,11 @@ function Ace2Inner(){
var newNumLines = rep.lines.length();
if (newNumLines < 1) newNumLines = 1;
//update height of all current line numbers
var a = sideDivInner.firstChild;
var b = doc.body.firstChild;
var n = 0;
if (currentCallStack && currentCallStack.domClean)
{
@ -5201,8 +5225,8 @@ function Ace2Inner(){
b = b.nextSibling;
n++;
}
}
}
if (newNumLines != lineNumbersShown)
{
var container = sideDivInner;
@ -5212,27 +5236,27 @@ function Ace2Inner(){
{
lineNumbersShown++;
var n = lineNumbersShown;
var div = odoc.createElement("DIV");
var div = odoc.createElement("DIV");
//calculate height for new line number
if(b){
var h = (b.clientHeight || b.offsetHeight);
if (b.nextSibling){
h = b.nextSibling.offsetTop - b.offsetTop;
}
}
if(h){ // apply style to div
div.style.height = h +"px";
}
div.appendChild(odoc.createTextNode(String(n)));
fragment.appendChild(div);
if(b){
b = b.nextSibling;
}
}
container.appendChild(fragment);
while (lineNumbersShown > newNumLines)
{
@ -5241,8 +5265,8 @@ function Ace2Inner(){
}
}
}
// Init documentAttributeManager
documentAttributeManager = new AttributeManager(rep, performDocumentApplyChangeset);
editorInfo.ace_performDocumentApplyAttributesToRange = function () {
@ -5288,13 +5312,13 @@ function Ace2Inner(){
bindTheEventHandlers();
});
hooks.callAll('aceInitialized', {
editorInfo: editorInfo,
rep: rep,
documentAttributeManager: documentAttributeManager
});
scheduler.setTimeout(function()
{
parent.readyFunc(); // defined in code that sets up the inner iframe

View file

@ -198,11 +198,7 @@ function loadBroadcastSliderJS(fireWhenAllScriptsAreLoaded)
});
if (numAnonymous > 0)
{
var anonymousAuthorString;
if(numAnonymous == 1)
anonymousAuthorString = html10n.get("timeslider.unnamedauthor", { num: numAnonymous });
else
anonymousAuthorString = html10n.get("timeslider.unnamedauthors", { num: numAnonymous });
var anonymousAuthorString = html10n.get("timeslider.unnamedauthors", { num: numAnonymous });
if (numNamed !== 0){
authorsList.append(' + ' + anonymousAuthorString);

View file

@ -42,13 +42,13 @@ var chat = (function()
padcookie.setPref("chatAlwaysVisible", true);
$('#chatbox').addClass("stickyChat");
$('#chattext').css({"top":"0px"});
$('#editorcontainer').css({"right":"192px", "width":"auto"});
$('#editorcontainer').css({"right":"192px"});
isStuck = true;
} else { // Unstick it
padcookie.setPref("chatAlwaysVisible", false);
$('#chatbox').removeClass("stickyChat");
$('#chattext').css({"top":"25px"});
$('#editorcontainer').css({"right":"0px", "width":"100%"});
$('#editorcontainer').css({"right":"0px"});
isStuck = false;
}
},

View file

@ -1,5 +1,5 @@
/**
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This code is mostly from the old Etherpad. Please help us to comment this code.
* This helps other people to understand this code better and helps them to improve it.
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
*/
@ -20,14 +20,32 @@
* limitations under the License.
*/
function makeCSSManager(emptyStylesheetTitle, parentCss)
function makeCSSManager(emptyStylesheetTitle, doc)
{
if (doc === true)
{
doc = 'parent';
} else if (!doc) {
doc = 'inner';
}
function getSheetByTitle(title)
{
if (parentCss) var allSheets = window.parent.parent.document.styleSheets;
else var allSheets = document.styleSheets;
if (doc === 'parent')
{
win = window.parent.parent;
}
else if (doc === 'inner') {
win = window;
}
else if (doc === 'outer') {
win = window.parent;
}
else {
throw "Unknown dynamic style container";
}
var allSheets = win.document.styleSheets;
for (var i = 0; i < allSheets.length; i++)
{
var s = allSheets[i];
@ -38,8 +56,8 @@ function makeCSSManager(emptyStylesheetTitle, parentCss)
}
return null;
}
var browserSheet = getSheetByTitle(emptyStylesheetTitle, parentCss);
var browserSheet = getSheetByTitle(emptyStylesheetTitle);
function browserRules()
{

View file

@ -46,7 +46,20 @@ window.html10n = (function(window, document, undefined) {
, consoleError = interceptConsole('warn')
// fix Array.prototype.instanceOf in, guess what, IE! <3
// fix Array#forEach in IE
// taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
if (!Array.prototype.forEach) {
Array.prototype.forEach = function(fn, scope) {
for(var i = 0, len = this.length; i < len; ++i) {
if (i in this) {
fn.call(scope, this[i], i, this);
}
}
};
}
// fix Array#indexOf in, guess what, IE! <3
// taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
"use strict";
@ -79,15 +92,6 @@ window.html10n = (function(window, document, undefined) {
return -1;
}
}
// fix Array.prototype.forEach in IE
if (!('forEach' in Array.prototype)) {
Array.prototype.forEach= function(action, that /*opt*/) {
for (var i= 0, n= this.length; i<n; i++)
if (i in this)
action.call(that, this[i], i, this);
};
}
/**
* MicroEvent - to make any js object an event emitter (server or browser)
@ -643,25 +647,26 @@ window.html10n = (function(window, document, undefined) {
/**
* pre-defined 'plural' macro
*/
html10n.macros.plural = function(translations, key, str, param) {
var n = parseFloat(param);
html10n.macros.plural = function(key, param, opts) {
var str
, n = parseFloat(param);
if (isNaN(n))
return str;
return;
// initialize _pluralRules
if (!this._pluralRules)
this._pluralRules = getPluralRules(html10n.language);
var index = '[' + this._pluralRules(n) + ']';
var index = this._pluralRules(n);
// try to find a [zero|one|two] key if it's defined
if (n === 0 && (key + '[zero]') in translations) {
str = translations[key + '[zero]'];
} else if (n == 1 && (key + '[one]') in translations) {
str = translations[key + '[one]'];
} else if (n == 2 && (key + '[two]') in translations) {
str = translations[key + '[two]'];
} else if ((key + index) in translations) {
str = translations[key + index][prop];
if (n === 0 && ('zero') in opts) {
str = opts['zero'];
} else if (n == 1 && ('one') in opts) {
str = opts['one'];
} else if (n == 2 && ('two') in opts) {
str = opts['two'];
} else if (index in opts) {
str = opts[index];
}
return str;
@ -739,65 +744,81 @@ window.html10n = (function(window, document, undefined) {
if(!translations) return consoleWarn('No translations available (yet)')
if(!translations[id]) return consoleWarn('Could not find string '+id)
// apply args
var str = substArguments(translations[id], args)
// apply macros
return substMacros(id, str, args)
var str = translations[id]
// replace {{arguments}} with their values or the
// associated translation string (based on its key)
function substArguments(str, args) {
var reArgs = /\{\{\s*([a-zA-Z\.]+)\s*\}\}/
, match
while (match = reArgs.exec(str)) {
if (!match || match.length < 2)
return str // argument key not found
str = substMacros(id, str, args)
// apply args
str = substArguments(str, args)
return str
}
// replace {{arguments}} with their values or the
// associated translation string (based on its key)
function substArguments(str, args) {
var reArgs = /\{\{\s*([a-zA-Z\.]+)\s*\}\}/
, match
while (match = reArgs.exec(str)) {
if (!match || match.length < 2)
return str // argument key not found
var arg = match[1]
, sub = ''
if (arg in args) {
sub = args[arg]
} else if (arg in translations) {
sub = translations[arg]
} else {
consoleWarn('Could not find argument {{' + arg + '}}')
return str
}
str = str.substring(0, match.index) + sub + str.substr(match.index + match[0].length)
var arg = match[1]
, sub = ''
if (arg in args) {
sub = args[arg]
} else if (arg in translations) {
sub = translations[arg]
} else {
consoleWarn('Could not find argument {{' + arg + '}}')
return str
}
return str
str = str.substring(0, match.index) + sub + str.substr(match.index + match[0].length)
}
// replace {[macros]} with their values
function substMacros(key, str, args) {
var regex = /\{\[\s*([a-zA-Z]+):([a-zA-Z]+)\s*\]\}/
, match = regex.exec(str);
if (!match || !match.length)
return str;
return str
}
// replace {[macros]} with their values
function substMacros(key, str, args) {
var regex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)((\s*([a-zA-Z]+)\: ?([ a-zA-Z{}]+),?)+)*\s*\]\}/ //.exec('{[ plural(n) other: are {{n}}, one: is ]}')
, match
while(match = regex.exec(str)) {
// a macro has been found
// Note: at the moment, only one parameter is supported
var macroName = reMatch[1]
, paramName = reMatch[2]
var macroName = match[1]
, paramName = match[2]
, optv = match[3]
, opts = {}
if (!(macroName in gMacros)) return str
if (!(macroName in html10n.macros)) continue
if(optv) {
optv.match(/(?=\s*)([a-zA-Z]+)\: ?([ a-zA-Z{}]+)(?=,?)/g).forEach(function(arg) {
var parts = arg.split(':')
, name = parts[0]
, value = parts[1].trim()
opts[name] = value
})
}
var param
if (args && paramName in args) {
param = args[paramName]
} else if (paramName in translations) {
} else if (paramName in html10n.translations) {
param = translations[paramName]
}
// there's no macro parser yet: it has to be defined in gMacros
// there's no macro parser: it has to be defined in html10n.macros
var macro = html10n.macros[macroName]
str = macro(translations, key, str, param)
return str
str = str.substr(0, match.index) + macro(key, param, opts) + str.substr(match.index+match[0].length)
}
return str
}
/**

View file

@ -260,7 +260,7 @@ linestylefilter.getRegexpFilter = function(regExp, tag)
linestylefilter.REGEX_WORDCHAR = /[\u0030-\u0039\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u1FFF\u3040-\u9FFF\uF900-\uFDFF\uFE70-\uFEFE\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFDC]/;
linestylefilter.REGEX_URLCHAR = new RegExp('(' + /[-:@a-zA-Z0-9_.,~%+\/\\?=&#!;()$]/.source + '|' + linestylefilter.REGEX_WORDCHAR.source + ')');
linestylefilter.REGEX_URL = new RegExp(/(?:(?:https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt):\/\/|mailto:|www\.)/.source + linestylefilter.REGEX_URLCHAR.source + '*(?![:.,;])' + linestylefilter.REGEX_URLCHAR.source, 'g');
linestylefilter.REGEX_URL = new RegExp(/(?:(?:https?|s?ftp|ftps|file|nfs):\/\/|mailto:|www\.)/.source + linestylefilter.REGEX_URLCHAR.source + '*(?![:.,;])' + linestylefilter.REGEX_URLCHAR.source, 'g');
linestylefilter.getURLFilter = linestylefilter.getRegexpFilter(
linestylefilter.REGEX_URL, 'url');

View file

@ -524,7 +524,7 @@ var pad = {
if(padcookie.getPref("showAuthorshipColors") == false){
pad.changeViewOption('showAuthorColors', false);
}
hooks.aCallAll("postAceInit", {ace: padeditor.ace});
hooks.aCallAll("postAceInit", {ace: padeditor.ace, pad: pad});
}
},
dispose: function()

View file

@ -633,6 +633,9 @@ var paduserlist = (function()
otherUsersInfo.splice(newExistingIndex, 1);
otherUsersData.splice(newExistingIndex, 1);
rowManager.removeRow(newExistingIndex);
hooks.callAll('userLeave', {
userInfo: info
});
updateInviteNotice();
}
}

View file

@ -176,7 +176,7 @@ var padutils = {
// copied from ACE
var _REGEX_WORDCHAR = /[\u0030-\u0039\u0041-\u005A\u0061-\u007A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u1FFF\u3040-\u9FFF\uF900-\uFDFF\uFE70-\uFEFE\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFDC]/;
var _REGEX_URLCHAR = new RegExp('(' + /[-:@a-zA-Z0-9_.,~%+\/?=&#;()$]/.source + '|' + _REGEX_WORDCHAR.source + ')');
var _REGEX_URL = new RegExp(/(?:(?:https?|s?ftp|ftps|file|smb|afp|nfs|(x-)?man|gopher|txmt):\/\/|mailto:)/.source + _REGEX_URLCHAR.source + '*(?![:.,;])' + _REGEX_URLCHAR.source, 'g');
var _REGEX_URL = new RegExp(/(?:(?:https?|s?ftp|ftps|file|nfs):\/\/|mailto:)/.source + _REGEX_URLCHAR.source + '*(?![:.,;])' + _REGEX_URLCHAR.source, 'g');
// returns null if no URLs, or [[startIndex1, url1], [startIndex2, url2], ...]

5
tests/README.md Normal file
View file

@ -0,0 +1,5 @@
# About this folder: Tests
## Frontend
To run the tests, point your browser to `<yourdomainhere>/tests/frontend`

View file

@ -0,0 +1,80 @@
// Test for https://github.com/ether/etherpad-lite/issues/1763
// This test fails in Opera, IE and Safari
// Opera fails due to a weird way of handling the order of execution, yet actual performance seems fine
// Safari fails due the delay being too great yet the actual performance seems fine
// Firefox might panic that the script is taking too long so will fail
// IE will fail due to running out of memory as it can't fit 2M chars in memory.
// Just FYI Google Docs crashes on large docs whilst trying to Save, it's likely the limitations we are
// experiencing are more to do with browser limitations than improper implementation.
// A ueber fix for this would be to have a separate lower cpu priority thread that handles operations that aren't
// visible to the user.
// Adapted from John McLear's original test case.
describe('Responsiveness of Editor', function() {
// create a new pad before each test run
beforeEach(function(cb) {
helper.newPad(cb);
this.timeout(6000);
});
it('Fast response to keypress in pad with large amount of contents', function(done) {
var inner$ = helper.padInner$;
var chrome$ = helper.padChrome$;
var chars = '0000000000'; // row of placeholder chars
var amount = 200000; //number of blocks of chars we will insert
var length = (amount * (chars.length) +1); // include a counter for each space
var text = ''; // the text we're gonna insert
this.timeout(amount * 100);
// get keys to send
var keyMultiplier = 10; // multiplier * 10 == total number of key events
var keysToSend = '';
for(var i=0; i <= keyMultiplier; i++) {
keysToSend += chars;
}
var textElement = inner$('div');
textElement.sendkeys('{selectall}'); // select all
textElement.sendkeys('{del}'); // clear the pad text
for(var i=0; i <= amount; i++) {
text = text + chars + ' '; // add the chars and space to the text contents
}
inner$('div').first().text(text); // Put the text contents into the pad
helper.waitFor(function(){ // Wait for the new contents to be on the pad
return inner$('div').text().length > length;
}).done(function(){
expect( inner$('div').text().length ).to.be.greaterThan( length ); // has the text changed?
var start = new Date().getTime(); // get the start time
// send some new text to the screen (ensure all 3 key events are sent)
var el = inner$('div').first();
for(var i = 0; i < keysToSend.length; ++i) {
var x = keysToSend.charCodeAt(i);
['keyup', 'keypress', 'keydown'].forEach(function(type) {
var e = $.Event(type);
e.keyCode = x;
el.trigger(e);
});
}
helper.waitFor(function(){ // Wait for the ability to process
return true; // Ghetto but works for now
}).done(function(){
var end = new Date().getTime(); // get the current time
var delay = end - start; // get the delay as the current time minus the start time
console.log('delay:', delay);
expect(delay).to.be.below(200);
done();
}, 1000);
}, 10000);
});
});

View file

@ -6,7 +6,7 @@ var config = {
host: "ondemand.saucelabs.com"
, port: 80
, username: process.env.SAUCE_USER
, accessKey: process.env.SAUCE_KEY
, accessKey: process.env.SAUCE_ACCESS_KEY
}
var allTestsPassed = true;

View file

@ -4,7 +4,7 @@ curl http://saucelabs.com/downloads/Sauce-Connect-latest.zip > /tmp/sauce.zip
unzip /tmp/sauce.zip -d /tmp
# start the sauce connector in background and make sure it doesn't output the secret key
(java -jar /tmp/Sauce-Connect.jar $SAUCE_USER $SAUCE_KEY -f /tmp/tunnel > /dev/null )&
(java -jar /tmp/Sauce-Connect.jar $SAUCE_USERNAME $SAUCE_ACCESS_KEY -f /tmp/tunnel > /dev/null )&
# save the sauce pid in a file
echo $! > /tmp/sauce.pid

View file

@ -72,5 +72,5 @@ Each type of heading has a description block.
Run the following from the etherpad-lite root directory:
```sh
$ node tools/doc/generate doc/all.md --format=html --template=doc/template.html > out.htm
$ node tools/doc/generate doc/index.md --format=html --template=doc/template.html > out.html
```