Compare commits
267 Commits
1.3.1
...
paste-mana
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f66c690fc0 | ||
|
|
c37052fe82 | ||
|
|
7e30134d1f | ||
|
|
2b67f0369d | ||
|
|
02278c73ce | ||
|
|
2575656831 | ||
|
|
5ec72f1d89 | ||
|
|
2e4595c1ec | ||
|
|
291fdb306d | ||
|
|
0d492805b3 | ||
|
|
ba10c80ab1 | ||
|
|
d89601d505 | ||
|
|
cc11ef6d7a | ||
|
|
a2e9a94b58 | ||
|
|
8b7ae28830 | ||
|
|
c0567dd005 | ||
|
|
7becdd26f1 | ||
|
|
8962c86d29 | ||
|
|
d4e440c1a2 | ||
|
|
6546210da8 | ||
|
|
5d418be054 | ||
|
|
f2fb92eedc | ||
|
|
f4c7807181 | ||
|
|
4a04915269 | ||
|
|
a518b7c2ca | ||
|
|
48faf7b2f0 | ||
|
|
350cc21f42 | ||
|
|
ccbb24fdf1 | ||
|
|
8bbf568d43 | ||
|
|
6b2801f7de | ||
|
|
50881ff172 | ||
|
|
4e4c36a6c4 | ||
|
|
1d36fa2c21 | ||
|
|
21435d0111 | ||
|
|
669430aa10 | ||
|
|
566f8f1b1d | ||
|
|
9365f88a31 | ||
|
|
40172b8500 | ||
|
|
ea53546799 | ||
|
|
91062a28e3 | ||
|
|
9b35a4da70 | ||
|
|
5d379e6534 | ||
|
|
13b5c66e6d | ||
|
|
3668f1e3f4 | ||
|
|
417b17f86d | ||
|
|
3ef741b27b | ||
|
|
565063d839 | ||
|
|
646a2348db | ||
|
|
7f1d03df55 | ||
|
|
397442913b | ||
|
|
f9ed831092 | ||
|
|
b2751ca444 | ||
|
|
ddfccb338c | ||
|
|
633ec4b199 | ||
|
|
1614342248 | ||
|
|
298cbebca3 | ||
|
|
9f7b60a402 | ||
|
|
b30f3a9b58 | ||
|
|
7637d69e1b | ||
|
|
85943a9ce1 | ||
|
|
2b9abb8db4 | ||
|
|
33bcce593a | ||
|
|
3cd346c7de | ||
|
|
cbd3c75dd2 | ||
|
|
e531592b05 | ||
|
|
9f7db595a7 | ||
|
|
4204e4b8b7 | ||
|
|
d027cb188d | ||
|
|
e61c44ef46 | ||
|
|
13c2f8d968 | ||
|
|
4e3348795c | ||
|
|
0673c1cde1 | ||
|
|
2d9666c5ef | ||
|
|
521f134638 | ||
|
|
ea93c474ea | ||
|
|
af02731002 | ||
|
|
8b170397a9 | ||
|
|
ac32826009 | ||
|
|
c4830044f7 | ||
|
|
daae0d0dca | ||
|
|
283d85c7cf | ||
|
|
8537f396b3 | ||
|
|
e35a26c916 | ||
|
|
b555f679f6 | ||
|
|
45a0535640 | ||
|
|
cb0faf690c | ||
|
|
8fcc321eb6 | ||
|
|
5450a431cf | ||
|
|
f1d4792d3e | ||
|
|
65011019b7 | ||
|
|
dfed1a4b45 | ||
|
|
9b138fd5fd | ||
|
|
903ea5ea68 | ||
|
|
7794915172 | ||
|
|
df408c1e82 | ||
|
|
fbefe47806 | ||
|
|
bd7ecb9c55 | ||
|
|
2a04ee385d | ||
|
|
3268464ada | ||
|
|
09a2c5c3b9 | ||
|
|
51a867bc20 | ||
|
|
a1bac9b6e1 | ||
|
|
268730e07b | ||
|
|
120ba0b8ca | ||
|
|
bd26972a73 | ||
|
|
7cef87e856 | ||
|
|
420f0d6634 | ||
|
|
dd98af0775 | ||
|
|
5f0011b0f6 | ||
|
|
25a39148a8 | ||
|
|
e298c3d10c | ||
|
|
afcece17dd | ||
|
|
74551f58d7 | ||
|
|
4984194c33 | ||
|
|
d6b06269a4 | ||
|
|
7eb96eb3cb | ||
|
|
bb9a5772bc | ||
|
|
e59ef24d35 | ||
|
|
8c6c10cd0f | ||
|
|
958d55a8be | ||
|
|
57766496e4 | ||
|
|
75fc6b0c8c | ||
|
|
38a1726e22 | ||
|
|
d3ba7eeb13 | ||
|
|
5ece4d2632 | ||
|
|
fc1be18cbe | ||
|
|
878f13a643 | ||
|
|
b5ab38e657 | ||
|
|
fb66e2392b | ||
|
|
7e77b94158 | ||
|
|
2f9f6d90dd | ||
|
|
c63dc3df7b | ||
|
|
9914c37683 | ||
|
|
1439bb291f | ||
|
|
0907ee90e3 | ||
|
|
7abfe56910 | ||
|
|
0cc0830421 | ||
|
|
71c76adac4 | ||
|
|
7cb830e22f | ||
|
|
c334d2d00d | ||
|
|
c11dc8e17e | ||
|
|
8a6dcf910a | ||
|
|
33bb0c6bd6 | ||
|
|
0564c0e62e | ||
|
|
b52e78d173 | ||
|
|
f05e5c2e29 | ||
|
|
879a2a9255 | ||
|
|
f391773c65 | ||
|
|
5340f417e0 | ||
|
|
d2e9e47b67 | ||
|
|
b0800060c2 | ||
|
|
15f66870d1 | ||
|
|
afd82ac34d | ||
|
|
adece1d784 | ||
|
|
e74d786a68 | ||
|
|
f190317d95 | ||
|
|
5d54006c9e | ||
|
|
2870023e9c | ||
|
|
df7a06315f | ||
|
|
12c83a13c7 | ||
|
|
aa377038a0 | ||
|
|
7038fd5712 | ||
|
|
81194f6bd6 | ||
|
|
bab95cce1b | ||
|
|
00438ec1ab | ||
|
|
87423abd7c | ||
|
|
347e7e03e1 | ||
|
|
6e08d8a497 | ||
|
|
3fdd42487a | ||
|
|
2cbb8bf3ca | ||
|
|
3996f82404 | ||
|
|
d7fd6667fd | ||
|
|
21ca30af3c | ||
|
|
1b206e8495 | ||
|
|
cc0920fc09 | ||
|
|
428ea2f34e | ||
|
|
f940f17bba | ||
|
|
91003d6597 | ||
|
|
9a4018bffe | ||
|
|
8a6415ef5f | ||
|
|
b674c187a0 | ||
|
|
665192e27e | ||
|
|
b4256a986a | ||
|
|
13b30608cb | ||
|
|
a86dd35ac3 | ||
|
|
19d0cace13 | ||
|
|
d0589e77d4 | ||
|
|
271c954f9a | ||
|
|
3f8cf1792d | ||
|
|
f6899785a9 | ||
|
|
2d11d7b29e | ||
|
|
29efc14aa7 | ||
|
|
62365880b4 | ||
|
|
aa3f1206b2 | ||
|
|
b160e5d1f8 | ||
|
|
56ad0273e4 | ||
|
|
83c29165ad | ||
|
|
39ee46caee | ||
|
|
774fea9230 | ||
|
|
1d8b0d6189 | ||
|
|
72e96c7147 | ||
|
|
1ae4f4f0fc | ||
|
|
28c387074f | ||
|
|
3993b47e06 | ||
|
|
42130e0468 | ||
|
|
685c354d0e | ||
|
|
fa9d3037ba | ||
|
|
7b87dc3ca9 | ||
|
|
0d08edbe55 | ||
|
|
cec5cb41d7 | ||
|
|
76eff6a87a | ||
|
|
fd4492f229 | ||
|
|
5daba16333 | ||
|
|
eb549d70d1 | ||
|
|
9f6c02276a | ||
|
|
ebc2d649c4 | ||
|
|
01414e43ca | ||
|
|
9aac073a49 | ||
|
|
599264e167 | ||
|
|
ed590ee557 | ||
|
|
d73f8468d8 | ||
|
|
ef8943d838 | ||
|
|
2fd649db14 | ||
|
|
11a7ac4e2b | ||
|
|
a9bf667f8e | ||
|
|
4bf7f863dc | ||
|
|
8d0ac336d2 | ||
|
|
ddaee6486d | ||
|
|
3485922366 | ||
|
|
0efe6f7a8e | ||
|
|
07a6e3094d | ||
|
|
7d9ec9509b | ||
|
|
d5d13fa831 | ||
|
|
13fb849973 | ||
|
|
b5c86e290f | ||
|
|
6b0468ebff | ||
|
|
825f6884be | ||
|
|
ee9e340de0 | ||
|
|
2cbb86cefc | ||
|
|
3923817f2b | ||
|
|
b00d8e4ad8 | ||
|
|
aa75e596c8 | ||
|
|
787daccb78 | ||
|
|
87cf61c39b | ||
|
|
853fd906cb | ||
|
|
af8d963fd2 | ||
|
|
0ed238a775 | ||
|
|
8cf0c86ebb | ||
|
|
b23fd48d49 | ||
|
|
ffe26a8841 | ||
|
|
0b6139fb42 | ||
|
|
7d7ff34d83 | ||
|
|
e079f6c830 | ||
|
|
63fdd2eba3 | ||
|
|
759113f453 | ||
|
|
7255cd29a7 | ||
|
|
13afa7fe21 | ||
|
|
00a9e36c59 | ||
|
|
6fc4303acc | ||
|
|
56222d6cfb | ||
|
|
65b7077756 | ||
|
|
03138bcde5 | ||
|
|
7e9e3155a8 | ||
|
|
2b3b47c59d | ||
|
|
8fc85bc39c | ||
|
|
92571512bf | ||
|
|
d3153b5e38 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -20,5 +20,7 @@ js/test/ export-ignore
|
||||
.travis.yml export-ignore
|
||||
composer.json export-ignore
|
||||
composer.lock export-ignore
|
||||
crowdin.yml export-ignore
|
||||
BADGES.md export-ignore
|
||||
CODE_OF_CONDUCT.md export-ignore
|
||||
Makefile export-ignore
|
||||
|
||||
52
.github/workflows/tests.yml
vendored
Normal file
52
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Tests
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Composer:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Validate composer.json and composer.lock
|
||||
run: composer validate
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-progress --no-suggest
|
||||
PHPunit:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4']
|
||||
name: PHP ${{ matrix.php-versions }} unit tests on ${{ matrix.operating-system }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: gd, sqlite3
|
||||
- name: Remove composer lock
|
||||
run: rm composer.lock
|
||||
- name: Setup PHPunit
|
||||
run: composer install -n
|
||||
- name: Run unit tests
|
||||
run: ../vendor/bin/phpunit --no-coverage
|
||||
working-directory: tst
|
||||
Mocha:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '12'
|
||||
- name: Setup Mocha
|
||||
run: npm install -g mocha
|
||||
- name: Setup Node modules
|
||||
run: npm install
|
||||
working-directory: js
|
||||
- name: Run unit tests
|
||||
run: mocha
|
||||
working-directory: js
|
||||
|
||||
@@ -17,8 +17,9 @@ disabled:
|
||||
- concat_without_spaces
|
||||
- declare_equal_normalize
|
||||
- heredoc_to_nowdoc
|
||||
- method_argument_space
|
||||
- method_argument_space_strict
|
||||
- new_with_braces
|
||||
- no_alternative_syntax
|
||||
- phpdoc_align
|
||||
- phpdoc_no_access
|
||||
- phpdoc_separation
|
||||
|
||||
37
.travis.yml
37
.travis.yml
@@ -1,37 +0,0 @@
|
||||
language: php
|
||||
sudo: false
|
||||
# only needed for PHP 5.5 support as of 2019-07
|
||||
dist: trusty
|
||||
php:
|
||||
- '5.5'
|
||||
- '5.6'
|
||||
- '7.0'
|
||||
- '7.1'
|
||||
- '7.2'
|
||||
- '7.3'
|
||||
|
||||
# as this is a php project, node.js (for JS unit testing) isn't installed
|
||||
install:
|
||||
- if [ ! -d "$HOME/.nvm" ]; then mkdir -p $HOME/.nvm && curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | NVM_METHOD=script bash; fi
|
||||
- source ~/.nvm/nvm.sh && nvm install --lts
|
||||
|
||||
before_script:
|
||||
- composer install -n
|
||||
- npm install -g mocha
|
||||
- cd js && npm install
|
||||
|
||||
script:
|
||||
- mocha
|
||||
- cd ../tst && ../vendor/bin/phpunit
|
||||
|
||||
after_script:
|
||||
- ../vendor/bin/test-reporter --coverage-report log/coverage-clover.xml
|
||||
- cd .. && vendor/bin/codacycoverage clover tst/log/coverage-clover.xml
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.composer/cache/files
|
||||
- $HOME/.composer/cache/vcs
|
||||
- $HOME/.nvm
|
||||
- $HOME/.npm
|
||||
- js/node_modules
|
||||
27
CHANGELOG.md
27
CHANGELOG.md
@@ -1,6 +1,33 @@
|
||||
# PrivateBin version history
|
||||
|
||||
* **1.4 (not yet released)**
|
||||
* ADDED: Translation for Hebrew
|
||||
* CHANGED: Upgrading libraries to: DOMpurify 2.1.1
|
||||
* **1.3.4 (2020-03-22)**
|
||||
* CHANGED: Minimum required PHP version is 5.6, due to a change in the identicon library and to use php's native hash_equals()
|
||||
* CHANGED: Upgrading libraries to: identicon 2.0.0
|
||||
* FIXED: Support custom expiration options in email function (#586)
|
||||
* FIXED: Regression with encoding of HTML entities (#588)
|
||||
* FIXED: Unable to paste password on paste with attachment (#565 & #595)
|
||||
* **1.3.3 (2020-02-16)**
|
||||
* CHANGED: Upgrading libraries to: DOMpurify 2.0.8
|
||||
* CHANGED: Several translations got updated with missing messages
|
||||
* CHANGED: Introduce HTML entity encoding on server side (#581)
|
||||
* FIXED: HTML entity double encoding issues introduced in 1.3.2 (#560)
|
||||
* **1.2.3 (2020-02-16)**
|
||||
* CHANGED: Upgrading libraries to: DOMpurify 2.0.8
|
||||
* CHANGED: Introduce HTML entity encoding on server side (#581)
|
||||
* FIXED: HTML entity double encoding issues introduced in 1.3.2 (#560)
|
||||
* **1.3.2 (2020-01-11)**
|
||||
* ADDED: Translation for Ukrainian (#533)
|
||||
* ADDED: Option to send a mail with the link, when creating a paste (#398)
|
||||
* ADDED: Add support for CONFIG_PATH environment variable (#552)
|
||||
* CHANGED: Upgrading libraries to: base-x 3.0.7, DOMpurify 2.0.7 & Showdown 1.9.1
|
||||
* FIXED: HTML injection via unescaped attachment filename (#554)
|
||||
* FIXED: Password disabling option (#527)
|
||||
* **1.2.2 (2020-01-11)**
|
||||
* CHANGED: Upgrading libraries to: bootstrap 3.4.1, DOMpurify 2.0.7, jQuery 3.4.1, kjua 0.6.0, Showdown 1.9.1 & SJCL 1.0.8
|
||||
* FIXED: HTML injection via unescaped attachment filename (#554)
|
||||
* **1.3.1 (2019-09-22)**
|
||||
* ADDED: Translation for Bulgarian (#455)
|
||||
* CHANGED: Improved mobile UI - obscured send button and hard to click shortener button (#477)
|
||||
|
||||
@@ -26,6 +26,7 @@ Sébastien Sauvage - original idea and main developer
|
||||
* thororm - Display of video, audio & PDF, drag & drop, preview of attachments
|
||||
* Harald Leithner - base58 encoding of key
|
||||
* Haocen - lots of bugfixes and UI improvements
|
||||
* Lucas Savva - configurable config file location, NixOS packaging
|
||||
|
||||
## Translations
|
||||
* Hexalyse - French
|
||||
@@ -43,4 +44,6 @@ Sébastien Sauvage - original idea and main developer
|
||||
* Michael van Schaik - Dutch
|
||||
* Péter Tabajdi - Hungarian
|
||||
* info-path - Czech
|
||||
* BigWax - Bulgarian
|
||||
* BigWax - Bulgarian
|
||||
* AndriiZ - Ukrainian
|
||||
* Yaron Shahrabani - Hebrew
|
||||
|
||||
32
INSTALL.md
32
INSTALL.md
@@ -18,7 +18,7 @@ options](#configuration) to adjust as you see fit.
|
||||
- open_basedir access to `/dev/urandom`
|
||||
- mcrypt extension
|
||||
- com_dotnet extension
|
||||
|
||||
|
||||
Mcrypt needs to be able to access `/dev/urandom`. This means if `open_basedir` is set, it must include this file.
|
||||
- GD extension
|
||||
- some disk space or (optionally) a database supported by [PDO](https://secure.php.net/manual/book.pdo.php)
|
||||
@@ -43,13 +43,34 @@ process (see also
|
||||
>
|
||||
> The full path of PrivateBin on your webserver is:
|
||||
> /home/example.com/htdocs/paste
|
||||
>
|
||||
>
|
||||
> When setting the path like this:
|
||||
> define('PATH', '../../secret/privatebin/');
|
||||
>
|
||||
> PrivateBin will look for your includes / data here:
|
||||
> /home/example.com/secret/privatebin
|
||||
|
||||
### Changing the config path only
|
||||
|
||||
In situations where you want to keep the PrivateBin static files separate from the
|
||||
rest of your data, or you want to reuse the installation files on multiple vhosts,
|
||||
you may only want to change the `conf.php`. In this instance, you can set the
|
||||
`CONFIG_PATH` environment variable to the absolute path to the `conf.php` file.
|
||||
This can be done in your web server's virtual host config, the PHP config, or in
|
||||
the index.php if you choose to customize it.
|
||||
|
||||
Note that your PHP process will need read access to the config wherever it may be.
|
||||
|
||||
> #### CONFIG_PATH example
|
||||
> Setting the value in an Apache Vhost:
|
||||
> SetEnv CONFIG_PATH /var/lib/privatebin/conf.php
|
||||
>
|
||||
> In a php-fpm pool config:
|
||||
> env[CONFIG_PATH] = /var/lib/privatebin/conf.php
|
||||
>
|
||||
> In the index.php, near the top:
|
||||
> putenv('CONFIG_PATH=/var/lib/privatebin/conf.php');
|
||||
|
||||
### Transport security
|
||||
|
||||
When setting up PrivateBin, also set up HTTPS, if you haven't already. Without HTTPS
|
||||
@@ -66,8 +87,9 @@ See [this FAQ item](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#what-are-t
|
||||
|
||||
In the file `cfg/conf.php` you can configure PrivateBin. A `cfg/conf.sample.php`
|
||||
is provided containing all options and default values. You can copy it to
|
||||
`cfg/conf.php` and adapt it as needed. The config file is divided into multiple
|
||||
sections, which are enclosed in square brackets.
|
||||
`cfg/conf.php` and adapt it as needed. Alternatively you can copy it anywhere and
|
||||
set the `CONFIG_PATH` environment variable (see above notes). The config file is
|
||||
divided into multiple sections, which are enclosed in square brackets.
|
||||
|
||||
In the `[main]` section you can enable or disable the discussion feature, set
|
||||
the limit of stored pastes and comments in bytes. The `[traffic]` section lets
|
||||
@@ -165,7 +187,7 @@ CREATE INDEX parent ON prefix_comment(pasteid);
|
||||
CREATE TABLE prefix_config (
|
||||
id CHAR(16) NOT NULL, value TEXT, PRIMARY KEY (id)
|
||||
);
|
||||
INSERT INTO prefix_config VALUES('VERSION', '1.3.1');
|
||||
INSERT INTO prefix_config VALUES('VERSION', '1.3.4');
|
||||
```
|
||||
|
||||
In **PostgreSQL**, the data, attachment, nickname and vizhash columns needs to be TEXT and not BLOB or MEDIUMBLOB.
|
||||
|
||||
53
Makefile
Normal file
53
Makefile
Normal file
@@ -0,0 +1,53 @@
|
||||
.PHONY: all coverage coverage-js coverage-php doc doc-js doc-php increment sign test test-js test-php help
|
||||
|
||||
CURRENT_VERSION = 1.3.4
|
||||
VERSION ?= 1.3.5
|
||||
VERSION_FILES = index.php cfg/ *.md css/ i18n/ img/ js/privatebin.js lib/ Makefile tpl/ tst/
|
||||
REGEX_CURRENT_VERSION := $(shell echo $(CURRENT_VERSION) | sed "s/\./\\\./g")
|
||||
REGEX_VERSION := $(shell echo $(VERSION) | sed "s/\./\\\./g")
|
||||
|
||||
all: coverage doc ## Equivalent to running `make coverage doc`.
|
||||
|
||||
coverage: coverage-js coverage-php ## Run all unit tests and generate code coverage reports.
|
||||
|
||||
coverage-js: ## Run JS unit tests and generate code coverage reports.
|
||||
cd js && nyc mocha
|
||||
|
||||
coverage-php: ## Run PHP unit tests and generate code coverage reports.
|
||||
cd tst && phpunit 2> /dev/null
|
||||
cd log/php-coverage-report && sed -i "s#$(CURDIR)##g" *.html */*.html
|
||||
|
||||
doc: doc-js doc-php ## Generate all code documentation.
|
||||
|
||||
doc-js: ## Generate JS code documentation.
|
||||
jsdoc -p -d doc/jsdoc js/privatebin.js js/legacy.js
|
||||
|
||||
doc-php: ## Generate JS code documentation.
|
||||
phpdoc --visibility public,protected,private -t doc/phpdoc -d lib/
|
||||
|
||||
increment: ## Increment and commit new version number, set target version using `make increment VERSION=1.2.3`.
|
||||
for F in `grep -l -R $(REGEX_CURRENT_VERSION) $(VERSION_FILES) | grep -v -e tst/log/ -e ":0" -e CHANGELOG.md`; \
|
||||
do \
|
||||
sed -i "s/$(REGEX_CURRENT_VERSION)/$(REGEX_VERSION)/g" $$F; \
|
||||
done
|
||||
git add $(VERSION_FILES)
|
||||
git commit -m "incrementing version"
|
||||
|
||||
sign: ## Sign a release.
|
||||
git tag $(VERSION)
|
||||
git push --tags
|
||||
signrelease.sh
|
||||
|
||||
test: test-js test-php ## Run all unit tests.
|
||||
|
||||
test-js: ## Run JS unit tests.
|
||||
cd js && mocha
|
||||
|
||||
test-php: ## Run PHP unit tests.
|
||||
cd tst && phpunit --no-coverage
|
||||
|
||||
help: ## Displays these usage instructions.
|
||||
@echo "Usage: make <target(s)>"
|
||||
@echo
|
||||
@echo "Specify one or multiple of the following targets and they will be processed in the given order:"
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "%-16s%s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
@@ -1,6 +1,6 @@
|
||||
# [](https://privatebin.info/)
|
||||
|
||||
*Current version: 1.3.1*
|
||||
*Current version: 1.3.4*
|
||||
|
||||
**PrivateBin** is a minimalist, open source online [pastebin](https://en.wikipedia.org/wiki/Pastebin)
|
||||
where the server has zero knowledge of pasted data.
|
||||
@@ -95,9 +95,9 @@ file](https://github.com/PrivateBin/PrivateBin/wiki/Configuration):
|
||||
|
||||
## Further resources
|
||||
|
||||
* [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/INSTALL.md#installation)
|
||||
* [FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)
|
||||
|
||||
* [Upgrading from ZeroBin 0.19 Alpha](https://github.com/PrivateBin/PrivateBin/wiki/Upgrading-from-ZeroBin-0.19-Alpha)
|
||||
* [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/INSTALL.md#installation)
|
||||
|
||||
* [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 1.3.1 | :heavy_check_mark: |
|
||||
| < 1.3.1 | :x: |
|
||||
| 1.3.4 | :heavy_check_mark: |
|
||||
| < 1.3.4 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
; (optional) set a project name to be displayed on the website
|
||||
; name = "PrivateBin"
|
||||
|
||||
; The full URL, with the domain name and directories that point to the PrivateBin files
|
||||
; This URL is essential to allow Opengraph images to be displayed on social networks
|
||||
; basepath = ""
|
||||
|
||||
; enable or disable the discussion feature, defaults to true
|
||||
discussion = true
|
||||
|
||||
@@ -60,8 +64,8 @@ languageselection = false
|
||||
; a different user when the same username was used in a comment. It might be
|
||||
; used to get the IP of a non anonymous comment poster if the server salt is
|
||||
; leaked and a SHA256 HMAC rainbow table is generated for all (relevant) IPs.
|
||||
; Can be set to one these values: none / vizhash / identicon (default).
|
||||
; icon = none
|
||||
; Can be set to one these values: "none" / "vizhash" / "identicon" (default).
|
||||
; icon = "none"
|
||||
|
||||
; Content Security Policy headers allow a website to restrict what sources are
|
||||
; allowed to be accessed in its context. You need to change this if you added
|
||||
@@ -79,7 +83,7 @@ languageselection = false
|
||||
; async functions and display an error if not and for Chrome to enable
|
||||
; webassembly support (used for zlib compression). You can remove it if Chrome
|
||||
; doesn't need to be supported and old browsers don't need to be warned.
|
||||
; cspheader = "default-src 'none'; manifest-src 'self'; connect-src * blob:; script-src 'self' 'unsafe-eval'; style-src 'self'; font-src 'self'; img-src 'self' data: blob:; media-src blob:; object-src blob:; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals"
|
||||
; cspheader = "default-src 'none'; manifest-src 'self'; connect-src * blob:; script-src 'self' 'unsafe-eval' resource:; style-src 'self'; font-src 'self'; img-src 'self' data: blob:; media-src blob:; object-src blob:; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads"
|
||||
|
||||
; stay compatible with PrivateBin Alpha 0.19, less secure
|
||||
; if enabled will use base64.js version 1.7 instead of 2.1.9 and sha1 instead of
|
||||
@@ -95,8 +99,8 @@ languageselection = false
|
||||
|
||||
; Pick compression algorithm or disable it. Only applies to pastes/comments
|
||||
; created after changing the setting.
|
||||
; Can be set to one these values: none / zlib (default).
|
||||
; compression = zlib
|
||||
; Can be set to one these values: "none" / "zlib" (default).
|
||||
; compression = "zlib"
|
||||
|
||||
[expire]
|
||||
; expire value that is selected per default
|
||||
|
||||
@@ -24,13 +24,11 @@
|
||||
"docs" : "https://privatebin.info/codedoc/"
|
||||
},
|
||||
"require" : {
|
||||
"php" : "^5.5.0 || ^7.0",
|
||||
"php" : "^5.6.0 || ^7.0",
|
||||
"paragonie/random_compat" : "2.0.18",
|
||||
"yzalis/identicon" : "1.2.0"
|
||||
"yzalis/identicon" : "2.0.0"
|
||||
},
|
||||
"require-dev" : {
|
||||
"codacy/coverage" : "dev-master",
|
||||
"codeclimate/php-test-reporter" : "dev-master",
|
||||
"phpunit/phpunit" : "^4.6 || ^5.0"
|
||||
},
|
||||
"autoload" : {
|
||||
@@ -41,4 +39,4 @@
|
||||
"config" : {
|
||||
"autoloader-suffix" : "DontChange"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1295
composer.lock
generated
1295
composer.lock
generated
File diff suppressed because it is too large
Load Diff
3
crowdin.yml
Normal file
3
crowdin.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
files:
|
||||
- source: /i18n/en.json
|
||||
translation: /i18n/%two_letters_code%.json
|
||||
@@ -6,7 +6,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
body {
|
||||
@@ -180,3 +180,68 @@ li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {
|
||||
padding-right: 4ch;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
margin: auto !important;
|
||||
}
|
||||
|
||||
/* makeup for the original margin on modal-dialog */
|
||||
@media (min-width: 768px) {
|
||||
.modal-content {
|
||||
margin: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.modal .modal-content button {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
/* sidebar */
|
||||
#menu-toggle {
|
||||
position: relative;
|
||||
bottom: -94px;
|
||||
left: -61px;
|
||||
margin-bottom: -12px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
#menu-toggle {
|
||||
position: static;
|
||||
margin-bottom: 1em;
|
||||
transform: rotate(0);
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
|
||||
main.toggled {
|
||||
padding-left: 450px;
|
||||
}
|
||||
|
||||
#sidebar-wrapper {
|
||||
position: fixed;
|
||||
width: 450px;
|
||||
height: 100%;
|
||||
left: -450px;
|
||||
padding-left: 4ch;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
|
||||
main.toggled #sidebar-wrapper {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
/* When there is no script at all other */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
/* CSS Reset from YUI 3.4.1 (build 4118) - Copyright 2011 Yahoo! Inc. All rights reserved.
|
||||
|
||||
295
i18n/bg.json
295
i18n/bg.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s е изчистен и изцяло достъпен като отворен код, онлайн \"paste\" услуга, където сървъра не знае подадената информация. Тя се шифрова/дешифрова <i>във браузъра</i> използвайки 256 битов AES алгоритъм. Повече информация може да намерите на <a href=\"https://privatebin.info/\">страницата на проекта (Английски)</a>",
|
||||
"Because ignorance is bliss":
|
||||
"Невежеството е блаженство",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s е изчистен и изцяло достъпен като отворен код, онлайн \"paste\" услуга, където сървъра не знае подадената информация. Тя се шифрова/дешифрова <i>във браузъра</i> използвайки 256 битов AES алгоритъм. Повече информация може да намерите на <a href=\"https://privatebin.info/\">страницата на проекта (Английски)</a>",
|
||||
"Because ignorance is bliss": "Невежеството е блаженство",
|
||||
"en": "bg",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Информацията не съществува, срокът и е изтекъл или е била изтрита.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s има нужда от PHP %s или по-нова, за да работи. Съжалявам.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s задължава отдела от настройките [%s] да съществува във файла със настройките.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Моля изчакайте %d секунди между всяка публикация.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Съдържанието е ограничено до %s криптирана информация.",
|
||||
"Invalid data.":
|
||||
"Невалидна информация.",
|
||||
"You are unlucky. Try again.":
|
||||
"Нямаш късмет. Пробвай отново.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Грешка в запазването на коментара. Съжалявам.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Грешка в записването на информацията. Съжалявам.",
|
||||
"Invalid paste ID.":
|
||||
"Невалиден идентификационен код.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Информацията не е от тип \"унищожаване след преглед\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Невалиден код за изтриване. Информацията Ви не беше изтрита.",
|
||||
"Paste was properly deleted.":
|
||||
"Информацията Ви е изтрита.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"Услугата %s се нуждае от JavaScript, за да работи.<br />Съжаляваме за неудобството.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s се нуждае от съвременен браузър за да работи.",
|
||||
"New":
|
||||
"Създаване",
|
||||
"Send":
|
||||
"Изпрати",
|
||||
"Clone":
|
||||
"Дублирай",
|
||||
"Raw text":
|
||||
"Чист текст",
|
||||
"Expires":
|
||||
"Изтича",
|
||||
"Burn after reading":
|
||||
"Унищожи след преглед",
|
||||
"Open discussion":
|
||||
"Отворена дискусия",
|
||||
"Password (recommended)":
|
||||
"Парола (препоръчва се)",
|
||||
"Discussion":
|
||||
"Коментари",
|
||||
"Toggle navigation":
|
||||
"Включи или Изключи навигацията",
|
||||
"%d seconds": ["%d секунди", "%d секунда"],
|
||||
"%d minutes": ["%d минути", "%d минута"],
|
||||
"%d hours": ["%d часа", "%d час"],
|
||||
"%d days": ["%d дни", "%d ден"],
|
||||
"%d weeks": ["%d седмици", "%d седмица"],
|
||||
"%d months": ["%d месеци", "%d месец"],
|
||||
"%d years": ["%d години", "%d година"],
|
||||
"Never":
|
||||
"Никога",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Забележка: Това е пробна услуга: Информацията може да бъде изтрита по всяко време. Котета ще измрат ако злоупотребиш с услугата.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Този документ изтича след една секунда.", "Този документ изтича след %d секунди."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Този документ изтича след една минута.", "Този документ изтича след %d минути."],
|
||||
"This document will expire in %d hours.":
|
||||
["Този документ изтича след един час.", "Този документ изтича след %d часа."],
|
||||
"This document will expire in %d days.":
|
||||
["Този документ изтича след един ден.", "Този документ изтича след %d дни."],
|
||||
"This document will expire in %d months.":
|
||||
["Този документ изтича след една година.", "Този документ изтича след %d години."],
|
||||
"Please enter the password for this paste:":
|
||||
"Моля въведете паролата за това съдържание:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Информацията не можеше да се дешифрова (Грешен ключ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Изтриването на информацията беше неуспешно. Тя не е от тип \"унищожаване след преглед\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"САМО ЗА ВАШИТЕ ОЧИ. Не затваряйте прозореца, понеже тази информация няма да може да бъде показана отново.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Дешифроването на коментара беше неуспешно. Грешен ключ?",
|
||||
"Reply":
|
||||
"Отговор",
|
||||
"Anonymous":
|
||||
"Безименен",
|
||||
"Avatar generated from IP address":
|
||||
"Аватар (на базата на IP адреса Ви)",
|
||||
"Add comment":
|
||||
"Добави коментар",
|
||||
"Optional nickname…":
|
||||
"Избирателен псевдоним",
|
||||
"Post comment":
|
||||
"Публикувай коментара",
|
||||
"Sending comment…":
|
||||
"Изпращане на коментара Ви…",
|
||||
"Comment posted.":
|
||||
"Коментара Ви е публикуван.",
|
||||
"Could not refresh display: %s":
|
||||
"Презареждането на екрана беше неуспешно: %s",
|
||||
"unknown status":
|
||||
"Неизвестно състояние",
|
||||
"server error or not responding":
|
||||
"Грешка в сървъра или не отговаря",
|
||||
"Could not post comment: %s":
|
||||
"Публикуването на коментара Ви беше неуспешно: %s",
|
||||
"Sending paste…":
|
||||
"Изпращане на информацията Ви…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Вашата връзка е <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Натиснете [Ctrl]+[c] за да копирате)</span>",
|
||||
"Delete data":
|
||||
"Изтриване на информацията",
|
||||
"Could not create paste: %s":
|
||||
"Създаването на връзката ви беше неуспешно: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Дешифроването на информацията беше неуспешно: Ключа за декриптиране липсва във връзката (Да не сте използвали услуга за пренасочване или скъсяване на връзката, което би изрязало части от нея?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Информацията не съществува, срокът и е изтекъл или е била изтрита.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s има нужда от PHP %s или по-нова, за да работи. Съжалявам.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s задължава отдела от настройките [%s] да съществува във файла със настройките.",
|
||||
"Please wait %d seconds between each post.": "Моля изчакайте %d секунди между всяка публикация.",
|
||||
"Paste is limited to %s of encrypted data.": "Съдържанието е ограничено до %s криптирана информация.",
|
||||
"Invalid data.": "Невалидна информация.",
|
||||
"You are unlucky. Try again.": "Нямаш късмет. Пробвай отново.",
|
||||
"Error saving comment. Sorry.": "Грешка в запазването на коментара. Съжалявам.",
|
||||
"Error saving paste. Sorry.": "Грешка в записването на информацията. Съжалявам.",
|
||||
"Invalid paste ID.": "Невалиден идентификационен код.",
|
||||
"Paste is not of burn-after-reading type.": "Информацията не е от тип \"унищожаване след преглед\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Невалиден код за изтриване. Информацията Ви не беше изтрита.",
|
||||
"Paste was properly deleted.": "Информацията Ви е изтрита.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Услугата %s се нуждае от JavaScript, за да работи. Съжаляваме за неудобството.",
|
||||
"%s requires a modern browser to work.": "%s се нуждае от съвременен браузър за да работи.",
|
||||
"New": "Създаване",
|
||||
"Send": "Изпрати",
|
||||
"Clone": "Дублирай",
|
||||
"Raw text": "Чист текст",
|
||||
"Expires": "Изтича",
|
||||
"Burn after reading": "Унищожи след преглед",
|
||||
"Open discussion": "Отворена дискусия",
|
||||
"Password (recommended)": "Парола (препоръчва се)",
|
||||
"Discussion": "Коментари",
|
||||
"Toggle navigation": "Включи или Изключи навигацията",
|
||||
"%d seconds": [
|
||||
"%d секунди",
|
||||
"%d секунда",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d минути",
|
||||
"%d минута",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d часа",
|
||||
"%d час",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d дни",
|
||||
"%d ден",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d седмици",
|
||||
"%d седмица",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d месеци",
|
||||
"%d месец",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d години",
|
||||
"%d година",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Никога",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Забележка: Това е пробна услуга: Информацията може да бъде изтрита по всяко време. Котета ще измрат ако злоупотребиш с услугата.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Този документ изтича след една секунда.",
|
||||
"Този документ изтича след %d секунди.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Този документ изтича след една минута.",
|
||||
"Този документ изтича след %d минути.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Този документ изтича след един час.",
|
||||
"Този документ изтича след %d часа.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Този документ изтича след един ден.",
|
||||
"Този документ изтича след %d дни.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Този документ изтича след една година.",
|
||||
"Този документ изтича след %d години.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Моля въведете паролата за това съдържание:",
|
||||
"Could not decrypt data (Wrong key?)": "Информацията не можеше да се дешифрова (Грешен ключ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Изтриването на информацията беше неуспешно. Тя не е от тип \"унищожаване след преглед\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "САМО ЗА ВАШИТЕ ОЧИ. Не затваряйте прозореца, понеже тази информация няма да може да бъде показана отново.",
|
||||
"Could not decrypt comment; Wrong key?": "Дешифроването на коментара беше неуспешно. Грешен ключ?",
|
||||
"Reply": "Отговор",
|
||||
"Anonymous": "Безименен",
|
||||
"Avatar generated from IP address": "Аватар (на базата на IP адреса Ви)",
|
||||
"Add comment": "Добави коментар",
|
||||
"Optional nickname…": "Избирателен псевдоним",
|
||||
"Post comment": "Публикувай коментара",
|
||||
"Sending comment…": "Изпращане на коментара Ви…",
|
||||
"Comment posted.": "Коментара Ви е публикуван.",
|
||||
"Could not refresh display: %s": "Презареждането на екрана беше неуспешно: %s",
|
||||
"unknown status": "Неизвестно състояние",
|
||||
"server error or not responding": "Грешка в сървъра или не отговаря",
|
||||
"Could not post comment: %s": "Публикуването на коментара Ви беше неуспешно: %s",
|
||||
"Sending paste…": "Изпращане на информацията Ви…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Вашата връзка е <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Натиснете [Ctrl]+[c] за да копирате)</span>",
|
||||
"Delete data": "Изтриване на информацията",
|
||||
"Could not create paste: %s": "Създаването на връзката ви беше неуспешно: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Дешифроването на информацията беше неуспешно: Ключа за декриптиране липсва във връзката (Да не сте използвали услуга за пренасочване или скъсяване на връзката, което би изрязало части от нея?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Format",
|
||||
"Plain Text": "Чист текст",
|
||||
"Source Code": "Изходен код",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "Също можеш да пуснеш файла върху този прозорец или да поставиш изображение от клипборда",
|
||||
"File too large, to display a preview. Please download the attachment.": "Файла е твърде голям, за да се представи визуализация. Моля, свалете файла.",
|
||||
"Remove attachment": "Премахнете файла",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Браузърът ви не поддържа прикачване на шифровани файлове. Моля, използвайте по-нов браузър",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Браузърът ви не поддържа прикачване на шифровани файлове. Моля, използвайте по-нов браузър",
|
||||
"Invalid attachment.": "Невалидно прикачване.",
|
||||
"Options": "Настройки",
|
||||
"Shorten URL": "Скъси връзката",
|
||||
"Editor": "Редактор",
|
||||
"Preview": "Визуализация",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"PATH трябва да е във края на \"%s\" за да може %s да работи правилно. Моля обновете PATH във вашият index.php .",
|
||||
"Decrypt":
|
||||
"Дешифровай",
|
||||
"Enter password":
|
||||
"Въведи паролата",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "PATH трябва да е във края на \"%s\" за да може %s да работи правилно. Моля обновете PATH във вашият index.php .",
|
||||
"Decrypt": "Дешифровай",
|
||||
"Enter password": "Въведи паролата",
|
||||
"Loading…": "Зареждане…",
|
||||
"Decrypting paste…": "Дешифроване на информацията…",
|
||||
"Preparing new paste…": "Приготвяне на връзката Ви…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Във случай, че това съобщение не изчезне след време, моля прегледайте <a href=\"%s\">този FAQ (Английски)</a>, за информация, която би ви помогнала.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Във случай, че това съобщение не изчезне след време, моля прегледайте <a href=\"%s\">този FAQ (Английски)</a>, за информация, която би ви помогнала.",
|
||||
"+++ no paste text +++": "+++ няма текстово съдържание +++",
|
||||
"Could not get paste data: %s":
|
||||
"Взимането на информацията беше неуспешно: %s",
|
||||
"Could not get paste data: %s": "Взимането на информацията беше неуспешно: %s",
|
||||
"QR code": "QR код",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Този сайт използва несигурна HTTP връзка. Моля използвайте само за проби.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"<a href=\"%s\">Вижте тази страница</a> за повече информация.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Браузъра ви може да се нуждае от HTTPS връзка за да използва WebCrypto API. Пробвай <a href=\"%s\">да минеш на HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Този сайт използва несигурна HTTP връзка. Моля използвайте само за проби.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "<a href=\"%s\">Вижте тази страница</a> за повече информация.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Браузъра ви може да се нуждае от HTTPS връзка за да използва WebCrypto API. Пробвай <a href=\"%s\">да минеш на HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
295
i18n/cs.json
295
i18n/cs.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována <i>v prohlížeči</i> pomocí 256 bitů AES. Více informací na <a href=\"https://privatebin.info/\">stránce projetu</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Protože nevědomost je sladká",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována <i>v prohlížeči</i> pomocí 256 bitů AES. Více informací na <a href=\"https://privatebin.info/\">stránce projetu</a>.",
|
||||
"Because ignorance is bliss": "Protože nevědomost je sladká",
|
||||
"en": "cs",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Vložený text neexistuje, expiroval nebo byl odstraněn.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s vyžaduje php %s nebo vyšší. Lituji.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s requires configuration section [%s] to be present in configuration file.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Počet sekund do dalšího příspěvku: %d.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Příspěvek je limitován na %s šífrovaných dat",
|
||||
"Invalid data.":
|
||||
"Chybná data.",
|
||||
"You are unlucky. Try again.":
|
||||
"Lituji, zkuste to znovu.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Chyba při ukládání komentáře.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Chyba při ukládání příspěvku.",
|
||||
"Invalid paste ID.":
|
||||
"Chybně vložené ID.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Paste is not of burn-after-reading type.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Wrong deletion token. Paste was not deleted.",
|
||||
"Paste was properly deleted.":
|
||||
"Paste was properly deleted.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%%s requires a modern browser to work.",
|
||||
"New":
|
||||
"Nový",
|
||||
"Send":
|
||||
"Odeslat",
|
||||
"Clone":
|
||||
"Klonovat",
|
||||
"Raw text":
|
||||
"Pouze Text",
|
||||
"Expires":
|
||||
"Expirace",
|
||||
"Burn after reading":
|
||||
"Po přečtení smazat",
|
||||
"Open discussion":
|
||||
"Povolit komentáře",
|
||||
"Password (recommended)":
|
||||
"Heslo (doporučeno)",
|
||||
"Discussion":
|
||||
"Komentáře",
|
||||
"Toggle navigation":
|
||||
"Toggle navigation",
|
||||
"%d seconds": ["%d sekuda", "%d sekundy", "%d sekund"],
|
||||
"%d minutes": ["%d minuta", "%d minuty", "%d minut"],
|
||||
"%d hours": ["%d hodin", "%d hodiny", "%d hodin"],
|
||||
"%d days": ["%d den", "%d dny", "%d dní"],
|
||||
"%d weeks": ["%d týden", "%d týdeny", "%d týdnů"],
|
||||
"%d months": ["%d měsíc", "%d měsíce", "%d měsíců"],
|
||||
"%d years": ["%d rok", "%d roky", "%d roků"],
|
||||
"Never":
|
||||
"Nikdy",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Tento dokument expiruje za %d sekundu.", "Tento dokument expiruje za %d sekundy.", "Tento dokument expiruje za %d sekund."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Tento dokument expiruje za %d minutu.", "Tento dokument expiruje za %d minuty.", "Tento dokument expiruje za %d minut."],
|
||||
"This document will expire in %d hours.":
|
||||
["Tento dokument expiruje za %d hodinu.", "Tento dokument expiruje za %d hodiny.", "Tento dokument expiruje za %d hodin."],
|
||||
"This document will expire in %d days.":
|
||||
["Tento dokument expiruje za %d den.", "Tento dokument expiruje za %d dny.", "Tento dokument expiruje za %d dny."],
|
||||
"This document will expire in %d months.":
|
||||
["Tento dokument expiruje za %d měsíc.", "Tento dokument expiruje za %d měsíce.", "Tento dokument expiruje za %d měsíců."],
|
||||
"Please enter the password for this paste:":
|
||||
"Zadejte prosím heslo:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Could not decrypt data (Wrong key?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Could not decrypt comment; Wrong key?",
|
||||
"Reply":
|
||||
"Reply",
|
||||
"Anonymous":
|
||||
"Anonym",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar generated from IP address",
|
||||
"Add comment":
|
||||
"Přidat komentář",
|
||||
"Optional nickname…":
|
||||
"Volitelný nickname…",
|
||||
"Post comment":
|
||||
"Odeslat komentář",
|
||||
"Sending comment…":
|
||||
"Odesílání komentáře…",
|
||||
"Comment posted.":
|
||||
"Komentář odeslán.",
|
||||
"Could not refresh display: %s":
|
||||
"Could not refresh display: %s",
|
||||
"unknown status":
|
||||
"neznámý stav",
|
||||
"server error or not responding":
|
||||
"Chyba na serveru nebo server neodpovídá",
|
||||
"Could not post comment: %s":
|
||||
"Nelze odeslat komentář: %s",
|
||||
"Sending paste…":
|
||||
"Odesílání příspěvku…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Váš link je <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Stiskněte [Ctrl]+[c] pro zkopírování)</span>",
|
||||
"Delete data":
|
||||
"Odstranit data",
|
||||
"Could not create paste: %s":
|
||||
"Nelze vytvořit příspěvek: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Možnou příčinou může být URL shortener?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, expiroval nebo byl odstraněn.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s nebo vyšší. Lituji.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s requires configuration section [%s] to be present in configuration file.",
|
||||
"Please wait %d seconds between each post.": "Počet sekund do dalšího příspěvku: %d.",
|
||||
"Paste is limited to %s of encrypted data.": "Příspěvek je limitován na %s šífrovaných dat",
|
||||
"Invalid data.": "Chybná data.",
|
||||
"You are unlucky. Try again.": "Lituji, zkuste to znovu.",
|
||||
"Error saving comment. Sorry.": "Chyba při ukládání komentáře.",
|
||||
"Error saving paste. Sorry.": "Chyba při ukládání příspěvku.",
|
||||
"Invalid paste ID.": "Chybně vložené ID.",
|
||||
"Paste is not of burn-after-reading type.": "Paste is not of burn-after-reading type.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Wrong deletion token. Paste was not deleted.",
|
||||
"Paste was properly deleted.": "Paste was properly deleted.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript is required for %s to work. Sorry for the inconvenience.",
|
||||
"%s requires a modern browser to work.": "%%s requires a modern browser to work.",
|
||||
"New": "Nový",
|
||||
"Send": "Odeslat",
|
||||
"Clone": "Klonovat",
|
||||
"Raw text": "Pouze Text",
|
||||
"Expires": "Expirace",
|
||||
"Burn after reading": "Po přečtení smazat",
|
||||
"Open discussion": "Povolit komentáře",
|
||||
"Password (recommended)": "Heslo (doporučeno)",
|
||||
"Discussion": "Komentáře",
|
||||
"Toggle navigation": "Toggle navigation",
|
||||
"%d seconds": [
|
||||
"%d sekuda",
|
||||
"%d sekundy",
|
||||
"%d sekund",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuta",
|
||||
"%d minuty",
|
||||
"%d minut",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d hodin",
|
||||
"%d hodiny",
|
||||
"%d hodin",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d den",
|
||||
"%d dny",
|
||||
"%d dní",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d týden",
|
||||
"%d týdeny",
|
||||
"%d týdnů",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d měsíc",
|
||||
"%d měsíce",
|
||||
"%d měsíců",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d rok",
|
||||
"%d roky",
|
||||
"%d roků",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Nikdy",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Tento dokument expiruje za %d sekundu.",
|
||||
"Tento dokument expiruje za %d sekundy.",
|
||||
"Tento dokument expiruje za %d sekund.",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Tento dokument expiruje za %d minutu.",
|
||||
"Tento dokument expiruje za %d minuty.",
|
||||
"Tento dokument expiruje za %d minut.",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Tento dokument expiruje za %d hodinu.",
|
||||
"Tento dokument expiruje za %d hodiny.",
|
||||
"Tento dokument expiruje za %d hodin.",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Tento dokument expiruje za %d den.",
|
||||
"Tento dokument expiruje za %d dny.",
|
||||
"Tento dokument expiruje za %d dny.",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Tento dokument expiruje za %d měsíc.",
|
||||
"Tento dokument expiruje za %d měsíce.",
|
||||
"Tento dokument expiruje za %d měsíců.",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Zadejte prosím heslo:",
|
||||
"Could not decrypt data (Wrong key?)": "Could not decrypt data (Wrong key?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Could not delete the paste, it was not stored in burn after reading mode.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.",
|
||||
"Could not decrypt comment; Wrong key?": "Could not decrypt comment; Wrong key?",
|
||||
"Reply": "Reply",
|
||||
"Anonymous": "Anonym",
|
||||
"Avatar generated from IP address": "Avatar generated from IP address",
|
||||
"Add comment": "Přidat komentář",
|
||||
"Optional nickname…": "Volitelný nickname…",
|
||||
"Post comment": "Odeslat komentář",
|
||||
"Sending comment…": "Odesílání komentáře…",
|
||||
"Comment posted.": "Komentář odeslán.",
|
||||
"Could not refresh display: %s": "Could not refresh display: %s",
|
||||
"unknown status": "neznámý stav",
|
||||
"server error or not responding": "Chyba na serveru nebo server neodpovídá",
|
||||
"Could not post comment: %s": "Nelze odeslat komentář: %s",
|
||||
"Sending paste…": "Odesílání příspěvku…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Váš link je <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Stiskněte [Ctrl]+[c] pro zkopírování)</span>",
|
||||
"Delete data": "Odstranit data",
|
||||
"Could not create paste: %s": "Nelze vytvořit příspěvek: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepodařilo se dešifrovat příspěvek: V adrese chybí dešifrovací klíč (Možnou příčinou může být URL shortener?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formát",
|
||||
"Plain Text": "Prostý Text",
|
||||
"Source Code": "Zdrojový kód",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "Soubor je příliš velký pro zobrazení náhledu. Stáhněte si přílohu.",
|
||||
"Remove attachment": "Odstranit přílohu",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prohlížeč nepodporuje nahrávání šifrovaných souborů. Použijte modernější verzi prohlížeče.",
|
||||
"Invalid attachment.": "Chybná příloha.",
|
||||
"Options": "Volby",
|
||||
"Shorten URL": "Shorten URL",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Náhled",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt":
|
||||
"Decrypt",
|
||||
"Enter password":
|
||||
"Zadejte heslo",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt": "Decrypt",
|
||||
"Enter password": "Zadejte heslo",
|
||||
"Loading…": "Loading…",
|
||||
"Decrypting paste…": "Decrypting paste…",
|
||||
"Preparing new paste…": "Preparing new paste…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.",
|
||||
"+++ no paste text +++": "+++ žádný vložený text +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
295
i18n/de.json
295
i18n/de.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s ist ein minimalistischer, quelloffener \"Pastebin\"-artiger Dienst, bei dem der Server keinerlei Kenntnis der Inhalte hat. Die Daten werden <i>im Browser</i> mit 256 Bit AES ver- und entschlüsselt. Weitere Informationen sind auf der <a href=\"https://privatebin.info/\">Projektseite</a> zu finden.",
|
||||
"Because ignorance is bliss":
|
||||
"Unwissenheit ist ein Segen",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s ist ein minimalistischer, quelloffener \"Pastebin\"-artiger Dienst, bei dem der Server keinerlei Kenntnis der Inhalte hat. Die Daten werden <i>im Browser</i> mit 256 Bit AES ver- und entschlüsselt. Weitere Informationen sind auf der <a href=\"https://privatebin.info/\">Projektseite</a> zu finden.",
|
||||
"Because ignorance is bliss": "Unwissenheit ist ein Segen",
|
||||
"en": "de",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Diesen Text gibt es nicht, er ist abgelaufen oder wurde gelöscht.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s benötigt PHP %s oder höher, um zu funktionieren. Sorry.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s benötigt den Konfigurationsabschnitt [%s] in der Konfigurationsdatei um zu funktionieren.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Bitte warte %d Sekunden zwischen dem Absenden.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Texte sind auf %s verschlüsselte Datenmenge beschränkt.",
|
||||
"Invalid data.":
|
||||
"Ungültige Daten.",
|
||||
"You are unlucky. Try again.":
|
||||
"Du hast Pech. Versuchs nochmal.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Fehler beim Speichern des Kommentars. Sorry.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Fehler beim Speichern des Textes. Sorry.",
|
||||
"Invalid paste ID.":
|
||||
"Ungültige Text-ID.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Text ist kein \"Einmal\"-Typ.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Falscher Lösch-Code. Text wurde nicht gelöscht.",
|
||||
"Paste was properly deleted.":
|
||||
"Text wurde erfolgreich gelöscht.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript ist eine Voraussetzung, um %s zu nutzen.<br />Bitte entschuldige die Unannehmlichkeiten.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s setzt einen modernen Browser voraus, um funktionieren zu können.",
|
||||
"New":
|
||||
"Neu",
|
||||
"Send":
|
||||
"Senden",
|
||||
"Clone":
|
||||
"Klonen",
|
||||
"Raw text":
|
||||
"Reiner Text",
|
||||
"Expires":
|
||||
"Ablaufzeit",
|
||||
"Burn after reading":
|
||||
"Nach dem Lesen löschen",
|
||||
"Open discussion":
|
||||
"Kommentare aktivieren",
|
||||
"Password (recommended)":
|
||||
"Passwort (empfohlen)",
|
||||
"Discussion":
|
||||
"Kommentare",
|
||||
"Toggle navigation":
|
||||
"Navigation umschalten",
|
||||
"%d seconds": ["%d Sekunde", "%d Sekunden"],
|
||||
"%d minutes": ["%d Minute", "%d Minuten"],
|
||||
"%d hours": ["%d Stunde", "%d Stunden"],
|
||||
"%d days": ["%d Tag", "%d Tage"],
|
||||
"%d weeks": ["%d Woche", "%d Wochen"],
|
||||
"%d months": ["%d Monat", "%d Monate"],
|
||||
"%d years": ["%d Jahr", "%d Jahre"],
|
||||
"Never":
|
||||
"Nie",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Hinweis: Dies ist ein Versuchsdienst. Daten können jederzeit gelöscht werden. Kätzchen werden sterben wenn du diesen Dienst missbrauchst.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Dieses Dokument läuft in einer Sekunde ab.", "Dieses Dokument läuft in %d Sekunden ab."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Dieses Dokument läuft in einer Minute ab.", "Dieses Dokument läuft in %d Minuten ab."],
|
||||
"This document will expire in %d hours.":
|
||||
["Dieses Dokument läuft in einer Stunde ab.", "Dieses Dokument läuft in %d Stunden ab."],
|
||||
"This document will expire in %d days.":
|
||||
["Dieses Dokument läuft in einem Tag ab.", "Dieses Dokument läuft in %d Tagen ab."],
|
||||
"This document will expire in %d months.":
|
||||
["Dieses Dokument läuft in einem Monat ab.", "Dieses Dokument läuft in %d Monaten ab."],
|
||||
"Please enter the password for this paste:":
|
||||
"Bitte gib das Passwort für diesen Text ein:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Konnte Daten nicht entschlüsseln (Falscher Schlüssel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Konnte das Paste nicht löschen, es wurde nicht im Einmal-Modus gespeichert.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"DIESER TEXT IST NUR FÜR DICH GEDACHT. Schließe das Fenster nicht, diese Nachricht kann nur einmal geöffnet werden.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Konnte Kommentar nicht entschlüsseln; Falscher Schlüssel?",
|
||||
"Reply":
|
||||
"Antworten",
|
||||
"Anonymous":
|
||||
"Anonym",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar (generiert aus der IP-Adresse)",
|
||||
"Add comment":
|
||||
"Kommentar hinzufügen",
|
||||
"Optional nickname…":
|
||||
"Optionales Pseudonym…",
|
||||
"Post comment":
|
||||
"Kommentar absenden",
|
||||
"Sending comment…":
|
||||
"Sende Kommentar…",
|
||||
"Comment posted.":
|
||||
"Kommentar gesendet.",
|
||||
"Could not refresh display: %s":
|
||||
"Ansicht konnte nicht aktualisiert werden: %s",
|
||||
"unknown status":
|
||||
"Unbekannter Grund",
|
||||
"server error or not responding":
|
||||
"Fehler auf dem Server oder keine Antwort vom Server",
|
||||
"Could not post comment: %s":
|
||||
"Konnte Kommentar nicht senden: %s",
|
||||
"Sending paste…":
|
||||
"Sende Paste…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Dein Text ist unter <a id=\"pasteurl\" href=\"%s\">%s</a> zu finden <span id=\"copyhint\">(Drücke [Strg]+[c] um den Link zu kopieren)</span>",
|
||||
"Delete data":
|
||||
"Lösche Daten",
|
||||
"Could not create paste: %s":
|
||||
"Text konnte nicht erstellt werden: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Konnte Paste nicht entschlüsseln: Der Schlüssel fehlt in der Adresse (Hast du eine Umleitung oder einen URL-Verkürzer benutzt, der Teile der Adresse entfernt?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Diesen Text gibt es nicht, er ist abgelaufen oder wurde gelöscht.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s benötigt PHP %s oder höher, um zu funktionieren. Sorry.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s benötigt den Konfigurationsabschnitt [%s] in der Konfigurationsdatei um zu funktionieren.",
|
||||
"Please wait %d seconds between each post.": "Bitte warte %d Sekunden zwischen dem Absenden.",
|
||||
"Paste is limited to %s of encrypted data.": "Texte sind auf %s verschlüsselte Datenmenge beschränkt.",
|
||||
"Invalid data.": "Ungültige Daten.",
|
||||
"You are unlucky. Try again.": "Du hast Pech. Versuchs nochmal.",
|
||||
"Error saving comment. Sorry.": "Fehler beim Speichern des Kommentars. Sorry.",
|
||||
"Error saving paste. Sorry.": "Fehler beim Speichern des Textes. Sorry.",
|
||||
"Invalid paste ID.": "Ungültige Text-ID.",
|
||||
"Paste is not of burn-after-reading type.": "Text ist kein \"Einmal\"-Typ.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Falscher Lösch-Code. Text wurde nicht gelöscht.",
|
||||
"Paste was properly deleted.": "Text wurde erfolgreich gelöscht.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript ist eine Voraussetzung, um %s zu nutzen. Bitte entschuldige die Unannehmlichkeiten.",
|
||||
"%s requires a modern browser to work.": "%s setzt einen modernen Browser voraus, um funktionieren zu können.",
|
||||
"New": "Neu",
|
||||
"Send": "Senden",
|
||||
"Clone": "Klonen",
|
||||
"Raw text": "Reiner Text",
|
||||
"Expires": "Ablaufzeit",
|
||||
"Burn after reading": "Nach dem Lesen löschen",
|
||||
"Open discussion": "Kommentare aktivieren",
|
||||
"Password (recommended)": "Passwort (empfohlen)",
|
||||
"Discussion": "Kommentare",
|
||||
"Toggle navigation": "Navigation umschalten",
|
||||
"%d seconds": [
|
||||
"%d Sekunde",
|
||||
"%d Sekunden",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d Minute",
|
||||
"%d Minuten",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d Stunde",
|
||||
"%d Stunden",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d Tag",
|
||||
"%d Tage",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d Woche",
|
||||
"%d Wochen",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d Monat",
|
||||
"%d Monate",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d Jahr",
|
||||
"%d Jahre",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Nie",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Hinweis: Dies ist ein Versuchsdienst. Daten können jederzeit gelöscht werden. Kätzchen werden sterben, wenn du diesen Dienst missbrauchst.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Dieses Dokument läuft in einer Sekunde ab.",
|
||||
"Dieses Dokument läuft in %d Sekunden ab.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Dieses Dokument läuft in einer Minute ab.",
|
||||
"Dieses Dokument läuft in %d Minuten ab.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Dieses Dokument läuft in einer Stunde ab.",
|
||||
"Dieses Dokument läuft in %d Stunden ab.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Dieses Dokument läuft in einem Tag ab.",
|
||||
"Dieses Dokument läuft in %d Tagen ab.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Dieses Dokument läuft in einem Monat ab.",
|
||||
"Dieses Dokument läuft in %d Monaten ab.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Bitte gib das Passwort für diesen Text ein:",
|
||||
"Could not decrypt data (Wrong key?)": "Konnte Daten nicht entschlüsseln (Falscher Schlüssel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Konnte das Paste nicht löschen, es wurde nicht im Einmal-Modus gespeichert.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "DIESER TEXT IST NUR FÜR DICH GEDACHT. Schließe das Fenster nicht, diese Nachricht kann nur einmal geöffnet werden.",
|
||||
"Could not decrypt comment; Wrong key?": "Konnte Kommentar nicht entschlüsseln; Falscher Schlüssel?",
|
||||
"Reply": "Antworten",
|
||||
"Anonymous": "Anonym",
|
||||
"Avatar generated from IP address": "Avatar (generiert aus der IP-Adresse)",
|
||||
"Add comment": "Kommentar hinzufügen",
|
||||
"Optional nickname…": "Optionales Pseudonym…",
|
||||
"Post comment": "Kommentar absenden",
|
||||
"Sending comment…": "Sende Kommentar…",
|
||||
"Comment posted.": "Kommentar gesendet.",
|
||||
"Could not refresh display: %s": "Ansicht konnte nicht aktualisiert werden: %s",
|
||||
"unknown status": "Unbekannter Grund",
|
||||
"server error or not responding": "Fehler auf dem Server oder keine Antwort vom Server",
|
||||
"Could not post comment: %s": "Konnte Kommentar nicht senden: %s",
|
||||
"Sending paste…": "Sende Paste…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Dein Text ist unter <a id=\"pasteurl\" href=\"%s\">%s</a> zu finden <span id=\"copyhint\">(Drücke [Strg]+[c] um den Link zu kopieren)</span>",
|
||||
"Delete data": "Lösche Daten",
|
||||
"Could not create paste: %s": "Text konnte nicht erstellt werden: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Konnte Paste nicht entschlüsseln: Der Schlüssel fehlt in der Adresse (Hast du eine Umleitung oder einen URL-Verkürzer benutzt, der Teile der Adresse entfernt?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Format",
|
||||
"Plain Text": "Nur Text",
|
||||
"Source Code": "Quellcode",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "Alternativ Drag & Drop einer Datei oder einfügen eines Bildes aus der Zwischenablage",
|
||||
"File too large, to display a preview. Please download the attachment.": "Datei zu groß, um als Vorschau angezeigt zu werden. Bitte Anhang herunterladen.",
|
||||
"Remove attachment": "Anhang entfernen",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Dein Browser unterstützt das hochladen von verschlüsselten Dateien nicht. Bitte verwende einen neueren Browser.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Dein Browser unterstützt das hochladen von verschlüsselten Dateien nicht. Bitte verwende einen neueren Browser.",
|
||||
"Invalid attachment.": "Ungültiger Datei-Anhang.",
|
||||
"Options": "Optionen",
|
||||
"Shorten URL": "URL verkürzen",
|
||||
"Editor": "Bearbeiten",
|
||||
"Preview": "Vorschau",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"Der PATH muss bei %s mit einem \"%s\" enden. Bitte passe Deinen PATH in Deiner index.php an.",
|
||||
"Decrypt":
|
||||
"Entschlüsseln",
|
||||
"Enter password":
|
||||
"Passwort eingeben",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "Der PATH muss bei %s mit einem \"%s\" enden. Bitte passe Deinen PATH in Deiner index.php an.",
|
||||
"Decrypt": "Entschlüsseln",
|
||||
"Enter password": "Passwort eingeben",
|
||||
"Loading…": "Lädt…",
|
||||
"Decrypting paste…": "Entschlüssle Text…",
|
||||
"Preparing new paste…": "Bereite neuen Text vor…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Wenn diese Nachricht nicht mehr verschwindet, schau bitte in <a href=\"%s\">die FAQ</a> (englisch), um zu sehen, wie der Fehler behoben werden kann.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Wenn diese Nachricht nicht mehr verschwindet, schau bitte in <a href=\"%s\">die FAQ</a> (englisch), um zu sehen, wie der Fehler behoben werden kann.",
|
||||
"+++ no paste text +++": "+++ kein Paste-Text +++",
|
||||
"Could not get paste data: %s":
|
||||
"Text konnte nicht geladen werden: %s",
|
||||
"Could not get paste data: %s": "Text konnte nicht geladen werden: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Diese Webseite verwendet eine unsichere HTTP Verbindung! Bitte benutze sie nur zum Testen.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"<a href=\"%s\">Besuche diesen FAQ Eintrag</a> für weitere Informationen dazu.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Dein Browser benötigt möglicherweise eine HTTPS Verbindung um das WebCrypto API nutzen zu können. Versuche <a href=\"%s\">auf HTTPS zu wechseln</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Dein Browser unterstützt WebAssembly nicht, welches für zlib Komprimierung benötigt wird. Du kannst unkomprimierte Dokumente erzeugen, aber keine komprimierten lesen."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Diese Webseite verwendet eine unsichere HTTP Verbindung! Bitte benutze sie nur zum Testen.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "<a href=\"%s\">Besuche diesen FAQ Eintrag</a> für weitere Informationen dazu.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Dein Browser benötigt möglicherweise eine HTTPS Verbindung um das WebCrypto API nutzen zu können. Versuche <a href=\"%s\">auf HTTPS zu wechseln</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Dein Browser unterstützt WebAssembly nicht, welches für zlib Komprimierung benötigt wird. Du kannst unkomprimierte Dokumente erzeugen, aber keine komprimierten lesen.",
|
||||
"waiting on user to provide a password": "warte auf Passworteingabe durch Benutzer",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Konnte Daten nicht entschlüsseln. Hast Du das falsche Passwort eingegeben? Wiederhole den Vorgang mit dem oben stehenden Knopf.",
|
||||
"Retry": "Wiederholen",
|
||||
"Showing raw text…": "Zeige reinen Text an…",
|
||||
"Notice:": "Hinweis:",
|
||||
"This link will expire after %s.": "Dieser Link wird um %s ablaufen.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Dieser Link kann nur einmal geöffnet werden, verwende nicht den Zurück- oder Neu-laden-Knopf Deines Browsers.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Der Empfänger könnte Deine Zeitzone erfahren, möchtest Du die Zeit in UTC umwandeln?",
|
||||
"Use Current Timezone": "Aktuelle Zeitzone verwenden",
|
||||
"Convert To UTC": "In UTC Umwandeln",
|
||||
"Close": "Schliessen",
|
||||
"Encrypted note on PrivateBin": "Verschlüsselte Notiz auf PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Besuche diesen Link um das Dokument zu sehen. Wird die URL an eine andere Person gegeben, so kann diese Person ebenfalls auf diese Notiz zugreifen."
|
||||
}
|
||||
|
||||
181
i18n/en.json
Normal file
181
i18n/en.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.",
|
||||
"Because ignorance is bliss": "Because ignorance is bliss",
|
||||
"en": "en",
|
||||
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s requires php %s or above to work. Sorry.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s requires configuration section [%s] to be present in configuration file.",
|
||||
"Please wait %d seconds between each post.": "Please wait %d seconds between each post.",
|
||||
"Paste is limited to %s of encrypted data.": "Paste is limited to %s of encrypted data.",
|
||||
"Invalid data.": "Invalid data.",
|
||||
"You are unlucky. Try again.": "You are unlucky. Try again.",
|
||||
"Error saving comment. Sorry.": "Error saving comment. Sorry.",
|
||||
"Error saving paste. Sorry.": "Error saving paste. Sorry.",
|
||||
"Invalid paste ID.": "Invalid paste ID.",
|
||||
"Paste is not of burn-after-reading type.": "Paste is not of burn-after-reading type.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Wrong deletion token. Paste was not deleted.",
|
||||
"Paste was properly deleted.": "Paste was properly deleted.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript is required for %s to work. Sorry for the inconvenience.",
|
||||
"%s requires a modern browser to work.": "%s requires a modern browser to work.",
|
||||
"New": "New",
|
||||
"Send": "Send",
|
||||
"Clone": "Clone",
|
||||
"Raw text": "Raw text",
|
||||
"Expires": "Expires",
|
||||
"Burn after reading": "Burn after reading",
|
||||
"Open discussion": "Open discussion",
|
||||
"Password (recommended)": "Password (recommended)",
|
||||
"Discussion": "Discussion",
|
||||
"Toggle navigation": "Toggle navigation",
|
||||
"%d seconds": [
|
||||
"%d second (singular)",
|
||||
"%d seconds (1st plural)",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minute (singular)",
|
||||
"%d minutes (1st plural)",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d hour (singular)",
|
||||
"%d hours (1st plural)",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d day (singular)",
|
||||
"%d days (1st plural)",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d week (singular)",
|
||||
"%d weeks (1st plural)",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d month (singular)",
|
||||
"%d months (1st plural)",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d year (singular)",
|
||||
"%d years (1st plural)",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Never",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"This document will expire in %d second. (singular)",
|
||||
"This document will expire in %d seconds (1st plural)",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"This document will expire in %d minute. (singular)",
|
||||
"This document will expire in %d minutes (1st plural)",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"This document will expire in %d hour. (singular)",
|
||||
"This document will expire in %d hours (1st plural)",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"This document will expire in %d day. (singular)",
|
||||
"This document will expire in %d days (1st plural)",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"This document will expire in %d month. (singular)",
|
||||
"This document will expire in %d months (1st plural)",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Please enter the password for this paste:",
|
||||
"Could not decrypt data (Wrong key?)": "Could not decrypt data (Wrong key?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Could not delete the paste, it was not stored in burn after reading mode.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.",
|
||||
"Could not decrypt comment; Wrong key?": "Could not decrypt comment; Wrong key?",
|
||||
"Reply": "Reply",
|
||||
"Anonymous": "Anonymous",
|
||||
"Avatar generated from IP address": "Avatar generated from IP address",
|
||||
"Add comment": "Add comment",
|
||||
"Optional nickname…": "Optional nickname…",
|
||||
"Post comment": "Post comment",
|
||||
"Sending comment…": "Sending comment…",
|
||||
"Comment posted.": "Comment posted.",
|
||||
"Could not refresh display: %s": "Could not refresh display: %s",
|
||||
"unknown status": "unknown status",
|
||||
"server error or not responding": "server error or not responding",
|
||||
"Could not post comment: %s": "Could not post comment: %s",
|
||||
"Sending paste…": "Sending paste…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>",
|
||||
"Delete data": "Delete data",
|
||||
"Could not create paste: %s": "Could not create paste: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Format",
|
||||
"Plain Text": "Plain Text",
|
||||
"Source Code": "Source Code",
|
||||
"Markdown": "Markdown",
|
||||
"Download attachment": "Download attachment",
|
||||
"Cloned: '%s'": "Cloned: '%s'",
|
||||
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.",
|
||||
"Attach a file": "Attach a file",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Remove attachment",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Your browser does not support uploading encrypted files. Please use a newer browser.",
|
||||
"Invalid attachment.": "Invalid attachment.",
|
||||
"Options": "Options",
|
||||
"Shorten URL": "Shorten URL",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Preview",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt": "Decrypt",
|
||||
"Enter password": "Enter password",
|
||||
"Loading…": "Loading…",
|
||||
"Decrypting paste…": "Decrypting paste…",
|
||||
"Preparing new paste…": "Preparing new paste…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.",
|
||||
"+++ no paste text +++": "+++ no paste text +++",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
295
i18n/es.json
295
i18n/es.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s es un \"pastebin\" en línea minimalista de código abierto, donde el servidor no tiene ningún conocimiento de los datos guardados. Los datos son cifrados/descifrados <i>en el navegador</i> usando 256 bits AES. Más información en la <a href=\"https://privatebin.info/\">página del proyecto</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Porque la ignorancia es dicha",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s es un \"pastebin\" en línea minimalista de código abierto, donde el servidor no tiene ningún conocimiento de los datos guardados. Los datos son cifrados/descifrados <i>en el navegador</i> usando 256 bits AES. Más información en la <a href=\"https://privatebin.info/\">página del proyecto</a>.",
|
||||
"Because ignorance is bliss": "Porque la ignorancia es dicha",
|
||||
"en": "es",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"El \"paste\" no existe, ha caducado o ha sido eliminado.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s requiere php %s o superior para funcionar. Lo siento.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s requiere que la sección de configuración [%s] esté presente en el archivo de configuración.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Por favor espere %d segundos entre cada publicación.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"El \"paste\" está limitado a %s de datos cifrados.",
|
||||
"Invalid data.":
|
||||
"Datos inválidos.",
|
||||
"You are unlucky. Try again.":
|
||||
"Tienes mala suerte. Inténtalo de nuevo",
|
||||
"Error saving comment. Sorry.":
|
||||
"Error al guardar el comentario. Lo siento.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Error al guardar el \"paste\". Lo siento",
|
||||
"Invalid paste ID.":
|
||||
"ID del \"paste\" inválido.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"El \"paste\" no es del tipo \"destruir despues de leer\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Token de eliminación erróneo. El \"paste\" no fue eliminado.",
|
||||
"Paste was properly deleted.":
|
||||
"El \"paste\" se ha eliminado correctamente.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript es necesario para que %s funcione.<br />Sentimos los inconvenientes ocasionados.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s requiere un navegador moderno para funcionar.",
|
||||
"New":
|
||||
"Nuevo",
|
||||
"Send":
|
||||
"Enviar",
|
||||
"Clone":
|
||||
"Clonar",
|
||||
"Raw text":
|
||||
"Texto sin formato",
|
||||
"Expires":
|
||||
"Caducar en",
|
||||
"Burn after reading":
|
||||
"Destruir después de leer",
|
||||
"Open discussion":
|
||||
"Discusión abierta",
|
||||
"Password (recommended)":
|
||||
"Contraseña (recomendado)",
|
||||
"Discussion":
|
||||
"Discusión",
|
||||
"Toggle navigation":
|
||||
"Cambiar navegación",
|
||||
"%d seconds": ["%d segundo", "%d segundos"],
|
||||
"%d minutes": ["%d minuto", "%d minutos"],
|
||||
"%d hours": ["%d hora", "%d horas"],
|
||||
"%d days": ["%d día", "%d días"],
|
||||
"%d weeks": ["%d semana", "%d semanas"],
|
||||
"%d months": ["%d mes", "%d meses"],
|
||||
"%d years": ["%d año", "%d años"],
|
||||
"Never":
|
||||
"Nunca",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Nota: Este es un servicio de prueba. Los datos pueden ser eliminados en cualquier momento. Morirán gatitos si abusas de este servicio.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Este documento caducará en un segundo.", "Este documento caducará en %d segundos."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Este documento caducará en un minuto.", "Este documento caducará en %d minutos."],
|
||||
"This document will expire in %d hours.":
|
||||
["Este documento caducará en una hora.", "Este documento caducará en %d horas."],
|
||||
"This document will expire in %d days.":
|
||||
["Este documento caducará en un día.", "Este documento caducará en %d días."],
|
||||
"This document will expire in %d months.":
|
||||
["Este documento caducará en un mes.", "Este documento caducará en %d meses."],
|
||||
"Please enter the password for this paste:":
|
||||
"Por favor ingrese la contraseña para este \"paste\":",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"No fue posible descifrar los datos (¿Clave errónea?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"No fue posible eliminar el documento, no fue guardado en modo \"destruir despues de leer\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"SÓLO PARA TUS OJOS. No cierres esta ventana, este mensaje no se puede volver a mostrar.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"No se pudo descifrar el comentario; ¿Llave incorrecta?",
|
||||
"Reply":
|
||||
"Responder",
|
||||
"Anonymous":
|
||||
"Anónimo",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar generado a partir de la dirección IP",
|
||||
"Add comment":
|
||||
"Añadir comentario",
|
||||
"Optional nickname…":
|
||||
"Seudónimo opcional…",
|
||||
"Post comment":
|
||||
"Publicar comentario",
|
||||
"Sending comment…":
|
||||
"Enviando comentario…",
|
||||
"Comment posted.":
|
||||
"Comentario publicado.",
|
||||
"Could not refresh display: %s":
|
||||
"No se pudo actualizar la vista: %s",
|
||||
"unknown status":
|
||||
"Estado desconocido",
|
||||
"server error or not responding":
|
||||
"Error del servidor o el servidor no responde",
|
||||
"Could not post comment: %s":
|
||||
"No fue posible publicar comentario: %s",
|
||||
"Sending paste…":
|
||||
"Enviando \"paste\"…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Su texto está en <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Presione [Ctrl]+[c] para copiar)</span>",
|
||||
"Delete data":
|
||||
"Eliminar datos",
|
||||
"Could not create paste: %s":
|
||||
"No fue posible crear el archivo: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"No es posible descifrar el documento: Falta la clave de descifrado en la URL (¿Utilizó un redirector o un acortador de URL que quite parte de la URL?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "El \"paste\" no existe, ha caducado o ha sido eliminado.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s requiere php %s o superior para funcionar. Lo siento.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s requiere que la sección de configuración [%s] esté presente en el archivo de configuración.",
|
||||
"Please wait %d seconds between each post.": "Por favor espere %d segundos entre cada publicación.",
|
||||
"Paste is limited to %s of encrypted data.": "El \"paste\" está limitado a %s de datos cifrados.",
|
||||
"Invalid data.": "Datos inválidos.",
|
||||
"You are unlucky. Try again.": "Tienes mala suerte. Inténtalo de nuevo",
|
||||
"Error saving comment. Sorry.": "Error al guardar el comentario. Lo siento.",
|
||||
"Error saving paste. Sorry.": "Error al guardar el \"paste\". Lo siento",
|
||||
"Invalid paste ID.": "ID del \"paste\" inválido.",
|
||||
"Paste is not of burn-after-reading type.": "El \"paste\" no es del tipo \"destruir despues de leer\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Token de eliminación erróneo. El \"paste\" no fue eliminado.",
|
||||
"Paste was properly deleted.": "El \"paste\" se ha eliminado correctamente.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript es necesario para que %s funcione. Sentimos los inconvenientes ocasionados.",
|
||||
"%s requires a modern browser to work.": "%s requiere un navegador moderno para funcionar.",
|
||||
"New": "Nuevo",
|
||||
"Send": "Enviar",
|
||||
"Clone": "Clonar",
|
||||
"Raw text": "Texto sin formato",
|
||||
"Expires": "Caducar en",
|
||||
"Burn after reading": "Destruir después de leer",
|
||||
"Open discussion": "Discusión abierta",
|
||||
"Password (recommended)": "Contraseña (recomendado)",
|
||||
"Discussion": "Discusión",
|
||||
"Toggle navigation": "Cambiar navegación",
|
||||
"%d seconds": [
|
||||
"%d segundo",
|
||||
"%d segundos",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuto",
|
||||
"%d minutos",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d hora",
|
||||
"%d horas",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d día",
|
||||
"%d días",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d semana",
|
||||
"%d semanas",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mes",
|
||||
"%d meses",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d año",
|
||||
"%d años",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Nunca",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota: Este es un servicio de prueba. Los datos pueden ser eliminados en cualquier momento. Morirán gatitos si abusas de este servicio.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Este documento caducará en un segundo.",
|
||||
"Este documento caducará en %d segundos.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Este documento caducará en un minuto.",
|
||||
"Este documento caducará en %d minutos.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Este documento caducará en una hora.",
|
||||
"Este documento caducará en %d horas.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Este documento caducará en un día.",
|
||||
"Este documento caducará en %d días.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Este documento caducará en un mes.",
|
||||
"Este documento caducará en %d meses.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Por favor ingrese la contraseña para este \"paste\":",
|
||||
"Could not decrypt data (Wrong key?)": "No fue posible descifrar los datos (¿Clave errónea?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "No fue posible eliminar el documento, no fue guardado en modo \"destruir despues de leer\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "SÓLO PARA TUS OJOS. No cierres esta ventana, este mensaje no se puede volver a mostrar.",
|
||||
"Could not decrypt comment; Wrong key?": "No se pudo descifrar el comentario; ¿Llave incorrecta?",
|
||||
"Reply": "Responder",
|
||||
"Anonymous": "Anónimo",
|
||||
"Avatar generated from IP address": "Avatar generado a partir de la dirección IP",
|
||||
"Add comment": "Añadir comentario",
|
||||
"Optional nickname…": "Seudónimo opcional…",
|
||||
"Post comment": "Publicar comentario",
|
||||
"Sending comment…": "Enviando comentario…",
|
||||
"Comment posted.": "Comentario publicado.",
|
||||
"Could not refresh display: %s": "No se pudo actualizar la vista: %s",
|
||||
"unknown status": "Estado desconocido",
|
||||
"server error or not responding": "Error del servidor o el servidor no responde",
|
||||
"Could not post comment: %s": "No fue posible publicar comentario: %s",
|
||||
"Sending paste…": "Enviando \"paste\"…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Su texto está en <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Presione [Ctrl]+[c] para copiar)</span>",
|
||||
"Delete data": "Eliminar datos",
|
||||
"Could not create paste: %s": "No fue posible crear el archivo: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "No es posible descifrar el documento: Falta la clave de descifrado en la URL (¿Utilizó un redirector o un acortador de URL que quite parte de la URL?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formato",
|
||||
"Plain Text": "Texto sin formato",
|
||||
"Source Code": "Código fuente",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Remover adjunto",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Tu navegador no admite la carga de archivos cifrados. Utilice un navegador más reciente.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Tu navegador no admite la carga de archivos cifrados. Utilice un navegador más reciente.",
|
||||
"Invalid attachment.": "Adjunto inválido.",
|
||||
"Options": "Opciones",
|
||||
"Shorten URL": "Acortar URL",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Previsualización",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requiere que el PATH termine en \"%s\". Por favor, actualice el PATH en su index.php.",
|
||||
"Decrypt":
|
||||
"Descifrar",
|
||||
"Enter password":
|
||||
"Ingrese contraseña",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requiere que el PATH termine en \"%s\". Por favor, actualice el PATH en su index.php.",
|
||||
"Decrypt": "Descifrar",
|
||||
"Enter password": "Ingrese contraseña",
|
||||
"Loading…": "Cargando…",
|
||||
"Decrypting paste…": "Descifrando \"paste\"…",
|
||||
"Preparing new paste…": "Preparando \"paste\" nuevo…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"En caso de que este mensaje nunca desaparezca por favor revise <a href=\"%s\">este FAQ para obtener información para solucionar problemas</a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "En caso de que este mensaje nunca desaparezca por favor revise <a href=\"%s\">este FAQ para obtener información para solucionar problemas</a>.",
|
||||
"+++ no paste text +++": "+++ \"paste\" sin texto +++",
|
||||
"Could not get paste data: %s":
|
||||
"No se pudieron obtener los datos: %s",
|
||||
"Could not get paste data: %s": "No se pudieron obtener los datos: %s",
|
||||
"QR code": "Código QR",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "¡Este sitio está usando una conexión HTTP insegura! Por favor úselo solo para pruebas.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Para más información <a href=\"%s\">consulte esta entrada de las preguntas frecuentes</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Su navegador puede requerir una conexión HTTPS para soportar la API de WebCrypto. Intente <a href=\"%s\">cambiar a HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Su navegador no es compatible con WebAssembly, que se utiliza para la compresión zlib. Puede crear documentos sin comprimir, pero no puede leer los comprimidos.",
|
||||
"waiting on user to provide a password": "esperando que el usuario proporcione una contraseña",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "No se pudieron descifrar los datos. ¿Ingresó una contraseña incorrecta? Vuelva a intentarlo con el botón de la parte superior.",
|
||||
"Retry": "Reintentar",
|
||||
"Showing raw text…": "Mostrando texto sin formato…",
|
||||
"Notice:": "Aviso:",
|
||||
"This link will expire after %s.": "Este enlace expirará después de %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Solo se puede acceder a este enlace una vez, no use el botón Atrás o Actualizar en su navegador.",
|
||||
"Link:": "Enlace:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "El destinatario puede descubrir su zona horaria, ¿convertir la hora a UTC?",
|
||||
"Use Current Timezone": "Usar Zona Horaria Actual",
|
||||
"Convert To UTC": "Convertir A UTC",
|
||||
"Close": "Cerrar",
|
||||
"Encrypted note on PrivateBin": "Nota cifrada en PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visite este enlace para ver la nota. Dar la URL a cualquier persona también les permite acceder a la nota."
|
||||
}
|
||||
|
||||
294
i18n/fr.json
294
i18n/fr.json
@@ -1,125 +1,129 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s est un 'pastebin' (ou gestionnaire d'extraits de texte et de code source) minimaliste et open source, dans lequel le serveur n'a aucune connaissance des données envoyées. Les données sont chiffrées/déchiffrées <i>dans le navigateur</i> par un chiffrement AES 256 bits. Plus d'informations sur <a href=\"https://privatebin.info/\">la page du projet</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Parce que l'ignorance c'est le bonheur",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s est un 'pastebin' (ou gestionnaire d'extraits de texte et de code source) minimaliste et open source, dans lequel le serveur n'a aucune connaissance des données envoyées. Les données sont chiffrées/déchiffrées <i>dans le navigateur</i> par un chiffrement AES 256 bits. Plus d'informations sur <a href=\"https://privatebin.info/\">la page du projet</a>.",
|
||||
"Because ignorance is bliss": "Parce que l'ignorance c'est le bonheur",
|
||||
"en": "fr",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Le paste n'existe pas, a expiré, ou a été supprimé.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"Désolé, %s nécessite php %s ou supérieur pour fonctionner.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s a besoin de la section de configuration [%s] dans le fichier de configuration pour fonctionner.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Merci d'attendre %d secondes entre chaque publication.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Le paste est limité à %s de données chiffrées.",
|
||||
"Invalid data.":
|
||||
"Données invalides.",
|
||||
"You are unlucky. Try again.":
|
||||
"Pas de chance. Essayez encore.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Erreur lors de la sauvegarde du commentaire.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Erreur lors de la sauvegarde du paste. Désolé.",
|
||||
"Invalid paste ID.":
|
||||
"ID du paste invalide.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Le paste n'est pas de type \"Effacer après lecture\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Jeton de suppression incorrect. Le paste n'a pas été supprimé.",
|
||||
"Paste was properly deleted.":
|
||||
"Le paste a été correctement supprimé.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript est requis pour faire fonctionner %s. <br />Désolé pour cet inconvénient.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s nécessite un navigateur moderne pour fonctionner.",
|
||||
"New":
|
||||
"Nouveau",
|
||||
"Send":
|
||||
"Envoyer",
|
||||
"Clone":
|
||||
"Cloner",
|
||||
"Raw text":
|
||||
"Texte brut",
|
||||
"Expires":
|
||||
"Expire",
|
||||
"Burn after reading":
|
||||
"Effacer après lecture",
|
||||
"Open discussion":
|
||||
"Autoriser la discussion",
|
||||
"Password (recommended)":
|
||||
"Mot de passe (recommandé)",
|
||||
"Discussion":
|
||||
"Discussion",
|
||||
"Toggle navigation":
|
||||
"Basculer la navigation",
|
||||
"%d seconds": ["%d seconde", "%d secondes"],
|
||||
"%d minutes": ["%d minute", "%d minutes"],
|
||||
"%d hours": ["%d heure", "%d heures"],
|
||||
"%d days": ["%d jour", "%d jours"],
|
||||
"%d weeks": ["%d semaine", "%d semaines"],
|
||||
"%d months": ["%d mois", "%d mois"],
|
||||
"%d years": ["%d an", "%d ans"],
|
||||
"Never":
|
||||
"Jamais",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Note : Ceci est un service de test : les données peuvent être supprimées à tout moment. Des chatons mourront si vous utilisez ce service de manière abusive.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Ce document expirera dans %d seconde.", "Ce document expirera dans %d secondes."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Ce document expirera dans %d minute.", "Ce document expirera dans %d minutes."],
|
||||
"This document will expire in %d hours.":
|
||||
["Ce document expirera dans %d heure.", "Ce document expirera dans %d heures."],
|
||||
"This document will expire in %d days.":
|
||||
["Ce document expirera dans %d jour.", "Ce document expirera dans %d jours."],
|
||||
"This document will expire in %d months.":
|
||||
["Ce document expirera dans %d mois.", "Ce document expirera dans %d mois."],
|
||||
"Please enter the password for this paste:":
|
||||
"Entrez le mot de passe pour ce paste:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Impossible de déchiffrer les données (mauvaise clé ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Impossible de supprimer le paste, car il n'a pas été stocké en mode \"Effacer après lecture\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"POUR VOS YEUX UNIQUEMENT. Ne fermez pas cette fenêtre, ce paste ne pourra plus être affiché.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Impossible de déchiffrer le commentaire; mauvaise clé ?",
|
||||
"Reply":
|
||||
"Répondre",
|
||||
"Anonymous":
|
||||
"Anonyme",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar généré à partir de l'adresse IP",
|
||||
"Add comment":
|
||||
"Ajouter un commentaire",
|
||||
"Optional nickname…":
|
||||
"Pseudonyme optionnel…",
|
||||
"Post comment":
|
||||
"Poster le commentaire",
|
||||
"Sending comment…":
|
||||
"Envoi du commentaire…",
|
||||
"Comment posted.":
|
||||
"Commentaire posté.",
|
||||
"Could not refresh display: %s":
|
||||
"Impossible de rafraichir l'affichage : %s",
|
||||
"unknown status":
|
||||
"Statut inconnu",
|
||||
"server error or not responding":
|
||||
"Le serveur ne répond pas ou a rencontré une erreur",
|
||||
"Could not post comment: %s":
|
||||
"Impossible de poster le commentaire : %s",
|
||||
"Sending paste…":
|
||||
"Envoi du paste…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Votre paste est disponible à l'adresse <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Appuyez sur [Ctrl]+[c] pour copier)</span>",
|
||||
"Delete data":
|
||||
"Supprimer les données du paste",
|
||||
"Could not create paste: %s":
|
||||
"Impossible de créer le paste : %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Impossible de déchiffrer le paste : Clé de déchiffrement manquante dans l'URL (Avez-vous utilisé un redirecteur ou un site de réduction d'URL qui supprime une partie de l'URL ?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Le paste n'existe pas, a expiré, ou a été supprimé.",
|
||||
"%s requires php %s or above to work. Sorry.": "Désolé, %s nécessite php %s ou supérieur pour fonctionner.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s a besoin de la section de configuration [%s] dans le fichier de configuration pour fonctionner.",
|
||||
"Please wait %d seconds between each post.": "Merci d'attendre %d secondes entre chaque publication.",
|
||||
"Paste is limited to %s of encrypted data.": "Le paste est limité à %s de données chiffrées.",
|
||||
"Invalid data.": "Données invalides.",
|
||||
"You are unlucky. Try again.": "Pas de chance. Essayez encore.",
|
||||
"Error saving comment. Sorry.": "Erreur lors de la sauvegarde du commentaire.",
|
||||
"Error saving paste. Sorry.": "Erreur lors de la sauvegarde du paste. Désolé.",
|
||||
"Invalid paste ID.": "ID du paste invalide.",
|
||||
"Paste is not of burn-after-reading type.": "Le paste n'est pas de type \"Effacer après lecture\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Jeton de suppression incorrect. Le paste n'a pas été supprimé.",
|
||||
"Paste was properly deleted.": "Le paste a été correctement supprimé.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript est requis pour faire fonctionner %s. Désolé pour cet inconvénient.",
|
||||
"%s requires a modern browser to work.": "%s nécessite un navigateur moderne pour fonctionner.",
|
||||
"New": "Nouveau",
|
||||
"Send": "Envoyer",
|
||||
"Clone": "Cloner",
|
||||
"Raw text": "Texte brut",
|
||||
"Expires": "Expire",
|
||||
"Burn after reading": "Effacer après lecture",
|
||||
"Open discussion": "Autoriser la discussion",
|
||||
"Password (recommended)": "Mot de passe (recommandé)",
|
||||
"Discussion": "Discussion",
|
||||
"Toggle navigation": "Basculer la navigation",
|
||||
"%d seconds": [
|
||||
"%d seconde",
|
||||
"%d secondes",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minute",
|
||||
"%d minutes",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d heure",
|
||||
"%d heures",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d jour",
|
||||
"%d jours",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d semaine",
|
||||
"%d semaines",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mois",
|
||||
"%d mois",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d an",
|
||||
"%d ans",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Jamais",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Note : Ceci est un service de test : les données peuvent être supprimées à tout moment. Des chatons mourront si vous utilisez ce service de manière abusive.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Ce document expirera dans %d seconde.",
|
||||
"Ce document expirera dans %d secondes.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Ce document expirera dans %d minute.",
|
||||
"Ce document expirera dans %d minutes.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Ce document expirera dans %d heure.",
|
||||
"Ce document expirera dans %d heures.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Ce document expirera dans %d jour.",
|
||||
"Ce document expirera dans %d jours.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Ce document expirera dans %d mois.",
|
||||
"Ce document expirera dans %d mois.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Entrez le mot de passe pour ce paste:",
|
||||
"Could not decrypt data (Wrong key?)": "Impossible de déchiffrer les données (mauvaise clé ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Impossible de supprimer le paste, car il n'a pas été stocké en mode \"Effacer après lecture\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUR VOS YEUX UNIQUEMENT. Ne fermez pas cette fenêtre, ce paste ne pourra plus être affiché.",
|
||||
"Could not decrypt comment; Wrong key?": "Impossible de déchiffrer le commentaire; mauvaise clé ?",
|
||||
"Reply": "Répondre",
|
||||
"Anonymous": "Anonyme",
|
||||
"Avatar generated from IP address": "Avatar généré à partir de l'adresse IP",
|
||||
"Add comment": "Ajouter un commentaire",
|
||||
"Optional nickname…": "Pseudonyme optionnel…",
|
||||
"Post comment": "Poster le commentaire",
|
||||
"Sending comment…": "Envoi du commentaire…",
|
||||
"Comment posted.": "Commentaire posté.",
|
||||
"Could not refresh display: %s": "Impossible de rafraichir l'affichage : %s",
|
||||
"unknown status": "Statut inconnu",
|
||||
"server error or not responding": "Le serveur ne répond pas ou a rencontré une erreur",
|
||||
"Could not post comment: %s": "Impossible de poster le commentaire : %s",
|
||||
"Sending paste…": "Envoi du paste…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Votre paste est disponible à l'adresse <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Appuyez sur [Ctrl]+[c] pour copier)</span>",
|
||||
"Delete data": "Supprimer les données du paste",
|
||||
"Could not create paste: %s": "Impossible de créer le paste : %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Impossible de déchiffrer le paste : Clé de déchiffrement manquante dans l'URL (Avez-vous utilisé un redirecteur ou un site de réduction d'URL qui supprime une partie de l'URL ?)",
|
||||
"B": "o",
|
||||
"KiB": "Kio",
|
||||
"MiB": "Mio",
|
||||
@@ -137,37 +141,41 @@
|
||||
"Cloned: '%s'": "Cloner '%s'",
|
||||
"The cloned file '%s' was attached to this paste.": "Le fichier cloné '%s' a été attaché à ce paste.",
|
||||
"Attach a file": "Attacher un fichier ",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternativement, glisser & déposer un fichier ou coller une image à partir du presse-papiers",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "au choix, glisser & déposer un fichier ou coller une image à partir du presse-papiers",
|
||||
"File too large, to display a preview. Please download the attachment.": "Fichier trop volumineux, pour afficher un aperçu. Veuillez télécharger la pièce jointe.",
|
||||
"Remove attachment": "Enlever l'attachement",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Votre navigateur ne supporte pas l'envoi de fichiers chiffrés. Merci d'utiliser un navigateur plus récent.",
|
||||
"Invalid attachment.": "Attachement invalide.",
|
||||
"Remove attachment": "Enlever la pièce jointe",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Votre navigateur ne supporte pas l'envoi de fichiers chiffrés. Merci d'utiliser un navigateur plus récent.",
|
||||
"Invalid attachment.": "Pièce jointe invalide.",
|
||||
"Options": "Options",
|
||||
"Shorten URL": "Raccourcir URL",
|
||||
"Editor": "Éditer",
|
||||
"Preview": "Prévisualiser",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requiert que le PATH se termine dans un \"%s\". Veuillez mettre à jour le PATH dans votre index.php.",
|
||||
"Decrypt":
|
||||
"Déchiffrer",
|
||||
"Enter password":
|
||||
"Entrez le mot de passe",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requiert que le PATH se termine dans un \"%s\". Veuillez mettre à jour le PATH dans votre index.php.",
|
||||
"Decrypt": "Déchiffrer",
|
||||
"Enter password": "Entrez le mot de passe",
|
||||
"Loading…": "Chargement…",
|
||||
"Decrypting paste…": "Déchiffrement du paste…",
|
||||
"Preparing new paste…": "Préparation du paste…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"%s\">cette FAQ pour des idées de résolution</a> (en Anglais).",
|
||||
"+++ no paste text +++": "+++ pas de paste-text +++",
|
||||
"Could not get paste data: %s":
|
||||
"Impossible d'obtenir les données du paste: %s",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"%s\">cette FAQ pour des idées de résolution</a> (en Anglais).",
|
||||
"+++ no paste text +++": "+++ pas de texte copié +++",
|
||||
"Could not get paste data: %s": "Impossible d'obtenir les données du paste: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Ce site web utilise une connexion HTTP non sécurisée ! Veuillez l’utiliser uniquement pour des tests.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"Pour plus d'informations <a href=\"%s\">consultez cette rubrique de la FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Votre navigateur peut nécessiter une connexion HTTPS pour prendre en charge l’API WebCrypto. Essayez <a href=\"%s\">de passer en HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Ce site web utilise une connexion HTTP non sécurisée ! Veuillez l’utiliser uniquement pour des tests.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Pour plus d'informations <a href=\"%s\">consultez cette rubrique de la FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Votre navigateur peut nécessiter une connexion HTTPS pour prendre en charge l’API WebCrypto. Essayez <a href=\"%s\">de passer en HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Votre navigateur ne prend pas en charge WebAssembly, utilisé pour la compression zlib. Vous pouvez créer des documents non compressés, mais vous ne pouvez pas lire les documents compressés.",
|
||||
"waiting on user to provide a password": "en attendant que l'utilisateur fournisse un mot de passe",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Impossible de décrypter les données. Vous avez saisi un mot de passe incorrect ? Réessayez avec le bouton en haut.",
|
||||
"Retry": "Réessayer",
|
||||
"Showing raw text…": "Affichage du texte brut…",
|
||||
"Notice:": "Avertissement :",
|
||||
"This link will expire after %s.": "Ce lien expire après le %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Vous ne pouvez accéder à ce lien qu'une seule fois, n'utilisez pas le bouton précédent ou rafraîchir de votre navigateur.",
|
||||
"Link:": "Lien :",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Le destinataire peut connaître votre fuseau horaire, convertir l'heure au format UTC ?",
|
||||
"Use Current Timezone": "Conserver l'actuel",
|
||||
"Convert To UTC": "Convertir en UTC",
|
||||
"Close": "Fermer",
|
||||
"Encrypted note on PrivateBin": "Message chiffré sur PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visiter ce lien pour voir la note. Donner l'URL à une autre personne lui permet également d'accéder à la note."
|
||||
}
|
||||
|
||||
295
i18n/hu.json
295
i18n/hu.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"A %s egy minimalista, nyílt forráskódú adattároló szoftver, ahol a szerver semmilyen információt nem tárol a feltett adatról. Azt ugyanis a <i>böngésződ</i> segítségével titkosítja és oldja fel 256 bit hosszú titkosítási kulcsú AES-t használva. További információt a <a href=\"https://privatebin.info/\">projekt oldalán</a> találsz.",
|
||||
"Because ignorance is bliss":
|
||||
"A titok egyfajta hatalom.",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "A %s egy minimalista, nyílt forráskódú adattároló szoftver, ahol a szerver semmilyen információt nem tárol a feltett adatról. Azt ugyanis a <i>böngésződ</i> segítségével titkosítja és oldja fel 256 bit hosszú titkosítási kulcsú AES-t használva. További információt a <a href=\"https://privatebin.info/\">projekt oldalán</a> találsz.",
|
||||
"Because ignorance is bliss": "A titok egyfajta hatalom.",
|
||||
"en": "hu",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"A bejegyzés nem létezik, lejárt vagy törölve lett.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"Bocs, de a %s működéséhez %s vagy ezt meghaladó verziójú php-s környezet szükséges.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"A %s megfelelő működéséhez a konfigurációs fájlban a [%s] résznek léteznie kell.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Kérlek várj %d másodpercet két beküldés között.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"A bejegyzés maximális hossza: %s",
|
||||
"Invalid data.":
|
||||
"Érvénytelen adat.",
|
||||
"You are unlucky. Try again.":
|
||||
"Peched volt, próbáld újra.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Nem sikerült menteni a hozzászólást. Bocs.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Nem sikerült menteni a bejegyzést. Bocs.",
|
||||
"Invalid paste ID.":
|
||||
"Érvénytelen bejegyzés azonosító.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"A bejegyzés nem semmisül meg azonnal olvasás után.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Hibás törlési azonosító. A bejegyzés nem lett törölve.",
|
||||
"Paste was properly deleted.":
|
||||
"A bejegyzés sikeresen törölve.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript szükséges a %s működéséhez. Elnézést a fennakadásért.",
|
||||
"%s requires a modern browser to work.":
|
||||
"A %s működéséhez a jelenleginél újabb böngészőre van szükség.",
|
||||
"New":
|
||||
"Új",
|
||||
"Send":
|
||||
"Beküldöm!",
|
||||
"Clone":
|
||||
"Másol",
|
||||
"Raw text":
|
||||
"A nyers szöveg",
|
||||
"Expires":
|
||||
"Lejárati idő",
|
||||
"Burn after reading":
|
||||
"Törlés az első olvasás után",
|
||||
"Open discussion":
|
||||
"Hozzászólások engedélyezése",
|
||||
"Password (recommended)":
|
||||
"Jelszó (ajánlott)",
|
||||
"Discussion":
|
||||
"Hozzászólások",
|
||||
"Toggle navigation":
|
||||
"Navigáció",
|
||||
"%d seconds": ["%d másodperc", "%d másodperc"],
|
||||
"%d minutes": ["%d perc", "%d perc"],
|
||||
"%d hours": ["%d óra", "%d óra"],
|
||||
"%d days": ["%d nap", "%d nap"],
|
||||
"%d weeks": ["%d hét", "%d hét"],
|
||||
"%d months": ["%d hónap", "%d hónap"],
|
||||
"%d years": ["%d év", "%d év"],
|
||||
"Never":
|
||||
"Soha",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Megjegyzés: ez egy teszt szolgáltatás, az adatok bármikor törlődhetnek. Ha visszaélsz vele, kiscicák bánhatják! :)",
|
||||
"This document will expire in %d seconds.":
|
||||
["Ez a bejegyzés %d másodperc után megsemmisül.", "Ez a bejegyzés %d másodperc múlva megsemmisül."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Ez a bejegyzés %d perc után megsemmisül.", "Ez a bejegyzés %d perc múlva megsemmisül."],
|
||||
"This document will expire in %d hours.":
|
||||
["Ez a bejegyzés %d óra után megsemmisül.", "Ez a bejegyzés %d óra múlva megsemmisül."],
|
||||
"This document will expire in %d days.":
|
||||
["Ez a bejegyzés %d nap után megsemmisül.", "Ez a bejegyzés %d nap múlva megsemmisül."],
|
||||
"This document will expire in %d months.":
|
||||
["Ez a bejegyzés %d hónap múlva megsemmisül.", "Ez a bejegyzés %d hónap múlva megsemmisül."],
|
||||
"Please enter the password for this paste:":
|
||||
"Add meg a szükséges jelszót a bejegyzés megtekintéséhez:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Nem tudtuk dekódolni az adatot. Talán rossz kulcsot adtál meg?",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Nem tudtuk törölni a bejegyzést, mivel az olvasás után egyből megsemmisült. Így nem is volt tárolva.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"EZT A BEJEGYZÉST CSAK TE LÁTHATOD!!! Ne csukd be ezt az ablakot, mivel nem tudod újra megnézni. Az ugyanis az első olvasás után rögtön megsemmisül.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Nem tudtuk dekódolni a hozzászólást. Talán rossz kulcsot adtál meg?",
|
||||
"Reply":
|
||||
"Válasz",
|
||||
"Anonymous":
|
||||
"Anonymous",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar (az IP cím alapján generáljuk)",
|
||||
"Add comment":
|
||||
"Hozzászólok",
|
||||
"Optional nickname…":
|
||||
"Becenév (már ha meg akarod adni)",
|
||||
"Post comment":
|
||||
"Beküld",
|
||||
"Sending comment…":
|
||||
"Beküldés alatt...",
|
||||
"Comment posted.":
|
||||
"A hozzászólás beküldve.",
|
||||
"Could not refresh display: %s":
|
||||
"Nem tudtuk frissíteni: %s",
|
||||
"unknown status":
|
||||
"Ismeretlen státusz.",
|
||||
"server error or not responding":
|
||||
"A szerveren hiba lépett fel vagy nem válaszol.",
|
||||
"Could not post comment: %s":
|
||||
"Nem tudtuk beküldeni a hozzászólást: %s",
|
||||
"Sending paste…":
|
||||
"Bejegyzés elküldése...",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"A bejegyzésed a <a id=\"pasteurl\" href=\"%s\">%s</a> címen elérhető. <span id=\"copyhint\"> [Ctrl]+[c]-vel tudod vágólapra másolni.</span>",
|
||||
"Delete data":
|
||||
"Adat törlése",
|
||||
"Could not create paste: %s":
|
||||
"Nem tudtuk létrehozni a bejegyzést: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Nem tudjuk dekódolni a bejegyzést: a dekódoláshoz szükséges kulcs hiányzik a címből. Talán URL rövidítőt használtál ami kivágta azt belőle?",
|
||||
"Paste does not exist, has expired or has been deleted.": "A bejegyzés nem létezik, lejárt vagy törölve lett.",
|
||||
"%s requires php %s or above to work. Sorry.": "Bocs, de a %s működéséhez %s vagy ezt meghaladó verziójú php-s környezet szükséges.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "A %s megfelelő működéséhez a konfigurációs fájlban a [%s] résznek léteznie kell.",
|
||||
"Please wait %d seconds between each post.": "Kérlek várj %d másodpercet két beküldés között.",
|
||||
"Paste is limited to %s of encrypted data.": "A bejegyzés maximális hossza: %s",
|
||||
"Invalid data.": "Érvénytelen adat.",
|
||||
"You are unlucky. Try again.": "Peched volt, próbáld újra.",
|
||||
"Error saving comment. Sorry.": "Nem sikerült menteni a hozzászólást. Bocs.",
|
||||
"Error saving paste. Sorry.": "Nem sikerült menteni a bejegyzést. Bocs.",
|
||||
"Invalid paste ID.": "Érvénytelen bejegyzés azonosító.",
|
||||
"Paste is not of burn-after-reading type.": "A bejegyzés nem semmisül meg azonnal olvasás után.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Hibás törlési azonosító. A bejegyzés nem lett törölve.",
|
||||
"Paste was properly deleted.": "A bejegyzés sikeresen törölve.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript szükséges a %s működéséhez. Elnézést a fennakadásért.",
|
||||
"%s requires a modern browser to work.": "A %s működéséhez a jelenleginél újabb böngészőre van szükség.",
|
||||
"New": "Új",
|
||||
"Send": "Beküldöm!",
|
||||
"Clone": "Másol",
|
||||
"Raw text": "A nyers szöveg",
|
||||
"Expires": "Lejárati idő",
|
||||
"Burn after reading": "Törlés az első olvasás után",
|
||||
"Open discussion": "Hozzászólások engedélyezése",
|
||||
"Password (recommended)": "Jelszó (ajánlott)",
|
||||
"Discussion": "Hozzászólások",
|
||||
"Toggle navigation": "Navigáció",
|
||||
"%d seconds": [
|
||||
"%d másodperc",
|
||||
"%d másodperc",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d perc",
|
||||
"%d perc",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d óra",
|
||||
"%d óra",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d nap",
|
||||
"%d nap",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d hét",
|
||||
"%d hét",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d hónap",
|
||||
"%d hónap",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d év",
|
||||
"%d év",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Soha",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Megjegyzés: ez egy teszt szolgáltatás, az adatok bármikor törlődhetnek. Ha visszaélsz vele, kiscicák bánhatják! :)",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Ez a bejegyzés %d másodperc után megsemmisül.",
|
||||
"Ez a bejegyzés %d másodperc múlva megsemmisül.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Ez a bejegyzés %d perc után megsemmisül.",
|
||||
"Ez a bejegyzés %d perc múlva megsemmisül.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Ez a bejegyzés %d óra után megsemmisül.",
|
||||
"Ez a bejegyzés %d óra múlva megsemmisül.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Ez a bejegyzés %d nap után megsemmisül.",
|
||||
"Ez a bejegyzés %d nap múlva megsemmisül.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Ez a bejegyzés %d hónap múlva megsemmisül.",
|
||||
"Ez a bejegyzés %d hónap múlva megsemmisül.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Add meg a szükséges jelszót a bejegyzés megtekintéséhez:",
|
||||
"Could not decrypt data (Wrong key?)": "Nem tudtuk dekódolni az adatot. Talán rossz kulcsot adtál meg?",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Nem tudtuk törölni a bejegyzést, mivel az olvasás után egyből megsemmisült. Így nem is volt tárolva.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "EZT A BEJEGYZÉST CSAK TE LÁTHATOD!!! Ne csukd be ezt az ablakot, mivel nem tudod újra megnézni. Az ugyanis az első olvasás után rögtön megsemmisül.",
|
||||
"Could not decrypt comment; Wrong key?": "Nem tudtuk dekódolni a hozzászólást. Talán rossz kulcsot adtál meg?",
|
||||
"Reply": "Válasz",
|
||||
"Anonymous": "Anonymous",
|
||||
"Avatar generated from IP address": "Avatar (az IP cím alapján generáljuk)",
|
||||
"Add comment": "Hozzászólok",
|
||||
"Optional nickname…": "Becenév (már ha meg akarod adni)",
|
||||
"Post comment": "Beküld",
|
||||
"Sending comment…": "Beküldés alatt...",
|
||||
"Comment posted.": "A hozzászólás beküldve.",
|
||||
"Could not refresh display: %s": "Nem tudtuk frissíteni: %s",
|
||||
"unknown status": "Ismeretlen státusz.",
|
||||
"server error or not responding": "A szerveren hiba lépett fel vagy nem válaszol.",
|
||||
"Could not post comment: %s": "Nem tudtuk beküldeni a hozzászólást: %s",
|
||||
"Sending paste…": "Bejegyzés elküldése...",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "A bejegyzésed a <a id=\"pasteurl\" href=\"%s\">%s</a> címen elérhető. <span id=\"copyhint\"> [Ctrl]+[c]-vel tudod vágólapra másolni.</span>",
|
||||
"Delete data": "Adat törlése",
|
||||
"Could not create paste: %s": "Nem tudtuk létrehozni a bejegyzést: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nem tudjuk dekódolni a bejegyzést: a dekódoláshoz szükséges kulcs hiányzik a címből. Talán URL rövidítőt használtál ami kivágta azt belőle?",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formátum",
|
||||
"Plain Text": "Egyszerű szöveg",
|
||||
"Source Code": "Forráskód",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "vagy húzz ide egy fájlt, netán illessz be egy képet a vágólapról.",
|
||||
"File too large, to display a preview. Please download the attachment.": "A fájl túl nagy ahhoz, hogy előnézete legyen. Töltsd le, hogy megtekinthesd.",
|
||||
"Remove attachment": "Csatolmány eltávolítása",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"A böngésződ nem támogatja titkosított fájlok feltöltését. Használj újabbat.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "A böngésződ nem támogatja titkosított fájlok feltöltését. Használj újabbat.",
|
||||
"Invalid attachment.": "Érvénytelen csatolmány.",
|
||||
"Options": "Opciók",
|
||||
"Shorten URL": "URL rövidítés",
|
||||
"Editor": "Szerkesztő felület",
|
||||
"Preview": "Előnézet",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s számára szükséges, hogy a PATH itt végződjön: \"%s\". Kérlek frissítsd a PATH értékét az index.php fájlban.",
|
||||
"Decrypt":
|
||||
"Dekódolás",
|
||||
"Enter password":
|
||||
"Jelszó",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s számára szükséges, hogy a PATH itt végződjön: \"%s\". Kérlek frissítsd a PATH értékét az index.php fájlban.",
|
||||
"Decrypt": "Dekódolás",
|
||||
"Enter password": "Jelszó",
|
||||
"Loading…": "Folyamatban...",
|
||||
"Decrypting paste…": "Bejegyzés dekódolása...",
|
||||
"Preparing new paste…": "Új bejegyzés előkészítése...",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Abban az esetben, ha ez az üzenet mindig látható lenne, látogass el a <a href=\"%s\">Gyakran Ismételt Kérdések szekcióba a megoldásához</a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Abban az esetben, ha ez az üzenet mindig látható lenne, látogass el a <a href=\"%s\">Gyakran Ismételt Kérdések szekcióba a megoldásához</a>.",
|
||||
"+++ no paste text +++": "+++ nincs beillesztett szöveg +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
295
i18n/it.json
295
i18n/it.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s è un sistema di tipo \"Pastebin\" online, open source, minimalista. Il server non possiede alcuna conoscenza (\"Zero Knowledge\") del contenuto dei dati inviati. I dati sono cifrati/decifrati <i>nel Browser</i> con algoritmo AES a 256 Bit. Per ulteriori informazioni, vedi <a href=\"https://privatebin.info/\">Sito del progetto</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Perché l'ignoranza è una benedizione (Because ignorance is bliss)",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s è un sistema di tipo \"Pastebin\" online, open source, minimalista. Il server non possiede alcuna conoscenza (\"Zero Knowledge\") del contenuto dei dati inviati. I dati sono cifrati/decifrati <i>nel Browser</i> con algoritmo AES a 256 Bit. Per ulteriori informazioni, vedi <a href=\"https://privatebin.info/\">Sito del progetto</a>.",
|
||||
"Because ignorance is bliss": "Perché l'ignoranza è una benedizione (Because ignorance is bliss)",
|
||||
"en": "it",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Questo messaggio non esiste, è scaduto o è stato cancellato.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s richiede php %s o superiore per funzionare. Ci spiace.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s richiede la presenza della sezione [%s] nei file di configurazione.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Attendi per favore %d secondi prima di ciascun invio.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"La dimensione del messaggio è limitata a %s di dati cifrati.",
|
||||
"Invalid data.":
|
||||
"Dati non validi.",
|
||||
"You are unlucky. Try again.":
|
||||
"Ritenta, sarai più fortunato.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Errore durante il salvataggio del commento.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Errore durante il salvataggio del messaggio.",
|
||||
"Invalid paste ID.":
|
||||
"ID-Messaggio non valido.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Il messaggio non è di tipo Distruggi-dopo-lettura.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Codice cancellazione errato. Il messaggio NON è stato cancellato.",
|
||||
"Paste was properly deleted.":
|
||||
"Il messaggio è stato correttamente cancellato.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"%s funziona solo con JavaScript attivo.<br />Ci dispiace per l'inconveniente.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s richiede un browser moderno e aggiornato per funzionare.",
|
||||
"New":
|
||||
"Nuovo",
|
||||
"Send":
|
||||
"Invia",
|
||||
"Clone":
|
||||
"Clona",
|
||||
"Raw text":
|
||||
"Testo Raw",
|
||||
"Expires":
|
||||
"Scade",
|
||||
"Burn after reading":
|
||||
"Distruggi dopo lettura",
|
||||
"Open discussion":
|
||||
"Apri discussione",
|
||||
"Password (recommended)":
|
||||
"Password (raccomandato)",
|
||||
"Discussion":
|
||||
"Discussione",
|
||||
"Toggle navigation":
|
||||
"Scambia Navigazione",
|
||||
"%d seconds": ["%d secondo", "%d secondi"],
|
||||
"%d minutes": ["%d minuto", "%d minuti"],
|
||||
"%d hours": ["%d ora", "%d ore"],
|
||||
"%d days": ["%d giorno", "%d giorni"],
|
||||
"%d weeks": ["%d settimana", "%d settimane"],
|
||||
"%d months": ["%d mese", "%d mesi"],
|
||||
"%d years": ["%d anno", "%d anni"],
|
||||
"Never":
|
||||
"Mai",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Nota: questo è un servizio di prova, i messaggi salvati possono essere cancellati in qualsiasi momento. Moriranno dei gattini se abuserai di questo servizio.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Questo documento scadrà tra un secondo.", "Questo documento scadrà in %d secondi."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Questo documento scadrà tra un minuto.", "Questo documento scadrà in %d minuti."],
|
||||
"This document will expire in %d hours.":
|
||||
["Questo documento scadrà tra un'ora.", "Questo documento scadrà in %d ore."],
|
||||
"This document will expire in %d days.":
|
||||
["Questo documento scadrà tra un giorno.", "Questo documento scadrà in %d giorni."],
|
||||
"This document will expire in %d months.":
|
||||
["Questo documento scadrà tra un mese.", "Questo documento scadrà in %d mesi."],
|
||||
"Please enter the password for this paste:":
|
||||
"Inserisci la password per questo messaggio:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Non riesco a decifrari i dati (Chiave errata?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Non riesco a cancellare il messaggio, non è stato salvato in modalità Distruggi-dopo-lettora.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"FOR YOUR EYES ONLY. Non chiudere questa finestra, il messaggio non può essere visualizzato una seconda volta.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Non riesco a decifrare il commento (Chiave errata?)",
|
||||
"Reply":
|
||||
"Rispondi",
|
||||
"Anonymous":
|
||||
"Anonimo",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar generato dall'indirizzo IP)",
|
||||
"Add comment":
|
||||
"Aggiungi un commento",
|
||||
"Optional nickname…":
|
||||
"Nickname opzionale…",
|
||||
"Post comment":
|
||||
"Invia commento",
|
||||
"Sending comment…":
|
||||
"Commento in fase di invio…",
|
||||
"Comment posted.":
|
||||
"Commento inviato.",
|
||||
"Could not refresh display: %s":
|
||||
"Non riesco ad aggiornare il display: %s",
|
||||
"unknown status":
|
||||
"stato sconosciuto",
|
||||
"server error or not responding":
|
||||
"errore o mancata risposta dal server",
|
||||
"Could not post comment: %s":
|
||||
"Impossibile inviare il commento: %s",
|
||||
"Sending paste…":
|
||||
"Messaggio in fase di invio…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Il tuo messaggio è qui: <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Premi [Ctrl]+[c] (Windows) o [Cmd]+[c] (Mac) per copiare il link)</span>",
|
||||
"Delete data":
|
||||
"Cancella i dati",
|
||||
"Could not create paste: %s":
|
||||
"Non riesco a creare il messaggio: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Non riesco a decifrare il messaggio: manca la chiave di decifrazione nell'URL (La chiave è parte integrante dell'URL. Per caso hai usato un Redirector o un altro servizio che ha rimosso una parte dell'URL?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Questo messaggio non esiste, è scaduto o è stato cancellato.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s richiede php %s o superiore per funzionare. Ci spiace.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s richiede la presenza della sezione [%s] nei file di configurazione.",
|
||||
"Please wait %d seconds between each post.": "Attendi per favore %d secondi prima di ciascun invio.",
|
||||
"Paste is limited to %s of encrypted data.": "La dimensione del messaggio è limitata a %s di dati cifrati.",
|
||||
"Invalid data.": "Dati non validi.",
|
||||
"You are unlucky. Try again.": "Ritenta, sarai più fortunato.",
|
||||
"Error saving comment. Sorry.": "Errore durante il salvataggio del commento.",
|
||||
"Error saving paste. Sorry.": "Errore durante il salvataggio del messaggio.",
|
||||
"Invalid paste ID.": "ID-Messaggio non valido.",
|
||||
"Paste is not of burn-after-reading type.": "Il messaggio non è di tipo Distruggi-dopo-lettura.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Codice cancellazione errato. Il messaggio NON è stato cancellato.",
|
||||
"Paste was properly deleted.": "Il messaggio è stato correttamente cancellato.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "%s funziona solo con JavaScript attivo. Ci dispiace per l'inconveniente.",
|
||||
"%s requires a modern browser to work.": "%s richiede un browser moderno e aggiornato per funzionare.",
|
||||
"New": "Nuovo",
|
||||
"Send": "Invia",
|
||||
"Clone": "Clona",
|
||||
"Raw text": "Testo Raw",
|
||||
"Expires": "Scade",
|
||||
"Burn after reading": "Distruggi dopo lettura",
|
||||
"Open discussion": "Apri discussione",
|
||||
"Password (recommended)": "Password (raccomandato)",
|
||||
"Discussion": "Discussione",
|
||||
"Toggle navigation": "Scambia Navigazione",
|
||||
"%d seconds": [
|
||||
"%d secondo",
|
||||
"%d secondi",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuto",
|
||||
"%d minuti",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d ora",
|
||||
"%d ore",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d giorno",
|
||||
"%d giorni",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d settimana",
|
||||
"%d settimane",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mese",
|
||||
"%d mesi",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d anno",
|
||||
"%d anni",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Mai",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota: questo è un servizio di prova, i messaggi salvati possono essere cancellati in qualsiasi momento. Moriranno dei gattini se abuserai di questo servizio.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Questo documento scadrà tra un secondo.",
|
||||
"Questo documento scadrà in %d secondi.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Questo documento scadrà tra un minuto.",
|
||||
"Questo documento scadrà in %d minuti.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Questo documento scadrà tra un'ora.",
|
||||
"Questo documento scadrà in %d ore.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Questo documento scadrà tra un giorno.",
|
||||
"Questo documento scadrà in %d giorni.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Questo documento scadrà tra un mese.",
|
||||
"Questo documento scadrà in %d mesi.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Inserisci la password per questo messaggio:",
|
||||
"Could not decrypt data (Wrong key?)": "Non riesco a decifrari i dati (Chiave errata?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Non riesco a cancellare il messaggio, non è stato salvato in modalità Distruggi-dopo-lettora.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "FOR YOUR EYES ONLY. Non chiudere questa finestra, il messaggio non può essere visualizzato una seconda volta.",
|
||||
"Could not decrypt comment; Wrong key?": "Non riesco a decifrare il commento (Chiave errata?)",
|
||||
"Reply": "Rispondi",
|
||||
"Anonymous": "Anonimo",
|
||||
"Avatar generated from IP address": "Avatar generato dall'indirizzo IP)",
|
||||
"Add comment": "Aggiungi un commento",
|
||||
"Optional nickname…": "Nickname opzionale…",
|
||||
"Post comment": "Invia commento",
|
||||
"Sending comment…": "Commento in fase di invio…",
|
||||
"Comment posted.": "Commento inviato.",
|
||||
"Could not refresh display: %s": "Non riesco ad aggiornare il display: %s",
|
||||
"unknown status": "stato sconosciuto",
|
||||
"server error or not responding": "errore o mancata risposta dal server",
|
||||
"Could not post comment: %s": "Impossibile inviare il commento: %s",
|
||||
"Sending paste…": "Messaggio in fase di invio…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Il tuo messaggio è qui: <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Premi [Ctrl]+[c] (Windows) o [Cmd]+[c] (Mac) per copiare il link)</span>",
|
||||
"Delete data": "Cancella i dati",
|
||||
"Could not create paste: %s": "Non riesco a creare il messaggio: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Non riesco a decifrare il messaggio: manca la chiave di decifrazione nell'URL (La chiave è parte integrante dell'URL. Per caso hai usato un Redirector o un altro servizio che ha rimosso una parte dell'URL?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formato",
|
||||
"Plain Text": "Solo Testo",
|
||||
"Source Code": "Codice Sorgente",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Rimuovi allegato",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Il tuo browser non supporta l'invio di file cifrati. Utilizza un browser più recente.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Il tuo browser non supporta l'invio di file cifrati. Utilizza un browser più recente.",
|
||||
"Invalid attachment.": "Allegato non valido.",
|
||||
"Options": "Opzioni",
|
||||
"Shorten URL": "Accorcia URL",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Preview",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s necessita che PATH termini con \"%s\". Aggiorna la variabile PATH nel tuo index.php.",
|
||||
"Decrypt":
|
||||
"Decifra",
|
||||
"Enter password":
|
||||
"Inserisci la password",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s necessita che PATH termini con \"%s\". Aggiorna la variabile PATH nel tuo index.php.",
|
||||
"Decrypt": "Decifra",
|
||||
"Enter password": "Inserisci la password",
|
||||
"Loading…": "Carico…",
|
||||
"Decrypting paste…": "Decifro il messaggio…",
|
||||
"Preparing new paste…": "Preparo il nuovo messaggio…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Nel caso questo messaggio non scompaia, controlla questa <a href=\"%s\">FAQ</a> per trovare informazioni su come risolvere il problema (in Inglese).",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Nel caso questo messaggio non scompaia, controlla questa <a href=\"%s\">FAQ</a> per trovare informazioni su come risolvere il problema (in Inglese).",
|
||||
"+++ no paste text +++": "+++ nessun testo nel messaggio +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
299
i18n/nl.json
299
i18n/nl.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s is een minimalistische, open source online pastebin waarbij de server geen kennis heeft van de geplakte gegevens. Gegevens worden gecodeerd/gedecodeerd <i> in de browser </i> met behulp van 256 bits AES. Meer informatie is te vinden op de <a href=\"https://privatebin.info/\">projectpagina</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Onwetendheid is een zegen",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s is een minimalistische, open source online pastebin waarbij de server geen kennis heeft van de geplakte gegevens. Gegevens worden gecodeerd/gedecodeerd <i> in de browser </i> met behulp van 256 bits AES. Meer informatie is te vinden op de <a href=\"https://privatebin.info/\">projectpagina</a>.",
|
||||
"Because ignorance is bliss": "Onwetendheid is een zegen",
|
||||
"en": "nl",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Geplakte tekst bestaat niet, is verlopen of verwijderd.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s vereist PHP %s of hoger om te kunnen werken. Sorry",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s vereist dat de configuratiesectie [%s] aanwezig is in het configuratiebestand",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Alstublieft %d seconden wachten tussen elk bericht",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Geplakte tekst is beperkt tot %s aan versleutelde gegevens",
|
||||
"Invalid data.":
|
||||
"Ongeldige gegevens",
|
||||
"You are unlucky. Try again.":
|
||||
"Helaas. Probeer het nog eens",
|
||||
"Error saving comment. Sorry.":
|
||||
"Fout bij het opslaan van het commentaar. Sorry",
|
||||
"Error saving paste. Sorry.":
|
||||
"Fout bij het opslaan van de geplakte tekst. Sorry.",
|
||||
"Invalid paste ID.":
|
||||
"Ongeldige ID.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Geplakte tekst is geen 'vernietig na lezen' type",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Foutieve verwijdercode. Geplakte tekst is niet verwijderd.",
|
||||
"Paste was properly deleted.":
|
||||
"Geplakte tekst is correct verwijderd.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript vereist om %s te laten werken.<br />Sorry voor het ongemak.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s vereist een moderne browser om te kunnen werken ",
|
||||
"New":
|
||||
"Nieuw",
|
||||
"Send":
|
||||
"Verzenden",
|
||||
"Clone":
|
||||
"Clonen",
|
||||
"Raw text":
|
||||
"Onbewerkte tekst",
|
||||
"Expires":
|
||||
"Verloopt",
|
||||
"Burn after reading":
|
||||
"Vernietig na lezen",
|
||||
"Open discussion":
|
||||
"Open discussie",
|
||||
"Password (recommended)":
|
||||
"Wachtwoord (aanbevolen)",
|
||||
"Discussion":
|
||||
"Discussie",
|
||||
"Toggle navigation":
|
||||
"Navigatie openen/sluiten",
|
||||
"%d seconds": ["%d second", "%d seconden"],
|
||||
"%d minutes": ["%d minuut", "%d minuten"],
|
||||
"%d hours": ["%d uur"],
|
||||
"%d days": ["%d dag", "%d dagen"],
|
||||
"%d weeks": ["%d week", "%d weken"],
|
||||
"%d months": ["%d maand", "%d maanden"],
|
||||
"%d years": ["%d jaar"],
|
||||
"Never":
|
||||
"Nooit",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Opmerking: Dit is een testservice: Gegevens kunnen op elk gegeven moment verwijderd worden.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Dit document verloopt over %d second.", "Dit document verloopt over %d seconden."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Dit document verloopt over %d minuut.", "Dit document verloopt over %d minuten"],
|
||||
"This document will expire in %d hours.":
|
||||
["Dit document verloopt over %d uur."],
|
||||
"This document will expire in %d days.":
|
||||
["Dit document verloopt over %d dag.", "Dit document verloopt over %d dagen."],
|
||||
"This document will expire in %d months.":
|
||||
["Dit document verloopt over %d maand.", "Dit document verloopt over %d maanden."],
|
||||
"Please enter the password for this paste:":
|
||||
"Voer het wachtwoord in voor deze geplakte tekst:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Kon de gegevens niet decoderen (verkeerde sleutel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Verwijderen van de geplakte tekst niet mogelijk, deze werd niet opgeslagen in 'vernietig na lezen' modus.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"FOR YOUR EYES ONLY. Sluit dit venster niet, dit bericht kan niet opnieuw worden weergegeven.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Kon het commentaar niet decoderen; Verkeerde sleutel?",
|
||||
"Reply":
|
||||
"Beantwoorden",
|
||||
"Anonymous":
|
||||
"Anoniem",
|
||||
"Avatar generated from IP address":
|
||||
"Anonieme avatar (van het IP adres)",
|
||||
"Add comment":
|
||||
"Commentaar toevoegen",
|
||||
"Optional nickname…":
|
||||
"Optionele bijnaam…",
|
||||
"Post comment":
|
||||
"Plaats een commentaar",
|
||||
"Sending comment…":
|
||||
"Commentaar verzenden…",
|
||||
"Comment posted.":
|
||||
"Commentaar geplaatst.",
|
||||
"Could not refresh display: %s":
|
||||
"Kon de weergave niet vernieuwen: %s",
|
||||
"unknown status":
|
||||
"Onbekende status",
|
||||
"server error or not responding":
|
||||
"Serverfout of server reageert niet",
|
||||
"Could not post comment: %s":
|
||||
"Kon het commentaar niet plaatsen: %s",
|
||||
"Sending paste…":
|
||||
"Geplakte tekst verzenden…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Uw geplakte tekst is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Druk [Ctrl]+[c] om te kopiëren)</span>",
|
||||
"Delete data":
|
||||
"Gegevens wissen",
|
||||
"Could not create paste: %s":
|
||||
"Kon de geplakte tekst niet aanmaken: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Kon de geplakte tekst niet decoderen: Decoderingssleutel ontbreekt in URL (Hebt u een redirector of een URL-verkorter gebruikt die een deel van de URL verwijdert?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Geplakte tekst bestaat niet, is verlopen of verwijderd.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s vereist PHP %s of hoger om te kunnen werken. Sorry",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s vereist dat de configuratiesectie [%s] aanwezig is in het configuratiebestand",
|
||||
"Please wait %d seconds between each post.": "Alstublieft %d seconden wachten tussen elk bericht",
|
||||
"Paste is limited to %s of encrypted data.": "Geplakte tekst is beperkt tot %s aan versleutelde gegevens",
|
||||
"Invalid data.": "Ongeldige gegevens",
|
||||
"You are unlucky. Try again.": "Helaas. Probeer het nog eens",
|
||||
"Error saving comment. Sorry.": "Fout bij het opslaan van het commentaar. Sorry",
|
||||
"Error saving paste. Sorry.": "Fout bij het opslaan van de geplakte tekst. Sorry.",
|
||||
"Invalid paste ID.": "Ongeldige ID.",
|
||||
"Paste is not of burn-after-reading type.": "Geplakte tekst is geen 'vernietig na lezen' type",
|
||||
"Wrong deletion token. Paste was not deleted.": "Foutieve verwijdercode. Geplakte tekst is niet verwijderd.",
|
||||
"Paste was properly deleted.": "Geplakte tekst is correct verwijderd.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript vereist om %s te laten werken. Sorry voor het ongemak.",
|
||||
"%s requires a modern browser to work.": "%s vereist een moderne browser om te kunnen werken ",
|
||||
"New": "Nieuw",
|
||||
"Send": "Verzenden",
|
||||
"Clone": "Clonen",
|
||||
"Raw text": "Onbewerkte tekst",
|
||||
"Expires": "Verloopt",
|
||||
"Burn after reading": "Vernietig na lezen",
|
||||
"Open discussion": "Open discussie",
|
||||
"Password (recommended)": "Wachtwoord (aanbevolen)",
|
||||
"Discussion": "Discussie",
|
||||
"Toggle navigation": "Navigatie openen/sluiten",
|
||||
"%d seconds": [
|
||||
"%d second",
|
||||
"%d seconden",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuut",
|
||||
"%d minuten",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d uur",
|
||||
"%d hours (1st plural)",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d dag",
|
||||
"%d dagen",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d week",
|
||||
"%d weken",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d maand",
|
||||
"%d maanden",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d jaar",
|
||||
"%d years (1st plural)",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Nooit",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Opmerking: Dit is een testservice: Gegevens kunnen op elk gegeven moment verwijderd worden.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Dit document verloopt over %d second.",
|
||||
"Dit document verloopt over %d seconden.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Dit document verloopt over %d minuut.",
|
||||
"Dit document verloopt over %d minuten",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Dit document verloopt over %d uur.",
|
||||
"This document will expire in %d hours (1st plural)",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Dit document verloopt over %d dag.",
|
||||
"Dit document verloopt over %d dagen.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Dit document verloopt over %d maand.",
|
||||
"Dit document verloopt over %d maanden.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Voer het wachtwoord in voor deze geplakte tekst:",
|
||||
"Could not decrypt data (Wrong key?)": "Kon de gegevens niet decoderen (verkeerde sleutel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Verwijderen van de geplakte tekst niet mogelijk, deze werd niet opgeslagen in 'vernietig na lezen' modus.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "FOR YOUR EYES ONLY. Sluit dit venster niet, dit bericht kan niet opnieuw worden weergegeven.",
|
||||
"Could not decrypt comment; Wrong key?": "Kon het commentaar niet decoderen; Verkeerde sleutel?",
|
||||
"Reply": "Beantwoorden",
|
||||
"Anonymous": "Anoniem",
|
||||
"Avatar generated from IP address": "Anonieme avatar (van het IP adres)",
|
||||
"Add comment": "Commentaar toevoegen",
|
||||
"Optional nickname…": "Optionele bijnaam…",
|
||||
"Post comment": "Plaats een commentaar",
|
||||
"Sending comment…": "Commentaar verzenden…",
|
||||
"Comment posted.": "Commentaar geplaatst.",
|
||||
"Could not refresh display: %s": "Kon de weergave niet vernieuwen: %s",
|
||||
"unknown status": "Onbekende status",
|
||||
"server error or not responding": "Serverfout of server reageert niet",
|
||||
"Could not post comment: %s": "Kon het commentaar niet plaatsen: %s",
|
||||
"Sending paste…": "Geplakte tekst verzenden…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Uw geplakte tekst is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Druk [Ctrl]+[c] om te kopiëren)</span>",
|
||||
"Delete data": "Gegevens wissen",
|
||||
"Could not create paste: %s": "Kon de geplakte tekst niet aanmaken: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Kon de geplakte tekst niet decoderen: Decoderingssleutel ontbreekt in URL (Hebt u een redirector of een URL-verkorter gebruikt die een deel van de URL verwijdert?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formaat",
|
||||
"Plain Text": "Platte tekst",
|
||||
"Source Code": "Broncode",
|
||||
@@ -129,36 +142,40 @@
|
||||
"The cloned file '%s' was attached to this paste.": "Het gekloonde bestand '%s' is bijgevoegd aan de geplakte tekst.",
|
||||
"Attach a file": "Een bestand toevoegen",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "U kunt ook een bestand slepen en neerzetten of een afbeelding plakken van het klembord",
|
||||
"File too large, to display a preview. Please download the attachment.": "Het bestand is te groot om voorbeeld weer te geven. Aub de bijlage downloaden",
|
||||
"Remove attachment": "Bijlage verwijderen",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Uw browser biedt geen ondersteuning voor het uploaden van gecodeerde bestanden. Gebruik alstublieft een nieuwere browser",
|
||||
"File too large, to display a preview. Please download the attachment.": "Het bestand is te groot om voorbeeld weer te geven. Aub de bijlage downloaden",
|
||||
"Remove attachment": "Bijlage verwijderen",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Uw browser biedt geen ondersteuning voor het uploaden van gecodeerde bestanden. Gebruik alstublieft een nieuwere browser",
|
||||
"Invalid attachment.": "Ongeldige bijlage",
|
||||
"Options": "Opties",
|
||||
"Shorten URL": "URL verkorten",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Preview",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s vereist dat het PATH eindigt in een '%s'. Aub het PATH updaten in uw index.php.",
|
||||
"Decrypt":
|
||||
"Decoderen",
|
||||
"Enter password":
|
||||
"Voer het wachtwoord in",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vereist dat het PATH eindigt in een '%s'. Aub het PATH updaten in uw index.php.",
|
||||
"Decrypt": "Decoderen",
|
||||
"Enter password": "Voer het wachtwoord in",
|
||||
"Loading…": "Laden…",
|
||||
"Decrypting paste…": "Geplakte tekst decoderen…",
|
||||
"Preparing new paste…": "Nieuwe geplakte tekst voorbereiden…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"In het geval dat dit bericht nooit verdwijnt, kijkt u dan eens naar <a href=\"%s\"> veelgestelde vragen voor informatie over het oplossen van problemen </a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "In het geval dat dit bericht nooit verdwijnt, kijkt u dan eens naar <a href=\"%s\"> veelgestelde vragen voor informatie over het oplossen van problemen </a>.",
|
||||
"+++ no paste text +++": "+++ geen geplakte tekst +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
295
i18n/no.json
295
i18n/no.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s er en minimalistisk, åpen kildekode, elektronisk tilgjengelig pastebin hvor serveren ikke har kunnskap om dataene som limes inn. Dataene krypteres/dekrypteres <i>i nettleseren</i> ved hjelp av 256 bits AES. Mer informasjon om prosjektet på <a href=\"https://privatebin.info/\">prosjektsiden</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Fordi uvitenhet er lykke",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s er en minimalistisk, åpen kildekode, elektronisk tilgjengelig pastebin hvor serveren ikke har kunnskap om dataene som limes inn. Dataene krypteres/dekrypteres <i>i nettleseren</i> ved hjelp av 256 bits AES. Mer informasjon om prosjektet på <a href=\"https://privatebin.info/\">prosjektsiden</a>.",
|
||||
"Because ignorance is bliss": "Fordi uvitenhet er lykke",
|
||||
"en": "no",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Innlegget eksisterer ikke, er utløpt eller har blitt slettet.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"Beklager, %s krever php %s eller nyere for å kjøre.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s krever konfigurasjonsdel [%s] å være til stede i konfigurasjonsfilen .",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Vennligst vent %d sekunder mellom hvert innlegg.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Innlegg er begrenset til %s av kryptert data.",
|
||||
"Invalid data.":
|
||||
"Ugyldige data.",
|
||||
"You are unlucky. Try again.":
|
||||
"Du er uheldig. Prøv igjen.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Beklager, det oppstod en feil ved lagring kommentar.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Beklager, det oppstod en feil ved lagring innlegg.",
|
||||
"Invalid paste ID.":
|
||||
"Feil innlegg ID.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Innlegg er ikke av typen slett etter lesing.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Feil slettingsnøkkel. Innlegg ble ikke fjernet.",
|
||||
"Paste was properly deleted.":
|
||||
"Innlegget er slettet.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"Javascript kreves for at %s skal fungere<br />Beklager.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s krever en moderne nettleser for å fungere.",
|
||||
"New":
|
||||
"Ny",
|
||||
"Send":
|
||||
"Send",
|
||||
"Clone":
|
||||
"Kopier",
|
||||
"Raw text":
|
||||
"Ren tekst",
|
||||
"Expires":
|
||||
"Utgår",
|
||||
"Burn after reading":
|
||||
"Slett etter lesing",
|
||||
"Open discussion":
|
||||
"Åpen diskusjon",
|
||||
"Password (recommended)":
|
||||
"Passord (anbefalt)",
|
||||
"Discussion":
|
||||
"Diskusjon",
|
||||
"Toggle navigation":
|
||||
"Veksle navigasjon",
|
||||
"%d seconds": ["%d sekund", "%d sekunder"],
|
||||
"%d minutes": ["%d minutt", "%d minutter"],
|
||||
"%d hours": ["%d time", "%d timer"],
|
||||
"%d days": ["%d dag", "%d dager"],
|
||||
"%d weeks": ["%d uke", "%d uker"],
|
||||
"%d months": ["%d måned", "%d måneder"],
|
||||
"%d years": ["%d år", "%d år"],
|
||||
"Never":
|
||||
"Aldri",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Merk: Dette er en test tjeneste: Data kan slettes når som helst. Kattunger vil dø hvis du misbruker denne tjenesten.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Dette dokumentet vil utløpe om %d sekund.", "Dette dokumentet vil utløpe om %d sekunder."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Dette dokumentet vil utløpe om %d minutt.", "Dette dokumentet vil utløpe om %d minutter."],
|
||||
"This document will expire in %d hours.":
|
||||
["Dette dokumentet vil utløpe om %d time.", "Dette dokumentet vil utløpe om %d timer."],
|
||||
"This document will expire in %d days.":
|
||||
["Dette dokumentet vil utløpe om %d dag.", "Dette dokumentet vil utløpe om %d dager."],
|
||||
"This document will expire in %d months.":
|
||||
["Dette dokumentet vil utløpe om %d måned.", "Dette dokumentet vil utløpe om %d måneder."],
|
||||
"Please enter the password for this paste:":
|
||||
"Vennligst skriv inn passordet for dette innlegget:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Kunne ikke dekryptere data (Feil nøkkel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Kan ikke slette innlegget, det ble ikke lagret som 'slett etter les' type.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"KUN FOR DINE ØYNE. Ikke lukk dette vinduet, denne meldingen kan ikke bli vist igjen.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Kan ikke dekryptere kommentar; Feil nøkkel?",
|
||||
"Reply":
|
||||
"Svar",
|
||||
"Anonymous":
|
||||
"Anonym",
|
||||
"Avatar generated from IP address":
|
||||
"Anonym avatar generert med data fra IP adressen)",
|
||||
"Add comment":
|
||||
"Legg til kommentar",
|
||||
"Optional nickname…":
|
||||
"Valgfritt kallenavn…",
|
||||
"Post comment":
|
||||
"Send kommentar",
|
||||
"Sending comment…":
|
||||
"Sender Kommentar…",
|
||||
"Comment posted.":
|
||||
"Kommentar sendt.",
|
||||
"Could not refresh display: %s":
|
||||
"Kunne ikke oppdatere bildet: %s",
|
||||
"unknown status":
|
||||
"ukjent status",
|
||||
"server error or not responding":
|
||||
"tjener feilet eller svarer ikke",
|
||||
"Could not post comment: %s":
|
||||
"Kunne ikke sende kommentar: %s",
|
||||
"Sending paste…":
|
||||
"Sender innlegg…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Ditt innlegg er <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Trykk [Ctrl]+[c] for å kopiere)</span>",
|
||||
"Delete data":
|
||||
"Slett data",
|
||||
"Could not create paste: %s":
|
||||
"Kunne ikke opprette innlegg: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Kan ikke dekryptere innlegg: Dekrypteringsnøkkelen mangler i adressen (Har du bruket en redirector eller en URL forkorter som fjerner en del av addressen?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Innlegget eksisterer ikke, er utløpt eller har blitt slettet.",
|
||||
"%s requires php %s or above to work. Sorry.": "Beklager, %s krever php %s eller nyere for å kjøre.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s krever konfigurasjonsdel [%s] å være til stede i konfigurasjonsfilen .",
|
||||
"Please wait %d seconds between each post.": "Vennligst vent %d sekunder mellom hvert innlegg.",
|
||||
"Paste is limited to %s of encrypted data.": "Innlegg er begrenset til %s av kryptert data.",
|
||||
"Invalid data.": "Ugyldige data.",
|
||||
"You are unlucky. Try again.": "Du er uheldig. Prøv igjen.",
|
||||
"Error saving comment. Sorry.": "Beklager, det oppstod en feil ved lagring kommentar.",
|
||||
"Error saving paste. Sorry.": "Beklager, det oppstod en feil ved lagring innlegg.",
|
||||
"Invalid paste ID.": "Feil innlegg ID.",
|
||||
"Paste is not of burn-after-reading type.": "Innlegg er ikke av typen slett etter lesing.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Feil slettingsnøkkel. Innlegg ble ikke fjernet.",
|
||||
"Paste was properly deleted.": "Innlegget er slettet.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Javascript kreves for at %s skal fungere. Beklager.",
|
||||
"%s requires a modern browser to work.": "%s krever en moderne nettleser for å fungere.",
|
||||
"New": "Ny",
|
||||
"Send": "Send",
|
||||
"Clone": "Kopier",
|
||||
"Raw text": "Ren tekst",
|
||||
"Expires": "Utgår",
|
||||
"Burn after reading": "Slett etter lesing",
|
||||
"Open discussion": "Åpen diskusjon",
|
||||
"Password (recommended)": "Passord (anbefalt)",
|
||||
"Discussion": "Diskusjon",
|
||||
"Toggle navigation": "Veksle navigasjon",
|
||||
"%d seconds": [
|
||||
"%d sekund",
|
||||
"%d sekunder",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minutt",
|
||||
"%d minutter",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d time",
|
||||
"%d timer",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d dag",
|
||||
"%d dager",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d uke",
|
||||
"%d uker",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d måned",
|
||||
"%d måneder",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d år",
|
||||
"%d år",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Aldri",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Merk: Dette er en test tjeneste: Data kan slettes når som helst. Kattunger vil dø hvis du misbruker denne tjenesten.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Dette dokumentet vil utløpe om %d sekund.",
|
||||
"Dette dokumentet vil utløpe om %d sekunder.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Dette dokumentet vil utløpe om %d minutt.",
|
||||
"Dette dokumentet vil utløpe om %d minutter.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Dette dokumentet vil utløpe om %d time.",
|
||||
"Dette dokumentet vil utløpe om %d timer.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Dette dokumentet vil utløpe om %d dag.",
|
||||
"Dette dokumentet vil utløpe om %d dager.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Dette dokumentet vil utløpe om %d måned.",
|
||||
"Dette dokumentet vil utløpe om %d måneder.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Vennligst skriv inn passordet for dette innlegget:",
|
||||
"Could not decrypt data (Wrong key?)": "Kunne ikke dekryptere data (Feil nøkkel?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Kan ikke slette innlegget, det ble ikke lagret som 'slett etter les' type.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "KUN FOR DINE ØYNE. Ikke lukk dette vinduet, denne meldingen kan ikke bli vist igjen.",
|
||||
"Could not decrypt comment; Wrong key?": "Kan ikke dekryptere kommentar; Feil nøkkel?",
|
||||
"Reply": "Svar",
|
||||
"Anonymous": "Anonym",
|
||||
"Avatar generated from IP address": "Anonym avatar generert med data fra IP adressen)",
|
||||
"Add comment": "Legg til kommentar",
|
||||
"Optional nickname…": "Valgfritt kallenavn…",
|
||||
"Post comment": "Send kommentar",
|
||||
"Sending comment…": "Sender Kommentar…",
|
||||
"Comment posted.": "Kommentar sendt.",
|
||||
"Could not refresh display: %s": "Kunne ikke oppdatere bildet: %s",
|
||||
"unknown status": "ukjent status",
|
||||
"server error or not responding": "tjener feilet eller svarer ikke",
|
||||
"Could not post comment: %s": "Kunne ikke sende kommentar: %s",
|
||||
"Sending paste…": "Sender innlegg…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ditt innlegg er <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Trykk [Ctrl]+[c] for å kopiere)</span>",
|
||||
"Delete data": "Slett data",
|
||||
"Could not create paste: %s": "Kunne ikke opprette innlegg: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Kan ikke dekryptere innlegg: Dekrypteringsnøkkelen mangler i adressen (Har du bruket en redirector eller en URL forkorter som fjerner en del av addressen?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Format",
|
||||
"Plain Text": "Ren Tekst",
|
||||
"Source Code": "Kildekode",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Slett vedlegg",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Nettleseren din støtter ikke å laste opp krypterte filer. Vennligst bruk en nyere nettleser.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Nettleseren din støtter ikke å laste opp krypterte filer. Vennligst bruk en nyere nettleser.",
|
||||
"Invalid attachment.": "Ugyldig vedlegg.",
|
||||
"Options": "Alternativer",
|
||||
"Shorten URL": "Adresse forkorter",
|
||||
"Editor": "Rediger",
|
||||
"Preview": "Forhåndsvis",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s krever at PATH ender på \"%s\". Vennligst oppdater PATH i index.php.",
|
||||
"Decrypt":
|
||||
"Dekrypter",
|
||||
"Enter password":
|
||||
"Skriv inn passord",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s krever at PATH ender på \"%s\". Vennligst oppdater PATH i index.php.",
|
||||
"Decrypt": "Dekrypter",
|
||||
"Enter password": "Skriv inn passord",
|
||||
"Loading…": "Laster…",
|
||||
"Decrypting paste…": "Dekrypterer innlegg…",
|
||||
"Preparing new paste…": "Klargjør nytt innlegg…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Hvis denne meldingen ikke forsvinner kan du ta en titt på siden med <a href=\"%s\">ofte stilte spørsmål</a> for informasjon om feilsøking.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Hvis denne meldingen ikke forsvinner kan du ta en titt på siden med <a href=\"%s\">ofte stilte spørsmål</a> for informasjon om feilsøking.",
|
||||
"+++ no paste text +++": "+++ ingen innleggstekst +++",
|
||||
"Could not get paste data: %s":
|
||||
"Kunne ikke hente utklippsdata: %s",
|
||||
"Could not get paste data: %s": "Kunne ikke hente utklippsdata: %s",
|
||||
"QR code": "QR kode",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Denne websiden bruker usikker HTTP tilkobling! Bruk den kun for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For mer informasjon <a href=\"%s\">se ofte stilte spørsmål</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Din nettleser har behov for HTTPS tilkobling for å støtte WebCrypto biblioteket. Prøv å <a href=\"%s\">bytt til HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Denne websiden bruker usikker HTTP tilkobling! Bruk den kun for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For mer informasjon <a href=\"%s\">se ofte stilte spørsmål</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Din nettleser har behov for HTTPS tilkobling for å støtte WebCrypto biblioteket. Prøv å <a href=\"%s\">bytt til HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Nettleseren din støtter ikke WebAssembly som brukes for zlib komprimering. Du kan lage ukomprimerte dokumenter, men du kan ikke lese komprimerte.",
|
||||
"waiting on user to provide a password": "venter på at bruker skal skrive passord",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Kunne ikke dekryptere data. Har du tastet riktig pssord? Prøv igjen med knappen på toppen.",
|
||||
"Retry": "Prøv igjen",
|
||||
"Showing raw text…": "Viser rå-tekst…",
|
||||
"Notice:": "Notat:",
|
||||
"This link will expire after %s.": "Denne lenken vil bli inaktiv etter %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Denne addressen kan kun bli besøkt en gang, ikke trykk på tilbake eller oppdater knappene i nettleseren.",
|
||||
"Link:": "Lenke:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Mottaker kan bli kjent med din tidssone, ønsker du å konvertere til UTC?",
|
||||
"Use Current Timezone": "Bruk gjeldende tidssone",
|
||||
"Convert To UTC": "Konverter til UTC",
|
||||
"Close": "Steng",
|
||||
"Encrypted note on PrivateBin": "Kryptert notat på PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Besøk denne lenken for å se notatet. Hvis lenken deles med andre, vil de også kunne se notatet."
|
||||
}
|
||||
|
||||
286
i18n/oc.json
286
i18n/oc.json
@@ -1,125 +1,129 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s es un 'pastebin' (o gestionari d’extrachs de tèxte e còdi font) minimalista e open source, dins lo qual lo servidor a pas cap de coneissença de las donadas mandadas. Las donadas son chifradas/deschifradas <i>dins lo navigator</i> per un chiframent AES 256 bits. Mai informacions sus <a href=\"https://privatebin.info/\">la pagina del projècte</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Perque lo bonaür es l’ignorància",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s es un 'pastebin' (o gestionari d’extrachs de tèxte e còdi font) minimalista e open source, dins lo qual lo servidor a pas cap de coneissença de las donadas mandadas. Las donadas son chifradas/deschifradas <i>dins lo navigator</i> per un chiframent AES 256 bits. Mai informacions sus <a href=\"https://privatebin.info/\">la pagina del projècte</a>.",
|
||||
"Because ignorance is bliss": "Perque lo bonaür es l’ignorància",
|
||||
"en": "oc",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Lo tèxte existís pas, a expirat, o es estat suprimit.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"O planhèm, %s necessita php %s o superior per foncionar.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s fa besonh de la seccion de configuracion [%s] dins lo fichièr de configuracion per foncionar.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Mercés d'esperar %d segondas entre cada publicacion.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Lo tèxte es limitat a %s de donadas chifradas.",
|
||||
"Invalid data.":
|
||||
"Donadas invalidas.",
|
||||
"You are unlucky. Try again.":
|
||||
"Pas cap de fortuna. Tornatz ensajar.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Error al moment de salvagardar lo comentari. O planhèm.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Error al moment de salvagardar lo tèxte. O planhèm.",
|
||||
"Invalid paste ID.":
|
||||
"ID del tèxte invalid.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Lo tèxte es pas del tip \"Escafar aprèp lectura\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Geton de supression incorrècte. Lo tèxte es pas estat suprimit.",
|
||||
"Paste was properly deleted.":
|
||||
"Lo tèxte es estat corrèctament suprimit.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript es requesit per far foncionar %s. <br />O planhèm per l’inconvenient.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s necessita un navigator modèrn per foncionar.",
|
||||
"New":
|
||||
"Nòu",
|
||||
"Send":
|
||||
"Mandar",
|
||||
"Clone":
|
||||
"Clonar",
|
||||
"Raw text":
|
||||
"Tèxte brut",
|
||||
"Expires":
|
||||
"Expira",
|
||||
"Burn after reading":
|
||||
"Escafar aprèp lectura",
|
||||
"Open discussion":
|
||||
"Autorizar la discussion",
|
||||
"Password (recommended)":
|
||||
"Senhal (recomandat)",
|
||||
"Discussion":
|
||||
"Discussion",
|
||||
"Toggle navigation":
|
||||
"Virar la navigacion",
|
||||
"%d seconds": ["%d segonda", "%d segondas"],
|
||||
"%d minutes": ["%d minuta", "%d minutas"],
|
||||
"%d hours": ["%d ora", "%d oras"],
|
||||
"%d days": ["%d jorn", "%d jorns"],
|
||||
"%d weeks": ["%d setmana", "%d setmanas"],
|
||||
"%d months": ["%d mes", "%d meses"],
|
||||
"%d years": ["%d an", "%d ans"],
|
||||
"Never":
|
||||
"Jamai",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Nota : Aquò es un servici d’espròva : las donadas pòdon èsser suprimidas a cada moment. De catons moriràn s’abusatz d’aqueste servici.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Ce document expirera dans %d seconde.", "Aqueste document expirarà dins %d segondas."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Ce document expirera dans %d minute.", "Aqueste document expirarà dins %d minutas."],
|
||||
"This document will expire in %d hours.":
|
||||
["Ce document expirera dans %d heure.", "Aqueste document expirarà dins %d oras."],
|
||||
"This document will expire in %d days.":
|
||||
["Ce document expirera dans %d jour.", "Aqueste document expirarà dins %d jorns."],
|
||||
"This document will expire in %d months.":
|
||||
["Ce document expirera dans %d mois.", "Aqueste document expirarà dins %d meses."],
|
||||
"Please enter the password for this paste:":
|
||||
"Picatz lo senhal per aqueste tèxte :",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Impossible de deschifrar las donadas (marrida clau ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Impossible de suprimir lo tèxte, perque es pas estat gardat en mòde \"Escafar aprèp lectura\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"PER VÒSTRES UÈLHS SOLAMENT. Tampetz pas aquesta fenèstra, aqueste tèxte poirà pas mai èsser afichat.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Impossible de deschifrar lo comentari ; marrida clau ?",
|
||||
"Reply":
|
||||
"Respondre",
|
||||
"Anonymous":
|
||||
"Anonime",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar anonime (Vizhash de l’adreça IP)",
|
||||
"Add comment":
|
||||
"Apondre un comentari",
|
||||
"Optional nickname…":
|
||||
"Escais opcional…",
|
||||
"Post comment":
|
||||
"Mandar lo comentari",
|
||||
"Sending comment…":
|
||||
"Mandadís del comentari…",
|
||||
"Comment posted.":
|
||||
"Comentari mandat.",
|
||||
"Could not refresh display: %s":
|
||||
"Impossible d’actualizar l’afichatge : %s",
|
||||
"unknown status":
|
||||
"Estatut desconegut",
|
||||
"server error or not responding":
|
||||
"Lo servidor respond pas o a rescontrat una error",
|
||||
"Could not post comment: %s":
|
||||
"Impossible de mandar lo comentari : %s",
|
||||
"Sending paste…":
|
||||
"Mandadís del tèxte…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Vòstre tèxte es disponible a l’adreça <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Picatz sus [Ctrl]+[c] per copiar)</span>",
|
||||
"Delete data":
|
||||
"Supprimir las donadas del tèxte",
|
||||
"Could not create paste: %s":
|
||||
"Impossible de crear lo tèxte : %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Impossible de deschifrar lo tèxte : clau de deschiframent absenta de l’URL (Avètz utilizat un redirector o un site de reduccion d’URL que suprimís una partida de l’URL ?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Lo tèxte existís pas, a expirat, o es estat suprimit.",
|
||||
"%s requires php %s or above to work. Sorry.": "O planhèm, %s necessita php %s o superior per foncionar.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s fa besonh de la seccion de configuracion [%s] dins lo fichièr de configuracion per foncionar.",
|
||||
"Please wait %d seconds between each post.": "Mercés d'esperar %d segondas entre cada publicacion.",
|
||||
"Paste is limited to %s of encrypted data.": "Lo tèxte es limitat a %s de donadas chifradas.",
|
||||
"Invalid data.": "Donadas invalidas.",
|
||||
"You are unlucky. Try again.": "Pas cap de fortuna. Tornatz ensajar.",
|
||||
"Error saving comment. Sorry.": "Error al moment de salvagardar lo comentari. O planhèm.",
|
||||
"Error saving paste. Sorry.": "Error al moment de salvagardar lo tèxte. O planhèm.",
|
||||
"Invalid paste ID.": "ID del tèxte invalid.",
|
||||
"Paste is not of burn-after-reading type.": "Lo tèxte es pas del tip \"Escafar aprèp lectura\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Geton de supression incorrècte. Lo tèxte es pas estat suprimit.",
|
||||
"Paste was properly deleted.": "Lo tèxte es estat corrèctament suprimit.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript es requesit per far foncionar %s. O planhèm per l’inconvenient.",
|
||||
"%s requires a modern browser to work.": "%s necessita un navigator modèrn per foncionar.",
|
||||
"New": "Nòu",
|
||||
"Send": "Mandar",
|
||||
"Clone": "Clonar",
|
||||
"Raw text": "Tèxte brut",
|
||||
"Expires": "Expira",
|
||||
"Burn after reading": "Escafar aprèp lectura",
|
||||
"Open discussion": "Autorizar la discussion",
|
||||
"Password (recommended)": "Senhal (recomandat)",
|
||||
"Discussion": "Discussion",
|
||||
"Toggle navigation": "Virar la navigacion",
|
||||
"%d seconds": [
|
||||
"%d segonda",
|
||||
"%d segondas",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuta",
|
||||
"%d minutas",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d ora",
|
||||
"%d oras",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d jorn",
|
||||
"%d jorns",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d setmana",
|
||||
"%d setmanas",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mes",
|
||||
"%d meses",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d an",
|
||||
"%d ans",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Jamai",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota : Aquò es un servici d’espròva : las donadas pòdon èsser suprimidas a cada moment. De catons moriràn s’abusatz d’aqueste servici.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Ce document expirera dans %d seconde.",
|
||||
"Aqueste document expirarà dins %d segondas.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Ce document expirera dans %d minute.",
|
||||
"Aqueste document expirarà dins %d minutas.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Ce document expirera dans %d heure.",
|
||||
"Aqueste document expirarà dins %d oras.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Ce document expirera dans %d jour.",
|
||||
"Aqueste document expirarà dins %d jorns.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Ce document expirera dans %d mois.",
|
||||
"Aqueste document expirarà dins %d meses.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Picatz lo senhal per aqueste tèxte :",
|
||||
"Could not decrypt data (Wrong key?)": "Impossible de deschifrar las donadas (marrida clau ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Impossible de suprimir lo tèxte, perque es pas estat gardat en mòde \"Escafar aprèp lectura\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "PER VÒSTRES UÈLHS SOLAMENT. Tampetz pas aquesta fenèstra, aqueste tèxte poirà pas mai èsser afichat.",
|
||||
"Could not decrypt comment; Wrong key?": "Impossible de deschifrar lo comentari ; marrida clau ?",
|
||||
"Reply": "Respondre",
|
||||
"Anonymous": "Anonime",
|
||||
"Avatar generated from IP address": "Avatar anonime (Vizhash de l’adreça IP)",
|
||||
"Add comment": "Apondre un comentari",
|
||||
"Optional nickname…": "Escais opcional…",
|
||||
"Post comment": "Mandar lo comentari",
|
||||
"Sending comment…": "Mandadís del comentari…",
|
||||
"Comment posted.": "Comentari mandat.",
|
||||
"Could not refresh display: %s": "Impossible d’actualizar l’afichatge : %s",
|
||||
"unknown status": "Estatut desconegut",
|
||||
"server error or not responding": "Lo servidor respond pas o a rescontrat una error",
|
||||
"Could not post comment: %s": "Impossible de mandar lo comentari : %s",
|
||||
"Sending paste…": "Mandadís del tèxte…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Vòstre tèxte es disponible a l’adreça <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Picatz sus [Ctrl]+[c] per copiar)</span>",
|
||||
"Delete data": "Supprimir las donadas del tèxte",
|
||||
"Could not create paste: %s": "Impossible de crear lo tèxte : %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Impossible de deschifrar lo tèxte : clau de deschiframent absenta de l’URL (Avètz utilizat un redirector o un site de reduccion d’URL que suprimís una partida de l’URL ?)",
|
||||
"B": "o",
|
||||
"KiB": "Kio",
|
||||
"MiB": "Mio",
|
||||
@@ -140,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "autrament lisatz lo fichièr o pegatz l’imatge del quichapapièrs",
|
||||
"File too large, to display a preview. Please download the attachment.": "Fichièr tròp pesuc per mostrar un apercebut. Telecargatz la pèca junta.",
|
||||
"Remove attachment": "Levar la pèça junta",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés d’emplegar un navigator mai recent.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés d’emplegar un navigator mai recent.",
|
||||
"Invalid attachment.": "Pèça junta invalida.",
|
||||
"Options": "Opcions",
|
||||
"Shorten URL": "Acorchir l’URL",
|
||||
"Editor": "Editar",
|
||||
"Preview": "Previsualizar",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s demanda que lo PATH termine en \"%s\". Mercés de metre a jorn lo PATH dins vòstre index.php.",
|
||||
"Decrypt":
|
||||
"Deschifrar",
|
||||
"Enter password":
|
||||
"Picatz lo senhal",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s demanda que lo PATH termine en \"%s\". Mercés de metre a jorn lo PATH dins vòstre index.php.",
|
||||
"Decrypt": "Deschifrar",
|
||||
"Enter password": "Picatz lo senhal",
|
||||
"Loading…": "Cargament…",
|
||||
"Decrypting paste…": "Deschirament del tèxte…",
|
||||
"Preparing new paste…": "Preparacion…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Se per cas aqueste messatge quite pas de s’afichar mercés de gaitar <a href=\"%s\">aquesta FAQ per las solucions</a> (en anglés).",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Se per cas aqueste messatge quite pas de s’afichar mercés de gaitar <a href=\"%s\">aquesta FAQ per las solucions</a> (en anglés).",
|
||||
"+++ no paste text +++": "+++ cap de tèxte pegat +++",
|
||||
"Could not get paste data: %s":
|
||||
"Recuperacion impossibla de las donadas copiadas : %s",
|
||||
"Could not get paste data: %s": "Recuperacion impossibla de las donadas copiadas : %s",
|
||||
"QR code": "Còdi QR",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Aqueste site utiliza una connexion HTTP pas segura ! Mercés de l’utilizar pas que per d’ensages.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"Per mai d’informacions <a href=\"%s\">vejatz aqueste article de FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Se pòt que vòstre navigator faga besonh d’una connexion HTTPS per èsser compatible amb l’API WebCrypto. Ensajatz de <a href=\"%s\">passar al HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Aqueste site utiliza una connexion HTTP pas segura ! Mercés de l’utilizar pas que per d’ensages.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Per mai d’informacions <a href=\"%s\">vejatz aqueste article de FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Se pòt que vòstre navigator faga besonh d’una connexion HTTPS per èsser compatible amb l’API WebCrypto. Ensajatz de <a href=\"%s\">passar al HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Vòstre navigator es pas compatible amb WebAssembly, utilizat per la compression zlib. Podètz crear de documents pas compressat, mas ne podètz pas legir de compressats.",
|
||||
"waiting on user to provide a password": "en espèra que l’utilizaire fornisca un senhal",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Deschiframent de las donadas impossible. Avètz picat un marrit senhal ? Tornatz ensajar amb lo boton ennaut.",
|
||||
"Retry": "Tornar ensajar",
|
||||
"Showing raw text…": "Afichatge del tèxte brut…",
|
||||
"Notice:": "Avertiment :",
|
||||
"This link will expire after %s.": "Aqueste ligam expirarà aprèp %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Òm pòt pas qu’accedir a aqueste ligam qu’un còp, utilizetz pas lo boton precedent o actualizar del navigator.",
|
||||
"Link:": "Ligam :",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Lo destinatari pòt s’avisar de vòstre fus orari, convertir en UTC ?",
|
||||
"Use Current Timezone": "Utilizar l’actual",
|
||||
"Convert To UTC": "Convertir en UTC",
|
||||
"Close": "Tampar",
|
||||
"Encrypted note on PrivateBin": "Nòtas chifradas sus PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visitatz aqueste ligam per veire la nòta. Fornir lo ligam a qualqu’un mai li permet tanben d’accedir a la nòta."
|
||||
}
|
||||
|
||||
295
i18n/pl.json
295
i18n/pl.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s jest minimalistycznym, otwartoźródłowym serwisem typu pastebin, w którym serwer nie ma jakichkolwiek informacji o tym, co jest wklejane. Dane są szyfrowane i deszyfrowane <i>w przeglądarce</i> z użyciem 256-bitowego klucza AES. Więcej informacji na <a href=\"https://privatebin.info/\">stronie projektu</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Ponieważ ignorancja jest cnotą",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s jest minimalistycznym, otwartoźródłowym serwisem typu pastebin, w którym serwer nie ma jakichkolwiek informacji o tym, co jest wklejane. Dane są szyfrowane i deszyfrowane <i>w przeglądarce</i> z użyciem 256-bitowego klucza AES. Więcej informacji na <a href=\"https://privatebin.info/\">stronie projektu</a>.",
|
||||
"Because ignorance is bliss": "Ponieważ ignorancja jest cnotą",
|
||||
"en": "pl",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Wklejka nie istnieje, wygasła albo została usunięta.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s wymaga PHP w wersji %s lub nowszej. Przykro mi.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s wymaga obecności sekcji [%s] w pliku konfiguracyjnym.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Poczekaj %d sekund pomiędzy każdą wklejką.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Wklejka jest limitowana do %s zaszyfrowanych danych.",
|
||||
"Invalid data.":
|
||||
"Nieprawidłowe dane.",
|
||||
"You are unlucky. Try again.":
|
||||
"Miałeś pecha. Spróbuj ponownie.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Błąd przy zapisywaniu komentarza, sorry.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Błąd przy zapisywaniu wklejki, sorry.",
|
||||
"Invalid paste ID.":
|
||||
"Nieprawidłowe ID wklejki.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Ta wklejka nie ulega autodestrukcji po przeczytaniu.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Nieprawidłowy token usuwania. Wklejka nie została usunięta.",
|
||||
"Paste was properly deleted.":
|
||||
"Wklejka usunięta poprawnie.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"Do działania %sa jest wymagany JavaScript. Przepraszamy za tę niedogodność.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s wymaga do działania nowoczesnej przeglądarki.",
|
||||
"New":
|
||||
"Nowa",
|
||||
"Send":
|
||||
"Wyślij",
|
||||
"Clone":
|
||||
"Sklonuj",
|
||||
"Raw text":
|
||||
"Czysty tekst",
|
||||
"Expires":
|
||||
"Wygasa za",
|
||||
"Burn after reading":
|
||||
"Zniszcz po przeczytaniu",
|
||||
"Open discussion":
|
||||
"Otwarta dyskusja",
|
||||
"Password (recommended)":
|
||||
"Hasło (zalecane)",
|
||||
"Discussion":
|
||||
"Dyskusja",
|
||||
"Toggle navigation":
|
||||
"Przełącz nawigację",
|
||||
"%d seconds": ["%d second", "%d second", "%d second"],
|
||||
"%d minutes": ["%d minut", "%d minut", "%d minut"],
|
||||
"%d hours": ["%d godzina", "%d godzina", "%d godzinę"],
|
||||
"%d days": ["%d dzień", "%d dzień", "%d dzień"],
|
||||
"%d weeks": ["%d tydzień", "%d tydzień", "%d tydzień"],
|
||||
"%d months": ["%d miesiąc", "%d miesiąc", "%d miesiąc"],
|
||||
"%d years": ["%d rok", "%d rok", "%d rok"],
|
||||
"Never":
|
||||
"nigdy",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Notka: To jest usługa testowa. Dane mogą zostać usunięte w dowolnym momencie. Kociątka umrą, jeśli nadużyjesz tej usługi.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Ten dokument wygaśnie za %d sekundę.", "Ten dokument wygaśnie za %d sekund."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Ten dokument wygaśnie za %d minutę.", "Ten dokument wygaśnie za %d minut."],
|
||||
"This document will expire in %d hours.":
|
||||
["Ten dokument wygaśnie za godzinę.", "Ten dokument wygaśnie za %d godzin."],
|
||||
"This document will expire in %d days.":
|
||||
["Ten dokument wygaśnie za %d dzień.", "Ten dokument wygaśnie za %d dni."],
|
||||
"This document will expire in %d months.":
|
||||
["Ten dokument wygaśnie za miesiąc.", "Ten dokument wygaśnie za %d miesięcy."],
|
||||
"Please enter the password for this paste:":
|
||||
"Wpisz hasło dla tej wklejki:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Nie udało się odszyfrować danych (zły klucz?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Nie udało się usunąć wklejki, nie została zapisana w trybie zniszczenia po przeczytaniu.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"TYLKO DO TWOJEGO WGLĄDU. Nie zamykaj tego okna, ta wiadomość nie będzie mogła być wyświetlona ponownie.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Nie udało się odszyfrować komentarza; zły klucz?",
|
||||
"Reply":
|
||||
"Odpowiedz",
|
||||
"Anonymous":
|
||||
"Anonim",
|
||||
"Avatar generated from IP address":
|
||||
"Anonimowy avatar (Vizhash z adresu IP)",
|
||||
"Add comment":
|
||||
"Dodaj komentarz",
|
||||
"Optional nickname…":
|
||||
"Opcjonalny nick…",
|
||||
"Post comment":
|
||||
"Wyślij komentarz",
|
||||
"Sending comment…":
|
||||
"Wysyłanie komentarza…",
|
||||
"Comment posted.":
|
||||
"Wysłano komentarz.",
|
||||
"Could not refresh display: %s":
|
||||
"Nie można odświeżyć widoku: %s",
|
||||
"unknown status":
|
||||
"nieznany status",
|
||||
"server error or not responding":
|
||||
"błąd serwera lub brak odpowiedzi",
|
||||
"Could not post comment: %s":
|
||||
"Nie udało się wysłać komentarza: %s",
|
||||
"Sending paste…":
|
||||
"Wysyłanie wklejki…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Twoja wklejka to <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(wciśnij [Ctrl]+[c] aby skopiować)</span>",
|
||||
"Delete data":
|
||||
"Skasuj dane",
|
||||
"Could not create paste: %s":
|
||||
"Nie udało się utworzyć wklejki: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Nie udało się odszyfrować wklejki - brak klucza deszyfrującego w adresie (użyłeś skracacza linków, który ucina część adresu?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Wklejka nie istnieje, wygasła albo została usunięta.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s wymaga PHP w wersji %s lub nowszej. Przykro mi.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s wymaga obecności sekcji [%s] w pliku konfiguracyjnym.",
|
||||
"Please wait %d seconds between each post.": "Poczekaj %d sekund pomiędzy każdą wklejką.",
|
||||
"Paste is limited to %s of encrypted data.": "Wklejka jest limitowana do %s zaszyfrowanych danych.",
|
||||
"Invalid data.": "Nieprawidłowe dane.",
|
||||
"You are unlucky. Try again.": "Miałeś pecha. Spróbuj ponownie.",
|
||||
"Error saving comment. Sorry.": "Błąd przy zapisywaniu komentarza, sorry.",
|
||||
"Error saving paste. Sorry.": "Błąd przy zapisywaniu wklejki, sorry.",
|
||||
"Invalid paste ID.": "Nieprawidłowe ID wklejki.",
|
||||
"Paste is not of burn-after-reading type.": "Ta wklejka nie ulega autodestrukcji po przeczytaniu.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Nieprawidłowy token usuwania. Wklejka nie została usunięta.",
|
||||
"Paste was properly deleted.": "Wklejka usunięta poprawnie.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Do działania %sa jest wymagany JavaScript. Przepraszamy za tę niedogodność.",
|
||||
"%s requires a modern browser to work.": "%s wymaga do działania nowoczesnej przeglądarki.",
|
||||
"New": "Nowa",
|
||||
"Send": "Wyślij",
|
||||
"Clone": "Sklonuj",
|
||||
"Raw text": "Czysty tekst",
|
||||
"Expires": "Wygasa za",
|
||||
"Burn after reading": "Zniszcz po przeczytaniu",
|
||||
"Open discussion": "Otwarta dyskusja",
|
||||
"Password (recommended)": "Hasło (zalecane)",
|
||||
"Discussion": "Dyskusja",
|
||||
"Toggle navigation": "Przełącz nawigację",
|
||||
"%d seconds": [
|
||||
"%d second",
|
||||
"%d second",
|
||||
"%d second",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minut",
|
||||
"%d minut",
|
||||
"%d minut",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d godzina",
|
||||
"%d godzina",
|
||||
"%d godzinę",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d dzień",
|
||||
"%d dzień",
|
||||
"%d dzień",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d tydzień",
|
||||
"%d tydzień",
|
||||
"%d tydzień",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d miesiąc",
|
||||
"%d miesiąc",
|
||||
"%d miesiąc",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d rok",
|
||||
"%d rok",
|
||||
"%d rok",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "nigdy",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Notka: To jest usługa testowa. Dane mogą zostać usunięte w dowolnym momencie. Kociątka umrą, jeśli nadużyjesz tej usługi.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Ten dokument wygaśnie za %d sekundę.",
|
||||
"Ten dokument wygaśnie za %d sekund.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Ten dokument wygaśnie za %d minutę.",
|
||||
"Ten dokument wygaśnie za %d minut.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Ten dokument wygaśnie za godzinę.",
|
||||
"Ten dokument wygaśnie za %d godzin.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Ten dokument wygaśnie za %d dzień.",
|
||||
"Ten dokument wygaśnie za %d dni.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Ten dokument wygaśnie za miesiąc.",
|
||||
"Ten dokument wygaśnie za %d miesięcy.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Wpisz hasło dla tej wklejki:",
|
||||
"Could not decrypt data (Wrong key?)": "Nie udało się odszyfrować danych (zły klucz?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Nie udało się usunąć wklejki, nie została zapisana w trybie zniszczenia po przeczytaniu.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "TYLKO DO TWOJEGO WGLĄDU. Nie zamykaj tego okna, ta wiadomość nie będzie mogła być wyświetlona ponownie.",
|
||||
"Could not decrypt comment; Wrong key?": "Nie udało się odszyfrować komentarza; zły klucz?",
|
||||
"Reply": "Odpowiedz",
|
||||
"Anonymous": "Anonim",
|
||||
"Avatar generated from IP address": "Anonimowy avatar (Vizhash z adresu IP)",
|
||||
"Add comment": "Dodaj komentarz",
|
||||
"Optional nickname…": "Opcjonalny nick…",
|
||||
"Post comment": "Wyślij komentarz",
|
||||
"Sending comment…": "Wysyłanie komentarza…",
|
||||
"Comment posted.": "Wysłano komentarz.",
|
||||
"Could not refresh display: %s": "Nie można odświeżyć widoku: %s",
|
||||
"unknown status": "nieznany status",
|
||||
"server error or not responding": "błąd serwera lub brak odpowiedzi",
|
||||
"Could not post comment: %s": "Nie udało się wysłać komentarza: %s",
|
||||
"Sending paste…": "Wysyłanie wklejki…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Twoja wklejka to <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(wciśnij [Ctrl]+[c] aby skopiować)</span>",
|
||||
"Delete data": "Skasuj dane",
|
||||
"Could not create paste: %s": "Nie udało się utworzyć wklejki: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nie udało się odszyfrować wklejki - brak klucza deszyfrującego w adresie (użyłeś skracacza linków, który ucina część adresu?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Format",
|
||||
"Plain Text": "Czysty tekst",
|
||||
"Source Code": "Kod źródłowy",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "Alternatywnie przeciągnij i upuść plik albo wklej obraz ze schowka",
|
||||
"File too large, to display a preview. Please download the attachment.": "Plik zbyt duży aby wyświetlić podgląd. Proszę pobrać załącznik.",
|
||||
"Remove attachment": "Usuń załącznik",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Twoja przeglądarka nie wspiera wysyłania zaszyfrowanych plików. Użyj nowszej przeglądarki.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Twoja przeglądarka nie wspiera wysyłania zaszyfrowanych plików. Użyj nowszej przeglądarki.",
|
||||
"Invalid attachment.": "Nieprawidłowy załącznik.",
|
||||
"Options": "Opcje",
|
||||
"Shorten URL": "Skróć adres URL",
|
||||
"Editor": "Edytować",
|
||||
"Preview": "Podgląd",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt":
|
||||
"Odszyfruj",
|
||||
"Enter password":
|
||||
"Wpisz hasło",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt": "Odszyfruj",
|
||||
"Enter password": "Wpisz hasło",
|
||||
"Loading…": "Wczytywanie…",
|
||||
"Decrypting paste…": "Odszyfrowywanie wklejki…",
|
||||
"Preparing new paste…": "Przygotowywanie nowej wklejki…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"W przypadku gdy ten komunikat nigdy nie znika, proszę spójrz na <a href=\"%s\">to FAQ aby rozwiązać problem</a> (po angielsku).",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "W przypadku gdy ten komunikat nigdy nie znika, proszę spójrz na <a href=\"%s\">to FAQ aby rozwiązać problem</a> (po angielsku).",
|
||||
"+++ no paste text +++": "+++ brak wklejonego tekstu +++",
|
||||
"Could not get paste data: %s":
|
||||
"Nie można było pobrać danych wklejki: %s",
|
||||
"Could not get paste data: %s": "Nie można było pobrać danych wklejki: %s",
|
||||
"QR code": "Kod QR",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
297
i18n/pt.json
297
i18n/pt.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s é um serviço minimalista e de código aberto do tipo \"pastebin\", em que o servidor tem zero conhecimento dos dados copiados. Os dados são cifrados e decifrados <i>no navegador</i> usando 256 bits AES. Mais informações na <a href=\"https://privatebin.info/\">página do projeto</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Porque a ignorância é uma benção",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s é um serviço minimalista e de código aberto do tipo \"pastebin\", em que o servidor tem zero conhecimento dos dados copiados. Os dados são cifrados e decifrados <i>no navegador</i> usando 256 bits AES. Mais informações na <a href=\"https://privatebin.info/\">página do projeto</a>.",
|
||||
"Because ignorance is bliss": "Porque a ignorância é uma benção",
|
||||
"en": "pt",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"A cópia não existe, expirou ou já foi excluída.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s requer php %s ou superior para funcionar. Desculpa.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s requer que a seção de configuração [% s] esteja no arquivo de configuração.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Por favor espere %d segundos entre cada publicação.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"A cópia está limitada a %s de dados cifrados.",
|
||||
"Invalid data.":
|
||||
"Dados inválidos.",
|
||||
"You are unlucky. Try again.":
|
||||
"Você é azarado. Tente novamente",
|
||||
"Error saving comment. Sorry.":
|
||||
"Erro ao salvar comentário. Desculpa.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Erro ao salvar cópia. Desculpa.",
|
||||
"Invalid paste ID.":
|
||||
"ID de cópia inválido.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Cópia não é do tipo \"queime após ler\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Token de remoção inválido. A cópia não foi excluída.",
|
||||
"Paste was properly deleted.":
|
||||
"A cópia foi devidamente excluída.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"JavaScript é necessário para que %s funcione.<br />Pedimos desculpas pela inconveniência.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s requer um navegador moderno para funcionar.",
|
||||
"New":
|
||||
"Novo",
|
||||
"Send":
|
||||
"Enviar",
|
||||
"Clone":
|
||||
"Clonar",
|
||||
"Raw text":
|
||||
"Texto sem formato",
|
||||
"Expires":
|
||||
"Expirar em",
|
||||
"Burn after reading":
|
||||
"Queime após ler",
|
||||
"Open discussion":
|
||||
"Discussão aberta",
|
||||
"Password (recommended)":
|
||||
"Senha (recomendada)",
|
||||
"Discussion":
|
||||
"Discussão",
|
||||
"Toggle navigation":
|
||||
"Mudar navegação",
|
||||
"%d seconds": ["%d segundo", "%d segundos"],
|
||||
"%d minutes": ["%d minuto", "%d minutos"],
|
||||
"%d hours": ["%d hora", "%d horas"],
|
||||
"%d days": ["%d dia", "%d dias"],
|
||||
"%d weeks": ["%d semana", "%d semanas"],
|
||||
"%d months": ["%d mês", "%d meses"],
|
||||
"%d years": ["%d ano", "%d anos"],
|
||||
"Never":
|
||||
"Nunca",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Nota: Este é um serviço de teste. Dados podem ser perdidos a qualquer momento. Gatinhos morrerão se você abusar desse serviço.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Este documento irá expirar em um segundo.", "Este documento irá expirar em %d segundos."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Este documento irá expirar em um minuto.", "Este documento irá expirar em %d minutos."],
|
||||
"This document will expire in %d hours.":
|
||||
["Este documento irá expirar em uma hora.", "Este documento irá expirar em %d horas."],
|
||||
"This document will expire in %d days.":
|
||||
["Este documento irá expirar em um dia.", "Este documento irá expirar em %d dias."],
|
||||
"This document will expire in %d months.":
|
||||
["Este documento irá expirar em um mês.", "Este documento irá expirar em %d meses."],
|
||||
"Please enter the password for this paste:":
|
||||
"Por favor, digite a senha para essa cópia:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Não foi possível decifrar os dados (Chave errada?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Não foi possível excluir a cópia, ela não foi salva no modo de \"queime após ler\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"APENAS PARA SEUS OLHOS. Não feche essa janela, essa mensagem não pode ser exibida novamente.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Não foi possível decifrar o comentário; Chave errada?",
|
||||
"Reply":
|
||||
"Responder",
|
||||
"Anonymous":
|
||||
"Anônimo",
|
||||
"Avatar generated from IP address":
|
||||
"Avatar gerado à partir do endereço IP",
|
||||
"Add comment":
|
||||
"Adicionar comentário",
|
||||
"Optional nickname…":
|
||||
"Apelido opcional…",
|
||||
"Post comment":
|
||||
"Publicar comentário",
|
||||
"Sending comment…":
|
||||
"Enviando comentário…",
|
||||
"Comment posted.":
|
||||
"Comentário publicado.",
|
||||
"Could not refresh display: %s":
|
||||
"Não foi possível atualizar a tela: %s",
|
||||
"unknown status":
|
||||
"Estado desconhecido",
|
||||
"server error or not responding":
|
||||
"Servidor em erro ou não responsivo",
|
||||
"Could not post comment: %s":
|
||||
"Não foi possível publicar o comentário: %s",
|
||||
"Sending paste…":
|
||||
"Enviando cópia…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Sua cópia é <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Pressione [Ctrl]+[c] para copiar)</span>",
|
||||
"Delete data":
|
||||
"Excluir dados",
|
||||
"Could not create paste: %s":
|
||||
"Não foi possível criar cópia: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Não foi possível decifrar a cópia: chave de decriptografia ausente na URL (Você utilizou um redirecionador ou encurtador de URL que removeu parte dela?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "A cópia não existe, expirou ou já foi excluída.",
|
||||
"%s requires php %s or above to work. Sorry.": "%s requer php %s ou superior para funcionar. Desculpa.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s requer que a seção de configuração [% s] esteja no arquivo de configuração.",
|
||||
"Please wait %d seconds between each post.": "Por favor espere %d segundos entre cada publicação.",
|
||||
"Paste is limited to %s of encrypted data.": "A cópia está limitada a %s de dados cifrados.",
|
||||
"Invalid data.": "Dados inválidos.",
|
||||
"You are unlucky. Try again.": "Você é azarado. Tente novamente",
|
||||
"Error saving comment. Sorry.": "Erro ao salvar comentário. Desculpa.",
|
||||
"Error saving paste. Sorry.": "Erro ao salvar cópia. Desculpa.",
|
||||
"Invalid paste ID.": "ID de cópia inválido.",
|
||||
"Paste is not of burn-after-reading type.": "Cópia não é do tipo \"queime após ler\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Token de remoção inválido. A cópia não foi excluída.",
|
||||
"Paste was properly deleted.": "A cópia foi devidamente excluída.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript é necessário para que %s funcione. Pedimos desculpas pela inconveniência.",
|
||||
"%s requires a modern browser to work.": "%s requer um navegador moderno para funcionar.",
|
||||
"New": "Novo",
|
||||
"Send": "Enviar",
|
||||
"Clone": "Clonar",
|
||||
"Raw text": "Texto sem formato",
|
||||
"Expires": "Expirar em",
|
||||
"Burn after reading": "Queime após ler",
|
||||
"Open discussion": "Discussão aberta",
|
||||
"Password (recommended)": "Senha (recomendada)",
|
||||
"Discussion": "Discussão",
|
||||
"Toggle navigation": "Mudar navegação",
|
||||
"%d seconds": [
|
||||
"%d segundo",
|
||||
"%d segundos",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuto",
|
||||
"%d minutos",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d hora",
|
||||
"%d horas",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d dia",
|
||||
"%d dias",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d semana",
|
||||
"%d semanas",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mês",
|
||||
"%d meses",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d ano",
|
||||
"%d anos",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Nunca",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota: Este é um serviço de teste. Dados podem ser perdidos a qualquer momento. Gatinhos morrerão se você abusar desse serviço.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Este documento irá expirar em um segundo.",
|
||||
"Este documento irá expirar em %d segundos.",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Este documento irá expirar em um minuto.",
|
||||
"Este documento irá expirar em %d minutos.",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Este documento irá expirar em uma hora.",
|
||||
"Este documento irá expirar em %d horas.",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Este documento irá expirar em um dia.",
|
||||
"Este documento irá expirar em %d dias.",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Este documento irá expirar em um mês.",
|
||||
"Este documento irá expirar em %d meses.",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Por favor, digite a senha para essa cópia:",
|
||||
"Could not decrypt data (Wrong key?)": "Não foi possível decifrar os dados (Chave errada?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Não foi possível excluir a cópia, ela não foi salva no modo de \"queime após ler\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "APENAS PARA SEUS OLHOS. Não feche essa janela, essa mensagem não pode ser exibida novamente.",
|
||||
"Could not decrypt comment; Wrong key?": "Não foi possível decifrar o comentário; Chave errada?",
|
||||
"Reply": "Responder",
|
||||
"Anonymous": "Anônimo",
|
||||
"Avatar generated from IP address": "Avatar gerado à partir do endereço IP",
|
||||
"Add comment": "Adicionar comentário",
|
||||
"Optional nickname…": "Apelido opcional…",
|
||||
"Post comment": "Publicar comentário",
|
||||
"Sending comment…": "Enviando comentário…",
|
||||
"Comment posted.": "Comentário publicado.",
|
||||
"Could not refresh display: %s": "Não foi possível atualizar a tela: %s",
|
||||
"unknown status": "Estado desconhecido",
|
||||
"server error or not responding": "Servidor em erro ou não responsivo",
|
||||
"Could not post comment: %s": "Não foi possível publicar o comentário: %s",
|
||||
"Sending paste…": "Enviando cópia…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Sua cópia é <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Pressione [Ctrl]+[c] para copiar)</span>",
|
||||
"Delete data": "Excluir dados",
|
||||
"Could not create paste: %s": "Não foi possível criar cópia: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Não foi possível decifrar a cópia: chave de decriptografia ausente na URL (Você utilizou um redirecionador ou encurtador de URL que removeu parte dela?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "Formato",
|
||||
"Plain Text": "Texto sem formato",
|
||||
"Source Code": "Código fonte",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Remover anexo",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Seu navegador não permite subir arquivos cifrados. Por favor, utilize um navegador mais recente.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Seu navegador não permite subir arquivos cifrados. Por favor, utilize um navegador mais recente.",
|
||||
"Invalid attachment.": "Anexo inválido.",
|
||||
"Options": "Opções",
|
||||
"Shorten URL": "Encurtar URL",
|
||||
"Editor": "Editor",
|
||||
"Preview": "Visualizar",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requer que o PATH termine em \"%s\". Por favor, atualize o PATH em seu index.php.",
|
||||
"Decrypt":
|
||||
"Decifrar",
|
||||
"Enter password":
|
||||
"Digite a senha",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requer que o PATH termine em \"%s\". Por favor, atualize o PATH em seu index.php.",
|
||||
"Decrypt": "Decifrar",
|
||||
"Enter password": "Digite a senha",
|
||||
"Loading…": "Carregando…",
|
||||
"Decrypting paste…": "Decifrando cópia…",
|
||||
"Preparing new paste…": "Preparando nova cópia…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Caso essa mensagem nunca desapareça, por favor veja <a href=\"%s\">este FAQ para saber como resolver os problemas</a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Caso essa mensagem nunca desapareça, por favor veja <a href=\"%s\">este FAQ para saber como resolver os problemas</a>.",
|
||||
"+++ no paste text +++": "+++ sem texto de cópia +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"Could not get paste data: %s": "Não foi possível obter dados de cópia: %s",
|
||||
"QR code": "Código QR",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Esse site usa uma conexão HTTP insegura! Use-o apenas para testes.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Para mais informações <a href=\"%s\">veja esse item do FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Seu navegador pode exigir uma conexão HTTPS para dar suporte à API WebCrypto. Tente <a href=\"%s\">mudar para HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Seu navagador não suporta WebAssembly, usado para compressão zlib. Você pode criar documentos não compactados, mas não pode lê-los.",
|
||||
"waiting on user to provide a password": "esperando que o usuário digite uma senha",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Não foi possível decifrar os dados. Você digitou a senha corretamente? Tente novamente com o botão ao topo.",
|
||||
"Retry": "Tentar Novamente",
|
||||
"Showing raw text…": "Mostrando texto bruto…",
|
||||
"Notice:": "Aviso:",
|
||||
"This link will expire after %s.": "Esse link vai expirar após %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Esse link só pode ser acessado uma vez, não utilize o botão de voltar ou atualizar do seu navegador.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "O recipiente pode ter ciência de seu fuso horário, converter hora para UTC?",
|
||||
"Use Current Timezone": "Usar Fuso Horário Atual",
|
||||
"Convert To UTC": "Converter para UTC",
|
||||
"Close": "Fechar",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
289
i18n/ru.json
289
i18n/ru.json
@@ -1,125 +1,129 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s это минималистичный Open Source проект для создания заметок, где сервер не знает ничего о сохраняемых данных. Данные шифруются/расшифровываются <i>в браузере</i> с использованием 256 битного шифрования AES. Подробнее можно узнать на <a href=\"https://privatebin.info/\">сайте проекта</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Потому что неведение - благо",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s это минималистичный Open Source проект для создания заметок, где сервер не знает ничего о сохраняемых данных. Данные шифруются/расшифровываются <i>в браузере</i> с использованием 256 битного шифрования AES. Подробнее можно узнать на <a href=\"https://privatebin.info/\">сайте проекта</a>.",
|
||||
"Because ignorance is bliss": "Потому что неведение - благо",
|
||||
"en": "ru",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Запись не существует, просрочена или была удалена.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"Для работы %s требуется php %s или выше. Извините.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s необходимо наличие секции [%s] в конфигурационном файле.",
|
||||
"Please wait %d seconds between each post.":
|
||||
["Пожалуйста, ожидайте %d секунду между каждыми записями.", "Пожалуйста, ожидайте %d секунды между каждыми записями.", "Пожалуйста, ожидайте %d секунд между каждыми записями."],
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Размер записи ограничен %s зашифрованных данных.",
|
||||
"Invalid data.":
|
||||
"Неверные данные.",
|
||||
"You are unlucky. Try again.":
|
||||
"Вам не повезло. Попробуйте еще раз.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Ошибка при сохранении комментария. Извините.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Ошибка при сохранении записи. Извините.",
|
||||
"Invalid paste ID.":
|
||||
"Неверный ID записи.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Тип записи не \"Удалить после прочтения\".",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Неверный ключ удаления записи. Запись не удалена.",
|
||||
"Paste was properly deleted.":
|
||||
"Запись была успешно удалена.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"Для работы %s требуется включенный JavaScript.<br />Приносим извинения за неудобства.",
|
||||
"%s requires a modern browser to work.":
|
||||
"Для работы %s требуется более современный браузер.",
|
||||
"New":
|
||||
"Новая запись",
|
||||
"Send":
|
||||
"Отправить",
|
||||
"Clone":
|
||||
"Дублировать",
|
||||
"Raw text":
|
||||
"Исходный текст",
|
||||
"Expires":
|
||||
"Удалить через",
|
||||
"Burn after reading":
|
||||
"Удалить после прочтения",
|
||||
"Open discussion":
|
||||
"Открыть обсуждение",
|
||||
"Password (recommended)":
|
||||
"Пароль (рекомендуется)",
|
||||
"Discussion":
|
||||
"Обсуждение",
|
||||
"Toggle navigation":
|
||||
"Переключить навигацию",
|
||||
"%d seconds": ["%d секунду", "%d секунды", "%d секунд"],
|
||||
"%d minutes": ["%d минуту", "%d минуты", "%d минут"],
|
||||
"%d hours": ["%d час", "%d часа", "%d часов"],
|
||||
"%d days": ["%d день", "%d дня", "%d дней"],
|
||||
"%d weeks": ["%d неделю", "%d недели", "%d недель"],
|
||||
"%d months": ["%d месяц", "%d месяца", "%d месяцев"],
|
||||
"%d years": ["%d год", "%d года", "%d лет"],
|
||||
"Never":
|
||||
"Никогда",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Примечание: Этот сервис тестовый: Данные могут быть удалены в любое время. Котята умрут, если вы будете злоупотреблять серсисом.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Документ будет удален через %d секунду.", "Документ будет удален через %d секунды.", "Документ будет удален через %d секунд."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Документ будет удален через %d минуту.", "Документ будет удален через %d минуты.", "Документ будет удален через %d минут."],
|
||||
"This document will expire in %d hours.":
|
||||
["Документ будет удален через %d час.", "Документ будет удален через %d часа.", "Документ будет удален через %d часов."],
|
||||
"This document will expire in %d days.":
|
||||
["Документ будет удален через %d день.", "Документ будет удален через %d дня.", "Документ будет удален через %d дней."],
|
||||
"This document will expire in %d months.":
|
||||
["Документ будет удален через %d месяц.", "Документ будет удален через %d месяца.", "Документ будет удален через %d месяцев."],
|
||||
"Please enter the password for this paste:":
|
||||
"Пожалуйста, введите пароль от записи:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Невозможно расшифровать данные (Неверный ключ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Невозможно удалить запись, она не была сохранена в режиме удаления после прочтения.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"ТОЛЬКО ДЛЯ ВАШИХ ГЛАЗ. Не закрывайте это окно, это сообщение не может быть показано снова.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Невозможно расшифровать комментарий; Неверный ключ?",
|
||||
"Reply":
|
||||
"Ответить",
|
||||
"Anonymous":
|
||||
"Аноним",
|
||||
"Avatar generated from IP address":
|
||||
"Аватар, сгенерированный из IP-адреса",
|
||||
"Add comment":
|
||||
"Добавить комментарий",
|
||||
"Optional nickname…":
|
||||
"Опциональный никнейм…",
|
||||
"Post comment":
|
||||
"Отправить комментарий",
|
||||
"Sending comment…":
|
||||
"Отправка комментария…",
|
||||
"Comment posted.":
|
||||
"Комментарий опубликован.",
|
||||
"Could not refresh display: %s":
|
||||
"Не удалось обновить отображение: %s",
|
||||
"unknown status":
|
||||
"неизвестная причина",
|
||||
"server error or not responding":
|
||||
"ошибка сервера или нет ответа",
|
||||
"Could not post comment: %s":
|
||||
"Не удалось опубликовать комментарий: %s",
|
||||
"Sending paste…":
|
||||
"Отправка записи…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Ссылка на запись <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Нажмите [Ctrl]+[c], чтобы скопировать ссылку)</span>",
|
||||
"Delete data":
|
||||
"Удалить запись",
|
||||
"Could not create paste: %s":
|
||||
"Не удалось опубликовать запись: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Невозможно расшифровать запись: Ключ расшифровки отсутствует в ссылке (Может быть, вы используете сокращатель ссылок, который удаляет часть ссылки?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Запись не существует, просрочена или была удалена.",
|
||||
"%s requires php %s or above to work. Sorry.": "Для работы %s требуется php %s или выше. Извините.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s необходимо наличие секции [%s] в конфигурационном файле.",
|
||||
"Please wait %d seconds between each post.": "Please wait %d seconds between each post.",
|
||||
"Paste is limited to %s of encrypted data.": "Размер записи ограничен %s зашифрованных данных.",
|
||||
"Invalid data.": "Неверные данные.",
|
||||
"You are unlucky. Try again.": "Вам не повезло. Попробуйте еще раз.",
|
||||
"Error saving comment. Sorry.": "Ошибка при сохранении комментария. Извините.",
|
||||
"Error saving paste. Sorry.": "Ошибка при сохранении записи. Извините.",
|
||||
"Invalid paste ID.": "Неверный ID записи.",
|
||||
"Paste is not of burn-after-reading type.": "Тип записи не \"Удалить после прочтения\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Неверный ключ удаления записи. Запись не удалена.",
|
||||
"Paste was properly deleted.": "Запись была успешно удалена.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Для работы %s требуется включенный JavaScript. Приносим извинения за неудобства.",
|
||||
"%s requires a modern browser to work.": "Для работы %s требуется более современный браузер.",
|
||||
"New": "Новая запись",
|
||||
"Send": "Отправить",
|
||||
"Clone": "Дублировать",
|
||||
"Raw text": "Исходный текст",
|
||||
"Expires": "Удалить через",
|
||||
"Burn after reading": "Удалить после прочтения",
|
||||
"Open discussion": "Открыть обсуждение",
|
||||
"Password (recommended)": "Пароль (рекомендуется)",
|
||||
"Discussion": "Обсуждение",
|
||||
"Toggle navigation": "Переключить навигацию",
|
||||
"%d seconds": [
|
||||
"%d секунду",
|
||||
"%d секунды",
|
||||
"%d секунд",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d минуту",
|
||||
"%d минуты",
|
||||
"%d минут",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d час",
|
||||
"%d часа",
|
||||
"%d часов",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d день",
|
||||
"%d дня",
|
||||
"%d дней",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d неделю",
|
||||
"%d недели",
|
||||
"%d недель",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d месяц",
|
||||
"%d месяца",
|
||||
"%d месяцев",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d год",
|
||||
"%d года",
|
||||
"%d лет",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Никогда",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Примечание: Этот сервис тестовый: Данные могут быть удалены в любое время. Котята умрут, если вы будете злоупотреблять серсисом.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Документ будет удален через %d секунду.",
|
||||
"Документ будет удален через %d секунды.",
|
||||
"Документ будет удален через %d секунд.",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Документ будет удален через %d минуту.",
|
||||
"Документ будет удален через %d минуты.",
|
||||
"Документ будет удален через %d минут.",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Документ будет удален через %d час.",
|
||||
"Документ будет удален через %d часа.",
|
||||
"Документ будет удален через %d часов.",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Документ будет удален через %d день.",
|
||||
"Документ будет удален через %d дня.",
|
||||
"Документ будет удален через %d дней.",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Документ будет удален через %d месяц.",
|
||||
"Документ будет удален через %d месяца.",
|
||||
"Документ будет удален через %d месяцев.",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Пожалуйста, введите пароль от записи:",
|
||||
"Could not decrypt data (Wrong key?)": "Невозможно расшифровать данные (Неверный ключ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Невозможно удалить запись, она не была сохранена в режиме удаления после прочтения.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "ТОЛЬКО ДЛЯ ВАШИХ ГЛАЗ. Не закрывайте это окно, это сообщение не может быть показано снова.",
|
||||
"Could not decrypt comment; Wrong key?": "Невозможно расшифровать комментарий; Неверный ключ?",
|
||||
"Reply": "Ответить",
|
||||
"Anonymous": "Аноним",
|
||||
"Avatar generated from IP address": "Аватар, сгенерированный из IP-адреса",
|
||||
"Add comment": "Добавить комментарий",
|
||||
"Optional nickname…": "Опциональный никнейм…",
|
||||
"Post comment": "Отправить комментарий",
|
||||
"Sending comment…": "Отправка комментария…",
|
||||
"Comment posted.": "Комментарий опубликован.",
|
||||
"Could not refresh display: %s": "Не удалось обновить отображение: %s",
|
||||
"unknown status": "неизвестная причина",
|
||||
"server error or not responding": "ошибка сервера или нет ответа",
|
||||
"Could not post comment: %s": "Не удалось опубликовать комментарий: %s",
|
||||
"Sending paste…": "Отправка записи…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ссылка на запись <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Нажмите [Ctrl]+[c], чтобы скопировать ссылку)</span>",
|
||||
"Delete data": "Удалить запись",
|
||||
"Could not create paste: %s": "Не удалось опубликовать запись: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Невозможно расшифровать запись: Ключ расшифровки отсутствует в ссылке (Может быть, вы используете сокращатель ссылок, который удаляет часть ссылки?)",
|
||||
"B": "байт",
|
||||
"KiB": "Кбайт",
|
||||
"MiB": "Мбайт",
|
||||
@@ -135,40 +139,43 @@
|
||||
"Markdown": "Язык разметки",
|
||||
"Download attachment": "Скачать прикрепленный файл",
|
||||
"Cloned: '%s'": "Дублировано: '%s'",
|
||||
"The cloned file '%s' was attached to this paste.":
|
||||
"Дубликат файла '%s' был прикреплен к этой записи.",
|
||||
"The cloned file '%s' was attached to this paste.": "Дубликат файла '%s' был прикреплен к этой записи.",
|
||||
"Attach a file": "Прикрепить файл",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "так же можно перенести файл в окно браузера или вставить изображение из буфера",
|
||||
"File too large, to display a preview. Please download the attachment.": "Файл слишком большой для отображения предпросмотра. Пожалуйста, скачайте прикрепленный файл.",
|
||||
"Remove attachment": "Удалить вложение",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Ваш браузер не поддерживает отправку зашифрованных файлов. Используйте более новый браузер.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Ваш браузер не поддерживает отправку зашифрованных файлов. Используйте более новый браузер.",
|
||||
"Invalid attachment.": "Неизвестное вложение.",
|
||||
"Options": "Опции",
|
||||
"Shorten URL": "Короткая ссылка",
|
||||
"Editor": "Редактор",
|
||||
"Preview": "Предпросмотр",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"Переменная PATH необходима %s в конце \"%s\". Пожалуйста, обновите переменную PATH в вашем index.php.",
|
||||
"Decrypt":
|
||||
"Расшифровать",
|
||||
"Enter password":
|
||||
"Введите пароль",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "Переменная PATH необходима %s в конце \"%s\". Пожалуйста, обновите переменную PATH в вашем index.php.",
|
||||
"Decrypt": "Расшифровать",
|
||||
"Enter password": "Введите пароль",
|
||||
"Loading…": "Загрузка…",
|
||||
"Decrypting paste…": "Расшифровка записи…",
|
||||
"Preparing new paste…": "Подготовка новой записи…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"Если данное сообщение не исчезает длительное время, посмотрите <a href=\"%s\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Если данное сообщение не исчезает длительное время, посмотрите <a href=\"%s\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
|
||||
"+++ no paste text +++": "+++ в записи нет текста +++",
|
||||
"Could not get paste data: %s":
|
||||
"Не удалось получить данные записи: %s",
|
||||
"Could not get paste data: %s": "Не удалось получить данные записи: %s",
|
||||
"QR code": "QR код",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"Данный сайт использует незащищенное HTTP подключение! Пожалуйста используйте его только для тестирования.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"Для продробностей <a href=\"%s\">прочтите информацию в FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Ваш браузер требует использования HTTPS подключения для поддержки WebCrypto API. Попробуйте <a href=\"%s\">переключиться на HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Данный сайт использует незащищенное HTTP подключение! Пожалуйста используйте его только для тестирования.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Для продробностей <a href=\"%s\">прочтите информацию в FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Ваш браузер требует использования HTTPS подключения для поддержки WebCrypto API. Попробуйте <a href=\"%s\">переключиться на HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Ваш браузер не поддерживает WebAssembly используемый для сжатия с помощью zlib. Вы можете создавать новые записи без сжатия, но не сможете открыть записи с сжатием.",
|
||||
"waiting on user to provide a password": "ожидаем ввода пароля пользователем",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Не удалось расшифровать данные. Может быть вы ввели не верный пароль? Попробуйте снова с помощью кнопки вверху.",
|
||||
"Retry": "Повторить",
|
||||
"Showing raw text…": "Показываем исходный текст…",
|
||||
"Notice:": "Уведомление:",
|
||||
"This link will expire after %s.": "Срок жизни ссылки истечет через %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "Данная ссылка доступна только один раз, не нажимайте кнопку назад или обновления страницы в вашем браузере.",
|
||||
"Link:": "Ссылка:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Получатель узнает ваш часовой пояс, сконвертировать время в UTC?",
|
||||
"Use Current Timezone": "Использовать текущий часовой пояс",
|
||||
"Convert To UTC": "Конвертировать в UTC",
|
||||
"Close": "Закрыть",
|
||||
"Encrypted note on PrivateBin": "Зашифрованная запиь на PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Посетите эту ссылку чтобы просмотреть запись. Передача ссылки кому либо позволит им получить доступ к записи тоже."
|
||||
}
|
||||
|
||||
286
i18n/sl.json
286
i18n/sl.json
@@ -1,125 +1,129 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s je minimalističen, odprtokodni spletni 'pastebin', kjer server ne ve ničesar o prilepljenih podatkih. Podatki so zakodirani/odkodirani <i>v brskalniku</i> z uporabo 256 bitnega AES. Več informacij na < href=\"https://privatebin.info/\">spletni strani projekta.</a>.",
|
||||
"Because ignorance is bliss":
|
||||
"Ker kar ne veš ne boli.",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s je minimalističen, odprtokodni spletni 'pastebin', kjer server ne ve ničesar o prilepljenih podatkih. Podatki so zakodirani/odkodirani <i>v brskalniku</i> z uporabo 256 bitnega AES. Več informacij na <a href=\"https://privatebin.info/\">spletni strani projekta.</a>.",
|
||||
"Because ignorance is bliss": "Ker kar ne veš ne boli.",
|
||||
"en": "sl",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"Prilepek ne obstaja, mu je potekla življenjska doba, ali pa je izbrisan.",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"Oprosti, %s za delovanje potrebuje vsaj php %s.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s potrebuje sekcijo konfiguracij [%s] v konfiguracijski datoteki.",
|
||||
"Please wait %d seconds between each post.":
|
||||
"Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo.",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"Velikost prilepka je omejena na %s zakodiranih podatkov.",
|
||||
"Invalid data.":
|
||||
"Neveljavni podatki.",
|
||||
"You are unlucky. Try again.":
|
||||
"Nimaš sreče, poskusi ponovno.",
|
||||
"Error saving comment. Sorry.":
|
||||
"Nekaj je šlo narobe pri shranjevanju komentarja. Oprosti.",
|
||||
"Error saving paste. Sorry.":
|
||||
"Nekaj je šlo narobe pri shranjevanju prilepka. Oprosti.",
|
||||
"Invalid paste ID.":
|
||||
"Napačen ID prilepka.",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"Prilepek ni tipa zažgi-po-branju.",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"Napačen token za izbris. Prilepek ni bil izbrisan..",
|
||||
"Paste was properly deleted.":
|
||||
"Prilepek je uspešno izbrisan.",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"Da %s deluje, moraš vklopiti JavaScript.<br />Oprosti za povročene nevšečnosti.",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s za svoje delovanje potrebuje moderen brskalnik.",
|
||||
"New":
|
||||
"Nov prilepek",
|
||||
"Send":
|
||||
"Pošlji",
|
||||
"Clone":
|
||||
"Kloniraj",
|
||||
"Raw text":
|
||||
"Surov tekst",
|
||||
"Expires":
|
||||
"Poteče",
|
||||
"Burn after reading":
|
||||
"Zažgi (pobriši) po branju",
|
||||
"Open discussion":
|
||||
"Dovoli razpravo",
|
||||
"Password (recommended)":
|
||||
"Geslo (priporočeno)",
|
||||
"Discussion":
|
||||
"Razprava",
|
||||
"Toggle navigation":
|
||||
"Preklopi navigacijo",
|
||||
"%d seconds": ["%d sekunda", "%d sekundi", "%d sekunde", "%d sekund"],
|
||||
"%d minutes": ["%d minuta", "%d minuti", "%d minute", "%d minut"],
|
||||
"%d hours": ["%d ura", "%d uri", "%d ure", "%d ur"],
|
||||
"%d days": ["%d dan", "%d dneva", "%d dnevi", "%d dni"],
|
||||
"%d weeks": ["%d teden", "%d tedna", "%d tedni", "%d tednov"],
|
||||
"%d months": ["%d mesec", "%d meseca", "%d meseci", "%d mesecev"],
|
||||
"%d years": ["%d leto", "%d leti", "%d leta", "%d let"],
|
||||
"Never":
|
||||
"Nikoli",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"Ne pozabi: To je testna storitev: Podatki so lahko kadarkoli pobrisani. Mucki bodo umrli, če boš zlorabljala to storitev.",
|
||||
"This document will expire in %d seconds.":
|
||||
["Ta dokument bo potekel čez %d sekundo.", "Ta dokument bo potekel čez %d sekundi.", "Ta dokument bo potekel čez %d sekunde.", "Ta dokument bo potekel čez %d sekund."],
|
||||
"This document will expire in %d minutes.":
|
||||
["Ta dokument bo potekel čez %d minuto.", "Ta dokument bo potekel čez %d minuti.", "Ta dokument bo potekel čez %d minute.", "Ta dokument bo potekel čez %d minut."],
|
||||
"This document will expire in %d hours.":
|
||||
["Ta dokument bo potekel čez %d uro.", "Ta dokument bo potekel čez %d uri.", "Ta dokument bo potekel čez %d ure.", "Ta dokument bo potekel čez %d ur."],
|
||||
"This document will expire in %d days.":
|
||||
["Ta dokument bo potekel čez %d dan.", "Ta dokument bo potekel čez %d dni.", "Ta dokument bo potekel čez %d dni.", "Ta dokument bo potekel čez %d dni."],
|
||||
"This document will expire in %d months.":
|
||||
["Ta dokument bo potekel čez %d mesec.", "Ta dokument bo potekel čez %d meseca.", "Ta dokument bo potekel čez %d mesece.", "Ta dokument bo potekel čez %d mesecev."],
|
||||
"Please enter the password for this paste:":
|
||||
"Prosim vnesi geslo tega prilepka:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"Nemogoče odkodirati podakte (Imaš napačen ključ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"Prilepek je nemogoče izbrisati, ni bil shranjen v načinu \"zažgi po branju\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"SAMO ZA TVOJE OČI. Ne zapri tega okna (zavihka), to sporočilo ne bo prikazano nikoli več.",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"Ne morem odkodirati komentarja: Imaš napačen ključ?",
|
||||
"Reply":
|
||||
"Odgovori",
|
||||
"Anonymous":
|
||||
"Aninomno",
|
||||
"Avatar generated from IP address":
|
||||
"Anonimen avatar (Vizhash IP naslova)",
|
||||
"Add comment":
|
||||
"Dodaj komentar",
|
||||
"Optional nickname…":
|
||||
"Uporabniško ime (lahko izpustiš)",
|
||||
"Post comment":
|
||||
"Objavi komentar",
|
||||
"Sending comment…":
|
||||
"Pošiljam komentar …",
|
||||
"Comment posted.":
|
||||
"Komentar poslan.",
|
||||
"Could not refresh display: %s":
|
||||
"Ne morem osvežiti zaslona : %s",
|
||||
"unknown status":
|
||||
"neznan status",
|
||||
"server error or not responding":
|
||||
"napaka na strežniku, ali pa se strežnik ne odziva",
|
||||
"Could not post comment: %s":
|
||||
"Komentarja ni bilo mogoče objaviti : %s",
|
||||
"Sending paste…":
|
||||
"Pošiljam prilepek…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"Tvoj prilepek je dostopen na naslovu: <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Pritisni [Ctrl]+[c] ali [Cmd] + [c] in skopiraj)</span>",
|
||||
"Delete data":
|
||||
"Izbriši podatke",
|
||||
"Could not create paste: %s":
|
||||
"Ne morem ustvariti prilepka: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"Ne morem odkodirati prilepka: V URL-ju manjka ključ (A si uporabil krajšalnik URL-jev, ki odstrani del URL-ja?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "Prilepek ne obstaja, mu je potekla življenjska doba, ali pa je izbrisan.",
|
||||
"%s requires php %s or above to work. Sorry.": "Oprosti, %s za delovanje potrebuje vsaj php %s.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s potrebuje sekcijo konfiguracij [%s] v konfiguracijski datoteki.",
|
||||
"Please wait %d seconds between each post.": "Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo.",
|
||||
"Paste is limited to %s of encrypted data.": "Velikost prilepka je omejena na %s zakodiranih podatkov.",
|
||||
"Invalid data.": "Neveljavni podatki.",
|
||||
"You are unlucky. Try again.": "Nimaš sreče, poskusi ponovno.",
|
||||
"Error saving comment. Sorry.": "Nekaj je šlo narobe pri shranjevanju komentarja. Oprosti.",
|
||||
"Error saving paste. Sorry.": "Nekaj je šlo narobe pri shranjevanju prilepka. Oprosti.",
|
||||
"Invalid paste ID.": "Napačen ID prilepka.",
|
||||
"Paste is not of burn-after-reading type.": "Prilepek ni tipa zažgi-po-branju.",
|
||||
"Wrong deletion token. Paste was not deleted.": "Napačen token za izbris. Prilepek ni bil izbrisan..",
|
||||
"Paste was properly deleted.": "Prilepek je uspešno izbrisan.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Da %s deluje, moraš vklopiti JavaScript. Oprosti za povročene nevšečnosti.",
|
||||
"%s requires a modern browser to work.": "%s za svoje delovanje potrebuje moderen brskalnik.",
|
||||
"New": "Nov prilepek",
|
||||
"Send": "Pošlji",
|
||||
"Clone": "Kloniraj",
|
||||
"Raw text": "Surov tekst",
|
||||
"Expires": "Poteče",
|
||||
"Burn after reading": "Zažgi (pobriši) po branju",
|
||||
"Open discussion": "Dovoli razpravo",
|
||||
"Password (recommended)": "Geslo (priporočeno)",
|
||||
"Discussion": "Razprava",
|
||||
"Toggle navigation": "Preklopi navigacijo",
|
||||
"%d seconds": [
|
||||
"%d sekunda",
|
||||
"%d sekundi",
|
||||
"%d sekunde",
|
||||
"%d sekund"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d minuta",
|
||||
"%d minuti",
|
||||
"%d minute",
|
||||
"%d minut"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d ura",
|
||||
"%d uri",
|
||||
"%d ure",
|
||||
"%d ur"
|
||||
],
|
||||
"%d days": [
|
||||
"%d dan",
|
||||
"%d dneva",
|
||||
"%d dnevi",
|
||||
"%d dni"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d teden",
|
||||
"%d tedna",
|
||||
"%d tedni",
|
||||
"%d tednov"
|
||||
],
|
||||
"%d months": [
|
||||
"%d mesec",
|
||||
"%d meseca",
|
||||
"%d meseci",
|
||||
"%d mesecev"
|
||||
],
|
||||
"%d years": [
|
||||
"%d leto",
|
||||
"%d leti",
|
||||
"%d leta",
|
||||
"%d let"
|
||||
],
|
||||
"Never": "Nikoli",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Ne pozabi: To je testna storitev: Podatki so lahko kadarkoli pobrisani. Mucki bodo umrli, če boš zlorabljala to storitev.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Ta dokument bo potekel čez %d sekundo.",
|
||||
"Ta dokument bo potekel čez %d sekundi.",
|
||||
"Ta dokument bo potekel čez %d sekunde.",
|
||||
"Ta dokument bo potekel čez %d sekund."
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Ta dokument bo potekel čez %d minuto.",
|
||||
"Ta dokument bo potekel čez %d minuti.",
|
||||
"Ta dokument bo potekel čez %d minute.",
|
||||
"Ta dokument bo potekel čez %d minut."
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Ta dokument bo potekel čez %d uro.",
|
||||
"Ta dokument bo potekel čez %d uri.",
|
||||
"Ta dokument bo potekel čez %d ure.",
|
||||
"Ta dokument bo potekel čez %d ur."
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Ta dokument bo potekel čez %d dan.",
|
||||
"Ta dokument bo potekel čez %d dni.",
|
||||
"Ta dokument bo potekel čez %d dni.",
|
||||
"Ta dokument bo potekel čez %d dni."
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Ta dokument bo potekel čez %d mesec.",
|
||||
"Ta dokument bo potekel čez %d meseca.",
|
||||
"Ta dokument bo potekel čez %d mesece.",
|
||||
"Ta dokument bo potekel čez %d mesecev."
|
||||
],
|
||||
"Please enter the password for this paste:": "Prosim vnesi geslo tega prilepka:",
|
||||
"Could not decrypt data (Wrong key?)": "Nemogoče odkodirati podakte (Imaš napačen ključ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Prilepek je nemogoče izbrisati, ni bil shranjen v načinu \"zažgi po branju\".",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "SAMO ZA TVOJE OČI. Ne zapri tega okna (zavihka), to sporočilo ne bo prikazano nikoli več.",
|
||||
"Could not decrypt comment; Wrong key?": "Ne morem odkodirati komentarja: Imaš napačen ključ?",
|
||||
"Reply": "Odgovori",
|
||||
"Anonymous": "Aninomno",
|
||||
"Avatar generated from IP address": "Anonimen avatar (Vizhash IP naslova)",
|
||||
"Add comment": "Dodaj komentar",
|
||||
"Optional nickname…": "Uporabniško ime (lahko izpustiš)",
|
||||
"Post comment": "Objavi komentar",
|
||||
"Sending comment…": "Pošiljam komentar …",
|
||||
"Comment posted.": "Komentar poslan.",
|
||||
"Could not refresh display: %s": "Ne morem osvežiti zaslona : %s",
|
||||
"unknown status": "neznan status",
|
||||
"server error or not responding": "napaka na strežniku, ali pa se strežnik ne odziva",
|
||||
"Could not post comment: %s": "Komentarja ni bilo mogoče objaviti : %s",
|
||||
"Sending paste…": "Pošiljam prilepek…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Tvoj prilepek je dostopen na naslovu: <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Pritisni [Ctrl]+[c] ali [Cmd] + [c] in skopiraj)</span>",
|
||||
"Delete data": "Izbriši podatke",
|
||||
"Could not create paste: %s": "Ne morem ustvariti prilepka: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Ne morem odkodirati prilepka: V URL-ju manjka ključ (A si uporabil krajšalnik URL-jev, ki odstrani del URL-ja?)",
|
||||
"B": "o",
|
||||
"KiB": "KB",
|
||||
"MiB": "MB",
|
||||
@@ -140,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard",
|
||||
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.",
|
||||
"Remove attachment": "Odstrani priponko",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"Tvoj brskalnik ne omogoča nalaganje zakodiranih datotek. Prosim uporabi novejši brskalnik.",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Tvoj brskalnik ne omogoča nalaganje zakodiranih datotek. Prosim uporabi novejši brskalnik.",
|
||||
"Invalid attachment.": "Neveljavna priponka.",
|
||||
"Options": "Možnosti",
|
||||
"Shorten URL": "Skrajšajte URL",
|
||||
"Editor": "Uredi",
|
||||
"Preview": "Predogled",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt":
|
||||
"Decrypt",
|
||||
"Enter password":
|
||||
"Prosim vnesi geslo",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.",
|
||||
"Decrypt": "Decrypt",
|
||||
"Enter password": "Prosim vnesi geslo",
|
||||
"Loading…": "Loading…",
|
||||
"Decrypting paste…": "Decrypting paste…",
|
||||
"Preparing new paste…": "Preparing new paste…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a> (in English).",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a> (in English).",
|
||||
"+++ no paste text +++": "+++ no paste text +++",
|
||||
"Could not get paste data: %s":
|
||||
"Could not get paste data: %s",
|
||||
"Could not get paste data: %s": "Could not get paste data: %s",
|
||||
"QR code": "QR code",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
|
||||
181
i18n/uk.json
Normal file
181
i18n/uk.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s це мінімалістичний Open Source проєкт для створення нотаток, де сервер не знає нічого про дані, що зберігаються. Дані шифруються/розшифровуються <i>у переглядачі</i> з використанням 256-бітного шифрувания AES. Подробиці можна дізнатися на <a href=\"https://privatebin.info/\">сайті проєкту</a>.",
|
||||
"Because ignorance is bliss": "Бо незнання - благо",
|
||||
"en": "uk",
|
||||
"Paste does not exist, has expired or has been deleted.": "Допис не існує, протермінований чи був видалений.",
|
||||
"%s requires php %s or above to work. Sorry.": "Для роботи %s потрібен php %s и вище. Вибачте.",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s потрібна секція [%s] в конфігураційному файлі.",
|
||||
"Please wait %d seconds between each post.": "Please wait %d seconds between each post.",
|
||||
"Paste is limited to %s of encrypted data.": "Розмір допису обмежений %s зашифрованих даних.",
|
||||
"Invalid data.": "Неправильні дані.",
|
||||
"You are unlucky. Try again.": "Вам не пощастило. Спробуйте ще раз.",
|
||||
"Error saving comment. Sorry.": "Помилка при збереженні коментаря. Вибачте.",
|
||||
"Error saving paste. Sorry.": "Помилка при збереженні допису. Вибачте.",
|
||||
"Invalid paste ID.": "Неправильний ID допису.",
|
||||
"Paste is not of burn-after-reading type.": "Тип допису не \"Знищити після прочитання\".",
|
||||
"Wrong deletion token. Paste was not deleted.": "Неправильний ключ вилучення допису. Допис не вилучено.",
|
||||
"Paste was properly deleted.": "Допис був вилучений повністю.",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Для роботи %s потрібен увімкнутий JavaScript. Вибачте.",
|
||||
"%s requires a modern browser to work.": "Для роботи %s потрібен більш сучасний переглядач.",
|
||||
"New": "Новий допис",
|
||||
"Send": "Відправити",
|
||||
"Clone": "Дублювати",
|
||||
"Raw text": "Початковий текст",
|
||||
"Expires": "Вилучити через",
|
||||
"Burn after reading": "Знищити після прочитання",
|
||||
"Open discussion": "Відкрити обговорення",
|
||||
"Password (recommended)": "Пароль (рекомендується)",
|
||||
"Discussion": "Обговорення",
|
||||
"Toggle navigation": "Перемкнути навігацію",
|
||||
"%d seconds": [
|
||||
"%d секунду",
|
||||
"%d секунди",
|
||||
"%d секунд",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d хвилину",
|
||||
"%d хвилини",
|
||||
"%d хвилин",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d годину",
|
||||
"%d години",
|
||||
"%d годин",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d день",
|
||||
"%d дні",
|
||||
"%d днів",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d тиждень",
|
||||
"%d тижні",
|
||||
"%d тижнів",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d місяць",
|
||||
"%d місяці",
|
||||
"%d місяців",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d рік",
|
||||
"%d роки",
|
||||
"%d років",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "Ніколи",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Примітка: Це тестовий сервіс: Дані можуть бути вилучені в будь який момент. Кошенята помруть, якщо ви будете зловживати сервісом.",
|
||||
"This document will expire in %d seconds.": [
|
||||
"Документ буде вилучений через %d секунду.",
|
||||
"Документ буде вилучений через %d секунди.",
|
||||
"Документ буде вилучений через %d секунд.",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"Документ буде вилучений через %d хвилину.",
|
||||
"Документ буде вилучений через %d хвилини.",
|
||||
"Документ буде вилучений через %d хвилин.",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"Документ буде вилучений через %d годину.",
|
||||
"Документ буде вилучений через %d години.",
|
||||
"Документ буде вилучений через %d годин.",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"Документ буде вилучений через %d день.",
|
||||
"Документ буде вилучений через %d дні.",
|
||||
"Документ буде вилучений через %d днів.",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"Документ буде вилучений через %d місяць.",
|
||||
"Документ буде вилучений через %d місяці.",
|
||||
"Документ буде вилучений через %d місяців.",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "Будь ласка, введіть пароль від допису:",
|
||||
"Could not decrypt data (Wrong key?)": "Неможливо розшифрувати дані (Неправильний ключ?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "Неможливо вилучити допис, він не був збережений в режимі знищити після прочитання.",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "ЛИШЕ ДЛЯ ВАШИХ ОЧЕЙ. Не закривайте це вікно, це повідомлення не може бути показано знову.",
|
||||
"Could not decrypt comment; Wrong key?": "Неможливо розшифрувати коментар; Неправильний ключ?",
|
||||
"Reply": "Відповісти",
|
||||
"Anonymous": "Анонім",
|
||||
"Avatar generated from IP address": "Аватар зґенерований з IP-адреси",
|
||||
"Add comment": "Додати коментар",
|
||||
"Optional nickname…": "Необов’язкове прізвисько…",
|
||||
"Post comment": "Відправити коментар",
|
||||
"Sending comment…": "Відправка коментаря…",
|
||||
"Comment posted.": "Коментар опублікований.",
|
||||
"Could not refresh display: %s": "Не вдалося оновити екран: %s",
|
||||
"unknown status": "невідома причина",
|
||||
"server error or not responding": "помилка на сервері чи немає відповіді",
|
||||
"Could not post comment: %s": "Не вдалося опублікувати коментар: %s",
|
||||
"Sending paste…": "Відправка допису…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Посилання на допис <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Тисніть [Ctrl]+[c], щоб скопіювати посилання)</span>",
|
||||
"Delete data": "Видалити допис",
|
||||
"Could not create paste: %s": "Не вдалося опублікувати допис: %s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Неможливо розшифрувати запис: Ключ дешифрування відсутній в посиланні (Можливо, ви використовуєте скорочувач посилань, що видаляє частину посилання?)",
|
||||
"B": "байт",
|
||||
"KiB": "Кбайт",
|
||||
"MiB": "Мбайт",
|
||||
"GiB": "Гбайт",
|
||||
"TiB": "Тбайт",
|
||||
"PiB": "Пбайт",
|
||||
"EiB": "Ебайт",
|
||||
"ZiB": "Збайт",
|
||||
"YiB": "Йбайт",
|
||||
"Format": "Формат",
|
||||
"Plain Text": "Звичайний текст",
|
||||
"Source Code": "Джерельний код",
|
||||
"Markdown": "Мова розмітки",
|
||||
"Download attachment": "Звантажити прикріплений файл",
|
||||
"Cloned: '%s'": "Дубльовано: '%s'",
|
||||
"The cloned file '%s' was attached to this paste.": "Дублікат файлу '%s' був прикріплений до цього запису.",
|
||||
"Attach a file": "Прикріпити файл",
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "також можна перенести файл у вікно переглядача чи вставити зображення з буфера",
|
||||
"File too large, to display a preview. Please download the attachment.": "Файл завеликий для відображення передогляду. Будь ласка, звантажте прикріплений файл.",
|
||||
"Remove attachment": "Видалити вкладення",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Ваш переглядач не підтримує відправлення зашифрованих файлів. Використовуйте сучасніший переглядач.",
|
||||
"Invalid attachment.": "Невідоме вкладення.",
|
||||
"Options": "Опції",
|
||||
"Shorten URL": "Коротке посилання",
|
||||
"Editor": "Редактор",
|
||||
"Preview": "Передогляд",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "Змінна PATH необхідна %s в конці \"%s\". Будь ласка, оновіть змінну PATH у вашому index.php.",
|
||||
"Decrypt": "Розшифрувати",
|
||||
"Enter password": "Введіть пароль",
|
||||
"Loading…": "Завантаження…",
|
||||
"Decrypting paste…": "Розшифровування допису…",
|
||||
"Preparing new paste…": "Приготування нового допису…",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Якщо це повідомлення не зникатиме тривалий час, подивіться <a href=\"%s\">цей FAQ з інформацією про можливе вирішення проблеми</a>.",
|
||||
"+++ no paste text +++": "+++ у дописі немає тексту +++",
|
||||
"Could not get paste data: %s": "Не вдалося отримати дані допису: %s",
|
||||
"QR code": "QR код",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "Цей сайт використовує незахищене HTTP підключення! Будь ласка, використовуйте його лише для тестування.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Для подробиць <a href=\"%s\">дивіться інформацію в FAQ</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Ваш переглядач вимагає підключення HTTPS для підтримки WebCrypto API. Спробуйте <a href=\"%s\">перемкнутися на HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Ваш переглядач не підтримує WebAssembly, що використовується для стиснення zlib. Ви можете створювати нестиснені документи, але не зможете читати стиснені.",
|
||||
"waiting on user to provide a password": "waiting on user to provide a password",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.",
|
||||
"Retry": "Retry",
|
||||
"Showing raw text…": "Showing raw text…",
|
||||
"Notice:": "Notice:",
|
||||
"This link will expire after %s.": "This link will expire after %s.",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "This link can only be accessed once, do not use back or refresh button in your browser.",
|
||||
"Link:": "Link:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "Recipient may become aware of your timezone, convert time to UTC?",
|
||||
"Use Current Timezone": "Use Current Timezone",
|
||||
"Convert To UTC": "Convert To UTC",
|
||||
"Close": "Close",
|
||||
"Encrypted note on PrivateBin": "Encrypted note on PrivateBin",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too."
|
||||
}
|
||||
295
i18n/zh.json
295
i18n/zh.json
@@ -1,125 +1,138 @@
|
||||
{
|
||||
"PrivateBin": "PrivateBin",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||
"%s是一个极简、开源、对粘贴内容毫不知情的在线粘贴板,数据<i>在浏览器内</i>进行AES-256加密。更多信息请查看<a href=\"https://privatebin.info/\">项目主页</a>。",
|
||||
"Because ignorance is bliss":
|
||||
"因为无知是福",
|
||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.": "%s是一个极简、开源、对粘贴内容毫不知情的在线粘贴板,数据<i>在浏览器内</i>进行AES-256加密。更多信息请查看<a href=\"https://privatebin.info/\">项目主页</a>。",
|
||||
"Because ignorance is bliss": "因为无知是福",
|
||||
"en": "zh",
|
||||
"Paste does not exist, has expired or has been deleted.":
|
||||
"粘贴内容不存在,已过期或已被删除。",
|
||||
"%s requires php %s or above to work. Sorry.":
|
||||
"%s需要PHP %s及以上版本来工作,抱歉。",
|
||||
"%s requires configuration section [%s] to be present in configuration file.":
|
||||
"%s需要设置配置文件中 [%s] 部分。",
|
||||
"Please wait %d seconds between each post.":
|
||||
"每 %d 秒只能粘贴一次。",
|
||||
"Paste is limited to %s of encrypted data.":
|
||||
"粘贴受限于 %s 加密数据。",
|
||||
"Invalid data.":
|
||||
"无效的数据。",
|
||||
"You are unlucky. Try again.":
|
||||
"请再试一次。",
|
||||
"Error saving comment. Sorry.":
|
||||
"保存评论时出现错误,抱歉。",
|
||||
"Error saving paste. Sorry.":
|
||||
"保存粘贴内容时出现错误,抱歉。",
|
||||
"Invalid paste ID.":
|
||||
"无效的ID。",
|
||||
"Paste is not of burn-after-reading type.":
|
||||
"粘贴内容不是阅后即焚类型。",
|
||||
"Wrong deletion token. Paste was not deleted.":
|
||||
"错误的删除token,粘贴内容没有被删除。",
|
||||
"Paste was properly deleted.":
|
||||
"粘贴内容已被正确删除。",
|
||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||
"%s需要JavaScript来进行加解密。<br />给你带来的不便敬请谅解。",
|
||||
"%s requires a modern browser to work.":
|
||||
"%s需要在现代浏览器上工作。",
|
||||
"New":
|
||||
"新建",
|
||||
"Send":
|
||||
"送出",
|
||||
"Clone":
|
||||
"复制",
|
||||
"Raw text":
|
||||
"纯文本",
|
||||
"Expires":
|
||||
"有效期",
|
||||
"Burn after reading":
|
||||
"阅后即焚",
|
||||
"Open discussion":
|
||||
"开放讨论",
|
||||
"Password (recommended)":
|
||||
"密码(推荐)",
|
||||
"Discussion":
|
||||
"讨论",
|
||||
"Toggle navigation":
|
||||
"切换导航栏",
|
||||
"%d seconds": ["%d 秒", "%d 秒"],
|
||||
"%d minutes": ["%d 分钟", "%d 分钟"],
|
||||
"%d hours": ["%d 小时", "%d 小时"],
|
||||
"%d days": ["%d 天", "%d 天"],
|
||||
"%d weeks": ["%d 周", "%d 周"],
|
||||
"%d months": ["%d 个月", "%d 个月"],
|
||||
"%d years": ["%d 年", "%d 年"],
|
||||
"Never":
|
||||
"永不过期",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||
"注意:这是一个测试服务,数据随时可能被删除。如果你滥用这个服务的话,小猫咪会死的。",
|
||||
"This document will expire in %d seconds.":
|
||||
["这份文档将在一秒后过期。", "这份文档将在 %d 秒后过期"],
|
||||
"This document will expire in %d minutes.":
|
||||
["这份文档将在一分钟后过期。", "这份文档将在 %d 分钟后过期。"],
|
||||
"This document will expire in %d hours.":
|
||||
["这份文档将在一小时后过期。", "这份文档将在 %d 小时后过期。"],
|
||||
"This document will expire in %d days.":
|
||||
["这份文档将在一天后过期。", "这份文档将在 %d 天后过期。"],
|
||||
"This document will expire in %d months.":
|
||||
["这份文档将在一个月后过期。", "这份文档将在 %d 个月后过期。"],
|
||||
"Please enter the password for this paste:":
|
||||
"请输入这份粘贴内容的密码:",
|
||||
"Could not decrypt data (Wrong key?)":
|
||||
"无法解密数据(密钥错误?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||
"无法删除此粘贴内容,它没有以阅后即焚模式保存。",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||
"看!仔!细!了!不要关闭窗口,否则你再也见不到这条消息了。",
|
||||
"Could not decrypt comment; Wrong key?":
|
||||
"无法解密评论; 密钥错误?",
|
||||
"Reply":
|
||||
"回复",
|
||||
"Anonymous":
|
||||
"匿名",
|
||||
"Avatar generated from IP address":
|
||||
"由IP生成的头像",
|
||||
"Add comment":
|
||||
"添加评论",
|
||||
"Optional nickname…":
|
||||
"可选昵称…",
|
||||
"Post comment":
|
||||
"评论",
|
||||
"Sending comment…":
|
||||
"评论发送中…",
|
||||
"Comment posted.":
|
||||
"评论已发送。",
|
||||
"Could not refresh display: %s":
|
||||
"无法刷新显示:%s",
|
||||
"unknown status":
|
||||
"未知状态",
|
||||
"server error or not responding":
|
||||
"服务器错误或无回应",
|
||||
"Could not post comment: %s":
|
||||
"无法发送评论: %s",
|
||||
"Sending paste…":
|
||||
"粘贴内容提交中…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||
"您粘贴内容的链接是<a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(按下 [Ctrl]+[c] 以复制)</span>",
|
||||
"Delete data":
|
||||
"删除数据",
|
||||
"Could not create paste: %s":
|
||||
"无法创建粘贴:%s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||
"无法解密粘贴:URL中缺失解密密钥(是否使用了重定向或者短链接导致密钥丢失?)",
|
||||
"Paste does not exist, has expired or has been deleted.": "粘贴内容不存在,已过期或已被删除。",
|
||||
"%s requires php %s or above to work. Sorry.": "%s需要PHP %s及以上版本来工作,抱歉。",
|
||||
"%s requires configuration section [%s] to be present in configuration file.": "%s需要设置配置文件中 [%s] 部分。",
|
||||
"Please wait %d seconds between each post.": "每 %d 秒只能粘贴一次。",
|
||||
"Paste is limited to %s of encrypted data.": "粘贴受限于 %s 加密数据。",
|
||||
"Invalid data.": "无效的数据。",
|
||||
"You are unlucky. Try again.": "请再试一次。",
|
||||
"Error saving comment. Sorry.": "保存评论时出现错误,抱歉。",
|
||||
"Error saving paste. Sorry.": "保存粘贴内容时出现错误,抱歉。",
|
||||
"Invalid paste ID.": "无效的ID。",
|
||||
"Paste is not of burn-after-reading type.": "粘贴内容不是阅后即焚类型。",
|
||||
"Wrong deletion token. Paste was not deleted.": "错误的删除token,粘贴内容没有被删除。",
|
||||
"Paste was properly deleted.": "粘贴内容已被正确删除。",
|
||||
"JavaScript is required for %s to work. Sorry for the inconvenience.": "%s需要JavaScript来进行加解密。 给你带来的不便敬请谅解。",
|
||||
"%s requires a modern browser to work.": "%s需要在现代浏览器上工作。",
|
||||
"New": "新建",
|
||||
"Send": "送出",
|
||||
"Clone": "复制",
|
||||
"Raw text": "纯文本",
|
||||
"Expires": "有效期",
|
||||
"Burn after reading": "阅后即焚",
|
||||
"Open discussion": "开放讨论",
|
||||
"Password (recommended)": "密码(推荐)",
|
||||
"Discussion": "讨论",
|
||||
"Toggle navigation": "切换导航栏",
|
||||
"%d seconds": [
|
||||
"%d 秒",
|
||||
"%d 秒",
|
||||
"%d seconds (2nd plural)",
|
||||
"%d seconds (3rd plural)"
|
||||
],
|
||||
"%d minutes": [
|
||||
"%d 分钟",
|
||||
"%d 分钟",
|
||||
"%d minutes (2nd plural)",
|
||||
"%d minutes (3rd plural)"
|
||||
],
|
||||
"%d hours": [
|
||||
"%d 小时",
|
||||
"%d 小时",
|
||||
"%d hours (2nd plural)",
|
||||
"%d hours (3rd plural)"
|
||||
],
|
||||
"%d days": [
|
||||
"%d 天",
|
||||
"%d 天",
|
||||
"%d days (2nd plural)",
|
||||
"%d days (3rd plural)"
|
||||
],
|
||||
"%d weeks": [
|
||||
"%d 周",
|
||||
"%d 周",
|
||||
"%d weeks (2nd plural)",
|
||||
"%d weeks (3rd plural)"
|
||||
],
|
||||
"%d months": [
|
||||
"%d 个月",
|
||||
"%d 个月",
|
||||
"%d months (2nd plural)",
|
||||
"%d months (3rd plural)"
|
||||
],
|
||||
"%d years": [
|
||||
"%d 年",
|
||||
"%d 年",
|
||||
"%d years (2nd plural)",
|
||||
"%d years (3rd plural)"
|
||||
],
|
||||
"Never": "永不过期",
|
||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "注意:这是一个测试服务,数据随时可能被删除。如果你滥用这个服务的话,小猫咪会死的。",
|
||||
"This document will expire in %d seconds.": [
|
||||
"这份文档将在一秒后过期。",
|
||||
"这份文档将在 %d 秒后过期",
|
||||
"This document will expire in %d seconds (2nd plural)",
|
||||
"This document will expire in %d seconds (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d minutes.": [
|
||||
"这份文档将在一分钟后过期。",
|
||||
"这份文档将在 %d 分钟后过期。",
|
||||
"This document will expire in %d minutes (2nd plural)",
|
||||
"This document will expire in %d minutes (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d hours.": [
|
||||
"这份文档将在一小时后过期。",
|
||||
"这份文档将在 %d 小时后过期。",
|
||||
"This document will expire in %d hours (2nd plural)",
|
||||
"This document will expire in %d hours (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d days.": [
|
||||
"这份文档将在一天后过期。",
|
||||
"这份文档将在 %d 天后过期。",
|
||||
"This document will expire in %d days (2nd plural)",
|
||||
"This document will expire in %d days (3rd plural)"
|
||||
],
|
||||
"This document will expire in %d months.": [
|
||||
"这份文档将在一个月后过期。",
|
||||
"这份文档将在 %d 个月后过期。",
|
||||
"This document will expire in %d months (2nd plural)",
|
||||
"This document will expire in %d months (3rd plural)"
|
||||
],
|
||||
"Please enter the password for this paste:": "请输入这份粘贴内容的密码:",
|
||||
"Could not decrypt data (Wrong key?)": "无法解密数据(密钥错误?)",
|
||||
"Could not delete the paste, it was not stored in burn after reading mode.": "无法删除此粘贴内容,它没有以阅后即焚模式保存。",
|
||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "看!仔!细!了!不要关闭窗口,否则你再也见不到这条消息了。",
|
||||
"Could not decrypt comment; Wrong key?": "无法解密评论; 密钥错误?",
|
||||
"Reply": "回复",
|
||||
"Anonymous": "匿名",
|
||||
"Avatar generated from IP address": "由IP生成的头像",
|
||||
"Add comment": "添加评论",
|
||||
"Optional nickname…": "可选昵称…",
|
||||
"Post comment": "评论",
|
||||
"Sending comment…": "评论发送中…",
|
||||
"Comment posted.": "评论已发送。",
|
||||
"Could not refresh display: %s": "无法刷新显示:%s",
|
||||
"unknown status": "未知状态",
|
||||
"server error or not responding": "服务器错误或无回应",
|
||||
"Could not post comment: %s": "无法发送评论: %s",
|
||||
"Sending paste…": "粘贴内容提交中…",
|
||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "您粘贴内容的链接是<a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(按下 [Ctrl]+[c] 以复制)</span>",
|
||||
"Delete data": "删除数据",
|
||||
"Could not create paste: %s": "无法创建粘贴:%s",
|
||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "无法解密粘贴:URL中缺失解密密钥(是否使用了重定向或者短链接导致密钥丢失?)",
|
||||
"B": "B",
|
||||
"KiB": "KiB",
|
||||
"MiB": "MiB",
|
||||
"GiB": "GiB",
|
||||
"TiB": "TiB",
|
||||
"PiB": "PiB",
|
||||
"EiB": "EiB",
|
||||
"ZiB": "ZiB",
|
||||
"YiB": "YiB",
|
||||
"Format": "格式",
|
||||
"Plain Text": "纯文本",
|
||||
"Source Code": "源代码",
|
||||
@@ -131,34 +144,38 @@
|
||||
"alternatively drag & drop a file or paste an image from the clipboard": "拖放文件或从剪贴板粘贴图片",
|
||||
"File too large, to display a preview. Please download the attachment.": "文件过大。要显示预览,请下载附件。",
|
||||
"Remove attachment": "移除附件",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||
"您的浏览器不支持上传加密的文件,请使用更新的浏览器。",
|
||||
"Your browser does not support uploading encrypted files. Please use a newer browser.": "您的浏览器不支持上传加密的文件,请使用更新的浏览器。",
|
||||
"Invalid attachment.": "无效的附件",
|
||||
"Options": "选项",
|
||||
"Shorten URL": "缩短链接",
|
||||
"Editor": "编辑",
|
||||
"Preview": "预览",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||
"%s 的 PATH 变量必须结束于 \"%s\"。 请修改你的 index.php 中的 PATH 变量。",
|
||||
"Decrypt":
|
||||
"解密",
|
||||
"Enter password":
|
||||
"输入密码",
|
||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s 的 PATH 变量必须结束于 \"%s\"。 请修改你的 index.php 中的 PATH 变量。",
|
||||
"Decrypt": "解密",
|
||||
"Enter password": "输入密码",
|
||||
"Loading…": "载入中…",
|
||||
"Decrypting paste…": "正在解密",
|
||||
"Preparing new paste…": "正在准备新的粘贴内容",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.":
|
||||
"如果这个消息一直存在,请参考 <a href=\"%s\">这里的 FAQ (英文版)</a>进行故障排除。",
|
||||
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "如果这个消息一直存在,请参考 <a href=\"%s\">这里的 FAQ (英文版)</a>进行故障排除。",
|
||||
"+++ no paste text +++": "+++ 没有粘贴内容 +++",
|
||||
"Could not get paste data: %s":
|
||||
"无法获取粘贴数据:%s",
|
||||
"Could not get paste data: %s": "无法获取粘贴数据:%s",
|
||||
"QR code": "二维码",
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.":
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.":
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.":
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.":
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones."
|
||||
"This website is using an insecure HTTP connection! Please use it only for testing.": "该网站使用了不安全的HTTP连接! 请仅将其用于测试。",
|
||||
"For more information <a href=\"%s\">see this FAQ entry</a>.": "有关更多信息,<a href=\"%s\">请参阅此常见问题解答</a>。",
|
||||
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "您的浏览器可能需要HTTPS连接才能支持WebCrypto API。 尝试<a href=\"%s\">切换到HTTPS </a>。",
|
||||
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "您的浏览器不支持用于zlib压缩的WebAssembly。 您可以创建未压缩的文档,但不能读取压缩的文档。",
|
||||
"waiting on user to provide a password": "请输入密码",
|
||||
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "无法解密数据。 您输入了错误的密码吗? 点顶部的按钮重试。",
|
||||
"Retry": "重试",
|
||||
"Showing raw text…": "显示原始文字…",
|
||||
"Notice:": "注意:",
|
||||
"This link will expire after %s.": "这个链接将会在 %s 过期。",
|
||||
"This link can only be accessed once, do not use back or refresh button in your browser.": "这个链接只能被访问一次,请勿使用浏览器中的返回和刷新按钮。",
|
||||
"Link:": "链接地址:",
|
||||
"Recipient may become aware of your timezone, convert time to UTC?": "收件人可能会知道您的时区,将时间转换为UTC?",
|
||||
"Use Current Timezone": "使用当前时区",
|
||||
"Convert To UTC": "转换为UTC",
|
||||
"Close": "关闭",
|
||||
"Encrypted note on PrivateBin": "PrivateBin上的加密笔记",
|
||||
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "访问这个链接来查看该笔记。 将这个URL发送给任何人即可允许其访问该笔记。"
|
||||
}
|
||||
|
||||
BIN
img/icon_email.png
Normal file
BIN
img/icon_email.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 253 B |
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
// change this, if your php files and data is outside of your webservers document root
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
// base-x encoding / decoding
|
||||
// based on https://github.com/cryptocoinjs/base-x 3.0.5
|
||||
// modification: removed Buffer dependency and node.modules entry
|
||||
// Copyright (c) 2018 base-x contributors
|
||||
// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
(function(){
|
||||
'use strict';
|
||||
this.baseX = function base (ALPHABET) {
|
||||
if (ALPHABET.length >= 255) throw new TypeError('Alphabet too long')
|
||||
|
||||
const BASE_MAP = new Uint8Array(256)
|
||||
BASE_MAP.fill(255)
|
||||
|
||||
for (let i = 0; i < ALPHABET.length; i++) {
|
||||
const x = ALPHABET.charAt(i)
|
||||
const xc = x.charCodeAt(0)
|
||||
|
||||
if (BASE_MAP[xc] !== 255) throw new TypeError(x + ' is ambiguous')
|
||||
BASE_MAP[xc] = i
|
||||
}
|
||||
|
||||
const BASE = ALPHABET.length
|
||||
const LEADER = ALPHABET.charAt(0)
|
||||
const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up
|
||||
const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up
|
||||
|
||||
function encode (source) {
|
||||
if (source.length === 0) return ''
|
||||
|
||||
// Skip & count leading zeroes.
|
||||
let zeroes = 0
|
||||
let length = 0
|
||||
let pbegin = 0
|
||||
const pend = source.length
|
||||
|
||||
while (pbegin !== pend && source[pbegin] === 0) {
|
||||
pbegin++
|
||||
zeroes++
|
||||
}
|
||||
|
||||
// Allocate enough space in big-endian base58 representation.
|
||||
const size = ((pend - pbegin) * iFACTOR + 1) >>> 0
|
||||
const b58 = new Uint8Array(size)
|
||||
|
||||
// Process the bytes.
|
||||
while (pbegin !== pend) {
|
||||
let carry = source[pbegin]
|
||||
|
||||
// Apply "b58 = b58 * 256 + ch".
|
||||
let i = 0
|
||||
for (let it = size - 1; (carry !== 0 || i < length) && (it !== -1); it--, i++) {
|
||||
carry += (256 * b58[it]) >>> 0
|
||||
b58[it] = (carry % BASE) >>> 0
|
||||
carry = (carry / BASE) >>> 0
|
||||
}
|
||||
|
||||
if (carry !== 0) throw new Error('Non-zero carry')
|
||||
length = i
|
||||
pbegin++
|
||||
}
|
||||
|
||||
// Skip leading zeroes in base58 result.
|
||||
let it = size - length
|
||||
while (it !== size && b58[it] === 0) {
|
||||
it++
|
||||
}
|
||||
|
||||
// Translate the result into a string.
|
||||
let str = LEADER.repeat(zeroes)
|
||||
for (; it < size; ++it) str += ALPHABET.charAt(b58[it])
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
function decodeUnsafe (source) {
|
||||
if (typeof source !== 'string') throw new TypeError('Expected String')
|
||||
if (source.length === 0) return ''
|
||||
|
||||
let psz = 0
|
||||
|
||||
// Skip leading spaces.
|
||||
if (source[psz] === ' ') return
|
||||
|
||||
// Skip and count leading '1's.
|
||||
let zeroes = 0
|
||||
let length = 0
|
||||
while (source[psz] === LEADER) {
|
||||
zeroes++
|
||||
psz++
|
||||
}
|
||||
|
||||
// Allocate enough space in big-endian base256 representation.
|
||||
const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.
|
||||
const b256 = new Uint8Array(size)
|
||||
|
||||
// Process the characters.
|
||||
while (source[psz]) {
|
||||
// Decode character
|
||||
let carry = BASE_MAP[source.charCodeAt(psz)]
|
||||
|
||||
// Invalid character
|
||||
if (carry === 255) return
|
||||
|
||||
let i = 0
|
||||
for (let it = size - 1; (carry !== 0 || i < length) && (it !== -1); it--, i++) {
|
||||
carry += (BASE * b256[it]) >>> 0
|
||||
b256[it] = (carry % 256) >>> 0
|
||||
carry = (carry / 256) >>> 0
|
||||
}
|
||||
|
||||
if (carry !== 0) throw new Error('Non-zero carry')
|
||||
length = i
|
||||
psz++
|
||||
}
|
||||
|
||||
// Skip trailing spaces.
|
||||
if (source[psz] === ' ') return
|
||||
|
||||
// Skip leading zeroes in b256.
|
||||
let it = size - length
|
||||
while (it !== size && b256[it] === 0) {
|
||||
it++
|
||||
}
|
||||
|
||||
var vch = [];
|
||||
|
||||
let j = zeroes
|
||||
while (it !== size) {
|
||||
vch[j++] = b256[it++]
|
||||
}
|
||||
|
||||
return vch
|
||||
}
|
||||
|
||||
function decode (string) {
|
||||
const buffer = decodeUnsafe(string)
|
||||
if (buffer) return buffer
|
||||
|
||||
throw new Error('Non-base' + BASE + ' character')
|
||||
}
|
||||
|
||||
return {
|
||||
encode: encode,
|
||||
decodeUnsafe: decodeUnsafe,
|
||||
decode: decode
|
||||
}
|
||||
}
|
||||
}).call(this);
|
||||
120
js/base-x-3.0.7.js
Normal file
120
js/base-x-3.0.7.js
Normal file
@@ -0,0 +1,120 @@
|
||||
'use strict';
|
||||
// base-x encoding / decoding
|
||||
// based on https://github.com/cryptocoinjs/base-x 3.0.7
|
||||
// modification: removed Buffer dependency and node.modules entry
|
||||
// Copyright (c) 2018 base-x contributors
|
||||
// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file LICENSE or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
(function(){
|
||||
this.baseX = function base (ALPHABET) {
|
||||
if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }
|
||||
var BASE_MAP = new Uint8Array(256)
|
||||
BASE_MAP.fill(255)
|
||||
for (var i = 0; i < ALPHABET.length; i++) {
|
||||
var x = ALPHABET.charAt(i)
|
||||
var xc = x.charCodeAt(0)
|
||||
if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }
|
||||
BASE_MAP[xc] = i
|
||||
}
|
||||
var BASE = ALPHABET.length
|
||||
var LEADER = ALPHABET.charAt(0)
|
||||
var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up
|
||||
var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up
|
||||
function encode (source) {
|
||||
if (source.length === 0) { return '' }
|
||||
// Skip & count leading zeroes.
|
||||
var zeroes = 0
|
||||
var length = 0
|
||||
var pbegin = 0
|
||||
var pend = source.length
|
||||
while (pbegin !== pend && source[pbegin] === 0) {
|
||||
pbegin++
|
||||
zeroes++
|
||||
}
|
||||
// Allocate enough space in big-endian base58 representation.
|
||||
var size = ((pend - pbegin) * iFACTOR + 1) >>> 0
|
||||
var b58 = new Uint8Array(size)
|
||||
// Process the bytes.
|
||||
while (pbegin !== pend) {
|
||||
var carry = source[pbegin]
|
||||
// Apply "b58 = b58 * 256 + ch".
|
||||
var i = 0
|
||||
for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {
|
||||
carry += (256 * b58[it1]) >>> 0
|
||||
b58[it1] = (carry % BASE) >>> 0
|
||||
carry = (carry / BASE) >>> 0
|
||||
}
|
||||
if (carry !== 0) { throw new Error('Non-zero carry') }
|
||||
length = i
|
||||
pbegin++
|
||||
}
|
||||
// Skip leading zeroes in base58 result.
|
||||
var it2 = size - length
|
||||
while (it2 !== size && b58[it2] === 0) {
|
||||
it2++
|
||||
}
|
||||
// Translate the result into a string.
|
||||
var str = LEADER.repeat(zeroes)
|
||||
for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }
|
||||
return str
|
||||
}
|
||||
function decodeUnsafe (source) {
|
||||
if (typeof source !== 'string') { throw new TypeError('Expected String') }
|
||||
if (source.length === 0) { return '' }
|
||||
var psz = 0
|
||||
// Skip leading spaces.
|
||||
if (source[psz] === ' ') { return }
|
||||
// Skip and count leading '1's.
|
||||
var zeroes = 0
|
||||
var length = 0
|
||||
while (source[psz] === LEADER) {
|
||||
zeroes++
|
||||
psz++
|
||||
}
|
||||
// Allocate enough space in big-endian base256 representation.
|
||||
var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.
|
||||
var b256 = new Uint8Array(size)
|
||||
// Process the characters.
|
||||
while (source[psz]) {
|
||||
// Decode character
|
||||
var carry = BASE_MAP[source.charCodeAt(psz)]
|
||||
// Invalid character
|
||||
if (carry === 255) { return }
|
||||
var i = 0
|
||||
for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {
|
||||
carry += (BASE * b256[it3]) >>> 0
|
||||
b256[it3] = (carry % 256) >>> 0
|
||||
carry = (carry / 256) >>> 0
|
||||
}
|
||||
if (carry !== 0) { throw new Error('Non-zero carry') }
|
||||
length = i
|
||||
psz++
|
||||
}
|
||||
// Skip trailing spaces.
|
||||
if (source[psz] === ' ') { return }
|
||||
// Skip leading zeroes in b256.
|
||||
var it4 = size - length
|
||||
while (it4 !== size && b256[it4] === 0) {
|
||||
it4++
|
||||
}
|
||||
var vch = []
|
||||
var j = zeroes
|
||||
while (it4 !== size) {
|
||||
vch[j++] = b256[it4++]
|
||||
}
|
||||
return vch
|
||||
}
|
||||
function decode (string) {
|
||||
var buffer = decodeUnsafe(string)
|
||||
if (buffer) { return buffer }
|
||||
throw new Error('Non-base' + BASE + ' character')
|
||||
}
|
||||
return {
|
||||
encode: encode,
|
||||
decodeUnsafe: decodeUnsafe,
|
||||
decode: decode
|
||||
}
|
||||
}
|
||||
}).call(this);
|
||||
41
js/common.js
41
js/common.js
@@ -7,7 +7,9 @@ global.jsdom = require('jsdom-global');
|
||||
global.cleanup = global.jsdom();
|
||||
global.URL = require('jsdom-url').URL;
|
||||
global.fs = require('fs');
|
||||
global.WebCrypto = require('node-webcrypto-ossl');
|
||||
global.WebCrypto = require('@peculiar/webcrypto').Crypto;
|
||||
require('fake-indexeddb/auto');
|
||||
global.FDBFactory = require('fake-indexeddb/lib/FDBFactory');
|
||||
|
||||
// application libraries to test
|
||||
global.$ = global.jQuery = require('./jquery-3.4.1');
|
||||
@@ -17,8 +19,8 @@ require('./prettify');
|
||||
global.prettyPrint = window.PR.prettyPrint;
|
||||
global.prettyPrintOne = window.PR.prettyPrintOne;
|
||||
global.showdown = require('./showdown-1.9.1');
|
||||
global.DOMPurify = require('./purify-2.0.1');
|
||||
global.baseX = require('./base-x-3.0.5.1').baseX;
|
||||
global.DOMPurify = require('./purify-2.1.1');
|
||||
global.baseX = require('./base-x-3.0.7').baseX;
|
||||
global.Legacy = require('./legacy').Legacy;
|
||||
require('./bootstrap-3.3.7');
|
||||
require('./privatebin');
|
||||
@@ -36,25 +38,10 @@ var a2zString = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
|
||||
return c.toUpperCase();
|
||||
})
|
||||
),
|
||||
schemas = ['ftp','gopher','http','https','ws','wss'],
|
||||
schemas = ['ftp','http','https'],
|
||||
supportedLanguages = ['de', 'es', 'fr', 'it', 'no', 'pl', 'pt', 'oc', 'ru', 'sl', 'zh'],
|
||||
mimeTypes = ['image/png', 'application/octet-stream'],
|
||||
formats = ['plaintext', 'markdown', 'syntaxhighlighting'],
|
||||
/**
|
||||
* character to HTML entity lookup table
|
||||
*
|
||||
* @see {@link https://github.com/janl/mustache.js/blob/master/mustache.js#L60}
|
||||
*/
|
||||
entityMap = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'"': '"',
|
||||
"'": ''',
|
||||
'/': '/',
|
||||
'`': '`',
|
||||
'=': '='
|
||||
},
|
||||
mimeFile = fs.createReadStream('/etc/mime.types'),
|
||||
mimeLine = '';
|
||||
|
||||
@@ -97,22 +84,6 @@ function parseMime(line) {
|
||||
exports.atob = atob;
|
||||
exports.btoa = btoa;
|
||||
|
||||
/**
|
||||
* convert all applicable characters to HTML entities
|
||||
*
|
||||
* @see {@link https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content}
|
||||
* @name htmlEntities
|
||||
* @function
|
||||
* @param {string} str
|
||||
* @return {string} escaped HTML
|
||||
*/
|
||||
exports.htmlEntities = function(str) {
|
||||
return String(str).replace(
|
||||
/[&<>"'`=\/]/g, function(s) {
|
||||
return entityMap[s];
|
||||
});
|
||||
};
|
||||
|
||||
// provides random lowercase characters from a to z
|
||||
exports.jscA2zString = function() {
|
||||
return jsc.elements(a2zString);
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@peculiar/webcrypto": "^1.1.1",
|
||||
"fake-indexeddb": "^3.0.2",
|
||||
"jsdom": "^9.12.0",
|
||||
"jsdom-global": "^2.1.1",
|
||||
"jsdom-url": "^2.2.1",
|
||||
"jsverify": "^0.8.3",
|
||||
"node-webcrypto-ossl": "^1.0.37"
|
||||
"jsverify": "^0.8.3"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
|
||||
1038
js/privatebin.js
1038
js/privatebin.js
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
2
js/purify-2.1.1.js
Normal file
2
js/purify-2.1.1.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -67,10 +67,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('showWarning', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'shows a warning message (basic)',
|
||||
jsc.array(common.jscAlnumString()),
|
||||
@@ -136,10 +132,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('showError', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'shows an error message (basic)',
|
||||
jsc.array(common.jscAlnumString()),
|
||||
@@ -205,10 +197,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('showRemaining', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'shows remaining time (basic)',
|
||||
jsc.array(common.jscAlnumString()),
|
||||
@@ -254,10 +242,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('showLoading', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'shows a loading message (basic)',
|
||||
jsc.array(common.jscAlnumString()),
|
||||
@@ -310,10 +294,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('hideLoading', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it(
|
||||
'hides the loading message',
|
||||
function() {
|
||||
@@ -335,10 +315,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('hideMessages', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it(
|
||||
'hides all messages',
|
||||
function() {
|
||||
@@ -361,10 +337,6 @@ describe('Alert', function () {
|
||||
});
|
||||
|
||||
describe('setCustomHandler', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'calls a given handler function',
|
||||
'nat 3',
|
||||
|
||||
@@ -4,9 +4,6 @@ var common = require('../common');
|
||||
describe('AttachmentViewer', function () {
|
||||
describe('setAttachment, showAttachment, removeAttachment, hideAttachment, hideAttachmentPreview, hasAttachment, getAttachment & moveAttachmentTo', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'displays & hides data as requested',
|
||||
@@ -16,7 +13,7 @@ describe('AttachmentViewer', function () {
|
||||
'string',
|
||||
'string',
|
||||
function (mimeType, rawdata, filename, prefix, postfix) {
|
||||
var clean = jsdom(),
|
||||
let clean = jsdom(),
|
||||
data = 'data:' + mimeType + ';base64,' + btoa(rawdata),
|
||||
previewSupported = (
|
||||
mimeType.substring(0, 6) === 'image/' ||
|
||||
@@ -24,8 +21,9 @@ describe('AttachmentViewer', function () {
|
||||
mimeType.substring(0, 6) === 'video/' ||
|
||||
mimeType.match(/\/pdf/i)
|
||||
),
|
||||
results = [];
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%');
|
||||
results = [],
|
||||
result = '';
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%');
|
||||
postfix = postfix.replace(/%(s|d)/g, '%%');
|
||||
$('body').html(
|
||||
'<div id="attachment" role="alert" class="hidden alert ' +
|
||||
@@ -57,7 +55,7 @@ describe('AttachmentViewer', function () {
|
||||
}
|
||||
// beyond this point we will get the blob URL instead of the data
|
||||
data = window.URL.createObjectURL(data);
|
||||
var attachment = $.PrivateBin.AttachmentViewer.getAttachment();
|
||||
const attachment = $.PrivateBin.AttachmentViewer.getAttachment();
|
||||
results.push(
|
||||
$.PrivateBin.AttachmentViewer.hasAttachment() &&
|
||||
$('#attachment').hasClass('hidden') &&
|
||||
@@ -84,13 +82,24 @@ describe('AttachmentViewer', function () {
|
||||
!$('#attachment').hasClass('hidden') &&
|
||||
(previewSupported ? !$('#attachmentPreview').hasClass('hidden') : $('#attachmentPreview').hasClass('hidden'))
|
||||
);
|
||||
var element = $('<div></div>');
|
||||
let element = $('<div>');
|
||||
$.PrivateBin.AttachmentViewer.moveAttachmentTo(element, prefix + '%s' + postfix);
|
||||
// messageIDs with links get a relaxed treatment
|
||||
if (prefix.indexOf('<a') === -1 && postfix.indexOf('<a') === -1) {
|
||||
result = $('<textarea>').text((prefix + filename + postfix)).text();
|
||||
} else {
|
||||
result = DOMPurify.sanitize(
|
||||
prefix + $.PrivateBin.Helper.htmlEntities(filename) + postfix, {
|
||||
ALLOWED_TAGS: ['a', 'i', 'span'],
|
||||
ALLOWED_ATTR: ['href', 'id']
|
||||
}
|
||||
);
|
||||
}
|
||||
if (filename.length) {
|
||||
results.push(
|
||||
element.children()[0].href === data &&
|
||||
element.children()[0].getAttribute('download') === filename &&
|
||||
element.children()[0].text === prefix + filename + postfix
|
||||
element.children()[0].text === result
|
||||
);
|
||||
} else {
|
||||
results.push(element.children()[0].href === data);
|
||||
|
||||
@@ -5,9 +5,6 @@ var common = require('../common');
|
||||
describe('Check', function () {
|
||||
describe('init', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it('returns false and shows error, if a bot UA is detected', function () {
|
||||
jsc.assert(jsc.forall(
|
||||
|
||||
@@ -4,9 +4,6 @@ var common = require('../common');
|
||||
describe('DiscussionViewer', function () {
|
||||
describe('handleNotification, prepareNewDiscussion, addComment, finishDiscussion, getReplyMessage, getReplyNickname, getReplyCommentId & highlightComment', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'displays & hides comments as requested',
|
||||
|
||||
@@ -4,9 +4,6 @@ require('../common');
|
||||
describe('Editor', function () {
|
||||
describe('show, hide, getText, setText & isPreview', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'returns text fed into the textarea, handles editor tabs',
|
||||
|
||||
@@ -3,10 +3,6 @@ var common = require('../common');
|
||||
|
||||
describe('Helper', function () {
|
||||
describe('secondsToHuman', function () {
|
||||
after(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property('returns an array with a number and a word', 'integer', function (number) {
|
||||
var result = $.PrivateBin.Helper.secondsToHuman(number);
|
||||
return Array.isArray(result) &&
|
||||
@@ -57,11 +53,11 @@ describe('Helper', function () {
|
||||
'nearray string',
|
||||
function (ids, contents) {
|
||||
var html = '',
|
||||
result = true;
|
||||
result = true,
|
||||
clean = jsdom(html);
|
||||
ids.forEach(function(item, i) {
|
||||
html += '<div id="' + item.join('') + '">' + common.htmlEntities(contents[i] || contents[0]) + '</div>';
|
||||
html += '<div id="' + item.join('') + '">' + $.PrivateBin.Helper.htmlEntities(contents[i] || contents[0]) + '</div>';
|
||||
});
|
||||
var clean = jsdom(html);
|
||||
// TODO: As per https://github.com/tmpvar/jsdom/issues/321 there is no getSelection in jsdom, yet.
|
||||
// Once there is one, uncomment the block below to actually check the result.
|
||||
/*
|
||||
@@ -77,15 +73,24 @@ describe('Helper', function () {
|
||||
});
|
||||
|
||||
describe('urls2links', function () {
|
||||
after(function () {
|
||||
cleanup();
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup = jsdom();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'ignores non-URL content',
|
||||
'string',
|
||||
function (content) {
|
||||
return content === $.PrivateBin.Helper.urls2links(content);
|
||||
content = content.replace(/\r|\f/g, '\n').replace(/\u0000/g, '').replace(/\u000b/g, '');
|
||||
let clean = jsdom();
|
||||
$('body').html('<div id="foo"></div>');
|
||||
let e = $('#foo');
|
||||
e.text(content);
|
||||
$.PrivateBin.Helper.urls2links(e);
|
||||
let result = e.text();
|
||||
clean();
|
||||
return content === result;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
@@ -97,11 +102,14 @@ describe('Helper', function () {
|
||||
jsc.array(common.jscHashString()),
|
||||
'string',
|
||||
function (prefix, schema, address, query, fragment, postfix) {
|
||||
var query = query.join(''),
|
||||
fragment = fragment.join(''),
|
||||
url = schema + '://' + address.join('') + '/?' + query + '#' + fragment,
|
||||
prefix = common.htmlEntities(prefix),
|
||||
postfix = ' ' + common.htmlEntities(postfix);
|
||||
query = query.join('');
|
||||
fragment = fragment.join('');
|
||||
prefix = prefix.replace(/\r|\f/g, '\n').replace(/\u0000/g, '').replace(/\u000b/g, '');
|
||||
postfix = ' ' + postfix.replace(/\r/g, '\n').replace(/\u0000/g, '');
|
||||
let url = schema + '://' + address.join('') + '/?' + query + '#' + fragment,
|
||||
clean = jsdom();
|
||||
$('body').html('<div id="foo"></div>');
|
||||
let e = $('#foo');
|
||||
|
||||
// special cases: When the query string and fragment imply the beginning of an HTML entity, eg. � or &#x
|
||||
if (
|
||||
@@ -112,8 +120,12 @@ describe('Helper', function () {
|
||||
url = schema + '://' + address.join('') + '/?' + query.substring(0, query.length - 1);
|
||||
postfix = '';
|
||||
}
|
||||
|
||||
return prefix + '<a href="' + url + '" rel="nofollow">' + url + '</a>' + postfix === $.PrivateBin.Helper.urls2links(prefix + url + postfix);
|
||||
e.text(prefix + url + postfix);
|
||||
$.PrivateBin.Helper.urls2links(e);
|
||||
let result = e.html();
|
||||
clean();
|
||||
url = $('<div />').text(url).html();
|
||||
return $('<div />').text(prefix).html() + '<a href="' + url + '" target="_blank" rel="nofollow noopener noreferrer">' + url + '</a>' + $('<div />').text(postfix).html() === result;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
@@ -122,19 +134,23 @@ describe('Helper', function () {
|
||||
jsc.array(common.jscQueryString()),
|
||||
'string',
|
||||
function (prefix, query, postfix) {
|
||||
var url = 'magnet:?' + query.join('').replace(/^&+|&+$/gm,''),
|
||||
prefix = common.htmlEntities(prefix),
|
||||
postfix = common.htmlEntities(postfix);
|
||||
return prefix + '<a href="' + url + '" rel="nofollow">' + url + '</a> ' + postfix === $.PrivateBin.Helper.urls2links(prefix + url + ' ' + postfix);
|
||||
prefix = prefix.replace(/\r|\f/g, '\n').replace(/\u0000/g, '').replace(/\u000b/g, '');
|
||||
postfix = ' ' + postfix.replace(/\r/g, '\n').replace(/\u0000/g, '');
|
||||
let url = 'magnet:?' + query.join('').replace(/^&+|&+$/gm,''),
|
||||
clean = jsdom();
|
||||
$('body').html('<div id="foo"></div>');
|
||||
let e = $('#foo');
|
||||
e.text(prefix + url + postfix);
|
||||
$.PrivateBin.Helper.urls2links(e);
|
||||
let result = e.html();
|
||||
clean();
|
||||
url = $('<div />').text(url).html();
|
||||
return $('<div />').text(prefix).html() + '<a href="' + url + '" target="_blank" rel="nofollow noopener noreferrer">' + url + '</a>' + $('<div />').text(postfix).html() === result;
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe('sprintf', function () {
|
||||
after(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'replaces %s in strings with first given parameter',
|
||||
'string',
|
||||
@@ -211,7 +227,7 @@ describe('Helper', function () {
|
||||
|
||||
describe('getCookie', function () {
|
||||
this.timeout(30000);
|
||||
after(function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
@@ -263,16 +279,16 @@ describe('Helper', function () {
|
||||
});
|
||||
|
||||
describe('htmlEntities', function () {
|
||||
after(function () {
|
||||
cleanup();
|
||||
before(function () {
|
||||
cleanup = jsdom();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'removes all HTML entities from any given string',
|
||||
'string',
|
||||
function (string) {
|
||||
var result = common.htmlEntities(string);
|
||||
return !(/[<>"'`=\/]/.test(result)) && !(string.indexOf('&') > -1 && !(/&/.test(result)));
|
||||
var result = $.PrivateBin.Helper.htmlEntities(string);
|
||||
return !(/[<>]/.test(result)) && !(string.indexOf('&') > -1 && !(/&/.test(result)));
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
107
js/test/I18n.js
107
js/test/I18n.js
@@ -3,6 +3,7 @@ var common = require('../common');
|
||||
|
||||
describe('I18n', function () {
|
||||
describe('translate', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
$.PrivateBin.I18n.reset();
|
||||
});
|
||||
@@ -32,13 +33,41 @@ describe('I18n', function () {
|
||||
var fakeAlias = $.PrivateBin.I18n._(fake);
|
||||
$.PrivateBin.I18n.reset();
|
||||
|
||||
if (messageId.indexOf('<a') === -1) {
|
||||
messageId = $.PrivateBin.Helper.htmlEntities(messageId);
|
||||
} else {
|
||||
messageId = DOMPurify.sanitize(
|
||||
messageId, {
|
||||
ALLOWED_TAGS: ['a', 'i', 'span'],
|
||||
ALLOWED_ATTR: ['href', 'id']
|
||||
}
|
||||
);
|
||||
}
|
||||
return messageId === result && messageId === alias &&
|
||||
messageId === pluralResult && messageId === pluralAlias &&
|
||||
messageId === fakeResult && messageId === fakeAlias;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
'replaces %s in strings with first given parameter',
|
||||
'replaces %s in strings with first given parameter, encoding all, when no link is in the messageID',
|
||||
'string',
|
||||
'(small nearray) string',
|
||||
'string',
|
||||
function (prefix, params, postfix) {
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%').replace(/<a/g, '');
|
||||
params[0] = params[0].replace(/%(s|d)/g, '%%');
|
||||
postfix = postfix.replace(/%(s|d)/g, '%%').replace(/<a/g, '');
|
||||
const translation = $.PrivateBin.Helper.htmlEntities(prefix + params[0] + postfix);
|
||||
params.unshift(prefix + '%s' + postfix);
|
||||
const result = $.PrivateBin.I18n.translate.apply(this, params);
|
||||
$.PrivateBin.I18n.reset();
|
||||
const alias = $.PrivateBin.I18n._.apply(this, params);
|
||||
$.PrivateBin.I18n.reset();
|
||||
return translation === result && translation === alias;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
'replaces %s in strings with first given parameter, encoding params only, when a link is part of the messageID',
|
||||
'string',
|
||||
'(small nearray) string',
|
||||
'string',
|
||||
@@ -46,15 +75,83 @@ describe('I18n', function () {
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%');
|
||||
params[0] = params[0].replace(/%(s|d)/g, '%%');
|
||||
postfix = postfix.replace(/%(s|d)/g, '%%');
|
||||
var translation = prefix + params[0] + postfix;
|
||||
params.unshift(prefix + '%s' + postfix);
|
||||
var result = $.PrivateBin.I18n.translate.apply(this, params);
|
||||
const translation = DOMPurify.sanitize(
|
||||
prefix + '<a href="' + params[0] + '"></a>' + postfix, {
|
||||
ALLOWED_TAGS: ['a', 'i', 'span'],
|
||||
ALLOWED_ATTR: ['href', 'id']
|
||||
}
|
||||
);
|
||||
params.unshift(prefix + '<a href="%s"></a>' + postfix);
|
||||
const result = $.PrivateBin.I18n.translate.apply(this, params);
|
||||
$.PrivateBin.I18n.reset();
|
||||
var alias = $.PrivateBin.I18n._.apply(this, params);
|
||||
const alias = $.PrivateBin.I18n._.apply(this, params);
|
||||
$.PrivateBin.I18n.reset();
|
||||
return translation === result && translation === alias;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
'replaces %s in strings with first given parameter into an element, encoding all, when no link is in the messageID',
|
||||
'string',
|
||||
'(small nearray) string',
|
||||
'string',
|
||||
function (prefix, params, postfix) {
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%').replace(/<a/g, '');
|
||||
params[0] = params[0].replace(/%(s|d)/g, '%%');
|
||||
postfix = postfix.replace(/%(s|d)/g, '%%').replace(/<a/g, '');
|
||||
const translation = $('<textarea>').text((prefix + params[0] + postfix)).text();
|
||||
let args = Array.prototype.slice.call(params);
|
||||
args.unshift(prefix + '%s' + postfix);
|
||||
let clean = jsdom();
|
||||
$('body').html('<div id="i18n"></div>');
|
||||
args.unshift($('#i18n'));
|
||||
$.PrivateBin.I18n.translate.apply(this, args);
|
||||
const result = $('#i18n').text();
|
||||
$.PrivateBin.I18n.reset();
|
||||
clean();
|
||||
clean = jsdom();
|
||||
$('body').html('<div id="i18n"></div>');
|
||||
args[0] = $('#i18n');
|
||||
$.PrivateBin.I18n._.apply(this, args);
|
||||
const alias = $('#i18n').text();
|
||||
$.PrivateBin.I18n.reset();
|
||||
clean();
|
||||
return translation === result && translation === alias;
|
||||
}
|
||||
);
|
||||
jsc.property(
|
||||
'replaces %s in strings with first given parameter into an element, encoding params only, when a link is part of the messageID inserted',
|
||||
'string',
|
||||
'(small nearray) string',
|
||||
'string',
|
||||
function (prefix, params, postfix) {
|
||||
prefix = prefix.replace(/%(s|d)/g, '%%').trim();
|
||||
params[0] = params[0].replace(/%(s|d)/g, '%%').trim();
|
||||
postfix = postfix.replace(/%(s|d)/g, '%%').trim();
|
||||
const translation = DOMPurify.sanitize(
|
||||
prefix + '<a href="' + params[0] + '"></a>' + postfix, {
|
||||
ALLOWED_TAGS: ['a', 'i', 'span'],
|
||||
ALLOWED_ATTR: ['href', 'id']
|
||||
}
|
||||
);
|
||||
let args = Array.prototype.slice.call(params);
|
||||
args.unshift(prefix + '<a href="%s"></a>' + postfix);
|
||||
let clean = jsdom();
|
||||
$('body').html('<div id="i18n"></div>');
|
||||
args.unshift($('#i18n'));
|
||||
$.PrivateBin.I18n.translate.apply(this, args);
|
||||
const result = $('#i18n').html();
|
||||
$.PrivateBin.I18n.reset();
|
||||
clean();
|
||||
clean = jsdom();
|
||||
$('body').html('<div id="i18n"></div>');
|
||||
args[0] = $('#i18n');
|
||||
$.PrivateBin.I18n._.apply(this, args);
|
||||
const alias = $('#i18n').html();
|
||||
$.PrivateBin.I18n.reset();
|
||||
clean();
|
||||
return translation === result && translation === alias;
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe('getPluralForm', function () {
|
||||
|
||||
60
js/test/Memory.js
Normal file
60
js/test/Memory.js
Normal file
@@ -0,0 +1,60 @@
|
||||
'use strict';
|
||||
const common = require('../common');
|
||||
|
||||
describe('Memory', function () {
|
||||
describe('add & refreshList', function () {
|
||||
this.timeout(30000);
|
||||
|
||||
jsc.property(
|
||||
'allows adding valid paste URLs',
|
||||
common.jscSchemas(),
|
||||
jsc.nearray(common.jscA2zString()),
|
||||
jsc.array(common.jscQueryString()),
|
||||
'string',
|
||||
function (schema, address, query, fragment) {
|
||||
const expectedQuery = encodeURI(
|
||||
query.join('').replace(/^&+|&+$/gm,'')
|
||||
),
|
||||
expected = schema + '://' + address.join('') + '/?' +
|
||||
expectedQuery + '#' + fragment,
|
||||
clean = jsdom();
|
||||
$('body').html(
|
||||
'<main><div id="sidebar-wrapper"><table><tbody>' +
|
||||
'</tbody></table></div></main>'
|
||||
);
|
||||
// clear cache, then the first cell will match what we add
|
||||
$.PrivateBin.Memory.init();
|
||||
$.PrivateBin.Memory.add(expected);
|
||||
$.PrivateBin.Memory.refreshList();
|
||||
const result = $('#sidebar-wrapper table tbody tr td')[3].textContent;
|
||||
clean();
|
||||
return result === expectedQuery;
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe('init', function () {
|
||||
it(
|
||||
'enables toggling the memory sidebar',
|
||||
function() {
|
||||
$('body').html(
|
||||
'<main><div id="sidebar-wrapper"></div>' +
|
||||
'<button id="menu-toggle"></button></main>'
|
||||
);
|
||||
assert.ok(!$('main').hasClass('toggled'));
|
||||
|
||||
$('#menu-toggle').click();
|
||||
assert.ok(!$('main').hasClass('toggled'));
|
||||
|
||||
$.PrivateBin.Memory.init();
|
||||
assert.ok(!$('main').hasClass('toggled'));
|
||||
|
||||
$('#menu-toggle').click();
|
||||
assert.ok($('main').hasClass('toggled'));
|
||||
|
||||
$('#menu-toggle').click();
|
||||
assert.ok(!$('main').hasClass('toggled'));
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -5,18 +5,18 @@ describe('Model', function () {
|
||||
describe('getExpirationDefault', function () {
|
||||
before(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
cleanup();
|
||||
cleanup = jsdom();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'returns the contents of the element with id "pasteExpiration"',
|
||||
'array asciinestring',
|
||||
'nearray asciinestring',
|
||||
'string',
|
||||
'small nat',
|
||||
function (keys, value, key) {
|
||||
keys = keys.map(common.htmlEntities);
|
||||
value = common.htmlEntities(value);
|
||||
var content = keys.length > key ? keys[key] : (keys.length > 0 ? keys[0] : 'null'),
|
||||
keys = keys.map($.PrivateBin.Helper.htmlEntities);
|
||||
value = $.PrivateBin.Helper.htmlEntities(value);
|
||||
var content = keys.length > key ? keys[key] : keys[0],
|
||||
contents = '<select id="pasteExpiration" name="pasteExpiration">';
|
||||
keys.forEach(function(item) {
|
||||
contents += '<option value="' + item + '"';
|
||||
@@ -27,7 +27,7 @@ describe('Model', function () {
|
||||
});
|
||||
contents += '</select>';
|
||||
$('body').html(contents);
|
||||
var result = common.htmlEntities(
|
||||
var result = $.PrivateBin.Helper.htmlEntities(
|
||||
$.PrivateBin.Model.getExpirationDefault()
|
||||
);
|
||||
$.PrivateBin.Model.reset();
|
||||
@@ -39,18 +39,20 @@ describe('Model', function () {
|
||||
describe('getFormatDefault', function () {
|
||||
before(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
});
|
||||
after(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'returns the contents of the element with id "pasteFormatter"',
|
||||
'array asciinestring',
|
||||
'nearray asciinestring',
|
||||
'string',
|
||||
'small nat',
|
||||
function (keys, value, key) {
|
||||
keys = keys.map(common.htmlEntities);
|
||||
value = common.htmlEntities(value);
|
||||
var content = keys.length > key ? keys[key] : (keys.length > 0 ? keys[0] : 'null'),
|
||||
keys = keys.map($.PrivateBin.Helper.htmlEntities);
|
||||
value = $.PrivateBin.Helper.htmlEntities(value);
|
||||
var content = keys.length > key ? keys[key] : keys[0],
|
||||
contents = '<select id="pasteFormatter" name="pasteFormatter">';
|
||||
keys.forEach(function(item) {
|
||||
contents += '<option value="' + item + '"';
|
||||
@@ -61,7 +63,7 @@ describe('Model', function () {
|
||||
});
|
||||
contents += '</select>';
|
||||
$('body').html(contents);
|
||||
var result = common.htmlEntities(
|
||||
var result = $.PrivateBin.Helper.htmlEntities(
|
||||
$.PrivateBin.Model.getFormatDefault()
|
||||
);
|
||||
$.PrivateBin.Model.reset();
|
||||
@@ -74,7 +76,6 @@ describe('Model', function () {
|
||||
this.timeout(30000);
|
||||
beforeEach(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
@@ -130,7 +131,6 @@ describe('Model', function () {
|
||||
this.timeout(30000);
|
||||
beforeEach(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
@@ -238,7 +238,6 @@ describe('Model', function () {
|
||||
describe('getTemplate', function () {
|
||||
beforeEach(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
|
||||
@@ -36,9 +36,6 @@ describe('PasteStatus', function () {
|
||||
|
||||
describe('showRemainingTime', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'shows burn after reading message or remaining time v1',
|
||||
@@ -121,10 +118,6 @@ describe('PasteStatus', function () {
|
||||
});
|
||||
|
||||
describe('hideMessages', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it(
|
||||
'hides all messages',
|
||||
function() {
|
||||
|
||||
@@ -4,9 +4,6 @@ var common = require('../common');
|
||||
describe('PasteViewer', function () {
|
||||
describe('run, hide, getText, setText, getFormat, setFormat & isPrettyPrinted', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'displays text according to format',
|
||||
|
||||
@@ -6,10 +6,6 @@ describe('Prompt', function () {
|
||||
// in nodejs -> replace the prompt in the "page" template with a modal
|
||||
describe('requestPassword & getPassword', function () {
|
||||
this.timeout(30000);
|
||||
before(function () {
|
||||
$.PrivateBin.Model.reset();
|
||||
cleanup();
|
||||
});
|
||||
|
||||
jsc.property(
|
||||
'returns the password fed into the dialog',
|
||||
@@ -26,6 +22,7 @@ describe('Prompt', function () {
|
||||
'password"></div><button type="submit">Decrypt</button>' +
|
||||
'</form></div></div></div></div>'
|
||||
);
|
||||
$.PrivateBin.Model.reset();
|
||||
$.PrivateBin.Model.init();
|
||||
$.PrivateBin.Prompt.init();
|
||||
$.PrivateBin.Prompt.requestPassword();
|
||||
|
||||
@@ -118,62 +118,6 @@ describe('TopNav', function () {
|
||||
);
|
||||
});
|
||||
|
||||
describe('showNewPasteButton', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it(
|
||||
'displays the button for creating a paste',
|
||||
function () {
|
||||
var results = [];
|
||||
$('body').html(
|
||||
'<nav><div id="navbar"><ul><li><button id="newbutton" type=' +
|
||||
'"button" class="hidden">New</button></li></ul></div></nav>'
|
||||
);
|
||||
$.PrivateBin.TopNav.init();
|
||||
results.push(
|
||||
$('#newbutton').hasClass('hidden')
|
||||
);
|
||||
$.PrivateBin.TopNav.showNewPasteButton();
|
||||
results.push(
|
||||
!$('#newbutton').hasClass('hidden')
|
||||
);
|
||||
cleanup();
|
||||
assert.ok(results.every(element => element));
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe('hideCloneButton', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
});
|
||||
|
||||
it(
|
||||
'hides the button for cloning a paste',
|
||||
function () {
|
||||
var results = [];
|
||||
$('body').html(
|
||||
'<nav><div id="navbar"><ul><li><button id="clonebutton" ' +
|
||||
'type="button" class="btn btn-warning navbar-btn">' +
|
||||
'<span class="glyphicon glyphicon-duplicate" aria-hidden=' +
|
||||
'"true"></span> Clone</button></li></ul></div></nav>'
|
||||
);
|
||||
$.PrivateBin.TopNav.init();
|
||||
results.push(
|
||||
!$('#clonebutton').hasClass('hidden')
|
||||
);
|
||||
$.PrivateBin.TopNav.hideCloneButton();
|
||||
results.push(
|
||||
$('#clonebutton').hasClass('hidden')
|
||||
);
|
||||
cleanup();
|
||||
assert.ok(results.every(element => element));
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe('hideRawButton', function () {
|
||||
before(function () {
|
||||
cleanup();
|
||||
@@ -326,7 +270,7 @@ describe('TopNav', function () {
|
||||
'returns the currently selected expiration date',
|
||||
function () {
|
||||
$.PrivateBin.TopNav.init();
|
||||
assert.ok($.PrivateBin.TopNav.getExpiration() === '1week');
|
||||
assert.ok($.PrivateBin.TopNav.getExpiration() === null);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
@@ -38,6 +38,7 @@ class Configuration
|
||||
private static $_defaults = array(
|
||||
'main' => array(
|
||||
'name' => 'PrivateBin',
|
||||
'basepath' => '',
|
||||
'discussion' => true,
|
||||
'opendiscussion' => false,
|
||||
'password' => true,
|
||||
@@ -53,7 +54,7 @@ class Configuration
|
||||
'urlshortener' => '',
|
||||
'qrcode' => true,
|
||||
'icon' => 'identicon',
|
||||
'cspheader' => 'default-src \'none\'; manifest-src \'self\'; connect-src * blob:; script-src \'self\' \'unsafe-eval\'; style-src \'self\'; font-src \'self\'; img-src \'self\' data: blob:; media-src blob:; object-src blob:; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals',
|
||||
'cspheader' => 'default-src \'none\'; manifest-src \'self\'; connect-src * blob:; script-src \'self\' \'unsafe-eval\' resource:; style-src \'self\'; font-src \'self\'; img-src \'self\' data: blob:; media-src blob:; object-src blob:; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads',
|
||||
'zerobincompatibility' => false,
|
||||
'httpwarning' => true,
|
||||
'compression' => 'zlib',
|
||||
@@ -102,8 +103,9 @@ class Configuration
|
||||
public function __construct()
|
||||
{
|
||||
$config = array();
|
||||
$configFile = PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.php';
|
||||
$configIni = PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.ini';
|
||||
$basePath = (getenv('CONFIG_PATH') !== false ? getenv('CONFIG_PATH') : PATH . 'cfg') . DIRECTORY_SEPARATOR;
|
||||
$configIni = $basePath . 'conf.ini';
|
||||
$configFile = $basePath . 'conf.php';
|
||||
|
||||
// rename INI files to avoid configuration leakage
|
||||
if (is_readable($configIni)) {
|
||||
@@ -112,7 +114,7 @@ class Configuration
|
||||
// cleanup sample, too
|
||||
$configIniSample = $configIni . '.sample';
|
||||
if (is_readable($configIniSample)) {
|
||||
DataStore::prependRename($configIniSample, PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.sample.php', ';');
|
||||
DataStore::prependRename($configIniSample, $basePath . 'conf.sample.php', ';');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
@@ -28,14 +28,14 @@ class Controller
|
||||
*
|
||||
* @const string
|
||||
*/
|
||||
const VERSION = '1.3.1';
|
||||
const VERSION = '1.3.4';
|
||||
|
||||
/**
|
||||
* minimal required PHP version
|
||||
*
|
||||
* @const string
|
||||
*/
|
||||
const MIN_PHP_VERSION = '5.5.0';
|
||||
const MIN_PHP_VERSION = '5.6.0';
|
||||
|
||||
/**
|
||||
* show the same error message if the paste expired or does not exist
|
||||
@@ -196,15 +196,20 @@ class Controller
|
||||
*/
|
||||
private function _create()
|
||||
{
|
||||
// Ensure last paste from visitors IP address was more than configured amount of seconds ago.
|
||||
TrafficLimiter::setConfiguration($this->_conf);
|
||||
if (!TrafficLimiter::canPass()) {
|
||||
$this->_return_message(
|
||||
1, I18n::_(
|
||||
'Please wait %d seconds between each post.',
|
||||
$this->_conf->getKey('limit', 'traffic')
|
||||
)
|
||||
);
|
||||
try {
|
||||
// Ensure last paste from visitors IP address was more than configured amount of seconds ago.
|
||||
TrafficLimiter::setConfiguration($this->_conf);
|
||||
if (!TrafficLimiter::canPass()) {
|
||||
$this->_return_message(
|
||||
1, I18n::_(
|
||||
'Please wait %d seconds between each post.',
|
||||
$this->_conf->getKey('limit', 'traffic')
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$this->_return_message(1, I18n::_($e->getMessage()));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -276,9 +281,7 @@ class Controller
|
||||
// accessing this method ensures that the paste would be
|
||||
// deleted if it has already expired
|
||||
$paste->get();
|
||||
if (
|
||||
Filter::slowEquals($deletetoken, $paste->getDeleteToken())
|
||||
) {
|
||||
if (hash_equals($paste->getDeleteToken(), $deletetoken)) {
|
||||
// Paste exists and deletion token is valid: Delete the paste.
|
||||
$paste->delete();
|
||||
$this->_status = 'Paste was properly deleted.';
|
||||
@@ -366,6 +369,7 @@ class Controller
|
||||
|
||||
$page = new View;
|
||||
$page->assign('NAME', $this->_conf->getKey('name'));
|
||||
$page->assign('BASEPATH', I18n::_($this->_conf->getKey('basepath')));
|
||||
$page->assign('ERROR', I18n::_($this->_error));
|
||||
$page->assign('STATUS', I18n::_($this->_status));
|
||||
$page->assign('VERSION', self::VERSION);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Data;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Data;
|
||||
@@ -770,7 +770,7 @@ class Database extends AbstractData
|
||||
" MODIFY COLUMN data $attachmentType;"
|
||||
);
|
||||
}
|
||||
// no break, continue with updates for 1.3.1 and later
|
||||
// no break, continue with updates for all newer versions
|
||||
default:
|
||||
self::_exec(
|
||||
'UPDATE ' . self::_sanitizeIdentifier('config') .
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Data;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
@@ -68,23 +68,4 @@ class Filter
|
||||
}
|
||||
return number_format($size, ($i ? 2 : 0), '.', ' ') . ' ' . I18n::_($iec[$i]);
|
||||
}
|
||||
|
||||
/**
|
||||
* fixed time string comparison operation to prevent timing attacks
|
||||
* https://crackstation.net/hashing-security.htm?=rd#slowequals
|
||||
*
|
||||
* @access public
|
||||
* @static
|
||||
* @param string $a
|
||||
* @param string $b
|
||||
* @return bool
|
||||
*/
|
||||
public static function slowEquals($a, $b)
|
||||
{
|
||||
$diff = strlen($a) ^ strlen($b);
|
||||
for ($i = 0; $i < strlen($a) && $i < strlen($b); ++$i) {
|
||||
$diff |= ord($a[$i]) ^ ord($b[$i]);
|
||||
}
|
||||
return $diff === 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
26
lib/I18n.php
26
lib/I18n.php
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
@@ -125,9 +125,31 @@ class I18n
|
||||
} else {
|
||||
$args[0] = self::$_translations[$messageId];
|
||||
}
|
||||
// encode any non-integer arguments and the message ID, if it doesn't contain a link
|
||||
$argsCount = count($args);
|
||||
if ($argsCount > 1) {
|
||||
for ($i = 0; $i < $argsCount; ++$i) {
|
||||
if (($i > 0 && !is_int($args[$i])) || strpos($args[0], '<a') === false) {
|
||||
$args[$i] = self::encode($args[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return call_user_func_array('sprintf', $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* encode HTML entities for output into an HTML5 document
|
||||
*
|
||||
* @access public
|
||||
* @static
|
||||
* @param string $string
|
||||
* @return string
|
||||
*/
|
||||
public static function encode($string)
|
||||
{
|
||||
return htmlspecialchars($string, ENT_QUOTES | ENT_HTML5 | ENT_DISALLOWED, 'UTF-8', false);
|
||||
}
|
||||
|
||||
/**
|
||||
* loads translations
|
||||
*
|
||||
@@ -177,7 +199,6 @@ class I18n
|
||||
self::$_availableLanguages[] = $match[1];
|
||||
}
|
||||
}
|
||||
self::$_availableLanguages[] = 'en';
|
||||
}
|
||||
return self::$_availableLanguages;
|
||||
}
|
||||
@@ -303,6 +324,7 @@ class I18n
|
||||
case 'pl':
|
||||
return $n == 1 ? 0 : ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2);
|
||||
case 'ru':
|
||||
case 'uk':
|
||||
return $n % 10 == 1 && $n % 100 != 11 ? 0 : ($n % 10 >= 2 && $n % 10 <= 4 && ($n % 100 < 10 || $n % 100 >= 20) ? 1 : 2);
|
||||
case 'sl':
|
||||
return $n % 100 == 1 ? 1 : ($n % 100 == 2 ? 2 : ($n % 100 == 3 || $n % 100 == 4 ? 3 : 0));
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Model;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Model;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Model;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Persistence;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Persistence;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Persistence;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Persistence;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin\Persistence;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* @link https://github.com/PrivateBin/PrivateBin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license http://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 1.3.1
|
||||
* @version 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* @link http://sebsauvage.net/wiki/doku.php?id=php:vizhash_gd
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 0.0.5 beta PrivateBin 1.3.1
|
||||
* @version 0.0.5 beta PrivateBin 1.3.4
|
||||
*/
|
||||
|
||||
namespace PrivateBin;
|
||||
|
||||
@@ -6,3 +6,8 @@
|
||||
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
|
||||
# If you don't want this instance to be listed on https://privatebin.info/directory/
|
||||
# uncomment the following lines:
|
||||
#User-agent: PrivateBinDirectoryBot
|
||||
#Disallow: /
|
||||
@@ -4,7 +4,7 @@ $isCpct = substr($template, 9, 8) === '-compact';
|
||||
$isDark = substr($template, 9, 5) === '-dark';
|
||||
$isPage = substr($template, -5) === '-page';
|
||||
?><!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="<?php echo I18n::_('en'); ?>">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
@@ -13,7 +13,7 @@ $isPage = substr($template, -5) === '-page';
|
||||
<meta name="google" content="notranslate">
|
||||
<title><?php echo I18n::_($NAME); ?></title>
|
||||
<?php
|
||||
if (!$isDark):
|
||||
if (!$isDark) :
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.4.1.css" />
|
||||
<?php
|
||||
@@ -21,7 +21,7 @@ endif;
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.4.1.css" />
|
||||
<?php
|
||||
if ($isDark):
|
||||
if ($isDark) :
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
|
||||
<?php
|
||||
@@ -29,11 +29,11 @@ endif;
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<?php
|
||||
if ($SYNTAXHIGHLIGHTING):
|
||||
if ($SYNTAXHIGHLIGHTING) :
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<?php
|
||||
if (strlen($SYNTAXHIGHLIGHTINGTHEME)):
|
||||
if (strlen($SYNTAXHIGHLIGHTINGTHEME)) :
|
||||
?>
|
||||
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<?php
|
||||
@@ -43,44 +43,57 @@ endif;
|
||||
<noscript><link type="text/css" rel="stylesheet" href="css/noscript.css" /></noscript>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/jquery-3.4.1.js" integrity="sha512-bnIvzh6FU75ZKxp0GXLH9bewza/OIw6dLVh9ICg0gogclmYGguQJWl8U30WpbsGTqbIiAwxTsbe76DErLq5EDQ==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
if ($QRCODE):
|
||||
if ($QRCODE) :
|
||||
?>
|
||||
<script async type="text/javascript" data-cfasync="false" src="js/kjua-0.6.0.js" integrity="sha512-GEEIHvphDt1NmaxzX8X1ZkBiGKXCv+Ofzwi8SMEH5wQVWqdGIvBO/fnxxKZ90RU1bVp6srS68nHIpZo6iVcG9g==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
endif;
|
||||
if ($ZEROBINCOMPATIBILITY):
|
||||
if ($ZEROBINCOMPATIBILITY) :
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/base64-1.7.js" integrity="sha512-JdwsSP3GyHR+jaCkns9CL9NTt4JUJqm/BsODGmYhBcj5EAPKcHYh+OiMfyHbcDLECe17TL0hjXADFkusAqiYgA==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/zlib-1.2.11.js" integrity="sha512-Yey/0yoaVmSbqMEyyff3DIu8kCPwpHvHf7tY1AuZ1lrX9NPCMg87PwzngMi+VNbe4ilCApmePeuKT869RTcyCQ==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/base-x-3.0.5.1.js" integrity="sha512-/zL3MWKMtl1IBF0URx3laql2jUw+rWfFFabNlILY/Qm+hUsQR/XULjUyNHkW/FkrV7A0sMQ7tsppH7sj5ht8wA==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/base-x-3.0.7.js" integrity="sha512-/Bi1AJIP0TtxEB+Jh6Hk809H1G7vn4iJV80qagslf0+Hm0UjUi1s3qNrn1kZULjzUYuaf6ck0ndLGJ7MxWLmgQ==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/rawinflate-0.3.js" integrity="sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/bootstrap-3.3.7.js" integrity="sha512-iztkobsvnjKfAtTNdHkGVjAYTrrtlC7mGp/54c40wowO7LhURYl3gVzzcEqGl/qKXQltJ2HwMrdLcNUdo+N/RQ==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
if ($SYNTAXHIGHLIGHTING):
|
||||
if ($SYNTAXHIGHLIGHTING) :
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
endif;
|
||||
if ($MARKDOWN):
|
||||
if ($MARKDOWN) :
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/showdown-1.9.1.js" integrity="sha512-VeINC2WUWLyxgeQ56SsYFjQ5+d7RLvLPYOEYDFtEDd3AyVsgIsHYsWZ6WwgALwB6YR6qrVEM3IH4Bck96IfbMw==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/showdown-1.9.1.js" integrity="sha512-nRri7kqh3iRLdHbhtjfe8w9eAQPmt+ubH5U88UZyKbz6O9Q0q4haaXF0krOUclKmRJou/kKZYulgBHvHXPqOvg==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/purify-2.0.1.js" integrity="sha512-ddI36MdUoXp/o7yhQtr9/qj4G3oFwCRga4jCGaoUYtORg0PPmFKVKG4Ess3fIknYzxwwKMlrIL9o4NwuPTCc1Q==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/purify-2.1.1.js" integrity="sha512-0RqB620aQhcT40T4kxf/vx3J4DOmFsqcGu2mPha21ZqufRsth3MsiU35ffSHX0OIJbE92XSKyvNcL1I6sYhh4w==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-iZeao0p5riUgentjlrI2cY7Y8KRLTO42bQ4VGy6ky5FS0UjqXW4UkEJQcvR01SxbUFUz7h5AwzC8CVnUHDwRUg==" crossorigin="anonymous"></script>
|
||||
<link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-9cJdKFvcsrk3G411+Wp5Y6ZvFE6UUMKVzCB6LLXhg1BaN/jkviL01Ox+4HzbYNflFuSYK0USVFLeCW89774A6w==" crossorigin="anonymous"></script>
|
||||
<!-- icon -->
|
||||
<link rel="apple-touch-icon" href="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" sizes="180x180" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-32x32.png" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-16x16.png" sizes="16x16" />
|
||||
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<link rel="mask-icon" href="img/safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||
<link rel="mask-icon" href="img/safari-pinned-tab.svg" color="#ffcc00" />
|
||||
<link rel="shortcut icon" href="img/favicon.ico">
|
||||
<meta name="msapplication-config" content="browserconfig.xml">
|
||||
<meta name="theme-color" content="#ffe57e" />
|
||||
<!-- Twitter/social media cards -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta name="twitter:title" content="<?php echo I18n::_('Encrypted note on PrivateBin') ?>" />
|
||||
<meta name="twitter:description" content="<?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?>" />
|
||||
<meta name="twitter:image" content="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" />
|
||||
<meta property="og:title" content="<?php echo I18n::_($NAME); ?>" />
|
||||
<meta property="og:site_name" content="<?php echo I18n::_($NAME); ?>" />
|
||||
<meta property="og:description" content="<?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?>" />
|
||||
<meta property="og:image" content="<?php echo I18n::encode($BASEPATH); ?>img/apple-touch-icon.png" />
|
||||
<meta property="og:image:type" content="image/png" />
|
||||
<meta property="og:image:width" content="180" />
|
||||
<meta property="og:image:height" content="180" />
|
||||
</head>
|
||||
<body role="document" data-compression="<?php echo rawurlencode($COMPRESSION); ?>"<?php
|
||||
$class = array();
|
||||
@@ -110,7 +123,7 @@ if (count($class)) {
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($QRCODE):
|
||||
if ($QRCODE) :
|
||||
?>
|
||||
<div id="qrcodemodal" tabindex="-1" class="modal fade" aria-labelledby="qrcodemodalTitle" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
@@ -118,15 +131,43 @@ if ($QRCODE):
|
||||
<div class="modal-body">
|
||||
<div class="mx-auto" id="qrcode-display"></div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo I18n::_('Close') ?></button>
|
||||
<div class="row">
|
||||
<div class="btn-group col-xs-12">
|
||||
<span class="col-xs-12">
|
||||
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo I18n::_('Close') ?></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<div id="emailconfirmmodal" tabindex="-1" class="modal fade" aria-labelledby="emailconfirmmodalTitle" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div id="emailconfirm-display"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="btn-group col-xs-12" data-toggle="buttons">
|
||||
<span class="col-xs-12 col-md-4">
|
||||
<button id="emailconfirm-timezone-current" type="button" class="btn btn-danger btn-block" data-dismiss="modal"><?php echo I18n::_('Use Current Timezone') ?></button>
|
||||
</span>
|
||||
<span class="col-xs-12 col-md-4">
|
||||
<button id="emailconfirm-timezone-utc" type="button" class="btn btn-default btn-block" data-dismiss="modal"><?php echo I18n::_('Convert To UTC') ?></button>
|
||||
</span>
|
||||
<span class="col-xs-12 col-md-4">
|
||||
<button type="button" class="btn btn-primary btn-block" data-dismiss="modal"><?php echo I18n::_('Close') ?></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<nav class="navbar navbar-<?php echo $isDark ? 'inverse' : 'default'; ?> navbar-<?php echo $isCpct ? 'fixed' : 'static'; ?>-top"><?php
|
||||
if ($isCpct):
|
||||
if ($isCpct) :
|
||||
?><div class="container"><?php
|
||||
endif;
|
||||
?>
|
||||
@@ -154,11 +195,11 @@ endif;
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
if ($isPage):
|
||||
if ($isPage) :
|
||||
?>
|
||||
<button id="sendbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo I18n::_('Send'), PHP_EOL;
|
||||
else:
|
||||
else :
|
||||
?>
|
||||
<button id="newbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo I18n::_('New'), PHP_EOL;
|
||||
@@ -171,8 +212,11 @@ endif;
|
||||
<button id="rawtextbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo I18n::_('Raw text'), PHP_EOL; ?>
|
||||
</button>
|
||||
<button id="emaillink" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> <?php echo I18n::_('Email'), PHP_EOL; ?>
|
||||
</button>
|
||||
<?php
|
||||
if ($QRCODE):
|
||||
if ($QRCODE) :
|
||||
?>
|
||||
<button id="qrcodelink" type="button" data-toggle="modal" data-target="#qrcodemodal" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-qrcode" aria-hidden="true"></span> <?php echo I18n::_('QR code'), PHP_EOL; ?>
|
||||
@@ -180,14 +224,17 @@ if ($QRCODE):
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<button id="rememberbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
|
||||
<span class="glyphicon glyphicon-star" aria-hidden="true"></span> <?php echo I18n::_('Remember'), PHP_EOL; ?>
|
||||
</button>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
||||
<?php
|
||||
foreach ($EXPIRE as $key => $value):
|
||||
foreach ($EXPIRE as $key => $value) :
|
||||
?>
|
||||
<option value="<?php echo $key; ?>"<?php
|
||||
if ($key == $EXPIREDEFAULT):
|
||||
if ($key == $EXPIREDEFAULT) :
|
||||
?> selected="selected"<?php
|
||||
endif;
|
||||
?>><?php echo $value; ?></option>
|
||||
@@ -198,7 +245,7 @@ endforeach;
|
||||
<a id="expiration" href="#" class="hidden dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo I18n::_('Expires'); ?>: <span id="pasteExpirationDisplay"><?php echo $EXPIRE[$EXPIREDEFAULT]; ?></span> <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<?php
|
||||
foreach ($EXPIRE as $key => $value):
|
||||
foreach ($EXPIRE as $key => $value) :
|
||||
?>
|
||||
<li>
|
||||
<a href="#" data-expiration="<?php echo $key; ?>">
|
||||
@@ -211,7 +258,7 @@ endforeach;
|
||||
</ul>
|
||||
</li>
|
||||
<?php
|
||||
if ($isCpct):
|
||||
if ($isCpct) :
|
||||
?>
|
||||
<li class="dropdown">
|
||||
<a id="formatter" href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo I18n::_('Options'); ?> <span class="caret"></span></a>
|
||||
@@ -219,7 +266,7 @@ if ($isCpct):
|
||||
<li id="burnafterreadingoption" class="checkbox hidden">
|
||||
<label>
|
||||
<input type="checkbox" id="burnafterreading" name="burnafterreading"<?php
|
||||
if ($BURNAFTERREADINGSELECTED):
|
||||
if ($BURNAFTERREADINGSELECTED) :
|
||||
?> checked="checked"<?php
|
||||
endif;
|
||||
?> />
|
||||
@@ -227,12 +274,12 @@ if ($isCpct):
|
||||
</label>
|
||||
</li>
|
||||
<?php
|
||||
if ($DISCUSSION):
|
||||
if ($DISCUSSION) :
|
||||
?>
|
||||
<li id="opendiscussionoption" class="checkbox hidden">
|
||||
<label>
|
||||
<input type="checkbox" id="opendiscussion" name="opendiscussion"<?php
|
||||
if ($OPENDISCUSSION):
|
||||
if ($OPENDISCUSSION) :
|
||||
?> checked="checked"<?php
|
||||
endif;
|
||||
?> />
|
||||
@@ -249,7 +296,7 @@ if ($isCpct):
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
foreach ($FORMATTER as $key => $value):
|
||||
foreach ($FORMATTER as $key => $value) :
|
||||
?>
|
||||
<li>
|
||||
<a href="#" data-format="<?php echo $key; ?>">
|
||||
@@ -262,10 +309,10 @@ if ($isCpct):
|
||||
</ul>
|
||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
||||
<?php
|
||||
foreach ($FORMATTER as $key => $value):
|
||||
foreach ($FORMATTER as $key => $value) :
|
||||
?>
|
||||
<option value="<?php echo $key; ?>"<?php
|
||||
if ($key == $FORMATTERDEFAULT):
|
||||
if ($key == $FORMATTERDEFAULT) :
|
||||
?> selected="selected"<?php
|
||||
endif;
|
||||
?>><?php echo $value; ?></option>
|
||||
@@ -275,13 +322,13 @@ if ($isCpct):
|
||||
</select>
|
||||
</li>
|
||||
<?php
|
||||
else:
|
||||
else :
|
||||
?>
|
||||
<li>
|
||||
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
||||
<label>
|
||||
<input type="checkbox" id="burnafterreading" name="burnafterreading"<?php
|
||||
if ($BURNAFTERREADINGSELECTED):
|
||||
if ($BURNAFTERREADINGSELECTED) :
|
||||
?> checked="checked"<?php
|
||||
endif;
|
||||
?> />
|
||||
@@ -290,13 +337,13 @@ else:
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
if ($DISCUSSION):
|
||||
if ($DISCUSSION) :
|
||||
?>
|
||||
<li>
|
||||
<div id="opendiscussionoption" class="navbar-text checkbox hidden">
|
||||
<label>
|
||||
<input type="checkbox" id="opendiscussion" name="opendiscussion"<?php
|
||||
if ($OPENDISCUSSION):
|
||||
if ($OPENDISCUSSION) :
|
||||
?> checked="checked"<?php
|
||||
endif;
|
||||
?> />
|
||||
@@ -307,7 +354,7 @@ else:
|
||||
<?php
|
||||
endif;
|
||||
endif;
|
||||
if ($PASSWORD):
|
||||
if ($PASSWORD) :
|
||||
?>
|
||||
<li>
|
||||
<div id="password" class="navbar-form hidden">
|
||||
@@ -316,7 +363,7 @@ if ($PASSWORD):
|
||||
</li>
|
||||
<?php
|
||||
endif;
|
||||
if ($FILEUPLOAD):
|
||||
if ($FILEUPLOAD) :
|
||||
?>
|
||||
<li id="attach" class="hidden dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo I18n::_('Attach a file'); ?> <span class="caret"></span></a>
|
||||
@@ -337,15 +384,15 @@ if ($FILEUPLOAD):
|
||||
</li>
|
||||
<?php
|
||||
endif;
|
||||
if (!$isCpct):
|
||||
if (!$isCpct) :
|
||||
?>
|
||||
<li class="dropdown">
|
||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
||||
<?php
|
||||
foreach ($FORMATTER as $key => $value):
|
||||
foreach ($FORMATTER as $key => $value) :
|
||||
?>
|
||||
<option value="<?php echo $key; ?>"<?php
|
||||
if ($key == $FORMATTERDEFAULT):
|
||||
if ($key == $FORMATTERDEFAULT) :
|
||||
?> selected="selected"<?php
|
||||
endif;
|
||||
?>><?php echo $value; ?></option>
|
||||
@@ -356,7 +403,7 @@ if (!$isCpct):
|
||||
<a id="formatter" href="#" class="hidden dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo I18n::_('Format'); ?>: <span id="pasteFormatterDisplay"><?php echo $FORMATTER[$FORMATTERDEFAULT]; ?></span> <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<?php
|
||||
foreach ($FORMATTER as $key => $value):
|
||||
foreach ($FORMATTER as $key => $value) :
|
||||
?>
|
||||
<li>
|
||||
<a href="#" data-format="<?php echo $key; ?>">
|
||||
@@ -374,13 +421,13 @@ endif;
|
||||
</ul>
|
||||
<ul class="nav navbar-nav pull-right">
|
||||
<?php
|
||||
if (strlen($LANGUAGESELECTION)):
|
||||
if (strlen($LANGUAGESELECTION)) :
|
||||
?>
|
||||
<li id="language" class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-flag" aria-hidden="true"></span> <?php echo $LANGUAGES[$LANGUAGESELECTION][0]; ?> <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<?php
|
||||
foreach ($LANGUAGES as $key => $value):
|
||||
foreach ($LANGUAGES as $key => $value) :
|
||||
?>
|
||||
<li>
|
||||
<a href="#" data-lang="<?php echo $key; ?>">
|
||||
@@ -398,18 +445,40 @@ endif;
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
if ($isCpct):
|
||||
if ($isCpct) :
|
||||
?></div><?php
|
||||
endif;
|
||||
?></nav>
|
||||
<main>
|
||||
<div id="sidebar-wrapper">
|
||||
<h4><?php echo I18n::_('Memory'); ?></h4>
|
||||
<p><?php echo I18n::_('The memory lets you remember different paste links. The memory is unique to each website and device.'); ?></p>
|
||||
<table class="table<?php echo $isDark ? '' : ' table-striped'; ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th title="<?php echo I18n::_('Select all'); ?>"><input type="checkbox" id="memoryselectall" /></th>
|
||||
<th title="<?php echo I18n::_('HTTPS'); ?>">🔒</th>
|
||||
<th><?php echo I18n::_('Service'); ?></th>
|
||||
<th><?php echo I18n::_('ID'); ?></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
<button id="forgetbutton" type="button" class="btn btn-danger navbar-btn">
|
||||
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> <?php echo I18n::_('Forget'), PHP_EOL; ?>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
<section class="container">
|
||||
<?php
|
||||
if (strlen($NOTICE)):
|
||||
if (strlen($NOTICE)) :
|
||||
?>
|
||||
<div role="alert" class="alert alert-info">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||
<?php echo htmlspecialchars($NOTICE), PHP_EOL; ?>
|
||||
<?php echo I18n::encode($NOTICE), PHP_EOL; ?>
|
||||
</div>
|
||||
<?php
|
||||
endif;
|
||||
@@ -418,27 +487,27 @@ endif;
|
||||
<span class="glyphicon glyphicon-fire" aria-hidden="true"></span>
|
||||
</div>
|
||||
<?php
|
||||
if ($FILEUPLOAD):
|
||||
if ($FILEUPLOAD) :
|
||||
?>
|
||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||
<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
|
||||
<a class="alert-link"><?php echo I18n::_('Download attachment'), PHP_EOL; ?></a>
|
||||
<a class="alert-link"><?php echo I18n::_('Download attachment'); ?></a>
|
||||
</div>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<div id="status" role="alert" class="alert alert-info<?php echo empty($STATUS) ? ' hidden' : '' ?>">
|
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||
<?php echo htmlspecialchars($STATUS), PHP_EOL; ?>
|
||||
<?php echo I18n::encode($STATUS), PHP_EOL; ?>
|
||||
</div>
|
||||
<div id="errormessage" role="alert" class="<?php echo empty($ERROR) ? 'hidden' : '' ?> alert alert-danger">
|
||||
<span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
|
||||
<?php echo htmlspecialchars($ERROR), PHP_EOL; ?>
|
||||
<?php echo I18n::encode($ERROR), PHP_EOL; ?>
|
||||
</div>
|
||||
<noscript>
|
||||
<div id="noscript" role="alert" class="alert alert-<?php echo $isDark ? 'error' : 'warning'; ?>">
|
||||
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
|
||||
<?php echo I18n::_('JavaScript is required for %s to work.<br />Sorry for the inconvenience.', I18n::_($NAME)), PHP_EOL; ?>
|
||||
<?php echo I18n::_('JavaScript is required for %s to work. Sorry for the inconvenience.', I18n::_($NAME)), PHP_EOL; ?>
|
||||
</div>
|
||||
</noscript>
|
||||
<div id="oldnotice" role="alert" class="hidden alert alert-danger">
|
||||
@@ -446,10 +515,11 @@ endif;
|
||||
<?php echo I18n::_('%s requires a modern browser to work.', I18n::_($NAME)), PHP_EOL; ?>
|
||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||
<a href="https://www.opera.com/">Opera</a>,
|
||||
<a href="https://www.google.com/chrome">Chrome</a>…
|
||||
<a href="https://www.google.com/chrome">Chrome</a>…<br />
|
||||
<span class="small"><?php echo I18n::_('For more information <a href="%s">see this FAQ entry</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-the-error-privatebin-requires-a-modern-browser-to-work'); ?></span>
|
||||
</div>
|
||||
<?php
|
||||
if ($HTTPWARNING):
|
||||
if ($HTTPWARNING) :
|
||||
?>
|
||||
<div id="httpnotice" role="alert" class="hidden alert alert-danger">
|
||||
<span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
|
||||
@@ -470,10 +540,10 @@ endif;
|
||||
<div id="pastelink"></div>
|
||||
</div>
|
||||
<?php
|
||||
if (strlen($URLSHORTENER)):
|
||||
if (strlen($URLSHORTENER)) :
|
||||
?>
|
||||
<p>
|
||||
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> btn-block">
|
||||
<button id="shortenbutton" data-shortener="<?php echo I18n::encode($URLSHORTENER); ?>" type="button" class="btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> btn-block">
|
||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo I18n::_('Shorten URL'), PHP_EOL; ?>
|
||||
</button>
|
||||
</p>
|
||||
@@ -485,16 +555,20 @@ if (strlen($URLSHORTENER)):
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
<button id="menu-toggle" class="btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> btn-xs">
|
||||
<span class="glyphicon glyphicon-menu-up" aria-hidden="true"></span>
|
||||
<?php echo I18n::_('Memory'); ?>
|
||||
</button>
|
||||
<ul id="editorTabs" class="nav nav-tabs hidden">
|
||||
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo I18n::_('Editor'); ?></a></li>
|
||||
<li role="presentation"><a id="messagepreview" href="#"><?php echo I18n::_('Preview'); ?></a></li>
|
||||
<li role="presentation" class="active"><a role="tab" aria-selected="true" aria-controls="editorTabs" id="messageedit" href="#"><?php echo I18n::_('Editor'); ?></a></li>
|
||||
<li role="presentation"><a role="tab" aria-selected="false" aria-controls="editorTabs" id="messagepreview" href="#"><?php echo I18n::_('Preview'); ?></a></li>
|
||||
<li role="presentation" class="pull-right">
|
||||
<?php
|
||||
if ($isPage):
|
||||
if ($isPage) :
|
||||
?>
|
||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?>">
|
||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo I18n::_('New'), PHP_EOL;
|
||||
else:
|
||||
else :
|
||||
?>
|
||||
<button id="sendbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?>">
|
||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo I18n::_('Send'), PHP_EOL;
|
||||
@@ -525,7 +599,7 @@ endif;
|
||||
<div id="noscript" role="alert" class="alert alert-info noscript-hide">
|
||||
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
|
||||
<?php echo I18n::_('Loading…'); ?><br />
|
||||
<span class="small"><?php echo I18n::_('In case this message never disappears please have a look at <a href="%s">this FAQ for information to troubleshoot</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away'); ?></span>
|
||||
<span class="small"><?php echo I18n::_('In case this message never disappears please have a look at <a href="%s">this FAQ for information to troubleshoot</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-the-loading-message-not-go-away'); ?></span>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="container">
|
||||
@@ -539,7 +613,7 @@ endif;
|
||||
</footer>
|
||||
</main>
|
||||
<?php
|
||||
if ($DISCUSSION):
|
||||
if ($DISCUSSION) :
|
||||
?>
|
||||
<div id="serverdata" class="hidden" aria-hidden="true">
|
||||
<div id="templates">
|
||||
@@ -552,7 +626,7 @@ if ($DISCUSSION):
|
||||
endif;
|
||||
?>
|
||||
<?php
|
||||
if ($FILEUPLOAD):
|
||||
if ($FILEUPLOAD) :
|
||||
?>
|
||||
<div id="dropzone" class="hidden" tabindex="-1" aria-hidden="true"></div>
|
||||
<?php
|
||||
|
||||
44
tpl/page.php
44
tpl/page.php
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
use PrivateBin\I18n;
|
||||
?><!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="<?php echo I18n::_('en'); ?>">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="robots" content="noindex" />
|
||||
@@ -34,7 +34,7 @@ if ($ZEROBINCOMPATIBILITY):
|
||||
endif;
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/zlib-1.2.11.js" integrity="sha512-Yey/0yoaVmSbqMEyyff3DIu8kCPwpHvHf7tY1AuZ1lrX9NPCMg87PwzngMi+VNbe4ilCApmePeuKT869RTcyCQ==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/base-x-3.0.5.1.js" integrity="sha512-/zL3MWKMtl1IBF0URx3laql2jUw+rWfFFabNlILY/Qm+hUsQR/XULjUyNHkW/FkrV7A0sMQ7tsppH7sj5ht8wA==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/base-x-3.0.7.js" integrity="sha512-/Bi1AJIP0TtxEB+Jh6Hk809H1G7vn4iJV80qagslf0+Hm0UjUi1s3qNrn1kZULjzUYuaf6ck0ndLGJ7MxWLmgQ==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/rawinflate-0.3.js" integrity="sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
if ($SYNTAXHIGHLIGHTING):
|
||||
@@ -44,13 +44,14 @@ if ($SYNTAXHIGHLIGHTING):
|
||||
endif;
|
||||
if ($MARKDOWN):
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/showdown-1.9.1.js" integrity="sha512-VeINC2WUWLyxgeQ56SsYFjQ5+d7RLvLPYOEYDFtEDd3AyVsgIsHYsWZ6WwgALwB6YR6qrVEM3IH4Bck96IfbMw==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/showdown-1.9.1.js" integrity="sha512-nRri7kqh3iRLdHbhtjfe8w9eAQPmt+ubH5U88UZyKbz6O9Q0q4haaXF0krOUclKmRJou/kKZYulgBHvHXPqOvg==" crossorigin="anonymous"></script>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/purify-2.0.1.js" integrity="sha512-ddI36MdUoXp/o7yhQtr9/qj4G3oFwCRga4jCGaoUYtORg0PPmFKVKG4Ess3fIknYzxwwKMlrIL9o4NwuPTCc1Q==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/purify-2.1.1.js" integrity="sha512-0RqB620aQhcT40T4kxf/vx3J4DOmFsqcGu2mPha21ZqufRsth3MsiU35ffSHX0OIJbE92XSKyvNcL1I6sYhh4w==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/legacy.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-LYos+qXHIRqFf5ZPNphvtTB0cgzHUizu2wwcOwcwz/VIpRv9lpcBgPYz4uq6jx0INwCAj6Fbnl5HoKiLufS2jg==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-iZeao0p5riUgentjlrI2cY7Y8KRLTO42bQ4VGy6ky5FS0UjqXW4UkEJQcvR01SxbUFUz7h5AwzC8CVnUHDwRUg==" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-9cJdKFvcsrk3G411+Wp5Y6ZvFE6UUMKVzCB6LLXhg1BaN/jkviL01Ox+4HzbYNflFuSYK0USVFLeCW89774A6w==" crossorigin="anonymous"></script>
|
||||
<!-- icon -->
|
||||
<link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="img/favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||
@@ -59,6 +60,18 @@ endif;
|
||||
<link rel="shortcut icon" href="img/favicon.ico">
|
||||
<meta name="msapplication-config" content="browserconfig.xml">
|
||||
<meta name="theme-color" content="#ffe57e" />
|
||||
<!-- Twitter/social media cards -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta name="twitter:title" content="<?php echo I18n::_('Encrypted note on PrivateBin') ?>" />
|
||||
<meta name="twitter:description" content="<?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?>" />
|
||||
<meta name="twitter:image" content="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<meta property="og:title" content="<?php echo I18n::_($NAME); ?>" />
|
||||
<meta property="og:site_name" content="<?php echo I18n::_($NAME); ?>" />
|
||||
<meta property="og:description" content="<?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?>" />
|
||||
<meta property="og:image" content="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" />
|
||||
<meta property="og:image:type" content="image/png" />
|
||||
<meta property="og:image:width" content="180" />
|
||||
<meta property="og:image:height" content="180" />
|
||||
</head>
|
||||
<body data-compression="<?php echo rawurlencode($COMPRESSION); ?>">
|
||||
<header>
|
||||
@@ -67,24 +80,26 @@ endif;
|
||||
<?php
|
||||
if (strlen($NOTICE)):
|
||||
?>
|
||||
<span class="blink">▶</span> <?php echo htmlspecialchars($NOTICE);
|
||||
<span class="blink">▶</span> <?php echo I18n::encode($NOTICE);
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
<h1 class="title reloadlink"><?php echo I18n::_($NAME); ?></h1><br />
|
||||
<h2 class="title"><?php echo I18n::_('Because ignorance is bliss'); ?></h2><br />
|
||||
<h3 class="title"><?php echo $VERSION; ?></h3>
|
||||
<noscript><div id="noscript" class="nonworking"><?php echo I18n::_('JavaScript is required for %s to work.<br />Sorry for the inconvenience.', I18n::_($NAME)); ?></div></noscript>
|
||||
<div id="oldnotice" class="nonworking hidden"><?php echo I18n::_('%s requires a modern browser to work.', I18n::_($NAME)), PHP_EOL; ?>
|
||||
<noscript><div id="noscript" class="nonworking"><?php echo I18n::_('JavaScript is required for %s to work. Sorry for the inconvenience.', I18n::_($NAME)); ?></div></noscript>
|
||||
<div id="oldnotice" class="nonworking hidden">
|
||||
<?php echo I18n::_('%s requires a modern browser to work.', I18n::_($NAME)), PHP_EOL; ?>
|
||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||
<a href="https://www.opera.com/">Opera</a>,
|
||||
<a href="https://www.google.com/chrome">Chrome</a>…
|
||||
<a href="https://www.google.com/chrome">Chrome</a>…<br />
|
||||
<span class="small"><?php echo I18n::_('For more information <a href="%s">see this FAQ entry</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-the-error-privatebin-requires-a-modern-browser-to-work'); ?></span>
|
||||
</div>
|
||||
<?php
|
||||
if ($HTTPWARNING):
|
||||
?>
|
||||
<div id="httpnotice" class="errorMessage hidden">
|
||||
<?php echo I18n::_('This website is using an insecure connection! Please only use it for testing.'); ?>
|
||||
<?php echo I18n::_('This website is using an insecure connection! Please only use it for testing.'); ?><br />
|
||||
<span class="small"><?php echo I18n::_('For more information <a href="%s">see this FAQ entry</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-an-error-about-an-insecure-connection'); ?></span>
|
||||
</div>
|
||||
<div id="insecurecontextnotice" class="errorMessage hidden">
|
||||
@@ -97,14 +112,15 @@ endif;
|
||||
<section>
|
||||
<article>
|
||||
<div id="loadingindicator" class="hidden"><?php echo I18n::_('Loading…'); ?></div>
|
||||
<div id="status"><?php echo htmlspecialchars($STATUS); ?></div>
|
||||
<div id="errormessage" class="hidden"><?php echo htmlspecialchars($ERROR); ?></div>
|
||||
<div id="status"><?php echo I18n::encode($STATUS); ?></div>
|
||||
<div id="errormessage" class="hidden"><?php echo I18n::encode($ERROR); ?></div>
|
||||
<div id="toolbar">
|
||||
<button id="newbutton" class="reloadlink hidden"><img src="img/icon_new.png" width="11" height="15" alt="" /><?php echo I18n::_('New'); ?></button>
|
||||
<button id="retrybutton" class="reloadlink hidden"><?php echo I18n::_('Retry'), PHP_EOL; ?></button>
|
||||
<button id="sendbutton" class="hidden"><img src="img/icon_send.png" width="18" height="15" alt="" /><?php echo I18n::_('Send'); ?></button>
|
||||
<button id="clonebutton" class="hidden"><img src="img/icon_clone.png" width="15" height="17" alt="" /><?php echo I18n::_('Clone'); ?></button>
|
||||
<button id="rawtextbutton" class="hidden"><img src="img/icon_raw.png" width="15" height="15" alt="" /><?php echo I18n::_('Raw text'); ?></button>
|
||||
<button id="emaillink" class="hidden"><img src="img/icon_email.png" width="15" height="15" alt="" /><?php echo I18n::_('Email'); ?></button>
|
||||
<?php
|
||||
if ($QRCODE):
|
||||
?>
|
||||
@@ -206,7 +222,7 @@ endif;
|
||||
<?php
|
||||
if (strlen($URLSHORTENER)):
|
||||
?>
|
||||
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>"><img src="img/icon_shorten.png" width="13" height="15" /><?php echo I18n::_('Shorten URL'); ?></button>
|
||||
<button id="shortenbutton" data-shortener="<?php echo I18n::encode($URLSHORTENER); ?>"><img src="img/icon_shorten.png" width="13" height="15" /><?php echo I18n::_('Shorten URL'); ?></button>
|
||||
<?php
|
||||
endif;
|
||||
?>
|
||||
@@ -265,7 +281,7 @@ endif;
|
||||
<section class="container">
|
||||
<div id="noscript" role="alert" class="nonworking alert alert-info noscript-hide"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true">
|
||||
<span> <?php echo I18n::_('Loading…'); ?></span><br>
|
||||
<span class="small"><?php echo I18n::_('In case this message never disappears please have a look at <a href="https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away">this FAQ for information to troubleshoot</a>.'); ?></span>
|
||||
<span class="small"><?php echo I18n::_('In case this message never disappears please have a look at <a href="%s">this FAQ for information to troubleshoot</a>.', 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-the-loading-message-not-go-away'); ?></span>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
|
||||
@@ -4,24 +4,31 @@ use PrivateBin\Configuration;
|
||||
|
||||
class ConfigurationTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
private $_minimalConfig;
|
||||
|
||||
private $_options;
|
||||
|
||||
private $_minimalConfig;
|
||||
private $_path;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
/* Setup Routine */
|
||||
Helper::confBackup();
|
||||
$this->_minimalConfig = '[main]' . PHP_EOL . '[model]' . PHP_EOL . '[model_options]';
|
||||
$this->_options = Configuration::getDefaults();
|
||||
$this->_options['model_options']['dir'] = PATH . $this->_options['model_options']['dir'];
|
||||
$this->_options['traffic']['dir'] = PATH . $this->_options['traffic']['dir'];
|
||||
$this->_options['purge']['dir'] = PATH . $this->_options['purge']['dir'];
|
||||
$this->_minimalConfig = '[main]' . PHP_EOL . '[model]' . PHP_EOL . '[model_options]';
|
||||
$this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_cfg';
|
||||
if (!is_dir($this->_path)) {
|
||||
mkdir($this->_path);
|
||||
}
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
/* Tear Down Routine */
|
||||
Helper::rmDir($this->_path);
|
||||
if (is_file(CONF)) {
|
||||
unlink(CONF);
|
||||
}
|
||||
@@ -177,4 +184,49 @@ class ConfigurationTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertFileExists(CONF, 'old configuration file gets converted');
|
||||
$this->assertFileNotExists(PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.ini', 'old configuration file gets removed');
|
||||
}
|
||||
|
||||
public function testConfigPath()
|
||||
{
|
||||
// setup
|
||||
$configFile = $this->_path . DIRECTORY_SEPARATOR . 'conf.php';
|
||||
$options = $this->_options;
|
||||
$options['main']['name'] = 'OtherBin';
|
||||
Helper::createIniFile($configFile, $options);
|
||||
|
||||
// test
|
||||
putenv('CONFIG_PATH=' . $this->_path);
|
||||
$conf = new Configuration;
|
||||
$this->assertEquals('OtherBin', $conf->getKey('name'), 'changing config path is supported');
|
||||
|
||||
// cleanup environment
|
||||
if (is_file($configFile)) {
|
||||
unlink($configFile);
|
||||
}
|
||||
putenv('CONFIG_PATH');
|
||||
}
|
||||
|
||||
public function testConfigPathIni()
|
||||
{
|
||||
// setup
|
||||
$configFile = $this->_path . DIRECTORY_SEPARATOR . 'conf.ini';
|
||||
$configMigrated = $this->_path . DIRECTORY_SEPARATOR . 'conf.php';
|
||||
$options = $this->_options;
|
||||
$options['main']['name'] = 'OtherBin';
|
||||
Helper::createIniFile($configFile, $options);
|
||||
$this->assertFileNotExists(CONF, 'configuration in the default location is non existing');
|
||||
|
||||
// test
|
||||
putenv('CONFIG_PATH=' . $this->_path);
|
||||
$conf = new Configuration;
|
||||
$this->assertEquals('OtherBin', $conf->getKey('name'), 'changing config path is supported for ini files as well');
|
||||
$this->assertFileExists($configMigrated, 'old configuration file gets converted');
|
||||
$this->assertFileNotExists($configFile, 'old configuration file gets removed');
|
||||
$this->assertFileNotExists(CONF, 'configuration is not created in the default location');
|
||||
|
||||
// cleanup environment
|
||||
if (is_file($configFile)) {
|
||||
unlink($configFile);
|
||||
}
|
||||
putenv('CONFIG_PATH');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,18 +56,4 @@ class FilterTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals('1.00 YiB', Filter::formatHumanReadableSize(1024 * $exponent));
|
||||
$this->assertEquals('1.21 YiB', Filter::formatHumanReadableSize(1234 * $exponent));
|
||||
}
|
||||
|
||||
public function testSlowEquals()
|
||||
{
|
||||
$this->assertTrue(Filter::slowEquals('foo', 'foo'), 'same string');
|
||||
$this->assertFalse(Filter::slowEquals('foo', true), 'string and boolean');
|
||||
$this->assertFalse(Filter::slowEquals('foo', 0), 'string and integer');
|
||||
$this->assertFalse(Filter::slowEquals('123foo', 123), 'string and integer');
|
||||
$this->assertFalse(Filter::slowEquals('123foo', '123'), 'different strings');
|
||||
$this->assertFalse(Filter::slowEquals('6', ' 6'), 'strings with space');
|
||||
$this->assertFalse(Filter::slowEquals('4.2', '4.20'), 'floats as strings');
|
||||
$this->assertFalse(Filter::slowEquals('1e3', '1000'), 'integers as strings');
|
||||
$this->assertFalse(Filter::slowEquals('9223372036854775807', '9223372036854775808'), 'large integers as strings');
|
||||
$this->assertFalse(Filter::slowEquals('61529519452809720693702583126814', '61529519452809720000000000000000'), 'larger integers as strings');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,6 +155,17 @@ class I18nTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertEquals('some string + 1', I18n::_('some %s + %d', 'string', 1), 'browser language en');
|
||||
}
|
||||
|
||||
public function testHtmlEntityEncoding()
|
||||
{
|
||||
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'foobar';
|
||||
I18n::loadTranslations();
|
||||
$input = '&<>"\'/`=';
|
||||
$result = htmlspecialchars($input, ENT_QUOTES | ENT_HTML5 | ENT_DISALLOWED, 'UTF-8', false);
|
||||
$this->assertEquals($result, I18n::encode($input), 'encodes HTML entities');
|
||||
$this->assertEquals('<a>some ' . $result . ' + 1</a>', I18n::_('<a>some %s + %d</a>', $input, 1), 'encodes parameters in translations');
|
||||
$this->assertEquals($result . $result, I18n::_($input . '%s', $input), 'encodes message ID as well, when no link');
|
||||
}
|
||||
|
||||
public function testMessageIdsExistInAllLanguages()
|
||||
{
|
||||
$messageIds = array();
|
||||
|
||||
@@ -104,7 +104,8 @@ $ cd PrivateBin/js
|
||||
$ npm install
|
||||
```
|
||||
|
||||
To run the tests, just change into the `js` directory and run istanbul:
|
||||
To run the tests, just change into the `js` directory and run nyc (will produce
|
||||
coverage report) or just mocha:
|
||||
|
||||
```console
|
||||
$ cd PrivateBin/js
|
||||
|
||||
@@ -34,6 +34,7 @@ class ViewTest extends PHPUnit_Framework_TestCase
|
||||
/* Setup Routine */
|
||||
$page = new View;
|
||||
$page->assign('NAME', 'PrivateBinTest');
|
||||
$page->assign('BASEPATH', '');
|
||||
$page->assign('ERROR', self::$error);
|
||||
$page->assign('STATUS', self::$status);
|
||||
$page->assign('VERSION', self::$version);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</filter>
|
||||
<logging>
|
||||
<log type="coverage-clover" target="log/coverage-clover.xml" />
|
||||
<log type="coverage-html" target="log/php-coverage-report" charset="UTF-8" yui="true" highlight="true" lowUpperBound="50" highLowerBound="80" />
|
||||
<log type="coverage-html" target="log/php-coverage-report" lowUpperBound="50" highLowerBound="80" />
|
||||
<log type="testdox-html" target="log/testdox.html" />
|
||||
</logging>
|
||||
</phpunit>
|
||||
|
||||
@@ -46,25 +46,28 @@ class SvgGenerator extends BaseGenerator implements GeneratorInterface
|
||||
// prepare image
|
||||
$w = $this->getPixelRatio() * 5;
|
||||
$h = $this->getPixelRatio() * 5;
|
||||
$svg = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="'.$w.'" height="'.$h.'">';
|
||||
$svg = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="'.$w.'" height="'.$h.'" viewBox="0 0 5 5">';
|
||||
|
||||
$backgroundColor = '#FFFFFF';
|
||||
$backgroundColor = '#FFF';
|
||||
$rgbBackgroundColor = $this->getBackgroundColor();
|
||||
if (!is_null($rgbBackgroundColor)) {
|
||||
$backgroundColor = $this->_toUnderstandableColor($rgbBackgroundColor);
|
||||
}
|
||||
$svg .= '<rect width="'.$w.'" height="'.$h.'" style="fill:'.$backgroundColor.';stroke-width:1;stroke:'.$backgroundColor.'"/>';
|
||||
|
||||
$rgbColor = $this->_toUnderstandableColor($this->getColor());
|
||||
$svg .= '<rect width="5" height="5" fill="'.$backgroundColor.'" stroke-width="0"/>';
|
||||
|
||||
$rects = [];
|
||||
// draw content
|
||||
foreach ($this->getArrayOfSquare() as $lineKey => $lineValue) {
|
||||
foreach ($lineValue as $colKey => $colValue) {
|
||||
if (true === $colValue) {
|
||||
$svg .= '<rect x="'.$colKey * $this->getPixelRatio().'" y="'.$lineKey * $this->getPixelRatio().'" width="'.($this->getPixelRatio()).'" height="'.$this->getPixelRatio().'" style="fill:'.$rgbColor.';stroke-width:0;"/>';
|
||||
$rects[] = 'M'.$colKey.','.$lineKey.'h1v1h-1v-1';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$rgbColor = $this->_toUnderstandableColor($this->getColor());
|
||||
$svg .= '<path fill="'.$rgbColor.'" stroke-width="0" d="' . implode('', $rects) . '"/>';
|
||||
$svg .= '</svg>';
|
||||
|
||||
$this->generatedImage = $svg;
|
||||
@@ -80,7 +83,7 @@ class SvgGenerator extends BaseGenerator implements GeneratorInterface
|
||||
protected function _toUnderstandableColor($color)
|
||||
{
|
||||
if (is_array($color)) {
|
||||
return 'rgb('.implode(', ', $color).')';
|
||||
return sprintf('#%X%X%X', $color[0], $color[1], $color[2]);
|
||||
}
|
||||
|
||||
return $color;
|
||||
|
||||
@@ -46,10 +46,10 @@ class Identicon
|
||||
/**
|
||||
* Display an Identicon image.
|
||||
*
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string $color
|
||||
* @param string $backgroundColor
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string|array $color
|
||||
* @param string $backgroundColor
|
||||
*/
|
||||
public function displayImage($string, $size = 64, $color = null, $backgroundColor = null)
|
||||
{
|
||||
@@ -60,10 +60,10 @@ class Identicon
|
||||
/**
|
||||
* Get an Identicon PNG image data.
|
||||
*
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string $color
|
||||
* @param string $backgroundColor
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string|array $color
|
||||
* @param string $backgroundColor
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
@@ -75,10 +75,10 @@ class Identicon
|
||||
/**
|
||||
* Get an Identicon PNG image resource.
|
||||
*
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string $color
|
||||
* @param string $backgroundColor
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string|array $color
|
||||
* @param string $backgroundColor
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
@@ -90,10 +90,10 @@ class Identicon
|
||||
/**
|
||||
* Get an Identicon PNG image data as base 64 encoded.
|
||||
*
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string $color
|
||||
* @param string $backgroundColor
|
||||
* @param string $string
|
||||
* @param int $size
|
||||
* @param string|array $color
|
||||
* @param string $backgroundColor
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
@@ -101,13 +101,13 @@ class Identicon
|
||||
{
|
||||
return sprintf('data:%s;base64,%s', $this->generator->getMimeType(), base64_encode($this->getImageData($string, $size, $color, $backgroundColor)));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the color of the Identicon
|
||||
*
|
||||
* Returns an array with RGB values of the Identicon's color. Colors may be NULL if no image has been generated
|
||||
* so far (e.g., when calling the method on a new Identicon()).
|
||||
*
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getColor()
|
||||
|
||||
Reference in New Issue
Block a user