mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-01 03:12:42 +01:00
Merge branch 'release/1.2.11'
This commit is contained in:
commit
b1b6289eb3
45 changed files with 1124 additions and 309 deletions
|
@ -4,20 +4,17 @@ node_js:
|
||||||
install:
|
install:
|
||||||
- "bin/installDeps.sh"
|
- "bin/installDeps.sh"
|
||||||
- "export GIT_HASH=$(cat .git/HEAD | head -c 7)"
|
- "export GIT_HASH=$(cat .git/HEAD | head -c 7)"
|
||||||
before_script:
|
before_script:
|
||||||
- "tests/frontend/travis/sauce_tunnel.sh"
|
- "tests/frontend/travis/sauce_tunnel.sh"
|
||||||
script:
|
script:
|
||||||
- "tests/frontend/travis/runner.sh"
|
- "tests/frontend/travis/runner.sh"
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- secure: "OxZ2s724S96xu02746LUN+4lBckAe1BOICJjfA4jnFPNpiNU6XoMH52f+LgG\nZzAwu6xMTv+NsaLGp6Avm3cx4GZ+jIiHe4NB9XOgYPa0r0TBIi3ueWYPDyVv\nCniS/4qX68DoFNV4lh7zMBXn0IIPxT4Wppm3desBpjWDP/SdoRs="
|
- secure: "WMGxFkOeTTlhWB+ChMucRtIqVmMbwzYdNHuHQjKCcj8HBEPdZLfCuK/kf4rG\nVLcLQiIsyllqzNhBGVHG1nyqWr0/LTm8JRqSCDDVIhpyzp9KpCJQQJG2Uwjk\n6/HIJJh/wbxsEdLNV2crYU/EiVO3A4Bq0YTHUlbhUqG3mSCr5Ec="
|
||||||
- SAUCE_USER=etherpad
|
- secure: "gejXUAHYscbR6Bodw35XexpToqWkv2ifeECsbeEmjaLkYzXmUUNWJGknKSu7\nEUsSfQV8w+hxApr1Z+jNqk9aX3K1I4btL3cwk2trnNI8XRAvu1c1Iv60eerI\nkE82Rsd5lwUaMEh+/HoL8ztFCZamVndoNgX7HWp5J/NRZZMmh4g="
|
||||||
jdk:
|
jdk:
|
||||||
- oraclejdk6
|
- oraclejdk6
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
|
||||||
- petermartischka@googlemail.com
|
|
||||||
- contact@etherpad.org
|
|
||||||
irc:
|
irc:
|
||||||
channels:
|
channels:
|
||||||
- "irc.freenode.org#etherpad-lite-dev"
|
- "irc.freenode.org#etherpad-lite-dev"
|
||||||
|
|
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -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
|
# 1.2.10
|
||||||
* NEW: Broadcast slider is exposed in timeslider so plugins can interact with it
|
* 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
|
* Fix: IE issue where pads wouldn't load due to missing console from i18n
|
||||||
|
|
|
@ -21,7 +21,7 @@ Also, check out the **[FAQ](https://github.com/ether/etherpad-lite/wiki/FAQ)**,
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
Etherpad works with node v0.8 and v0.10, only. (We don't suppot v0.6)
|
Etherpad works with node v0.8 and v0.10, only. (We don't support v0.6)
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ Documentation can be found in `docs/`.
|
||||||
# Development
|
# Development
|
||||||
|
|
||||||
## Things you should know
|
## 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).
|
If you're new to node.js, start with Ryan Dahl's [Introduction to Node.js](http://youtu.be/jo_B4LTHi3I).
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ TIME_BETWEEN_EMAILS=600 # 10 minutes
|
||||||
# DON'T EDIT AFTER THIS LINE
|
# DON'T EDIT AFTER THIS LINE
|
||||||
|
|
||||||
LAST_EMAIL_SEND=0
|
LAST_EMAIL_SEND=0
|
||||||
|
LOG="$1"
|
||||||
|
|
||||||
#Move to the folder where ep-lite is installed
|
#Move to the folder where ep-lite is installed
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
@ -26,26 +27,27 @@ if [ -d "../bin" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#check if a logfile parameter is set
|
#check if a logfile parameter is set
|
||||||
if [ -z "$1" ]; then
|
if [ -z "${LOG}" ]; then
|
||||||
echo "Set a logfile as the first parameter"
|
echo "Set a logfile as the first parameter"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
while [ 1 ]
|
while [ 1 ]
|
||||||
do
|
do
|
||||||
#try to touch the file if it doesn't exist
|
#try to touch the file if it doesn't exist
|
||||||
if [ ! -f $1 ]; then
|
if [ ! -f ${LOG} ]; then
|
||||||
touch $1 || ( echo "Logfile '$1' is not writeable" && exit 1 )
|
touch ${LOG} || ( echo "Logfile '${LOG}' is not writeable" && exit 1 )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#check if the file is writeable
|
#check if the file is writeable
|
||||||
if [ ! -w $1 ]; then
|
if [ ! -w ${LOG} ]; then
|
||||||
echo "Logfile '$1' is not writeable"
|
echo "Logfile '${LOG}' is not writeable"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#start the application
|
#start the application
|
||||||
bin/run.sh >>$1 2>>$1
|
bin/run.sh $@ >>${LOG} 2>>${LOG}
|
||||||
|
|
||||||
#Send email
|
#Send email
|
||||||
if [ $ERROR_HANDLING = 1 ]; then
|
if [ $ERROR_HANDLING = 1 ]; then
|
||||||
|
@ -53,13 +55,13 @@ do
|
||||||
TIME_SINCE_LAST_SEND=$(($TIME_NOW - $LAST_EMAIL_SEND))
|
TIME_SINCE_LAST_SEND=$(($TIME_NOW - $LAST_EMAIL_SEND))
|
||||||
|
|
||||||
if [ $TIME_SINCE_LAST_SEND -gt $TIME_BETWEEN_EMAILS ]; then
|
if [ $TIME_SINCE_LAST_SEND -gt $TIME_BETWEEN_EMAILS ]; then
|
||||||
printf "Server was restared at: $(date)\nThe last 50 lines of the log before the error happens:\n $(tail -n 50 $1)" | mail -s "Pad Server was restarted" $EMAIL_ADDRESS
|
printf "Server was restared at: $(date)\nThe last 50 lines of the log before the error happens:\n $(tail -n 50 ${LOG})" | mail -s "Pad Server was restarted" $EMAIL_ADDRESS
|
||||||
|
|
||||||
LAST_EMAIL_SEND=$TIME_NOW
|
LAST_EMAIL_SEND=$TIME_NOW
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "RESTART!" >>$1
|
echo "RESTART!" >>${LOG}
|
||||||
|
|
||||||
#Sleep 10 seconds before restart
|
#Sleep 10 seconds before restart
|
||||||
sleep 10
|
sleep 10
|
||||||
|
|
|
@ -261,3 +261,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
|
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.
|
now you can disable it and handle your own deliniation.
|
||||||
The return value should be either true(disable) or false.
|
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.
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
"Tux-tn"
|
"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.bold.title": "\u0633\u0645\u064a\u0643 (Ctrl-B)",
|
||||||
"pad.toolbar.italic.title": "\u0645\u0627\u0626\u0644 (Ctrl-I)",
|
"pad.toolbar.italic.title": "\u0645\u0627\u0626\u0644 (Ctrl-I)",
|
||||||
"pad.toolbar.underline.title": "\u062a\u0633\u0637\u064a\u0631 (Ctrl-U)",
|
"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.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.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.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.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.save": "\u062a\u0633\u062c\u064a\u0644",
|
||||||
"pad.colorpicker.cancel": "\u0625\u0644\u063a\u0627\u0621",
|
"pad.colorpicker.cancel": "\u0625\u0644\u063a\u0627\u0621",
|
||||||
"pad.loading": "\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644...",
|
"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.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.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": "\u0646\u0648\u0639 \u0627\u0644\u062e\u0637:",
|
||||||
"pad.settings.fontType.normal": "\u0639\u0627\u062f\u064a",
|
"pad.settings.fontType.normal": "\u0639\u0627\u062f\u064a",
|
||||||
"pad.settings.fontType.monospaced": "\u062b\u0627\u0628\u062a \u0627\u0644\u0639\u0631\u0636",
|
"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.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_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.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.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.exporthtml": "\u0625\u062a\u0634 \u062a\u064a \u0625\u0645 \u0625\u0644",
|
||||||
"pad.importExport.exportplain": "\u0646\u0635 \u0639\u0627\u062f\u064a",
|
"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",
|
"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.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.importExport.exportdokuwiki": "\u062f\u0648\u06a9\u0648\u0648\u064a\u0643\u064a",
|
||||||
"pad.modals.connected": "\u0645\u062a\u0635\u0644.",
|
"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.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.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.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",
|
"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.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.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": "\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": "\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.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.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.readonly": "\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637",
|
||||||
"pad.share.link": "\u0631\u0627\u0628\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": "\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.authors": "\u0627\u0644\u0645\u0624\u0644\u0641\u0648\u0646:",
|
||||||
"timeslider.toolbar.authorsList": "\u0628\u062f\u0648\u0646 \u0645\u0624\u0644\u0641\u064a\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.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.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.january": "\u064a\u0646\u0627\u064a\u0631",
|
||||||
"timeslider.month.february": "\u0641\u0628\u0631\u0627\u064a\u0631",
|
"timeslider.month.february": "\u0641\u0628\u0631\u0627\u064a\u0631",
|
||||||
"timeslider.month.march": "\u0645\u0627\u0631\u0633",
|
"timeslider.month.march": "\u0645\u0627\u0631\u0633",
|
||||||
|
@ -73,5 +98,10 @@
|
||||||
"pad.userlist.unnamed": "\u063a\u064a\u0631 \u0645\u0633\u0645\u0649",
|
"pad.userlist.unnamed": "\u063a\u064a\u0631 \u0645\u0633\u0645\u0649",
|
||||||
"pad.userlist.guest": "\u0636\u064a\u0641",
|
"pad.userlist.guest": "\u0636\u064a\u0641",
|
||||||
"pad.userlist.deny": "\u0631\u0641\u0636",
|
"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"
|
||||||
}
|
}
|
|
@ -23,7 +23,7 @@
|
||||||
"pad.toolbar.timeslider.title": "L\u00ednia temporal",
|
"pad.toolbar.timeslider.title": "L\u00ednia temporal",
|
||||||
"pad.toolbar.savedRevision.title": "Desa la revisi\u00f3",
|
"pad.toolbar.savedRevision.title": "Desa la revisi\u00f3",
|
||||||
"pad.toolbar.settings.title": "Configuraci\u00f3",
|
"pad.toolbar.settings.title": "Configuraci\u00f3",
|
||||||
"pad.toolbar.embed.title": "Incrusta aquest pad",
|
"pad.toolbar.embed.title": "Comparteix i incrusta aquest pad",
|
||||||
"pad.toolbar.showusers.title": "Mostra els usuaris d\u2019aquest pad",
|
"pad.toolbar.showusers.title": "Mostra els usuaris d\u2019aquest pad",
|
||||||
"pad.colorpicker.save": "Desa",
|
"pad.colorpicker.save": "Desa",
|
||||||
"pad.colorpicker.cancel": "Cancel\u00b7la",
|
"pad.colorpicker.cancel": "Cancel\u00b7la",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"@metadata": {
|
"@metadata": {
|
||||||
"authors": [
|
"authors": [
|
||||||
|
"Jezevec",
|
||||||
"Quinn"
|
"Quinn"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -19,9 +20,9 @@
|
||||||
"pad.toolbar.clearAuthorship.title": "Vymazat barvy autorstv\u00ed",
|
"pad.toolbar.clearAuthorship.title": "Vymazat barvy autorstv\u00ed",
|
||||||
"pad.toolbar.import_export.title": "Importovat/Exportovat z/do jin\u00fdch form\u00e1t\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": "Osa \u010dasu",
|
||||||
"pad.toolbar.savedRevision.title": "Ulo\u017een\u00e9 revize",
|
"pad.toolbar.savedRevision.title": "Ulo\u017eit revizi",
|
||||||
"pad.toolbar.settings.title": "Nastaven\u00ed",
|
"pad.toolbar.settings.title": "Nastaven\u00ed",
|
||||||
"pad.toolbar.embed.title": "Um\u00edstit tento Pad",
|
"pad.toolbar.embed.title": "Um\u00edstit a nasd\u00edlet tento Pad",
|
||||||
"pad.toolbar.showusers.title": "Zobrazit u\u017eivatele u tohoto Padu",
|
"pad.toolbar.showusers.title": "Zobrazit u\u017eivatele u tohoto Padu",
|
||||||
"pad.colorpicker.save": "Ulo\u017eit",
|
"pad.colorpicker.save": "Ulo\u017eit",
|
||||||
"pad.colorpicker.cancel": "Zru\u0161it",
|
"pad.colorpicker.cancel": "Zru\u0161it",
|
||||||
|
@ -34,6 +35,7 @@
|
||||||
"pad.settings.stickychat": "Chat v\u017edy na obrazovce",
|
"pad.settings.stickychat": "Chat v\u017edy na obrazovce",
|
||||||
"pad.settings.colorcheck": "Barvy autorstv\u00ed",
|
"pad.settings.colorcheck": "Barvy autorstv\u00ed",
|
||||||
"pad.settings.linenocheck": "\u010c\u00edsla \u0159\u00e1dk\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": "Typ p\u00edsma:",
|
||||||
"pad.settings.fontType.normal": "Norm\u00e1ln\u00ed",
|
"pad.settings.fontType.normal": "Norm\u00e1ln\u00ed",
|
||||||
"pad.settings.fontType.monospaced": "Monospace",
|
"pad.settings.fontType.monospaced": "Monospace",
|
||||||
|
@ -41,6 +43,7 @@
|
||||||
"pad.settings.language": "Jazyk:",
|
"pad.settings.language": "Jazyk:",
|
||||||
"pad.importExport.import_export": "Import/Export",
|
"pad.importExport.import_export": "Import/Export",
|
||||||
"pad.importExport.import": "Nahr\u00e1t libovoln\u00fd textov\u00fd soubor nebo dokument",
|
"pad.importExport.import": "Nahr\u00e1t libovoln\u00fd textov\u00fd soubor nebo dokument",
|
||||||
|
"pad.importExport.importSuccessful": "\u00dasp\u011bch!",
|
||||||
"pad.importExport.export": "Exportovat st\u00e1vaj\u00edc\u00ed Pad jako:",
|
"pad.importExport.export": "Exportovat st\u00e1vaj\u00edc\u00ed Pad jako:",
|
||||||
"pad.importExport.exporthtml": "HTML",
|
"pad.importExport.exporthtml": "HTML",
|
||||||
"pad.importExport.exportplain": "Prost\u00fd text",
|
"pad.importExport.exportplain": "Prost\u00fd text",
|
||||||
|
@ -52,6 +55,7 @@
|
||||||
"pad.modals.connected": "P\u0159ipojeno.",
|
"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 tv\u00e9mu Padu\u2026",
|
||||||
"pad.modals.forcereconnect": "Vynutit znovup\u0159ipojen\u00ed",
|
"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.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 se mus\u00ed\u0161 znovu p\u0159ipojit.",
|
||||||
"pad.modals.unauth": "Nem\u00e1te autorizaci",
|
"pad.modals.unauth": "Nem\u00e1te autorizaci",
|
||||||
|
@ -76,10 +80,12 @@
|
||||||
"pad.share.emebdcode": "Vlo\u017eit URL",
|
"pad.share.emebdcode": "Vlo\u017eit URL",
|
||||||
"pad.chat": "Chat",
|
"pad.chat": "Chat",
|
||||||
"pad.chat.title": "Otev\u0159\u00edt chat tohoto Padu.",
|
"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": "Osa \u010dasu {{appTitle}}",
|
||||||
"timeslider.toolbar.returnbutton": "N\u00e1vrat do Padu",
|
"timeslider.toolbar.returnbutton": "N\u00e1vrat do Padu",
|
||||||
"timeslider.toolbar.authors": "Auto\u0159i:",
|
"timeslider.toolbar.authors": "Auto\u0159i:",
|
||||||
"timeslider.toolbar.authorsList": "Bez autor\u016f",
|
"timeslider.toolbar.authorsList": "Bez autor\u016f",
|
||||||
|
"timeslider.toolbar.exportlink.title": "Exportovat",
|
||||||
"timeslider.exportCurrent": "Exportovat nyn\u011bj\u0161\u00ed verzi jako:",
|
"timeslider.exportCurrent": "Exportovat nyn\u011bj\u0161\u00ed verzi jako:",
|
||||||
"timeslider.version": "Verze {{version}}",
|
"timeslider.version": "Verze {{version}}",
|
||||||
"timeslider.saved": "Ulo\u017eeno {{day}} {{month}} {{year}}",
|
"timeslider.saved": "Ulo\u017eeno {{day}} {{month}} {{year}}",
|
||||||
|
@ -95,5 +101,22 @@
|
||||||
"timeslider.month.september": "z\u00e1\u0159\u00ed",
|
"timeslider.month.september": "z\u00e1\u0159\u00ed",
|
||||||
"timeslider.month.october": "\u0159\u00edjen",
|
"timeslider.month.october": "\u0159\u00edjen",
|
||||||
"timeslider.month.november": "listopad",
|
"timeslider.month.november": "listopad",
|
||||||
"timeslider.month.december": "prosinec"
|
"timeslider.month.december": "prosinec",
|
||||||
|
"timeslider.unnamedauthor": "{{num}} nejmenovan\u00fd autor",
|
||||||
|
"timeslider.unnamedauthors": "{{num}} 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.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?",
|
||||||
|
"pad.impexp.convertFailed": "Tento soubor nelze importovat. Pou\u017eijte pros\u00edm jin\u00fd form\u00e1t dokumentu nebo nakop\u00edrujte text ru\u010dn\u011b",
|
||||||
|
"pad.impexp.uploadFailed": "Nahr\u00e1v\u00e1n\u00ed selhalo, zkuste to znovu",
|
||||||
|
"pad.impexp.importfailed": "Import selhal",
|
||||||
|
"pad.impexp.copypaste": "Vlo\u017ete pros\u00edm kopii",
|
||||||
|
"pad.impexp.exportdisabled": "Export do form\u00e1tu {{type}} je zak\u00e1z\u00e1n. Kontaktujte sv\u00e9ho administr\u00e1tora pro zji\u0161t\u011bn\u00ed detail\u016f."
|
||||||
}
|
}
|
|
@ -24,7 +24,7 @@
|
||||||
"pad.toolbar.timeslider.title": "Pad-Versionsgeschichte anzeigen",
|
"pad.toolbar.timeslider.title": "Pad-Versionsgeschichte anzeigen",
|
||||||
"pad.toolbar.savedRevision.title": "Version speichern",
|
"pad.toolbar.savedRevision.title": "Version speichern",
|
||||||
"pad.toolbar.settings.title": "Einstellungen",
|
"pad.toolbar.settings.title": "Einstellungen",
|
||||||
"pad.toolbar.embed.title": "Dieses Pad teilen oder einbetten",
|
"pad.toolbar.embed.title": "Dieses Pad teilen und einbetten",
|
||||||
"pad.toolbar.showusers.title": "Aktuell verbundene Benutzer anzeigen",
|
"pad.toolbar.showusers.title": "Aktuell verbundene Benutzer anzeigen",
|
||||||
"pad.colorpicker.save": "Speichern",
|
"pad.colorpicker.save": "Speichern",
|
||||||
"pad.colorpicker.cancel": "Abbrechen",
|
"pad.colorpicker.cancel": "Abbrechen",
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"pad.toolbar.timeslider.title": "\u03a7\u03c1\u03bf\u03bd\u03bf\u03b4\u03b9\u03ac\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1",
|
"pad.toolbar.timeslider.title": "\u03a7\u03c1\u03bf\u03bd\u03bf\u03b4\u03b9\u03ac\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1",
|
||||||
"pad.toolbar.savedRevision.title": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u0391\u03bd\u03b1\u03b8\u03b5\u03ce\u03c1\u03b7\u03c3\u03b7\u03c2",
|
"pad.toolbar.savedRevision.title": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u0391\u03bd\u03b1\u03b8\u03b5\u03ce\u03c1\u03b7\u03c3\u03b7\u03c2",
|
||||||
"pad.toolbar.settings.title": "\u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2",
|
"pad.toolbar.settings.title": "\u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2",
|
||||||
"pad.toolbar.embed.title": "\u0395\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 pad",
|
"pad.toolbar.embed.title": "\u0394\u03b9\u03b1\u03bc\u03bf\u03af\u03c1\u03b1\u03c3\u03b7 \u03ba\u03b1\u03b9 \u0395\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7 \u03b1\u03c5\u03c4\u03bf\u03cd \u03c4\u03bf\u03c5 pad",
|
||||||
"pad.toolbar.showusers.title": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03c9\u03bd \u03c7\u03c1\u03b7\u03c3\u03c4\u03ce\u03bd \u03b1\u03c5\u03c4\u03bf\u03cd \u03c4\u03bf\u03c5 pad",
|
"pad.toolbar.showusers.title": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03c9\u03bd \u03c7\u03c1\u03b7\u03c3\u03c4\u03ce\u03bd \u03b1\u03c5\u03c4\u03bf\u03cd \u03c4\u03bf\u03c5 pad",
|
||||||
"pad.colorpicker.save": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7",
|
"pad.colorpicker.save": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7",
|
||||||
"pad.colorpicker.cancel": "\u0386\u03ba\u03c5\u03c1\u03bf",
|
"pad.colorpicker.cancel": "\u0386\u03ba\u03c5\u03c1\u03bf",
|
||||||
|
|
121
src/locales/eu.json
Normal file
121
src/locales/eu.json
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
{
|
||||||
|
"@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.unnamedauthor": "{{num}} izenik gabeko egilea",
|
||||||
|
"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."
|
||||||
|
}
|
|
@ -3,8 +3,9 @@
|
||||||
"authors": {
|
"authors": {
|
||||||
"0": "BMRG14",
|
"0": "BMRG14",
|
||||||
"1": "Dalba",
|
"1": "Dalba",
|
||||||
"3": "ZxxZxxZ",
|
"2": "Ebraminio",
|
||||||
"4": "\u0627\u0644\u0646\u0627\u0632"
|
"4": "ZxxZxxZ",
|
||||||
|
"5": "\u0627\u0644\u0646\u0627\u0632"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"index.newPad": "\u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u062a\u0627\u0632\u0647",
|
"index.newPad": "\u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u062a\u0627\u0632\u0647",
|
||||||
|
@ -22,7 +23,7 @@
|
||||||
"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.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.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.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.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": "\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.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",
|
||||||
|
|
97
src/locales/fo.json
Normal file
97
src/locales/fo.json
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
"@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.unnamedauthor": "{{num}} \u00f3nevndur h\u00f8vundur",
|
||||||
|
"timeslider.unnamedauthors": "{{num}} \u00f3nevndir h\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"
|
||||||
|
}
|
|
@ -9,9 +9,12 @@
|
||||||
"5": "Jean-Fr\u00e9d\u00e9ric",
|
"5": "Jean-Fr\u00e9d\u00e9ric",
|
||||||
"6": "Leviathan",
|
"6": "Leviathan",
|
||||||
"7": "McDutchie",
|
"7": "McDutchie",
|
||||||
"8": "Od1n",
|
"8": "Metroitendo",
|
||||||
"9": "Peter17",
|
"9": "Od1n",
|
||||||
"11": "Tux-tn"
|
"10": "Peter17",
|
||||||
|
"11": "Quenenni",
|
||||||
|
"13": "Stephane Cottin",
|
||||||
|
"14": "Tux-tn"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"index.newPad": "Nouveau Pad",
|
"index.newPad": "Nouveau Pad",
|
||||||
|
@ -44,8 +47,8 @@
|
||||||
"pad.settings.stickychat": "Toujours afficher le chat",
|
"pad.settings.stickychat": "Toujours afficher le chat",
|
||||||
"pad.settings.colorcheck": "Couleurs d\u2019identification",
|
"pad.settings.colorcheck": "Couleurs d\u2019identification",
|
||||||
"pad.settings.linenocheck": "Num\u00e9ros de lignes",
|
"pad.settings.linenocheck": "Num\u00e9ros de lignes",
|
||||||
"pad.settings.rtlcheck": "Lire le contenu de la droite vers la gauche ?",
|
"pad.settings.rtlcheck": "Lecture de droite \u00e0 gauche",
|
||||||
"pad.settings.fontType": "Type de police :",
|
"pad.settings.fontType": "Police :",
|
||||||
"pad.settings.fontType.normal": "Normal",
|
"pad.settings.fontType.normal": "Normal",
|
||||||
"pad.settings.fontType.monospaced": "Monospace",
|
"pad.settings.fontType.monospaced": "Monospace",
|
||||||
"pad.settings.globalView": "Vue d\u2019ensemble",
|
"pad.settings.globalView": "Vue d\u2019ensemble",
|
||||||
|
@ -82,7 +85,7 @@
|
||||||
"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": "Vous avez \u00e9t\u00e9 d\u00e9connect\u00e9.",
|
||||||
"pad.modals.disconnected.explanation": "La connexion au serveur a \u00e9chou\u00e9.",
|
"pad.modals.disconnected.explanation": "La connexion au serveur a \u00e9chou\u00e9.",
|
||||||
"pad.modals.disconnected.cause": "Il se peut que le serveur soit indisponible. Veuillez nous en informer si le probl\u00e8me persiste.",
|
"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.readonly": "Lecture seule",
|
||||||
"pad.share.link": "Lien",
|
"pad.share.link": "Lien",
|
||||||
|
@ -91,14 +94,14 @@
|
||||||
"pad.chat.title": "Ouvrir le chat associ\u00e9 \u00e0 ce pad.",
|
"pad.chat.title": "Ouvrir le chat associ\u00e9 \u00e0 ce pad.",
|
||||||
"pad.chat.loadmessages": "Charger davantage de messages",
|
"pad.chat.loadmessages": "Charger davantage de messages",
|
||||||
"timeslider.pageTitle": "Historique dynamique de {{appTitle}}",
|
"timeslider.pageTitle": "Historique dynamique de {{appTitle}}",
|
||||||
"timeslider.toolbar.returnbutton": "Retour \u00e0 ce Pad.",
|
"timeslider.toolbar.returnbutton": "Retour au Pad.",
|
||||||
"timeslider.toolbar.authors": "Auteurs :",
|
"timeslider.toolbar.authors": "Auteurs :",
|
||||||
"timeslider.toolbar.authorsList": "Aucun auteur",
|
"timeslider.toolbar.authorsList": "Aucun auteur",
|
||||||
"timeslider.toolbar.exportlink.title": "Exporter",
|
"timeslider.toolbar.exportlink.title": "Exporter",
|
||||||
"timeslider.exportCurrent": "Exporter la version actuelle en\u00a0:",
|
"timeslider.exportCurrent": "Exporter la version actuelle en\u00a0:",
|
||||||
"timeslider.version": "Version {{version}}",
|
"timeslider.version": "Version {{version}}",
|
||||||
"timeslider.saved": "Enregistr\u00e9 le {{day}} {{month}} {{year}}",
|
"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.january": "Janvier",
|
||||||
"timeslider.month.february": "F\u00e9vrier",
|
"timeslider.month.february": "F\u00e9vrier",
|
||||||
"timeslider.month.march": "Mars",
|
"timeslider.month.march": "Mars",
|
||||||
|
@ -115,7 +118,7 @@
|
||||||
"timeslider.unnamedauthors": "{{num}} auteurs anonymes",
|
"timeslider.unnamedauthors": "{{num}} auteurs anonymes",
|
||||||
"pad.savedrevs.marked": "Cette r\u00e9vision est maintenant marqu\u00e9e comme r\u00e9vision enregistr\u00e9e",
|
"pad.savedrevs.marked": "Cette r\u00e9vision est maintenant marqu\u00e9e comme r\u00e9vision enregistr\u00e9e",
|
||||||
"pad.userlist.entername": "Entrez votre nom",
|
"pad.userlist.entername": "Entrez votre nom",
|
||||||
"pad.userlist.unnamed": "sans nom",
|
"pad.userlist.unnamed": "anonyme",
|
||||||
"pad.userlist.guest": "Invit\u00e9",
|
"pad.userlist.guest": "Invit\u00e9",
|
||||||
"pad.userlist.deny": "Refuser",
|
"pad.userlist.deny": "Refuser",
|
||||||
"pad.userlist.approve": "Approuver",
|
"pad.userlist.approve": "Approuver",
|
||||||
|
|
52
src/locales/km.json
Normal file
52
src/locales/km.json
Normal 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..."
|
||||||
|
}
|
|
@ -1,4 +1,9 @@
|
||||||
{
|
{
|
||||||
|
"@metadata": {
|
||||||
|
"authors": [
|
||||||
|
"Robby"
|
||||||
|
]
|
||||||
|
},
|
||||||
"index.newPad": "Neie Pad",
|
"index.newPad": "Neie Pad",
|
||||||
"pad.toolbar.ol.title": "Numer\u00e9iert L\u00ebscht",
|
"pad.toolbar.ol.title": "Numer\u00e9iert L\u00ebscht",
|
||||||
"pad.toolbar.ul.title": "Net-numer\u00e9iert L\u00ebscht",
|
"pad.toolbar.ul.title": "Net-numer\u00e9iert L\u00ebscht",
|
||||||
|
@ -44,10 +49,5 @@
|
||||||
"pad.userlist.entername": "Gitt \u00c4ren Numm an",
|
"pad.userlist.entername": "Gitt \u00c4ren Numm an",
|
||||||
"pad.userlist.guest": "Gaascht",
|
"pad.userlist.guest": "Gaascht",
|
||||||
"pad.impexp.importbutton": "Elo import\u00e9ieren",
|
"pad.impexp.importbutton": "Elo import\u00e9ieren",
|
||||||
"pad.impexp.importing": "Import\u00e9ieren...",
|
"pad.impexp.importing": "Import\u00e9ieren..."
|
||||||
"@metadata": {
|
|
||||||
"authors": [
|
|
||||||
"Robby"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
72
src/locales/lt.json
Normal file
72
src/locales/lt.json
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
{
|
||||||
|
"@metadata": {
|
||||||
|
"authors": [
|
||||||
|
"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.fontType.normal": "Normalus",
|
||||||
|
"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.unnamedauthor": "{{num}} bevardis autorius",
|
||||||
|
"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"
|
||||||
|
}
|
54
src/locales/lv.json
Normal file
54
src/locales/lv.json
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
"@metadata": {
|
||||||
|
"authors": [
|
||||||
|
"Admresdeserv."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pad.toolbar.bold.title": "Treknrakst\u0101 (CTRL + B)",
|
||||||
|
"pad.toolbar.italic.title": "Sl\u012bpraksta (Ctrl-es)",
|
||||||
|
"pad.toolbar.underline.title": "Pasv\u012btrojuma (CTRL + U)",
|
||||||
|
"pad.toolbar.strikethrough.title": "P\u0101rsv\u012btrojums",
|
||||||
|
"pad.toolbar.ol.title": "Sak\u0101rtots saraksts",
|
||||||
|
"pad.toolbar.ul.title": "Nesak\u0101rtots saraksts",
|
||||||
|
"pad.toolbar.indent.title": "Atk\u0101pe",
|
||||||
|
"pad.toolbar.unindent.title": "Izk\u0101pe",
|
||||||
|
"pad.toolbar.undo.title": "Atsaukt (CTRL + Z)",
|
||||||
|
"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.settings.title": "Iestat\u012bjumi",
|
||||||
|
"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.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.importSuccessful": "Veiksm\u012bgi!",
|
||||||
|
"pad.importExport.exporthtml": "HTML",
|
||||||
|
"pad.importExport.exportplain": "Vienk\u0101r\u0161a teksta",
|
||||||
|
"pad.importExport.exportword": "Programma Microsoft Word",
|
||||||
|
"pad.importExport.exportpdf": "PDF",
|
||||||
|
"pad.importExport.exportopen": "ODF (Open dokumenta form\u0101ts)",
|
||||||
|
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||||
|
"pad.modals.userdup": "Atv\u0113rts cit\u0101 log\u0101",
|
||||||
|
"pad.modals.unauth": "Nav at\u013cauts",
|
||||||
|
"pad.modals.looping": "Atvienots.",
|
||||||
|
"pad.modals.looping.explanation": "Past\u0101v sakaru probl\u0113mas ar sinhroniz\u0101cijas servera.",
|
||||||
|
"pad.modals.initsocketfail": "Serveris nav sasniedzams.",
|
||||||
|
"pad.modals.initsocketfail.explanation": "Nevar\u0113ja izveidot savienojumu ar sinhroniz\u0101cijas serveri.",
|
||||||
|
"pad.modals.slowcommit": "Atvienots.",
|
||||||
|
"pad.modals.slowcommit.explanation": "Serveris nerea\u0123\u0113.",
|
||||||
|
"pad.modals.deleted": "Dz\u0113sts",
|
||||||
|
"pad.modals.disconnected": "J\u016bs esat atvienots.",
|
||||||
|
"pad.modals.disconnected.explanation": "Tika zaud\u0113ts savienojums ar serveri",
|
||||||
|
"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"
|
||||||
|
}
|
|
@ -22,7 +22,7 @@
|
||||||
"pad.toolbar.timeslider.title": "\u0418\u0441\u0442\u043e\u0440\u0438\u0441\u043a\u0438 \u043f\u0440\u0435\u0433\u043b\u0435\u0434",
|
"pad.toolbar.timeslider.title": "\u0418\u0441\u0442\u043e\u0440\u0438\u0441\u043a\u0438 \u043f\u0440\u0435\u0433\u043b\u0435\u0434",
|
||||||
"pad.toolbar.savedRevision.title": "\u0417\u0430\u0447\u0443\u0432\u0430\u0458 \u0440\u0435\u0432\u0438\u0437\u0438\u0458\u0430",
|
"pad.toolbar.savedRevision.title": "\u0417\u0430\u0447\u0443\u0432\u0430\u0458 \u0440\u0435\u0432\u0438\u0437\u0438\u0458\u0430",
|
||||||
"pad.toolbar.settings.title": "\u041f\u043e\u0441\u0442\u0430\u0432\u043a\u0438",
|
"pad.toolbar.settings.title": "\u041f\u043e\u0441\u0442\u0430\u0432\u043a\u0438",
|
||||||
"pad.toolbar.embed.title": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0458\u0430 \u0442\u0435\u0442\u0440\u0430\u0442\u043a\u0430\u0432\u0430",
|
"pad.toolbar.embed.title": "\u0421\u043f\u043e\u0434\u0435\u043b\u0435\u0442\u0435 \u0438 \u0432\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u0458\u0430 \u0442\u0435\u0442\u0440\u0430\u0442\u043a\u0430\u0432\u0430",
|
||||||
"pad.toolbar.showusers.title": "\u041f\u0440\u0438\u043a\u0430\u0436. \u043a\u043e\u0440\u0438\u0441\u043d\u0438\u0446\u0438\u0442\u0435 \u043d\u0430 \u0442\u0435\u0442\u0440\u0430\u0442\u043a\u0430\u0432\u0430",
|
"pad.toolbar.showusers.title": "\u041f\u0440\u0438\u043a\u0430\u0436. \u043a\u043e\u0440\u0438\u0441\u043d\u0438\u0446\u0438\u0442\u0435 \u043d\u0430 \u0442\u0435\u0442\u0440\u0430\u0442\u043a\u0430\u0432\u0430",
|
||||||
"pad.colorpicker.save": "\u0417\u0430\u0447\u0443\u0432\u0430\u0458",
|
"pad.colorpicker.save": "\u0417\u0430\u0447\u0443\u0432\u0430\u0458",
|
||||||
"pad.colorpicker.cancel": "\u041e\u0442\u043a\u0430\u0436\u0438",
|
"pad.colorpicker.cancel": "\u041e\u0442\u043a\u0430\u0436\u0438",
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"pad.toolbar.timeslider.title": "\u0d38\u0d2e\u0d2f\u0d30\u0d47\u0d16",
|
"pad.toolbar.timeslider.title": "\u0d38\u0d2e\u0d2f\u0d30\u0d47\u0d16",
|
||||||
"pad.toolbar.savedRevision.title": "\u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d4d \u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
"pad.toolbar.savedRevision.title": "\u0d28\u0d3e\u0d7e\u0d2a\u0d4d\u0d2a\u0d24\u0d3f\u0d2a\u0d4d\u0d2a\u0d4d \u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
||||||
"pad.toolbar.settings.title": "\u0d38\u0d1c\u0d4d\u0d1c\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e",
|
"pad.toolbar.settings.title": "\u0d38\u0d1c\u0d4d\u0d1c\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e",
|
||||||
"pad.toolbar.embed.title": "\u0d08 \u0d2a\u0d3e\u0d21\u0d4d \u0d0e\u0d02\u0d2c\u0d46\u0d21\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
"pad.toolbar.embed.title": "\u0d08 \u0d2a\u0d3e\u0d21\u0d4d \u0d2a\u0d19\u0d4d\u0d15\u0d4d \u0d35\u0d46\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15, \u0d0e\u0d02\u0d2c\u0d46\u0d21\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
||||||
"pad.toolbar.showusers.title": "\u0d08 \u0d2a\u0d3e\u0d21\u0d3f\u0d32\u0d41\u0d33\u0d4d\u0d33 \u0d09\u0d2a\u0d2f\u0d4b\u0d15\u0d4d\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d33\u0d46 \u0d2a\u0d4d\u0d30\u0d26\u0d7c\u0d36\u0d3f\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
"pad.toolbar.showusers.title": "\u0d08 \u0d2a\u0d3e\u0d21\u0d3f\u0d32\u0d41\u0d33\u0d4d\u0d33 \u0d09\u0d2a\u0d2f\u0d4b\u0d15\u0d4d\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d33\u0d46 \u0d2a\u0d4d\u0d30\u0d26\u0d7c\u0d36\u0d3f\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
||||||
"pad.colorpicker.save": "\u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
"pad.colorpicker.save": "\u0d38\u0d47\u0d35\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
||||||
"pad.colorpicker.cancel": "\u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
"pad.colorpicker.cancel": "\u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
"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 \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.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.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",
|
"pad.userlist.unnamed": "\u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24\u0d35",
|
||||||
"pad.userlist.guest": "\u0d05\u0d24\u0d3f\u0d25\u0d3f",
|
"pad.userlist.guest": "\u0d05\u0d24\u0d3f\u0d25\u0d3f",
|
||||||
"pad.userlist.deny": "\u0d28\u0d3f\u0d30\u0d38\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
"pad.userlist.deny": "\u0d28\u0d3f\u0d30\u0d38\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
||||||
"pad.userlist.approve": "\u0d05\u0d02\u0d17\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
"pad.userlist.approve": "\u0d05\u0d02\u0d17\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
||||||
|
|
|
@ -19,9 +19,9 @@
|
||||||
"pad.toolbar.clearAuthorship.title": "Escafar las colors qu'identifican los autors",
|
"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.import_export.title": "Importar/Exportar de/cap a un format de fichi\u00e8r diferent",
|
||||||
"pad.toolbar.timeslider.title": "Istoric dinamic",
|
"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.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.toolbar.showusers.title": "Afichar los utilizaires del Pad",
|
||||||
"pad.colorpicker.save": "Enregistrar",
|
"pad.colorpicker.save": "Enregistrar",
|
||||||
"pad.colorpicker.cancel": "Anullar",
|
"pad.colorpicker.cancel": "Anullar",
|
||||||
|
@ -34,6 +34,7 @@
|
||||||
"pad.settings.stickychat": "Afichar totjorn lo chat",
|
"pad.settings.stickychat": "Afichar totjorn lo chat",
|
||||||
"pad.settings.colorcheck": "Colors d\u2019identificacion",
|
"pad.settings.colorcheck": "Colors d\u2019identificacion",
|
||||||
"pad.settings.linenocheck": "Num\u00e8ros de linhas",
|
"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": "Tipe de poli\u00e7a :",
|
||||||
"pad.settings.fontType.normal": "Normal",
|
"pad.settings.fontType.normal": "Normal",
|
||||||
"pad.settings.fontType.monospaced": "Monospace",
|
"pad.settings.fontType.monospaced": "Monospace",
|
||||||
|
@ -100,6 +101,8 @@
|
||||||
"timeslider.month.october": "Octobre",
|
"timeslider.month.october": "Octobre",
|
||||||
"timeslider.month.november": "Novembre",
|
"timeslider.month.november": "Novembre",
|
||||||
"timeslider.month.december": "Decembre",
|
"timeslider.month.december": "Decembre",
|
||||||
|
"timeslider.unnamedauthor": "{{num}} autor anonime",
|
||||||
|
"timeslider.unnamedauthors": "{{num}} autors anonimes",
|
||||||
"pad.savedrevs.marked": "Aquesta revision es ara marcada coma revision enregistrada",
|
"pad.savedrevs.marked": "Aquesta revision es ara marcada coma revision enregistrada",
|
||||||
"pad.userlist.entername": "Entratz v\u00f2stre nom",
|
"pad.userlist.entername": "Entratz v\u00f2stre nom",
|
||||||
"pad.userlist.unnamed": "sens nom",
|
"pad.userlist.unnamed": "sens nom",
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
"pad.toolbar.timeslider.title": "\u0420\u04d5\u0441\u0442\u04d5\u0434\u0436\u044b \u0445\u0430\u0445\u0445",
|
"pad.toolbar.timeslider.title": "\u0420\u04d5\u0441\u0442\u04d5\u0434\u0436\u044b \u0445\u0430\u0445\u0445",
|
||||||
"pad.toolbar.savedRevision.title": "\u0424\u04d5\u043b\u0442\u04d5\u0440 \u0431\u0430\u0432\u04d5\u0440\u044b\u043d\u04d5\u043d",
|
"pad.toolbar.savedRevision.title": "\u0424\u04d5\u043b\u0442\u04d5\u0440 \u0431\u0430\u0432\u04d5\u0440\u044b\u043d\u04d5\u043d",
|
||||||
"pad.toolbar.settings.title": "\u0423\u0430\u0433\u04d5\u0432\u04d5\u0440\u0434\u0442\u04d5",
|
"pad.toolbar.settings.title": "\u0423\u0430\u0433\u04d5\u0432\u04d5\u0440\u0434\u0442\u04d5",
|
||||||
"pad.toolbar.embed.title": "\u0410\u0446\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0431\u0430\u0444\u0442\u0430\u0443\u044b\u043d",
|
"pad.toolbar.embed.title": "\u0410\u0446\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0431\u0430\u0444\u0442\u0430\u0443 \u00e6\u043c\u00e6 \u0439\u00e6 \u0442\u044b\u0445\u0445\u00e6\u0439 \u0430\u0445\u044a\u00e6\u0440 \u043a\u00e6\u043d",
|
||||||
"pad.toolbar.showusers.title": "\u0410\u0446\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0430\u0440\u0445\u0430\u0439\u0434\u0436\u044b\u0442\u044b \u0440\u0430\u0432\u0434\u0438\u0441\u044b\u043d",
|
"pad.toolbar.showusers.title": "\u0410\u0446\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0430\u0440\u0445\u0430\u0439\u0434\u0436\u044b\u0442\u044b \u0440\u0430\u0432\u0434\u0438\u0441\u044b\u043d",
|
||||||
"pad.colorpicker.save": "\u041d\u044b\u0432\u00e6\u0440\u044b\u043d",
|
"pad.colorpicker.save": "\u041d\u044b\u0432\u00e6\u0440\u044b\u043d",
|
||||||
"pad.colorpicker.cancel": "\u041d\u044b\u0443\u0443\u0430\u0434\u0437\u044b\u043d",
|
"pad.colorpicker.cancel": "\u041d\u044b\u0443\u0443\u0430\u0434\u0437\u044b\u043d",
|
||||||
|
|
107
src/locales/pa.json
Normal file
107
src/locales/pa.json
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
{
|
||||||
|
"@metadata": {
|
||||||
|
"authors": [
|
||||||
|
"Aalam"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"index.newPad": "\u0a28\u0a35\u0a3e\u0a02 \u0a2a\u0a48\u0a21",
|
||||||
|
"index.createOpenPad": "\u0a1c\u0a3e\u0a02 \u0a28\u0a3e\u0a02 \u0a28\u0a3e\u0a32 \u0a28\u0a35\u0a3e\u0a02 \u0a2a\u0a48\u0a21 \u0a2c\u0a23\u0a3e\u0a13/\u0a16\u0a4b\u0a32\u0a4d\u0a39\u0a4b:",
|
||||||
|
"pad.toolbar.bold.title": "\u0a17\u0a42\u0a5c\u0a4d\u0a39\u0a3e (Ctrl-B)",
|
||||||
|
"pad.toolbar.italic.title": "\u0a24\u0a3f\u0a30\u0a1b\u0a3e (Ctrl-I)",
|
||||||
|
"pad.toolbar.underline.title": "\u0a39\u0a47\u0a20\u0a3e\u0a02-\u0a30\u0a47\u0a16\u0a3e (Ctrl-U)",
|
||||||
|
"pad.toolbar.strikethrough.title": "\u0a35\u0a3f\u0a70\u0a28\u0a4d\u0a39\u0a4b \u0a35\u0a3f\u0a28\u0a4b",
|
||||||
|
"pad.toolbar.ol.title": "\u0a32\u0a5c\u0a40\u0a35\u0a3e\u0a30 \u0a32\u0a3f\u0a38\u0a1f",
|
||||||
|
"pad.toolbar.ul.title": "\u0a2c\u0a3f\u0a28-\u0a32\u0a5c\u0a40\u0a2c\u0a71\u0a27 \u0a38\u0a42\u0a1a\u0a40",
|
||||||
|
"pad.toolbar.indent.title": "\u0a39\u0a3e\u0a38\u0a3c\u0a40\u0a0f \u0a24\u0a4b\u0a02 \u0a26\u0a42\u0a30",
|
||||||
|
"pad.toolbar.undo.title": "\u0a35\u0a3e\u0a2a\u0a38 (Ctrl-Z)",
|
||||||
|
"pad.toolbar.redo.title": "\u0a2a\u0a30\u0a24\u0a3e\u0a13 (Ctrl-Y)",
|
||||||
|
"pad.toolbar.clearAuthorship.title": "\u0a2a\u0a30\u0a2e\u0a3e\u0a23\u0a15\u0a3f\u0a24\u0a3e \u0a30\u0a70\u0a17 \u0a38\u0a3e\u0a2b\u0a3c \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.toolbar.import_export.title": "\u0a35\u0a71\u0a16-\u0a35\u0a71\u0a16 \u0a2b\u0a3e\u0a07\u0a32 \u0a2b\u0a3e\u0a30\u0a2e\u0a48\u0a1f \u0a24\u0a4b\u0a02/\u0a35\u0a3f\u0a71\u0a1a \u0a07\u0a70\u0a2a\u0a4b\u0a30\u0a1f/\u0a10\u0a15\u0a38\u0a2a\u0a4b\u0a30\u0a1f \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.toolbar.timeslider.title": "\u0a38\u0a2e\u0a3e\u0a02-\u0a32\u0a15\u0a40\u0a30",
|
||||||
|
"pad.toolbar.savedRevision.title": "\u0a30\u0a40\u0a35\u0a3f\u0a1c\u0a3c\u0a28 \u0a38\u0a70\u0a2d\u0a3e\u0a32\u0a4b",
|
||||||
|
"pad.toolbar.settings.title": "\u0a38\u0a48\u0a1f\u0a3f\u0a70\u0a17",
|
||||||
|
"pad.toolbar.embed.title": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a38\u0a3e\u0a02\u0a1d\u0a3e \u0a24\u0a47 \u0a07\u0a70\u0a2c\u0a48\u0a71\u0a21 \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.toolbar.showusers.title": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a09\u0a71\u0a24\u0a47 \u0a2f\u0a42\u0a1c\u0a3c\u0a30 \u0a35\u0a47\u0a16\u0a3e\u0a13",
|
||||||
|
"pad.colorpicker.save": "\u0a38\u0a70\u0a2d\u0a3e\u0a32\u0a4b",
|
||||||
|
"pad.colorpicker.cancel": "\u0a30\u0a71\u0a26 \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.loading": "\u2026\u0a32\u0a4b\u0a21 \u0a15\u0a40\u0a24\u0a3e \u0a1c\u0a3e \u0a30\u0a3f\u0a39\u0a3e \u0a39\u0a48",
|
||||||
|
"pad.passwordRequired": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a26\u0a40 \u0a35\u0a30\u0a24\u0a4b\u0a02 \u0a15\u0a30\u0a28 \u0a32\u0a08 \u0a24\u0a41\u0a39\u0a3e\u0a28\u0a42\u0a70 \u0a2a\u0a3e\u0a38\u0a35\u0a30\u0a21 \u0a1a\u0a3e\u0a39\u0a40\u0a26\u0a3e \u0a39\u0a48",
|
||||||
|
"pad.permissionDenied": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a35\u0a30\u0a24\u0a28 \u0a32\u0a08 \u0a24\u0a41\u0a39\u0a3e\u0a28\u0a42\u0a70 \u0a05\u0a27\u0a3f\u0a15\u0a3e\u0a30 \u0a28\u0a39\u0a40\u0a02 \u0a39\u0a28",
|
||||||
|
"pad.wrongPassword": "\u0a24\u0a41\u0a39\u0a3e\u0a21\u0a3e \u0a2a\u0a3e\u0a38\u0a35\u0a30\u0a21 \u0a17\u0a32\u0a24\u0a40 \u0a38\u0a40",
|
||||||
|
"pad.settings.padSettings": "\u0a2a\u0a48\u0a21 \u0a38\u0a48\u0a1f\u0a3f\u0a70\u0a17",
|
||||||
|
"pad.settings.myView": "\u0a2e\u0a47\u0a30\u0a40 \u0a1d\u0a32\u0a15",
|
||||||
|
"pad.settings.stickychat": "\u0a39\u0a2e\u0a47\u0a38\u0a3c\u0a3e \u0a38\u0a15\u0a30\u0a40\u0a28 \u0a09\u0a71\u0a24\u0a47 \u0a17\u0a71\u0a32 \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.settings.linenocheck": "\u0a32\u0a3e\u0a08\u0a28 \u0a28\u0a70\u0a2c\u0a30",
|
||||||
|
"pad.settings.rtlcheck": "\u0a38\u0a2e\u0a71\u0a17\u0a30\u0a40 \u0a38\u0a71\u0a1c\u0a47 \u0a24\u0a4b\u0a02 \u0a16\u0a71\u0a2c\u0a47 \u0a2a\u0a5c\u0a4d\u0a39\u0a28\u0a40 \u0a39\u0a48?",
|
||||||
|
"pad.settings.fontType": "\u0a2b\u0a4b\u0a02\u0a1f \u0a15\u0a3f\u0a38\u0a2e:",
|
||||||
|
"pad.settings.fontType.normal": "\u0a38\u0a27\u0a3e\u0a30\u0a28",
|
||||||
|
"pad.settings.fontType.monospaced": "\u0a2e\u0a4b\u0a28\u0a4b\u0a38\u0a2a\u0a47\u0a38",
|
||||||
|
"pad.settings.globalView": "\u0a17\u0a32\u0a4b\u0a2c\u0a32 \u0a1d\u0a32\u0a15",
|
||||||
|
"pad.settings.language": "\u0a2d\u0a3e\u0a38\u0a3c\u0a3e:",
|
||||||
|
"pad.importExport.import_export": "\u0a07\u0a70\u0a2a\u0a4b\u0a30\u0a1f/\u0a10\u0a15\u0a38\u0a2a\u0a4b\u0a30\u0a1f",
|
||||||
|
"pad.importExport.import": "\u0a15\u0a4b\u0a08 \u0a35\u0a40 \u0a1f\u0a48\u0a15\u0a38\u0a1f \u0a2b\u0a3e\u0a07\u0a32 \u0a1c\u0a3e\u0a02 \u0a26\u0a38\u0a24\u0a3e\u0a35\u0a47\u0a1c\u0a3c \u0a05\u0a71\u0a2a\u0a32\u0a4b\u0a21 \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.importExport.importSuccessful": "\u0a38\u0a2b\u0a3c\u0a32!",
|
||||||
|
"pad.importExport.export": "\u0a2e\u0a4c\u0a1c\u0a42\u0a26\u0a3e \u0a2a\u0a48\u0a21 \u0a28\u0a42\u0a70 \u0a10\u0a15\u0a38\u0a2a\u0a4b\u0a30\u0a1f \u0a15\u0a30\u0a4b:",
|
||||||
|
"pad.importExport.exporthtml": "HTML",
|
||||||
|
"pad.importExport.exportplain": "\u0a38\u0a27\u0a3e\u0a30\u0a28 \u0a1f\u0a48\u0a15\u0a38\u0a1f",
|
||||||
|
"pad.importExport.exportword": "\u0a2e\u0a3e\u0a08\u0a15\u0a30\u0a4b\u0a38\u0a3e\u0a2b\u0a1f \u0a35\u0a30\u0a21",
|
||||||
|
"pad.importExport.exportpdf": "\u0a2a\u0a40\u0a21\u0a40\u0a10\u0a2b",
|
||||||
|
"pad.importExport.exportopen": "ODF (\u0a13\u0a2a\u0a28 \u0a21\u0a4c\u0a15\u0a42\u0a2e\u0a48\u0a02\u0a1f \u0a2b\u0a3e\u0a30\u0a2e\u0a48\u0a1f)",
|
||||||
|
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||||
|
"pad.modals.connected": "\u0a15\u0a41\u0a28\u0a48\u0a15\u0a1f \u0a39\u0a48\u0964",
|
||||||
|
"pad.modals.reconnecting": "..\u0a24\u0a41\u0a39\u0a3e\u0a21\u0a47 \u0a2a\u0a48\u0a21 \u0a28\u0a3e\u0a32 \u0a2e\u0a41\u0a5c-\u0a15\u0a41\u0a28\u0a48\u0a15\u0a1f \u0a15\u0a40\u0a24\u0a3e \u0a1c\u0a3e \u0a30\u0a3f\u0a39\u0a3e \u0a39\u0a48",
|
||||||
|
"pad.modals.forcereconnect": "\u0a27\u0a71\u0a15\u0a47 \u0a28\u0a3e\u0a32 \u0a2e\u0a41\u0a5c-\u0a15\u0a41\u0a28\u0a48\u0a15\u0a1f \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.modals.userdup": "\u0a39\u0a4b\u0a30 \u0a35\u0a3f\u0a70\u0a21\u0a4b \u0a35\u0a3f\u0a71\u0a1a \u0a16\u0a41\u0a71\u0a32\u0a4d\u0a39\u0a3f\u0a06 \u0a39\u0a48",
|
||||||
|
"pad.modals.unauth": "\u0a2a\u0a30\u0a2e\u0a3e\u0a23\u0a3f\u0a24 \u0a28\u0a39\u0a40\u0a02 \u0a39\u0a48",
|
||||||
|
"pad.modals.looping": "\u0a15\u0a41\u0a28\u0a15\u0a48\u0a1f \u0a16\u0a24\u0a2e \u0a39\u0a4b\u0a07\u0a06\u0964",
|
||||||
|
"pad.modals.initsocketfail": "\u0a38\u0a30\u0a35\u0a30 \u0a2a\u0a39\u0a41\u0a70\u0a1a \u0a35\u0a3f\u0a71\u0a1a \u0a28\u0a39\u0a40\u0a02 \u0a39\u0a48\u0964",
|
||||||
|
"pad.modals.slowcommit": "\u0a15\u0a41\u0a28\u0a15\u0a48\u0a1f \u0a16\u0a24\u0a2e \u0a39\u0a4b\u0a07\u0a06\u0964",
|
||||||
|
"pad.modals.slowcommit.explanation": "\u0a38\u0a30\u0a35\u0a30 \u0a1c\u0a35\u0a3e\u0a2c \u0a28\u0a39\u0a40\u0a02 \u0a26\u0a47 \u0a30\u0a3f\u0a39\u0a3e \u0a39\u0a48\u0964",
|
||||||
|
"pad.modals.slowcommit.cause": "\u0a07\u0a39 \u0a28\u0a48\u0a71\u0a1f\u0a35\u0a30\u0a15 \u0a15\u0a41\u0a28\u0a48\u0a15\u0a38\u0a3c\u0a28 \u0a28\u0a3e\u0a32 \u0a38\u0a2e\u0a71\u0a38\u0a3f\u0a06 \u0a15\u0a30\u0a15\u0a47 \u0a39\u0a4b \u0a38\u0a15\u0a26\u0a3e \u0a39\u0a48\u0964",
|
||||||
|
"pad.modals.deleted": "\u0a39\u0a1f\u0a3e\u0a07\u0a06\u0964",
|
||||||
|
"pad.modals.deleted.explanation": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a39\u0a1f\u0a3e\u0a07\u0a06 \u0a1c\u0a3e \u0a1a\u0a41\u0a71\u0a15\u0a3e \u0a39\u0a48\u0964",
|
||||||
|
"pad.modals.disconnected": "\u0a24\u0a41\u0a38\u0a40\u0a02 \u0a21\u0a3f\u0a38-\u0a15\u0a41\u0a28\u0a48\u0a15\u0a1f \u0a39\u0a4b \u0a1a\u0a41\u0a71\u0a15\u0a47 \u0a39\u0a4b\u0964",
|
||||||
|
"pad.modals.disconnected.explanation": "\u0a38\u0a30\u0a35\u0a30 \u0a28\u0a3e\u0a32 \u0a15\u0a41\u0a28\u0a48\u0a15\u0a38\u0a3c\u0a28 \u0a16\u0a24\u0a2e \u0a39\u0a4b\u0a07\u0a06 \u0a39\u0a48",
|
||||||
|
"pad.share": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a38\u0a3e\u0a02\u0a1d\u0a3e \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.share.readonly": "\u0a15\u0a47\u0a35\u0a32 \u0a2a\u0a5c\u0a4d\u0a39\u0a28 \u0a32\u0a08",
|
||||||
|
"pad.share.link": "\u0a32\u0a3f\u0a70\u0a15",
|
||||||
|
"pad.share.emebdcode": "\u0a07\u0a70\u0a2c\u0a48\u0a71\u0a21 URL",
|
||||||
|
"pad.chat": "\u0a17\u0a71\u0a32\u0a2c\u0a3e\u0a24",
|
||||||
|
"pad.chat.title": "\u0a07\u0a39 \u0a2a\u0a48\u0a21 \u0a32\u0a08 \u0a17\u0a71\u0a32\u0a2c\u0a3e\u0a24 \u0a16\u0a4b\u0a32\u0a4d\u0a39\u0a4b\u0964",
|
||||||
|
"pad.chat.loadmessages": "\u0a39\u0a4b\u0a30 \u0a38\u0a41\u0a28\u0a47\u0a39\u0a47 \u0a32\u0a4b\u0a21 \u0a15\u0a30\u0a4b",
|
||||||
|
"timeslider.pageTitle": "{{appTitle}} \u0a38\u0a2e\u0a3e\u0a02-\u0a32\u0a15\u0a40\u0a30",
|
||||||
|
"timeslider.toolbar.returnbutton": "\u0a2a\u0a48\u0a21 \u0a09\u0a71\u0a24\u0a47 \u0a35\u0a3e\u0a2a\u0a38",
|
||||||
|
"timeslider.toolbar.authors": "\u0a32\u0a47\u0a16\u0a15:",
|
||||||
|
"timeslider.toolbar.authorsList": "\u0a15\u0a4b\u0a08 \u0a32\u0a47\u0a16\u0a15 \u0a28\u0a39\u0a40\u0a02",
|
||||||
|
"timeslider.toolbar.exportlink.title": "\u0a10\u0a15\u0a38\u0a2a\u0a4b\u0a30\u0a1f",
|
||||||
|
"timeslider.exportCurrent": "\u0a2e\u0a4c\u0a1c\u0a42\u0a26\u0a3e \u0a35\u0a30\u0a1c\u0a28 \u0a07\u0a70\u0a1d \u0a10\u0a15\u0a38\u0a2a\u0a4b\u0a30\u0a1f \u0a15\u0a30\u0a4b:",
|
||||||
|
"timeslider.version": "\u0a35\u0a30\u0a1c\u0a28 {{version}}",
|
||||||
|
"timeslider.saved": "{{day}} {{month}} {{year}} \u0a28\u0a42\u0a70 \u0a38\u0a70\u0a2d\u0a3e\u0a32\u0a3f\u0a06",
|
||||||
|
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||||
|
"timeslider.month.january": "\u0a1c\u0a28\u0a35\u0a30\u0a40",
|
||||||
|
"timeslider.month.february": "\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40",
|
||||||
|
"timeslider.month.march": "\u0a2e\u0a3e\u0a30\u0a1a",
|
||||||
|
"timeslider.month.april": "\u0a05\u0a2a\u0a30\u0a48\u0a32",
|
||||||
|
"timeslider.month.may": "\u0a2e\u0a08",
|
||||||
|
"timeslider.month.june": "\u0a1c\u0a42\u0a28",
|
||||||
|
"timeslider.month.july": "\u0a1c\u0a41\u0a32\u0a3e\u0a08",
|
||||||
|
"timeslider.month.august": "\u0a05\u0a17\u0a38\u0a24",
|
||||||
|
"timeslider.month.september": "\u0a38\u0a24\u0a70\u0a2c\u0a30",
|
||||||
|
"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",
|
||||||
|
"pad.userlist.unnamed": "\u0a2c\u0a47\u0a28\u0a3e\u0a2e",
|
||||||
|
"pad.userlist.guest": "\u0a2e\u0a39\u0a3f\u0a2e\u0a3e\u0a28",
|
||||||
|
"pad.userlist.deny": "\u0a2a\u0a3e\u0a2c\u0a70\u0a26\u0a40",
|
||||||
|
"pad.userlist.approve": "\u0a2e\u0a28\u0a1c\u0a3c\u0a42\u0a30",
|
||||||
|
"pad.editbar.clearcolors": "\u0a2a\u0a42\u0a30\u0a47 \u0a26\u0a38\u0a3e\u0a24\u0a35\u0a47\u0a1c\u0a3c \u0a09\u0a71\u0a24\u0a47 \u0a2a\u0a30\u0a2e\u0a3e\u0a23\u0a15\u0a3f\u0a24\u0a3e \u0a30\u0a70\u0a17 \u0a38\u0a3e\u0a2b\u0a3c \u0a15\u0a30\u0a28\u0a47 \u0a39\u0a28?",
|
||||||
|
"pad.impexp.importbutton": "\u0a39\u0a41\u0a23\u0a47 \u0a07\u0a70\u0a2a\u0a4b\u0a30\u0a1f \u0a15\u0a30\u0a4b",
|
||||||
|
"pad.impexp.importing": "...\u0a07\u0a70\u0a2a\u0a4b\u0a30\u0a1f \u0a15\u0a40\u0a24\u0a3e \u0a1c\u0a3e \u0a30\u0a3f\u0a39\u0a3e \u0a39\u0a48",
|
||||||
|
"pad.impexp.uploadFailed": "\u0a05\u0a71\u0a2a\u0a32\u0a4b\u0a21 \u0a32\u0a08 \u0a2b\u0a47\u0a32\u0a4d\u0a39 \u0a39\u0a48, \u0a2b\u0a47\u0a30 \u0a15\u0a4b\u0a38\u0a3c\u0a3f\u0a38\u0a3c \u0a15\u0a30\u0a4b \u0a1c\u0a40\u0964",
|
||||||
|
"pad.impexp.importfailed": "\u0a07\u0a70\u0a2a\u0a4b\u0a30\u0a1f \u0a2b\u0a47\u0a32\u0a4d\u0a39 \u0a39\u0a48",
|
||||||
|
"pad.impexp.copypaste": "\u0a15\u0a3e\u0a2a\u0a40 \u0a15\u0a30\u0a4b \u0a1a\u0a47\u0a2a\u0a4b \u0a1c\u0a40"
|
||||||
|
}
|
|
@ -79,7 +79,7 @@
|
||||||
"pad.share": "Udost\u0119pnij ten dokument",
|
"pad.share": "Udost\u0119pnij ten dokument",
|
||||||
"pad.share.readonly": "Tylko do odczytu",
|
"pad.share.readonly": "Tylko do odczytu",
|
||||||
"pad.share.link": "Link",
|
"pad.share.link": "Link",
|
||||||
"pad.share.emebdcode": "Kod do umieszczenia",
|
"pad.share.emebdcode": "URL do umieszczenia",
|
||||||
"pad.chat": "Czat",
|
"pad.chat": "Czat",
|
||||||
"pad.chat.title": "Otw\u00f3rz czat dla tego dokumentu.",
|
"pad.chat.title": "Otw\u00f3rz czat dla tego dokumentu.",
|
||||||
"pad.chat.loadmessages": "Za\u0142aduj wi\u0119cej wiadomo\u015bci",
|
"pad.chat.loadmessages": "Za\u0142aduj wi\u0119cej wiadomo\u015bci",
|
||||||
|
|
|
@ -4,16 +4,23 @@
|
||||||
"Ahmed-Najib-Biabani-Ibrahimkhel"
|
"Ahmed-Najib-Biabani-Ibrahimkhel"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"index.newPad": "\u0646\u0648\u06d0 \u0644\u064a\u06a9\u0686\u0647",
|
||||||
|
"index.createOpenPad": "\u064a\u0627 \u067e\u0647 \u0647\u0645\u062f\u06d0 \u0646\u0648\u0645 \u064a\u0648\u0647 \u0646\u0648\u06d0 \u0644\u064a\u06a9\u0686\u0647 \u062c\u0648\u0693\u0648\u0644/\u067e\u0631\u0627\u0646\u064a\u0633\u062a\u0644:",
|
||||||
"pad.toolbar.bold.title": "\u0632\u063a\u0631\u062f (Ctrl-B)",
|
"pad.toolbar.bold.title": "\u0632\u063a\u0631\u062f (Ctrl-B)",
|
||||||
"pad.toolbar.italic.title": "\u0631\u06d0\u0648\u0646\u062f (Ctrl-I)",
|
"pad.toolbar.italic.title": "\u0631\u06d0\u0648\u0646\u062f (Ctrl-I)",
|
||||||
"pad.toolbar.undo.title": "\u0646\u0627\u06a9\u0693\u0644 (Ctrl-Z)",
|
"pad.toolbar.undo.title": "\u0646\u0627\u06a9\u0693\u0644 (Ctrl-Z)",
|
||||||
"pad.toolbar.redo.title": "\u0628\u064a\u0627\u06a9\u0693\u0644 (Ctrl-Y)",
|
"pad.toolbar.redo.title": "\u0628\u064a\u0627\u06a9\u0693\u0644 (Ctrl-Y)",
|
||||||
|
"pad.toolbar.clearAuthorship.title": "\u062f \u0644\u064a\u06a9\u0648\u0627\u0644\u06cd \u0631\u0646\u06ab\u0648\u0646\u0647 \u0633\u067e\u064a\u0646\u0648\u0644",
|
||||||
|
"pad.toolbar.savedRevision.title": "\u0645\u062e\u06a9\u062a\u0646\u0647 \u062e\u0648\u0646\u062f\u064a \u06a9\u0648\u0644",
|
||||||
"pad.toolbar.settings.title": "\u0627\u0645\u0633\u062a\u0646\u06d0",
|
"pad.toolbar.settings.title": "\u0627\u0645\u0633\u062a\u0646\u06d0",
|
||||||
"pad.colorpicker.save": "\u062e\u0648\u0646\u062f\u064a \u06a9\u0648\u0644",
|
"pad.colorpicker.save": "\u062e\u0648\u0646\u062f\u064a \u06a9\u0648\u0644",
|
||||||
"pad.colorpicker.cancel": "\u0646\u0627\u06ab\u0627\u0631\u0644",
|
"pad.colorpicker.cancel": "\u0646\u0627\u06ab\u0627\u0631\u0644",
|
||||||
"pad.loading": "\u0628\u0631\u0633\u06d0\u0631\u06d0\u062f\u0646\u06d0 \u06a9\u06d0 \u062f\u06cc...",
|
"pad.loading": "\u0628\u0631\u0633\u06d0\u0631\u06d0\u062f\u0646\u06d0 \u06a9\u06d0 \u062f\u06cc...",
|
||||||
|
"pad.passwordRequired": "\u062f\u06d0 \u0644\u064a\u06a9\u0686\u06d0 \u062a\u0647 \u062f \u0644\u0627\u0633\u0631\u0633\u064a \u0644\u067e\u0627\u0631\u0647 \u062a\u0627\u0633\u06d0 \u064a\u0648 \u067e\u067c\u0646\u0648\u0645 \u062a\u0647 \u0627\u0693\u062a\u064a\u0627 \u0644\u0631\u06cd",
|
||||||
"pad.wrongPassword": "\u067e\u067c\u0646\u0648\u0645 \u0645\u0648 \u0633\u0645 \u0646\u0647 \u0648",
|
"pad.wrongPassword": "\u067e\u067c\u0646\u0648\u0645 \u0645\u0648 \u0633\u0645 \u0646\u0647 \u0648",
|
||||||
|
"pad.settings.padSettings": "\u062f \u0644\u064a\u06a9\u0686\u06d0 \u0627\u0645\u0633\u062a\u0646\u06d0",
|
||||||
"pad.settings.myView": "\u0632\u0645\u0627 \u06a9\u062a\u0646\u0647",
|
"pad.settings.myView": "\u0632\u0645\u0627 \u06a9\u062a\u0646\u0647",
|
||||||
|
"pad.settings.colorcheck": "\u062f \u0644\u064a\u06a9\u0648\u0627\u0644\u06cd \u0631\u0646\u06ab\u0648\u0646\u0647",
|
||||||
"pad.settings.fontType": "\u0644\u064a\u06a9\u0628\u06bc\u06d0 \u0689\u0648\u0644:",
|
"pad.settings.fontType": "\u0644\u064a\u06a9\u0628\u06bc\u06d0 \u0689\u0648\u0644:",
|
||||||
"pad.settings.fontType.normal": "\u0646\u0648\u0631\u0645\u0627\u0644",
|
"pad.settings.fontType.normal": "\u0646\u0648\u0631\u0645\u0627\u0644",
|
||||||
"pad.settings.fontType.monospaced": "\u0645\u0648\u0646\u0648\u0633\u067e\u06d0\u0633",
|
"pad.settings.fontType.monospaced": "\u0645\u0648\u0646\u0648\u0633\u067e\u06d0\u0633",
|
||||||
|
@ -33,6 +40,10 @@
|
||||||
"pad.chat.loadmessages": "\u0646\u0648\u0631 \u067e\u064a\u063a\u0627\u0645\u0648\u0646\u0647 \u0628\u0631\u0633\u06d0\u0631\u0648\u0644",
|
"pad.chat.loadmessages": "\u0646\u0648\u0631 \u067e\u064a\u063a\u0627\u0645\u0648\u0646\u0647 \u0628\u0631\u0633\u06d0\u0631\u0648\u0644",
|
||||||
"timeslider.toolbar.authors": "\u0644\u064a\u06a9\u0648\u0627\u0644:",
|
"timeslider.toolbar.authors": "\u0644\u064a\u06a9\u0648\u0627\u0644:",
|
||||||
"timeslider.toolbar.authorsList": "\u0628\u06d0 \u0644\u064a\u06a9\u0648\u0627\u0644\u0647",
|
"timeslider.toolbar.authorsList": "\u0628\u06d0 \u0644\u064a\u06a9\u0648\u0627\u0644\u0647",
|
||||||
|
"timeslider.toolbar.exportlink.title": "\u0635\u0627\u062f\u0631\u0648\u0644",
|
||||||
|
"timeslider.version": "\u0628\u06bc\u0647 {{version}}",
|
||||||
|
"timeslider.saved": "\u062e\u0648\u0646\u062f\u064a \u0634\u0648 {{month}} {{day}}, {{year}}",
|
||||||
|
"timeslider.dateformat": "{{month}}/{{day}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||||
"timeslider.month.january": "\u062c\u0646\u0648\u0631\u064a",
|
"timeslider.month.january": "\u062c\u0646\u0648\u0631\u064a",
|
||||||
"timeslider.month.february": "\u0641\u0628\u0631\u0648\u0631\u064a",
|
"timeslider.month.february": "\u0641\u0628\u0631\u0648\u0631\u064a",
|
||||||
"timeslider.month.march": "\u0645\u0627\u0631\u0686",
|
"timeslider.month.march": "\u0645\u0627\u0631\u0686",
|
||||||
|
@ -45,6 +56,9 @@
|
||||||
"timeslider.month.october": "\u0627\u06a9\u062a\u0648\u0628\u0631",
|
"timeslider.month.october": "\u0627\u06a9\u062a\u0648\u0628\u0631",
|
||||||
"timeslider.month.november": "\u0646\u0648\u0645\u0628\u0631",
|
"timeslider.month.november": "\u0646\u0648\u0645\u0628\u0631",
|
||||||
"timeslider.month.december": "\u0689\u064a\u0633\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",
|
"pad.userlist.entername": "\u0646\u0648\u0645 \u0645\u0648 \u0648\u0631\u06a9\u0693\u06cd",
|
||||||
"pad.userlist.unnamed": "\u0628\u06d0 \u0646\u0648\u0645\u0647",
|
"pad.userlist.unnamed": "\u0628\u06d0 \u0646\u0648\u0645\u0647",
|
||||||
"pad.userlist.guest": "\u0645\u06d0\u0644\u0645\u0647",
|
"pad.userlist.guest": "\u0645\u06d0\u0644\u0645\u0647",
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
"@metadata": {
|
"@metadata": {
|
||||||
"authors": [
|
"authors": [
|
||||||
"Gusta",
|
"Gusta",
|
||||||
|
"Luckas",
|
||||||
|
"TheGabrielZaum",
|
||||||
"Tuliouel"
|
"Tuliouel"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -22,7 +24,7 @@
|
||||||
"pad.toolbar.timeslider.title": "Linha do tempo",
|
"pad.toolbar.timeslider.title": "Linha do tempo",
|
||||||
"pad.toolbar.savedRevision.title": "Salvar revis\u00e3o",
|
"pad.toolbar.savedRevision.title": "Salvar revis\u00e3o",
|
||||||
"pad.toolbar.settings.title": "Configura\u00e7\u00f5es",
|
"pad.toolbar.settings.title": "Configura\u00e7\u00f5es",
|
||||||
"pad.toolbar.embed.title": "Compartilhar e mencionar esta nota",
|
"pad.toolbar.embed.title": "Compartilhar e incorporar esta nota",
|
||||||
"pad.toolbar.showusers.title": "Mostrar os usuarios nesta Nota",
|
"pad.toolbar.showusers.title": "Mostrar os usuarios nesta Nota",
|
||||||
"pad.colorpicker.save": "Salvar",
|
"pad.colorpicker.save": "Salvar",
|
||||||
"pad.colorpicker.cancel": "Cancelar",
|
"pad.colorpicker.cancel": "Cancelar",
|
||||||
|
@ -60,7 +62,7 @@
|
||||||
"pad.modals.userdup.advice": "Reconectar para usar esta janela.",
|
"pad.modals.userdup.advice": "Reconectar para usar esta janela.",
|
||||||
"pad.modals.unauth": "N\u00e3o autorizado",
|
"pad.modals.unauth": "N\u00e3o autorizado",
|
||||||
"pad.modals.unauth.explanation": "Suas permiss\u00f5es foram mudadas enquanto visualizava esta p\u00e1gina. Tente reconectar.",
|
"pad.modals.unauth.explanation": "Suas permiss\u00f5es foram mudadas enquanto visualizava esta p\u00e1gina. Tente reconectar.",
|
||||||
"pad.modals.looping": "Reconectado.",
|
"pad.modals.looping": "Desconectado.",
|
||||||
"pad.modals.looping.explanation": "H\u00e1 problemas de comunica\u00e7\u00e3o com o servidor de sincroniza\u00e7\u00e3o.",
|
"pad.modals.looping.explanation": "H\u00e1 problemas de comunica\u00e7\u00e3o com o servidor de sincroniza\u00e7\u00e3o.",
|
||||||
"pad.modals.looping.cause": "Talvez voc\u00ea tenha conectado por um firewall ou proxy incompat\u00edvel.",
|
"pad.modals.looping.cause": "Talvez voc\u00ea tenha conectado por um firewall ou proxy incompat\u00edvel.",
|
||||||
"pad.modals.initsocketfail": "Servidor \u00e9 inalcan\u00e7\u00e1vel.",
|
"pad.modals.initsocketfail": "Servidor \u00e9 inalcan\u00e7\u00e1vel.",
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
{
|
{
|
||||||
"@metadata": {
|
"@metadata": {
|
||||||
"authors": {
|
"authors": {
|
||||||
"1": "Waldir"
|
"0": "Luckas",
|
||||||
|
"2": "Tuliouel",
|
||||||
|
"3": "Waldir"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"index.newPad": "Novo Pad",
|
"index.newPad": "Nova Nota",
|
||||||
"index.createOpenPad": "ou criar/abrir um Pad com o nome:",
|
"index.createOpenPad": "ou crie/abra uma Nota com o nome:",
|
||||||
"pad.toolbar.bold.title": "Negrito (Ctrl-B)",
|
"pad.toolbar.bold.title": "Negrito (Ctrl-B)",
|
||||||
"pad.toolbar.italic.title": "It\u00e1lico (Ctrl-I)",
|
"pad.toolbar.italic.title": "It\u00e1lico (Ctrl-I)",
|
||||||
"pad.toolbar.underline.title": "Sublinhado (Ctrl-U)",
|
"pad.toolbar.underline.title": "Sublinhado (Ctrl-U)",
|
||||||
|
@ -19,14 +21,14 @@
|
||||||
"pad.toolbar.clearAuthorship.title": "Limpar cores de autoria",
|
"pad.toolbar.clearAuthorship.title": "Limpar cores de autoria",
|
||||||
"pad.toolbar.import_export.title": "Importar/exportar de/para diferentes formatos de ficheiro",
|
"pad.toolbar.import_export.title": "Importar/exportar de/para diferentes formatos de ficheiro",
|
||||||
"pad.toolbar.timeslider.title": "Linha de tempo",
|
"pad.toolbar.timeslider.title": "Linha de tempo",
|
||||||
"pad.toolbar.savedRevision.title": "Vers\u00f5es gravadas",
|
"pad.toolbar.savedRevision.title": "Salvar revis\u00e3o",
|
||||||
"pad.toolbar.settings.title": "Configura\u00e7\u00f5es",
|
"pad.toolbar.settings.title": "Configura\u00e7\u00f5es",
|
||||||
"pad.toolbar.embed.title": "Incorporar este Pad",
|
"pad.toolbar.embed.title": "Incorporar este Pad",
|
||||||
"pad.toolbar.showusers.title": "Mostrar os utilizadores neste Pad",
|
"pad.toolbar.showusers.title": "Mostrar os utilizadores nesta Nota",
|
||||||
"pad.colorpicker.save": "Gravar",
|
"pad.colorpicker.save": "Gravar",
|
||||||
"pad.colorpicker.cancel": "Cancelar",
|
"pad.colorpicker.cancel": "Cancelar",
|
||||||
"pad.loading": "A carregar\u2026",
|
"pad.loading": "A carregar\u2026",
|
||||||
"pad.settings.padSettings": "Configura\u00e7\u00f5es do Pad",
|
"pad.settings.padSettings": "Configura\u00e7\u00f5es da Nota",
|
||||||
"pad.settings.myView": "Minha vista",
|
"pad.settings.myView": "Minha vista",
|
||||||
"pad.settings.colorcheck": "Cores de autoria",
|
"pad.settings.colorcheck": "Cores de autoria",
|
||||||
"pad.settings.linenocheck": "N\u00fameros de linha",
|
"pad.settings.linenocheck": "N\u00fameros de linha",
|
||||||
|
@ -37,7 +39,7 @@
|
||||||
"pad.settings.language": "L\u00edngua:",
|
"pad.settings.language": "L\u00edngua:",
|
||||||
"pad.importExport.import_export": "Importar/Exportar",
|
"pad.importExport.import_export": "Importar/Exportar",
|
||||||
"pad.importExport.import": "Carregar qualquer ficheiro de texto ou documento",
|
"pad.importExport.import": "Carregar qualquer ficheiro de texto ou documento",
|
||||||
"pad.importExport.export": "Exportar o Pad actual como:",
|
"pad.importExport.export": "Exportar a Nota atual como:",
|
||||||
"pad.importExport.exporthtml": "HTML",
|
"pad.importExport.exporthtml": "HTML",
|
||||||
"pad.importExport.exportplain": "Texto simples",
|
"pad.importExport.exportplain": "Texto simples",
|
||||||
"pad.importExport.exportword": "Microsoft Word",
|
"pad.importExport.exportword": "Microsoft Word",
|
||||||
|
@ -47,6 +49,12 @@
|
||||||
"pad.modals.connected": "Ligado.",
|
"pad.modals.connected": "Ligado.",
|
||||||
"pad.modals.reconnecting": "Reconectando-se ao seu bloco\u2026",
|
"pad.modals.reconnecting": "Reconectando-se ao seu bloco\u2026",
|
||||||
"pad.modals.forcereconnect": "For\u00e7ar reconex\u00e3o",
|
"pad.modals.forcereconnect": "For\u00e7ar reconex\u00e3o",
|
||||||
|
"pad.modals.unauth": "N\u00e3o autorizado",
|
||||||
|
"pad.modals.looping": "Desconectado.",
|
||||||
|
"pad.modals.slowcommit": "Desconectado.",
|
||||||
|
"pad.modals.slowcommit.explanation": "O servidor n\u00e3o est\u00e1 respondendo.",
|
||||||
|
"timeslider.toolbar.authors": "Autores:",
|
||||||
|
"timeslider.toolbar.exportlink.title": "Exportar",
|
||||||
"timeslider.month.january": "Janeiro",
|
"timeslider.month.january": "Janeiro",
|
||||||
"timeslider.month.february": "Fevereiro",
|
"timeslider.month.february": "Fevereiro",
|
||||||
"timeslider.month.march": "Mar\u00e7o",
|
"timeslider.month.march": "Mar\u00e7o",
|
||||||
|
@ -58,5 +66,12 @@
|
||||||
"timeslider.month.september": "Setembro",
|
"timeslider.month.september": "Setembro",
|
||||||
"timeslider.month.october": "Outubro",
|
"timeslider.month.october": "Outubro",
|
||||||
"timeslider.month.november": "Novembro",
|
"timeslider.month.november": "Novembro",
|
||||||
"timeslider.month.december": "Dezembro"
|
"timeslider.month.december": "Dezembro",
|
||||||
|
"pad.userlist.entername": "Insira o seu nome",
|
||||||
|
"pad.userlist.unnamed": "sem nome",
|
||||||
|
"pad.userlist.guest": "Convidado",
|
||||||
|
"pad.userlist.deny": "Negar",
|
||||||
|
"pad.userlist.approve": "Aprovar",
|
||||||
|
"pad.impexp.importbutton": "Importar agora",
|
||||||
|
"pad.impexp.importing": "Importando..."
|
||||||
}
|
}
|
121
src/locales/vi.json
Normal file
121
src/locales/vi.json
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
{
|
||||||
|
"@metadata": {
|
||||||
|
"authors": [
|
||||||
|
"Tuankiet65"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"index.newPad": "T\u1ea1o m\u1ed9t Pad m\u1edbi",
|
||||||
|
"index.createOpenPad": "hay t\u1ea1o/m\u1edf m\u1ed9t Pad v\u1edbi t\u00ean:",
|
||||||
|
"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.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",
|
||||||
|
"pad.toolbar.unindent.title": "Gi\u1ea3m l\u1ec1",
|
||||||
|
"pad.toolbar.undo.title": "Ho\u00e0n t\u00e1c (Ctrl-Z)",
|
||||||
|
"pad.toolbar.redo.title": "L\u00e0m l\u1ea1i (Ctrl-Y)",
|
||||||
|
"pad.toolbar.clearAuthorship.title": "X\u00f3a M\u00e0u ch\u1ec9 T\u00e1c gi\u1ea3",
|
||||||
|
"pad.toolbar.import_export.title": "Xu\u1ea5t/Nh\u1eadp t\u1eeb/\u0111\u1ebfn c\u00e1c \u0111\u1ecbnh d\u1ea1ng file kh\u00e1c nhau",
|
||||||
|
"pad.toolbar.timeslider.title": "Thanh th\u1eddi gian",
|
||||||
|
"pad.toolbar.savedRevision.title": "L\u01b0u Phi\u00ean b\u1ea3n",
|
||||||
|
"pad.toolbar.settings.title": "Thi\u1ebft l\u1eadp",
|
||||||
|
"pad.toolbar.embed.title": "Chia s\u1ebb v\u00e0 Nh\u00fang pad n\u00e0y",
|
||||||
|
"pad.toolbar.showusers.title": "Hi\u1ec7n c\u00e1c ng\u01b0\u1eddi d\u00f9ng tr\u00ean pad n\u00e0y",
|
||||||
|
"pad.colorpicker.save": "L\u01b0u",
|
||||||
|
"pad.colorpicker.cancel": "H\u1ee7y b\u1ecf",
|
||||||
|
"pad.loading": "\u0110ang t\u1ea3i\u2026",
|
||||||
|
"pad.passwordRequired": "B\u1ea1n c\u1ea7n m\u1eadt kh\u1ea9u \u0111\u1ec3 truy c\u1eadp pad n\u00e0y",
|
||||||
|
"pad.permissionDenied": "B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp pad n\u00e0y.",
|
||||||
|
"pad.wrongPassword": "B\u1ea1n \u0111\u00e3 nh\u1eadp sai m\u1eadt kh\u1ea9u",
|
||||||
|
"pad.settings.padSettings": "T\u00f9y ch\u1ecdn Pad",
|
||||||
|
"pad.settings.myView": "Ch\u1ec9 c\u00f3 t\u00f4i",
|
||||||
|
"pad.settings.stickychat": "Lu\u00e2n hi\u1ec7n c\u1eeda s\u1ed5 tr\u00f2 chuy\u1ec7n tr\u00ean m\u00e0n h\u00ecnh",
|
||||||
|
"pad.settings.colorcheck": "M\u00e0u ch\u1ec9 t\u00e1c gi\u1ea3",
|
||||||
|
"pad.settings.linenocheck": "S\u1ed1 d\u00f2ng",
|
||||||
|
"pad.settings.rtlcheck": "\u0110\u1ecdc n\u1ed9i dung t\u1eeb ph\u1ea3i sang tr\u00e1i?",
|
||||||
|
"pad.settings.fontType": "Ki\u1ec3u ph\u00f4ng ch\u1eef:",
|
||||||
|
"pad.settings.fontType.normal": "Th\u01b0\u1eddng",
|
||||||
|
"pad.settings.fontType.monospaced": "Monospace",
|
||||||
|
"pad.settings.globalView": "To\u00e0n c\u1ea7u",
|
||||||
|
"pad.settings.language": "Ng\u00f4n ng\u1eef:",
|
||||||
|
"pad.importExport.import_export": "Xu\u1ea5t/Nh\u1eadp",
|
||||||
|
"pad.importExport.import": "T\u1ea3i l\u00ean b\u1ea5t k\u1ef3 t\u1eadp tin v\u0103n b\u1ea3n ho\u1eb7c t\u00e0i li\u1ec7u",
|
||||||
|
"pad.importExport.importSuccessful": "Th\u00e0nh c\u00f4ng!",
|
||||||
|
"pad.importExport.export": "Xu\u1ea5t pad hi\u1ec7n t\u1ea1i ra \u0111\u1ecbnh d\u1ea1ng:",
|
||||||
|
"pad.importExport.exporthtml": "HTML",
|
||||||
|
"pad.importExport.exportplain": "V\u0103n b\u1ea3n thu\u1ea7n t\u00fay",
|
||||||
|
"pad.importExport.exportword": "Microsoft Word",
|
||||||
|
"pad.importExport.exportpdf": "PDF",
|
||||||
|
"pad.importExport.exportopen": "ODF",
|
||||||
|
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||||
|
"pad.importExport.abiword.innerHTML": "B\u1ea1n ch\u1ec9 c\u00f3 th\u1ec3 nh\u1eadp v\u00e0o t\u1eeb v\u0103n b\u1ea3n thu\u1ea7n t\u00fay hay \u0111\u1ecbnh d\u1ea1ng HTML. N\u1ebfu mu\u1ed1n c\u00f3 nhi\u1ec1u ch\u1ee9c n\u0103ng nh\u1eadp h\u01a1n xin h\u00e3y \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\"\u003Ec\u00e0i \u0111\u1eb7t abiword\u003C/a\u003E.",
|
||||||
|
"pad.modals.connected": "\u0110\u00e3 k\u1ebft n\u1ed1i l\u1ea1i.",
|
||||||
|
"pad.modals.reconnecting": "K\u1ebft n\u1ed1i l\u1ea1i t\u1edbi pad c\u1ee7a b\u1ea1n",
|
||||||
|
"pad.modals.forcereconnect": "\u00c9p k\u1ebft n\u1ed1i l\u1ea1i",
|
||||||
|
"pad.modals.userdup": "M\u1edf trong c\u1eeda s\u1ed5 kh\u00e1c",
|
||||||
|
"pad.modals.userdup.explanation": "Pad n\u00e0y d\u01b0\u1eddng nh\u01b0 \u0111\u01b0\u1ee3c m\u1edf tr\u00ean h\u01a1n m\u1ed9t c\u1eeda s\u1ed5 tr\u00ecnh duy\u1ec7t tr\u00ean m\u00e1y t\u00ednh n\u00e0y.",
|
||||||
|
"pad.modals.userdup.advice": "K\u1ebft n\u1ed1i l\u1ea1i \u0111\u1ec3 s\u1eed d\u1ee5ng c\u1eeda s\u1ed5 n\u00e0y.",
|
||||||
|
"pad.modals.unauth": "Kh\u00f4ng c\u00f3 quy\u1ec1n",
|
||||||
|
"pad.modals.unauth.explanation": "Quy\u1ec1n c\u1ee7a b\u1ea1n \u0111\u00e3 thay \u0111\u1ed5i trong khi b\u1ea1n \u0111ang xem trang n\u00e0y. H\u00e3y th\u1eed k\u1ebft n\u1ed1i l\u1ea1i.",
|
||||||
|
"pad.modals.looping": "\u0110\u00e3 ng\u1eaft k\u1ebft n\u1ed1i",
|
||||||
|
"pad.modals.looping.explanation": "C\u00f3 v\u1ea5n \u0111\u1ec1 khi giao ti\u1ebfp v\u1edbi m\u00e1y ch\u1ee7 \u0111\u1ed3ng b\u1ed9",
|
||||||
|
"pad.modals.looping.cause": "C\u00f3 th\u1ec3 b\u1ea1n \u0111\u00e3 k\u1ebft n\u1ed1i th\u00f4ng qua m\u1ed9t t\u01b0\u1eddng l\u1eeda hay proxy kh\u00f4ng th\u00edch h\u1ee3p",
|
||||||
|
"pad.modals.initsocketfail": "Kh\u00f4ng th\u1ec3 ti\u1ebfp c\u1eadn m\u00e1y ch\u1ee7",
|
||||||
|
"pad.modals.initsocketfail.explanation": "Kh\u00f4ng th\u1ec3 k\u1ebft n\u1ed1i \u0111\u1ebfn m\u00e1y ch\u1ee7 \u0111\u1ed3ng b\u1ed9.",
|
||||||
|
"pad.modals.initsocketfail.cause": "\u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0 do m\u1ed9t v\u1ea5n \u0111\u1ec1 v\u1edbi tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n hay \u0111\u01b0\u1eddng truy\u1ec1n internet c\u1ee7a b\u1ea1n.",
|
||||||
|
"pad.modals.slowcommit": "\u0110\u00e3 ng\u1eaft k\u1ebft n\u1ed1i",
|
||||||
|
"pad.modals.slowcommit.explanation": "M\u00e1y ch\u1ee7 kh\u00f4ng ph\u1ea3n h\u1ed3i.",
|
||||||
|
"pad.modals.slowcommit.cause": "\u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0 do v\u1ea5n \u0111\u1ec1 v\u1ec1 k\u1ebft n\u1ed1i m\u1ea1ng.",
|
||||||
|
"pad.modals.deleted": "\u0110\u00e3 x\u00f3a",
|
||||||
|
"pad.modals.deleted.explanation": "Pad n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c g\u1ee1",
|
||||||
|
"pad.modals.disconnected": "B\u1ea1n \u0111\u00e3 ng\u1eaft k\u1ebft n\u1ed1i",
|
||||||
|
"pad.modals.disconnected.explanation": "K\u1ebft n\u1ed1i t\u1edbi m\u00e1y ch\u1ee7 \u0111\u00e3 b\u1ecb m\u1ea5t",
|
||||||
|
"pad.modals.disconnected.cause": "C\u00e1c m\u00e1y ch\u1ee7 c\u00f3 th\u1ec3 kh\u00f4ng s\u1eb5n d\u00f9ng. Xin vui l\u00f2ng th\u00f4ng b\u00e1o cho ch\u00fang t\u00f4i n\u1ebfu \u0111i\u1ec1u n\u00e0y ti\u1ebfp t\u1ee5c x\u1ea3y ra.",
|
||||||
|
"pad.share": "Chia s\u1ebb pad n\u00e0y",
|
||||||
|
"pad.share.readonly": "Ch\u1ec9 \u0111\u1ecdc",
|
||||||
|
"pad.share.link": "Li\u00ean k\u1ebft",
|
||||||
|
"pad.share.emebdcode": "URL nh\u00fang",
|
||||||
|
"pad.chat": "Tr\u00f2 chuy\u1ec7n",
|
||||||
|
"pad.chat.title": "M\u1edf tr\u00f2 chuy\u1ec7n cho pad n\u00e0y.",
|
||||||
|
"pad.chat.loadmessages": "T\u1ea3i th\u00eam tin nh\u1eafn",
|
||||||
|
"timeslider.pageTitle": "Thanh th\u1eddi gian c\u1ee7a {{appTitle}}",
|
||||||
|
"timeslider.toolbar.returnbutton": "Tr\u1edf v\u1ec1 pad",
|
||||||
|
"timeslider.toolbar.authors": "T\u00e1c gi\u1ea3:",
|
||||||
|
"timeslider.toolbar.authorsList": "Kh\u00f4ng c\u00f3 t\u00e1c gi\u1ea3",
|
||||||
|
"timeslider.toolbar.exportlink.title": "Xu\u1ea5t",
|
||||||
|
"timeslider.exportCurrent": "Xu\u1ea5t phi\u00ean b\u1ea3n hi\u1ec7n t\u1ea1i th\u00e0nh:",
|
||||||
|
"timeslider.version": "Phi\u00ean b\u1ea3n {{version}}",
|
||||||
|
"timeslider.saved": "\u0110\u00e3 l\u01b0u v\u00e0o ng\u00e0y {{day}} {{month}} n\u0103m {{year}}",
|
||||||
|
"timeslider.dateformat": "{{day}}/{{month}}/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||||
|
"timeslider.month.january": "Th\u00e1ng Gi\u00eang",
|
||||||
|
"timeslider.month.february": "Th\u00e1ng Hai",
|
||||||
|
"timeslider.month.march": "Th\u00e1ng Ba",
|
||||||
|
"timeslider.month.april": "Th\u00e1ng T\u01b0",
|
||||||
|
"timeslider.month.may": "Th\u00e1ng N\u0103m",
|
||||||
|
"timeslider.month.june": "Th\u00e1ng S\u00e1u",
|
||||||
|
"timeslider.month.july": "Th\u00e1ng B\u1ea3y",
|
||||||
|
"timeslider.month.august": "Th\u00e1ng T\u00e1m",
|
||||||
|
"timeslider.month.september": "Th\u00e1ng Ch\u00edn",
|
||||||
|
"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",
|
||||||
|
"pad.userlist.unnamed": "Kh\u00f4ng t\u00ean",
|
||||||
|
"pad.userlist.guest": "Kh\u00e1ch",
|
||||||
|
"pad.userlist.deny": "Ch\u1eb7n",
|
||||||
|
"pad.userlist.approve": "Ch\u1ea5p nh\u1eadn",
|
||||||
|
"pad.editbar.clearcolors": "X\u00f3a m\u00e0u ch\u1ec9 t\u00e1c gi\u1ea3 tr\u00ean to\u00e0n b\u1ed9 t\u00e0i li\u1ec7u?",
|
||||||
|
"pad.impexp.importbutton": "Nh\u1eadp ngay b\u00e2y gi\u1edd",
|
||||||
|
"pad.impexp.importing": "\u0110ang nh\u1eadp\u2026",
|
||||||
|
"pad.impexp.confirmimport": "Nh\u1eadp m\u1ed9t t\u1eadp tin s\u1ebd ghi \u0111\u00e8 n\u1ed9i dung hi\u1ec7n t\u1ea1i c\u1ee7a pad. B\u1ea1n c\u00f3 mu\u1ed1n l\u00e0m nh\u01b0 v\u1eady kh\u00f4ng?",
|
||||||
|
"pad.impexp.convertFailed": "Ch\u00fang t\u00f4i kh\u00f4ng th\u1ec3 nh\u1eadp t\u1eadp tin n\u00e0y. H\u00e3y s\u1eed d\u1ee5ng \u0111\u1ecbnh d\u1ea1ng t\u1eadp tin kh\u00e1c hay sao ch\u00e9o v\u00e0 d\u00e1n m\u1ed9t c\u00e1ch th\u1ee7 c\u00f4ng.",
|
||||||
|
"pad.impexp.uploadFailed": "T\u1ea3i l\u00ean kh\u00f4ng th\u00e0nh c\u00f4ng, vui l\u00f2ng th\u1eed l\u1ea1i",
|
||||||
|
"pad.impexp.importfailed": "Nh\u1eadp th\u1ea5t b\u1ea1i",
|
||||||
|
"pad.impexp.copypaste": "Xin vui l\u00f2ng sao ch\u00e9p v\u00e0 d\u00e1n",
|
||||||
|
"pad.impexp.exportdisabled": "Xu\u1ea5t ra \u0111\u1ecbnh d\u1ea1ng {{type}} \u0111\u00e3 b\u1ecb v\u00f4 hi\u1ec7u h\u00f3a. Xin h\u00e3y li\u00ean h\u1ec7 v\u1edbi qu\u1ea3n tr\u1ecb vi\u00ean h\u1ec7 th\u1ed1ng \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin chi ti\u1ebft."
|
||||||
|
}
|
|
@ -3,6 +3,7 @@
|
||||||
"authors": [
|
"authors": [
|
||||||
"Dimension",
|
"Dimension",
|
||||||
"Hydra",
|
"Hydra",
|
||||||
|
"Shangkuanlc",
|
||||||
"Yfdyh000",
|
"Yfdyh000",
|
||||||
"\u4e4c\u62c9\u8de8\u6c2a",
|
"\u4e4c\u62c9\u8de8\u6c2a",
|
||||||
"\u71c3\u7389"
|
"\u71c3\u7389"
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"pad.settings.stickychat": "\u603b\u662f\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u804a\u5929",
|
"pad.settings.stickychat": "\u603b\u662f\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u804a\u5929",
|
||||||
"pad.settings.colorcheck": "\u4f5c\u8005\u989c\u8272",
|
"pad.settings.colorcheck": "\u4f5c\u8005\u989c\u8272",
|
||||||
"pad.settings.linenocheck": "\u884c\u53f7",
|
"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": "\u5b57\u4f53\u7c7b\u578b\uff1a",
|
||||||
"pad.settings.fontType.normal": "\u6b63\u5e38",
|
"pad.settings.fontType.normal": "\u6b63\u5e38",
|
||||||
"pad.settings.fontType.monospaced": "\u7b49\u5bbd\u5b57\u4f53",
|
"pad.settings.fontType.monospaced": "\u7b49\u5bbd\u5b57\u4f53",
|
||||||
|
@ -85,6 +87,7 @@
|
||||||
"timeslider.exportCurrent": "\u5bfc\u51fa\u76ee\u524d\u7248\u672c\u4e3a\uff1a",
|
"timeslider.exportCurrent": "\u5bfc\u51fa\u76ee\u524d\u7248\u672c\u4e3a\uff1a",
|
||||||
"timeslider.version": "\u7b2c {{version}} \u7248\u672c",
|
"timeslider.version": "\u7b2c {{version}} \u7248\u672c",
|
||||||
"timeslider.saved": "\u5728{{year}}\u5e74{{month}}{{day}}\u65e5\u4fdd\u5b58",
|
"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.january": "\u4e00\u6708",
|
||||||
"timeslider.month.february": "\u4e8c\u6708",
|
"timeslider.month.february": "\u4e8c\u6708",
|
||||||
"timeslider.month.march": "\u4e09\u6708",
|
"timeslider.month.march": "\u4e09\u6708",
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{
|
{
|
||||||
"@metadata": {
|
"@metadata": {
|
||||||
"authors": {
|
"authors": {
|
||||||
"0": "Shirayuki",
|
"0": "Shangkuanlc",
|
||||||
"2": "Simon Shek"
|
"1": "Shirayuki",
|
||||||
|
"3": "Simon Shek"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"index.newPad": "\u65b0Pad",
|
"index.newPad": "\u65b0Pad",
|
||||||
|
@ -17,8 +18,8 @@
|
||||||
"pad.toolbar.unindent.title": "\u51f8\u6392",
|
"pad.toolbar.unindent.title": "\u51f8\u6392",
|
||||||
"pad.toolbar.undo.title": "\u64a4\u92b7\uff08Ctrl-Z\uff09",
|
"pad.toolbar.undo.title": "\u64a4\u92b7\uff08Ctrl-Z\uff09",
|
||||||
"pad.toolbar.redo.title": "\u91cd\u505a\uff08Ctrl-Y\uff09",
|
"pad.toolbar.redo.title": "\u91cd\u505a\uff08Ctrl-Y\uff09",
|
||||||
"pad.toolbar.clearAuthorship.title": "\u6e05\u9664\u4f5c\u540d\u984f\u8272",
|
"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\u5c0e\u5165\uff0f\u532f\u51fa",
|
"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.timeslider.title": "\u6642\u9593\u8ef8",
|
||||||
"pad.toolbar.savedRevision.title": "\u5132\u5b58\u4fee\u8a02",
|
"pad.toolbar.savedRevision.title": "\u5132\u5b58\u4fee\u8a02",
|
||||||
"pad.toolbar.settings.title": "\u8a2d\u5b9a",
|
"pad.toolbar.settings.title": "\u8a2d\u5b9a",
|
||||||
|
@ -33,7 +34,7 @@
|
||||||
"pad.settings.padSettings": "Pad\u8a2d\u5b9a",
|
"pad.settings.padSettings": "Pad\u8a2d\u5b9a",
|
||||||
"pad.settings.myView": "\u6211\u7684\u8996\u7a97",
|
"pad.settings.myView": "\u6211\u7684\u8996\u7a97",
|
||||||
"pad.settings.stickychat": "\u6c38\u9060\u5728\u5c4f\u5e55\u4e0a\u986f\u793a\u804a\u5929",
|
"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.linenocheck": "\u884c\u865f",
|
||||||
"pad.settings.rtlcheck": "\u5f9e\u53f3\u81f3\u5de6\u8b80\u53d6\u5167\u5bb9\uff1f",
|
"pad.settings.rtlcheck": "\u5f9e\u53f3\u81f3\u5de6\u8b80\u53d6\u5167\u5bb9\uff1f",
|
||||||
"pad.settings.fontType": "\u5b57\u9ad4\u985e\u578b\uff1a",
|
"pad.settings.fontType": "\u5b57\u9ad4\u985e\u578b\uff1a",
|
||||||
|
@ -41,7 +42,7 @@
|
||||||
"pad.settings.fontType.monospaced": "\u7b49\u5bec",
|
"pad.settings.fontType.monospaced": "\u7b49\u5bec",
|
||||||
"pad.settings.globalView": "\u6240\u6709\u4eba\u7684\u8996\u7a97",
|
"pad.settings.globalView": "\u6240\u6709\u4eba\u7684\u8996\u7a97",
|
||||||
"pad.settings.language": "\u8a9e\u8a00\uff1a",
|
"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.import": "\u4e0a\u8f09\u4efb\u4f55\u6587\u5b57\u6a94\u6216\u6587\u6a94",
|
||||||
"pad.importExport.importSuccessful": "\u5b8c\u6210\uff01",
|
"pad.importExport.importSuccessful": "\u5b8c\u6210\uff01",
|
||||||
"pad.importExport.export": "\u532f\u51fa\u7576\u524dpad\u70ba\uff1a",
|
"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.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": "\u5df2\u96e2\u7dda\u3002",
|
||||||
"pad.modals.looping.explanation": "\u8207\u540c\u6b65\u4f3a\u670d\u5668\u9593\u6709\u901a\u4fe1\u554f\u984c\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": "\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.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": "\u5df2\u96e2\u7dda\u3002",
|
||||||
"pad.modals.slowcommit.explanation": "\u4f3a\u670d\u5668\u6c92\u6709\u56de\u61c9\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": "\u5df2\u522a\u9664\u3002",
|
||||||
"pad.modals.deleted.explanation": "\u6b64pad\u5df2\u88ab\u79fb\u9664\u3002",
|
"pad.modals.deleted.explanation": "\u6b64pad\u5df2\u88ab\u79fb\u9664\u3002",
|
||||||
"pad.modals.disconnected": "\u60a8\u5df2\u4e2d\u65b7\u9023\u7dda\u3002",
|
"pad.modals.disconnected": "\u60a8\u5df2\u4e2d\u65b7\u9023\u7dda\u3002",
|
||||||
|
@ -78,17 +79,17 @@
|
||||||
"pad.share.readonly": "\u552f\u8b80",
|
"pad.share.readonly": "\u552f\u8b80",
|
||||||
"pad.share.link": "\u9023\u7d50",
|
"pad.share.link": "\u9023\u7d50",
|
||||||
"pad.share.emebdcode": "\u5d4c\u5165\u7db2\u5740",
|
"pad.share.emebdcode": "\u5d4c\u5165\u7db2\u5740",
|
||||||
"pad.chat": "\u804a\u5929",
|
"pad.chat": "\u804a\u5929\u529f\u80fd",
|
||||||
"pad.chat.title": "\u6253\u958b\u6b64pad\u7684\u804a\u5929\u3002",
|
"pad.chat.title": "\u6253\u958bpad\u804a\u5929\u529f\u80fd",
|
||||||
"pad.chat.loadmessages": "\u8f09\u5165\u66f4\u591a\u8a0a\u606f",
|
"pad.chat.loadmessages": "\u8f09\u5165\u66f4\u591a\u8a0a\u606f",
|
||||||
"timeslider.pageTitle": "{{appTitle}}\u6642\u9593\u8ef8",
|
"timeslider.pageTitle": "{{appTitle}}\u6642\u9593\u8ef8",
|
||||||
"timeslider.toolbar.returnbutton": "\u8fd4\u56de\u5230pad",
|
"timeslider.toolbar.returnbutton": "\u8fd4\u56de\u5230pad",
|
||||||
"timeslider.toolbar.authors": "\u4f5c\u8005\uff1a",
|
"timeslider.toolbar.authors": "\u5354\u4f5c\u8005\uff1a",
|
||||||
"timeslider.toolbar.authorsList": "\u7121\u4f5c\u8005",
|
"timeslider.toolbar.authorsList": "\u7121\u5354\u4f5c\u8005",
|
||||||
"timeslider.toolbar.exportlink.title": "\u532f\u51fa",
|
"timeslider.toolbar.exportlink.title": "\u532f\u51fa",
|
||||||
"timeslider.exportCurrent": "\u532f\u51fa\u7576\u524d\u7248\u672c\u70ba\uff1a",
|
"timeslider.exportCurrent": "\u532f\u51fa\u7576\u524d\u7248\u672c\u70ba\uff1a",
|
||||||
"timeslider.version": "\u7248\u672c{{version}}",
|
"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.dateformat": "{{year}}\u5e74{{month}}\u6708{{day}}\u65e5 {{hours}}:{{minutes}}:{{seconds}}",
|
||||||
"timeslider.month.january": "1\u6708",
|
"timeslider.month.january": "1\u6708",
|
||||||
"timeslider.month.february": "2\u6708",
|
"timeslider.month.february": "2\u6708",
|
||||||
|
@ -102,15 +103,15 @@
|
||||||
"timeslider.month.october": "10\u6708",
|
"timeslider.month.october": "10\u6708",
|
||||||
"timeslider.month.november": "11\u6708",
|
"timeslider.month.november": "11\u6708",
|
||||||
"timeslider.month.december": "12\u6708",
|
"timeslider.month.december": "12\u6708",
|
||||||
"timeslider.unnamedauthor": "{{num}} \u533f\u540d\u4f5c\u8005",
|
"timeslider.unnamedauthor": "{{num}} \u533f\u540d\u5354\u4f5c\u8005",
|
||||||
"timeslider.unnamedauthors": "{{num}} \u533f\u540d\u4f5c\u8005",
|
"timeslider.unnamedauthors": "{{num}} \u533f\u540d\u5354\u4f5c\u8005",
|
||||||
"pad.savedrevs.marked": "\u6b64\u4fee\u8a02\u5df2\u6a19\u8a18\u70ba\u5df2\u4fdd\u5b58\u3002",
|
"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.entername": "\u8f38\u5165\u60a8\u7684\u59d3\u540d",
|
||||||
"pad.userlist.unnamed": "\u672a\u547d\u540d",
|
"pad.userlist.unnamed": "\u672a\u547d\u540d",
|
||||||
"pad.userlist.guest": "\u8a2a\u5ba2",
|
"pad.userlist.guest": "\u8a2a\u5ba2",
|
||||||
"pad.userlist.deny": "\u62d2\u7d55",
|
"pad.userlist.deny": "\u62d2\u7d55",
|
||||||
"pad.userlist.approve": "\u6279\u51c6",
|
"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.importbutton": "\u73fe\u5728\u532f\u5165",
|
||||||
"pad.impexp.importing": "\u532f\u5165\u4e2d...",
|
"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",
|
"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",
|
||||||
|
|
|
@ -35,6 +35,7 @@ var messageLogger = log4js.getLogger("message");
|
||||||
var accessLogger = log4js.getLogger("access");
|
var accessLogger = log4js.getLogger("access");
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks.js");
|
var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks.js");
|
||||||
|
var channels = require("channels");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A associative array that saves informations about a session
|
* A associative array that saves informations about a session
|
||||||
|
@ -48,6 +49,11 @@ var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks.js");
|
||||||
*/
|
*/
|
||||||
var sessioninfos = {};
|
var sessioninfos = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A changeset queue per pad that is processed by handleUserChanges()
|
||||||
|
*/
|
||||||
|
var padChannels = new channels.channels(handleUserChanges);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the Socket class we need to send and recieve data from the client
|
* Saves the Socket class we need to send and recieve data from the client
|
||||||
*/
|
*/
|
||||||
|
@ -176,7 +182,7 @@ exports.handleMessage = function(client, message)
|
||||||
if (sessioninfos[client.id].readonly) {
|
if (sessioninfos[client.id].readonly) {
|
||||||
messageLogger.warn("Dropped message, COLLABROOM for readonly pad");
|
messageLogger.warn("Dropped message, COLLABROOM for readonly pad");
|
||||||
} else if (message.data.type == "USER_CHANGES") {
|
} else if (message.data.type == "USER_CHANGES") {
|
||||||
handleUserChanges(client, message);
|
padChannels.emit(message.padId, {client: client, message: message});// add to pad queue
|
||||||
} else if (message.data.type == "USERINFO_UPDATE") {
|
} else if (message.data.type == "USERINFO_UPDATE") {
|
||||||
handleUserInfoUpdate(client, message);
|
handleUserInfoUpdate(client, message);
|
||||||
} else if (message.data.type == "CHAT_MESSAGE") {
|
} else if (message.data.type == "CHAT_MESSAGE") {
|
||||||
|
@ -224,22 +230,30 @@ exports.handleMessage = function(client, message)
|
||||||
// FIXME: Call our "sessions" "connections".
|
// FIXME: Call our "sessions" "connections".
|
||||||
// FIXME: Use a hook instead
|
// FIXME: Use a hook instead
|
||||||
// FIXME: Allow to override readwrite access with readonly
|
// 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
|
// FIXME: A message might arrive but wont have an auth object, this is obviously bad so we should deny it
|
||||||
if(statusObject.accessStatus == "grant")
|
// 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();
|
if(ERR(err, callback)) return;
|
||||||
}
|
|
||||||
//no access, send the client a message that tell him why
|
//access was granted
|
||||||
else
|
if(statusObject.accessStatus == "grant")
|
||||||
{
|
{
|
||||||
client.json.send({accessStatus: statusObject.accessStatus})
|
callback();
|
||||||
}
|
}
|
||||||
});
|
//no access, send the client a message that tell him why
|
||||||
|
else
|
||||||
|
{
|
||||||
|
client.json.send({accessStatus: statusObject.accessStatus})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
finalHandler
|
finalHandler
|
||||||
]);
|
]);
|
||||||
|
@ -522,23 +536,26 @@ function handleUserInfoUpdate(client, message)
|
||||||
* @param client the client that send this message
|
* @param client the client that send this message
|
||||||
* @param message the message from the client
|
* @param message the message from the client
|
||||||
*/
|
*/
|
||||||
function handleUserChanges(client, message)
|
function handleUserChanges(data, cb)
|
||||||
{
|
{
|
||||||
|
var client = data.client
|
||||||
|
, message = data.message
|
||||||
|
|
||||||
// Make sure all required fields are present
|
// Make sure all required fields are present
|
||||||
if(message.data.baseRev == null)
|
if(message.data.baseRev == null)
|
||||||
{
|
{
|
||||||
messageLogger.warn("Dropped message, USER_CHANGES Message has no baseRev!");
|
messageLogger.warn("Dropped message, USER_CHANGES Message has no baseRev!");
|
||||||
return;
|
return cb();
|
||||||
}
|
}
|
||||||
if(message.data.apool == null)
|
if(message.data.apool == null)
|
||||||
{
|
{
|
||||||
messageLogger.warn("Dropped message, USER_CHANGES Message has no apool!");
|
messageLogger.warn("Dropped message, USER_CHANGES Message has no apool!");
|
||||||
return;
|
return cb();
|
||||||
}
|
}
|
||||||
if(message.data.changeset == null)
|
if(message.data.changeset == null)
|
||||||
{
|
{
|
||||||
messageLogger.warn("Dropped message, USER_CHANGES Message has no changeset!");
|
messageLogger.warn("Dropped message, USER_CHANGES Message has no changeset!");
|
||||||
return;
|
return cb();
|
||||||
}
|
}
|
||||||
|
|
||||||
//get all Vars we need
|
//get all Vars we need
|
||||||
|
@ -675,10 +692,14 @@ function handleUserChanges(client, message)
|
||||||
pad.appendRevision(nlChangeset);
|
pad.appendRevision(nlChangeset);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.updatePadClients(pad, callback);
|
exports.updatePadClients(pad, function(er) {
|
||||||
|
ERR(er)
|
||||||
|
});
|
||||||
|
callback();
|
||||||
}
|
}
|
||||||
], function(err)
|
], function(err)
|
||||||
{
|
{
|
||||||
|
cb();
|
||||||
ERR(err);
|
ERR(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,88 +48,56 @@ exports.addComponent = function(moduleName, module)
|
||||||
/**
|
/**
|
||||||
* sets the socket.io and adds event functions for routing
|
* sets the socket.io and adds event functions for routing
|
||||||
*/
|
*/
|
||||||
exports.setSocketIO = function(_socket)
|
exports.setSocketIO = function(_socket) {
|
||||||
{
|
|
||||||
//save this socket internaly
|
//save this socket internaly
|
||||||
socket = _socket;
|
socket = _socket;
|
||||||
|
|
||||||
socket.sockets.on('connection', function(client)
|
socket.sockets.on('connection', function(client) {
|
||||||
{
|
|
||||||
client.set('remoteAddress', client.handshake.address.address);
|
client.set('remoteAddress', client.handshake.address.address);
|
||||||
var clientAuthorized = false;
|
var clientAuthorized = false;
|
||||||
|
|
||||||
//wrap the original send function to log the messages
|
//wrap the original send function to log the messages
|
||||||
client._send = client.send;
|
client._send = client.send;
|
||||||
client.send = function(message)
|
client.send = function(message) {
|
||||||
{
|
|
||||||
messageLogger.debug("to " + client.id + ": " + stringifyWithoutPassword(message));
|
messageLogger.debug("to " + client.id + ": " + stringifyWithoutPassword(message));
|
||||||
client._send(message);
|
client._send(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
//tell all components about this connect
|
//tell all components about this connect
|
||||||
for(var i in components)
|
for(var i in components) {
|
||||||
{
|
|
||||||
components[i].handleConnect(client);
|
components[i].handleConnect(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
//try to handle the message of this client
|
|
||||||
function handleMessage(message)
|
|
||||||
{
|
|
||||||
if(message.component && components[message.component])
|
|
||||||
{
|
|
||||||
//check if component is registered in the components array
|
|
||||||
if(components[message.component])
|
|
||||||
{
|
|
||||||
messageLogger.debug("from " + client.id + ": " + stringifyWithoutPassword(message));
|
|
||||||
components[message.component].handleMessage(client, message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
messageLogger.error("Can't route the message:" + stringifyWithoutPassword(message));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
client.on('message', function(message)
|
client.on('message', function(message)
|
||||||
{
|
{
|
||||||
if(message.protocolVersion && message.protocolVersion != 2)
|
if(message.protocolVersion && message.protocolVersion != 2) {
|
||||||
{
|
|
||||||
messageLogger.warn("Protocolversion header is not correct:" + stringifyWithoutPassword(message));
|
messageLogger.warn("Protocolversion header is not correct:" + stringifyWithoutPassword(message));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//client is authorized, everything ok
|
//client is authorized, everything ok
|
||||||
if(clientAuthorized)
|
if(clientAuthorized) {
|
||||||
{
|
handleMessage(client, message);
|
||||||
handleMessage(message);
|
} else { //try to authorize the client
|
||||||
}
|
if(message.padId !== undefined && message.sessionID !== undefined && message.token !== undefined && message.password !== undefined) {
|
||||||
//try to authorize the client
|
//this message has everything to try an authorization
|
||||||
else
|
securityManager.checkAccess (message.padId, message.sessionID, message.token, message.password,
|
||||||
{
|
function(err, statusObject) {
|
||||||
//this message has everything to try an authorization
|
ERR(err);
|
||||||
if(message.padId !== undefined && message.sessionID !== undefined && message.token !== undefined && message.password !== undefined)
|
|
||||||
{
|
//access was granted, mark the client as authorized and handle the message
|
||||||
securityManager.checkAccess (message.padId, message.sessionID, message.token, message.password, function(err, statusObject)
|
if(statusObject.accessStatus == "grant") {
|
||||||
{
|
clientAuthorized = true;
|
||||||
ERR(err);
|
handleMessage(client, message);
|
||||||
|
}
|
||||||
//access was granted, mark the client as authorized and handle the message
|
//no access, send the client a message that tell him why
|
||||||
if(statusObject.accessStatus == "grant")
|
else {
|
||||||
{
|
messageLogger.warn("Authentication try failed:" + stringifyWithoutPassword(message));
|
||||||
clientAuthorized = true;
|
client.json.send({accessStatus: statusObject.accessStatus});
|
||||||
handleMessage(message);
|
}
|
||||||
}
|
}
|
||||||
//no access, send the client a message that tell him why
|
);
|
||||||
else
|
} else { //drop message
|
||||||
{
|
|
||||||
messageLogger.warn("Authentication try failed:" + stringifyWithoutPassword(message));
|
|
||||||
client.json.send({accessStatus: statusObject.accessStatus});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
//drop message
|
|
||||||
else
|
|
||||||
{
|
|
||||||
messageLogger.warn("Dropped message cause of bad permissions:" + stringifyWithoutPassword(message));
|
messageLogger.warn("Dropped message cause of bad permissions:" + stringifyWithoutPassword(message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,6 +114,21 @@ exports.setSocketIO = function(_socket)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//try to handle the message of this client
|
||||||
|
function handleMessage(client, message)
|
||||||
|
{
|
||||||
|
|
||||||
|
if(message.component && components[message.component]) {
|
||||||
|
//check if component is registered in the components array
|
||||||
|
if(components[message.component]) {
|
||||||
|
messageLogger.debug("from " + client.id + ": " + stringifyWithoutPassword(message));
|
||||||
|
components[message.component].handleMessage(client, message);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
messageLogger.error("Can't route the message:" + stringifyWithoutPassword(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//returns a stringified representation of a message, removes the password
|
//returns a stringified representation of a message, removes the password
|
||||||
//this ensures there are no passwords in the log
|
//this ensures there are no passwords in the log
|
||||||
function stringifyWithoutPassword(message)
|
function stringifyWithoutPassword(message)
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"clean-css" : "0.3.2",
|
"clean-css" : "0.3.2",
|
||||||
"uglify-js" : "1.2.5",
|
"uglify-js" : "1.2.5",
|
||||||
"formidable" : "1.0.9",
|
"formidable" : "1.0.9",
|
||||||
"log4js" : "0.5.x",
|
"log4js" : "0.6.6",
|
||||||
"nodemailer" : "0.3.x",
|
"nodemailer" : "0.3.x",
|
||||||
"jsdom-nocontextifiy" : "0.2.10",
|
"jsdom-nocontextifiy" : "0.2.10",
|
||||||
"async-stacktrace" : "0.0.2",
|
"async-stacktrace" : "0.0.2",
|
||||||
|
@ -37,7 +37,8 @@
|
||||||
"underscore" : "1.3.1",
|
"underscore" : "1.3.1",
|
||||||
"unorm" : "1.0.0",
|
"unorm" : "1.0.0",
|
||||||
"languages4translatewiki" : "0.1.3",
|
"languages4translatewiki" : "0.1.3",
|
||||||
"swagger-node-express" : "1.2.3"
|
"swagger-node-express" : "1.2.3",
|
||||||
|
"channels" : "0.0.x"
|
||||||
},
|
},
|
||||||
"bin": { "etherpad-lite": "./node/server.js" },
|
"bin": { "etherpad-lite": "./node/server.js" },
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -46,5 +47,5 @@
|
||||||
"engines" : { "node" : ">=0.6.3",
|
"engines" : { "node" : ">=0.6.3",
|
||||||
"npm" : ">=1.0"
|
"npm" : ">=1.0"
|
||||||
},
|
},
|
||||||
"version" : "1.2.10"
|
"version" : "1.2.11"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2105,7 +2105,9 @@ exports.follow = function (cs1, cs2, reverseInsertOrder, pool) {
|
||||||
exports.copyOp(op2, opOut);
|
exports.copyOp(op2, opOut);
|
||||||
op2.opcode = '';
|
op2.opcode = '';
|
||||||
} else if (!op2.opcode) {
|
} else if (!op2.opcode) {
|
||||||
exports.copyOp(op1, opOut);
|
// @NOTE: Critical bugfix for EPL issue #1625. We do not copy op1 here
|
||||||
|
// in order to prevent attributes from leaking into result changesets.
|
||||||
|
// exports.copyOp(op1, opOut);
|
||||||
op1.opcode = '';
|
op1.opcode = '';
|
||||||
} else {
|
} else {
|
||||||
// both keeps
|
// both keeps
|
||||||
|
|
|
@ -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.
|
* This helps other people to understand this code better and helps them to improve it.
|
||||||
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
||||||
*/
|
*/
|
||||||
|
@ -86,7 +86,7 @@ function Ace2Editor()
|
||||||
});
|
});
|
||||||
actionsPendingInit = [];
|
actionsPendingInit = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
ace2.registry[info.id] = info;
|
ace2.registry[info.id] = info;
|
||||||
|
|
||||||
// The following functions (prefixed by 'ace_') are exposed by editor, but
|
// The following functions (prefixed by 'ace_') are exposed by editor, but
|
||||||
|
@ -97,7 +97,7 @@ function Ace2Editor()
|
||||||
'applyChangesToBase', 'applyPreparedChangesetToBase',
|
'applyChangesToBase', 'applyPreparedChangesetToBase',
|
||||||
'setUserChangeNotificationCallback', 'setAuthorInfo',
|
'setUserChangeNotificationCallback', 'setAuthorInfo',
|
||||||
'setAuthorSelectionRange', 'callWithAce', 'execCommand', 'replaceRange'];
|
'setAuthorSelectionRange', 'callWithAce', 'execCommand', 'replaceRange'];
|
||||||
|
|
||||||
_.each(aceFunctionsPendingInit, function(fnName,i){
|
_.each(aceFunctionsPendingInit, function(fnName,i){
|
||||||
var prefix = 'ace_';
|
var prefix = 'ace_';
|
||||||
var name = prefix + fnName;
|
var name = prefix + fnName;
|
||||||
|
@ -105,18 +105,18 @@ function Ace2Editor()
|
||||||
info[prefix + fnName].apply(this, arguments);
|
info[prefix + fnName].apply(this, arguments);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
editor.exportText = function()
|
editor.exportText = function()
|
||||||
{
|
{
|
||||||
if (!loaded) return "(awaiting init)\n";
|
if (!loaded) return "(awaiting init)\n";
|
||||||
return info.ace_exportText();
|
return info.ace_exportText();
|
||||||
};
|
};
|
||||||
|
|
||||||
editor.getFrame = function()
|
editor.getFrame = function()
|
||||||
{
|
{
|
||||||
return info.frame || null;
|
return info.frame || null;
|
||||||
};
|
};
|
||||||
|
|
||||||
editor.getDebugProperty = function(prop)
|
editor.getDebugProperty = function(prop)
|
||||||
{
|
{
|
||||||
return info.ace_getDebugProperty(prop);
|
return info.ace_getDebugProperty(prop);
|
||||||
|
@ -221,16 +221,16 @@ function Ace2Editor()
|
||||||
// calls to these functions ($$INCLUDE_...) are replaced when this file is processed
|
// 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
|
// and compressed, putting the compressed code from the named file directly into the
|
||||||
// source here.
|
// 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 includedCSS = [];
|
||||||
var $$INCLUDE_CSS = function(filename) {includedCSS.push(filename)};
|
var $$INCLUDE_CSS = function(filename) {includedCSS.push(filename)};
|
||||||
$$INCLUDE_CSS("../static/css/iframe_editor.css");
|
$$INCLUDE_CSS("../static/css/iframe_editor.css");
|
||||||
$$INCLUDE_CSS("../static/css/pad.css");
|
$$INCLUDE_CSS("../static/css/pad.css");
|
||||||
$$INCLUDE_CSS("../static/custom/pad.css");
|
$$INCLUDE_CSS("../static/custom/pad.css");
|
||||||
|
|
||||||
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
|
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
|
||||||
includedCSS = includedCSS.concat(additionalCSS);
|
includedCSS = includedCSS.concat(additionalCSS);
|
||||||
|
|
||||||
pushStyleTagsFor(iframeHTML, includedCSS);
|
pushStyleTagsFor(iframeHTML, includedCSS);
|
||||||
|
|
||||||
if (!Ace2Editor.EMBEDED && Ace2Editor.EMBEDED[KERNEL_SOURCE]) {
|
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/iframe_editor.css");
|
||||||
$$INCLUDE_CSS("../static/css/pad.css");
|
$$INCLUDE_CSS("../static/css/pad.css");
|
||||||
$$INCLUDE_CSS("../static/custom/pad.css");
|
$$INCLUDE_CSS("../static/custom/pad.css");
|
||||||
|
|
||||||
|
|
||||||
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
|
var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ return '../static/plugins/' + path });
|
||||||
includedCSS = includedCSS.concat(additionalCSS);
|
includedCSS = includedCSS.concat(additionalCSS);
|
||||||
|
|
||||||
pushStyleTagsFor(outerHTML, includedCSS);
|
pushStyleTagsFor(outerHTML, includedCSS);
|
||||||
|
|
||||||
// bizarrely, in FF2, a file with no "external" dependencies won't finish loading properly
|
// bizarrely, in FF2, a file with no "external" dependencies won't finish loading properly
|
||||||
// (throbs busy while typing)
|
// (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");
|
var outerFrame = document.createElement("IFRAME");
|
||||||
outerFrame.name = "ace_outer";
|
outerFrame.name = "ace_outer";
|
||||||
|
|
|
@ -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.
|
* This helps other people to understand this code better and helps them to improve it.
|
||||||
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
||||||
*/
|
*/
|
||||||
|
@ -36,10 +36,10 @@ var isNodeText = Ace2Common.isNodeText,
|
||||||
htmlPrettyEscape = Ace2Common.htmlPrettyEscape,
|
htmlPrettyEscape = Ace2Common.htmlPrettyEscape,
|
||||||
noop = Ace2Common.noop;
|
noop = Ace2Common.noop;
|
||||||
var hooks = require('./pluginfw/hooks');
|
var hooks = require('./pluginfw/hooks');
|
||||||
|
|
||||||
|
|
||||||
function Ace2Inner(){
|
function Ace2Inner(){
|
||||||
|
|
||||||
var makeChangesetTracker = require('./changesettracker').makeChangesetTracker;
|
var makeChangesetTracker = require('./changesettracker').makeChangesetTracker;
|
||||||
var colorutils = require('./colorutils').colorutils;
|
var colorutils = require('./colorutils').colorutils;
|
||||||
var makeContentCollector = require('./contentcollector').makeContentCollector;
|
var makeContentCollector = require('./contentcollector').makeContentCollector;
|
||||||
|
@ -53,9 +53,9 @@ function Ace2Inner(){
|
||||||
var undoModule = require('./undomodule').undoModule;
|
var undoModule = require('./undomodule').undoModule;
|
||||||
var makeVirtualLineView = require('./virtual_lines').makeVirtualLineView;
|
var makeVirtualLineView = require('./virtual_lines').makeVirtualLineView;
|
||||||
var AttributeManager = require('./AttributeManager');
|
var AttributeManager = require('./AttributeManager');
|
||||||
|
|
||||||
var DEBUG = false; //$$ build script replaces the string "var DEBUG=true;//$$" with "var DEBUG=false;"
|
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 isSetUp = false;
|
||||||
|
|
||||||
var THE_TAB = ' '; //4
|
var THE_TAB = ' '; //4
|
||||||
|
@ -83,9 +83,9 @@ function Ace2Inner(){
|
||||||
initLineNumbers();
|
initLineNumbers();
|
||||||
|
|
||||||
var outsideKeyDown = noop;
|
var outsideKeyDown = noop;
|
||||||
|
|
||||||
var outsideKeyPress = function(){return true;};
|
var outsideKeyPress = function(){return true;};
|
||||||
|
|
||||||
var outsideNotifyDirty = noop;
|
var outsideNotifyDirty = noop;
|
||||||
|
|
||||||
// selFocusAtStart -- determines whether the selection extends "backwards", so that the focus
|
// selFocusAtStart -- determines whether the selection extends "backwards", so that the focus
|
||||||
|
@ -101,7 +101,7 @@ function Ace2Inner(){
|
||||||
alines: [],
|
alines: [],
|
||||||
apool: new AttribPool()
|
apool: new AttribPool()
|
||||||
};
|
};
|
||||||
|
|
||||||
// lines, alltext, alines, and DOM are set up in setup()
|
// lines, alltext, alines, and DOM are set up in setup()
|
||||||
if (undoModule.enabled)
|
if (undoModule.enabled)
|
||||||
{
|
{
|
||||||
|
@ -113,7 +113,7 @@ function Ace2Inner(){
|
||||||
var doesWrap = true;
|
var doesWrap = true;
|
||||||
var hasLineNumbers = true;
|
var hasLineNumbers = true;
|
||||||
var isStyled = true;
|
var isStyled = true;
|
||||||
|
|
||||||
// space around the innermost iframe element
|
// space around the innermost iframe element
|
||||||
var iframePadLeft = MIN_LINEDIV_WIDTH + LINE_NUMBER_PADDING_RIGHT + EDIT_BODY_PADDING_LEFT;
|
var iframePadLeft = MIN_LINEDIV_WIDTH + LINE_NUMBER_PADDING_RIGHT + EDIT_BODY_PADDING_LEFT;
|
||||||
var iframePadTop = EDIT_BODY_PADDING_TOP;
|
var iframePadTop = EDIT_BODY_PADDING_TOP;
|
||||||
|
@ -122,7 +122,7 @@ function Ace2Inner(){
|
||||||
|
|
||||||
var console = (DEBUG && window.console);
|
var console = (DEBUG && window.console);
|
||||||
var documentAttributeManager;
|
var documentAttributeManager;
|
||||||
|
|
||||||
if (!window.console)
|
if (!window.console)
|
||||||
{
|
{
|
||||||
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
|
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 textFace = 'monospace';
|
||||||
var textSize = 12;
|
var textSize = 12;
|
||||||
|
|
||||||
|
|
||||||
function textLineHeight()
|
function textLineHeight()
|
||||||
{
|
{
|
||||||
|
@ -167,12 +167,14 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
|
|
||||||
var dynamicCSS = null;
|
var dynamicCSS = null;
|
||||||
|
var outerDynamicCSS = null;
|
||||||
var parentDynamicCSS = null;
|
var parentDynamicCSS = null;
|
||||||
|
|
||||||
function initDynamicCSS()
|
function initDynamicCSS()
|
||||||
{
|
{
|
||||||
dynamicCSS = makeCSSManager("dynamicsyntax");
|
dynamicCSS = makeCSSManager("dynamicsyntax");
|
||||||
parentDynamicCSS = makeCSSManager("dynamicsyntax", true);
|
outerDynamicCSS = makeCSSManager("dynamicsyntax", "outer");
|
||||||
|
parentDynamicCSS = makeCSSManager("dynamicsyntax", "parent");
|
||||||
}
|
}
|
||||||
|
|
||||||
var changesetTracker = makeChangesetTracker(scheduler, rep.apool, {
|
var changesetTracker = makeChangesetTracker(scheduler, rep.apool, {
|
||||||
|
@ -208,6 +210,72 @@ function Ace2Inner(){
|
||||||
};
|
};
|
||||||
editorInfo.ace_getAuthorInfos= getAuthorInfos;
|
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)
|
function setAuthorInfo(author, info)
|
||||||
{
|
{
|
||||||
if ((typeof author) != "string")
|
if ((typeof author) != "string")
|
||||||
|
@ -217,56 +285,12 @@ function Ace2Inner(){
|
||||||
if (!info)
|
if (!info)
|
||||||
{
|
{
|
||||||
delete authorInfos[author];
|
delete authorInfos[author];
|
||||||
if (dynamicCSS)
|
|
||||||
{
|
|
||||||
dynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author)));
|
|
||||||
parentDynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
authorInfos[author] = info;
|
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)
|
function getAuthorClassName(author)
|
||||||
|
@ -541,8 +565,8 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
return rep.lines.atOffset(charOffset).key;
|
return rep.lines.atOffset(charOffset).key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function dispose()
|
function dispose()
|
||||||
{
|
{
|
||||||
disposed = true;
|
disposed = true;
|
||||||
|
@ -897,14 +921,14 @@ function Ace2Inner(){
|
||||||
editorInfo.ace_doReturnKey = doReturnKey;
|
editorInfo.ace_doReturnKey = doReturnKey;
|
||||||
editorInfo.ace_isBlockElement = isBlockElement;
|
editorInfo.ace_isBlockElement = isBlockElement;
|
||||||
editorInfo.ace_getLineListType = getLineListType;
|
editorInfo.ace_getLineListType = getLineListType;
|
||||||
|
|
||||||
editorInfo.ace_callWithAce = function(fn, callStack, normalize)
|
editorInfo.ace_callWithAce = function(fn, callStack, normalize)
|
||||||
{
|
{
|
||||||
var wrapper = function()
|
var wrapper = function()
|
||||||
{
|
{
|
||||||
return fn(editorInfo);
|
return fn(editorInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (normalize !== undefined)
|
if (normalize !== undefined)
|
||||||
{
|
{
|
||||||
var wrapper1 = wrapper;
|
var wrapper1 = wrapper;
|
||||||
|
@ -930,14 +954,14 @@ function Ace2Inner(){
|
||||||
// @param value the value to set to
|
// @param value the value to set to
|
||||||
editorInfo.ace_setProperty = function(key, value)
|
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){
|
var setClassPresenceNamed = function(element, cls){
|
||||||
return function(value){
|
return function(value){
|
||||||
setClassPresence(element, cls, !! value)
|
setClassPresence(element, cls, !! value)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// These properties are exposed
|
// These properties are exposed
|
||||||
var setters = {
|
var setters = {
|
||||||
wraps: setWraps,
|
wraps: setWraps,
|
||||||
|
@ -952,7 +976,7 @@ function Ace2Inner(){
|
||||||
},
|
},
|
||||||
grayedout: setClassPresenceNamed(outerWin.document.body, "grayedout"),
|
grayedout: setClassPresenceNamed(outerWin.document.body, "grayedout"),
|
||||||
dmesg: function(){ dmesg = window.dmesg = value; },
|
dmesg: function(){ dmesg = window.dmesg = value; },
|
||||||
userauthor: function(value){
|
userauthor: function(value){
|
||||||
thisAuthor = String(value);
|
thisAuthor = String(value);
|
||||||
documentAttributeManager.author = thisAuthor;
|
documentAttributeManager.author = thisAuthor;
|
||||||
},
|
},
|
||||||
|
@ -965,10 +989,10 @@ function Ace2Inner(){
|
||||||
document.documentElement.dir = value? 'rtl' : 'ltr'
|
document.documentElement.dir = value? 'rtl' : 'ltr'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var setter = setters[key.toLowerCase()];
|
var setter = setters[key.toLowerCase()];
|
||||||
|
|
||||||
// check if setter is present
|
// check if setter is present
|
||||||
if(setter !== undefined){
|
if(setter !== undefined){
|
||||||
setter(value)
|
setter(value)
|
||||||
}
|
}
|
||||||
|
@ -1077,7 +1101,7 @@ function Ace2Inner(){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
isTimeUp.elapsed = function()
|
isTimeUp.elapsed = function()
|
||||||
{
|
{
|
||||||
return now() - startTime;
|
return now() - startTime;
|
||||||
|
@ -1458,7 +1482,7 @@ function Ace2Inner(){
|
||||||
var p = PROFILER("getSelection", false);
|
var p = PROFILER("getSelection", false);
|
||||||
var selection = getSelection();
|
var selection = getSelection();
|
||||||
p.end();
|
p.end();
|
||||||
|
|
||||||
function topLevel(n)
|
function topLevel(n)
|
||||||
{
|
{
|
||||||
if ((!n) || n == root) return null;
|
if ((!n) || n == root) return null;
|
||||||
|
@ -1468,7 +1492,7 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selection)
|
if (selection)
|
||||||
{
|
{
|
||||||
var node1 = topLevel(selection.startPoint.node);
|
var node1 = topLevel(selection.startPoint.node);
|
||||||
|
@ -1726,7 +1750,7 @@ function Ace2Inner(){
|
||||||
root:root,
|
root:root,
|
||||||
point:selection.startPoint,
|
point:selection.startPoint,
|
||||||
documentAttributeManager: documentAttributeManager
|
documentAttributeManager: documentAttributeManager
|
||||||
});
|
});
|
||||||
selStart = (selStartFromHook==null||selStartFromHook.length==0)?getLineAndCharForPoint(selection.startPoint):selStartFromHook;
|
selStart = (selStartFromHook==null||selStartFromHook.length==0)?getLineAndCharForPoint(selection.startPoint):selStartFromHook;
|
||||||
}
|
}
|
||||||
if (selection && !selEnd)
|
if (selection && !selEnd)
|
||||||
|
@ -1739,7 +1763,7 @@ function Ace2Inner(){
|
||||||
point:selection.endPoint,
|
point:selection.endPoint,
|
||||||
documentAttributeManager: documentAttributeManager
|
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
|
// 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
|
// update rep if we have a new selection
|
||||||
// NOTE: IE loses the selection when you click stuff in e.g. the
|
// 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
|
// editbar, so removing the selection when it's lost is not a good
|
||||||
// idea.
|
// idea.
|
||||||
if (selection) repSelectionChange(selStart, selEnd, selection && selection.focusAtStart);
|
if (selection) repSelectionChange(selStart, selEnd, selection && selection.focusAtStart);
|
||||||
// update browser selection
|
// update browser selection
|
||||||
p.mark("browsel");
|
p.mark("browsel");
|
||||||
|
@ -1895,19 +1919,19 @@ function Ace2Inner(){
|
||||||
return rep.selStart[0];
|
return rep.selStart[0];
|
||||||
}
|
}
|
||||||
editorInfo.ace_caretLine = caretLine;
|
editorInfo.ace_caretLine = caretLine;
|
||||||
|
|
||||||
function caretColumn()
|
function caretColumn()
|
||||||
{
|
{
|
||||||
return rep.selStart[1];
|
return rep.selStart[1];
|
||||||
}
|
}
|
||||||
editorInfo.ace_caretColumn = caretColumn;
|
editorInfo.ace_caretColumn = caretColumn;
|
||||||
|
|
||||||
function caretDocChar()
|
function caretDocChar()
|
||||||
{
|
{
|
||||||
return rep.lines.offsetOfIndex(caretLine()) + caretColumn();
|
return rep.lines.offsetOfIndex(caretLine()) + caretColumn();
|
||||||
}
|
}
|
||||||
editorInfo.ace_caretDocChar = caretDocChar;
|
editorInfo.ace_caretDocChar = caretDocChar;
|
||||||
|
|
||||||
function handleReturnIndentation()
|
function handleReturnIndentation()
|
||||||
{
|
{
|
||||||
// on return, indent to level of previous line
|
// on return, indent to level of previous line
|
||||||
|
@ -2336,8 +2360,8 @@ function Ace2Inner(){
|
||||||
documentAttributeManager.setAttributesOnRange(lineAndColumnFromChar(start), lineAndColumnFromChar(end), attribs);
|
documentAttributeManager.setAttributesOnRange(lineAndColumnFromChar(start), lineAndColumnFromChar(end), attribs);
|
||||||
}
|
}
|
||||||
editorInfo.ace_performDocumentApplyAttributesToCharRange = performDocumentApplyAttributesToCharRange;
|
editorInfo.ace_performDocumentApplyAttributesToCharRange = performDocumentApplyAttributesToCharRange;
|
||||||
|
|
||||||
|
|
||||||
function setAttributeOnSelection(attributeName, attributeValue)
|
function setAttributeOnSelection(attributeName, attributeValue)
|
||||||
{
|
{
|
||||||
if (!(rep.selStart && rep.selEnd)) return;
|
if (!(rep.selStart && rep.selEnd)) return;
|
||||||
|
@ -2900,7 +2924,7 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
if (lineClass !== null) lineElem.className = lineClass;
|
if (lineClass !== null) lineElem.className = lineClass;
|
||||||
};
|
};
|
||||||
|
|
||||||
result.prepareForAdd = writeClass;
|
result.prepareForAdd = writeClass;
|
||||||
result.finishUpdate = writeClass;
|
result.finishUpdate = writeClass;
|
||||||
result.getInnerHTML = function()
|
result.getInnerHTML = function()
|
||||||
|
@ -3262,7 +3286,7 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
return (n.tagName || '').toLowerCase() == "a" && n.href;
|
return (n.tagName || '').toLowerCase() == "a" && n.href;
|
||||||
}
|
}
|
||||||
|
|
||||||
// only want to catch left-click
|
// only want to catch left-click
|
||||||
if ((!evt.ctrlKey) && (evt.button != 2) && (evt.button != 3))
|
if ((!evt.ctrlKey) && (evt.button != 2) && (evt.button != 3))
|
||||||
{
|
{
|
||||||
|
@ -3298,7 +3322,7 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var lineNum = rep.selStart[0];
|
var lineNum = rep.selStart[0];
|
||||||
var listType = getLineListType(lineNum);
|
var listType = getLineListType(lineNum);
|
||||||
|
|
||||||
|
@ -3423,9 +3447,9 @@ function Ace2Inner(){
|
||||||
var thisLineListType = getLineListType(theLine);
|
var thisLineListType = getLineListType(theLine);
|
||||||
var prevLineEntry = (theLine > 0 && rep.lines.atIndex(theLine - 1));
|
var prevLineEntry = (theLine > 0 && rep.lines.atIndex(theLine - 1));
|
||||||
var prevLineBlank = (prevLineEntry && prevLineEntry.text.length == prevLineEntry.lineMarker);
|
var prevLineBlank = (prevLineEntry && prevLineEntry.text.length == prevLineEntry.lineMarker);
|
||||||
|
|
||||||
var thisLineHasMarker = documentAttributeManager.lineHasMarker(theLine);
|
var thisLineHasMarker = documentAttributeManager.lineHasMarker(theLine);
|
||||||
|
|
||||||
if (thisLineListType)
|
if (thisLineListType)
|
||||||
{
|
{
|
||||||
// this line is a list
|
// this line is a list
|
||||||
|
@ -3500,7 +3524,7 @@ function Ace2Inner(){
|
||||||
return !!REGEX_WORDCHAR.exec(c);
|
return !!REGEX_WORDCHAR.exec(c);
|
||||||
}
|
}
|
||||||
editorInfo.ace_isWordChar = isWordChar;
|
editorInfo.ace_isWordChar = isWordChar;
|
||||||
|
|
||||||
function isSpaceChar(c)
|
function isSpaceChar(c)
|
||||||
{
|
{
|
||||||
return !!REGEX_SPACE.exec(c);
|
return !!REGEX_SPACE.exec(c);
|
||||||
|
@ -4130,7 +4154,7 @@ function Ace2Inner(){
|
||||||
maxIndex: tn.nodeValue.length
|
maxIndex: tn.nodeValue.length
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
var selection = {};
|
var selection = {};
|
||||||
if (origSelectionRange.compareEndPoints("StartToEnd", origSelectionRange) === 0)
|
if (origSelectionRange.compareEndPoints("StartToEnd", origSelectionRange) === 0)
|
||||||
{
|
{
|
||||||
|
@ -4234,7 +4258,7 @@ function Ace2Inner(){
|
||||||
selection.startPoint = pointFromRangeBound(range.startContainer, range.startOffset);
|
selection.startPoint = pointFromRangeBound(range.startContainer, range.startOffset);
|
||||||
selection.endPoint = pointFromRangeBound(range.endContainer, range.endOffset);
|
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));
|
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){
|
if(selection.startPoint.node.ownerDocument !== window.document){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -4999,9 +5023,9 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var listAttributeName = 'list';
|
var listAttributeName = 'list';
|
||||||
|
|
||||||
function getLineListType(lineNum)
|
function getLineListType(lineNum)
|
||||||
{
|
{
|
||||||
return documentAttributeManager.getAttributeOnLine(lineNum, listAttributeName)
|
return documentAttributeManager.getAttributeOnLine(lineNum, listAttributeName)
|
||||||
|
@ -5014,7 +5038,7 @@ function Ace2Inner(){
|
||||||
}else{
|
}else{
|
||||||
documentAttributeManager.setAttributeOnLine(lineNum, listAttributeName, listType);
|
documentAttributeManager.setAttributeOnLine(lineNum, listAttributeName, listType);
|
||||||
}
|
}
|
||||||
|
|
||||||
//if the list has been removed, it is necessary to renumber
|
//if the list has been removed, it is necessary to renumber
|
||||||
//starting from the *next* line because the list may have been
|
//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
|
//separated. If it returns null, it means that the list was not cut, try
|
||||||
|
@ -5024,7 +5048,7 @@ function Ace2Inner(){
|
||||||
renumberList(lineNum);
|
renumberList(lineNum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function renumberList(lineNum){
|
function renumberList(lineNum){
|
||||||
//1-check we are in a list
|
//1-check we are in a list
|
||||||
var type = getLineListType(lineNum);
|
var type = getLineListType(lineNum);
|
||||||
|
@ -5037,7 +5061,7 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//2-find the first line of the list
|
//2-find the first line of the list
|
||||||
while(lineNum-1 >= 0 && (type=getLineListType(lineNum-1)))
|
while(lineNum-1 >= 0 && (type=getLineListType(lineNum-1)))
|
||||||
{
|
{
|
||||||
|
@ -5046,7 +5070,7 @@ function Ace2Inner(){
|
||||||
break;
|
break;
|
||||||
lineNum--;
|
lineNum--;
|
||||||
}
|
}
|
||||||
|
|
||||||
//3-renumber every list item of the same level from the beginning, level 1
|
//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
|
//IMPORTANT: never skip a level because there imbrication may be arbitrary
|
||||||
var builder = Changeset.builder(rep.lines.totalWidth());
|
var builder = Changeset.builder(rep.lines.totalWidth());
|
||||||
|
@ -5073,7 +5097,7 @@ function Ace2Inner(){
|
||||||
ChangesetUtils.buildKeepRange(rep, builder, loc, (loc = [line, 1]), [
|
ChangesetUtils.buildKeepRange(rep, builder, loc, (loc = [line, 1]), [
|
||||||
['start', position]
|
['start', position]
|
||||||
], rep.apool);
|
], rep.apool);
|
||||||
|
|
||||||
position++;
|
position++;
|
||||||
line++;
|
line++;
|
||||||
}
|
}
|
||||||
|
@ -5088,19 +5112,19 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
applyNumberList(lineNum, 1);
|
applyNumberList(lineNum, 1);
|
||||||
var cs = builder.toString();
|
var cs = builder.toString();
|
||||||
if (!Changeset.isIdentity(cs))
|
if (!Changeset.isIdentity(cs))
|
||||||
{
|
{
|
||||||
performDocumentApplyChangeset(cs);
|
performDocumentApplyChangeset(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
//4-apply the modifications
|
//4-apply the modifications
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function doInsertList(type)
|
function doInsertList(type)
|
||||||
{
|
{
|
||||||
|
@ -5138,7 +5162,7 @@ function Ace2Inner(){
|
||||||
var t = getLineListType(n);
|
var t = getLineListType(n);
|
||||||
mods.push([n, allLinesAreList ? 'indent' + level : (t ? type + level : type + '1')]);
|
mods.push([n, allLinesAreList ? 'indent' + level : (t ? type + level : type + '1')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
_.each(mods, function(mod){
|
_.each(mods, function(mod){
|
||||||
setLineListType(mod[0], mod[1]);
|
setLineListType(mod[0], mod[1]);
|
||||||
});
|
});
|
||||||
|
@ -5152,7 +5176,7 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
editorInfo.ace_doInsertUnorderedList = doInsertUnorderedList;
|
editorInfo.ace_doInsertUnorderedList = doInsertUnorderedList;
|
||||||
editorInfo.ace_doInsertOrderedList = doInsertOrderedList;
|
editorInfo.ace_doInsertOrderedList = doInsertOrderedList;
|
||||||
|
|
||||||
var lineNumbersShown;
|
var lineNumbersShown;
|
||||||
var sideDivInner;
|
var sideDivInner;
|
||||||
|
|
||||||
|
@ -5168,11 +5192,11 @@ function Ace2Inner(){
|
||||||
var newNumLines = rep.lines.length();
|
var newNumLines = rep.lines.length();
|
||||||
if (newNumLines < 1) newNumLines = 1;
|
if (newNumLines < 1) newNumLines = 1;
|
||||||
//update height of all current line numbers
|
//update height of all current line numbers
|
||||||
|
|
||||||
var a = sideDivInner.firstChild;
|
var a = sideDivInner.firstChild;
|
||||||
var b = doc.body.firstChild;
|
var b = doc.body.firstChild;
|
||||||
var n = 0;
|
var n = 0;
|
||||||
|
|
||||||
if (currentCallStack && currentCallStack.domClean)
|
if (currentCallStack && currentCallStack.domClean)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -5201,8 +5225,8 @@ function Ace2Inner(){
|
||||||
b = b.nextSibling;
|
b = b.nextSibling;
|
||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newNumLines != lineNumbersShown)
|
if (newNumLines != lineNumbersShown)
|
||||||
{
|
{
|
||||||
var container = sideDivInner;
|
var container = sideDivInner;
|
||||||
|
@ -5212,27 +5236,27 @@ function Ace2Inner(){
|
||||||
{
|
{
|
||||||
lineNumbersShown++;
|
lineNumbersShown++;
|
||||||
var n = lineNumbersShown;
|
var n = lineNumbersShown;
|
||||||
var div = odoc.createElement("DIV");
|
var div = odoc.createElement("DIV");
|
||||||
//calculate height for new line number
|
//calculate height for new line number
|
||||||
if(b){
|
if(b){
|
||||||
var h = (b.clientHeight || b.offsetHeight);
|
var h = (b.clientHeight || b.offsetHeight);
|
||||||
|
|
||||||
if (b.nextSibling){
|
if (b.nextSibling){
|
||||||
h = b.nextSibling.offsetTop - b.offsetTop;
|
h = b.nextSibling.offsetTop - b.offsetTop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(h){ // apply style to div
|
if(h){ // apply style to div
|
||||||
div.style.height = h +"px";
|
div.style.height = h +"px";
|
||||||
}
|
}
|
||||||
|
|
||||||
div.appendChild(odoc.createTextNode(String(n)));
|
div.appendChild(odoc.createTextNode(String(n)));
|
||||||
fragment.appendChild(div);
|
fragment.appendChild(div);
|
||||||
if(b){
|
if(b){
|
||||||
b = b.nextSibling;
|
b = b.nextSibling;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
container.appendChild(fragment);
|
container.appendChild(fragment);
|
||||||
while (lineNumbersShown > newNumLines)
|
while (lineNumbersShown > newNumLines)
|
||||||
{
|
{
|
||||||
|
@ -5241,8 +5265,8 @@ function Ace2Inner(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Init documentAttributeManager
|
// Init documentAttributeManager
|
||||||
documentAttributeManager = new AttributeManager(rep, performDocumentApplyChangeset);
|
documentAttributeManager = new AttributeManager(rep, performDocumentApplyChangeset);
|
||||||
editorInfo.ace_performDocumentApplyAttributesToRange = function () {
|
editorInfo.ace_performDocumentApplyAttributesToRange = function () {
|
||||||
|
@ -5288,13 +5312,13 @@ function Ace2Inner(){
|
||||||
bindTheEventHandlers();
|
bindTheEventHandlers();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
hooks.callAll('aceInitialized', {
|
hooks.callAll('aceInitialized', {
|
||||||
editorInfo: editorInfo,
|
editorInfo: editorInfo,
|
||||||
rep: rep,
|
rep: rep,
|
||||||
documentAttributeManager: documentAttributeManager
|
documentAttributeManager: documentAttributeManager
|
||||||
});
|
});
|
||||||
|
|
||||||
scheduler.setTimeout(function()
|
scheduler.setTimeout(function()
|
||||||
{
|
{
|
||||||
parent.readyFunc(); // defined in code that sets up the inner iframe
|
parent.readyFunc(); // defined in code that sets up the inner iframe
|
||||||
|
|
|
@ -57,6 +57,7 @@ function makeChangesetTracker(scheduler, apool, aceCallbacksProvider)
|
||||||
{
|
{
|
||||||
changeCallback();
|
changeCallback();
|
||||||
}
|
}
|
||||||
|
catch(pseudoError) {}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
changeCallbackTimeout = null;
|
changeCallbackTimeout = null;
|
||||||
|
@ -161,21 +162,32 @@ function makeChangesetTracker(scheduler, apool, aceCallbacksProvider)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// add forEach function to Array.prototype for IE8
|
||||||
|
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);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Get my authorID
|
// Get my authorID
|
||||||
var authorId = parent.parent.pad.myUserInfo.userId;
|
var authorId = parent.parent.pad.myUserInfo.userId;
|
||||||
// Rewrite apool authors with my author information
|
|
||||||
|
|
||||||
// We need to replace all new author attribs with thisSession.author, in case someone copy/pasted or otherwise inserted other peoples changes
|
// Sanitize authorship
|
||||||
|
// We need to replace all author attribs with thisSession.author, in case they copy/pasted or otherwise inserted other peoples changes
|
||||||
if(apool.numToAttrib){
|
if(apool.numToAttrib){
|
||||||
for (var attr in apool.numToAttrib){
|
for (var attr in apool.numToAttrib){
|
||||||
if (apool.numToAttrib[attr][0] == 'author' && apool.numToAttrib[attr][1] == authorId) authorAttr = attr
|
if (apool.numToAttrib[attr][0] == 'author' && apool.numToAttrib[attr][1] == authorId) authorAttr = Number(attr).toString(36)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace all added 'author' attribs with the value of the current user
|
// Replace all added 'author' attribs with the value of the current user
|
||||||
var cs = Changeset.unpack(userChangeset)
|
var cs = Changeset.unpack(userChangeset)
|
||||||
, iterator = Changeset.opIterator(cs.ops)
|
, iterator = Changeset.opIterator(cs.ops)
|
||||||
, op
|
, op
|
||||||
, assem = Changeset.mergingOpAssembler();
|
, assem = Changeset.mergingOpAssembler();
|
||||||
|
|
||||||
while(iterator.hasNext()) {
|
while(iterator.hasNext()) {
|
||||||
op = iterator.next()
|
op = iterator.next()
|
||||||
if(op.opcode == '+') {
|
if(op.opcode == '+') {
|
||||||
|
@ -183,13 +195,13 @@ function makeChangesetTracker(scheduler, apool, aceCallbacksProvider)
|
||||||
|
|
||||||
op.attribs.split('*').forEach(function(attrNum) {
|
op.attribs.split('*').forEach(function(attrNum) {
|
||||||
if(!attrNum) return
|
if(!attrNum) return
|
||||||
attr = apool.getAttrib(attrNum)
|
var attr = apool.getAttrib(parseInt(attrNum, 36))
|
||||||
if(!attr) return
|
if(!attr) return
|
||||||
if('author' == attr[0] && !~newAttrs.indexOf(authorAttr)) {
|
if('author' == attr[0]) {
|
||||||
|
// replace that author with the current one
|
||||||
newAttrs += '*'+authorAttr;
|
newAttrs += '*'+authorAttr;
|
||||||
// console.log('replacing author attribute ', attrNum, '(', attr[1], ') with', authorAttr)
|
|
||||||
}
|
}
|
||||||
else newAttrs += '*'+attrNum
|
else newAttrs += '*'+attrNum // overtake all other attribs as is
|
||||||
})
|
})
|
||||||
op.attribs = newAttrs
|
op.attribs = newAttrs
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,7 +311,6 @@ function makeContentCollector(collectStyles, browser, apool, domInterface, class
|
||||||
['insertorder', 'first']
|
['insertorder', 'first']
|
||||||
].concat(
|
].concat(
|
||||||
_.map(state.lineAttributes,function(value,key){
|
_.map(state.lineAttributes,function(value,key){
|
||||||
if (typeof(window)!= 'undefined' && window.console) console.log([key, value])
|
|
||||||
return [key, value];
|
return [key, value];
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
|
@ -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.
|
* This helps other people to understand this code better and helps them to improve it.
|
||||||
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
||||||
*/
|
*/
|
||||||
|
@ -20,14 +20,32 @@
|
||||||
* limitations under the License.
|
* 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)
|
function getSheetByTitle(title)
|
||||||
{
|
{
|
||||||
if (parentCss) var allSheets = window.parent.parent.document.styleSheets;
|
if (doc === 'parent')
|
||||||
else var allSheets = document.styleSheets;
|
{
|
||||||
|
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++)
|
for (var i = 0; i < allSheets.length; i++)
|
||||||
{
|
{
|
||||||
var s = allSheets[i];
|
var s = allSheets[i];
|
||||||
|
@ -38,8 +56,8 @@ function makeCSSManager(emptyStylesheetTitle, parentCss)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var browserSheet = getSheetByTitle(emptyStylesheetTitle, parentCss);
|
var browserSheet = getSheetByTitle(emptyStylesheetTitle);
|
||||||
|
|
||||||
function browserRules()
|
function browserRules()
|
||||||
{
|
{
|
||||||
|
|
|
@ -79,6 +79,15 @@ window.html10n = (function(window, document, undefined) {
|
||||||
return -1;
|
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)
|
* MicroEvent - to make any js object an event emitter (server or browser)
|
||||||
|
|
|
@ -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_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_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.getURLFilter = linestylefilter.getRegexpFilter(
|
||||||
linestylefilter.REGEX_URL, 'url');
|
linestylefilter.REGEX_URL, 'url');
|
||||||
|
|
||||||
|
|
|
@ -463,7 +463,7 @@ var pad = {
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
doc.execCommand("BackgroundImageCache", false, true);
|
document.execCommand("BackgroundImageCache", false, true);
|
||||||
}
|
}
|
||||||
catch (e)
|
catch (e)
|
||||||
{}
|
{}
|
||||||
|
|
|
@ -176,7 +176,7 @@ var padutils = {
|
||||||
// copied from ACE
|
// 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_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_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], ...]
|
// returns null if no URLs, or [[startIndex1, url1], [startIndex2, url2], ...]
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ var config = {
|
||||||
host: "ondemand.saucelabs.com"
|
host: "ondemand.saucelabs.com"
|
||||||
, port: 80
|
, port: 80
|
||||||
, username: process.env.SAUCE_USER
|
, username: process.env.SAUCE_USER
|
||||||
, accessKey: process.env.SAUCE_KEY
|
, accessKey: process.env.SAUCE_ACCESS_KEY
|
||||||
}
|
}
|
||||||
|
|
||||||
var allTestsPassed = true;
|
var allTestsPassed = true;
|
||||||
|
|
|
@ -4,7 +4,7 @@ curl http://saucelabs.com/downloads/Sauce-Connect-latest.zip > /tmp/sauce.zip
|
||||||
unzip /tmp/sauce.zip -d /tmp
|
unzip /tmp/sauce.zip -d /tmp
|
||||||
|
|
||||||
# start the sauce connector in background and make sure it doesn't output the secret key
|
# 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
|
# save the sauce pid in a file
|
||||||
echo $! > /tmp/sauce.pid
|
echo $! > /tmp/sauce.pid
|
||||||
|
|
Loading…
Reference in a new issue