Compare commits

..

1671 Commits

Author SHA1 Message Date
1bb24550b3 Create a README for Chapril's build. 2023-10-08 19:56:48 +00:00
pitchum
d67f2e5220 Chaprilisation du message de base de page (logiciel libre plutôt que opensource) 2023-10-08 19:56:48 +00:00
pitchum
da53f19754 Ajoute un logger spécifique Chapril 2023-10-08 19:56:48 +00:00
pitchum
84c0a11e22 Chaprilisation des fichiers favicon. 2023-10-08 19:56:48 +00:00
El RIDO
bbc5b627c2
hide github codepages artifacts from release archive 2023-09-11 19:42:18 +02:00
El RIDO
f56907bd38
increment version 2023-09-11 19:36:45 +02:00
El RIDO
e534a2f6a6
document changes 2023-09-11 19:36:09 +02:00
El RIDO
9a3bfd7f5b
Merge pull request #1164 from sergiorgiraldo/master
feat: make the email button optional.
2023-09-10 19:42:23 +02:00
Sergio Giraldo
bf090fabb8
refactor: removed unnecessary php tag
::by sergio giraldo
@ 20230910T1650CEST, gpg signed
2023-09-10 16:50:00 +02:00
Sergio Giraldo
6728053ab0
test: default value for email configuration item;nit necessary to close php comment
::by sergio giraldo
@ 20230910T0958CEST, gpg signed
2023-09-10 09:58:04 +02:00
Sergio Giraldo
c665385ff6
feat: make the email button optional. Issue #1031
::by sergio giraldo
@ 20230909T2226CEST, gpg signed
2023-09-09 22:26:11 +02:00
El RIDO
c3baeab5aa
Merge pull request #1163 from voidquark/doc-installation-ansible
Doc installation ansible
2023-09-08 06:59:57 +02:00
voidquark
42cf45542f consistency 2023-09-07 20:50:58 +02:00
voidquark
172efafb81 modify ansible installation part 2023-09-07 20:49:10 +02:00
rugk
73f8a1d4ae
Merge pull request #1161 from PrivateBin/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 21:02:31 +02:00
dependabot[bot]
5bd2eb97e6
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 11:13:01 +00:00
El RIDO
9b8bee82cf
Merge pull request #1160 from PrivateBin/r4sas-issue-template
Fix comment in bug report issue template
2023-09-04 06:26:24 +02:00
R4SAS
617b421d8f
Fix comment in bug report issue template 2023-09-03 19:30:32 +03:00
El RIDO
e6f2ad0ff4
Merge pull request #1157 from PrivateBin/securitybutton
Remove custom security button as GitHub added own
2023-08-28 20:42:07 +02:00
rugk
876a59cedc
Apprently GitHub
Apparently GitHub now adds a security policy button by default (this is new, is not it?)?
Also they have a policy report form behind that button. So reports can apparently now be made online at GitHub? (IMHO that is fine, just need to be aware of that)

As such, IMHO two buttons would be confusing, so let's remove our custom one here?
2023-08-28 18:49:27 +02:00
El RIDO
5e42b4f242
Merge pull request #1136 from PrivateBin/codespaces/init-files
chore: commit all files initiated by coddespaces
2023-08-25 06:53:06 +02:00
rugk
664a8fff08 feat: also open doc readme by default 2023-08-25 06:49:19 +02:00
rugk
b2e4920aa2 feat: add basic support for debugging and working with devcontainer
For GitHub Codespaces e.g.
2023-08-25 06:49:19 +02:00
El RIDO
4c9c5b2941
Merge pull request #1155 from PrivateBin/betterqwaagain
QA template: remove prefilled title
2023-08-25 06:14:21 +02:00
rugk
1470b0cb9c
QA tenplate: remove prefilled title
Let's remove that.

1. With label and A&A category we have more than enough options for filtering such requests.
2. Actually, as you can see in https://github.com/orgs/PrivateBin/discussions/1152, as it is a required field, but already filled out… we want them to write proper titles.
2023-08-24 22:14:15 +02:00
rugk
f8ce73b46e
Merge pull request #1154 from PrivateBin/betterqa
Make QA template more strict and helpful
2023-08-24 22:10:33 +02:00
rugk
61457c46c0
doc: link FAQ in option too
The doc says MD is supported for that here, too.
2023-08-24 21:35:42 +02:00
rugk
11fd21f8a8
doc: improve wording/grammar 2023-08-24 21:32:42 +02:00
rugk
906c115a97
Make QA template more strict and helpful
1. Require to fill out STRs.
2. Add more fields for client stuff, i.e. web browser and OS.
3. Add more placeholders and descriptions to guide users.
4. Adjust the reproducibility thing to be more clear. I.e. before the result was sth. like "Issue reproducibility: Yes" - this could be confused with "Is it always reproducible? Yes", and not "It is reproducible on our test instance."
2023-08-24 21:30:25 +02:00
El RIDO
b0869c3280
Merge pull request #1151 from PrivateBin/dependabot/composer/phpunit/phpunit-9.6.11
Bump phpunit/phpunit from 9.6.10 to 9.6.11
2023-08-23 06:31:38 +02:00
dependabot[bot]
e14b55bd27
Bump phpunit/phpunit from 9.6.10 to 9.6.11
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.10 to 9.6.11.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.11/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.10...9.6.11)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 11:06:57 +00:00
El RIDO
5047e6c550
Merge pull request #1149 from PrivateBin/delete-shifleft
Delete shiftleft-analysis.yml
2023-08-18 06:33:12 +02:00
El RIDO
f0615d561f
Merge pull request #1150 from PrivateBin/r4sas-templ-qa
[GH] update discussion q-a template (#1143)
2023-08-17 07:35:55 +02:00
R4SAS
1c42576575
[GH] update discussion q-a template (#1143) 2023-08-17 03:05:39 +03:00
El RIDO
81ae359dfc
Delete shiftleft-analysis.yml
Development on this stopped in 2021 and apart from the (false positive) secret scan, dev suggests CodeQL replaces it, feature wise: https://github.com/ShiftLeftSecurity/sast-scan/issues/352
2023-08-17 00:00:30 +02:00
El RIDO
ad35c30d45
Update q-a.yml, one more try
body[12]: options must not include booleans. Please wrap values such as 'yes', and 'true' in quotes.
2023-08-16 23:14:07 +02:00
El RIDO
0f9aee5335
Merge pull request #1147 from PrivateBin/r4sas-discus-templ
Update discussion template
2023-08-16 23:09:04 +02:00
R4SAS
7f28e8cc0c
Update discussion template
Try to fix #1143.
2023-08-16 23:21:46 +03:00
rugk
a0a9147e63
Merge pull request #1145 from PrivateBin/template-tweaks
Template tweaks
2023-08-15 23:37:30 +02:00
El RIDO
15bf1fcf38
Merge pull request #1144 from idarlund/master
reverted Markdown
2023-08-11 21:01:53 +02:00
El RIDO
0e582e8934 fix syntax, standardize form attributes
radio buttons are not supported, checkboxes would allow selecting
multiple things, so dropdown it is
2023-08-11 20:53:06 +02:00
El RIDO
e89593b4fc comment fix, kudos @r4sas 2023-08-11 20:51:12 +02:00
Idar Lund
0697a514ca
Merge pull request #1 from idarlund/idarlund-patch-1
Idarlund patch 1
2023-08-11 13:08:19 +02:00
Idar Lund
79386027fb
reverted Markdown
Markdown is a name of a language and not something that should be translated.
2023-08-11 13:07:48 +02:00
El RIDO
33285aeaf4
Merge pull request #1142 from PrivateBin/rugk-patch-1
Remove markdown from issue selector
2023-08-10 06:50:09 +02:00
rugk
1bb23ef9ca
Remove markdown from issue selector
Was worth a try, but apparently markdown is not supported there.
2023-08-09 23:11:35 +02:00
El RIDO
b2926357d3
Merge pull request #1140 from PrivateBin/better-issue-templates
Fix potential syntax error in YAML
2023-08-09 20:08:48 +02:00
rugk
991ec6ca22
Fix potential syntax error in YAML
Likely that online VSCode did a stupid line wrapping here, let's see whether that works.
2023-08-09 18:19:33 +02:00
El RIDO
3513d18029
Merge pull request #1063 from PrivateBin/restructure-doc
Restructure documentation
2023-08-08 20:24:20 +02:00
El RIDO
e83f51b547
Merge pull request #1138 from PrivateBin/dependabot/github_actions/github/codeql-action-2
Bump github/codeql-action from 1 to 2
2023-08-08 20:19:02 +02:00
El RIDO
41e4072899
Merge pull request #1137 from PrivateBin/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2023-08-08 20:18:00 +02:00
dependabot[bot]
cbff1c8488
Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 11:13:15 +00:00
dependabot[bot]
5f71c9de10
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 11:13:08 +00:00
El RIDO
be6eadd7c6
needs to get incremented on releases as well
contains the sample SQL schema with version string
2023-08-07 20:52:02 +02:00
El RIDO
a5a888a225
Merge branch 'master' into restructure-doc 2023-08-07 20:47:55 +02:00
El RIDO
4796c7ff02
Merge pull request #807 from PrivateBin/siftleft-scan
Add Shiftleft scan
2023-08-07 20:46:43 +02:00
El RIDO
771d7a3df8
Merge pull request #1134 from PrivateBin/better-issue-templates
Update and create new issue templates for better catgeorisation
2023-08-07 20:31:17 +02:00
rugk
a22b96b7fc
style: fix typo 2023-08-07 20:02:36 +02:00
rugk
204d1756c9 refactor: redirect support questions to discussions including form + more links
Discussions apparently onyl support forms see,
so I quickly used ChatGPT to convert the Markdown file into the YAMl format
and after telling the format it seems to have done that in a good eay:
https://chat.openai.com/share/99718495-28d0-4382-ab5e-6a4a733c1ccb

(maybe GitHub introduced that after end of 2021 hehe, so the LLM could not know that)
2023-08-07 17:59:07 +00:00
rugk
8deb68c2da chore: remove old issue template 2023-08-07 17:26:26 +00:00
rugk
1a37f7b865
Update and create new issue templates for better ctageorisation
[128 of 600 issues are just questions and support and this is getting out of hand IMHO](https://github.com/PrivateBin/PrivateBin/issues?q=is%3Aissue+is%3Aopen+label%3Aquestion%2Fsupport), so I thought we need to do something while of course IMHO keeping support in some sense that is vital to an open-source project.

Anyway, this here now:
* Converts the "one and only issue template" to multiple ones with the new GitHub way, see https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/
  Note this uses mostly the templates they have, modifies them to use proper headers (sorry but I don't get why they always want to use **bold text** as headers, when you have real markdown headings) and adjusts/ports the
* We could use even more elaborate issue forms, but that  was too much for me to do now and is also beta, so maybe when they have a visual editor for that or so 😉 https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms

The aim:
* is to get support requests and stuff directly sorted and tagged, so they are out the way
* is to nudge people to improve the quality of issues/reports by providing a more useful template or their use case
* is to redirect people to the appropriate resource (give me a moment)
2023-08-07 19:24:13 +02:00
El RIDO
48079483be
Merge pull request #1131 from PrivateBin/crowdin-translation
New Crowdin updates
2023-08-06 15:19:16 +02:00
PrivateBin Translator Bot
222ebd06a9 New translations en.json (Dutch) 2023-08-06 13:36:40 +02:00
PrivateBin Translator Bot
d8f2d01c1e New translations en.json (Lojban) 2023-08-06 12:19:09 +02:00
PrivateBin Translator Bot
1050fa303f New translations en.json (Dutch) 2023-08-06 12:19:08 +02:00
PrivateBin Translator Bot
94d07039b6 New translations en.json (French) 2023-08-06 12:19:07 +02:00
PrivateBin Translator Bot
e3e500cb2d New translations en.json (Corsican) 2023-08-06 11:17:05 +02:00
PrivateBin Translator Bot
5faa09f83e New translations en.json (Occitan) 2023-08-06 11:17:04 +02:00
PrivateBin Translator Bot
66f2a4b6f5 New translations en.json (Estonian) 2023-08-06 11:17:04 +02:00
PrivateBin Translator Bot
39ad584a52 New translations en.json (Thai) 2023-08-06 11:17:03 +02:00
PrivateBin Translator Bot
dc790cb2e0 New translations en.json (Indonesian) 2023-08-06 11:17:02 +02:00
PrivateBin Translator Bot
18189a148a New translations en.json (Chinese Simplified) 2023-08-06 11:17:01 +02:00
PrivateBin Translator Bot
d20a09c3d6 New translations en.json (Ukrainian) 2023-08-06 11:17:00 +02:00
PrivateBin Translator Bot
f9a5891072 New translations en.json (Turkish) 2023-08-06 11:16:59 +02:00
PrivateBin Translator Bot
4aefd56e96 New translations en.json (Slovenian) 2023-08-06 11:16:58 +02:00
PrivateBin Translator Bot
5aab567d94 New translations en.json (Slovak) 2023-08-06 11:16:57 +02:00
PrivateBin Translator Bot
7c25ce2b6f New translations en.json (Russian) 2023-08-06 11:16:56 +02:00
PrivateBin Translator Bot
8ede9a4e08 New translations en.json (Portuguese) 2023-08-06 11:16:56 +02:00
PrivateBin Translator Bot
728d38a89d New translations en.json (Polish) 2023-08-06 11:16:55 +02:00
PrivateBin Translator Bot
04ab3ccea9 New translations en.json (Norwegian) 2023-08-06 11:16:54 +02:00
PrivateBin Translator Bot
b3bbb91987 New translations en.json (Dutch) 2023-08-06 11:16:53 +02:00
PrivateBin Translator Bot
0fea8c44a4 New translations en.json (Lithuanian) 2023-08-06 11:16:52 +02:00
PrivateBin Translator Bot
b7604b57ab New translations en.json (Japanese) 2023-08-06 11:16:51 +02:00
PrivateBin Translator Bot
cc46b74705 New translations en.json (Italian) 2023-08-06 11:16:50 +02:00
PrivateBin Translator Bot
e2c71290cf New translations en.json (Hungarian) 2023-08-06 11:16:49 +02:00
PrivateBin Translator Bot
0ce8d7dfd0 New translations en.json (Hebrew) 2023-08-06 11:16:48 +02:00
PrivateBin Translator Bot
a357c7f34d New translations en.json (Finnish) 2023-08-06 11:16:47 +02:00
PrivateBin Translator Bot
941b0bdce8 New translations en.json (Greek) 2023-08-06 11:16:47 +02:00
PrivateBin Translator Bot
0b2939bb94 New translations en.json (German) 2023-08-06 11:16:46 +02:00
PrivateBin Translator Bot
9ce0878db2 New translations en.json (Czech) 2023-08-06 11:16:45 +02:00
PrivateBin Translator Bot
45b52ee895 New translations en.json (Catalan) 2023-08-06 11:16:44 +02:00
PrivateBin Translator Bot
d91848de2d New translations en.json (Bulgarian) 2023-08-06 11:16:43 +02:00
PrivateBin Translator Bot
d5f8bef276 New translations en.json (Spanish) 2023-08-06 11:16:42 +02:00
PrivateBin Translator Bot
63dabced9a New translations en.json (French) 2023-08-06 11:16:41 +02:00
PrivateBin Translator Bot
5aa06e5b26 New translations en.json (Corsican) 2023-08-06 09:37:07 +02:00
PrivateBin Translator Bot
68aeef687d New translations en.json (Occitan) 2023-08-06 09:37:06 +02:00
PrivateBin Translator Bot
e261167ea5 New translations en.json (Lojban) 2023-08-06 09:37:04 +02:00
PrivateBin Translator Bot
0211a27a24 New translations en.json (Estonian) 2023-08-06 09:37:03 +02:00
PrivateBin Translator Bot
21157a2ad9 New translations en.json (Thai) 2023-08-06 09:37:02 +02:00
PrivateBin Translator Bot
20dc8d7c21 New translations en.json (Indonesian) 2023-08-06 09:37:01 +02:00
PrivateBin Translator Bot
5bc5295e60 New translations en.json (Chinese Simplified) 2023-08-06 09:37:00 +02:00
PrivateBin Translator Bot
b5ca9efc95 New translations en.json (Ukrainian) 2023-08-06 09:36:59 +02:00
PrivateBin Translator Bot
92864f837d New translations en.json (Turkish) 2023-08-06 09:36:59 +02:00
PrivateBin Translator Bot
81627713be New translations en.json (Slovenian) 2023-08-06 09:36:57 +02:00
PrivateBin Translator Bot
81170c0d78 New translations en.json (Slovak) 2023-08-06 09:36:57 +02:00
PrivateBin Translator Bot
0b22083409 New translations en.json (Russian) 2023-08-06 09:36:56 +02:00
PrivateBin Translator Bot
8ad5a104cb New translations en.json (Portuguese) 2023-08-06 09:36:55 +02:00
PrivateBin Translator Bot
e002b439a5 New translations en.json (Polish) 2023-08-06 09:36:54 +02:00
PrivateBin Translator Bot
de23016288 New translations en.json (Norwegian) 2023-08-06 09:36:53 +02:00
PrivateBin Translator Bot
6da15f4a41 New translations en.json (Dutch) 2023-08-06 09:36:52 +02:00
PrivateBin Translator Bot
d845ffc174 New translations en.json (Lithuanian) 2023-08-06 09:36:51 +02:00
PrivateBin Translator Bot
6f69a6756a New translations en.json (Japanese) 2023-08-06 09:36:50 +02:00
PrivateBin Translator Bot
5cc312f4a1 New translations en.json (Italian) 2023-08-06 09:36:49 +02:00
PrivateBin Translator Bot
68a25ae4a4 New translations en.json (Hungarian) 2023-08-06 09:36:48 +02:00
PrivateBin Translator Bot
ed519395b1 New translations en.json (Hebrew) 2023-08-06 09:36:47 +02:00
PrivateBin Translator Bot
2274d90875 New translations en.json (Finnish) 2023-08-06 09:36:47 +02:00
PrivateBin Translator Bot
73c9b3169b New translations en.json (Greek) 2023-08-06 09:36:46 +02:00
PrivateBin Translator Bot
7b74f7dc35 New translations en.json (German) 2023-08-06 09:36:45 +02:00
PrivateBin Translator Bot
190f6d693d New translations en.json (Czech) 2023-08-06 09:36:44 +02:00
PrivateBin Translator Bot
8bc21ef38b New translations en.json (Catalan) 2023-08-06 09:36:43 +02:00
PrivateBin Translator Bot
27964b7298 New translations en.json (Bulgarian) 2023-08-06 09:36:42 +02:00
PrivateBin Translator Bot
da08fbd5d7 New translations en.json (Spanish) 2023-08-06 09:36:41 +02:00
PrivateBin Translator Bot
4c316a8729 New translations en.json (French) 2023-08-06 09:36:40 +02:00
El RIDO
776a22fbcd
Merge pull request #1130 from PrivateBin/japanese-and-arabic
Enable use of Japanese and Arabic translations
2023-08-06 08:18:51 +02:00
El RIDO
dc4bbe07f1 Merge remote-tracking branch 'origin/master' into japanese-and-arabic 2023-08-04 06:52:06 +02:00
El RIDO
cdd29d4798 extend translations with a 4th & 5th plural case
These are used by Arabic, described in https://arabeyes.org/Plural_Forms
2023-08-04 06:32:33 +02:00
El RIDO
900e45c69b
Merge pull request #1129 from PrivateBin/crowdin-translation
New Crowdin updates
2023-08-02 19:59:12 +02:00
PrivateBin Translator Bot
032a9c9862 New translations en.json (Spanish) 2023-08-02 00:49:59 +02:00
PrivateBin Translator Bot
6047dcfe2d New translations en.json (Arabic) 2023-08-02 00:49:58 +02:00
PrivateBin Translator Bot
a78d0536c6 New translations en.json (Arabic) 2023-08-01 23:47:20 +02:00
El RIDO
1dbe46cfed update SRI hashes 2023-08-01 14:05:20 +02:00
El RIDO
fe37b7f0e5 enable & credit Japanese & Arabic translations 2023-08-01 14:00:45 +02:00
El RIDO
8df69a1120
Merge pull request #1128 from PrivateBin/crowdin-translation
New Crowdin updates
2023-08-01 13:32:36 +02:00
PrivateBin Translator Bot
fcec76b151 New translations en.json (Arabic) 2023-08-01 12:11:21 +02:00
El RIDO
e8448225af
Merge pull request #1126 from PrivateBin/crowdin-translation
New Crowdin updates
2023-08-01 07:21:10 +02:00
PrivateBin Translator Bot
bff0561e01 New translations en.json (Arabic) 2023-07-31 00:43:52 +02:00
El RIDO
5296f05904
Merge pull request #1121 from PrivateBin/php8
merge PHP 8 branch, upgrading to PHPunit 9 and minimum PHP version 7.3
2023-07-23 16:48:28 +02:00
El RIDO
b6ad6b538a allow composer to run at scrutinizer, explicitly telling it about our minimum supported PHP version 2023-07-23 10:38:14 +02:00
El RIDO
c1b3bffe8c document change, update composer, dropping obsolete library with polyfill for random_bytes function on PHP < 7 2023-07-23 10:19:35 +02:00
El RIDO
ecf100551d document change, raise minimum PHP version to 7.3, remove branch refresh 2023-07-23 10:04:57 +02:00
github-actions[bot]
48df1d29ac Merge remote-tracking branch 'origin/master' into php8 2023-07-22 08:14:07 +00:00
El RIDO
969f433861
Merge pull request #1120 from PrivateBin/dependabot/npm_and_yarn/js/word-wrap-1.2.4
Bump word-wrap from 1.2.3 to 1.2.4 in /js
2023-07-22 10:13:38 +02:00
dependabot[bot]
86ba5b4966
Bump word-wrap from 1.2.3 to 1.2.4 in /js
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 18:58:23 +00:00
github-actions[bot]
10909c133a Merge remote-tracking branch 'origin/master' into php8 2023-07-10 04:47:03 +00:00
El RIDO
b2d8d480e4
Merge pull request #1115 from PrivateBin/crowdin-translation
New Crowdin updates
2023-07-10 04:46:12 +00:00
PrivateBin Translator Bot
c29d6c2a3a New translations en.json (Japanese) 2023-07-10 04:02:37 +02:00
PrivateBin Translator Bot
d0ea125b11 New translations en.json (Japanese) 2023-07-10 02:55:46 +02:00
github-actions[bot]
95747ed11c Merge remote-tracking branch 'origin/master' into php8 2023-07-09 07:32:46 +00:00
El RIDO
01afe7d481
incrementing version 2023-07-09 08:44:22 +02:00
El RIDO
dabcafb99b
Merge branch 'master' into php8 2023-07-05 07:15:28 +02:00
El RIDO
6c2d7431fe
Merge pull request #1093 from PrivateBin/php82-deprecation
fix PHP 8.2 ${var} string interpolation deprecation
2023-07-05 04:23:52 +00:00
El RIDO
243e43a940
Merge pull request #1102 from PrivateBin/bump-libraries
bump libraries, update changelog
2023-07-04 04:11:13 +00:00
El RIDO
172088e59b bump optional PHP libraries 2023-07-01 07:59:25 +02:00
El RIDO
f7838bfe8a bump libraries, update changelog 2023-07-01 07:58:28 +02:00
El RIDO
f840cccb74 remove broken scrutinizer CI PHP Code Sniffer integration - they ship a buggy release and the upgrade is ignored 2023-06-18 18:20:09 +02:00
El RIDO
0505513153 bump scrutinizer CI PHP Code Sniffer version 2023-06-18 18:09:32 +02:00
El RIDO
9208de7625 bump scrutinizer CI OS version 2023-06-18 17:51:10 +02:00
El RIDO
283927b966 bump scrutinizer CI PHP version 2023-06-18 17:21:30 +02:00
El RIDO
99c26d01d3 Merge branch 'master' into bump-libraries 2023-06-18 17:16:43 +02:00
El RIDO
ebd17462c3 Merge branch 'master' into php82-deprecation 2023-06-18 17:15:48 +02:00
github-actions[bot]
2fc920394d Merge remote-tracking branch 'origin/master' into php8 2023-06-18 15:15:00 +00:00
El RIDO
73e000fc75
Merge pull request #1101 from PrivateBin/fix-styleci
apply StyleCI patch, fixes #1084
2023-06-18 15:14:15 +00:00
El RIDO
57be10ed53
bump libraries, update changelog
required minimal changes in checkmark jQuery accessor code, found by unit tests
2023-06-18 13:47:54 +02:00
El RIDO
8988899c8c
apply StyleCI patch, fixes #1084 2023-06-18 12:54:22 +02:00
El RIDO
01ea041f94
fix PHP 8.2 ${var} string interpolation deprecation
see also https://php.watch/versions/8.2/$%7Bvar%7D-string-interpolation-deprecated
2023-05-21 11:07:21 +02:00
github-actions[bot]
9271af481d Merge remote-tracking branch 'origin/master' into php8 2023-05-18 19:41:08 +00:00
El RIDO
5b458a17c2
Merge pull request #1091 from PrivateBin/crowdin-translation
New Crowdin updates
2023-05-18 19:40:16 +00:00
PrivateBin Translator Bot
4701e83968 New translations en.json (Finnish) 2023-05-18 18:09:19 +02:00
PrivateBin Translator Bot
fa4aee9aac New translations en.json (Finnish) 2023-05-18 17:13:45 +02:00
github-actions[bot]
75d42ccbf6 Merge remote-tracking branch 'origin/master' into php8 2023-04-15 14:22:10 +00:00
El RIDO
5a6fba6ab1
Merge pull request #1086 from PrivateBin/crowdin-translation
New Crowdin updates
2023-04-15 14:21:26 +00:00
PrivateBin Translator Bot
abcb2ed200 New translations en.json (Italian) 2023-04-11 13:26:07 +02:00
PrivateBin Translator Bot
a7e21e76bc New translations en.json (Italian) 2023-04-11 12:25:54 +02:00
github-actions[bot]
e20bacca27 Merge remote-tracking branch 'origin/master' into php8 2023-03-25 06:45:33 +00:00
El RIDO
9083ae5a5c
Merge pull request #1083 from PrivateBin/crowdin-translation
New Crowdin updates
2023-03-25 06:44:47 +00:00
PrivateBin Translator Bot
ce1be669e2 New translations en.json (Bulgarian) 2023-03-24 08:41:11 +01:00
PrivateBin Translator Bot
44462e0202 New translations en.json (Turkish) 2023-03-24 06:43:50 +01:00
PrivateBin Translator Bot
867fb0580b New translations en.json (Turkish) 2023-03-17 22:55:40 +01:00
github-actions[bot]
83cbbdece2 Merge remote-tracking branch 'origin/master' into php8 2023-03-17 05:55:05 +00:00
El RIDO
7791aadcc8
Merge pull request #1080 from PrivateBin/crowdin-translation
New Crowdin updates
2023-03-17 05:54:17 +00:00
PrivateBin Translator Bot
4c9edb85e9 New translations en.json (Chinese Simplified) 2023-03-11 14:28:26 +01:00
PrivateBin Translator Bot
a4636f1b91 New translations en.json (Chinese Simplified) 2023-03-11 13:13:13 +01:00
github-actions[bot]
c19df94fc2 Merge remote-tracking branch 'origin/master' into php8 2023-02-28 04:49:39 +00:00
El RIDO
b23e781b5b
Merge pull request #1070 from fenak/feat/allow-aws-sdk-to-use-default-credential-provider-chain
Feature: Allow AWS SDK to use default credential provider chain for S3Storage
2023-02-28 04:48:55 +00:00
Felipe Nakandakari
f48fffd7c2
Add sample config for S3 without hard-coded access keys 2023-02-28 08:30:58 +11:00
github-actions[bot]
5e43dcf56e Merge remote-tracking branch 'origin/master' into php8 2023-02-27 17:45:26 +00:00
El RIDO
dd6fed1e4d
Merge pull request #1072 from PrivateBin/crowdin-translation
New Crowdin updates
2023-02-27 17:44:36 +00:00
PrivateBin Translator Bot
390a3ba81f New translations en.json (Portuguese) 2023-02-27 17:33:24 +01:00
Felipe Nakandakari
6d4d3af377
Fix code style issues 2023-02-27 13:26:45 +11:00
Felipe Nakandakari
e3abc042a8
Use credentials array only if values passed via conf.php 2023-02-27 12:58:18 +11:00
github-actions[bot]
b8a425f7a1 Merge remote-tracking branch 'origin/master' into php8 2023-02-26 15:16:05 +00:00
El RIDO
643832b2b8
Merge pull request #1067 from PrivateBin/crowdin-translation
New Crowdin updates
2023-02-26 15:15:17 +00:00
PrivateBin Translator Bot
5827f196e7 New translations en.json (Portuguese) 2023-02-26 03:18:25 +01:00
github-actions[bot]
e3b2ae2a0b Merge remote-tracking branch 'origin/master' into php8 2023-02-19 07:47:31 +00:00
El RIDO
6cbc91936f
Merge pull request #1062 from PrivateBin/crowdin-translation
New Crowdin updates
2023-02-19 07:46:41 +00:00
El RIDO
ccc5dd037f update links, unify formats, add documentation index 2023-02-19 08:32:10 +01:00
El RIDO
411629df37 rename documentation files 2023-02-19 08:30:44 +01:00
PrivateBin Translator Bot
c2480aae67 New translations en.json (Finnish) 2023-02-18 12:21:31 +01:00
github-actions[bot]
8818a99677 Merge remote-tracking branch 'origin/master' into php8 2023-02-10 05:28:40 +00:00
El RIDO
9a65b8e72b
Merge pull request #1059 from PrivateBin/crowdin-translation
New Crowdin updates
2023-02-10 06:28:00 +01:00
PrivateBin Translator Bot
e2524d8093 New translations en.json (Thai) 2023-02-09 22:55:55 +01:00
github-actions[bot]
714ebdaa0b Merge remote-tracking branch 'origin/master' into php8 2023-02-03 06:25:42 +00:00
El RIDO
fa8cc59ec0
Merge pull request #1054 from Fejby/patch-1
Update cs.json
2023-02-03 07:25:06 +01:00
Fejby
e7c7e7512d
Update cs.json
Correction of translation
2023-02-03 00:32:01 +01:00
github-actions[bot]
1987f4a165 Merge remote-tracking branch 'origin/master' into php8 2023-01-27 17:42:53 +00:00
El RIDO
a7b4b4c59d
Merge pull request #1050 from PrivateBin/crowdin-translation
New Crowdin updates
2023-01-27 18:42:15 +01:00
PrivateBin Translator Bot
f5d16e3af1 New translations en.json (Occitan) 2023-01-27 17:30:10 +01:00
github-actions[bot]
476aa0d3f1 Merge remote-tracking branch 'origin/master' into php8 2023-01-21 07:46:05 +00:00
El RIDO
b7f1621bbc
Merge pull request #1046 from PrivateBin/types-jsonld
expose types JSON-LD incl. configured expiration dates
2023-01-21 08:45:32 +01:00
El RIDO
3a4e5ed0c9
unnecessary string concatenation 2023-01-15 14:45:10 +01:00
El RIDO
bf7d2f05b6
expose types JSON-LD incl. configured expiration dates, resolves #1045 2023-01-15 08:04:44 +01:00
github-actions[bot]
4ae461df47 Merge remote-tracking branch 'origin/master' into php8 2022-12-24 06:11:22 +00:00
El RIDO
e84a8694e4
incrementing version 2022-12-24 05:52:07 +01:00
github-actions[bot]
99ce99a9fc Merge remote-tracking branch 'origin/master' into php8 2022-12-24 04:48:56 +00:00
El RIDO
12ab9bf586
Merge pull request #1019 from PrivateBin/admin
administrative script
2022-12-24 05:48:23 +01:00
github-actions[bot]
e1bfdadf23 Merge remote-tracking branch 'origin/master' into php8 2022-12-22 04:39:01 +00:00
El RIDO
e26407d038
Merge pull request #1033 from PrivateBin/crowdin-translation
New Crowdin updates
2022-12-22 05:38:27 +01:00
PrivateBin Translator Bot
0504575362 New translations en.json (Lithuanian) 2022-12-21 23:14:25 +01:00
github-actions[bot]
9247b25824 Merge remote-tracking branch 'origin/master' into php8 2022-12-20 18:54:23 +00:00
El RIDO
67aab7a491
bump optional libraries for GCS & S3 to address PHP 8.1 deprecation warnings 2022-12-20 19:53:32 +01:00
El RIDO
5de779a989
improve documentation 2022-12-20 19:14:37 +01:00
El RIDO
6d116e0cd9
Merge branch 'master' into php8 2022-12-20 18:28:19 +01:00
El RIDO
5c43ab6ef8
refactor administrative script into OOP style and to our code guidelines 2022-12-19 20:41:12 +01:00
El RIDO
c00b95011b
Merge branch 'master' into admin 2022-12-19 19:15:27 +01:00
El RIDO
8ee69cbda3
Merge pull request #1030 from PrivateBin/improvements
Some minor improvements
2022-12-19 19:13:17 +01:00
El RIDO
30fec3e2eb
document changes 2022-12-13 18:45:41 +01:00
El RIDO
a93c8ceccb
fold extracted function back into the one remaining place calling it 2022-12-13 06:21:37 +01:00
El RIDO
53ab57627e
re-add shuffling paste list 2022-12-12 21:28:38 +01:00
El RIDO
78e75d5a3f
Merge branch 'master' into improvements 2022-12-12 20:56:35 +01:00
github-actions[bot]
5b78cc80f2 Merge remote-tracking branch 'origin/master' into php8 2022-12-12 19:52:53 +00:00
El RIDO
1128c679eb
Merge pull request #1029 from AnonymousWP/dutch-translation-updates
Translate new strings to Dutch
2022-12-12 20:52:22 +01:00
github-actions[bot]
00cd331eaa Merge remote-tracking branch 'origin/master' into php8 2022-12-12 19:51:50 +00:00
El RIDO
0e5002f0d5
fix CS i18n unit test 2022-12-12 20:51:06 +01:00
El RIDO
23a2c1829f
deal with annotation reported in github actions 2022-12-12 20:49:04 +01:00
El RIDO
e54277f014
re-add 10 * batch size limit in filesystem purge and support v1 dates for sorting mixed versioned comments 2022-12-12 20:48:36 +01:00
El RIDO
38574f0196
return invalid data error on API instead of exception 2022-12-12 20:46:47 +01:00
El RIDO
62c11fc782
duplications 2022-12-12 20:45:46 +01:00
AnonymousWP
8e9da9dec5
Translate new strings to Dutch
- Fix spelling errors
- Improve sentences
- Change formal to informal use of 'you' in Dutch
- Do not use literal translation of 'paste'
2022-12-11 20:05:44 +01:00
PrivateBin Translator Bot
7d34fe30b6 New translations en.json (Czech) 2022-12-11 17:31:01 +01:00
github-actions[bot]
46831d76a8 Merge remote-tracking branch 'origin/master' into php8 2022-12-11 05:15:59 +00:00
El RIDO
be30f8e78f
tag needs to be signed 2022-12-11 06:15:13 +01:00
github-actions[bot]
dc60d6b27e Merge remote-tracking branch 'origin/master' into php8 2022-12-11 04:09:19 +00:00
El RIDO
b5602dd1ae
incrementing version 2022-12-11 05:02:15 +01:00
El RIDO
d8bcc58d22
Merge branch 'master' into admin 2022-12-05 20:40:33 +01:00
github-actions[bot]
36925687b2 Merge remote-tracking branch 'origin/master' into php8 2022-11-18 04:39:49 +00:00
El RIDO
910675c74b
apply StyleCI fix 2022-11-18 05:38:37 +01:00
github-actions[bot]
e888877f23 Merge remote-tracking branch 'origin/master' into php8 2022-11-18 04:37:18 +00:00
El RIDO
4056057a3c
updated some links to https 2022-11-18 05:36:33 +01:00
El RIDO
07bc3285aa
moved glob iterator pattern to const, documentation 2022-11-18 05:36:06 +01:00
El RIDO
46c0fc851c
Merge branch 'master' into php8 2022-11-17 06:04:12 +01:00
El RIDO
02a7be4673
Merge pull request #1014 from PrivateBin/bin
bin cleanup, testing migration script
2022-11-17 05:36:05 +01:00
El RIDO
e76090229b
Merge pull request #1018 from PrivateBin/upgrade-libs
upgrade JS libraries
2022-11-17 05:35:37 +01:00
El RIDO
08854db6d6
documented change 2022-11-13 14:27:11 +01:00
El RIDO
4e2ff47b1c
add an administrative script 2022-11-13 11:18:56 +01:00
El RIDO
97047a6ef6
upgrade JS libraries 2022-11-13 06:37:23 +01:00
El RIDO
b8593b1bf2
use a glob iterator to stream through as many matches as needed 2022-11-10 20:36:15 +01:00
El RIDO
b3699cae8f
Merge branch 'master' into bin 2022-11-10 19:28:29 +01:00
El RIDO
b53df70227
Merge pull request #1008 from PrivateBin/jdenticons-test
Jdenticons size and speed test results
2022-11-10 07:28:13 +01:00
El RIDO
b2ef205411
extended script to test jdenticon ImageMagick and documented option to work without GD 2022-11-07 19:42:20 +01:00
El RIDO
c0758e7bbb
correct labels, Jdenticon renders PNG or SVG, both in pure PHP 2022-11-07 19:09:16 +01:00
El RIDO
e5487cee48
Merge branch 'master' into bin 2022-11-07 07:34:34 +01:00
El RIDO
2fa58b9198
Merge pull request #1015 from PrivateBin/thai
enable and credit Thai translation
2022-11-07 07:33:53 +01:00
El RIDO
e970fbce8d
Merge pull request #1013 from PrivateBin/crowdin-translation
New Crowdin updates
2022-11-07 07:13:29 +01:00
El RIDO
89df4a54ec
enable and credit Thai translation 2022-11-07 07:12:40 +01:00
PrivateBin Translator Bot
b0c61cc208 New translations en.json (Thai) 2022-11-07 00:58:25 +01:00
PrivateBin Translator Bot
d4d4687464 New translations en.json (Thai) 2022-11-07 00:01:51 +01:00
El RIDO
0288d94a68
regenerate composer.lock with PHP 7.2 for Scrutinizer 2022-11-06 09:39:29 +01:00
El RIDO
94aab6d64b
apply StyleCI patch 2022-11-06 09:12:42 +01:00
El RIDO
a799351db3
re-use logic from _getExpiredPastes()
Scrutinizer pointed out that the dieerr() function isn't available in this
class. Code does work when invoked by migrate script, but this way it would
also work in other contexts.
2022-11-06 09:09:50 +01:00
El RIDO
8ede84f000
disable test when PHP < 7.2
It started failing after we removed the cache from the Database class,
but the behaviour is still correct (exception when something goes wrong
during comment storing).
2022-11-06 08:21:32 +01:00
El RIDO
6caf1143df
add a verification step for investigating failures in tests below PHP 7.2 2022-11-06 08:13:07 +01:00
El RIDO
669c98550c
add a version check, the third argument in getopt requires PHP >= 7.1 2022-11-06 08:05:41 +01:00
El RIDO
14075cea78
trying a different approach to get that exception 70 triggered reliably 2022-11-06 07:53:43 +01:00
El RIDO
bde7a19971
apply StyleCI patch 2022-11-06 07:43:19 +01:00
El RIDO
5195adfdb9
simple migration test 2022-11-06 07:41:05 +01:00
El RIDO
3028c22c20
be more efficient 2022-11-06 07:40:39 +01:00
PrivateBin Translator Bot
9f1e95f588 New translations en.json (Thai) 2022-11-06 03:21:05 +01:00
PrivateBin Translator Bot
3e3d93c9c2 New translations en.json (Thai) 2022-11-06 02:18:55 +01:00
PrivateBin Translator Bot
d46398fc22 New translations en.json (Thai) 2022-11-05 23:30:32 +01:00
PrivateBin Translator Bot
15ce736bc8 New translations en.json (Thai) 2022-11-05 20:25:29 +01:00
El RIDO
f4eed668e7
seems impacted by removal of cache, let's see if we can adjust the test 2022-11-05 10:00:12 +01:00
El RIDO
9a1f3aeca5
update Jdenticon library 2022-11-05 09:44:35 +01:00
El RIDO
07ad9ad0f4
typo, found by Scrutinizer 2022-11-05 09:37:24 +01:00
El RIDO
833cf93209
address Scrutinizer warning
> The variable $bucket does not seem to be defined for all execution paths leading up to this point.
2022-11-05 09:35:19 +01:00
El RIDO
62bb68344c
move all scripts into one location
- standardize includes, namings
- made migrate executable
- updated ConfigurationCombinationsTest generator to work with current persistance API
2022-11-05 09:32:30 +01:00
El RIDO
8389c2a2d6
minor optimization, let the PDO driver do that for us 2022-11-05 08:46:42 +01:00
El RIDO
05f77e45bc
Merge branch 'felixjogris-migrate' 2022-11-05 08:29:40 +01:00
El RIDO
a33721e3ab
Merge branch 'migrate' of https://github.com/felixjogris/PrivateBin into felixjogris-migrate 2022-11-05 08:27:40 +01:00
Felix J. Ogris
10013ad092 syntax bot 2022-11-04 21:27:27 +01:00
Felix J. Ogris
75d28ef423 _sanitizeClob touches no instance variables 2022-11-04 21:25:53 +01:00
Felix J. Ogris
604c931875 remove cache from database backend 2022-11-04 21:19:47 +01:00
Felix J. Ogris
3d485ecd7f let GCS backends talk to the same "storage account" during testing 2022-11-04 21:04:18 +01:00
Felix J. Ogris
726f54ce9e typos 2022-11-04 20:19:41 +01:00
github-actions[bot]
ba5c859d85 Merge remote-tracking branch 'origin/master' into php8 2022-11-03 18:55:30 +00:00
El RIDO
66600e5eb3
Merge pull request #1003 from PrivateBin/yourls-cleanup
improve configuration wording, adjust self check
2022-11-03 19:54:56 +01:00
El RIDO
987ead2719
ensure the basepath ends in a slash, if one is set 2022-11-03 07:47:50 +01:00
Felix J. Ogris
bde5802a3a syntax fix, changelog 2022-11-01 16:38:06 +01:00
Felix J. Ogris
9a61e8fd48 started script for storage backend migrations
todo: GCS

added GCS, no GLOBALS, two methods for saving pastes and comments

use GLOBALS for verbosity again

added getAllPastes() to all storage providers

moved to bin, added --delete options, make use of $store->getAllPastes()

added --delete-* options to help

longopts without -- *sigh*

fixed arguments

drop singleton behaviour to allow multiple backends of the same type simultaneously

remove singleton from Model, collapse loop in migrate.php

comments is not indexed

tests without data singleton

fix

exit if scandir() fails

extended meta doc
2022-11-01 16:02:17 +01:00
El RIDO
a731a1143c
update jdenticon 2022-10-31 20:36:39 +01:00
github-actions[bot]
46013df620 Merge remote-tracking branch 'origin/master' into php8 2022-10-31 16:19:19 +00:00
El RIDO
449dbb8377
Merge pull request #1010 from PrivateBin/dependabot/composer/phpunit/phpunit-5.7.27
Bump phpunit/phpunit from 5.6.3 to 5.7.27
2022-10-31 17:18:50 +01:00
github-actions[bot]
f0bbf99306 Merge remote-tracking branch 'origin/master' into php8 2022-10-31 16:07:38 +00:00
El RIDO
606d70863e
Merge pull request #1009 from PrivateBin/dependabot/composer/jdenticon/jdenticon-1.0.2
Bump jdenticon/jdenticon from 1.0.1 to 1.0.2
2022-10-31 17:07:00 +01:00
dependabot[bot]
b63de431a7
Bump phpunit/phpunit from 5.6.3 to 5.7.27
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 5.6.3 to 5.7.27.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/5.7.27/ChangeLog-5.7.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/5.6.3...5.7.27)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 11:33:10 +00:00
dependabot[bot]
be1989b117
Bump jdenticon/jdenticon from 1.0.1 to 1.0.2
Bumps [jdenticon/jdenticon](https://github.com/dmester/jdenticon-php) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/dmester/jdenticon-php/releases)
- [Commits](https://github.com/dmester/jdenticon-php/compare/1.0.1...1.0.2)

---
updated-dependencies:
- dependency-name: jdenticon/jdenticon
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 11:32:59 +00:00
El RIDO
89d575ace3
in light of the perf/size test results of Jdenticons, switch back to Identicons as the default 2022-10-30 09:24:35 +01:00
El RIDO
1892264cf0
add perf/size test for Jdenticons 2022-10-30 09:04:27 +01:00
El RIDO
c44b252aa8
Merge branch 'master' into php8 2022-10-29 19:38:01 +02:00
El RIDO
f5332ee6ff
Merge pull request #1005 from PrivateBin/crowdin-translation
New Crowdin updates
2022-10-29 15:07:46 +02:00
PrivateBin Translator Bot
e39a2eeb61 New translations en.json (Corsican) 2022-10-29 13:09:30 +02:00
El RIDO
405067668a
Merge pull request #1004 from PrivateBin/dependabot/composer/phpunit/phpunit-5.6.3
Bump phpunit/phpunit from 5.2.7 to 5.6.3
2022-10-29 08:17:33 +02:00
dependabot[bot]
922feb2779
Bump phpunit/phpunit from 5.2.7 to 5.6.3
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 5.2.7 to 5.6.3.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-8.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/5.2.7...5.6.3)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 06:07:06 +00:00
El RIDO
968d7a19bf
Merge pull request #1001 from PrivateBin/jdenticon
add new Jdenticon comment icon library and set it as default
2022-10-29 08:06:43 +02:00
El RIDO
432d3e71d3
improve configuration wording, adjust self check 2022-10-29 07:58:40 +02:00
El RIDO
34264cb7f5
Merge branch 'master' into php8 2022-10-26 08:24:41 +02:00
El RIDO
795c030bdb
Revert several commits that didn't solve the Scrutinizer issues 2022-10-26 08:16:30 +02:00
El RIDO
613e4e9d57
custom php-cs doesn't support website config on Scrutinizer 2022-10-26 08:11:35 +02:00
El RIDO
c91d20ae75
try using the updated php-cs dependency on Scrutinizer 2022-10-26 08:03:55 +02:00
El RIDO
d5104a1d63
Merge pull request #1000 from PrivateBin/set-output-deprecation
handle github actions deprecation warnings
2022-10-26 07:57:33 +02:00
El RIDO
78b3630eb5
try updating that borked php-cs dependency on Scrutinizer 2022-10-26 07:55:26 +02:00
El RIDO
31f75ee138
undo accidental PHP 8 induced upgrade of php-timer, making it incompatible with PHP 7 used on Scrutinizer 2022-10-26 07:39:35 +02:00
El RIDO
ae3a0b19ee
update PHP version used in Scrutinizer CI to 7.4, fixing php-timer requirement 2022-10-26 07:23:37 +02:00
El RIDO
d5e7e6e2ab
document Jdenticon change 2022-10-26 07:11:02 +02:00
El RIDO
8ac69590cf
add new Jdenticon comment icon library, set it as default, fixes #793 2022-10-26 06:53:56 +02:00
El RIDO
ba4878056b
misleading documentation 2022-10-26 05:51:36 +02:00
El RIDO
ae6248e27e
handle github actions deprecation warnings
see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-10-26 05:48:51 +02:00
El RIDO
7b98d7381f
allow tests to be manually triggered 2022-10-26 05:30:37 +02:00
github-actions[bot]
fa61e4507c Merge remote-tracking branch 'origin/master' into php8 2022-10-26 02:39:53 +00:00
El RIDO
78aa70e3ab
Merge pull request #999 from PrivateBin/php82-deprecated-callables
PHP 8.2 compatibility: Use of "self" in callables is deprecated
2022-10-26 04:39:11 +02:00
github-actions[bot]
f79c8c63e5 Merge remote-tracking branch 'origin/master' into php8 2022-10-25 19:12:00 +00:00
El RIDO
670f9ef548
Merge pull request #998 from PrivateBin/crowdin-translation
New Crowdin updates
2022-10-25 21:11:30 +02:00
PrivateBin Translator Bot
1a828884d1 New translations en.json (Hungarian) 2022-10-25 21:01:18 +02:00
PrivateBin Translator Bot
18a957ee54 New translations en.json (Hebrew) 2022-10-25 21:01:17 +02:00
El RIDO
8f8adb9b0d
Merge branch 'master' into crowdin-translation 2022-10-25 20:27:22 +02:00
PrivateBin Translator Bot
c3041924b6 New translations en.json (Occitan) 2022-10-25 20:03:32 +02:00
PrivateBin Translator Bot
5584fdb347 New translations en.json (Chinese Simplified) 2022-10-25 20:03:31 +02:00
PrivateBin Translator Bot
ec75ef6e36 New translations en.json (Ukrainian) 2022-10-25 20:03:30 +02:00
PrivateBin Translator Bot
b1f24a51c8 New translations en.json (Turkish) 2022-10-25 20:03:29 +02:00
PrivateBin Translator Bot
60b091d0e1 New translations en.json (Slovak) 2022-10-25 20:03:28 +02:00
PrivateBin Translator Bot
ed5859c6b6 New translations en.json (Russian) 2022-10-25 20:03:27 +02:00
PrivateBin Translator Bot
cd0a7effa0 New translations en.json (Portuguese) 2022-10-25 20:03:25 +02:00
PrivateBin Translator Bot
ab3e8ffd49 New translations en.json (Norwegian) 2022-10-25 20:03:24 +02:00
PrivateBin Translator Bot
7269755bc2 New translations en.json (Dutch) 2022-10-25 20:03:23 +02:00
PrivateBin Translator Bot
5e48a927f2 New translations en.json (Lithuanian) 2022-10-25 20:03:22 +02:00
El RIDO
bff4d3a016
PHP 8.2 compatibility: Use of "self" in callables is deprecated 2022-10-25 07:15:09 +02:00
PrivateBin Translator Bot
2eab8adcd1 New translations en.json (Corsican) 2022-10-25 07:05:13 +02:00
PrivateBin Translator Bot
92c42afdc7 New translations en.json (Arabic) 2022-10-25 07:05:12 +02:00
PrivateBin Translator Bot
da48f8a9a1 New translations en.json (Bulgarian) 2022-10-25 07:05:11 +02:00
PrivateBin Translator Bot
7b40893497 New translations en.json (Catalan) 2022-10-25 07:05:10 +02:00
PrivateBin Translator Bot
0a1fccea11 New translations en.json (Czech) 2022-10-25 07:05:09 +02:00
PrivateBin Translator Bot
3de21004c4 New translations en.json (German) 2022-10-25 07:05:07 +02:00
PrivateBin Translator Bot
d0d0621bac New translations en.json (Greek) 2022-10-25 07:05:05 +02:00
PrivateBin Translator Bot
3845298804 New translations en.json (Finnish) 2022-10-25 07:05:04 +02:00
PrivateBin Translator Bot
d6c5f97d58 New translations en.json (Hebrew) 2022-10-25 07:05:03 +02:00
PrivateBin Translator Bot
f713b92893 New translations en.json (Hungarian) 2022-10-25 07:05:01 +02:00
PrivateBin Translator Bot
f254285b01 New translations en.json (Italian) 2022-10-25 07:05:00 +02:00
PrivateBin Translator Bot
c2d5c6fc43 New translations en.json (Japanese) 2022-10-25 07:04:59 +02:00
PrivateBin Translator Bot
3d4f9cc1b3 New translations en.json (Kurdish) 2022-10-25 07:04:58 +02:00
PrivateBin Translator Bot
945435e133 New translations en.json (Lithuanian) 2022-10-25 07:04:57 +02:00
PrivateBin Translator Bot
d288f2ab73 New translations en.json (Dutch) 2022-10-25 07:04:56 +02:00
PrivateBin Translator Bot
7ab3f3f271 New translations en.json (Spanish) 2022-10-25 07:04:54 +02:00
PrivateBin Translator Bot
019c8b64b8 New translations en.json (Norwegian) 2022-10-25 07:04:53 +02:00
PrivateBin Translator Bot
06b01c57ac New translations en.json (Portuguese) 2022-10-25 07:04:52 +02:00
PrivateBin Translator Bot
b756da5839 New translations en.json (Russian) 2022-10-25 07:04:51 +02:00
PrivateBin Translator Bot
8a9761b430 New translations en.json (Slovak) 2022-10-25 07:04:50 +02:00
PrivateBin Translator Bot
79c4ace626 New translations en.json (Slovenian) 2022-10-25 07:04:49 +02:00
PrivateBin Translator Bot
534d014254 New translations en.json (Swedish) 2022-10-25 07:04:48 +02:00
PrivateBin Translator Bot
40a037b625 New translations en.json (Turkish) 2022-10-25 07:04:47 +02:00
PrivateBin Translator Bot
5cb40e1f9e New translations en.json (Ukrainian) 2022-10-25 07:04:46 +02:00
PrivateBin Translator Bot
c9144def9f New translations en.json (Chinese Simplified) 2022-10-25 07:04:45 +02:00
PrivateBin Translator Bot
989fe6cc3a New translations en.json (Indonesian) 2022-10-25 07:04:44 +02:00
PrivateBin Translator Bot
08ac373b12 New translations en.json (Estonian) 2022-10-25 07:04:42 +02:00
PrivateBin Translator Bot
c2ec38e0a3 New translations en.json (Hindi) 2022-10-25 07:04:41 +02:00
PrivateBin Translator Bot
f31e384980 New translations en.json (Lojban) 2022-10-25 07:04:39 +02:00
PrivateBin Translator Bot
a1b4fcdefb New translations en.json (Latin) 2022-10-25 07:04:39 +02:00
PrivateBin Translator Bot
09902b9d67 New translations en.json (Occitan) 2022-10-25 07:04:38 +02:00
PrivateBin Translator Bot
f8bb6efcf9 New translations en.json (Polish) 2022-10-25 07:04:37 +02:00
PrivateBin Translator Bot
930063442a New translations en.json (French) 2022-10-25 07:04:35 +02:00
El RIDO
5b3d61cedc
revert, this one actually was correct 2022-10-25 06:58:42 +02:00
El RIDO
510103fd9f
make tests compatible with newer phpunit 2022-10-25 06:55:24 +02:00
El RIDO
b890d768d1
enable use of PHP 8.2 2022-10-25 06:53:26 +02:00
El RIDO
27965d0287
make tests compatible with newer phpunit 2022-10-25 06:53:07 +02:00
El RIDO
8ed9fccf25
make YourlsProxyTest compatible with newer phpunit 2022-10-25 06:43:17 +02:00
El RIDO
522c2721a2
make YourlsProxyTest compatible with newer phpunit 2022-10-25 06:41:42 +02:00
El RIDO
17d7a6967e
make YourlsProxyTest compatible with newer phpunit 2022-10-25 06:39:50 +02:00
El RIDO
f6edcc1acd
Merge branch 'master' into php8 2022-10-25 06:37:15 +02:00
El RIDO
849c1c7cd1
fix display of configured name in twitter title 2022-10-25 06:34:40 +02:00
PrivateBin Translator Bot
5e513588db New translations en.json (German) 2022-10-25 06:08:09 +02:00
PrivateBin Translator Bot
fef83a37ef New translations en.json (Slovak) 2022-10-23 22:46:25 +02:00
El RIDO
4f9af21fb2
Merge pull request #997 from jmozd/serverside_yourls
Serverside yourls
2022-10-23 18:03:14 +02:00
El RIDO
a66f170c5e
PHP 5.6 seems to tolerate an empty string as valid JSON 2022-10-23 13:21:22 +02:00
El RIDO
44f78ffcdf
apply StyleCI recommendations 2022-10-23 13:14:27 +02:00
El RIDO
2776033997
apply StyleCI recommendations 2022-10-23 13:13:12 +02:00
El RIDO
0a949d3903
credit change, document it and improve wording 2022-10-23 13:10:55 +02:00
El RIDO
78e915e049
adding tests for YOURLS functionality 2022-10-23 13:09:54 +02:00
El RIDO
4bd5ef9cda
add new messages to translate 2022-10-23 10:50:18 +02:00
El RIDO
69034ef9d1
apply StyleCI recommendations 2022-10-23 09:16:55 +02:00
El RIDO
2a162d075c
allow unit tests to pass 2022-10-23 09:12:31 +02:00
El RIDO
f4000150fa
avoid cURL dependency, native functions should suffice for such a simple call 2022-10-23 09:05:17 +02:00
El RIDO
b768a2e8cb
use JSON wrapper for decoding error catching 2022-10-23 08:21:37 +02:00
El RIDO
0a2094f069
code style 2022-10-23 08:16:05 +02:00
El RIDO
0dc9ab7576
refactor shortenviayourls.php for our MVC framework 2022-10-23 08:10:56 +02:00
El RIDO
304ae76a04
Merge branch 'serverside_yourls' of https://github.com/jmozd/PrivateBin into serverside_yourls 2022-10-23 05:43:18 +02:00
github-actions[bot]
5b2ec7f7c2 Merge remote-tracking branch 'origin/master' into php8 2022-10-23 03:14:46 +00:00
El RIDO
13b4dc79b9
Merge pull request #992 from PrivateBin/zlib-1.2.13
update zlib to 1.2.13
2022-10-23 05:14:15 +02:00
El RIDO
9d07e68e7d
Merge branch 'master' into zlib-1.2.13 2022-10-23 05:06:50 +02:00
Jens-U. Mozdzen
dce8b8d352 updated code formatting 2022-10-23 01:07:43 +02:00
Jens-U. Mozdzen
3115cb8883 added parameters for server-side YOURLS shortener call 2022-10-23 00:19:43 +02:00
Jens-U. Mozdzen
b0f17f0a91 added server-side YOURLS shortener call 2022-10-23 00:18:56 +02:00
github-actions[bot]
5768b1e4bd Merge remote-tracking branch 'origin/master' into php8 2022-10-22 16:35:34 +00:00
El RIDO
a36351ca37
Merge pull request #994 from felixjogris/s3backend
implemented S3 storage backend
2022-10-22 18:35:03 +02:00
Felix J. Ogris
ee212b1a33 implemented S3 storage backend
added sample configuration + aws php sdk version

coding style cleanup
2022-10-22 18:30:24 +02:00
El RIDO
08b6070359
update zlib to 1.2.13 2022-10-15 09:05:19 +02:00
github-actions[bot]
23928d26f0 Merge remote-tracking branch 'origin/master' into php8 2022-10-07 05:54:07 +00:00
El RIDO
2e2c70ed15
Merge pull request #986 from PrivateBin/crowdin-translation
New Crowdin updates
2022-10-07 07:53:30 +02:00
PrivateBin Translator Bot
38245287d0 New translations en.json (Slovak) 2022-10-07 07:11:45 +02:00
github-actions[bot]
cbeb30adf1 Merge remote-tracking branch 'origin/master' into php8 2022-10-07 03:59:28 +00:00
El RIDO
688574f70c
Merge pull request #988 from RaJiska/master
GCS Uniform ACL Support
2022-10-07 05:58:54 +02:00
Ra'Jiska
8dbe60621d Fix GCS Upload Metadata Mistake 2022-10-06 14:41:37 +08:00
PrivateBin Translator Bot
23e0000101 New translations en.json (Greek) 2022-10-06 08:30:59 +02:00
PrivateBin Translator Bot
1aa93f7fb2 New translations en.json (Slovak) 2022-10-06 08:30:58 +02:00
Ra'Jiska
8dded4e8e4 GCS Support for Uniform ACL Buckets 2022-10-06 12:19:06 +08:00
PrivateBin Translator Bot
ad6e802e8a New translations en.json (Greek) 2022-10-05 12:30:02 +02:00
PrivateBin Translator Bot
c6659747ae New translations en.json (Greek) 2022-10-05 09:01:55 +02:00
github-actions[bot]
b488359e35 Merge remote-tracking branch 'origin/master' into php8 2022-09-30 03:25:00 +00:00
El RIDO
160207b25a
Merge pull request #983 from PrivateBin/slovak
enable use of Slovak translations
2022-09-30 05:24:21 +02:00
El RIDO
77409e6065
crediting greek language as well, plus docs 2022-09-29 21:15:00 +02:00
El RIDO
abef3ad37b
Merge branch 'master' into slovak 2022-09-29 21:10:50 +02:00
github-actions[bot]
9f541e6276 Merge remote-tracking branch 'origin/master' into php8 2022-09-29 19:06:55 +00:00
El RIDO
0e630e14b7
Merge pull request #985 from eellak/greek-lang
Update strings in el.json and enable greek language
2022-09-29 21:06:18 +02:00
Christos Karamolegkos
0f1c2fdb04 Update strings in el.json and enable greek language 2022-09-29 15:34:15 +03:00
El RIDO
b61b4253a6
enabled use of Slovak translations 2022-09-29 05:34:49 +02:00
github-actions[bot]
4aa95107d3 Merge remote-tracking branch 'origin/master' into php8 2022-09-26 10:16:10 +00:00
R4SAS
afd84da6b2
Merge pull request #981 from PrivateBin/crowdin-translation
New Crowdin updates
2022-09-26 10:15:30 +00:00
PrivateBin Translator Bot
51f5082f39 New translations en.json (Slovak) 2022-09-25 17:09:10 +02:00
PrivateBin Translator Bot
1b727f7fa4 New translations en.json (Slovak) 2022-09-25 16:12:48 +02:00
github-actions[bot]
4f7b3d2ac3 Merge remote-tracking branch 'origin/master' into php8 2022-09-24 08:06:29 +00:00
El RIDO
4ea2d6020f
Merge pull request #979 from PrivateBin/crowdin-translation
New Crowdin updates
2022-09-24 10:05:58 +02:00
PrivateBin Translator Bot
3255a4d954 New translations en.json (Slovak) 2022-09-20 21:21:45 +02:00
PrivateBin Translator Bot
4025619236 New translations en.json (Slovak) 2022-09-20 20:11:36 +02:00
github-actions[bot]
5165845b54 Merge remote-tracking branch 'origin/master' into php8 2022-09-18 12:45:32 +00:00
El RIDO
eef9a52b69
Merge pull request #968 from PrivateBin/crowdin-translation
New Crowdin updates
2022-09-18 14:44:56 +02:00
PrivateBin Translator Bot
7580155243 New translations en.json (Slovak) 2022-09-18 14:19:01 +02:00
PrivateBin Translator Bot
49b8312505 New translations en.json (Dutch) 2022-09-18 14:19:00 +02:00
PrivateBin Translator Bot
d1b53360d5 New translations en.json (Slovak) 2022-09-18 13:16:32 +02:00
PrivateBin Translator Bot
e35710ca30 New translations en.json (Turkish) 2022-09-18 13:16:31 +02:00
PrivateBin Translator Bot
123210bb8f New translations en.json (Dutch) 2022-09-18 13:16:30 +02:00
PrivateBin Translator Bot
e11c89ab85 New translations en.json (Czech) 2022-09-16 23:59:49 +02:00
PrivateBin Translator Bot
e56b24fc3b New translations en.json (Turkish) 2022-09-10 22:29:16 +02:00
PrivateBin Translator Bot
76fe7063ca New translations en.json (Dutch) 2022-09-10 22:29:14 +02:00
PrivateBin Translator Bot
fa1e4728dc New translations en.json (Russian) 2022-09-10 21:32:33 +02:00
PrivateBin Translator Bot
d57a849a40 New translations en.json (Dutch) 2022-09-10 21:32:32 +02:00
PrivateBin Translator Bot
d065f42785 New translations en.json (Czech) 2022-09-10 14:08:53 +02:00
PrivateBin Translator Bot
d848ce2ed2 New translations en.json (Ukrainian) 2022-08-30 00:53:01 +02:00
github-actions[bot]
05e236ed6c Merge remote-tracking branch 'origin/master' into php8 2022-08-24 04:28:45 +00:00
El RIDO
ac06627d9f
Merge pull request #971 from PrivateBin/coop-header-disable
Remove COOP header for now
2022-08-24 06:28:09 +02:00
rugk
e740d0f761
Remove COOP header for now
Same as https://github.com/PrivateBin/docker-nginx-fpm-alpine/pull/108

Disable the header here as it breaks links to the own site.
2022-08-22 13:25:56 +02:00
PrivateBin Translator Bot
6e60efc2dd New translations en.json (Dutch) 2022-08-21 17:21:33 +02:00
PrivateBin Translator Bot
a105ba7566 New translations en.json (Turkish) 2022-08-21 17:21:28 +02:00
PrivateBin Translator Bot
67365f8602 New translations en.json (Ukrainian) 2022-08-21 17:21:27 +02:00
El RIDO
8c2cc18b66
Merge branch 'master' into php8 2022-07-31 08:53:52 +02:00
El RIDO
628700afb1
Merge pull request #960 from PrivateBin/crowdin-translation
New Crowdin updates
2022-07-23 07:23:55 +02:00
PrivateBin Translator Bot
5c20a424e1 New translations en.json (Lithuanian) 2022-07-22 14:07:48 +02:00
El RIDO
1a5eafe424
Merge pull request #958 from PrivateBin/crowdin-translation
New Crowdin updates
2022-07-16 09:33:14 +02:00
PrivateBin Translator Bot
925f8cb338 New translations en.json (Spanish) 2022-07-14 09:41:47 +02:00
PrivateBin Translator Bot
9e499652be New translations en.json (Spanish) 2022-07-14 08:34:07 +02:00
El RIDO
61efe71e31
Merge pull request #957 from PrivateBin/nodejs-16-tests
Use NodeJs v16 for tests
2022-07-10 10:31:02 +02:00
rugk
48bb2fdf0f
Use NodeJs v16 for tests
So 14 worked, let's try 16. (Actually noticed fedora uses v16 not 14 which makes sense if you see the support time.)
2022-07-10 00:13:47 +02:00
El RIDO
b46b4300ec
Merge pull request #955 from PrivateBin/node14
chore: run tests with NodeJS 14
2022-07-09 17:45:23 +02:00
El RIDO
67fdd54ae5
Merge pull request #954 from PrivateBin/packagelock
Add missing package-json.lock
2022-07-09 17:41:39 +02:00
rugk
e536db9b7e
style: run tests via npm script insread of custom command
I.e. not call mocha directly but let the script defined in package.json do it's job.
2022-07-09 17:04:28 +02:00
rugk
9a476ac34d chore: switch to proper cache file now we have it, i.e. package-lock.json
as per https://github.com/actions/setup-node#caching-global-packages-data
2022-07-09 17:00:45 +02:00
rugk
79fd33d21f
chore: run tests with NodeJS 14
I expect no stuff to break or so, so let's just try to use the current recommend LTS version. (v14 will also die at some time, but Fedora e.g. still seems to use it for now by default. Likely we may upgrade soon even more.)

Ref https://nodejs.org/en/about/releases/
2022-07-09 16:57:06 +02:00
rugk
08946d1cab Use npm ci instead of npm install for tests in CI
So it uses the package-json.lock file actually.
2022-07-09 16:48:21 +02:00
rugk
29b8215332 Add missing package-json.lock
NodeJS v16.14.0
2022-07-09 16:44:35 +02:00
El RIDO
f9d78d62a0
Merge pull request #945 from PrivateBin/mysql-index-exists
CREATE INDEX IF NOT EXISTS is not supported as of MySQL <= 8.0
2022-06-30 06:43:36 +02:00
El RIDO
e6d606ba88
clarify that it is only unsupported by Oracle MySQL, while supported in MariaDB, Postgres, SQLite, ... 2022-06-29 22:25:54 +02:00
El RIDO
4ad4aed875
apply table prefix to indexes as well, to support multiple instances sharing a single database 2022-06-28 06:51:21 +02:00
El RIDO
b7cffbddd0
CREATE INDEX IF NOT EXISTS is not supported as of MySQL <= 8.0, fixes #943 2022-06-27 19:05:57 +02:00
El RIDO
9b132f4054
Merge pull request #941 from PrivateBin/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-06-10 05:04:21 +02:00
El RIDO
e052dd9d83
Merge pull request #940 from PrivateBin/dependabot/github_actions/actions/cache-3
Bump actions/cache from 2 to 3
2022-06-10 05:03:19 +02:00
dependabot[bot]
b6f35fc8ab
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 03:02:26 +00:00
El RIDO
9291e57ac6
Merge pull request #939 from PrivateBin/dependabot/github_actions/github/codeql-action-2
Bump github/codeql-action from 1 to 2
2022-06-10 05:02:04 +02:00
El RIDO
9df0faf7b8
Merge pull request #938 from PrivateBin/dependabot/github_actions/actions/setup-node-3
Bump actions/setup-node from 2 to 3
2022-06-10 05:01:17 +02:00
github-actions[bot]
d7e88b236e Merge remote-tracking branch 'origin/master' into php8 2022-06-10 02:59:39 +00:00
dependabot[bot]
be23ae2874
Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 02:59:25 +00:00
dependabot[bot]
86794be1c4
Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 02:59:19 +00:00
dependabot[bot]
48a6bf4416
Bump actions/setup-node from 2 to 3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 02:59:15 +00:00
El RIDO
b75bfc3e34
Merge pull request #937 from PrivateBin/dependabot
Add/enable Dependabot to keep dependencies up-to-date
2022-06-10 04:58:52 +02:00
rugk
3c8c32fbcb
Add/enable Dependabot to keep dependencies up-to-date
Enabled update checking via Dependabot for
* GitHub Actions for updates or in case you are going to use that (just my default)
* PHP aka Composer

We successfully use it [for our Docker container](https://github.com/PrivateBin/docker-nginx-fpm-alpine/blob/master/.github/dependabot.yml) and IMHO that has worked quite well, so IMHO, we can also use it here now.
2022-06-09 23:42:03 +02:00
github-actions[bot]
b48430cd4d Merge remote-tracking branch 'origin/master' into php8 2022-06-08 18:29:26 +00:00
El RIDO
0ebac188a8
Merge pull request #936 from AnonymousWP/master
Add missing Dutch translations
2022-06-08 20:28:52 +02:00
AnonymousWP
dad1c5dc5b Add Dutch translations
Also fixed Dutch spelling and grammar mistakes.
2022-06-08 11:32:16 +02:00
github-actions[bot]
b5d9850bee Merge remote-tracking branch 'origin/master' into php8 2022-06-06 05:36:56 +00:00
El RIDO
c3302b5f8d
Merge pull request #935 from PeGaSuS-Coder/patch-1
Update conf.sample.php
2022-06-06 07:36:21 +02:00
PeGaSuS
f8ff49509b
Update conf.sample.php
Fixed typo to match the mysql database name
2022-06-05 18:42:54 +02:00
PeGaSuS
6d748de33a
Update conf.sample.php
Added an working PostgreSQL database configuration.
2022-06-05 18:41:09 +02:00
github-actions[bot]
8b534ace28 Merge remote-tracking branch 'origin/master' into php8 2022-06-02 17:22:48 +00:00
El RIDO
d9857017de
Merge pull request #932 from PrivateBin/php-8.1-deprecations
addressing deprecation warnings in php 8.1
2022-06-02 19:21:46 +02:00
El RIDO
07a23d7f0b
addressing deprecation warnings in php 8.1
Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in lib/Data/Database.php on line 280 & 555
2022-06-01 21:05:08 +02:00
El RIDO
2ad79ebf71
add php 8.1 unit tests 2022-06-01 20:50:38 +02:00
El RIDO
a376f894a9
Merge branch 'php8' of github.com:PrivateBin/PrivateBin into php8 2022-06-01 20:48:33 +02:00
github-actions[bot]
43cd87c417 Merge remote-tracking branch 'origin/master' into php8 2022-05-02 17:22:36 +00:00
El RIDO
4487171263
Merge pull request #926 from PrivateBin/crowdin-translation
New Crowdin updates
2022-05-02 19:21:58 +02:00
PrivateBin Translator Bot
3ae97cde7a New translations en.json (Catalan) 2022-05-02 00:14:26 +02:00
github-actions[bot]
b8be814015 Merge remote-tracking branch 'origin/master' into php8 2022-04-30 07:45:50 +00:00
El RIDO
e1b5d277c7
Merge pull request #925 from MTBBK/patch-1
Update tr.json
2022-04-30 09:45:20 +02:00
github-actions[bot]
b73f4be25e Merge remote-tracking branch 'origin/master' into php8 2022-04-30 07:23:22 +00:00
El RIDO
c065a4b739
Merge pull request #924 from PrivateBin/enable-turkish
Enable Turkish translation
2022-04-30 09:22:47 +02:00
MTBBK
b6fc4bd19d
Update tr.json 2022-04-28 23:00:31 +03:00
El RIDO
f717334ee0
- credit & document Turkish translation
- remove plural indicators
- add plural logic and enable Turkish translation
2022-04-28 20:05:57 +02:00
El RIDO
2c01892ee1
bump github/codeql-action from 1 to 2 2022-04-28 19:47:28 +02:00
github-actions[bot]
f18770eaa6 Merge remote-tracking branch 'origin/master' into php8 2022-04-28 17:44:58 +00:00
El RIDO
14440630bb
Merge pull request #923 from rahmanlar/patch-1
Update Turkish localization
2022-04-28 19:44:23 +02:00
Emir Ensar Rahmanlar
b023351991
Update Turkish localization 2022-04-28 11:37:27 +03:00
github-actions[bot]
878374979b Merge remote-tracking branch 'origin/master' into php8 2022-04-20 17:56:55 +00:00
El RIDO
d0142c31cc
Merge pull request #920 from PrivateBin/mysql_ansi_quotes
Avoid SUPER privilege when setting the sql_mode for MariaDB/MySQL, fixes #919
2022-04-20 19:56:24 +02:00
El RIDO
0e2ec27033
Avoid privilege for setting the for MariaDB/MySQL, fixes #919 2022-04-19 18:44:00 +02:00
github-actions[bot]
abd722d0e4 Merge remote-tracking branch 'origin/master' into php8 2022-04-14 04:20:29 +00:00
El RIDO
a15b395eaf
fix php8 refresh workflow
requires updating the commit action due to
https://github.com/github-actions-x/commit/issues/30
2022-04-14 06:19:19 +02:00
El RIDO
15a9b8d826
fix php8 refresh workflow
requires updating the commit action due to
https://github.com/github-actions-x/commit/issues/30
2022-04-14 06:17:10 +02:00
El RIDO
d2126d6dd6
fix php8 refresh workflow
requires updating the commit action due to
https://github.com/github-actions-x/commit/issues/30
2022-04-14 06:08:48 +02:00
github-actions[bot]
16d6cfb1ac Merge remote-tracking branch 'origin/master' into php8 2022-04-11 17:09:34 +00:00
El RIDO
62b14ae20f
Merge pull request #916 from HLeithner/patch-1
Replace FLoC Header with browsing-topics header
2022-04-11 19:09:00 +02:00
Harald Leithner
4b3d11c988
Add browsing-topics premission policy 2022-04-10 11:28:52 +02:00
github-actions[bot]
60bb381796 Merge remote-tracking branch 'origin/master' into php8 2022-04-10 09:16:48 +00:00
El RIDO
81b8620006
Merge pull request #915 from PrivateBin/crowdin-translation
New Crowdin updates
2022-04-10 11:16:18 +02:00
Harald Leithner
7b8e031ab5
Remove FLoC Header
Google announced that it is discontinuing FLoC.
2022-04-10 10:36:39 +02:00
PrivateBin Translator Bot
cdea2917c1 New translations en.json (Chinese Simplified) 2022-04-10 09:43:11 +02:00
github-actions[bot]
f2397ac532 Merge remote-tracking branch 'origin/master' into php8 2022-04-09 17:56:36 +00:00
El RIDO
38b419945c
Merge pull request #914 from imtms/master
Update zh translation
2022-04-09 19:55:59 +02:00
TMs
ba7bcbbb62
update zh translation 2022-04-09 22:42:47 +08:00
github-actions[bot]
ebf6a92c8f Merge remote-tracking branch 'origin/master' into php8 2022-04-09 12:39:05 +00:00
El RIDO
7ce853001d
Merge branch 'release-1.4' 2022-04-09 14:38:22 +02:00
El RIDO
456ced37c2
incrementing version 2022-04-05 07:30:51 +02:00
El RIDO
3a7350c5c4
reword and reformat documents 2022-04-05 07:28:25 +02:00
El RIDO
f0d0daffcc
enable and credit new Finnish translation 2022-04-05 07:22:07 +02:00
github-actions[bot]
634b3a6605 Merge remote-tracking branch 'origin/master' into php8 2022-04-04 17:13:18 +00:00
El RIDO
21400d4928
Merge pull request #910 from davidnemec/fix-env-name
Fix wrong env name for GCS bucket
2022-04-04 19:12:45 +02:00
David Němec
91d51e075d
Fix wrong env name for GCS bucket 2022-04-04 14:17:40 +02:00
github-actions[bot]
e770065edf Merge remote-tracking branch 'origin/master' into php8 2022-03-30 18:49:51 +00:00
El RIDO
bd308a0d3b
Merge pull request #909 from PrivateBin/zlib-1.2.12
upgrade to zlib 1.2.12
2022-03-30 20:49:20 +02:00
El RIDO
f2e0c1a701
upgrade to zlib 1.2.12 2022-03-30 06:05:37 +02:00
github-actions[bot]
5f53150390 Merge remote-tracking branch 'origin/master' into php8 2022-03-28 17:06:05 +00:00
El RIDO
ffab73a314
Merge pull request #907 from PrivateBin/crowdin-translation
New Crowdin updates
2022-03-28 19:05:27 +02:00
github-actions[bot]
184b8b567d Merge remote-tracking branch 'origin/master' into php8 2022-03-28 17:03:38 +00:00
El RIDO
1dd53a93f4
Merge branch 'hardening' 2022-03-28 19:02:35 +02:00
PrivateBin Translator Bot
835fbe0e2f New translations en.json (Finnish) 2022-03-27 10:56:23 +02:00
El RIDO
11b16fc6fd
removed directive needed for the PDF preview in FireFox < 78
fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1582115 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1638826 for FF 78
2022-03-27 08:45:33 +02:00
El RIDO
2b509d0475
Merge branch 'master' into hardening 2022-03-27 08:29:12 +02:00
El RIDO
40d35ab3c2
update SRI-hashes 2022-03-27 08:28:54 +02:00
El RIDO
82be7c6354
Merge branch 'hardening' of github.com:PrivateBin/PrivateBin into hardening 2022-03-27 08:28:10 +02:00
El RIDO
75dc346f0f
be more specific on the base type match and less specific on the subtype, in order to fail-safe (avoid being tricked into not sanitizing - the mime type is a user provided input) 2022-03-27 08:27:24 +02:00
El RIDO
960faf4417
wording
Co-authored-by: rugk <rugk+git@posteo.de>
2022-03-27 07:58:25 +02:00
github-actions[bot]
de6db843ba Merge remote-tracking branch 'origin/master' into php8 2022-03-23 19:45:37 +00:00
El RIDO
7ad677921b
Merge pull request #905 from PrivateBin/crowdin-translation
New Crowdin updates
2022-03-23 20:45:00 +01:00
PrivateBin Translator Bot
b6db556b34 New translations en.json (Finnish) 2022-03-21 19:11:47 +01:00
El RIDO
36cb37c029
prevent error when attachments are disabled, but paste with attachment gets displayed 2022-03-13 20:18:51 +01:00
El RIDO
5617612eb3
upgrade to showdown 2.0.3 2022-03-13 20:05:38 +01:00
El RIDO
2a4d572c1e
Sanitize SVG preview, preventing script execution in instance context, while dropping support for attachment download in IE 2022-03-13 19:56:12 +01:00
El RIDO
6c1f0dde0c
set CSP also as meta tag, to deal with misconfigured webservers mangling the HTTP header 2022-03-13 18:11:13 +01:00
github-actions[bot]
6caf1a5f06 Merge remote-tracking branch 'origin/master' into php8 2022-03-01 05:45:16 +00:00
El RIDO
1807580226
Merge pull request #900 from PrivateBin/crowdin-translation
New Crowdin updates
2022-03-01 06:44:43 +01:00
PrivateBin Translator Bot
cc60ab701b New translations en.json (German) 2022-02-28 19:34:00 +01:00
github-actions[bot]
bda1ab23b8 Merge remote-tracking branch 'origin/master' into php8 2022-02-28 18:22:17 +00:00
El RIDO
389b07bd2d
Merge pull request #901 from PrivateBin/trafficlimit-short-subnets
Allow short subnet notation
2022-02-28 19:21:45 +01:00
PrivateBin Translator Bot
e9d6996db4 New translations en.json (Italian) 2022-02-28 17:27:05 +01:00
PrivateBin Translator Bot
a58bba0958 New translations en.json (German) 2022-02-28 17:27:04 +01:00
PrivateBin Translator Bot
abaa9eca35 New translations en.json (French) 2022-02-28 17:27:03 +01:00
El RIDO
3e02818335
actually support the short CIDR notation 2022-02-28 16:24:06 +01:00
El RIDO
6b001b5e4a
typo 2022-02-28 16:23:11 +01:00
PrivateBin Translator Bot
ccdb26df51 New translations en.json (Corsican) 2022-02-28 12:45:13 +01:00
PrivateBin Translator Bot
bef5c647cf New translations en.json (Occitan) 2022-02-28 11:29:33 +01:00
github-actions[bot]
50fb12e3b3 Merge remote-tracking branch 'origin/master' into php8 2022-02-27 18:33:35 +00:00
El RIDO
2b46fdd626
Merge branch 'stevenandres-master' 2022-02-27 19:32:43 +01:00
El RIDO
f83f80b5f6
Merge branch 'master' into stevenandres-master 2022-02-26 11:56:58 +01:00
github-actions[bot]
955334ff91 Merge remote-tracking branch 'origin/master' into php8 2022-02-26 10:53:14 +00:00
El RIDO
f39934a104
Merge pull request #896 from Patriccollu/PB-in-Corsican
Adding Corsican as brand new locale
2022-02-26 11:52:43 +01:00
Patriccollu
4c8d23d3a5
Adding co.json for Corsican 2022-02-26 10:35:08 +01:00
El RIDO
fa7aa3e88c
fix composer lock 2022-02-26 07:22:32 +01:00
El RIDO
fe89161848
replace deprecated function calls 2022-02-26 07:18:59 +01:00
El RIDO
d544d5e763
Update tst/Persistence/TrafficLimiterTest.php
Co-authored-by: rugk <rugk+git@posteo.de>
2022-02-26 06:59:11 +01:00
El RIDO
094c96afc6
Update tst/Persistence/TrafficLimiterTest.php
Co-authored-by: rugk <rugk+git@posteo.de>
2022-02-26 06:59:02 +01:00
El RIDO
247992fbca
Update tst/Persistence/TrafficLimiterTest.php
Co-authored-by: rugk <rugk+git@posteo.de>
2022-02-26 06:58:54 +01:00
El RIDO
77153a9b49
Update tst/Persistence/TrafficLimiterTest.php
Co-authored-by: rugk <rugk+git@posteo.de>
2022-02-26 06:58:41 +01:00
El RIDO
38c13398fc
Merge branch 'master' into php8 2022-02-26 06:51:32 +01:00
Patriccollu
110962bc8e
Updating CREDITS.md for new locale Corsican 2022-02-25 13:18:01 +01:00
Patriccollu
d73cfb093c
Updating CHANGELOG.md for new locale Corsican 2022-02-25 13:17:50 +01:00
El RIDO
288cf3f005
Merge branch 'master' into stevenandres-master 2022-02-25 06:42:18 +01:00
El RIDO
a62f29f052
Merge branch 'lib-update' 2022-02-25 06:40:56 +01:00
Patriccollu
9b9be50678
Adding co.json for Corsican 2022-02-25 00:02:58 +01:00
Patriccollu
30c0d22468
Updating I18n.php to add Corsican as new locale 2022-02-24 20:05:19 +01:00
Patriccollu
004e2dd75c
Update to add Corsican as new locale 2022-02-24 20:03:48 +01:00
Patriccollu
d5d06caf40
Adding co.json for Corsican 2022-02-24 19:50:27 +01:00
El RIDO
7a6f36a789
disable failing part of the test 2022-02-23 06:04:05 +01:00
El RIDO
a0f8a667ae
deprecated functions, fix test partially 2022-02-20 21:07:04 +01:00
El RIDO
fbf0eae513
update bootstrap JS library to 3.4.1
note that this fails one of our unit tests
2022-02-20 16:13:54 +01:00
El RIDO
0e3a7196f9
set frame-ancestors to none
disables embedding the site in any frames, which can bypass some of the security mechanisms reg. cross site scripting
2022-02-20 15:21:47 +01:00
El RIDO
f987e96d4b
apply StyleCI recommendation 2022-02-20 12:25:55 +01:00
El RIDO
1054319313
add new translation string 2022-02-20 12:22:34 +01:00
El RIDO
6b59d4f380
document change 2022-02-20 11:51:41 +01:00
El RIDO
1034d4038e
unify IP-related logic into traffic limiter 2022-02-20 11:25:19 +01:00
El RIDO
dbe8debe30
add creator unit tests for refactoring target, currently failing 2022-02-20 09:35:05 +01:00
El RIDO
190a35a53b
small unit test refactoring, comment wording 2022-02-20 09:30:41 +01:00
El RIDO
91041d8c59
simplify/unify naming & wording of the two types of IP lists for the traffic limiter 2022-02-20 09:09:20 +01:00
El RIDO
d764c03759
Merge branch 'master' of https://github.com/stevenandres/PrivateBin into stevenandres-master 2022-02-20 08:44:09 +01:00
El RIDO
7277d2bb43
update all libraries 2022-02-18 07:36:09 +01:00
github-actions[bot]
14de09789e Merge remote-tracking branch 'origin/master' into php8 2022-02-18 05:51:15 +00:00
El RIDO
c8c6a67530
Merge pull request #887 from PrivateBin/crowdin-translation
New Crowdin updates
2022-02-18 06:50:44 +01:00
github-actions[bot]
595f9cf42e Merge remote-tracking branch 'origin/master' into php8 2022-02-18 05:18:21 +00:00
El RIDO
9443900f66
Merge pull request #886 from PrivateBin/scrutinizer-i18n-test
allow for Lojban (jbo) to be the "any" language pick
2022-02-18 06:17:50 +01:00
PrivateBin Translator Bot
76bc8590a6 New translations en.json (Catalan) 2022-02-18 01:37:48 +01:00
PrivateBin Translator Bot
6cc47e6073 New translations en.json (Catalan) 2022-02-18 00:42:37 +01:00
El RIDO
2d7f5e9a9f
allow for Lojban (jbo) to be the "any" language pick
The available language list is generated by reading the i18n directory
descriptor one entry at a time, so if the jbo.json happens to be the first
file written to the directory it will be on top of the list and get picked.

This is an edge case, most users browsers won't be set to that, but we need
to cover this allowed and valid use case in the language detection.
2022-02-17 20:44:49 +01:00
github-actions[bot]
fb0d13937b Merge remote-tracking branch 'origin/master' into php8 2022-02-17 19:38:19 +00:00
El RIDO
6307c01cc6
Merge pull request #882 from PrivateBin/php-warning
php warning in templates, fixes #875
2022-02-17 20:37:47 +01:00
El RIDO
a200f8875c
php warning in templates, fixes #875 2022-02-15 19:02:44 +01:00
github-actions[bot]
26ae7db0eb Merge remote-tracking branch 'origin/master' into php8 2022-02-13 08:04:35 +00:00
El RIDO
75eede9870
Merge branch 'crowdin-translation' 2022-02-13 09:03:47 +01:00
El RIDO
e822673e90
Merge branch 'master' into crowdin-translation 2022-02-13 09:01:27 +01:00
github-actions[bot]
0212429c4a Merge remote-tracking branch 'origin/master' into php8 2022-02-13 07:59:02 +00:00
El RIDO
9df6754dfa
Merge pull request #881 from PrivateBin/jbobau
Lojban translation
2022-02-13 08:58:29 +01:00
PrivateBin Translator Bot
f5f07b9288 New translations en.json (Lojban) 2022-02-12 18:24:14 +01:00
github-actions[bot]
484ab3cd84 Merge remote-tracking branch 'origin/master' into php8 2022-02-12 16:29:53 +00:00
El RIDO
75a86e2594
Merge pull request #879 from AckKid/patch-1
Create Procfile
2022-02-12 17:29:22 +01:00
github-actions[bot]
7694c1460b Merge remote-tracking branch 'origin/master' into php8 2022-02-12 16:18:17 +00:00
El RIDO
4758fd683a
Merge branch 'bc-bjoern-jquery' 2022-02-12 17:17:17 +01:00
El RIDO
186dd82653
Apply StyleCI fix
that class name we used was not quite correct, but PHP tolerated the typo
2022-02-12 16:41:25 +01:00
El RIDO
8faf0501f4
improve Lojban support
- Crowdin has to use the 3 letter language code, since Lojban has no 2 letter code. Added support for this in the PHP backend and renamed the translation file.
- Lojban has no plural cases, updated the plural-formulas accordingly.
- Credited the change and documented it.
- Updated the SRI hashes.
2022-02-12 16:17:09 +01:00
Bjoern Becker
832f000576
update jquery 2022-02-11 12:22:16 +01:00
PrivateBin Translator Bot
6da1fa04c3 New translations en.json (Lojban) 2022-02-11 06:47:01 +01:00
PrivateBin Translator Bot
0c0be618e0 New translations en.json (Lojban) 2022-02-11 05:48:20 +01:00
PrivateBin Translator Bot
8b0ab8ee49 New translations en.json (Lojban) 2022-02-11 01:30:42 +01:00
AckKid
49d0b35dc8
Create Procfile 2022-02-10 18:53:39 -05:00
PrivateBin Translator Bot
86da334e8f New translations en.json (Lojban) 2022-02-11 00:18:31 +01:00
PrivateBin Translator Bot
b21d5afa2d New translations en.json (Lojban) 2022-02-10 22:21:16 +01:00
PrivateBin Translator Bot
5b5f1e3aa5 New translations en.json (Lojban) 2022-02-10 21:23:20 +01:00
PrivateBin Translator Bot
34923addd7 New translations en.json (Lojban) 2022-02-10 20:16:16 +01:00
foxsouns - SEE ME @ GITLAB
15374f99ae
name change, little better 2022-02-10 10:33:11 -08:00
foxsouns - SEE ME @ GITLAB
1d6bcb1f57
Update jb.json 2022-02-10 09:48:16 -08:00
foxsouns - SEE ME @ GITLAB
77dd0b027f
roughly 2% of random lojban stuff 2022-02-10 00:30:14 -08:00
foxsouns - SEE ME @ GITLAB
902e7cf480
add lojban 2022-02-09 23:27:54 -08:00
foxsouns - SEE ME @ GITLAB
08d8922aad
change name to the more sensical "patxu" 2022-02-09 22:50:19 -08:00
foxsouns - SEE ME @ GITLAB
79abba5124
Update jb.json
baby steps
2022-02-09 22:44:22 -08:00
foxsouns - SEE ME @ GITLAB
cadfb09193
copy en.json into jb.json 2022-02-09 22:39:09 -08:00
foxsouns - SEE ME @ GITLAB
401cd32d07
add jb (lojban) into supported languages list 2022-02-09 22:30:53 -08:00
PrivateBin Translator Bot
f3b14225ba New translations en.json (Finnish) 2022-01-31 15:52:29 +01:00
PrivateBin Translator Bot
3b472fdd41 New translations en.json (Finnish) 2022-01-31 14:40:40 +01:00
PrivateBin Translator Bot
bb3af09c6c New translations en.json (Finnish) 2022-01-31 13:37:59 +01:00
PrivateBin Translator Bot
57b03d438e New translations en.json (Finnish) 2022-01-31 12:35:57 +01:00
PrivateBin Translator Bot
1a7ac272eb New translations en.json (Finnish) 2022-01-31 10:59:17 +01:00
PrivateBin Translator Bot
1b2b183d7f New translations en.json (Finnish) 2022-01-31 10:02:10 +01:00
github-actions[bot]
8812b09f5f Merge remote-tracking branch 'origin/master' into php8 2022-01-31 05:41:10 +00:00
El RIDO
1f872167c1
Merge branch 'austinhuang0131-master' 2022-01-31 06:40:13 +01:00
El RIDO
29ffd25c18
apply suggestion of @r4sas 2022-01-30 21:42:24 +01:00
PrivateBin Translator Bot
d43dfdefdf New translations en.json (Finnish) 2022-01-30 21:21:23 +01:00
El RIDO
1d20eee169
readability 2022-01-26 05:28:29 +01:00
El RIDO
53c0e4976b
document what the U type stands for 2022-01-26 05:26:47 +01:00
El RIDO
0333777a37
remove duplicate CLOB sanitation 2022-01-25 05:59:22 +01:00
El RIDO
f4438a0103
inserting CLOB absolutely requires a length argument
Co-authored-by: Austin Huang <im@austinhuang.me>
2022-01-24 21:44:20 +01:00
El RIDO
55db9426b9
Throws ORA-00942: table or view does not exist otherwise
Co-authored-by: Austin Huang <im@austinhuang.me>
2022-01-24 21:43:48 +01:00
El RIDO
535f038daa
handle LIMIT in oci
Co-authored-by: Austin Huang <im@austinhuang.me>
2022-01-24 21:43:31 +01:00
El RIDO
0c4852c099
this fixes the comment display issue
Co-authored-by: Austin Huang <im@austinhuang.me>
2022-01-24 21:40:10 +01:00
El RIDO
b8e8755fb1
Basically it wants a non-empty catch statement
Co-authored-by: Austin Huang <im@austinhuang.me>
2022-01-24 21:36:18 +01:00
El RIDO
0b6af67b99
removed obsolete comment 2022-01-24 17:50:24 +01:00
El RIDO
56c54dd880
prefer switch statements for complex logic, all comparing the same variable 2022-01-24 17:48:27 +01:00
El RIDO
a8e1c33b54
stick to single convention of binding parameters 2022-01-24 17:26:09 +01:00
El RIDO
0cc2b67753
bindValue doesn't need the length 2022-01-23 21:45:22 +01:00
El RIDO
4f051fe5a5
revert regression 2022-01-23 21:31:40 +01:00
El RIDO
8d63921924
workaround bug in OCI PDO driver 2022-01-23 21:24:28 +01:00
El RIDO
0be55e05bf
use quoted identifiers, tell MySQL to expect ANSI SQL 2022-01-23 20:59:02 +01:00
El RIDO
b133c2e233
sanitize both single rows and multiple ones 2022-01-23 07:32:28 +01:00
El RIDO
b54308a77e
don't mangle non-arrays 2022-01-23 07:19:35 +01:00
El RIDO
47deaeb7ca
use the correct function 2022-01-23 07:11:36 +01:00
El RIDO
83336b2949
documented changes for Postgres and Oracle 2022-01-23 07:11:06 +01:00
El RIDO
35ef64ff79
remove duplication, kudos @rugk 2022-01-22 22:11:49 +01:00
El RIDO
c725b4f0fe
handle 'IF NOT EXISTS' differently in OCI 2022-01-22 21:29:39 +01:00
El RIDO
585d5db983
apply StyleCI recommendation 2022-01-22 08:47:34 +01:00
El RIDO
2182cdd44f
generalize OCI handling of queries and results 2022-01-22 08:45:12 +01:00
Austin Huang
041ef7f7a5
Support OCI (Satisfy the CI) 2022-01-20 13:33:23 -05:00
Austin Huang
6a489d35ab
Support OCI (Create table) 2022-01-20 09:15:10 -05:00
Austin Huang
ee99952d90
Support OCI (Read/Write) 2022-01-17 20:06:26 -05:00
github-actions[bot]
f5d8d7735f Merge remote-tracking branch 'origin/master' into php8 2022-01-10 20:29:09 +00:00
El RIDO
4f09873f94
Merge branch 'crowdin-translation' 2022-01-10 21:28:26 +01:00
El RIDO
ca999b15ed
limit files of StyleCI scan 2022-01-10 21:26:28 +01:00
El RIDO
eef4f8be3f
exclude configuration files from StyleCI scan, causing 'Unterminated comment' false positive 2022-01-10 21:21:12 +01:00
El RIDO
ff19d052b7
disable StyleCI rule causing 'Unterminated comment' false positive 2022-01-10 21:11:59 +01:00
PrivateBin Translator Bot
e53090a937 New translations en.json (Catalan) 2022-01-06 18:06:35 +01:00
PrivateBin Translator Bot
74e1f18ae0 New translations en.json (Catalan) 2022-01-06 17:10:34 +01:00
PrivateBin Translator Bot
02fcc0ba53 New translations en.json (Catalan) 2022-01-06 13:18:29 +01:00
github-actions[bot]
3a801bc238 Merge remote-tracking branch 'origin/master' into php8 2021-10-30 15:26:05 +00:00
El RIDO
e36a94cfdd
Merge branch 'php8-ci-yetagain' 2021-10-30 17:23:23 +02:00
El RIDO
b80b318e38
spaces 2021-10-30 17:23:09 +02:00
rugk
1fff4bf4d7
Also set author for merge commit
Follow-up of 41898282+github-actions[bot]@users.noreply.github.com again

In contrast to your suggestion, @elrido, I did use GitHubs bot account again. The mails won't spam anyone, and it's actually intended for such stuff.
Also, we get a proper avatar on GitHub's commit messages etc., and of course we know it is actually GitHubs (servers) that do this change.
2021-10-30 16:53:42 +02:00
El RIDO
20d39347c6
Merge pull request #852 from PrivateBin/php8-cifix
Set GitHub Bot as author for PHP8 merge commits
2021-10-24 11:04:40 +02:00
rugk
aa6e2f7631
Set GitHub Bot as author for PHP8 merge commits 2021-10-23 15:04:54 +02:00
El RIDO
3666db3b9a
Merge pull request #850 from LMS235/patch-1
Update de.json
2021-10-20 12:40:26 +02:00
El RIDO
5ba8266eb8
Merge pull request #848 from PrivateBin/php8-cifix2
Fix PHP refresh pipeline merge
2021-10-14 12:40:37 +02:00
Florian
86c5dc9db9
Update de.json
Link is not translated as "Verknüpfung", that is a separate term.
2021-10-14 09:04:29 +02:00
rugk
af852927a9
Fix PHP refresh pipeline merge
See https://github.com/PrivateBin/PrivateBin/pull/847#issuecomment-942580850

Now merging the origin as master is not yet pulled.
2021-10-13 20:07:45 +02:00
El RIDO
0fb104b102
Merge pull request #847 from PrivateBin/patch-pipeline
Fix PHP8 pipeline
2021-10-13 19:33:06 +02:00
rugk
f6421c9c7c
Fix PHP8 pipeline
As per https://github.com/PrivateBin/PrivateBin/pull/843#issuecomment-939526915

Co-Authored-By: El RIDO <elrido@gmx.net>
2021-10-11 17:45:42 +02:00
El RIDO
2d1552a345
Merge pull request #846 from PrivateBin/crowdin-translation
New Crowdin updates
2021-10-08 20:14:46 +02:00
PrivateBin Translator Bot
8085604385 New translations en.json (Czech) 2021-10-08 19:40:15 +02:00
El RIDO
31cdfc7be6
Merge pull request #845 from PrivateBin/crowdin-translation
New Crowdin updates
2021-10-08 19:12:13 +02:00
PrivateBin Translator Bot
307443dac3 New translations en.json (Czech) 2021-10-08 18:28:00 +02:00
El RIDO
91462da29d
update composer 2021-10-07 22:39:57 +02:00
El RIDO
5c61a442a0
phpunit compatibility 2021-10-07 22:36:11 +02:00
El RIDO
9c81d85bb7
phpunit compatibility 2021-10-07 22:34:15 +02:00
El RIDO
168ce1d85c
phpunit compatibility 2021-10-07 22:25:51 +02:00
El RIDO
1f6b962468
phpunit compatibility 2021-10-07 22:24:30 +02:00
El RIDO
1f95f57be9
phpunit compatibility 2021-10-07 22:22:32 +02:00
El RIDO
a2e479192f
phpunit compatibility 2021-10-07 22:20:25 +02:00
El RIDO
3f469f715f
Merge branch 'master' into php8 2021-10-07 22:17:11 +02:00
El RIDO
c5fd6028b5
Merge pull request #843 from PrivateBin/php8-ci
Add CI for automatic PHP8 branch updates
2021-10-07 21:00:09 +02:00
rugk
c7cd450f9b
Remove useless boilerplate comments 2021-10-06 20:19:03 +02:00
rugk
a988be7431
Add CI for automatic PHP8 updates
Adds a simple CI for pushing the master branches changes to the php8 branch.

Useful/discussed for https://github.com/PrivateBin/PrivateBin/issues/707
2021-10-06 20:13:09 +02:00
El RIDO
981304848f
Merge pull request #840 from PrivateBin/ci-cache
Cache PHP modules, composer and NodeJS stuff in CI
2021-10-04 10:03:31 +02:00
El RIDO
51a590c3c7
Merge pull request #841 from PrivateBin/ci-problem-matchers
Setup CI problem matchers for PHP
2021-10-02 20:15:22 +02:00
rugk
f4e68fcc04
style: better YAML comments 2021-10-02 01:12:08 +02:00
rugk
f43a41c117
Update tests.yml 2021-10-02 01:07:57 +02:00
rugk
ab11fbeb47
Fix syntax error
Apparently in envs the OS etc. syntax is not supported, so we need to use it like this.
2021-10-02 01:01:24 +02:00
rugk
5f4fe52eab
Use package-json instead of package-lock.json
for cache
2021-10-02 00:56:44 +02:00
rugk
b80732f8e2
Add caching for NodeJS 2021-10-02 00:55:08 +02:00
rugk
a372ee92e9
Fix wrong cache key 2021-10-02 00:43:54 +02:00
rugk
e2ae0da4e1
Style cleanup adding newlines
Seems to be the unofficial GitHub Actions YAML style and arguably makes things a lot more readable if you have a lot of steps…
2021-10-02 00:41:54 +02:00
rugk
3f7bceb862
Also cache PHP extensions
See https://github.com/shivammathur/cache-extensions#workflow
2021-10-02 00:38:21 +02:00
rugk
507a10adc5
Use composer.json instead of composer.lock
In a cache
2021-10-02 00:32:57 +02:00
rugk
a8f7840d25
Only restore cache from current date then 2021-10-02 00:29:48 +02:00
rugk
3ba6483bf3
Try caching composer stuff
Especially the GCM stuff may be quite large, so caching may be a good idea.

I tried following https://github.com/shivammathur/setup-php#cache-composer-dependencies
2021-10-02 00:27:57 +02:00
El RIDO
fba8384ac3
Merge pull request #836 from PrivateBin/crowdin-translation
New Crowdin updates
2021-09-28 05:59:13 +02:00
PrivateBin Translator Bot
def58480b3 New translations en.json (Occitan) 2021-09-27 10:21:34 +02:00
El RIDO
cb5ba022ba
Merge pull request #832 from PrivateBin/crowdin-translation
New Crowdin updates
2021-09-04 09:09:00 +02:00
PrivateBin Translator Bot
c5c3a0e743 New translations en.json (Turkish) 2021-09-03 18:58:00 +02:00
PrivateBin Translator Bot
3c068cd6c3 New translations en.json (Turkish) 2021-09-03 17:57:02 +02:00
El RIDO
82f1431440
Merge branch 'conf-path-handling' 2021-08-19 19:33:19 +02:00
El RIDO
df2f5931cd
improve readability, kudos @rugk 2021-08-19 19:28:52 +02:00
El RIDO
ff3b668958
apply StyleCI recommendation 2021-08-19 11:04:31 +02:00
El RIDO
eb10d4d35e
be more flexible with configuration paths
1. only consider CONFIG_PATH environment variable, if non-empty
2. fall back to search in PATH (defined in index.php), if CONFIG_PATH doesn't contain a readable configuration file
2021-08-19 10:21:21 +02:00
El RIDO
18972ae0fa
luckily the PHP ini parser doesn't interpret this as an empty block, replacing the one defined above 2021-08-19 10:18:08 +02:00
El RIDO
e7fb9ac54c
Merge pull request #818 from PrivateBin/crowdin-translation
New Crowdin updates
2021-08-19 10:14:28 +02:00
El RIDO
08816a1d71
Merge pull request #823 from PrivateBin/release-clarify
Clarify download instruction from GitHub releases
2021-08-05 20:17:19 +02:00
rugk
ea663f7491
Clarify download instruction from GitHub releases
Fixes https://github.com/PrivateBin/PrivateBin/issues/822
2021-08-05 19:28:43 +02:00
PrivateBin Translator Bot
5f28acf629 New translations en.json (Lithuanian) 2021-07-08 22:59:50 +02:00
El RIDO
5f2daa5cd6
Merge branch 'persistence-into-data' 2021-06-20 08:17:41 +02:00
El RIDO
1fd998f325
address Scrutinizer issues 2021-06-16 05:57:26 +02:00
El RIDO
9c09018e6e
address Scrutinizer issues 2021-06-16 05:50:41 +02:00
El RIDO
be164bb6a9
apply StyleCI recommendation 2021-06-16 05:43:18 +02:00
El RIDO
fd08d991fe
log errors storing persistance 2021-06-16 05:32:45 +02:00
El RIDO
3d9ba10fcb
more consistent AbstractData implementation 2021-06-16 05:19:45 +02:00
El RIDO
ae1e4e3edb
clarify use of getDeleteToken() method in unit test 2021-06-16 04:39:24 +02:00
El RIDO
af54e70359
apply StyleCI recommendation 2021-06-14 06:48:46 +02:00
El RIDO
3327645fd4
updated doc blocks, comments, fixed indentations, moved some constant strings 2021-06-14 06:44:30 +02:00
El RIDO
b72994f2e0
Merge pull request #813 from binxio/persistence-into-data
removed json encoding from get/setValue
2021-06-14 05:58:40 +02:00
Mark van Holsteijn
b4c75b541b removed json encoding from get/setValue 2021-06-13 21:16:30 +02:00
El RIDO
9357f122b7
address Scrutinizer issues 2021-06-13 12:49:59 +02:00
El RIDO
d0248d55d3
address Scrutinizer issues 2021-06-13 12:43:18 +02:00
El RIDO
078c5785dd
fix unit tests on php < 7.3 2021-06-13 12:40:06 +02:00
El RIDO
68b097087d
apply StyleCI recommendation 2021-06-13 11:16:29 +02:00
El RIDO
fa4fe2852d
address Scrutinizer issues 2021-06-13 11:12:19 +02:00
El RIDO
bbcf57de0e
address Scrutinizer issues 2021-06-13 11:08:38 +02:00
El RIDO
f04043a399
address Scrutinizer issues 2021-06-13 11:02:53 +02:00
El RIDO
1f2dddd9d8
address Codacy issues 2021-06-13 10:53:01 +02:00
El RIDO
93135e0abf
improving code coverage 2021-06-13 10:44:26 +02:00
El RIDO
e294145a2b
ip-lib doesn't except on the matches interfaces 2021-06-13 08:26:05 +02:00
El RIDO
cc6fb1c0c3
Merge pull request #812 from binxio/persistence-into-data
improved implementation
2021-06-11 05:06:30 +02:00
Mark van Holsteijn
1b88eef356 improved implementation of GoogleStorageBucket 2021-06-10 21:39:15 +02:00
El RIDO
5af069b4f0
Merge pull request #810 from binxio/persistence-into-data
added purgeValues function
2021-06-10 08:22:10 +02:00
Mark van Holsteijn
1232717334 added purgeValues to GCS 2021-06-09 22:27:34 +02:00
El RIDO
7b2f0ff302
apply StyleCI recommendation 2021-06-09 19:16:22 +02:00
El RIDO
a203e6322b
implementing key/value store of Persistance in Database storage 2021-06-09 07:47:40 +02:00
El RIDO
7901ec74a7
folding Persistance\ServerSalt into Data\Filesystem 2021-06-08 22:01:29 +02:00
El RIDO
b5a6ce323e
folding Persistance\TrafficLimiter into Data\Filesystem 2021-06-08 07:49:22 +02:00
El RIDO
3429d293d3
remove configurable dir for traffic & purge limiters 2021-06-08 06:37:27 +02:00
El RIDO
ae486d651b
folding Persistance\PurgeLimiter into Data\Filesystem 2021-06-07 21:53:42 +02:00
El RIDO
f46221e7c3
Merge pull request #809 from binxio/persistence-into-data
simplest implementation of kv support on gcs
2021-06-07 12:36:01 +02:00
Mark van Holsteijn
55efc858b5 simplest implementation of kv support on gcs 2021-06-07 09:11:24 +02:00
El RIDO
7bdcc2ae15
conclude scaffolding of AbstractData key/value storage, missing implementation 2021-06-07 07:02:47 +02:00
El RIDO
1a7d0799c0
scaffolding interface for AbstractData key/value storage, folding Persistance\DataStore into Data\Filesystem 2021-06-07 06:53:15 +02:00
El RIDO
de8f40ac1a
kudos @StyleCI 2021-06-06 19:35:31 +02:00
El RIDO
c758eca0a4
removed automatic .ini configuration file migration, closes #808 2021-06-06 17:53:08 +02:00
El RIDO
9beb176874
these don't belong in a release 2021-06-06 17:52:10 +02:00
El RIDO
9b19a88bb9
Merge branch 'crowdin-translation' 2021-06-05 10:58:01 +02:00
El RIDO
d699c41e26
Merge branch 'master' into crowdin-translation 2021-06-05 10:57:47 +02:00
El RIDO
2bc54caa07
fix never matched condition, kudos @ShiftLeftSecurity, found via #807 2021-06-05 10:33:01 +02:00
El RIDO
a2ffbafa13
ensure npm's package.json version gets incremented 2021-06-05 09:43:01 +02:00
El RIDO
197c4a34e8
fix snyk 2021-06-05 08:25:19 +02:00
El RIDO
7a3a306ddc
fix snyk 2021-06-05 08:22:50 +02:00
El RIDO
cbdcaf4c30
fix snyk 2021-06-05 08:14:04 +02:00
El RIDO
f635881bd4
Merge branch 'snyk' 2021-06-05 08:10:29 +02:00
El RIDO
371dca1986
ensure the GCS library and dependencies get included in the scan 2021-06-05 08:10:12 +02:00
El RIDO
7311e9ce12
Merge branch 'master' into snyk 2021-06-05 08:06:48 +02:00
El RIDO
abb2b90e9b
make StyleCI happy 2021-06-05 05:52:13 +02:00
El RIDO
edb8e5e078
handle edge cases with file locking: file needs to exist before it can be locked, fixes #803 2021-06-05 05:48:17 +02:00
El RIDO
ffe48092fe
suppress error_log output of GoogleCloudStorage class in unit testing 2021-06-05 05:38:05 +02:00
rugk
79c0ad1670
Add Siftleft scan
It seems [to cover](https://slscan.io/en/latest/#supported-languages-frameworks) PHP including license check in addition to dependency scanning.
2021-06-05 00:21:48 +02:00
rugk
8bc97517fb
Add Snyk security scan for PHP
After I found https://github.com/PrivateBin/docker-nginx-fpm-alpine/pull/44 I saw they also support PHP, so let's do it here (one level before container packaging), too.
Also it complements the CodeQL analysis, which only covers the JS part.

I added the API token to the PrivateBIn org now.
2021-06-04 23:43:01 +02:00
PrivateBin Translator Bot
3df6b62d22 New translations en.json (Catalan) 2021-06-03 03:00:55 +02:00
El RIDO
93138cbbae
we already test this via the regular unit tests 2021-05-30 09:26:13 +02:00
El RIDO
fc5e380ccc
fix composer test on PHP 8 2021-05-30 09:18:56 +02:00
El RIDO
33587d54e4
fix composer test on PHP 8 2021-05-30 09:17:23 +02:00
El RIDO
d355bb87e3
documenting changes 2021-05-30 08:11:45 +02:00
El RIDO
52b9b257c3
Merge branch 'binxio-issue-794/add-gcs-support' 2021-05-30 08:04:42 +02:00
El RIDO
b939b64778
Merge branch 'issue-794/add-gcs-support' of https://github.com/binxio/PrivateBin into binxio-issue-794/add-gcs-support 2021-05-30 07:57:58 +02:00
PrivateBin Translator Bot
de4bada695 New translations en.json (Catalan) 2021-05-29 04:56:21 +02:00
PrivateBin Translator Bot
5c5ae967a8 New translations en.json (Catalan) 2021-05-29 03:56:04 +02:00
Mark van Holsteijn
342270d6dd added Google Cloud Storage support 2021-05-28 22:39:50 +02:00
El RIDO
dae093bbfa
import latest scrutinizer configuration from web backend 2021-05-24 11:40:34 +02:00
El RIDO
7de12d64d5
be more precise 2021-05-22 11:35:53 +02:00
El RIDO
b6460616ba
address Scrutinizer issues 2021-05-22 11:30:17 +02:00
El RIDO
7a1de52e05
Merge branch 'rodehoed-api-ip-exempt' 2021-05-22 11:03:40 +02:00
El RIDO
91c8f9f23c
use namespaces 2021-05-22 11:02:54 +02:00
El RIDO
84771d7167
documenting changes 2021-05-22 11:01:16 +02:00
El RIDO
3dd01b1f70
testing IP exemption, handle corner cases found in testing 2021-05-22 10:59:47 +02:00
El RIDO
89f6f0051d
imported mlocati/ip-lib version 1.14.0 2021-05-22 09:21:01 +02:00
El RIDO
194b27e685
Merge branch 'api-ip-exempt' of https://github.com/rodehoed/PrivateBin into rodehoed-api-ip-exempt 2021-05-22 08:39:53 +02:00
El RIDO
e32e3979a8
Merge branch 'crowdin-translation' 2021-05-22 08:39:01 +02:00
rodehoed
af5a14afc3 Optimized the canPass() functions 2021-05-19 09:01:45 +02:00
rodehoed
5812a6bb68 Optimized the canPass() functions 2021-05-19 08:47:35 +02:00
PrivateBin Translator Bot
f339c0b1c0 New translations en.json (Indonesian) 2021-05-09 14:11:14 +02:00
Rodehoed
502bb5fa15 Put the ip-matching function in a private function 2021-05-06 12:18:44 +02:00
Rodehoed
89bdc92451 Put the ip-matching function in a private function 2021-05-06 12:13:03 +02:00
LinQhost Managed hosting
63d6816c7c Merge branch 'api-ip-exempt' of https://github.com/rodehoed/PrivateBin into api-ip-exempt 2021-05-05 08:43:32 +02:00
PrivateBin Translator Bot
e572e9c79c New translations en.json (Turkish) 2021-05-04 20:48:34 +02:00
PrivateBin Translator Bot
2b0ebdb6c7 New translations en.json (Turkish) 2021-05-04 19:43:08 +02:00
El RIDO
3a06d5a745
Merge branch 'crowdin-translation' 2021-05-04 18:20:21 +02:00
PrivateBin Translator Bot
12aa325494 New translations en.json (Russian) 2021-05-04 13:39:44 +02:00
rodehoed
a806a6455e
QA 2021-05-04 11:20:24 +02:00
rodehoed
4296b43832
QA 2021-05-04 11:19:34 +02:00
rodehoed
c3ad4a4b4d
QA 2021-05-04 11:18:06 +02:00
rodehoed
805eb288d9
QA 2021-05-04 11:14:11 +02:00
rodehoed
b21efd8336
Code quality 2021-05-04 11:01:46 +02:00
LinQhost Managed hosting
7d82c82fd9 Make it possible to exempt ips from the rate-limiter 2021-05-04 10:29:25 +02:00
PrivateBin Translator Bot
3f92d4c038 New translations en.json (Indonesian) 2021-05-04 01:30:38 +02:00
PrivateBin Translator Bot
377d7d565b New translations en.json (Indonesian) 2021-05-04 00:29:57 +02:00
PrivateBin Translator Bot
e6def62581 New translations en.json (Chinese Simplified) 2021-05-03 17:39:47 +02:00
PrivateBin Translator Bot
17c1284ccf New translations en.json (Chinese Simplified) 2021-05-03 16:32:06 +02:00
PrivateBin Translator Bot
0a9cd05453 New translations en.json (Estonian) 2021-04-28 13:52:52 +02:00
El RIDO
2b8534d49e
Merge branch 'crowdin-translation' 2021-04-22 19:30:33 +02:00
El RIDO
472bf520d8
Merge branch 'master' into crowdin-translation 2021-04-22 19:30:13 +02:00
PrivateBin Translator Bot
4d3a2ae946 New translations en.json (Chinese Simplified) 2021-04-22 03:46:58 +02:00
PrivateBin Translator Bot
4c329be95f New translations en.json (Norwegian) 2021-04-20 18:54:09 +02:00
PrivateBin Translator Bot
b47b8cf050 New translations en.json (Russian) 2021-04-20 12:05:08 +02:00
PrivateBin Translator Bot
1b8351fef9 New translations en.json (Italian) 2021-04-18 22:00:38 +02:00
PrivateBin Translator Bot
d0c6ab224f New translations en.json (German) 2021-04-18 22:00:37 +02:00
PrivateBin Translator Bot
53e23b7422 New translations en.json (Spanish) 2021-04-18 22:00:36 +02:00
PrivateBin Translator Bot
010f9db274 New translations en.json (French) 2021-04-18 22:00:35 +02:00
El RIDO
c2c0980c57
Merge branch 'formAction' 2021-04-18 21:06:24 +02:00
El RIDO
fcb6422663
re-adding CSP directive sandbox allow-forms, it is needed for the password input form to work on the JS side 2021-04-18 21:05:32 +02:00
PrivateBin Translator Bot
993abd746e New translations en.json (Estonian) 2021-04-18 21:04:28 +02:00
PrivateBin Translator Bot
30228cc33c New translations en.json (French) 2021-04-18 21:04:27 +02:00
PrivateBin Translator Bot
14ff704b28 New translations en.json (Spanish) 2021-04-18 21:04:26 +02:00
PrivateBin Translator Bot
cd1b0e0a50 New translations en.json (Arabic) 2021-04-18 21:04:25 +02:00
PrivateBin Translator Bot
4a73afa057 New translations en.json (Bulgarian) 2021-04-18 21:04:24 +02:00
PrivateBin Translator Bot
63d20330b4 New translations en.json (Czech) 2021-04-18 21:04:23 +02:00
PrivateBin Translator Bot
982a4f957c New translations en.json (German) 2021-04-18 21:04:22 +02:00
PrivateBin Translator Bot
67fd327df4 New translations en.json (Greek) 2021-04-18 21:04:21 +02:00
PrivateBin Translator Bot
db0db4ebff New translations en.json (Hebrew) 2021-04-18 21:04:20 +02:00
PrivateBin Translator Bot
4514f1f3a4 New translations en.json (Hungarian) 2021-04-18 21:04:19 +02:00
PrivateBin Translator Bot
926fab30e9 New translations en.json (Italian) 2021-04-18 21:04:18 +02:00
PrivateBin Translator Bot
492cdc9926 New translations en.json (Japanese) 2021-04-18 21:04:17 +02:00
PrivateBin Translator Bot
6b5e7c1b49 New translations en.json (Kurdish) 2021-04-18 21:04:15 +02:00
PrivateBin Translator Bot
2bc7e8e38f New translations en.json (Catalan) 2021-04-18 21:04:14 +02:00
PrivateBin Translator Bot
48916d5df7 New translations en.json (Lithuanian) 2021-04-18 21:04:13 +02:00
PrivateBin Translator Bot
0887f567ab New translations en.json (Norwegian) 2021-04-18 21:04:12 +02:00
PrivateBin Translator Bot
3e4def2069 New translations en.json (Polish) 2021-04-18 21:04:11 +02:00
PrivateBin Translator Bot
39867d8151 New translations en.json (Portuguese) 2021-04-18 21:04:10 +02:00
PrivateBin Translator Bot
c7a86ebd5c New translations en.json (Russian) 2021-04-18 21:04:09 +02:00
PrivateBin Translator Bot
56d993ca82 New translations en.json (Slovenian) 2021-04-18 21:04:08 +02:00
PrivateBin Translator Bot
45b3ec4ac6 New translations en.json (Swedish) 2021-04-18 21:04:07 +02:00
PrivateBin Translator Bot
9bd04c55c9 New translations en.json (Turkish) 2021-04-18 21:04:06 +02:00
PrivateBin Translator Bot
dd4633ff8f New translations en.json (Ukrainian) 2021-04-18 21:04:05 +02:00
PrivateBin Translator Bot
c0207d00a2 New translations en.json (Chinese Simplified) 2021-04-18 21:04:04 +02:00
PrivateBin Translator Bot
bd83415c82 New translations en.json (Hindi) 2021-04-18 21:04:02 +02:00
PrivateBin Translator Bot
478f806e9c New translations en.json (Latin) 2021-04-18 21:04:01 +02:00
PrivateBin Translator Bot
db402baa14 New translations en.json (Occitan) 2021-04-18 21:04:00 +02:00
PrivateBin Translator Bot
dac5bd1d93 New translations en.json (Dutch) 2021-04-18 21:03:59 +02:00
PrivateBin Translator Bot
4b2f2920a2 New translations en.json (Indonesian) 2021-04-18 21:03:57 +02:00
El RIDO
83620d7eb5
Merge branch 'master' into formAction 2021-04-18 20:59:17 +02:00
El RIDO
de4abad748
Merge branch 'download-feature' 2021-04-18 20:55:59 +02:00
rugk
3ca01024fd
feat: disallow form submission alltogether
Following the tests and HTTP Observatory, I think we can disable forms altogether.

Fixes https://github.com/PrivateBin/PrivateBin/issues/778
2021-04-18 14:16:39 +02:00
rugk
5809a7cfa7
feat: add form-action CSP restriction
This follows a suggestion from HTTP Observatory:
> Restricts where <form> contents may be submitted by using form-action 'none', form-action 'self', or specific URIs

Fixes #778
2021-04-18 14:14:46 +02:00
El RIDO
0e78534e48
re-label "Download" button to "Save paste" 2021-04-18 09:07:57 +02:00
PrivateBin Translator Bot
b68ae363ec New translations en.json (Indonesian) 2021-04-18 01:03:48 +02:00
El RIDO
3181cfe58a
translate download button, add it to page template 2021-04-17 09:15:00 +02:00
El RIDO
bc11452259
make filename unique per paste ID 2021-04-17 09:08:11 +02:00
El RIDO
853a4f386f
fix indentation 2021-04-17 08:51:25 +02:00
El RIDO
9683c591bb
document change 2021-04-17 08:48:12 +02:00
El RIDO
47029fb04e
Merge branch 'master' into download-feature 2021-04-17 08:47:14 +02:00
El RIDO
735a77b783
Merge branch 'floc' 2021-04-17 08:39:50 +02:00
El RIDO
5f4200c721
document change 2021-04-17 08:39:35 +02:00
El RIDO
9b893f09d7
Merge branch 'master' into floc 2021-04-17 08:35:21 +02:00
El RIDO
3b9b6c948f
Merge branch 'cspBaseUrl' 2021-04-17 08:20:32 +02:00
El RIDO
7b7a32c0a7
apply StyleCI recommendation 2021-04-17 08:20:08 +02:00
rugk
fd7d05e862
Add base URL as default CSP restriction
This follows an [HTTP Observatory recommendation](https://observatory.mozilla.org/analyze/privatebin.net):
> Restricts use of the <base> tag by using base-uri 'none', base-uri 'self', or specific origins.

Given we don't use that anywhere, this safe should be safe. (not tested practically though)
2021-04-16 22:04:28 +02:00
El RIDO
8232dce395
Merge branch 'cookie-secure-flag' 2021-04-16 20:51:11 +02:00
El RIDO
6f3bb25b09
disable Google FloC 2021-04-16 20:25:50 +02:00
El RIDO
1dc8b24665
transmit cookie only over HTTPS, fixes #472 2021-04-16 20:15:12 +02:00
ed66351337
Added download feature (#5318). 2021-04-16 19:29:03 +02:00
El RIDO
9e6eb50ced
adding new security headers, fixes #765 2021-04-16 19:19:11 +02:00
El RIDO
d727837324
Merge branch 'crowdin-translation' 2021-04-16 18:27:45 +02:00
El RIDO
175d14224e
set plurals for and credit Estonian translation 2021-04-16 18:27:12 +02:00
El RIDO
51f1f67fe8
Merge branch 'master' into crowdin-translation 2021-04-16 18:00:42 +02:00
PrivateBin Translator Bot
ab250d8686 New translations en.json (Lithuanian) 2021-04-10 16:52:48 +02:00
PrivateBin Translator Bot
1ff8637c23 New translations en.json (Lithuanian) 2021-04-10 15:45:21 +02:00
PrivateBin Translator Bot
727166e945 New translations en.json (Estonian) 2021-04-08 23:05:35 +02:00
PrivateBin Translator Bot
e50f3eb311 New translations en.json (Estonian) 2021-04-08 22:00:09 +02:00
PrivateBin Translator Bot
f5fa37b5f2 New translations en.json (Estonian) 2021-04-08 20:55:45 +02:00
PrivateBin Translator Bot
587822838a New translations en.json (Chinese Simplified) 2021-04-07 09:18:03 +02:00
PrivateBin Translator Bot
553417194c New translations en.json (Estonian) 2021-04-06 20:07:13 +02:00
El RIDO
8a08a2167b
fix display of indonesian label in drop-down 2021-04-06 06:27:12 +02:00
El RIDO
d65bf02d78
upgraded kjua 2021-04-05 17:33:07 +02:00
El RIDO
30c8d97517
update PHP dependencies 2021-04-05 17:11:51 +02:00
El RIDO
65d8f896c7
fix make coverage-php 2021-04-05 17:05:46 +02:00
El RIDO
458ebcb321
incrementing version 2021-04-05 17:05:14 +02:00
El RIDO
ec022b2db9
documenting fix for #682 2021-04-05 13:51:23 +02:00
El RIDO
a369202c51
add missing expiration reset 2021-04-05 13:47:37 +02:00
El RIDO
77ee40909f
record defaults during initialization, fixes #682 2021-04-05 13:24:53 +02:00
El RIDO
5fd829aa09
adding unit tests for TopNav.resetInput(), triggering bug described in #682 2021-04-05 12:50:23 +02:00
El RIDO
8864523173
Merge pull request #766 from PrivateBin/codacy
Let's try Codacy code scanning again
2021-04-05 12:21:14 +02:00
El RIDO
44cc70ee35
Merge pull request #764 from FozzieHi/patch-1
Remove mention of HPKP in the README.
2021-04-05 12:15:31 +02:00
rugk
cdc970a434
Let's try Codacy code scanning again
It should now be included into GitHub's security tab.

Fixes https://github.com/PrivateBin/PrivateBin/issues/741
2021-04-04 13:29:41 +02:00
George
2ca479786c
Remove mention of HPKP in the README.
HPKP has been removed by all major browsers and according to Can I use it is only supported by browsers that have last received an update over a year ago - https://caniuse.com/?search=HPKP.
2021-04-04 12:05:48 +01:00
El RIDO
7ca33019d2
translate new message 2021-04-04 11:43:27 +02:00
El RIDO
99358bbffc
translate new message, kudos @Cellophile in #715 2021-04-04 11:41:14 +02:00
El RIDO
df126f89d6
add missing translation, fixes #715 2021-04-04 11:39:46 +02:00
El RIDO
a227443cb6
add missing indonesian language 2021-04-04 11:38:50 +02:00
El RIDO
3780db627d
update changelog 2021-04-03 08:28:36 +02:00
El RIDO
a40f3b2950
update DOMpurify to version 2.2.7 2021-04-03 07:04:59 +02:00
El RIDO
2e10bdbd22
update DOMpurify to version 2.2.7 2021-04-02 09:09:47 +02:00
El RIDO
4fcf7f31a1
Merge branch 'crowdin-translation' 2021-04-02 09:00:50 +02:00
El RIDO
da0896fe42
set plurals for and credit Catalan translation 2021-04-02 09:00:27 +02:00
PrivateBin Translator Bot
52d65abce7 New translations en.json (Catalan) 2021-03-27 14:30:25 +01:00
PrivateBin Translator Bot
f3fee65ba9 New translations en.json (Catalan) 2021-03-27 10:00:26 +01:00
PrivateBin Translator Bot
4a5f08074b New translations en.json (Indonesian) 2021-03-27 03:21:45 +01:00
El RIDO
5a9bcea3a9
set plurals for and credit Indonesian translation 2021-03-09 05:54:06 +01:00
PrivateBin Translator Bot
f71e62c07e
New translations en.json (Indonesian) 2021-03-09 05:45:44 +01:00
hogren
b55a0456af
Avoid the use of <i> markup in a translation. 2021-03-09 05:23:10 +01:00
El RIDO
066aa77ba1
Merge branch 'master' into crowdin-translation 2021-03-09 05:16:41 +01:00
El RIDO
b610368f12
Merge branch 'hogren-translation_i_markup3' 2021-03-07 20:04:03 +01:00
El RIDO
e6e985d92d
apply StyleCI 2021-03-07 19:56:19 +01:00
hogren
42e609e66f Avoid the use of <i> markup in a translation. 2021-03-06 14:12:59 +01:00
PrivateBin Translator Bot
16b7e8f8af New translations en.json (Indonesian) 2021-02-12 22:58:37 +01:00
PrivateBin Translator Bot
c24cc8859c New translations en.json (Indonesian) 2021-02-12 22:02:53 +01:00
PrivateBin Translator Bot
b2e65035d0 New translations en.json (Indonesian) 2021-02-05 04:47:58 +01:00
El RIDO
7006598d87
Merge pull request #742 from PrivateBin/codeql
Create codeql-analysis.yml
2021-01-26 19:09:19 +01:00
rugk
156155663d
Create codeql-analysis.yml
Only supports JS for now.

I've removed the build step, because welł… our JS is already "built".
2021-01-26 16:37:53 +01:00
El RIDO
b38ebc503e
plural rules and documenting newly added languages 2021-01-07 21:16:03 +01:00
El RIDO
ad4184dbe3
Merge pull request #712 from PrivateBin/crowdin-translation
New Crowdin updates
2021-01-07 20:37:46 +01:00
El RIDO
ec0236bd01
Merge pull request #729 from e1mo/feature/ansible-role
Add link to PrivateBin ansible role
2021-01-05 19:28:21 +01:00
El RIDO
c87c6c80af
Merge pull request #733 from techboyg5/revert-731-patch-1
Improve INSTALL.md
2021-01-05 19:21:43 +01:00
El RIDO
73e44e1aa8
workaround 2021-01-05 19:19:05 +01:00
El RIDO
2d6d0252cf
github switched to ubuntu 20.04 and it seems to default on php 8, which our current composer setup doesn't support 2021-01-05 19:16:22 +01:00
techboyg5
913d37a663
Update INSTALL.md 2021-01-05 09:39:51 -06:00
techboyg5
3248ee99e9
Update INSTALL.md 2021-01-05 09:39:15 -06:00
techboyg5
8f069a52d2
Sorry 2021-01-05 06:43:00 -06:00
techboyg5
e5f69cb497
Add PostgreSQL 2021-01-04 15:51:30 -06:00
techboyg5
5b736084e2
Update INSTALL.md 2021-01-04 14:57:25 -06:00
techboyg5
f6850a90e4
Spelling 2021-01-04 14:55:36 -06:00
techboyg5
e02816b1a4
Database 2021-01-04 14:52:44 -06:00
techboyg5
ca1cc52823
Revert "Add zlib extension to requirements" 2021-01-04 14:49:13 -06:00
El RIDO
1ddbcf79ac
Merge pull request #731 from Takios/patch-1
Add zlib extension to requirements
2021-01-04 21:10:14 +01:00
El RIDO
b79c9aa960
Merge pull request #732 from techboyg5/patch-1
Minimum PHP version is 5.6
2021-01-04 21:07:30 +01:00
techboyg5
dd60cc9c29
Minimum PHP version is 5.6 2021-01-04 11:29:05 -06:00
Takios
f30fc8b601
Add zlib extension to requirements 2021-01-03 23:36:07 +01:00
Moritz 'e1mo' Fromm
ed7daac55a
Apply suggestions from review
Co-authored-by: rugk <rugk+git@posteo.de>
2020-12-13 15:05:47 +01:00
Moritz 'e1mo' Fromm
556bbccb69
Add link to PrivateBin ansible role
This role simply deploys PrivateBin on your servers, it's functionality
is quite limited and currently does not support further hardening
techniques[^0]. But however, I think it is beneficial for quite a lot of
people.

[^0]: https://todo.sr.ht/~e1mo/ansible-role-privatebin/1
2020-12-13 14:44:23 +01:00
PrivateBin Translator Bot
b19c8d8403 New translations en.json (Lithuanian) 2020-12-12 14:18:14 +01:00
PrivateBin Translator Bot
84805c7e46 New translations en.json (Lithuanian) 2020-12-12 13:21:49 +01:00
PrivateBin Translator Bot
6b112c6b28 New translations en.json (Lithuanian) 2020-12-11 22:37:41 +01:00
PrivateBin Translator Bot
61b57ed519 New translations en.json (Lithuanian) 2020-12-11 21:29:31 +01:00
PrivateBin Translator Bot
a50124a7ab New translations en.json (Hebrew) 2020-12-03 13:25:52 +01:00
El RIDO
639bab1b0d
Merge pull request #723 from techboyg5/patch-1
Language dropdown menu to the right
2020-12-03 12:14:49 +01:00
PrivateBin Translator Bot
32353a70aa New translations en.json (Lithuanian) 2020-11-28 20:26:53 +01:00
PrivateBin Translator Bot
cb9048116e New translations en.json (Lithuanian) 2020-11-28 19:27:52 +01:00
PrivateBin Translator Bot
bf33f2928b New translations en.json (Lithuanian) 2020-11-28 18:27:13 +01:00
PrivateBin Translator Bot
100f85f7b6 New translations en.json (Lithuanian) 2020-11-26 06:27:42 +01:00
techboyg5
283561e34f
Language dropdown menu to the right 2020-11-22 15:13:43 -06:00
El RIDO
19c77f929c
Merge pull request #720 from goodboy-dy/patch-1
Create zh.json
2020-11-15 21:01:25 +01:00
dy
1da05948c7
Create zh.json
修改了一些语言不习惯的地方
2020-11-14 20:18:36 +08:00
PrivateBin Translator Bot
7381ddb5dc New translations en.json (Hebrew) 2020-10-14 07:28:01 +02:00
El RIDO
c7bff204f9
Merge branch 'patch-1' of https://github.com/Men770/PrivateBin into men770-patch 2020-10-14 07:16:45 +02:00
El RIDO
be90629bd7
Merge pull request #710 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-14 07:14:59 +02:00
PrivateBin Translator Bot
0949658545 New translations en.json (Norwegian) 2020-10-14 07:08:06 +02:00
Men770
300bd61c2e
Update he.json 2020-10-13 09:22:05 +03:00
El RIDO
0989c8c355
Merge branch 'cryptomilk-master-info' 2020-10-13 07:28:55 +02:00
El RIDO
bb6a44ce7a
remove double translation, avoid unsupported double quotes in INI file 2020-10-13 07:28:35 +02:00
El RIDO
f12986a277
Merge branch 'master-info' of https://github.com/cryptomilk/PrivateBin into cryptomilk-master-info 2020-10-13 06:46:26 +02:00
Andreas Schneider
eb32ea1419 Make it possible to change the info text
This makes it possible to change the last part of the info text and
replace it with something individual. E.g pointing to the cmdline
client.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2020-10-11 17:04:08 +02:00
El RIDO
09133f4f10
kudos StyleCI for spotting the unneccessary namespace 2020-10-11 11:39:36 +02:00
El RIDO
48cf1d581e
Merge pull request #705 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-11 11:36:45 +02:00
PrivateBin Translator Bot
7a2592ba50 New translations en.json (Occitan) 2020-10-11 11:31:19 +02:00
El RIDO
ec190fdcf6
phpunit 9 requires php >= 7.3 2020-10-11 10:34:03 +02:00
El RIDO
17c3cb35c0
change tests for phpunit 9 support, breaking support with phpunit 5.6 2020-10-11 10:31:24 +02:00
PrivateBin Translator Bot
7dc965d707 New translations en.json (Occitan) 2020-10-10 18:20:55 +02:00
El RIDO
37a620df95
return type void is required as of PHPunit 7, breaking test compatibility with PHP < 7.1 2020-10-10 12:22:20 +02:00
El RIDO
6f90df9545
updating tests by dropping PHPunit 4.6 support 2020-10-10 12:08:58 +02:00
El RIDO
99f50f6de3
update composer dependencies - test phpunit 9 2020-10-10 11:50:48 +02:00
El RIDO
50f81e1d2e
unlock PHP 8 for composer 2020-10-10 11:24:36 +02:00
El RIDO
4312f77385
experimentally enable PHP 8 beta unit testing 2020-10-10 11:21:53 +02:00
El RIDO
5d796fa306
Merge pull request #704 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-10 11:20:12 +02:00
PrivateBin Translator Bot
bea9119ec6 New translations en.json (Ukrainian) 2020-10-10 11:00:41 +02:00
PrivateBin Translator Bot
999ded510a New translations en.json (Greek) 2020-10-10 11:00:40 +02:00
PrivateBin Translator Bot
8d9819ef22 New translations en.json (Japanese) 2020-10-10 11:00:38 +02:00
PrivateBin Translator Bot
14709591c5 New translations en.json (Kurdish) 2020-10-10 11:00:36 +02:00
PrivateBin Translator Bot
6a49219a62 New translations en.json (Swedish) 2020-10-10 11:00:34 +02:00
PrivateBin Translator Bot
b31dad8687 New translations en.json (Turkish) 2020-10-10 11:00:33 +02:00
PrivateBin Translator Bot
97f953f5e8 New translations en.json (Hindi) 2020-10-10 11:00:31 +02:00
PrivateBin Translator Bot
e43a96b069 New translations en.json (Arabic) 2020-10-10 11:00:29 +02:00
PrivateBin Translator Bot
9557b26094 New translations en.json (Latin) 2020-10-10 11:00:28 +02:00
PrivateBin Translator Bot
089770e5ca New translations en.json (Hungarian) 2020-10-10 11:00:26 +02:00
PrivateBin Translator Bot
18992f00c2 New translations en.json (Portuguese) 2020-10-10 11:00:25 +02:00
PrivateBin Translator Bot
54b87351e1 New translations en.json (Dutch) 2020-10-10 11:00:23 +02:00
PrivateBin Translator Bot
7be40cdf90 New translations en.json (Occitan) 2020-10-10 11:00:21 +02:00
PrivateBin Translator Bot
766fc071fe New translations en.json (Polish) 2020-10-10 11:00:19 +02:00
PrivateBin Translator Bot
69cd0e776b New translations en.json (Slovenian) 2020-10-10 11:00:17 +02:00
PrivateBin Translator Bot
b450dd1d49 New translations en.json (Norwegian) 2020-10-10 11:00:16 +02:00
PrivateBin Translator Bot
f416529ebf New translations en.json (Italian) 2020-10-10 11:00:14 +02:00
PrivateBin Translator Bot
788290f55c New translations en.json (Hungarian) 2020-10-10 10:00:50 +02:00
PrivateBin Translator Bot
410997bd47 New translations en.json (Hebrew) 2020-10-10 10:00:49 +02:00
PrivateBin Translator Bot
4f731c3b55 New translations en.json (Chinese Simplified) 2020-10-09 18:53:54 +02:00
PrivateBin Translator Bot
fd88f045e8 New translations en.json (Russian) 2020-10-09 15:50:16 +02:00
PrivateBin Translator Bot
728842d1d0 New translations en.json (Occitan) 2020-10-09 12:01:20 +02:00
PrivateBin Translator Bot
6a468b0809 New translations en.json (Chinese Simplified) 2020-10-09 08:15:46 +02:00
PrivateBin Translator Bot
243d04c2db New translations en.json (Czech) 2020-10-09 08:15:44 +02:00
PrivateBin Translator Bot
587f5ef9a7 New translations en.json (Spanish) 2020-10-09 08:15:42 +02:00
PrivateBin Translator Bot
366a8a5279 New translations en.json (German) 2020-10-09 08:15:40 +02:00
PrivateBin Translator Bot
aea485b8df New translations en.json (French) 2020-10-09 08:15:39 +02:00
PrivateBin Translator Bot
67a59def91 New translations en.json (Bulgarian) 2020-10-09 07:06:27 +02:00
El RIDO
a8b080de6e
Merge pull request #703 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-08 19:09:09 +02:00
PrivateBin Translator Bot
46ea5b196b New translations en.json (Ukrainian) 2020-10-08 18:53:43 +02:00
PrivateBin Translator Bot
ae00d3117a New translations en.json (Italian) 2020-10-08 18:53:42 +02:00
PrivateBin Translator Bot
3adf8dc5d7 New translations en.json (Arabic) 2020-10-08 18:53:40 +02:00
PrivateBin Translator Bot
e1ed668cc0 New translations en.json (Greek) 2020-10-08 18:53:38 +02:00
PrivateBin Translator Bot
8923436c46 New translations en.json (Hebrew) 2020-10-08 18:53:37 +02:00
PrivateBin Translator Bot
a304049b7a New translations en.json (Japanese) 2020-10-08 18:53:35 +02:00
PrivateBin Translator Bot
c4e4237e8a New translations en.json (Kurdish) 2020-10-08 18:53:34 +02:00
PrivateBin Translator Bot
2192f69f7e New translations en.json (Swedish) 2020-10-08 18:53:32 +02:00
PrivateBin Translator Bot
5a9858de21 New translations en.json (Turkish) 2020-10-08 18:53:30 +02:00
PrivateBin Translator Bot
4d9a25a7d9 New translations en.json (Hindi) 2020-10-08 18:53:29 +02:00
PrivateBin Translator Bot
1017b0746c New translations en.json (Latin) 2020-10-08 18:53:27 +02:00
PrivateBin Translator Bot
46b1afd430 New translations en.json (German) 2020-10-08 18:53:26 +02:00
PrivateBin Translator Bot
885adbaead New translations en.json (Norwegian) 2020-10-08 18:53:24 +02:00
PrivateBin Translator Bot
3a68788611 New translations en.json (Spanish) 2020-10-08 18:53:23 +02:00
PrivateBin Translator Bot
6945115be6 New translations en.json (Portuguese) 2020-10-08 18:53:21 +02:00
PrivateBin Translator Bot
7c9f22350d New translations en.json (Czech) 2020-10-08 18:53:20 +02:00
PrivateBin Translator Bot
bedc8b35dc New translations en.json (Dutch) 2020-10-08 18:53:18 +02:00
PrivateBin Translator Bot
92669b3d37 New translations en.json (Russian) 2020-10-08 18:53:16 +02:00
PrivateBin Translator Bot
8ebc91ce31 New translations en.json (Chinese Simplified) 2020-10-08 18:53:15 +02:00
PrivateBin Translator Bot
63d5181602 New translations en.json (Occitan) 2020-10-08 18:53:13 +02:00
PrivateBin Translator Bot
74e902729c New translations en.json (Bulgarian) 2020-10-08 18:53:11 +02:00
PrivateBin Translator Bot
dc90d91d7c New translations en.json (Polish) 2020-10-08 18:53:09 +02:00
PrivateBin Translator Bot
1ddc7a7634 New translations en.json (Slovenian) 2020-10-08 18:53:07 +02:00
PrivateBin Translator Bot
bf5995ef74 New translations en.json (Hungarian) 2020-10-08 18:53:06 +02:00
PrivateBin Translator Bot
f18300c600 New translations en.json (French) 2020-10-08 18:53:04 +02:00
El RIDO
2b9a61d234
Merge pull request #700 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-08 18:47:18 +02:00
El RIDO
ad10970385
Merge pull request #701 from r4sas/i18n-update
[i18n] Update en strings
2020-10-08 18:42:17 +02:00
PrivateBin Translator Bot
b49d272d0c New translations en.json (Russian) 2020-10-07 13:23:35 +02:00
R4SAS
d8e9ffb7a2
[i18n] Update en strings
Add plurals for `Please wait %d seconds between each post` and fix translable strings in `This document will expire in` message (add dot at end).
2020-10-07 14:16:09 +03:00
PrivateBin Translator Bot
913d2f1f01 New translations en.json (Russian) 2020-10-07 12:25:23 +02:00
PrivateBin Translator Bot
7faba38844 New translations en.json (Occitan) 2020-10-06 22:00:18 +02:00
PrivateBin Translator Bot
0db182edcf New translations en.json (Hungarian) 2020-10-06 15:59:33 +02:00
PrivateBin Translator Bot
83c3c5ce12 New translations en.json (Hungarian) 2020-10-06 13:57:50 +02:00
PrivateBin Translator Bot
a373f94c93 New translations en.json (Russian) 2020-10-06 07:35:04 +02:00
PrivateBin Translator Bot
ef21d85fd6 New translations en.json (Dutch) 2020-10-06 07:35:03 +02:00
PrivateBin Translator Bot
287170b26a New translations en.json (Hebrew) 2020-10-06 06:34:53 +02:00
PrivateBin Translator Bot
5457196f72 New translations en.json (Portuguese) 2020-10-06 05:12:20 +02:00
PrivateBin Translator Bot
d7452b6538 New translations en.json (Portuguese) 2020-10-06 04:09:47 +02:00
PrivateBin Translator Bot
996c3b87e1 New translations en.json (Spanish) 2020-10-05 21:18:26 +02:00
PrivateBin Translator Bot
98c7974853 New translations en.json (Hebrew) 2020-10-05 21:18:24 +02:00
PrivateBin Translator Bot
c71b049124 New translations en.json (Spanish) 2020-10-05 20:18:40 +02:00
PrivateBin Translator Bot
e34e6428b6 New translations en.json (Hungarian) 2020-10-05 16:34:44 +02:00
PrivateBin Translator Bot
2708f4e9a8 New translations en.json (Norwegian) 2020-10-05 16:34:42 +02:00
PrivateBin Translator Bot
428374d432 New translations en.json (Hungarian) 2020-10-05 15:38:10 +02:00
El RIDO
343738299c
Merge pull request #699 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-05 12:50:33 +02:00
PrivateBin Translator Bot
3a58fa902b New translations en.json (Norwegian) 2020-10-05 00:26:31 +02:00
PrivateBin Translator Bot
bd8dd77ce3 New translations en.json (Norwegian) 2020-10-04 23:21:47 +02:00
PrivateBin Translator Bot
96fc118507 New translations en.json (Italian) 2020-10-04 20:01:42 +02:00
PrivateBin Translator Bot
dd120b2209 New translations en.json (Latin) 2020-10-04 19:01:35 +02:00
PrivateBin Translator Bot
f819784eea New translations en.json (Hindi) 2020-10-04 19:01:33 +02:00
PrivateBin Translator Bot
91541ddb91 New translations en.json (Turkish) 2020-10-04 19:01:32 +02:00
PrivateBin Translator Bot
b1ffe38518 New translations en.json (Swedish) 2020-10-04 19:01:31 +02:00
PrivateBin Translator Bot
5b3702ac5f New translations en.json (Kurdish) 2020-10-04 19:01:29 +02:00
PrivateBin Translator Bot
2f0bfd1432 New translations en.json (Japanese) 2020-10-04 19:01:28 +02:00
PrivateBin Translator Bot
e0eeed00d9 New translations en.json (Hebrew) 2020-10-04 19:01:27 +02:00
PrivateBin Translator Bot
530dbf4a51 New translations en.json (Greek) 2020-10-04 19:01:25 +02:00
PrivateBin Translator Bot
5a8747e2f9 New translations en.json (Arabic) 2020-10-04 19:01:24 +02:00
El RIDO
f0fa288c75
Merge pull request #697 from PrivateBin/crowdin-translation
New Crowdin updates
2020-10-04 18:17:25 +02:00
PrivateBin Translator Bot
e25243ed8a New translations en.json (Italian) 2020-10-04 18:05:54 +02:00
PrivateBin Translator Bot
7060c0795c New translations en.json (German) 2020-10-04 18:05:53 +02:00
PrivateBin Translator Bot
14e070e44a New translations en.json (French) 2020-10-04 18:05:51 +02:00
El RIDO
02278c73ce
Merge branch 'i18n' 2020-10-04 14:23:41 +02:00
El RIDO
2575656831
Merge branch 'master' into i18n 2020-10-04 14:23:25 +02:00
El RIDO
5ec72f1d89
address false positive jsverify RngState 080d2f5b13a86e97c4 2020-10-04 14:08:27 +02:00
El RIDO
2e4595c1ec New translations en.json (Occitan) 2020-10-04 13:52:45 +02:00
El RIDO
291fdb306d New translations en.json (Chinese Simplified) 2020-10-04 13:52:43 +02:00
El RIDO
0d492805b3 New translations en.json (Ukrainian) 2020-10-04 13:52:41 +02:00
El RIDO
ba10c80ab1 New translations en.json (Slovenian) 2020-10-04 13:52:40 +02:00
El RIDO
d89601d505 New translations en.json (Russian) 2020-10-04 13:52:38 +02:00
El RIDO
cc11ef6d7a New translations en.json (Portuguese) 2020-10-04 13:52:37 +02:00
El RIDO
a2e9a94b58 New translations en.json (Polish) 2020-10-04 13:52:35 +02:00
El RIDO
8b7ae28830 New translations en.json (Norwegian) 2020-10-04 13:52:33 +02:00
El RIDO
c0567dd005 New translations en.json (Dutch) 2020-10-04 13:52:31 +02:00
El RIDO
7becdd26f1 New translations en.json (Italian) 2020-10-04 13:52:30 +02:00
El RIDO
8962c86d29 New translations en.json (Hungarian) 2020-10-04 13:52:28 +02:00
El RIDO
d4e440c1a2 New translations en.json (German) 2020-10-04 13:52:26 +02:00
El RIDO
6546210da8 New translations en.json (Czech) 2020-10-04 13:52:25 +02:00
El RIDO
5d418be054 New translations en.json (Bulgarian) 2020-10-04 13:52:23 +02:00
El RIDO
f2fb92eedc New translations en.json (Spanish) 2020-10-04 13:52:21 +02:00
El RIDO
f4c7807181 New translations en.json (French) 2020-10-04 13:52:20 +02:00
El RIDO
4a04915269 New translations en.json (Occitan) 2020-10-04 13:48:08 +02:00
El RIDO
a518b7c2ca New translations en.json (Chinese Simplified) 2020-10-04 13:48:06 +02:00
El RIDO
48faf7b2f0 New translations en.json (Ukrainian) 2020-10-04 13:48:04 +02:00
El RIDO
350cc21f42 New translations en.json (Slovenian) 2020-10-04 13:48:03 +02:00
El RIDO
ccbb24fdf1 New translations en.json (Russian) 2020-10-04 13:48:01 +02:00
El RIDO
8bbf568d43 New translations en.json (Portuguese) 2020-10-04 13:48:00 +02:00
El RIDO
6b2801f7de New translations en.json (Polish) 2020-10-04 13:47:58 +02:00
El RIDO
50881ff172 New translations en.json (Norwegian) 2020-10-04 13:47:57 +02:00
El RIDO
4e4c36a6c4 New translations en.json (Dutch) 2020-10-04 13:47:55 +02:00
El RIDO
1d36fa2c21 New translations en.json (Italian) 2020-10-04 13:47:53 +02:00
El RIDO
21435d0111 New translations en.json (Hungarian) 2020-10-04 13:47:52 +02:00
El RIDO
669430aa10 New translations en.json (German) 2020-10-04 13:47:50 +02:00
El RIDO
566f8f1b1d New translations en.json (Czech) 2020-10-04 13:47:49 +02:00
El RIDO
9365f88a31 New translations en.json (Bulgarian) 2020-10-04 13:47:48 +02:00
El RIDO
40172b8500 New translations en.json (Spanish) 2020-10-04 13:47:46 +02:00
El RIDO
ea53546799 New translations en.json (French) 2020-10-04 13:47:45 +02:00
El RIDO
91062a28e3
Merge branch 'master' of github.com:PrivateBin/PrivateBin 2020-10-04 13:45:00 +02:00
El RIDO
9b35a4da70
add all possible plural forms to English template for Crowdin translation - will need to expand this, if we gain support for a language with more then 3 plural forms 2020-10-04 13:44:41 +02:00
El RIDO
5d379e6534
apply jq formatting to all translations for reduced noise during Crowdin translations 2020-10-04 13:32:49 +02:00
El RIDO
13b5c66e6d Update Crowdin configuration file 2020-10-04 12:41:27 +02:00
El RIDO
3668f1e3f4
attempt to accomodate Crowdin by providing a single source translation file that is not actually used or loaded by our code 2020-10-04 12:39:35 +02:00
El RIDO
417b17f86d
didn't figure out which StyleCI change suddenly requires this, so just apply the patch to stop it nagging about it 2020-10-04 12:16:42 +02:00
El RIDO
3ef741b27b Update Crowdin configuration file 2020-10-04 10:41:00 +02:00
El RIDO
565063d839 Update Crowdin configuration file 2020-10-04 10:29:13 +02:00
El RIDO
646a2348db
Merge pull request #691 from Ahuahuachi/master
Update spanish translation
2020-10-04 10:16:08 +02:00
Alfredo Altamirano
7f1d03df55 Update spanish translation 2020-10-03 17:37:22 -05:00
El RIDO
397442913b Update Crowdin configuration file 2020-10-01 21:01:39 +02:00
El RIDO
f9ed831092 Update Crowdin configuration file 2020-10-01 20:09:22 +02:00
El RIDO
633ec4b199
Merge branch 'master' of github.com:PrivateBin/PrivateBin 2020-08-30 08:35:07 +02:00
El RIDO
1614342248
update DOMpurify to version 2.0.14 2020-08-30 08:34:38 +02:00
El RIDO
298cbebca3
Merge pull request #671 from SuperSandro2000/patch-1
Fix grammar
2020-07-23 09:35:09 +02:00
Sandro
9f7b60a402
Fix grammar 2020-07-22 10:40:14 +02:00
El RIDO
b30f3a9b58
Merge pull request #669 from imtms/master
Update zh.json
2020-07-17 20:39:55 +02:00
TMs
7637d69e1b
Update zh.json 2020-07-17 14:34:25 +08:00
El RIDO
33bcce593a
Merge pull request #666 from r4sas/i18n-ru
i18n: update russian translation
2020-07-05 20:06:36 +02:00
r4sas
3cd346c7de
i18n: fix typos in ru
Signed-off-by: r4sas <r4sas@i2pmail.org>
2020-07-04 11:22:02 +00:00
r4sas
cbd3c75dd2
i18n: update russian translation
Signed-off-by: r4sas <r4sas@i2pmail.org>
2020-07-04 10:57:16 +00:00
El RIDO
9f7db595a7
Merge branch 'ZerooCool-master' 2020-07-03 21:01:01 +02:00
El RIDO
4204e4b8b7
make StyleCI happy and change unit test to use a string 2020-07-03 21:00:42 +02:00
ZerooCool
e61c44ef46 Make Opengraph really functional
Make Opengraph really functional

Change : #664 for #651
2020-07-01 19:47:12 +02:00
ZerooCool
13c2f8d968 Make Opengraph really functional
3 URLs of images used on social networks are passed in absolute URL.

Note that I did not pass all the images in absolute URLs, but, it could be consistent to do so, but, if the images work, maybe a relative call is more efficient?

Remove the version of PrivateBin, at the end of each image. This apparently prevents the opengraph from working, and, so I deleted on all of the images, to remain consistent at this level. This will make fewer requests, and, anyway, the images are not intended to change with each version.
2020-06-30 22:42:12 +02:00
El RIDO
0673c1cde1
fix display of empty files #663 2020-06-30 20:10:56 +02:00
El RIDO
e35a26c916
Merge branch 'ZerooCool-master' 2020-06-22 20:42:19 +02:00
ZerooCool
b555f679f6 Up fr.json
"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."
2020-06-22 19:08:00 +02:00
El RIDO
45a0535640
adding new flag to sandbox policy, introduced and required by Chrome 83 - fixes #634 2020-06-11 18:29:32 +02:00
El RIDO
cb0faf690c
DOMpurify strips line tabulation characters (\u000b), adresses jsverifyRngState 8f6fbd749c3852ea01 2020-06-07 07:58:07 +02:00
El RIDO
8fcc321eb6
adjust unit tests to new link format 2020-06-07 07:47:28 +02:00
El RIDO
5450a431cf
Merge branch 'Haocen-625-bugfixes' 2020-06-07 07:38:59 +02:00
Haocen Xu
f1d4792d3e
Update SRI 2020-06-02 09:06:12 -04:00
Haocen Xu
65011019b7
Fix urls2links unit test 2020-06-02 09:03:33 -04:00
El RIDO
dfed1a4b45
switching webcrypto library to native node crypto implementation (requires node>=10) 2020-06-01 08:07:25 +02:00
unknown
9b138fd5fd
Update SRI 2020-06-01 02:35:06 +08:00
unknown
903ea5ea68
Open all links in new window 2020-06-01 02:33:22 +08:00
El RIDO
7794915172
expose permission exceptions to the API 2020-05-31 16:33:25 +02:00
El RIDO
df408c1e82
remove code climate dependency, since I couldn't get it to work on github actions 2020-05-31 16:11:24 +02:00
El RIDO
fbefe47806
avoid the buggy windows environment 2020-05-31 15:53:57 +02:00
El RIDO
bd7ecb9c55
develop doesn't install curl extension by default 2020-05-31 15:43:59 +02:00
El RIDO
2a04ee385d
develop doesn't install DOM extension by default 2020-05-31 15:41:30 +02:00
El RIDO
3268464ada
might only be fixed in development branch 2020-05-31 15:36:13 +02:00
El RIDO
09a2c5c3b9
attempting to fix windows unit tests 2020-05-31 15:30:30 +02:00
El RIDO
51a867bc20
removing outdated configurations and fix path of phpunit 2020-05-31 15:24:10 +02:00
El RIDO
a1bac9b6e1
remove composer lock, to avoid installing incompatible dependencies 2020-05-31 15:10:30 +02:00
El RIDO
268730e07b
remove unmaintained and incompatible codacy module 2020-05-31 15:07:17 +02:00
El RIDO
120ba0b8ca
avoid packaged phpunit version that is incompatible with older PHP releases 2020-05-31 14:45:25 +02:00
El RIDO
bd26972a73
actually run tests and set proper working directories 2020-05-31 14:42:11 +02:00
El RIDO
7cef87e856
migrating TravisCI tests to GitHub actions 2020-05-31 14:36:09 +02:00
Haocen Xu
420f0d6634
Update SRI 2020-05-30 06:22:35 -04:00
Haocen Xu
dd98af0775
Avoid recreation of existing pasteurl element when calling URL shortener 2020-05-30 06:07:47 -04:00
Haocen Xu
5f0011b0f6
Sanitize output from Helper.urls2links 2020-05-30 06:05:20 -04:00
Haocen Xu
25a39148a8
Change order of execution to detect delete token properly 2020-05-30 06:00:17 -04:00
Haocen Xu
e298c3d10c
Reload page when back button in browser pressed, avoid reading burn
after read paste from cache
2020-05-30 05:57:27 -04:00
Haocen Xu
afcece17dd
Fix broken Helper.durationToSeconds, as it doesn't handle weeks 2020-05-30 05:55:41 -04:00
Haocen Xu
74551f58d7
Avoid DOMPurify mess with forward slash in expirationDateString 2020-05-30 05:52:15 -04:00
Haocen Xu
4984194c33
Avoid dropzone appearing when it should not by fixing
TopNav.isAttachmentReadonly logic
2020-05-30 05:48:15 -04:00
Haocen Xu
d6b06269a4
Fix Editor.hide typo 2020-05-30 05:47:33 -04:00
Haocen Xu
7eb96eb3cb
Avoid handling clipboard data item if it is not file type 2020-05-30 05:39:46 -04:00
Haocen Xu
bb9a5772bc
Add resource: to script-src cspheader to allowed rendering of pdf in
Firefox
2020-05-30 05:37:35 -04:00
Steven Andrés
3f75c81a2f
fixed duplicated getKey() 2020-05-08 12:18:20 -07:00
Steven Andrés
effe6ad3e5
fixed spacing to please StyleCI 2020-05-08 11:37:21 -07:00
Steven Andrés
8fbdb69d8a
added check for null whitelist 2020-05-08 11:36:19 -07:00
Steven Andrés
b8594c174a
whitelist_paste_creation description 2020-05-07 16:48:17 -07:00
Steven Andrés
d847e2fcf2
alignment 2020-05-07 16:46:31 -07:00
Steven Andrés
c152f85b50
removed $remoteip that the audit didn't like 2020-05-07 16:45:24 -07:00
Steven Andrés
819d25a74c
change to whitelist_paste_creation 2020-05-07 16:13:25 -07:00
Steven Andrés
cea96ee12a
Update cfg/conf.sample.php
Co-authored-by: rugk <rugk+git@posteo.de>
2020-05-07 15:55:09 -07:00
Steven Andrés
ef9780707a
Update lib/Controller.php
Co-authored-by: rugk <rugk+git@posteo.de>
2020-05-07 15:54:13 -07:00
Steven Andrés
9ca041fa06
Update lib/Controller.php
Co-authored-by: rugk <rugk+git@posteo.de>
2020-05-07 15:53:56 -07:00
Steven Andrés
9327c9b58b
added whitelist check 2020-05-05 14:18:52 -07:00
Steven Andrés
5644001c53
added "whitelist" under [traffic] 2020-05-05 14:17:15 -07:00
Steven Andrés
91f78ecd0f
added "whitelist" under [traffic] 2020-05-05 14:16:22 -07:00
El RIDO
e59ef24d35
Merge pull request #618 from idarlund/patch-6
Update no.json
2020-05-04 19:18:30 +02:00
Idar Lund
8c6c10cd0f
Update no.json 2020-05-04 10:34:52 +02:00
El RIDO
958d55a8be
Merge pull request #615 from Mejans/patch-1
i18n update Occitan language
2020-04-26 13:12:00 +02:00
Mejans
57766496e4
Update oc.json 2020-04-25 12:37:24 +02:00
El RIDO
75fc6b0c8c
Merge branch 'resetOnNew' 2020-04-24 07:05:05 +02:00
rugk
38a1726e22
Regenerate SRI 2020-04-23 12:07:38 +02:00
rugk
d3ba7eeb13
Reset checkboxes on new paste 2020-04-23 12:07:08 +02:00
rugk
5ece4d2632
Reset attachment when clicking new paste 2020-04-23 11:25:24 +02:00
El RIDO
fc1be18cbe
Makefile should not become part of the release 2020-04-08 17:53:56 +02:00
El RIDO
878f13a643
adding an example to opt-out of the privatebin directory 2020-04-08 05:35:38 +02:00
El RIDO
b5ab38e657
adding a Makefile to simplify release related tasks as well as unit testing 2020-04-02 07:47:29 +02:00
rugk
fb66e2392b
Merge branch 'metadatafix' 2020-03-27 13:52:13 +01:00
El RIDO
7e77b94158
revert the revert caused by the merge of master 2020-03-23 18:58:26 +01:00
El RIDO
2f9f6d90dd
Merge branch 'master' into metadatafix 2020-03-23 18:48:48 +01:00
El RIDO
c63dc3df7b
increase timeout for nyc JS code coverage generator 2020-03-22 06:56:18 +01:00
El RIDO
9914c37683
incrementing version 2020-03-22 06:44:04 +01:00
El RIDO
1439bb291f
allow pasting password on paste with attachment - big kudos @rugk for finding it! - fixes #565, fixes #595 2020-03-21 16:53:55 +01:00
El RIDO
0907ee90e3
documenting change 2020-03-21 16:07:11 +01:00
El RIDO
7abfe56910
Merge branch 'preview-encoding' 2020-03-21 15:59:25 +01:00
rugk
0cc0830421
Handle review comments
Add translation strings
and remove/adjust wrong tags
2020-03-10 09:05:44 +01:00
El RIDO
71c76adac4
addressing false positive jsverify rngState 077c06da821594b3fe 2020-03-06 23:00:48 +01:00
rugk
7cb830e22f
It includes a change in the RegEx for URLs because that was broken when a
& character later followed at any time after a link (even after a newline).
(with a negative lookahead)

Test with https://regex101.com/r/i7bZ73/1

Now the RegEx does not check for _all_ chars after a link, but just for the
one following the link.
(So the lookahead is not * anymore. I guess thsi behaviour was
the expectation when it has been implemented.)
2020-03-06 22:37:12 +01:00
El RIDO
c334d2d00d
Merge branch 'master' into preview-encoding 2020-03-06 22:23:40 +01:00
El RIDO
c11dc8e17e
reverting Helper.urls2links() method to old style, applied to element instead of string, allows inserting plain text as text node 2020-03-06 22:18:38 +01:00
El RIDO
8a6dcf910a
Revert "in Helper.urls2links(), encode HTML entities, find and insert links, partially decoding only the href property of it"
This reverts commit 5340f417e0.
2020-03-06 20:57:15 +01:00
El RIDO
33bb0c6bd6
trying to recreate former StyleCI behaviour in changed preset 2020-03-06 20:50:19 +01:00
El RIDO
0564c0e62e
fixing 'The provided fixer 'method_argument_space' cannot be disabled unless it was already enabled by your preset.' 2020-03-06 20:46:51 +01:00
rugk
b52e78d173 Add OpenGraph and Twitter cards
Just useless templates/defaults without any content.

Fixes https://github.com/PrivateBin/PrivateBin/issues/139
2020-03-04 15:10:31 +01:00
El RIDO
f05e5c2e29
documenting change 2020-03-01 16:14:19 +01:00
El RIDO
879a2a9255
tweaking German translation for email strings 2020-03-01 08:55:24 +01:00
El RIDO
f391773c65
generalize date string handling, replacing hardcoded lookups, fixes #586 2020-03-01 08:54:48 +01:00
El RIDO
5340f417e0
in Helper.urls2links(), encode HTML entities, find and insert links, partially decoding only the href property of it 2020-02-29 09:37:54 +01:00
El RIDO
d2e9e47b67
refactor switch into nested if/else, to improve readability - no functional change 2020-02-29 08:45:56 +01:00
El RIDO
b0800060c2
fix change log 2020-02-16 13:33:48 +01:00
El RIDO
15f66870d1
Merge branch 'php7.4-ci' 2020-02-16 13:27:16 +01:00
El RIDO
afd82ac34d
Merge branch 'master' into php7.4-ci 2020-02-16 13:23:11 +01:00
El RIDO
adece1d784
incrementing version 2020-02-16 11:15:51 +01:00
El RIDO
e74d786a68
update change log 2020-02-16 07:23:20 +01:00
El RIDO
f190317d95
remove obsolete sudo key 2020-02-05 19:35:46 +01:00
El RIDO
5d54006c9e
update minimum required PHP version to 5.6 and replace slowEquals() with native hash_equals() function 2020-02-05 19:30:14 +01:00
El RIDO
2870023e9c
updating composer requirements und identicon library 2020-02-05 19:17:22 +01:00
El RIDO
df7a06315f
drop php 5.5 tests, allowing us to use current ubuntu bionic based environment and adding php 7.4 incl. GD library 2020-02-05 19:15:43 +01:00
El RIDO
12c83a13c7
addressing false positive jsverify rngState 85f362db8950cea741 2020-02-05 19:06:45 +01:00
El RIDO
aa377038a0
fixing DOMpurify 2.0.8 SRI after removing map line in file (which causes unnecessary requests to missing files in the browser) 2020-02-05 19:05:37 +01:00
El RIDO
7038fd5712
Revert "add 7.4 to travis CI tests"
This reverts commit 81194f6bd6.

Found that the trusty based php 7.4 in TravisCI doesn't include the GD module, that we need, plus there is an issue with the Filter::slowEquals() function that only remains for php 5.5 support that doesn't yet contain hash_compare().
2020-02-05 18:52:53 +01:00
El RIDO
81194f6bd6
add 7.4 to travis CI tests 2020-02-05 16:50:08 +01:00
El RIDO
bab95cce1b
addressing false positive jsverify rngState 8bf7605ea139db4c28 2020-02-04 18:58:24 +01:00
El RIDO
00438ec1ab
upgrade DOMpurify to 2.0.8 2020-02-04 18:43:35 +01:00
El RIDO
87423abd7c
Fix ARIA for Editor/preview tabs. 2020-02-04 18:29:14 +01:00
El RIDO
347e7e03e1
Merge pull request #582 from RoiArthurB/patch-1
Update fr.json
2020-02-04 11:24:59 +01:00
Arthur Brugiere
6e08d8a497
Update fr.json
Fix missing translate + invalid translations
2020-02-04 14:54:47 +07:00
El RIDO
3fdd42487a
fix FAQ links, tweaking the subtext display, add link to modern browser FAQ, fixes #577 2020-02-02 07:35:33 +01:00
El RIDO
2cbb8bf3ca
in translation, allow links to be inserted unencoded into href attribute, simplfy sanitation by allowing only <a> tags in DOMpurify for plain text and comments and avoid DOMpurify removing magnet links, fixes #579 2020-02-02 07:08:38 +01:00
El RIDO
3996f82404
relax encoding of slashes just for plaintext display, so links can be detected 2020-02-01 16:30:41 +01:00
El RIDO
d7fd6667fd
Merge branch 'displayEncoding2' 2020-02-01 16:16:05 +01:00
El RIDO
21ca30af3c
apply StyleCI recommendation 2020-02-01 09:39:14 +01:00
El RIDO
1b206e8495
ensuring consistent use of php side encoding, testing all encoding cases, correctly report the language in the <html> tag 2020-02-01 09:15:14 +01:00
El RIDO
cc0920fc09
add HTML entity encoding to PHP translation logic, remove exception to allow <br/> tags in DOMpurify by eliminating the single case that made use of it 2020-02-01 08:46:59 +01:00
El RIDO
428ea2f34e
adding test that expects parameters of php translation to get HTML entities to get encoded 2020-02-01 08:09:30 +01:00
El RIDO
f940f17bba
Merge branch 'displayEncoding' 2020-02-01 07:53:32 +01:00
El RIDO
91003d6597
Merge remote-tracking branch 'origin/master' into displayEncoding 2020-02-01 07:52:48 +01:00
El RIDO
9a4018bffe
jsverify rngState 8270695ec83abf412d was a false positive, due to incorrect test logic 2020-02-01 07:40:14 +01:00
El RIDO
8a6415ef5f
fixing jsverify rngStates 0220439df7ec68a15b, 015c81b7afd06e4293 & 041e3d57692b08fc4a 2020-01-31 22:42:42 +01:00
El RIDO
b674c187a0
Merge pull request #578 from imtms/master
Update Chinese translation.
2020-01-31 21:34:34 +01:00
R4SAS
665192e27e
Merge pull request #580 from mkromar/footer-link-fix-sl
Fixed info link in page footer of sl translation.
2020-01-31 19:02:31 +00:00
mkromar
b4256a986a Fixed info link in page footer of sl translation. 2020-01-31 19:47:24 +00:00
TMs
13b30608cb
Update Chinese translation. 2020-01-31 12:36:02 +08:00
El RIDO
a86dd35ac3
Merge pull request #574 from PrivateBin/rugk-php-runner
Test PHP Composer runner of GitHub
2020-01-29 13:06:40 +01:00
rugk
19d0cace13
Merge branch 'readmeupdate' 2020-01-27 21:13:47 +01:00
rugk
d0589e77d4
Feature FAQ link in Readme & remove legacy things
* remove old ZeroBin 0.19 guide, this is so old already, few people will benefit from a direct link in the Readme. It stays in the wiki for those, who need it.
* add direct link to the FAQ - it's one of our best documentation/sources, so it's a shame it is not featured more prominently 😉
2020-01-27 15:28:40 +01:00
rugk
271c954f9a
Test PHP Composer runner of GitHub
GitHub has these new CI/CD features, so let's test whether this makes sense.

I guess this PHP thing just installs the project via composer… 🤔
2020-01-26 23:25:24 +01:00
Erion
3f8cf1792d Switch to single quotes. 2020-01-26 18:08:59 +01:00
Erion
f6899785a9 Fix ARIA for Editor/preview tabs. 2020-01-25 18:47:18 +01:00
El RIDO
2d11d7b29e
re-applying sprintf simplification and rephrased jsdoc block 2020-01-25 09:16:14 +01:00
El RIDO
29efc14aa7
Revert "implement simplified translation logic, forcing the use of safe application via jQuery element"
This reverts commit 62365880b4. The unit tests showed that the text2string function completely undid the XSS fix, so it was always unsafe to use it. Also the logic simplifications were smaller then expected.
2020-01-25 09:07:29 +01:00
El RIDO
62365880b4
implement simplified translation logic, forcing the use of safe application via jQuery element 2020-01-25 09:07:06 +01:00
El RIDO
aa3f1206b2
rewriting translations to pass jQuery element where easily possible 2020-01-25 08:13:36 +01:00
El RIDO
b160e5d1f8
Merge branch 'tupaschoal-translate-pt' 2020-01-22 20:15:20 +01:00
Tulio Leao
56ad0273e4 Update pt translation 2020-01-21 22:47:17 -03:00
El RIDO
83c29165ad
Merge branch 'ensag-dev-master' 2020-01-21 19:02:05 +01:00
ensag-dev
39ee46caee
Update for e-mail function 2020-01-21 08:11:16 +00:00
ensag-dev
774fea9230
Small corrections 2020-01-21 08:05:17 +00:00
El RIDO
1d8b0d6189
Merge branch 'rylebrun-mail_fr_translation' 2020-01-20 19:39:13 +01:00
El RIDO
72e96c7147
german translation of send to mail messages 2020-01-20 19:38:52 +01:00
El RIDO
1ae4f4f0fc
updating all languages with missing translation, addresses failing unit test in previous commit 2020-01-20 19:24:28 +01:00
rylebrun
28c387074f Add mail fr translation for buttons 2020-01-20 12:11:03 +01:00
rylebrun
3993b47e06 Add mail fr translation 2020-01-20 12:03:11 +01:00
El RIDO
42130e0468
prevent potentially non-encoded string from getting returned 2020-01-18 10:53:58 +01:00
El RIDO
685c354d0e
several changes:
- added tests for all 4 cases: output to string or into element vs first param contains link or not
- cleaned up logic - skip HTML entity encoding only if we can ensure insertion to text node / when output to string, we always encode
- DOMpurify sanitizes gopher, ws & wss links, which we previosly had tested for
2020-01-18 10:44:35 +01:00
El RIDO
fa9d3037ba
fixing logic & indentation 2020-01-18 07:44:32 +01:00
El RIDO
7b87dc3ca9
cleanup revert 2020-01-18 07:36:43 +01:00
El RIDO
0d08edbe55
Revert "getting rid of htmlEntities (except for tests)" a0740ff79f 2020-01-18 07:30:01 +01:00
El RIDO
cec5cb41d7
Partial revert "Do not double-encode HTML in i18n", only revert the removal of required encoding logic - still has to be moved
This reverts commit 01414e43ca.
2020-01-18 07:20:05 +01:00
El RIDO
76eff6a87a
Revert "[TEST] Try to disallow vulnerable cases" to remove accidentally committed file and statement that breaks the tests
This reverts commit ebc2d649c4.
2020-01-18 07:12:03 +01:00
El RIDO
fd4492f229
ensuring that both critical branches get tested 2020-01-18 07:09:56 +01:00
El RIDO
5daba16333
Merge branch 'ensag-dev-master' 2020-01-16 05:28:17 +01:00
rugk
eb549d70d1
Invert conatainsLink logic 2020-01-15 17:52:51 +01:00
ensag-dev
9f6c02276a
Update Occitan translation 2020-01-14 16:24:53 +01:00
rugk
ebc2d649c4
[TEST] Try to disallow vulnerable cases 2020-01-13 19:56:15 +01:00
rugk
01414e43ca
Do not double-encode HTML in i18n
This issue got introduced in 4bf7f86 due to double

Fixes https://github.com/PrivateBin/PrivateBin/issues/557
Fixes https://github.com/PrivateBin/PrivateBin/issues/558

Also _inverted_ the logic/variable name for containsNoLinks to
the more logical one "containsLinks" to avoid too many negations.

Also verified that the attachment name is stil properly displayed
when you clone a paste.
2020-01-13 19:17:30 +01:00
El RIDO
9aac073a49
clarifying for #525 that none is a string, as PHP might evaluate it to NULL instead 2020-01-09 05:42:42 +01:00
El RIDO
599264e167
partially address #556 - now comments can only be added after successfull decryption 2020-01-08 19:48:42 +01:00
El RIDO
ed590ee557
incrementing version 2020-01-08 19:31:06 +01:00
El RIDO
d73f8468d8
documenting changes for 1.2.2 2020-01-08 19:23:33 +01:00
El RIDO
ef8943d838
upgrading base-x library to 3.0.7 2020-01-07 20:11:12 +01:00
El RIDO
2fd649db14
upgrading showdown to released 1.9.1 version 2020-01-07 19:58:05 +01:00
El RIDO
11a7ac4e2b
address new fixer in StyleCI causing false positives in templates 2020-01-07 19:39:22 +01:00
El RIDO
a9bf667f8e
address error, displayed when paste has attachment, but configuration has them disabled 2020-01-04 13:33:03 +01:00
El RIDO
4bf7f863dc
more general solution addressing #554, kudos @rugk for the suggestions 2020-01-04 13:14:53 +01:00
El RIDO
8d0ac336d2
addressing jsverifyRngState 8b8f0d4ec2a67139b5, fixes HTML injection via filename, closes #554 2019-12-25 09:14:32 +01:00
El RIDO
ddaee6486d
Merge branch 'm1cr0man-master' 2019-12-25 08:16:33 +01:00
El RIDO
3485922366
documenting change 2019-12-25 08:16:17 +01:00
El RIDO
0efe6f7a8e
simplify logic, fullfills the unit test 2019-12-25 08:11:25 +01:00
El RIDO
07a6e3094d
adding unit tests for the new confi file env variable 2019-12-25 07:58:14 +01:00
Lucas Savva
7d9ec9509b Handle previously renamed CONFIG_PATH gracefully 2019-12-24 19:12:08 +00:00
Lucas Savva
d5d13fa831 Add logic to rename insecure CONFIG_PATH 2019-12-24 18:51:47 +00:00
Lucas Savva
13fb849973 Add CONFIG_PATH notes to INSTALL.md 2019-12-20 14:28:43 +00:00
Lucas Savva
b5c86e290f squashme: fix code style issue 2019-12-20 10:42:59 +00:00
Lucas Savva
6b0468ebff Add support for a CONFIG_PATH variable 2019-12-19 23:06:32 +00:00
El RIDO
825f6884be
updating German translations 2019-12-07 08:26:51 +01:00
El RIDO
ee9e340de0
Merge branch 'qianmengnet-master' 2019-12-07 08:22:44 +01:00
El RIDO
2cbb86cefc
adding missing translation IDs, kudos @qianmengnet for finding these 2019-12-07 08:22:29 +01:00
El RIDO
3923817f2b
formatting of JSON, unicode tilde 2019-12-07 08:18:13 +01:00
Alex Lee
b00d8e4ad8
Update zh.json 2019-12-05 08:34:42 +08:00
Alex Lee
aa75e596c8
Update zh.json 2019-12-04 12:20:23 +08:00
El RIDO
787daccb78
Merge branch 'Haocen-543' 2019-11-29 19:12:36 +01:00
Haocen Xu
87cf61c39b
Update SRI 2019-11-21 17:49:21 -05:00
Haocen Xu
853fd906cb
Fix unnecessary closure capture 2019-11-21 17:43:10 -05:00
El RIDO
af8d963fd2
updating DOMpurify library, fixes #523 2019-11-02 17:31:45 +01:00
El RIDO
0ed238a775
Merge branch 'AndriiZ-master' 2019-11-02 17:21:22 +01:00
El RIDO
8cf0c86ebb
simplify case statement, update documentation 2019-11-02 17:18:22 +01:00
El RIDO
b23fd48d49
Merge branch 'master' of https://github.com/AndriiZ/PrivateBin into AndriiZ-master 2019-11-02 17:11:05 +01:00
El RIDO
ffe26a8841
Merge branch 'Haocen-398' 2019-11-02 17:04:19 +01:00
El RIDO
0b6139fb42
updating change log and optimizing png 2019-11-02 17:03:40 +01:00
Haocen Xu
7d7ff34d83
Update SRI 2019-10-31 15:07:24 -04:00
Haocen Xu
e079f6c830
Implement Email button 2019-10-31 15:07:13 -04:00
Haocen Xu
63fdd2eba3
Fix missing semi colon 2019-10-30 14:04:10 -04:00
El RIDO
759113f453
Merge branch 'Haocen-527' 2019-10-26 06:04:39 +02:00
El RIDO
7255cd29a7
documenting change 2019-10-26 06:04:21 +02:00
El RIDO
13afa7fe21
Merge branch '527' of https://github.com/Haocen/PrivateBin-Contribute into Haocen-527 2019-10-26 06:01:39 +02:00
El RIDO
00a9e36c59
incrementing version 2019-10-26 06:01:24 +02:00
Haocen Xu
6fc4303acc
Update SRI 2019-10-25 13:09:07 -04:00
Haocen Xu
56222d6cfb
Bugfix when password is disabled in config no new paste can be
created
2019-10-25 13:05:09 -04:00
Andriy Zhuk
65b7077756 Added plural rules for ukrainian 2019-10-18 12:31:40 +03:00
Andriy Zhuk
03138bcde5 Fixed ... with … 2019-10-18 12:27:40 +03:00
Andriy Zhuk
7e9e3155a8 Fixed few typos 2019-10-17 17:20:00 +03:00
Andriy Zhuk
2b3b47c59d Removed line 2019-10-17 16:03:37 +03:00
Andriy Zhuk
8fc85bc39c Added line 2019-10-17 15:33:12 +03:00
Andriy Zhuk
92571512bf Added ukrainian localization 2019-10-17 15:24:33 +03:00
El RIDO
d3153b5e38
trying to fix travis on PHP 5 by removing composer.lock that depends on imcompatible phpunit version 2019-09-22 22:04:17 +02:00
El RIDO
71797d1dd4
changes required for jsdoc, adding legacy.js to code coverage 2019-09-22 21:18:19 +02:00
El RIDO
476b9c90e2
updating PHP dependencies (they remain unchanged), committing lock for github dependency graph support 2019-09-22 19:52:25 +02:00
El RIDO
2d4edfe401
incrementing version number in preparation of release 2019-09-22 19:42:04 +02:00
El RIDO
ced5f30280
Merge branch 'cryptomilk-master-htaccess' 2019-09-20 07:06:38 +02:00
El RIDO
d5aeba60ca
increase default size limit to 10 MiB, documenting change 2019-09-20 07:04:26 +02:00
El RIDO
5c0012cf51
adding database migration to increase data to MEDIUMBLOB on MySQL by default 2019-09-20 06:57:54 +02:00
El RIDO
091dc14074
Merge branch 'master-htaccess' of https://github.com/cryptomilk/PrivateBin into cryptomilk-master-htaccess 2019-09-20 06:28:07 +02:00
El RIDO
a3f793fec7
documenting changes 2019-09-20 06:27:07 +02:00
El RIDO
b496ae42fd
Merge branch 'better-feature-detection' 2019-09-20 06:18:10 +02:00
El RIDO
e9eeeacdf0
addressing jsverifyRngState 0f5ea3f961827b0c4d 2019-09-19 20:48:05 +02:00
El RIDO
8da382f7c6
Merge branch 'master' into better-feature-detection 2019-09-19 20:19:35 +02:00
El RIDO
28d70a1b18
upgrading DOMpurify, fixes #520 2019-09-19 20:13:47 +02:00
El RIDO
c1f6e5663b
Merge branch 'master' into better-feature-detection 2019-09-19 20:02:00 +02:00
El RIDO
bf0be09f09
removing old IE warning, as it is ignored by IE. The modern warning does get displayed, so let's use this more generic warning instead. 2019-09-19 20:01:10 +02:00
El RIDO
955317d924
make codacy a bit happier 2019-09-19 19:47:19 +02:00
El RIDO
8e27dbff15
clarify the use of 'unsafe-eval' and what the impact removing it has - Firefox users may not care and disable it to improve security 2019-09-19 19:24:28 +02:00
El RIDO
7c61f59dcd
removing untranslated string for non-human entities, moving insecure notice to template, so it can remains translated 2019-09-19 19:14:48 +02:00
El RIDO
70c38db81d
adding ES6 and async feature detection to correctly flag old chromes and operas with the modern browser error 2019-09-18 07:47:26 +02:00
El RIDO
4332d0edb0
making legacy.js work even on IE 6 by avoiding jQuery 2019-09-18 07:31:32 +02:00
El RIDO
5810f17c31
fixing HTTP only error detection in Chrome and Android by ensuring all logic is contained in legacy.js 2019-09-17 21:41:25 +02:00
El RIDO
15b3d67ba7
adding browserstack badge in order to be elegible for their OpenSource program (https://www.browserstack.com/open-source?ref=pricing) 2019-09-16 20:51:49 +02:00
El RIDO
1a42158dd1
address Codacy's concern about missing semicolons 2019-09-14 09:53:22 +02:00
El RIDO
713ce148a4
address Codacy's concern that i is already defined 2019-09-14 09:50:47 +02:00
El RIDO
63426d6f8b
splitting out PrivateBin.InitialCheck class into Legacy.Check and working on making it compatible with IE 11 2019-09-14 09:41:52 +02:00
El RIDO
a363b2ff95
eslint env cleanup 2019-09-08 09:12:56 +02:00
El RIDO
c2962af4f8
trying different approach to convince codacy about false positive 2019-09-08 09:08:21 +02:00
El RIDO
ae11d168ce
trying to convince codacy about the eslint changes 2019-09-08 09:02:15 +02:00
El RIDO
7b029d3657
trying to convince codacy about the eslint changes 2019-09-08 08:55:19 +02:00
El RIDO
b1c9ca65fa
trying to address eslint false positives 2019-09-08 08:39:28 +02:00
El RIDO
5471757fa7
making webassembly optional, ensuring retry button works when wrong password is provided
Tested configurations:
- browser with WASM support (Firefox 68.0.2)
  - creates paste with zlib compression, no password
  - creates paste with zlib compression, with password
  - reads paste with zlib compression, no password
  - reads paste with zlib compression, with password + retry button works
  - reads paste without compression, no password
  - reads paste without compression, with password + retry button works
- browser without WASM support (Chromium 76.0.3809.100, started via `chromium-browser --js-flags=--noexpose_wasm`)
  - creates paste without compression, no password, but shows WASM warning
  - creates paste without compression, with password, but shows WASM warning
  - fails to read paste with zlib compression, no password + shows WASM error
  - fails to read paste with zlib compression, with password + shows WASM error
  - reads paste without compression, no password
  - reads paste without compression, with password + retry button works
2019-09-08 08:21:54 +02:00
El RIDO
7a85900b7c
Merge branch 'master' into better-feature-detection 2019-09-07 11:25:50 +02:00
El RIDO
269def8300
Merge branch 'idarlund-patch-6' 2019-09-07 11:23:20 +02:00
Idar Lund
c992d10833
Update no.json
updated new lines to Norwegian
2019-09-04 12:21:04 +02:00
El RIDO
813e72d871
don't encode HTML entities in translations if they contain links 2019-08-28 20:37:14 +02:00
El RIDO
50881a75e6
ensure bots are prohibited completely from indexing 2019-08-28 20:36:26 +02:00
El RIDO
c56d777c11
fixing logic when there are no icons and warning icons, add more test cases 2019-08-28 20:29:23 +02:00
El RIDO
7f65fe9218
fixing conflicting icons when using error message div for warnings in bootstrap template 2019-08-28 19:25:11 +02:00
El RIDO
ad570c391a
extend Alert class unit testing 2019-08-28 19:23:58 +02:00
El RIDO
a6aef109cc
making feature detection work as intended in chrome 2019-08-27 23:16:06 +02:00
El RIDO
6fcd82fb85
making the feature detection more robust, let users with no WASM create uncompressed pastes, remove dead & duplicate code 2019-08-27 07:38:27 +02:00
El RIDO
ff68043c9f
Merge branch 'Haocen-505-patch' 2019-08-25 18:16:17 +02:00
Haocen Xu
5877111ccb
Update SRI 2019-08-25 12:03:37 -04:00
Haocen Xu
00b886c492
Refactor attachment editable logic to avoid undesired assumption 2019-08-25 12:00:59 -04:00
El RIDO
e242d87427
Merge branch 'Haocen-489,491,493,494' 2019-08-25 17:30:20 +02:00
El RIDO
271d4b680a
updating changelog 2019-08-25 17:29:52 +02:00
El RIDO
ad096b80a1
refactoring logic, to make intention more clear and reduce complexity 2019-08-25 17:24:22 +02:00
Haocen Xu
b912c07cd1
Update SRI 2019-08-25 02:17:29 -04:00
Haocen Xu
ab75b183fb
Fix click on new paste on clone paste editing view not removing custom
attachment

Fix cloning paste with attachment

Update CSP in sample and default configuration

Ensure clone paste also clone format

Fix clone button hiding logic when paste is burn after read

Remove attachment name when new paste clicked on

Enable file operation only when editing
2019-08-25 02:16:58 -04:00
El RIDO
121b1e75d2
remove debug statement, fixes #462 2019-08-24 08:42:33 +02:00
El RIDO
c77726b917
Merge branch 'Haocen-495', fixes #495 2019-08-23 07:02:54 +02:00
Haocen Xu
649c7aaa78
Fix bootstrap 3 support for modern high res monitors 2019-08-22 14:04:42 -04:00
Haocen Xu
6a79519641
Allow textarea to be resized vertically only 2019-08-22 13:55:52 -04:00
El RIDO
e4a0a8e82c
Merge branch 'Haocen-317' 2019-08-21 19:04:16 +02:00
El RIDO
72565e48ff
Merge branch '317' of https://github.com/Haocen/PrivateBin-Contribute into Haocen-317 2019-08-21 19:03:54 +02:00
Haocen Xu
ffac1adad6
Dropzone should be fixed to viewport, instead of fixed to sibling
element
2019-08-21 02:24:56 -04:00
El RIDO
d317cfbcc0
update SRI hashes 2019-08-21 07:17:24 +02:00
El RIDO
388655fdd1
Merge branch 'Haocen-317', fixes #317, fixes #487 2019-08-21 07:15:09 +02:00
El RIDO
b7b7aa3a47
credit were credit is due 2019-08-21 07:14:46 +02:00
Haocen Xu
2eed7a8a1c
Update SRI
Remove dejavu
2019-08-17 15:39:13 -04:00
Haocen Xu
078b8d8fd6
Clear attachment if user cancel file select 2019-08-17 15:14:40 -04:00
Haocen Xu
3a9730f883
Improve file upload UX
Fix incorrect highlight logic

Fix transition on fileupload highlight

Handle drag leave

Fix draghover

Minor style improvements
2019-08-17 15:13:58 -04:00
El RIDO
30ddcacca6
fixing unit tests 2019-08-17 10:20:46 +02:00
El RIDO
1de315619b
Merge branch 'macropin', fixes #485 2019-08-17 10:07:16 +02:00
El RIDO
e7fab8439d
documenting showdown fix and incrementing library version to circumvent browser caching 2019-08-17 10:04:54 +02:00
El RIDO
f22449ffd1
Merge branch 'fix-showdown' of https://github.com/macropin/PrivateBin into macropin 2019-08-17 09:59:44 +02:00
El RIDO
962df90b24
Merge branch 'Haocen-479' 2019-08-17 09:40:43 +02:00
El RIDO
d351c7b734
documenting changes, fixes #354, fixes #479, fixes #484 2019-08-17 09:40:23 +02:00
El RIDO
84827e19c3
Merge branch '479' of https://github.com/Haocen/PrivateBin-Contribute into Haocen-479 2019-08-17 08:42:25 +02:00
El RIDO
b8196ee63c
documented mobile UI change, fixes #477 2019-08-17 08:39:15 +02:00
El RIDO
e6e4facde0
Merge branch 'Haocen-477' 2019-08-17 08:31:07 +02:00
Haocen Xu
6ac425d468
Fix incorrect style on button 2019-08-15 14:58:27 -04:00
Andrew Cutler
49b358b1ee patch showdown.js to allow 100 nested spans. Ref https://github.com/PrivateBin/PrivateBin/issues/485 2019-08-15 13:41:41 +10:00
Haocen Xu
71931b0f18
Clear discussion if new/clone paste clicked 2019-08-14 20:40:50 -04:00
Haocen Xu
1af7b536a5
Fix an edge case where we cannot find any shortUrl 2019-08-14 00:06:51 -04:00
Haocen Xu
a5cd8696e6
Ensure shortener button re-enable after creating new paste 2019-08-13 21:55:35 -04:00
Haocen Xu
cd5ede5670
Enhance URL shortener integration, clear address bar when create new paste from existing paste 2019-08-13 21:44:53 -04:00
Haocen Xu
cb877e4494
447, Rework UX to address obscured send button and hard to click
shortener button
2019-08-13 19:21:26 -04:00
El RIDO
c66bff9d1b
fixing travis CI builds for php 5.5, which require trusty 2019-07-27 08:19:01 +02:00
El RIDO
d63a0d10d3
fixing npm package version number 2019-07-27 08:11:29 +02:00
El RIDO
847c9e7355
better looking check mark 2019-07-27 07:47:03 +02:00
El RIDO
d33c89666d
Merge branch 'security-md' 2019-07-27 07:43:41 +02:00
El RIDO
c8a9038f27
Merge branch 'master' into security-md 2019-07-27 07:43:16 +02:00
El RIDO
b65303dd71
update wording as suggested and version to latest release 2019-07-27 07:42:54 +02:00
El RIDO
8d323c1da4
document the applicability of RFC 1855 / Netiquette 2019-07-27 07:31:34 +02:00
Andreas Schneider
5c5de860e2 INSTALL: Creata a mediumblob for data in a paste
This allows to upload bigger pastes and pastes with attachments in the
v2 paste format.

Fixes #456
2019-07-12 10:07:22 +02:00
Andreas Schneider
da576baab9 Allow to upload bigger files
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2019-07-12 09:03:14 +02:00
El RIDO
78225165ca
Merge branch 'BigWax-patch-1' 2019-07-11 16:50:51 +02:00
El RIDO
b0d1a3949e
add bulgarian to the supported languages 2019-07-11 16:50:32 +02:00
BigWax
1469d0c062
Create bg.json
Bulgarian translation
2019-07-10 16:06:55 +01:00
R4SAS
a1704b2dd9
[i18n] update russian translation 2019-07-10 02:43:00 +03:00
El RIDO
0780e5ace2
skip badges in release export 2019-07-08 20:05:58 +02:00
El RIDO
5d7658b58f
switching to pre-rendered logo 2019-07-08 20:00:32 +02:00
El RIDO
1e2014b9fa
fixing configuration test generator after PHP refactoring 2019-07-08 19:56:05 +02:00
El RIDO
07018e5876
incrementing version number in preparation of release 2019-07-08 18:35:34 +02:00
El RIDO
6df5127132
move badges to separate document due to data privacy concerns for visitors of the projects main page 2019-07-08 18:20:09 +02:00
El RIDO
8ae87d8653
translate new strings to German 2019-07-07 10:39:14 +02:00
El RIDO
d8ba1b1462
Merge branch 'Quenty31-master' 2019-07-07 10:09:25 +02:00
Quentí
07e0b267f9
Update and corrections
Use of è form for correctly corrèctament
Use of subjunctive after "in case", se per cas + subjectiu
2019-07-06 21:02:58 +02:00
El RIDO
ae456bf7a1
Merge branch 'yvisherve-patch-1' 2019-07-04 06:26:01 +02:00
El RIDO
57417c08cf
revert formatting changes for better comparison 2019-07-04 06:25:21 +02:00
Hervé Yvis
943b6bdfc3
Upgrade french translation
Translation of untranslated sentences + Improved translation of one sentence
2019-07-02 01:08:47 +02:00
El RIDO
c707c87cac
addressing rngState 0ef2c5e06719a8b43d 2019-06-27 21:37:40 +02:00
El RIDO
2cbf528894
fixing failing unit tests in travisCI 2019-06-27 21:18:46 +02:00
El RIDO
11375a4f59
moved referrer policy from CSP & meta to proper HTTP header to avoid browser console error message about unknown CSP header and to ensure it always applies before HTML is parsed, fixes #196 2019-06-27 20:31:10 +02:00
El RIDO
67b9b5f0d8
correcting old browser detection logic, fixes #446 2019-06-27 20:11:22 +02:00
El RIDO
fdc532b3c1
simplify npm install instructions 2019-06-24 07:41:12 +02:00
El RIDO
ddb1c550f5
remove alerts when missing showdown & prettify libraries, if the are missing it is intentionally done in the configuration, fixes #237 2019-06-23 19:55:25 +02:00
El RIDO
c2e060d464
made compression configurable, fixes #38 2019-06-23 19:45:40 +02:00
El RIDO
848d3563f4
making StyleCI & Scrutinizer happy 2019-06-23 16:10:05 +02:00
El RIDO
47944ba3b1
updating DOMpurify to 1.0.11, fixes #442 2019-06-23 12:15:36 +02:00
El RIDO
8dc9db90c9
added translation for Czech, provided by @info-path, fixes #424 2019-06-23 12:06:36 +02:00
El RIDO
c9680ed741
Merge branch 'brunob-patch-1' 2019-06-23 11:41:14 +02:00
El RIDO
5a1adea050
Merge branch 'patch-1' of https://github.com/brunob/PrivateBin into brunob-patch-1 2019-06-23 11:39:55 +02:00
El RIDO
f5fee9b44a
Merge branch 'httpinsecure' 2019-06-23 11:34:18 +02:00
El RIDO
40493dfb3a
simplify logic, adding test cases for all combinations of URLs that are regarded as secure context 2019-06-23 10:38:08 +02:00
El RIDO
61fde53de0
adding IPv6 localhost to exceptions 2019-06-23 09:56:18 +02:00
El RIDO
dc193f7555
Revert "removing exceptions - in these cases server admins can opt to disable the warning message in the configuration"
This reverts commit d0365faf76.
2019-06-23 09:54:48 +02:00
El RIDO
d9f27fb004
avoid instability of tests due to Alert callback testing, which can prevent notifications from getting displayed 2019-06-23 09:39:21 +02:00
El RIDO
603f7fd911
adding tests for all cases 2019-06-22 15:44:54 +02:00
El RIDO
59153633b8
adding test for bot UAs 2019-06-22 09:12:31 +02:00
El RIDO
d0365faf76
removing exceptions - in these cases server admins can opt to disable the warning message in the configuration 2019-06-22 08:39:46 +02:00
El RIDO
57bd65225d
added new translation strings, moved URLs out of translations as they are static and it makes translation more compact 2019-06-22 07:52:18 +02:00
El RIDO
58fa7c987d
password modal is used in all flavors of the bootstrap theme 2019-06-22 07:50:25 +02:00
rugk
b7db033bdd
Adjust config text 2019-06-21 19:50:40 +02:00
rugk
e5974d4663
Prefer isSecureContext if available 2019-06-21 19:48:16 +02:00
rugk
a1b1efeae2
Adjust messages 2019-06-21 19:03:45 +02:00
b_b
59dc413829
Fix #443
fix expiration/formater dropdown with bootstrap-compact template
2019-06-21 17:21:40 +02:00
El RIDO
50cc6995e0
making use of the URL object in the existing tests 2019-06-20 22:30:49 +02:00
El RIDO
1958a55651
adding new dev dependency to support the URL object 2019-06-20 21:38:29 +02:00
El RIDO
77419ec2c1
Merge branch 'master' into httpinsecure 2019-06-20 21:01:00 +02:00
El RIDO
e9ce8ca1a0
fixing font paths 2019-06-18 22:54:21 +02:00
El RIDO
b1be74a56f
support processing of Error types in notifications, adresses #441 2019-06-18 19:45:52 +02:00
El RIDO
42c2003220
made notice configurable, fixing a few CSS glitches 2019-06-17 21:40:37 +02:00
El RIDO
a67c9ab129
reworded the message, added the missing translation strings 2019-06-17 21:18:30 +02:00
El RIDO
fc914b4b84
moved bad bot check into InitialCheck, changed old ie notice into generic update warning, when unsupported user agent is detected and made the other IE alert show in all versions as it is now entirely unsupported 2019-06-17 21:09:21 +02:00
El RIDO
748b85e025
Merge branch master into httpinsecure 2019-06-17 19:51:33 +02:00
El RIDO
7ab6411f71
updated credits & change log 2019-06-16 13:38:03 +02:00
El RIDO
4d6897f063
increasing minimum PHP version to 5.5 as this is required by the yzalis/identicon library upgrade to version 1.2.0 2019-06-16 10:50:52 +02:00
El RIDO
8515c9d223
upgrading DOMpurify library 2019-06-16 10:23:14 +02:00
El RIDO
8a69411d50
upgrading showdown library 2019-06-16 10:19:44 +02:00
El RIDO
49e118a8b3
updated kjua library 2019-06-16 10:13:53 +02:00
El RIDO
3259cabfb3
revert bootstraps JS to 3.3.7 as 3.4.1 breaks the navbar toggle 2019-06-16 10:06:01 +02:00
El RIDO
b527bc6208
upgrade jQuery library 2019-06-16 09:30:59 +02:00
El RIDO
0a88b3043c
upgrading bootstrap CSS 2019-06-16 09:27:11 +02:00
El RIDO
66cee9dbd2
adding icon generator comparison test script for reference in #148 2019-06-16 09:16:50 +02:00
El RIDO
db4ae09ee3
upgraded PHP libraries 2019-06-16 07:10:24 +02:00
El RIDO
362045c664
re-add data-URLs to CSP for img-src, as these are used for the comment icons 2019-06-16 07:06:58 +02:00
El RIDO
cd72110ea4
Merge branch 'blob-uri' 2019-06-15 09:49:20 +02:00
El RIDO
b4ceb4078d
removed obsolete code and comments, tested with a PDF of 9 MiB and it works fine in Firefox and Chrome 2019-06-15 09:47:55 +02:00
El RIDO
f915af1a5a
adjust CSP header to allow blob URLs 2019-06-15 09:36:09 +02:00
El RIDO
451a4817c4
replace data-URL method usage with blob-URL one 2019-06-15 09:35:26 +02:00
El RIDO
6cf52f4cf3
mocking window.URL.createObjectURL to have tests working with blob URLs 2019-06-15 08:56:47 +02:00
R4SAS
abd71413c3 Store Blob URL in variable 2019-06-12 06:29:36 +03:00
R4SAS
d3f9670bc2 Remove data length detection, because we work with URL 2019-06-12 06:05:55 +03:00
R4SAS
dcbefcc1c3 Use blob for previews 2019-06-12 05:29:19 +03:00
R4SAS
ff6b9bd8f9 Use blob URI for saving attachments (#432) 2019-06-12 04:37:17 +03:00
El RIDO
a459c4692c
correcting API use, avoid history glitch 2019-06-01 23:49:40 +02:00
El RIDO
ebbb850b27
clone array instead of passing the reference, adresses #436 2019-05-31 07:05:40 +02:00
El RIDO
87c7719513
Merge branch 'webcrypto' 2019-05-26 21:07:21 +02:00
El RIDO
c4b84b2b6b
extract version logic into paste & comment classes 2019-05-25 13:20:39 +02:00
El RIDO
d73c68ad85
insert Paste class to wrap the data, to be able to extend the paste with getters and format version handling 2019-05-25 10:10:59 +02:00
El RIDO
a270cd818a
create security.md for new Github security feature 2019-05-23 17:06:33 +02:00
El RIDO
398fabd664
Chrome requires unsafe-eval for it to parse and evaluate WASM modules 2019-05-20 18:29:37 +02:00
El RIDO
b44e729a1a
fixing display of version 1 pastes without attachments 2019-05-19 13:31:17 +02:00
El RIDO
12a9b2ff8e
address Scrutinizer issues with the use of getParams method 2019-05-19 10:13:47 +02:00
El RIDO
1baa1c2b0a
fixing API doc issue found by Scrutinizer 2019-05-19 10:05:04 +02:00
El RIDO
800a0df8e3
apply StyleCI patch 2019-05-19 10:01:41 +02:00
El RIDO
353d08daf6
handle regression due to base58 stripping NULL bytes, discovered via JSVerify RNG state 0dec6b2a5f04d19873 2019-05-19 09:54:40 +02:00
El RIDO
909ff2daa7
handle scrutinizer issues (mostly changes in API documentation) 2019-05-19 09:42:55 +02:00
El RIDO
8fd3e680e4
base58 will left trim NULL bytes, handling JSVerify RNG state 0dec6b2a5f04d19873 2019-05-19 09:05:56 +02:00
El RIDO
86b4e0e7a4
revert autoformatting applied by IDE 2019-05-19 08:43:07 +02:00
El RIDO
d785ada3fe
apply StyleCI patch 2019-05-19 08:36:37 +02:00
El RIDO
3b0ab7e99f
fixing regression handling v1 key format (un-decoded base64) 2019-05-19 08:36:18 +02:00
El RIDO
0e71211fad
v2 paste can successfully en- and decrypt the particular message, fixes #260 2019-05-19 08:25:34 +02:00
El RIDO
7111e38898
Merge branch 'empty-paste' into webcrypto 2019-05-19 07:52:37 +02:00
El RIDO
6f480bf014
Merge branch 'master' into webcrypto, implementing base58, fixes #377 2019-05-15 21:20:54 +02:00
El RIDO
5779d87788
integrating compression test case that failed in rawdeflate in webcrypto + zlib testing, proving this fixes #328 2019-05-15 18:56:42 +02:00
El RIDO
e77eb1de13
Merge branch 'truncation' into webcrypto 2019-05-15 18:44:26 +02:00
El RIDO
09162a3c57
fix display of v2 pastes in JS, fixing parsing of comments in PHP, avoid exposing expiration date (we provide time_to_live, would allow calculation of creation date of paste) 2019-05-15 07:44:03 +02:00
El RIDO
cc1c55129f
switching to full JSON API without POST array use, ensure all JSON operations are done with error detection 2019-05-13 22:31:52 +02:00
El RIDO
be1e7babc0
removing dead code and improving code coverage 2019-05-11 22:18:35 +02:00
El RIDO
5b67721a6a
preventing tests being included in release 2019-05-11 20:56:35 +02:00
El RIDO
dfb16ea61d
switching to JS code coverage nyc, maintained fork of istanbul 2019-05-11 20:51:18 +02:00
El RIDO
ccdcf4cefa
fix formatting 2019-05-11 19:57:13 +02:00
El RIDO
50af37507f
fixing v2 TTL 2019-05-11 10:46:30 +02:00
El RIDO
788ea67b49
fixing server interaction in JS, simple pastes now work 2019-05-11 10:39:42 +02:00
El RIDO
5b3286df4d
making zlib usable in browsers 2019-05-11 10:38:14 +02:00
El RIDO
20befe4bd6
revert errors on STDOUT 2019-05-11 10:37:29 +02:00
El RIDO
a622c8f484
fix logic, avoid 5.5 2019-05-10 23:27:45 +02:00
El RIDO
c3719435a3
and fixing PHP 5.5 2019-05-10 23:09:35 +02:00
El RIDO
7598b28a4a
handling older versions in testing 2019-05-10 22:57:55 +02:00
El RIDO
02f3cc739f
documentation on fnv1a64 is lacking, but tests show it was only introduced with PHP 5.6 2019-05-10 22:46:39 +02:00
El RIDO
9b6b25dac0
revert scalar type hints to retain support for PHP < 7.0 2019-05-10 22:35:18 +02:00
El RIDO
76007b6ee9
fixing class compatibility (why is this no longer enforced in PHP > 7.1?) 2019-05-10 22:21:03 +02:00
El RIDO
f58cbefd1e
revert scalar type hints to retain support for PHP < 7.0 2019-05-10 22:13:11 +02:00
El RIDO
fb0c9c595e
remove further type hints for compatibility 2019-05-10 22:04:47 +02:00
El RIDO
b1d35057cc
remove further type hints for compatibility 2019-05-10 22:00:34 +02:00
El RIDO
bd4dee0f3e
fixing copy/paste errors 2019-05-10 21:52:14 +02:00
El RIDO
1e44902340
apply StyleCI patch 2019-05-10 21:45:34 +02:00
El RIDO
632d70412a
revert scalar type hints to retain support for PHP < 7.0 2019-05-10 21:35:36 +02:00
El RIDO
0f42bd818f
quiescing JS unit tests 2019-05-10 21:01:34 +02:00
El RIDO
700f8a0ea7
made all php unit tests pass again 2019-05-10 07:55:39 +02:00
El RIDO
59569bf9fc
working on JsonApi tests 2019-05-08 22:11:21 +02:00
El RIDO
7f1afb2b3e
unifying MIT licenses, diff showed them to be identical 2019-05-08 19:06:26 +02:00
El RIDO
fcf9cf63b5
Merge branch 'HLeithner-base58' 2019-05-08 19:01:02 +02:00
El RIDO
54d21a7803
making base-x compatible with node & browser 2019-05-08 19:00:22 +02:00
El RIDO
b12a099e29
updating license document to include base-x' MIT license 2019-05-08 18:32:45 +02:00
Harald Leithner
4aab3c0061 Encode key as base58 2019-05-08 15:25:42 +02:00
El RIDO
76dc01b959
finishing changes in models, removing last md5 test cases, tightening up allowed POST data 2019-05-06 22:15:21 +02:00
El RIDO
06b90ff48e
sticking to arrays to reduce conversions, inversion of control to simplify logic 2019-05-05 21:03:58 +02:00
El RIDO
b7a03cfdb9
enforcing parameter types, avoiding unnecessary metadata in version 2 pastes 2019-05-05 18:22:57 +02:00
El RIDO
6e15903f1e
make DatabaseTest work pass again, support reading & writing version 1 & 2 pastes & comments 2019-05-05 14:36:47 +02:00
El RIDO
bbdcb3fb0f
remove duplicate code 2019-05-05 08:53:40 +02:00
El RIDO
3338bd792e
implement version 2 format validation, changing ID checksum algorithm, resolves #49 2019-05-03 23:03:57 +02:00
El RIDO
ed676acac3
breaking all the things (by replacing v1 with v2 formats) 2019-05-03 20:51:01 +02:00
El RIDO
5652a43d1d
adding js test to generate v2 example pastes to be used in the development of the server side logic, adding one of these into the helper class of the php tests 2019-04-16 07:45:04 +02:00
El RIDO
eeca365e18
Merge branch 'master' into webcrypto 2019-03-25 20:18:10 +01:00
El RIDO
0e18b5d0c1
Merge branch 'billux-master' 2019-03-25 20:13:29 +01:00
Romain Dessort
0033f39b85
Fix #413. Exclude Let's Encrypt bot from blacklisted bots 2019-03-24 09:50:04 -04:00
rugk
d8616d1e68
Merge branch 'AreYouLoco-master' 2019-03-10 11:13:35 +01:00
AreYouLoco
8ea7c4cda6
Update polish translation. 2019-03-08 23:03:07 +01:00
rugk
742add3d1e
Merge branch 'Quenty31-patch-3' 2019-02-25 21:13:47 +01:00
Quentí
e01179653f
Update: added QR code 2019-02-25 20:45:59 +01:00
El RIDO
a60b86691e
Merge branch 'master' into webcrypto, fix nvm 2019-02-23 07:20:34 +01:00
El RIDO
ec698681aa
Merge branch 'ff98sha-patch-1' 2019-02-23 07:17:56 +01:00
El RIDO
2a9d2f9993
Merge branch 'patch-1' of https://github.com/ff98sha/PrivateBin into ff98sha-patch-1 2019-02-23 07:15:20 +01:00
El RIDO
fd33cc8206
switch to newer node version, in an attempt to support mocha 6 2019-02-23 07:06:39 +01:00
ff98sha
9c3a4cebd4
Update zh.json
Modify translations and translate new strings.
2019-02-22 22:56:13 +08:00
rugk
ba3efefc7b Add warning for insecure HTTP 2019-02-13 11:59:07 +01:00
El RIDO
e418b083e8
Merge branch 'master' into webcrypto 2019-01-22 20:11:42 +01:00
El RIDO
48560e3d60
Merge branch 'fb-tracking-param-fix' 2019-01-22 20:06:04 +01:00
rugk
34c64acb75
Apply StyleCi recommendation 2019-01-22 00:14:31 +01:00
rugk
c2a46b7af7
Make JS function more robust 2019-01-22 00:07:28 +01:00
rugk
99d49a56ba
Fix PHPunit tests 2019-01-21 23:49:33 +01:00
rugk
7cb942aca3
Make PHP paste ID function more robust 2019-01-21 23:19:41 +01:00
rugk
541fff199a
Put PHP paste request into own function 2019-01-21 23:06:25 +01:00
El RIDO
6beea8f2f4
apply yet another StyleCI recommendations 2019-01-20 12:29:27 +01:00
El RIDO
e3d7ac4442
apply StyleCI recommendations 2019-01-20 12:28:03 +01:00
El RIDO
79a858f176
extracting only the 16 hex characters of the query string as paste ID, addressing #396 2019-01-20 12:20:37 +01:00
El RIDO
cc53d95ed1
extending test cases to reproduce the issue from #396, causing the existing logic to now fail the tests 2019-01-20 11:05:34 +01:00
El RIDO
5e4c6b5770
Merge branch 'master' into webcrypto 2019-01-07 21:29:14 +01:00
El RIDO
6bb599c81f
Merge branch 'Ahuahuachi' 2019-01-07 21:18:49 +01:00
Alfredo Fabián Altamirano
8f52173ec3
Translate new parameters 2019-01-07 21:13:37 +01:00
Alfredo Fabián Altamirano
287130dd37
Add missing translation for "QR code" 2019-01-07 21:11:19 +01:00
El RIDO
ec68abe2b5
revert formatting changes, for easier comparison of changes 2019-01-07 21:02:51 +01:00
Alfredo Fabián Altamirano
ce87b1cc39 Improved Spanish translation 2019-01-05 16:08:43 -06:00
El RIDO
0ee86f33da
key in version 2 is raw value instead of base64 (which reduces its complexity), made PasteDecryptor support both versions of the format, refactoring method names, replacing var by let / const, reducing zlib compression level from 9 to 7 to half the time spent on compression 2018-12-29 18:40:59 +01:00
El RIDO
be69e4a50f
simplify password catenation in version 2, to avoid potential key derivation weakening 2018-12-28 05:49:34 +01:00
El RIDO
0ad5b3e900
implement zlib via web assembly, replacing rawdeflate library 2018-12-27 21:32:13 +01:00
El RIDO
5ce3aa2817
increase PBKDF2 iterations further, as suggested in #350 2018-12-25 20:19:57 +01:00
El RIDO
210870590c
improving cleanup between tests in order to combat the frequent test failures seen recently 2018-12-25 20:16:41 +01:00
El RIDO
0ab06e34ec
initial refactoring for support of version 2 paste format, some cleanup on the side 2018-12-25 17:34:39 +01:00
El RIDO
f3165f0cab
suppress current jsDOMs errors 2018-12-25 17:17:49 +01:00
El RIDO
70007285bf
remove console suppression, fixing I18n mock 2018-12-25 16:42:18 +01:00
El RIDO
4edbb66c91
re-add CreationTime, still used in comment 2018-12-24 08:20:39 +01:00
El RIDO
3883e3fb30
adjusting test to make it work in latest jsDOM versions that don't support arbitrary bytes in a URLs hash anymore 2018-12-24 08:19:58 +01:00
El RIDO
9348cbe2a1
address security concerns reg. paste creation date by removing it in the API, keep comment creation date exposed, displayed in discussion - resolves #390 2018-12-23 20:10:24 +01:00
El RIDO
2bb3df5bee
adressing rngStates 013286cb47a0f51d9e & 83975e102a4db8f3c6 that frequently fail in latest jsDOM env, showing URL hashes can't contain certain unicode sequences after all 2018-12-18 06:04:17 +01:00
El RIDO
1de57c874e
reduce duplication in format 2018-12-17 21:42:49 +01:00
El RIDO
e64eaf45ee
Merge branch 'master' into webcrypto 2018-12-17 21:34:15 +01:00
El RIDO
c39e578f04
Merge branch 'micschwarz-patch-1' 2018-12-17 21:31:43 +01:00
El RIDO
c15351b793
designing v2 paste & comment format 2018-12-17 19:43:16 +01:00
El RIDO
cde96d8f24
fixing bug in jsonld processing with certain URL paths 2018-12-17 19:42:26 +01:00
Michael Schwarz
e220a97c8f
Improve German Translation for more consistency 2018-11-27 11:03:12 +01:00
El RIDO
fe670dc94f
Merge pull request #378 from PrivateBin/googlespy
Ask Google not to translate the page
2018-11-22 09:10:07 +01:00
rugk
ac9eac5ed6
Ask google not to translate the page
We already have i18n. Furthermore, Google may analyse sensitive content for
the purpose of recognising whether the page needs to be translated, see
https://support.google.com/webmasters/answer/79812?hl=en

Ref https://github.com/threema-ch/threema-web/pull/681
2018-11-21 23:32:06 +01:00
El RIDO
2303c81ce0
Merge branch 'master' into webcrypto 2018-11-19 13:15:11 +01:00
El RIDO
9ce41022cf
correcting namespaces 2018-11-19 13:09:34 +01:00
El RIDO
b36b3d1a82
Merge branch 'master' into webcrypto 2018-11-16 18:36:07 +01:00
El RIDO
18151e6e9e
Merge branch 'Quenty31-patch-2' 2018-11-16 18:05:26 +01:00
El RIDO
30bb34a4fe
generate code docs for private interfaces, too 2018-11-16 18:04:09 +01:00
Quentí
7a5a97c6ae
Update translation 2018-11-15 22:17:08 +01:00
rugk
8b803a1f5d
Merge branch 'dan-nkl-patch-1' 2018-11-08 22:23:36 +01:00
rugk
3885047cb6
Update i18n/de.json
Co-Authored-By: dan-nkl <daniel@nikul.in>
2018-11-07 08:38:35 +01:00
Daniel Nikulin
419311dffa
Update de.json
Better translations for German..
At least I think they are easier to understand.
2018-10-30 19:06:12 +01:00
rugk
9cce056cc8
Merge branch 'shrz-Fix-Ru-translation' 2018-10-28 20:04:16 +01:00
shrz
6f34626ad6 Fix Russian translation. 2018-10-28 18:20:54 +03:00
El RIDO
5b00f4ead7
further code deduplication 2018-10-20 23:08:13 +02:00
El RIDO
4c3fb3fe63
reduce code duplication 2018-10-20 22:34:36 +02:00
El RIDO
717e5b0e57
addressing issues found by codacy 2018-10-20 22:05:35 +02:00
El RIDO
0f76b9066d
remove SJCL library 2018-10-20 19:53:21 +02:00
El RIDO
2d7996570e
typos, documentation 2018-10-20 17:57:21 +02:00
El RIDO
2929d5c17a
fixing async comment nicknames 2018-10-20 13:54:17 +02:00
El RIDO
a08fed1add
ensure promises can be collected 2018-10-20 12:40:08 +02:00
El RIDO
35045bb69a
improving error handling 2018-10-20 11:40:37 +02:00
El RIDO
100d955e1a
address decryptComments() async compatibility 2018-10-20 10:20:32 +02:00
El RIDO
ff8ec5a1a0
address decryptOrPromptPassword(), decryptPaste() and decryptAttachment() async compatibility 2018-10-20 09:56:05 +02:00
El RIDO
c0d3b9062b
updating SRI hashes 2018-10-20 08:40:48 +02:00
rugk
17131f3172
Add verys important return to ensure Promise chain works 2018-10-08 21:04:13 +02:00
rugk
746debf586
Adjust functions using Uploader.setData to handle promises 2018-10-08 21:03:10 +02:00
rugk
94a352e7f5
Fix eslint config and issues
Note EcmaScript 2017 looks recent amd also is, e.g. we loose suport for IE and we loose support for some Android browsers, also Android <5 built-in browser.
2018-10-08 20:36:50 +02:00
El RIDO
bc0fb5b91e
Merge branch 'master' into webcrypto 2018-10-02 20:43:40 +02:00
El RIDO
00692a29d6
Merge branch 'SuperTux88-fix-dark-download-link' 2018-10-02 20:42:38 +02:00
Benjamin Neff
538462f134
Fix download-link color in dark boostrap themes
This makes the "Download attachment" link white in bootstrap-dark and
boostrap-dark-page. This is an upstream bug of darkstrap, but it's not
maintained anymore.
2018-10-02 02:06:44 +02:00
El RIDO
b62e259cfb
Merge branch 'master' into webcrypto 2018-09-17 05:26:58 +02:00
El RIDO
034d60f966
Merge branch 'EmilKra-patch-1' 2018-09-17 05:26:15 +02:00
EmilKra
256a5b2450
Update pl.json 2018-09-16 16:50:44 +02:00
El RIDO
41c54325fa
Merge branch 'master' into webcrypto 2018-09-16 16:24:15 +02:00
El RIDO
f9e0b7236c
Merge branch 'EmilKra-patch-1' 2018-09-16 16:23:27 +02:00
EmilKra
dcee0c7d39
Update pl.json 2018-09-16 14:43:44 +02:00
El RIDO
762386efd7
reverting to promises, since done can cause timeouts, indicating that the async execution can be really slow 2018-09-02 12:12:55 +02:00
El RIDO
f3eaee206c
using done() instead of promise, to enforce mocha to wait on the tests 2018-09-02 11:52:57 +02:00
El RIDO
176264f135
making tests use promises instead of async 2018-09-02 11:49:55 +02:00
El RIDO
b791157717
fix unit tests after merge from master, issues due to newly async tests that cause environment changes across test scripts 2018-09-02 11:33:27 +02:00
El RIDO
b191e2c437
Merge remote-tracking branch 'origin/master' into webcrypto 2018-09-02 10:07:57 +02:00
El RIDO
d66800b8ce
docker is now provided via https://github.com/PrivateBin/docker-nginx-fpm-alpine 2018-09-02 09:22:55 +02:00
El RIDO
8b71cb0b2f
properly escaping HTML in raw text mode, fixes #358 2018-09-02 09:14:36 +02:00
El RIDO
30b7be0781
async test, finding error for rngState 00b15fc0a8247e693d, due to failure in decompressing 2018-09-01 22:55:52 +02:00
El RIDO
b97ac08003
improving tests, correcting cipher 2018-09-01 22:22:10 +02:00
El RIDO
0dbbb61d11
implementing web crypto API for encryption 2018-09-01 19:42:22 +02:00
rugk
fe7fa09ce8
Merge branch 'idarlund-patch-5' 2018-08-14 17:56:18 +02:00
idarlund
5f8aeabea0
Update no.json
update missing text for getting paste data
2018-08-14 13:01:46 +02:00
El RIDO
bd6888687f
Merge branch 'master' into webcrypto 2018-08-14 06:59:47 +02:00
El RIDO
c4fc7edc43
replacing Base64.js with browser built in's, except for legacy paste support 2018-08-05 08:56:03 +02:00
El RIDO
6f25d651b7
switching to client side libraries for key generation, remove legacy browser support 2018-08-04 22:30:01 +02:00
El RIDO
c9a3bb08ee
remove dead code 2018-08-04 17:49:08 +02:00
El RIDO
4f332b7719
revert legacy browser support, dropped in favour of webcrypto API 2018-08-04 17:25:59 +02:00
El RIDO
c76957b3cb
adding unit test for truncation issue #328 2018-06-26 22:31:26 +02:00
El RIDO
b40e6305ca
Merge branch 'master' into empty-paste 2018-02-27 05:20:04 +01:00
El RIDO
5582c05414
decrypting a particular message encrypted with v1.1.1 fails (#260) 2017-12-10 07:04:54 +01:00
El RIDO
ee8ffdc51b
en- & decrypting the particular message works without issues 2017-12-10 07:02:32 +01:00
269 changed files with 35128 additions and 9283 deletions

View File

@ -0,0 +1,50 @@
{
"name": "PHP",
"image": "mcr.microsoft.com/devcontainers/php",
"customizations": {
"vscode": {
"extensions": [
"github.codespaces",
// PHP from https://github.com/devcontainers/templates/tree/main/src/php
"xdebug.php-debug",
"bmewburn.vscode-intelephense-client",
"xdebug.php-pack",
// PHP
"DEVSENSE.phptools-vscode",
"DEVSENSE.composer-php-vscode",
// linting
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint",
"raymondcamden.CSSLint",
// testing
"maty.vscode-mocha-sidebar"
]
},
"codespaces": {
"openFiles": [
"README.md",
"doc/README.md"
],
"repositories": {
"PrivateBin/*": {
"permissions": {
"pull_requests": "write"
}
}
}
}
},
"features": {
"ghcr.io/devcontainers-contrib/features/mocha:2": {}
},
"forwardPorts": [
8080
],
"postCreateCommand": [
"composer install --no-dev --optimize-autoloader",
"sudo chmod a+x \"$(pwd)\" && sudo rm -rf /var/www/html && sudo ln -s \"$(pwd)\" /var/www/html",
"npm install --global nyc"
],
// alternatiuve: apache2ctl start (but requires root)
"postAttachCommand": "php -S 0.0.0.0:8080"
}

View File

@ -1,18 +0,0 @@
# Documentation, might leak version number
CHANGELOG.md
LICENSE.md
CREDITS.md
INSTALL.md
README.md
doc/
# Dotfiles, pointless
.codeclimate.yml
.csslintrc
.editorconfig
.eslint*
.git*
.php_cs
.styleci.yml
.travis.yml
.github

View File

@ -1,3 +1,7 @@
---
parserOptions:
ecmaVersion: 2017
ecmaFeatures: ecmaFeatures:
modules: true modules: true
jsx: true jsx: true
@ -8,18 +12,16 @@ env:
es6: true es6: true
jquery: true jquery: true
node: true node: true
mocha: true
globals: globals:
sjcl: false DOMPurify: readonly
DOMPurify: false cleanup: writable
after: true describe: readonly
before: true jsc: readonly
cleanup: true jsdom: writable
describe: false kjua: writable
it: false WebCrypto: writable
jsc: false
jsdom: true
kjua: true
# http://eslint.org/docs/rules/ # http://eslint.org/docs/rules/
rules: rules:

18
.gitattributes vendored
View File

@ -1,10 +1,15 @@
bin/configuration-test-generator export-ignore
bin/icon-test export-ignore
doc/ export-ignore doc/ export-ignore
tst/ export-ignore tst/ export-ignore
img/browserstack.svg export-ignore
js/.istanbul.yml export-ignore js/.istanbul.yml export-ignore
js/.nycrc.yml export-ignore
js/common.js export-ignore
js/test/ export-ignore js/test/ export-ignore
.codeclimate.yml export-ignore .codeclimate.yml export-ignore
.csslintrc export-ignore .csslintrc export-ignore
.dockerignore export-ignore .devcontainer export-ignore
.editorconfig export-ignore .editorconfig export-ignore
.eslintignore export-ignore .eslintignore export-ignore
.eslintrc export-ignore .eslintrc export-ignore
@ -14,9 +19,14 @@ js/test/ export-ignore
.jshintrc export-ignore .jshintrc export-ignore
.nsprc export-ignore .nsprc export-ignore
.php_cs export-ignore .php_cs export-ignore
.scrutinizer.yml export-ignore
.styleci.yml export-ignore .styleci.yml export-ignore
.travis.yml export-ignore .travis.yml export-ignore
Dockerfile export-ignore .vscode export-ignore
docker-compose.yml export-ignore codacy-analysis.yml export-ignore
docker/ export-ignore crowdin.yml export-ignore
composer.json export-ignore composer.json export-ignore
composer.lock export-ignore
BADGES.md export-ignore
CODE_OF_CONDUCT.md export-ignore
Makefile export-ignore

91
.github/DISCUSSION_TEMPLATE/q-a.yml vendored Normal file
View File

@ -0,0 +1,91 @@
title: ""
labels: ["question/support"]
body:
- type: markdown
attributes:
value: |
## Thanks for taking the time to fill out this form!
- type: textarea
id: description
attributes:
label: Describe the problem/question
description: A clear and concise description of what the problem/issue or question is.
validations:
required: true
- type: checkboxes
id: readed-faq
attributes:
label: Did you use the FAQ section?
description: Have you read [the FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)?
options:
- label: Yes, I have read [the FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ) and I found no solution/answer there.
required: true
- type: textarea
id: what_you_did
attributes:
label: What you did?
description: Tell us how to reproduce the problem.
value: |
1.
2.
...
validations:
required: true
- type: textarea
id: what_happens
attributes:
label: What happens
placeholder: Tell us what you see!
- type: textarea
id: what_should_happen
attributes:
label: What should happen
placeholder: Tell us what you want to see!
- type: textarea
id: additional_info
attributes:
label: Additional information
description: E.g. if you have access to the server log files, copy them here. Or copy the browser console content, if appropiate.
- type: input
id: server_address
attributes:
label: Server address
description: The instance of PrivateBin, where you experience the issue.
placeholder: e.g. https://privatebin.net
- type: input
id: server_os
attributes:
label: Server OS
placeholder: e.g. Ubuntu
- type: input
id: webserver
attributes:
label: Webserver
placeholder: e.g. Apache
- type: input
id: privatebin_version
attributes:
label: PrivateBin version
description: The PrivateBin version, where you experience the issue. It is e.g. shown at the bottom left in the web interface.
placeholder: e.g. v1.5.2
- type: input
id: browser
attributes:
label: Browser and version
placeholder: e.g. Firefox v116.3.0 (desktop)
- type: input
id: client
attributes:
label: Local operating system and version
placeholder: e.g. Windows 10
- type: dropdown
id: reproduce_issue
attributes:
label: Issue reproducibility
description: Can you reproduce this issue on [https://privatebin.net](https://privatebin.net)?
options:
- "No, I cannot reproduce it on https://privatebin.net."
- "Yes, reproducible on https://privatebin.net."
default: 0
validations:
required: true

View File

@ -1,5 +1,16 @@
<!-- Please have a look at our FAQ before submitting an issue: https://github.com/PrivateBin/PrivateBin/wiki/FAQ --> ---
<!-- This is a template for a bug report. If you would like to suggest a feature, feel free to delete the part below. --> name: Bug report
about: Create a report to help us improve (only for software bugs)
title: ''
labels: bug
assignees: ''
---
<!-- Please make sure to **only** use this template when it is about bugs in the PrivateBin PHP project.
Otherwise, for help and support issues e.g. for deployment issues, please go back and chose the appropiate category. -->
<!-- Describe the bug: A clear and concise description of what the bug is. -->
## Steps to reproduce ## Steps to reproduce
<!-- Tell us how to reproduce the problem. --> <!-- Tell us how to reproduce the problem. -->
@ -26,7 +37,7 @@ If you have access to the server log files, also copy them here.
<!-- The Operation System of your server --> <!-- The Operation System of your server -->
**Server OS:** **Server OS:**
<!-- The webserver running on your server, preferrably including the version --> <!-- The webserver running on your server, preferably including the version -->
**Webserver:** **Webserver:**
<!-- The version of your browser (when it is a client-side issue) --> <!-- The version of your browser (when it is a client-side issue) -->

9
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,9 @@
blank_issues_enabled: false
contact_links:
- name: Question and support
url: https://github.com/orgs/PrivateBin/discussions/new?category=q-a
about: Your setup is not working and you need help or you have a question regarding PrivateBin
- name: Problem with the container image
url: https://github.com/PrivateBin/docker-nginx-fpm-alpine/issues/new
about: Please report all problems that apply only(!) to the official (Docker) image “docker-nginx-fpm-alpine” here.

View File

@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
## The problem
<!-- Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when -->
## The solution
<!-- A clear and concise description of what you want to happen. Pitch your solution! What would happen, if we don't implement this? -->
## Alternatives
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
## Additional context
<!-- Add any other context or screenshots about the feature request here. -->

14
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,14 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
# src: https://github.com/marketplace/actions/build-and-push-docker-images#keep-up-to-date-with-github-dependabot
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
# Also keep PHP (Composer) dependencies up-to-date
# see: https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"

49
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@ -0,0 +1,49 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# Currently can only check JS.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '28 22 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

29
.github/workflows/snyk-scan.yml vendored Normal file
View File

@ -0,0 +1,29 @@
# This is a basic workflow to help you get started with Actions
name: Snyk scan
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
# https://github.com/snyk/actions/tree/master/php
snyk-php:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Google Cloud Storage
run: composer require --no-update google/cloud-storage && composer update --no-dev
- name: Run Snyk to check for vulnerabilities
uses: snyk/actions/php@master
continue-on-error: true # To make sure that SARIF upload gets called
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
args: --sarif-file-output=snyk.sarif
- name: Upload result to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: snyk.sarif

120
.github/workflows/tests.yml vendored Normal file
View File

@ -0,0 +1,120 @@
name: Tests
on:
push:
workflow_dispatch:
jobs:
Composer:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install dependencies
run: composer install --prefer-dist --no-dev
PHPunit:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.3', '7.4', '8.0', '8.1', '8.2']
name: PHP ${{ matrix.php-versions }} unit tests on ${{ matrix.operating-system }}
env:
extensions: gd, sqlite3
extensions-cache-key-name: phpextensions
steps:
# let's get started!
- name: Checkout
uses: actions/checkout@v4
# cache PHP extensions
- name: Setup cache environment
id: extcache
uses: shivammathur/cache-extensions@v1
with:
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}
key: ${{ runner.os }}-${{ env.extensions-cache-key }}
- name: Cache extensions
uses: actions/cache@v3
with:
path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}
restore-keys: ${{ runner.os }}-${{ env.extensions-cache-key }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}
# Setup GitHub CI PHP problem matchers
# https://github.com/shivammathur/setup-php#problem-matchers
- name: Setup problem matchers for PHP
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
- name: Setup problem matchers for PHPUnit
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
# composer cache
- name: Remove composer lock
run: rm composer.lock
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
# http://man7.org/linux/man-pages/man1/date.1.html
# https://github.com/actions/cache#creating-a-cache-key
- name: Get Date
id: get-date
run: echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-${{ steps.get-date.outputs.date }}-
# composer installation
- name: Setup PHPunit
run: composer install -n
- name: Install Google Cloud Storage
run: composer require google/cloud-storage
# testing
- name: Run unit tests
run: ../vendor/bin/phpunit --no-coverage
working-directory: tst
Mocha:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'npm'
cache-dependency-path: 'js/package-lock.json'
- name: Setup Mocha
run: npm install -g mocha
- name: Setup Node modules
run: npm ci
working-directory: js
- name: Run unit tests
run: npm test
working-directory: js

10
.gitignore vendored
View File

@ -6,16 +6,12 @@ cfg/*
!cfg/.htaccess !cfg/.htaccess
# Ignore data/ # Ignore data/
data/ /data/
# Ignore PhpDoc # Ignore PhpDoc
doc/* doc/*
!doc/*.md !doc/*.md
# Ignore developers composer status so it isn't accidentally checked in,
# see https://github.com/PrivateBin/PrivateBin/issues/84
composer.lock
# Ignore vendor dir of Composer except PHP files # Ignore vendor dir of Composer except PHP files
vendor/*.* vendor/*.*
vendor/*/*.* vendor/*/*.*
@ -35,8 +31,12 @@ js/node_modules/
js/test.log js/test.log
tst/log/ tst/log/
tst/ConfigurationCombinationsTest.php tst/ConfigurationCombinationsTest.php
tst/.phpunit.result.cache
.settings .settings
.buildpath .buildpath
.project .project
.externalToolBuilders .externalToolBuilders
.c9 .c9
/.idea/
*.iml
paste.log

View File

@ -1,3 +1,12 @@
RewriteEngine on RewriteEngine on
RewriteCond !%{HTTP_USER_AGENT} "Let's Encrypt validation server" [NC]
RewriteCond %{HTTP_USER_AGENT} ^.*(bot|spider|crawl|https?://|WhatsApp|SkypeUriPreview|facebookexternalhit) [NC] RewriteCond %{HTTP_USER_AGENT} ^.*(bot|spider|crawl|https?://|WhatsApp|SkypeUriPreview|facebookexternalhit) [NC]
RewriteRule .* - [R=403,L] RewriteRule .* - [R=403,L]
<IfModule mod_php7.c>
php_value max_execution_time 30
php_value post_max_size 10M
php_value upload_max_size 10M
php_value upload_max_filesize 10M
php_value max_file_uploads 100
</IfModule>

View File

@ -2,7 +2,7 @@
"bitwise": true, "bitwise": true,
"curly": true, "curly": true,
"eqeqeq": true, "eqeqeq": true,
"esversion": 5, "esversion": 6,
"forin": true, "forin": true,
"freeze": true, "freeze": true,
"futurehostile": true, "futurehostile": true,
@ -39,7 +39,6 @@
"window": true "window": true
}, },
"globals": { "globals": {
"sjcl": true,
"DOMPurify": true, "DOMPurify": true,
"kjua": true "kjua": true
} }

34
.scrutinizer.yml Normal file
View File

@ -0,0 +1,34 @@
checks:
php: true
javascript: true
filter:
paths:
- "css/privatebin.css"
- "css/bootstrap/privatebin.css"
- "js/privatebin.js"
- "lib/*.php"
- "index.php"
coding_style:
php:
spaces:
around_operators:
additive: false
concatenation: true
build:
image: default-bionic
environment:
php:
version: 7.4
tests:
override:
-
command: 'composer require google/cloud-storage && cd tst && ../vendor/bin/phpunit'
coverage:
file: 'tst/log/coverage-clover.xml'
format: 'clover'
nodes:
tests: true
analysis:
tests:
override:
- php-scrutinizer-run

View File

@ -17,7 +17,7 @@ disabled:
- concat_without_spaces - concat_without_spaces
- declare_equal_normalize - declare_equal_normalize
- heredoc_to_nowdoc - heredoc_to_nowdoc
- method_argument_space - method_argument_space_strict
- new_with_braces - new_with_braces
- no_alternative_syntax - no_alternative_syntax
- phpdoc_align - phpdoc_align
@ -29,3 +29,9 @@ disabled:
- short_array_syntax - short_array_syntax
- single_line_after_imports - single_line_after_imports
- unalign_equals - unalign_equals
finder:
path:
- "lib/"
- "tpl/"
- "tst/"

View File

@ -1,35 +0,0 @@
language: php
sudo: false
php:
- '5.4'
- '5.5'
- '5.6'
- '7.0'
- '7.1'
- '7.2'
# as this is a php project, node.js v4 (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.33.8/install.sh | NVM_METHOD=script bash; fi
- source ~/.nvm/nvm.sh && nvm install 4
before_script:
- composer install -n
- npm install -g mocha
- cd js && npm install jsverify jsdom@9 jsdom-global@2 mime-types
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

7
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"recommendations": [
"recca0120.vscode-phpunit",
"onecentlin.phpunit-snippets",
"devsense.profiler-php-vscode"
]
}

35
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,35 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch built-in server and debug",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9003,
"serverReadyAction": {
"action": "openExternally"
}
},
{
"name": "Debug current script in console",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"externalConsole": false,
"port": 9003
},
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}

11
BADGES.md Normal file
View File

@ -0,0 +1,11 @@
# Badges
[![Build Status](https://travis-ci.org/PrivateBin/PrivateBin.svg?branch=master)](https://travis-ci.org/PrivateBin/PrivateBin) [![Build Status](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/build.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/build-status/master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/094500f62abf4c9aa0c8a8a4520e4789)](https://www.codacy.com/app/PrivateBin/PrivateBin)
[![Code Climate](https://codeclimate.com/github/PrivateBin/PrivateBin/badges/gpa.svg)](https://codeclimate.com/github/PrivateBin/PrivateBin)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/?branch=master)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/57c9e74e-c6f9-4de6-a876-df66ec2ea1ff/mini.png)](https://insight.sensiolabs.com/projects/57c9e74e-c6f9-4de6-a876-df66ec2ea1ff)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/094500f62abf4c9aa0c8a8a4520e4789)](https://www.codacy.com/app/PrivateBin/PrivateBin)
[![Test Coverage](https://codeclimate.com/github/PrivateBin/PrivateBin/badges/coverage.svg)](https://codeclimate.com/github/PrivateBin/PrivateBin/coverage) [![Code Coverage](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/?branch=master)
[![BrowserStack - cross browser testing](img/browserstack.svg)](https://www.browserstack.com/)

View File

@ -1,8 +1,127 @@
# PrivateBin version history # PrivateBin version history
* **1.2.2 (2020-01-11)** * **1.6.0 (2023-09-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 * ADDED: Translations for Japanese & Arabic
* ADDED: Configuration option to disable Email button (#1164)
* CHANGED: Minimum required PHP version is 7.3, due to upgrading PHPunit (#707)
* CHANGED: Removed PHP 5 polyfill for random_bytes()
* **1.5.2 (2023-07-09)**
* ADDED: Allow AWS SDK to use default credential provider chain for S3Storage (#1070)
* CHANGED: Upgrading libraries to: DOMpurify 3.0.4 & jQuery 3.7.0
* FIXED: Addressed PHP 8.2 deprecation warnings (#1092)
* FIXED: Expose types JSON-LD incl. configured expiration dates (#1045)
* **1.5.1 (2022-12-24)**
* ADDED: script for administrative tasks: deleting pastes (#274), removing empty directories (#277), purging expired pastes (#276) & statistics (#319)
* FIXED: Revert Filesystem purge to limited and randomized lookup (#1030)
* FIXED: Catch JSON decode errors when invalid data gets sent to the API (#1030)
* FIXED: Support sorting v1 format in mixed version comments in Filesystem backend (#1030)
* **1.5 (2022-12-11)**
* ADDED: script for data storage backend migrations (#1012)
* ADDED: Translations for Turkish, Slovak, Greek and Thai
* ADDED: S3 Storage backend (#994)
* ADDED: Jdenticons as an option for comment icons (#793)
* CHANGED: Avoid `SUPER` privilege for setting the `sql_mode` for MariaDB/MySQL (#919)
* CHANGED: Upgrading libraries to: DOMpurify 2.4.6, jQuery 3.6.1, Showdown 2.1.0 & zlib 1.2.13
* FIXED: Revert to CREATE INDEX without IF NOT EXISTS clauses, to support MySQL (#943)
* FIXED: Apply table prefix to indexes as well, to support multiple instances sharing a single database (#943)
* FIXED: YOURLS integration via new proxy, storing signature in configuration (#725)
* **1.4 (2022-04-09)**
* ADDED: Translations for Corsican, Estonian, Finnish and Lojban
* ADDED: new HTTP headers improving security (#765)
* ADDED: Download button for paste text (#774)
* ADDED: Opt-out of federated learning of cohorts (FLoC) (#776)
* ADDED: Configuration option to exempt IPs from the rate-limiter (#787)
* ADDED: Google Cloud Storage backend support (#795)
* ADDED: Oracle database support (#868)
* ADDED: Configuration option to limit paste creation and commenting to certain IPs (#883)
* ADDED: Set CSP also as meta tag, to deal with misconfigured webservers mangling the HTTP header
* ADDED: Sanitize SVG preview, preventing script execution in instance context
* CHANGED: Language selection cookie only transmitted over HTTPS (#472)
* CHANGED: Upgrading libraries to: base-x 4.0.0, bootstrap 3.4.1 (JS), DOMpurify 2.3.6, ip-lib 1.18.0, jQuery 3.6.0, random_compat 2.0.21, Showdown 2.0.3 & zlib 1.2.12
* CHANGED: Removed automatic `.ini` configuration file migration (#808)
* CHANGED: Removed configurable `dir` for `traffic` & `purge` limiters (#419)
* CHANGED: Server salt, traffic and purge limiter now stored in the storage backend (#419)
* CHANGED: Drop support for attachment download in IE
* FIXED: Error when attachments are disabled, but paste with attachment gets displayed
* **1.3.5 (2021-04-05)**
* ADDED: Translations for Hebrew, Lithuanian, Indonesian and Catalan
* ADDED: Make the project info configurable (#681)
* CHANGED: Upgrading libraries to: DOMpurify 2.2.7, kjua 0.9.0 & random_compat 2.0.18
* CHANGED: Open all links in new window (#630)
* FIXED: PDF display in Firefox (#630)
* FIXED: Allow pasting into password input dialog (#630)
* FIXED: Display of expiration date in email (#630)
* FIXED: Allow display of durations in weeks (#630)
* FIXED: Avoid exposing burn-after-reading messages from cache (#630)
* FIXED: Only display the dropzone when it should (#630)
* FIXED: Detect delete token properly (#630)
* FIXED: Sanitize output from `Helper.urls2links()` (#630)
* FIXED: Avoid recreation of existing pasteurl element when calling URL shortener (#630)
* FIXED: Downloads in Chrome >= 83 (#634)
* FIXED: Display of empty files (#663)
* FIXED: Improve OpenGraph attributes (#651)
* FIXED: Reset to configured burn-after-reading, discussion and expiration settings (#682)
* FIXED: Italic segment of project information (#756)
* **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: 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 (CSS), 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)
* CHANGED: Enhanced URL shortener integration (#479)
* CHANGED: Improved file upload drag & drop UI (#317)
* CHANGED: Increased default size limit from 2 to 10 MiB, switch data from BLOB to MEDIUMBLOB in MySQL (#458)
* CHANGED: Upgrading libraries to: DOMpurify 2.0.1
* FIXED: Enabling browsers without WASM to create pastes and read uncompressed ones (#454)
* FIXED: Cloning related issues (#489, #491, #493, #494)
* FIXED: Enable file operation only when editing (#497)
* FIXED: Clicking 'New' on a previously submitted paste does not blank address bar (#354)
* FIXED: Clear address bar when create new paste from existing paste (#479)
* FIXED: Discussion section not hiding when new/clone paste is clicked on (#484)
* FIXED: Showdown.js error when posting svg qrcode (#485)
* FIXED: Failed to handle the case where user cancelled attachment selection properly (#487)
* FIXED: Displaying the appropriate errors in older browsers (#508)
* **1.3 (2019-07-09)**
* ADDED: Translation for Czech (#424)
* ADDED: Threat modeled the application (#177)
* ADDED: Made compression configurable (#38)
* CHANGED: Minimum required PHP version is 5.5, due to a change in the identicon library
* CHANGED: Minimum required browser versions are Firefox 54, Chrome 57, Opera 44, Safari 11, Edge 16, due to use of WebCrypto API, async/await, ES6 & WebAssembly features - all Internet Explorer versions are incompatible
* CHANGED: JSON and encryption formats were changed to replace SJCL library by browser integrated WebCrypto API (#28, #74)
* CHANGED: Replaced rawdeflate.js with zlib.wasm to resolve decompression failures and gain compatibility with standard deflate implementations (#193, #260, #328, #434, #440)
* CHANGED: Increase PBKDF2 iterations to 100k (#350)
* CHANGED: Replaced last use of MD5 with FowlerNollVo checksum which produces the exact length we need for the paste ID (#49)
* CHANGED: Simplified some PHP code & renamed PrivateBin class into Controller, to make MVC pattern use more obvious (#342)
* CHANGED: Upgrading libraries to: identicon 1.2.0, random_compat 2.0.18, jQuery 3.4.1, Showdown 1.9.0, DOMpurify 1.0.11 & kjua 0.6.0
* FIXED: Prevent Chrome from sending content of paste to Google for translation (#378)
* FIXED: To support attachments larger then 2 MiB in newer Chrome versions, we switched to blob instead of data URIs (#432)
* FIXED: Since Outlook strips trailing equal signs in links, the key in URL hash is now base58 encoded, instead of base64 (#377)
* FIXED: Facebooks started injecting parameters into shared URLs for tracking that lead to inaccessible pastes (#396)
* FIXED: Properly escaped HTML in raw text mode (#358)
* FIXED: Made download links better readable in the dark bootstrap theme (#364)
* FIXED: Allow Letsencrypt bot to access on apache servers (#413)
* **1.2.1 (2018-08-11)** * **1.2.1 (2018-08-11)**
* ADDED: Add support for mega.nz links in pastes and comments (#331) * ADDED: Add support for mega.nz links in pastes and comments (#331)
* CHANGED: Added some missing Russian translations (#348) * CHANGED: Added some missing Russian translations (#348)

9
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,9 @@
# Netiquette
As suggested by the current project hoster, we are hereby referring to
[RFC 1855](https://tools.ietf.org/html/rfc1855) as a minimum set of guidelines
of Network Etiquette for individuals interacting on this project.
The maintainers of this project reserve the right to remove unlawful or
disrupting content and block users that repeatedly disturb the project at their
discretion.

View File

@ -2,17 +2,17 @@
## Active contributors ## Active contributors
Simon Rupf - current developer and maintainer * Simon Rupf - current developer and maintainer
rugk - security review, doc improvment, JS refactoring & various other stuff * rugk - security review, doc improvment, JS refactoring & various other stuff
* R4SAS - python client, compression, blob URI to support larger attachments
## Past contributions ## Past contributions
Sébastien Sauvage - original idea and main developer * Sébastien Sauvage - original idea and main developer
* Alexey Gladkov - syntax highlighting * Alexey Gladkov - syntax highlighting
* Greg Knaddison - robots.txt * Greg Knaddison - robots.txt
* MrKooky - HTML5 markup, CSS cleanup * MrKooky - HTML5 markup, CSS cleanup
* Simon Rupf - MVC refactoring, configuration, i18n and unit tests * Simon Rupf - WebCrypto, unit tests, container images, database backend, MVC, configuration, i18n
* Hexalyse - Password protection * Hexalyse - Password protection
* Viktor Stanchev - File upload support * Viktor Stanchev - File upload support
* azlux - Tab character input support * azlux - Tab character input support
@ -21,8 +21,17 @@ Sébastien Sauvage - original idea and main developer
* Sobak - PSR-4 and PSR-2 refactoring * Sobak - PSR-4 and PSR-2 refactoring
* Nathaniel Olsen - jQuery upgrade * Nathaniel Olsen - jQuery upgrade
* Alexander Demenshin - modal password dialog * Alexander Demenshin - modal password dialog
* PunKeel - Dockerfile * PunKeel - first docker container
* thororm - Display of video, audio & PDF, drag & drop, preview of attachments * 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
* rodehoed - option to exempt ips from the rate-limiter
* Mark van Holsteijn - Google Cloud Storage backend
* Austin Huang - Oracle database support
* Felix J. Ogris - S3 Storage backend, script for data backend migrations, dropped singleton behaviour of data backends
* Mounir Idrassi & J. Mozdzen - secure YOURLS integration
* Felipe Nakandakari - enabled AWS SDK to use default credential provider chain in the S3 Storage backend
## Translations ## Translations
* Hexalyse - French * Hexalyse - French
@ -39,3 +48,20 @@ Sébastien Sauvage - original idea and main developer
* Tulio Leao - Portuguese * Tulio Leao - Portuguese
* Michael van Schaik - Dutch * Michael van Schaik - Dutch
* Péter Tabajdi - Hungarian * Péter Tabajdi - Hungarian
* info-path - Czech
* BigWax - Bulgarian
* AndriiZ - Ukrainian
* Yaron Shahrabani - Hebrew
* Moo - Lithuanian
* whenwesober - Indonesian
* retiolus - Catalan
* sarnane - Estonian
* foxsouns - Lojban
* Patriccollu di Santa Maria è Sichè - Corsican
* Markus Mikkonen - Finnish
* Emir Ensar Rahmanlar - Turkish
* Stevo984 - Slovak
* Christos Karamolegkos - Greek
* jaideejung007 - Thai
* Nicolas Le Gall - Japanese
* lazerns - Arabic

View File

@ -1,26 +0,0 @@
FROM php:apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
wget \
zip \
unzip && \
# We install and enable php-gd
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ &&\
docker-php-ext-install -j$(nproc) gd && \
# We enable Apache's mod_rewrite
a2enmod rewrite
# Copy app content
COPY . /var/www/html
# Copy start script
RUN mv /var/www/html/docker/entrypoint.sh / && \
rm -r /var/www/html/docker
VOLUME /var/www/html/data
CMD /entrypoint.sh

View File

@ -1,171 +0,0 @@
# Installation
**TL;DR:** Download the
[latest release archive](https://github.com/PrivateBin/PrivateBin/releases/latest)
and extract it in your web hosts folder where you want to install your PrivateBin
instance. We try to provide a mostly safe default configuration, but we urge you to
check the [security section](#hardening-and-security) below and the [configuration
options](#configuration) to adjust as you see fit.
**NOTE:** See [our FAQ](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#how-can-i-securely-clonedownload-your-project) for information how to securely download the PrivateBin release files.
### Minimal requirements
- PHP version 5.4 or above
- _one_ of the following sources of cryptographically safe randomness is required:
- PHP 7 or higher
- [Libsodium](https://download.libsodium.org/libsodium/content/installation/) and it's [PHP extension](https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium)
- 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)
- ability to create files and folders in the installation directory and the PATH defined in index.php
- A web browser with javascript support
## Hardening and security
### Changing the path
In the index.php you can define a different `PATH`. This is useful to secure your
installation. You can move the configuration, data files, templates and PHP
libraries (directories cfg, doc, data, lib, tpl, tst and vendor) outside of your
document root. This new location must still be accessible to your webserver / PHP
process (see also
[open_basedir setting](https://secure.php.net/manual/en/ini.core.php#ini.open-basedir)).
> #### PATH Example
> Your PrivateBin installation lives in a subfolder called "paste" inside of
> your document root. The URL looks like this:
> http://example.com/paste/
>
> 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
### Transport security
When setting up PrivateBin, also set up HTTPS, if you haven't already. Without HTTPS
PrivateBin is not secure, as the javascript files could be manipulated during transmission.
For more information on this, see our [FAQ entry on HTTPS setup](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#how-should-i-setup-https).
### File-level permissions
After completing the installation, you should make sure, other users on the system cannot read the config file or the `data/` directory, as depending on your configuration potential secret information are saved there.
See [this FAQ item](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#what-are-the-recommended-file-and-folder-permissions-for-privatebin) for a detailed guide on how to "harden" the permissions of files and folders.
## Configuration
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.
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
you set a time limit in seconds. Users may not post more often then this limit
to your PrivateBin installation.
More details can be found in the
[configuration documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration).
## Advanced installation
### Web server configuration
A `robots.txt` file is provided in the root dir of PrivateBin. It disallows all
robots from accessing your pastes. It is recommend to place it into the root of
your web directory if you have installed PrivateBin in a subdirectory. Make sure
to adjust it, so that the file paths match your installation. Of course also
adjust the file if you already use a `robots.txt`.
A `.htaccess.disabled` file is provided in the root dir of PrivateBin. It blocks
some known robots and link-scanning bots. If you use Apache, you can rename the
file to `.htaccess` to enable this feature. If you use another webserver, you
have to configure it manually to do the same.
### When using Cloudflare
If you want to use PrivateBin behind Cloudflare, make sure you have disabled the Rocket
loader and unchecked "Javascript" for Auto Minify, found in your domain settings,
under "Speed". (More information
[in this FAQ entry](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#user-content-how-to-make-privatebin-work-when-using-cloudflare-for-ddos-protection))
### Using a database instead of flat files
In the configuration file the `[model]` and `[model_options]` sections let you
configure your favourite way of storing the pastes and discussions on your
server.
`Filesystem` is the default model, which stores everything in files in the
data folder. This is the recommended setup for most sites.
Under high load, in distributed setups or if you are not allowed to store files
locally, you might want to switch to the `Database` model. This lets you
store your data in a database. Basically all databases that are supported by
[PDO](https://secure.php.net/manual/en/book.pdo.php) may be used. Automatic table
creation is provided for `pdo_ibm`, `pdo_informix`, `pdo_mssql`, `pdo_mysql`,
`pdo_oci`, `pdo_pgsql` and `pdo_sqlite`. You may want to provide a table prefix,
if you have to share the PrivateBin database with another application or you want
to use a prefix for
[security reasons](https://security.stackexchange.com/questions/119510/is-using-a-db-prefix-for-tables-more-secure).
The table prefix option is called `tbl`.
> #### Note
> The `Database` model has only been tested with SQLite, MySQL and PostgreSQL,
> although it would not be recommended to use SQLite in a production environment.
> If you gain any experience running PrivateBin on other RDBMS, please let us
> know.
The following GRANTs (privileges) are required for the PrivateBin user in **MySQL**. In normal operation:
- INSERT, SELECT, DELETE on the paste and comment tables
- SELECT on the config table
If you want PrivateBin to handle table creation (when you create the first paste) and updates (after you update PrivateBin to a new release), you need to give the user these additional privileges:
- CREATE, INDEX and ALTER on the database
- INSERT and UPDATE on the config table
For reference or if you want to create the table schema for yourself to avoid having to give PrivateBin too many permissions (replace
`prefix_` with your own table prefix and create the table schema with your favourite MySQL console):
```sql
CREATE TABLE prefix_paste (
dataid CHAR(16) NOT NULL,
data BLOB,
postdate INT,
expiredate INT,
opendiscussion INT,
burnafterreading INT,
meta TEXT,
attachment MEDIUMBLOB,
attachmentname BLOB,
PRIMARY KEY (dataid)
);
CREATE TABLE prefix_comment (
dataid CHAR(16),
pasteid CHAR(16),
parentid CHAR(16),
data BLOB,
nickname BLOB,
vizhash BLOB,
postdate INT,
PRIMARY KEY (dataid)
);
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.2.2');
```
In **PostgreSQL**, the data, attachment, nickname and vizhash columns needs to be TEXT and not BLOB or MEDIUMBLOB.

View File

@ -2,15 +2,15 @@
PrivateBin consists of PHP and JS code which was originally written by Sébastien PrivateBin consists of PHP and JS code which was originally written by Sébastien
Sauvage in 2012 and falls unter the Zlib/libpng license. Also included are Sauvage in 2012 and falls unter the Zlib/libpng license. Also included are
libraries that fall under the GPLv2 (SJCL, rawinflate, rawdeflate), BSD libraries that fall under the GPLv2 (rawinflate), BSD 3-clause (Showdown), MIT
2-clause (SJCL), BSD 3-clause (base64.js version 2.1.9, Showdown), MIT (base64.js version 1.7, Bootstrap, Identicon, random_compat, composer, kjua,
(base64.js version 1.7, Bootstrap, Identicon, random_compat), Apache base-x), Apache (prettify.js) and CC-BY (favicon, icon, logo) licenses. All of
(prettify.js) and CC-BY (favicon, icon, logo) licenses. All of these license these license terms can be found here below:
terms can be found here below:
## Zlib/libpng license for PrivateBin ## Zlib/libpng license for PrivateBin and zlib
Copyright © 2012 Sébastien Sauvage Copyright © 2012 Sébastien Sauvage
Copyright © 1995-2017 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied warranty. In This software is provided 'as-is', without any express or implied warranty. In
no event will the authors be held liable for any damages arising from the use no event will the authors be held liable for any damages arising from the use
@ -30,17 +30,7 @@ the following restrictions:
3. This notice may not be removed or altered from any source distribution. 3. This notice may not be removed or altered from any source distribution.
### MIT license for kjua ## GNU General Public License, version 2.0, for rawinflate
Copyright (c) 2016 Lars Jung (https://larsjung.de)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## GNU General Public License, version 2.0, for SJCL, rawdeflate and rawinflate
_Version 2, June 1991_ _Version 2, June 1991_
_Copyright © 1989, 1991 Free Software Foundation, Inc.,_ _Copyright © 1989, 1991 Free Software Foundation, Inc.,_
@ -317,31 +307,6 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
## BSD 2-Clause License for SJCL
_Copyright © 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at Stanford University._
_All rights reserved._
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## BSD 3-Clause License for Showdown ## BSD 3-Clause License for Showdown
Showdown Copyright © 2007, John Fraser Showdown Copyright © 2007, John Fraser
@ -377,61 +342,15 @@ any theory of liability, whether in contract, strict liability, or tort
(including negligence or otherwise) arising in any way out of the use of this (including negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage. software, even if advised of the possibility of such damage.
## BSD 3-Clause License for base64.js version 2.1.9 ## MIT License for base64.js version 1.7, Bootstrap, Identicon, Composer, kjua and base-x
Copyright © 2014, Dan Kogai
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of base64.js nor the names of its contributors may be used
to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## MIT License for base64.js version 1.7
Copyright © 2012 Dan Kogai Copyright © 2012 Dan Kogai
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## MIT License for Bootstrap
Copyright © 2011-2016 Twitter, Inc. Copyright © 2011-2016 Twitter, Inc.
Copyright © 2013 Benjamin Laugueux <benjamin@yzalis.com>
Copyright © 2016 Nils Adermann, Jordi Boggiano
Copyright © 2016 Lars Jung (https://larsjung.de)
Copyright © 2018 base-x contributors
Copyright © 2014-2018 The Bitcoin Core developers
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@ -451,72 +370,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
## MIT License for Identicon
Copyright © 2013 Benjamin Laugueux <benjamin@yzalis.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## MIT License for random_compat
Copyright © 2015 Paragon Initiative Enterprises
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## MIT license for Composer
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
## Apache License for prettify.js ## Apache License for prettify.js
_Version 2.0, January 2004_ _Version 2.0, January 2004_

57
Makefile Normal file
View File

@ -0,0 +1,57 @@
.PHONY: all coverage coverage-js coverage-php doc doc-js doc-php increment sign test test-js test-php help
CURRENT_VERSION = 1.6.0
VERSION ?= 1.6.1
VERSION_FILES = index.php bin/ cfg/ *.md doc/Installation.md css/ i18n/ img/ js/package.json 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`.
composer: ## Update composer dependencies (only production ones, optimize the autoloader)
composer update --no-dev --optimize-autoloader
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 tst/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
cd tst && phpunit --no-coverage && cd ..
git add $(VERSION_FILES) tpl/
git commit -m "incrementing version"
sign: ## Sign a release.
git tag --sign --message "Release v$(VERSION)" $(VERSION)
git push origin $(VERSION)
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
Procfile Normal file
View File

@ -0,0 +1 @@
web: vendor/bin/heroku-php-apache2

12
README.chapril.md Normal file
View File

@ -0,0 +1,12 @@
# Construire une version Chapril de privatebin
```
git fetch --all
export VERSION=1.6.0
git rebase ${VERSION?}
# [... Résoudre les conflits]
git tag ${VERSION?}-chapril
git push --tags origin # Pousser le tag côté forge April
git archive -o /tmp/chapril-paste-${VERSION?}.tar.gz --prefix=chapril-paste-${VERSION?}/ ${VERSION?}-chapril
```

View File

@ -1,32 +1,27 @@
# [<img alt="PrivateBin" src="https://cdn.rawgit.com/PrivateBin/assets/master/images/minified/logo.svg" width="500" />](https://privatebin.info/) # [![PrivateBin](https://cdn.rawgit.com/PrivateBin/assets/master/images/preview/logoSmall.png)](https://privatebin.info/)
[![Build Status](https://travis-ci.org/PrivateBin/PrivateBin.svg?branch=master)](https://travis-ci.org/PrivateBin/PrivateBin) [![Build Status](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/build.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/build-status/master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/094500f62abf4c9aa0c8a8a4520e4789)](https://www.codacy.com/app/PrivateBin/PrivateBin)
[![Code Climate](https://codeclimate.com/github/PrivateBin/PrivateBin/badges/gpa.svg)](https://codeclimate.com/github/PrivateBin/PrivateBin)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/?branch=master)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/57c9e74e-c6f9-4de6-a876-df66ec2ea1ff/mini.png)](https://insight.sensiolabs.com/projects/57c9e74e-c6f9-4de6-a876-df66ec2ea1ff)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/094500f62abf4c9aa0c8a8a4520e4789)](https://www.codacy.com/app/PrivateBin/PrivateBin)
[![Test Coverage](https://codeclimate.com/github/PrivateBin/PrivateBin/badges/coverage.svg)](https://codeclimate.com/github/PrivateBin/PrivateBin/coverage) [![Code Coverage](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/PrivateBin/PrivateBin/?branch=master)
*Current version: 1.2.2* *Current version: 1.6.0*
**PrivateBin** is a minimalist, open source online [pastebin](https://en.wikipedia.org/wiki/Pastebin) **PrivateBin** is a minimalist, open source online
[pastebin](https://en.wikipedia.org/wiki/Pastebin)
where the server has zero knowledge of pasted data. where the server has zero knowledge of pasted data.
Data is encrypted and decrypted in the browser using 256bit AES in [Galois Counter mode](https://en.wikipedia.org/wiki/Galois/Counter_Mode). Data is encrypted and decrypted in the browser using 256bit AES in
[Galois Counter mode](https://en.wikipedia.org/wiki/Galois/Counter_Mode).
This is a fork of ZeroBin, originally developed by This is a fork of ZeroBin, originally developed by
[Sébastien Sauvage](https://github.com/sebsauvage/ZeroBin). ZeroBin was refactored [Sébastien Sauvage](https://github.com/sebsauvage/ZeroBin). PrivateBin was
to allow easier and cleaner extensions. PrivateBin has many more features than the refactored to allow easier and cleaner extensions and has many additional
original ZeroBin. It is, however, still fully compatible to the original ZeroBin 0.19 features. It is, however, still fully compatible to the original ZeroBin 0.19
data storage scheme. Therefore, such installations can be upgraded to PrivateBin data storage scheme. Therefore, such installations can be upgraded to PrivateBin
without losing any data. without losing any data.
## What PrivateBin provides ## What PrivateBin provides
+ As a server administrator you don't have to worry if your users post content + As a server administrator you don't have to worry if your users post content
that is considered illegal in your country. You have no knowledge of any that is considered illegal in your country. You have plausible deniability of
of the pastes content. If requested or enforced, you can delete any paste from any of the pastes content. If requested or enforced, you can delete any paste
your system. from your system.
+ Pastebin-like system to store text documents, code samples, etc. + Pastebin-like system to store text documents, code samples, etc.
@ -38,15 +33,13 @@ without losing any data.
## What it doesn't provide ## What it doesn't provide
- As a user you have to trust the server administrator not to inject any malicious - As a user you have to trust the server administrator not to inject any
javascript code. malicious code. For security, a PrivateBin installation *has to be used over*
For basic security, the PrivateBin installation *has to provide HTTPS*! *HTTPS*! Otherwise you would also have to trust your internet provider, and
Otherwise you would also have to trust your internet provider, and any country any jurisdiction the traffic passes through. Additionally the instance should
the traffic passes through. be secured by
Additionally the instance should be secured by [HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security). It can
[HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) and use traditional certificate authorities and/or use a
ideally by [HPKP](https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning) using a
certificate. It can use traditional certificate authorities and/or use
[DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions) [DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions)
protected protected
[DANE](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities) [DANE](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities)
@ -54,18 +47,17 @@ without losing any data.
- The "key" used to encrypt the paste is part of the URL. If you publicly post - The "key" used to encrypt the paste is part of the URL. If you publicly post
the URL of a paste that is not password-protected, anyone can read it. the URL of a paste that is not password-protected, anyone can read it.
Use a password if you want your paste to be private. In this case, make sure to Use a password if you want your paste to remain private. In that case, make
use a strong password and only share it privately and end-to-end-encrypted. sure to use a strong password and share it privately and end-to-end-encrypted.
- A server admin might be forced to hand over access logs to the authorities. - A server admin can be forced to hand over access logs to the authorities.
PrivateBin encrypts your text and the discussion contents, but who accessed a PrivateBin encrypts your text and the discussion contents, but who accessed a
paste (first) might still be disclosed via access logs. paste (first) might still be disclosed via access logs.
- In case of a server breach your data is secure as it is only stored encrypted - In case of a server breach your data is secure as it is only stored encrypted
on the server. However, the server could be misused or the server admin could on the server. However, the server could be absused or the server admin could
be legally forced into sending malicious JavaScript to all web users, which be legally forced into sending malicious code to their users, which logs
grabs the decryption key and sends it to the server when a user accesses a the decryption key and sends it to a server when a user accesses a paste.
PrivateBin.
Therefore, do not access any PrivateBin instance if you think it has been Therefore, do not access any PrivateBin instance if you think it has been
compromised. As long as no user accesses this instance with a previously compromised. As long as no user accesses this instance with a previously
generated URL, the content can't be decrypted. generated URL, the content can't be decrypted.
@ -86,8 +78,8 @@ file](https://github.com/PrivateBin/PrivateBin/wiki/Configuration):
* Syntax highlighting for source code using prettify.js, including 4 prettify * Syntax highlighting for source code using prettify.js, including 4 prettify
themes themes
* File upload support, images get displayed (disabled by default, possibility * File upload support, image, media and PDF preview (disabled by default, size
to adjust size limit) limit adjustable)
* Templates: By default there are bootstrap CSS, darkstrap and "classic ZeroBin" * Templates: By default there are bootstrap CSS, darkstrap and "classic ZeroBin"
to choose from and it is easy to adapt these to your own websites layout or to choose from and it is easy to adapt these to your own websites layout or
@ -98,13 +90,13 @@ file](https://github.com/PrivateBin/PrivateBin/wiki/Configuration):
* Language selection (disabled by default, as it uses a session cookie) * Language selection (disabled by default, as it uses a session cookie)
* QR code generation of URL, to easily transfer pastes over to a mobile device * QR code for paste URLs, to easily transfer them over to mobile devices
## Further resources ## 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/doc/Installation.md#installation)
* [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration) * [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)

18
SECURITY.md Normal file
View File

@ -0,0 +1,18 @@
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| 1.6.0 | :heavy_check_mark: |
| < 1.6.0 | :x: |
## Reporting a Vulnerability
You can send us email at security@privatebin.org. You should be able to get
a response within a week (usually during the next weekend). The respondee will
reply from their personal address and can offer you their GPG public key to
support end-to-end encrypted communication on sensitive topics or attachments.
You can also contact us via the regular issue tracker if the risk of early
publication is low or you would request input from other PrivateBin users.

318
bin/administration Executable file
View File

@ -0,0 +1,318 @@
#!/usr/bin/env php
<?php
/**
* PrivateBin
*
* a zero-knowledge paste bin
*
* @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.6.0
*/
namespace PrivateBin;
use PrivateBin\Configuration;
use PrivateBin\Data\AbstractData;
use PrivateBin\Model\Paste;
define('PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR);
require PATH . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
/**
* Administration
*
* Command line utility for administrative tasks.
*/
class Administration
{
/**
* configuration
*
* @access private
* @var Configuration
*/
private $_conf;
/**
* options, parsed from the command line arguments
*
* @access private
* @var array
*/
private $_opts = array();
/**
* data storage model
*
* @access private
* @var AbstractData
*/
private $_store;
/**
* deletes the requested paste ID, if a valid ID and it exists
*
* @access private
* @param string $pasteId
*/
private function _delete($pasteId)
{
if (!Paste::isValidId($pasteId)) {
self::_error('given ID is not a valid paste ID (16 hexadecimal digits)', 5);
}
if (!$this->_store->exists($pasteId)) {
self::_error('given ID does not exist, has expired or was already deleted', 6);
}
$this->_store->delete($pasteId);
if ($this->_store->exists($pasteId)) {
self::_error('paste ID exists after deletion, permission problem?', 7);
}
exit("paste $pasteId successfully deleted" . PHP_EOL);
}
/**
* removes empty directories, if current storage model uses Filesystem
*
* @access private
*/
private function _empty_dirs()
{
if ($this->_conf->getKey('class', 'model') !== 'Filesystem') {
self::_error('instance not using Filesystem storage, no directories to empty', 4);
}
$dir = $this->_conf->getKey('dir', 'model_options');
passthru("find $dir -type d -empty -delete", $code);
exit($code);
}
/**
* display a message on STDERR and exits
*
* @access private
* @static
* @param string $message
* @param int $code optional, defaults to 1
*/
private static function _error($message, $code = 1)
{
self::_error_echo($message);
exit($code);
}
/**
* display a message on STDERR
*
* @access private
* @static
* @param string $message
*/
private static function _error_echo($message)
{
fwrite(STDERR, 'Error: ' . $message . PHP_EOL);
}
/**
* display usage help on STDOUT and exits
*
* @access private
* @static
* @param int $code optional, defaults to 0
*/
private static function _help($code = 0)
{
echo <<<'EOT'
Usage:
administration [--delete <paste id> | --empty-dirs | --help | --purge | --statistics]
Options:
-d, --delete deletes the requested paste ID
-e, --empty-dirs removes empty directories (only if Filesystem storage is
configured)
-h, --help displays this help message
-p, --purge purge all expired pastes
-s, --statistics reads all stored pastes and comments and reports statistics
EOT, PHP_EOL;
exit($code);
}
/**
* return option for given short or long keyname, if it got set
*
* @access private
* @static
* @param string $short
* @param string $long
* @return string|null
*/
private function _option($short, $long)
{
foreach (array($short, $long) as $key) {
if (array_key_exists($key, $this->_opts)) {
return $this->_opts[$key];
}
}
return null;
}
/**
* initialize options from given argument array
*
* @access private
* @static
* @param array $arguments
*/
private function _options_initialize($arguments)
{
if ($arguments > 3) {
self::_error_echo('too many arguments given');
echo PHP_EOL;
self::_help(1);
}
if ($arguments < 2) {
self::_error_echo('missing arguments');
echo PHP_EOL;
self::_help(2);
}
$this->_opts = getopt('hd:eps', array('help', 'delete:', 'empty-dirs', 'purge', 'statistics'));
if (!$this->_opts) {
self::_error_echo('unsupported arguments given');
echo PHP_EOL;
self::_help(3);
}
}
/**
* reads all stored pastes and comments and reports statistics
*
* @access public
*/
private function _statistics()
{
$counters = array(
'burn' => 0,
'discussion' => 0,
'expired' => 0,
'md' => 0,
'percent' => 1,
'plain' => 0,
'progress' => 0,
'syntax' => 0,
'total' => 0,
'unknown' => 0,
);
$time = time();
$ids = $this->_store->getAllPastes();
$counters['total'] = count($ids);
$dots = $counters['total'] < 100 ? 10 : (
$counters['total'] < 1000 ? 50 : 100
);
$percentages = $counters['total'] < 100 ? 0 : (
$counters['total'] < 1000 ? 4 : 10
);
echo "Total:\t\t\t{$counters['total']}", PHP_EOL;
foreach ($ids as $pasteid) {
$paste = $this->_store->read($pasteid);
++$counters['progress'];
if (
array_key_exists('expire_date', $paste['meta']) &&
$paste['meta']['expire_date'] < $time
) {
++$counters['expired'];
}
if (array_key_exists('adata', $paste)) {
$format = $paste['adata'][1];
$discussion = $paste['adata'][2];
$burn = $paste['adata'][3];
} else {
$format = array_key_exists('formatter', $paste['meta']) ? $paste['meta']['formatter'] : 'plaintext';
$discussion = array_key_exists('opendiscussion', $paste['meta']) ? $paste['meta']['opendiscussion'] : false;
$burn = array_key_exists('burnafterreading', $paste['meta']) ? $paste['meta']['burnafterreading'] : false;
}
if ($format === 'plaintext') {
++$counters['plain'];
} elseif ($format === 'syntaxhighlighting') {
++$counters['syntax'];
} elseif ($format === 'markdown') {
++$counters['md'];
} else {
++$counters['unknown'];
}
$counters['discussion'] += (int) $discussion;
$counters['burn'] += (int) $burn;
// display progress
if ($counters['progress'] % $dots === 0) {
echo '.';
if ($percentages) {
$progress = $percentages / $counters['total'] * $counters['progress'];
if ($progress >= $counters['percent']) {
printf(' %d%% ', 100 / $percentages * $progress);
++$counters['percent'];
}
}
}
}
echo PHP_EOL, <<<EOT
Expired:\t\t{$counters['expired']}
Burn after reading:\t{$counters['burn']}
Discussions:\t\t{$counters['discussion']}
Plain Text:\t\t{$counters['plain']}
Source Code:\t\t{$counters['syntax']}
Markdown:\t\t{$counters['md']}
EOT, PHP_EOL;
if ($counters['unknown'] > 0) {
echo "Unknown format:\t\t{$counters['unknown']}", PHP_EOL;
}
}
/**
* constructor
*
* initializes and runs administrative tasks
*
* @access public
*/
public function __construct()
{
$this->_options_initialize($_SERVER['argc']);
if ($this->_option('h', 'help') !== null) {
self::_help();
}
$this->_conf = new Configuration;
if ($this->_option('e', 'empty-dirs') !== null) {
$this->_empty_dirs();
}
$class = 'PrivateBin\\Data\\' . $this->_conf->getKey('class', 'model');
$this->_store = new $class($this->_conf->getSection('model_options'));
if (($pasteId = $this->_option('d', 'delete')) !== null) {
$this->_delete($pasteId);
}
if ($this->_option('p', 'purge') !== null) {
$this->_store->purge(PHP_INT_MAX);
exit('purging of expired pastes concluded' . PHP_EOL);
}
if ($this->_option('s', 'statistics') !== null) {
$this->_statistics();
}
}
}
new Administration();

View File

@ -9,7 +9,9 @@
* DANGER: Too many options/settings and too high max iteration setting may trigger * DANGER: Too many options/settings and too high max iteration setting may trigger
* a fork bomb. Please save your work before executing this script. * a fork bomb. Please save your work before executing this script.
*/ */
include 'Bootstrap.php';
define('PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR);
include PATH . 'tst' . DIRECTORY_SEPARATOR . 'Bootstrap.php';
$vd = array('view', 'delete'); $vd = array('view', 'delete');
$vcd = array('view', 'create', 'delete'); $vcd = array('view', 'create', 'delete');
@ -387,12 +389,12 @@ class ConfigurationTestGenerator
} }
} }
$code .= $this->_getFunction( $code .= $this->_getFunction(
ucfirst($step), $key, $options, $preCode, $testCode ucfirst($step), $key, $options, $preCode, $testCode, $fullOptions['main']['discussion']
); );
} }
} }
$code .= '}' . PHP_EOL; $code .= '}' . PHP_EOL;
file_put_contents('ConfigurationCombinationsTest.php', $code); file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'tst' . DIRECTORY_SEPARATOR . 'ConfigurationCombinationsTest.php', $code);
} }
/** /**
@ -408,12 +410,14 @@ class ConfigurationTestGenerator
* DO NOT EDIT: This file is generated automatically using configGenerator.php * DO NOT EDIT: This file is generated automatically using configGenerator.php
*/ */
use PrivateBin\PrivateBin; use PHPUnit\Framework\TestCase;
use PrivateBin\Controller;
use PrivateBin\Data\Filesystem; use PrivateBin\Data\Filesystem;
use PrivateBin\Persistence\ServerSalt; use PrivateBin\Persistence\ServerSalt;
use PrivateBin\Persistence\TrafficLimiter; use PrivateBin\Persistence\TrafficLimiter;
use PrivateBin\Request;
class ConfigurationCombinationsTest extends PHPUnit_Framework_TestCase class ConfigurationCombinationsTest extends TestCase
{ {
private $_conf; private $_conf;
@ -421,18 +425,18 @@ class ConfigurationCombinationsTest extends PHPUnit_Framework_TestCase
private $_path; private $_path;
public function setUp() public function setUp(): void
{ {
/* Setup Routine */ /* Setup Routine */
Helper::confBackup(); Helper::confBackup();
$this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_data'; $this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_data';
$this->_model = Filesystem::getInstance(array('dir' => $this->_path)); $this->_model = new Filesystem(array('dir' => $this->_path));
ServerSalt::setPath($this->_path); ServerSalt::setStore($this->_model);
TrafficLimiter::setPath($this->_path); TrafficLimiter::setStore($this->_model);
$this->reset(); $this->reset();
} }
public function tearDown() public function tearDown(): void
{ {
/* Tear Down Routine */ /* Tear Down Routine */
unlink(CONF); unlink(CONF);
@ -448,8 +452,6 @@ class ConfigurationCombinationsTest extends PHPUnit_Framework_TestCase
if ($this->_model->exists(Helper::getPasteId())) if ($this->_model->exists(Helper::getPasteId()))
$this->_model->delete(Helper::getPasteId()); $this->_model->delete(Helper::getPasteId());
$configuration['model_options']['dir'] = $this->_path; $configuration['model_options']['dir'] = $this->_path;
$configuration['traffic']['dir'] = $this->_path;
$configuration['purge']['dir'] = $this->_path;
Helper::createIniFile(CONF, $configuration); Helper::createIniFile(CONF, $configuration);
} }
@ -467,7 +469,7 @@ EOT;
* @param array $testCode * @param array $testCode
* @return string * @return string
*/ */
private function _getFunction($step, $key, &$options, $preCode, $testCode) private function _getFunction($step, $key, &$options, $preCode, $testCode, $discussionEnabled)
{ {
if (count($testCode) == 0) { if (count($testCode) == 0) {
echo "skipping creation of test$step$key, no valid tests found for configuration: $options" . PHP_EOL; echo "skipping creation of test$step$key, no valid tests found for configuration: $options" . PHP_EOL;
@ -495,8 +497,21 @@ EOT;
// step specific initialization // step specific initialization
switch ($step) { switch ($step) {
case 'Create': case 'Create':
if ($discussionEnabled) {
$code .= PHP_EOL . <<<'EOT' $code .= PHP_EOL . <<<'EOT'
$_POST = Helper::getPaste(); $paste = Helper::getPasteJson();
EOT;
} else {
$code .= PHP_EOL . <<<'EOT'
$paste = json_decode(Helper::getPasteJson(), true);
$paste['adata'][2] = 0;
$paste = json_encode($paste);
EOT;
}
$code .= PHP_EOL . <<<'EOT'
$file = tempnam(sys_get_temp_dir(), 'FOO');
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest'; $_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
$_SERVER['REQUEST_METHOD'] = 'POST'; $_SERVER['REQUEST_METHOD'] = 'POST';
$_SERVER['REMOTE_ADDR'] = '::1'; $_SERVER['REMOTE_ADDR'] = '::1';
@ -507,6 +522,7 @@ EOT;
$code .= PHP_EOL . <<<'EOT' $code .= PHP_EOL . <<<'EOT'
$this->_model->create(Helper::getPasteId(), Helper::getPaste()); $this->_model->create(Helper::getPasteId(), Helper::getPaste());
$_SERVER['QUERY_STRING'] = Helper::getPasteId(); $_SERVER['QUERY_STRING'] = Helper::getPasteId();
$_GET[Helper::getPasteId()] = '';
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest'; $_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
EOT; EOT;
break; break;
@ -515,7 +531,7 @@ EOT;
$this->_model->create(Helper::getPasteId(), Helper::getPaste()); $this->_model->create(Helper::getPasteId(), Helper::getPaste());
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists before deleting data'); $this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists before deleting data');
$_GET['pasteid'] = Helper::getPasteId(); $_GET['pasteid'] = Helper::getPasteId();
$_GET['deletetoken'] = hash_hmac('sha256', Helper::getPasteId(), $this->_model->read(Helper::getPasteId())->meta->salt); $_GET['deletetoken'] = hash_hmac('sha256', Helper::getPasteId(), $this->_model->read(Helper::getPasteId())['meta']['salt']);
EOT; EOT;
break; break;
} }
@ -524,7 +540,7 @@ EOT;
$code .= PHP_EOL . $preString; $code .= PHP_EOL . $preString;
$code .= <<<'EOT' $code .= <<<'EOT'
ob_start(); ob_start();
new PrivateBin; new Controller;
$content = ob_get_contents(); $content = ob_get_contents();
ob_end_clean(); ob_end_clean();
EOT; EOT;
@ -549,7 +565,7 @@ EOT;
case 'Delete': case 'Delete':
$code .= <<<'EOT' $code .= <<<'EOT'
$this->assertRegExp( $this->assertMatchesRegularExpression(
'#<div[^>]*id="status"[^>]*>.*Paste was properly deleted[^<]*</div>#s', '#<div[^>]*id="status"[^>]*>.*Paste was properly deleted[^<]*</div>#s',
$content, $content,
'outputs deleted status correctly' 'outputs deleted status correctly'

147
bin/icon-test Executable file
View File

@ -0,0 +1,147 @@
#!/usr/bin/env php
<?php
define('ITERATIONS', 100000);
require dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use Identicon\Generator\GdGenerator;
use Identicon\Generator\ImageMagickGenerator;
use Identicon\Generator\SvgGenerator;
use Identicon\Identicon;
use Jdenticon\Identicon as Jdenticon;
use PrivateBin\Vizhash16x16;
$vizhash = new Vizhash16x16();
$identiconGenerators = array(
'identicon GD' => new Identicon(new GdGenerator()),
'identicon ImageMagick' => new Identicon(new ImageMagickGenerator()),
'identicon SVG' => new Identicon(new SvgGenerator()),
);
$jdenticon = new Jdenticon(array(
'size' => 16,
'style' => array(
'backgroundColor' => '#fff0', // fully transparent, for dark mode
'padding' => 0,
),
));
$jdenticonGenerators = array(
'jdenticon' => 'png',
'jdenticon ImageMagick' => 'png',
'jdenticon SVG' => 'svg',
);
$results = array(
'vizhash' => array(
'lengths' => array(),
'time' => 0
),
'identicon GD' => array(
'lengths' => array(),
'time' => 0
),
'identicon ImageMagick' => array(
'lengths' => array(),
'time' => 0
),
'identicon SVG' => array(
'lengths' => array(),
'time' => 0
),
'jdenticon' => array(
'lengths' => array(),
'time' => 0
),
'jdenticon ImageMagick' => array(
'lengths' => array(),
'time' => 0
),
'jdenticon SVG' => array(
'lengths' => array(),
'time' => 0
),
);
$hmacs = array();
echo 'generate ', ITERATIONS, ' hmacs and pre-populate the result array, so tests wont be slowed down', PHP_EOL;
for ($i = 0; $i < ITERATIONS; ++$i) {
$hmacs[$i] = hash_hmac('sha512', '127.0.0.1', bin2hex(random_bytes(256)));
foreach (array_keys($results) as $test) {
$results[$test]['lengths'][$i] = 0;
}
}
echo 'run vizhash tests', PHP_EOL;
$start = microtime(true);
foreach ($hmacs as $i => $hmac) {
$data = 'data:image/png;base64,' . base64_encode(
$vizhash->generate($hmac)
);
$results['vizhash']['lengths'][$i] = strlen($data);
}
$results['vizhash']['time'] = microtime(true) - $start;
foreach ($identiconGenerators as $key => $identicon) {
echo 'run ', $key,' tests', PHP_EOL;
$start = microtime(true);
foreach ($hmacs as $i => $hmac) {
$data = $identicon->getImageDataUri($hmac, 16);
$results[$key]['lengths'][$i] = strlen($data);
}
$results[$key]['time'] = microtime(true) - $start;
}
foreach ($jdenticonGenerators as $key => $format) {
echo 'run ', $key,' tests', PHP_EOL;
if ($key === 'jdenticon ImageMagick') {
$jdenticon->enableImageMagick = true;
} else {
$jdenticon->enableImageMagick = false;
}
$start = microtime(true);
foreach ($hmacs as $i => $hmac) {
$jdenticon->setHash($hmac);
$data = $jdenticon->getImageDataUri($format);
$results[$key]['lengths'][$i] = strlen($data);
}
$results[$key]['time'] = microtime(true) - $start;
}
define(
'PADDING_LENGTH',
max(
array_map(
function ($key) {
return strlen($key);
},
array_keys($results)
)
) + 1
);
function format_result_line($generator, $min, $max, $avg, $sec) {
echo str_pad($generator, PADDING_LENGTH, ' '), "\t",
str_pad($min, 4, ' ', STR_PAD_LEFT), "\t",
str_pad($max, 4, ' ', STR_PAD_LEFT), "\t",
str_pad($avg, 4, ' ', STR_PAD_LEFT), "\t",
str_pad($sec, 7, ' ', STR_PAD_LEFT), PHP_EOL;
}
echo PHP_EOL;
format_result_line('Generator:', 'min', 'max', 'avg', 'seconds');
format_result_line(
str_repeat('─', PADDING_LENGTH), str_repeat('─', 4), str_repeat('─', 4),
str_repeat('─', 4), str_repeat('─', 7)
);
foreach ($results as $generator => $result) {
sort($result['lengths']);
format_result_line(
$generator . ':',
$result['lengths'][0],
$result['lengths'][ITERATIONS-1],
round(array_sum($result['lengths']) / ITERATIONS),
round($result['time'], 3)
);
}

201
bin/migrate Executable file
View File

@ -0,0 +1,201 @@
#!/usr/bin/env php
<?php
// change this, if your php files and data is outside of your webservers document root
define('PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR);
define('PUBLIC_PATH', __DIR__ . DIRECTORY_SEPARATOR);
require PATH . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
use PrivateBin\Configuration;
use PrivateBin\Model;
// third argument in getopt requires PHP >= 7.1
if (version_compare(PHP_VERSION, '7.1.0') < 0) {
dieerr('migrate requires php 7.1 or above to work. Sorry.');
}
$longopts = array(
"delete-after",
"delete-during",
"help"
);
$opts_arr = getopt("fhnv", $longopts, $rest);
if ($opts_arr === false) {
dieerr("Erroneous command line options. Please use --help");
}
if (array_key_exists("h", $opts_arr) || array_key_exists("help", $opts_arr)) {
helpexit();
}
$delete_after = array_key_exists("delete-after", $opts_arr);
$delete_during = array_key_exists("delete-during", $opts_arr);
$force_overwrite = array_key_exists("f", $opts_arr);
$dryrun = array_key_exists("n", $opts_arr);
$verbose = array_key_exists("v", $opts_arr);
if ($rest >= $argc) {
dieerr("Missing source configuration directory");
}
if ($delete_after && $delete_during) {
dieerr("--delete-after and --delete-during are mutually exclusive");
}
$srcconf = getConfig("source", $argv[$rest]);
$rest++;
$dstconf = getConfig("destination", ($rest < $argc ? $argv[$rest] : ""));
if (($srcconf->getSection("model") == $dstconf->getSection("model")) &&
($srcconf->getSection("model_options") == $dstconf->getSection("model_options"))) {
dieerr("Source and destination storage configurations are identical");
}
$srcmodel = new Model($srcconf);
$srcstore = $srcmodel->getStore();
$dstmodel = new Model($dstconf);
$dststore = $dstmodel->getStore();
$ids = $srcstore->getAllPastes();
foreach ($ids as $id) {
debug("Reading paste id " . $id);
$paste = $srcstore->read($id);
$comments = $srcstore->readComments($id);
savePaste($force_overwrite, $dryrun, $id, $paste, $dststore);
foreach ($comments as $comment) {
saveComment($force_overwrite, $dryrun, $id, $comment, $dststore);
}
if ($delete_during) {
deletePaste($dryrun, $id, $srcstore);
}
}
if ($delete_after) {
foreach ($ids as $id) {
deletePaste($dryrun, $id, $srcstore);
}
}
debug("Done.");
function deletePaste($dryrun, $pasteid, $srcstore)
{
if (!$dryrun) {
debug("Deleting paste id " . $pasteid);
$srcstore->delete($pasteid);
} else {
debug("Would delete paste id " . $pasteid);
}
}
function saveComment ($force_overwrite, $dryrun, $pasteid, $comment, $dststore)
{
$parentid = $comment["parentid"];
$commentid = $comment["id"];
if (!$dststore->existsComment($pasteid, $parentid, $commentid)) {
if (!$dryrun) {
debug("Saving paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
$dststore->createComment($pasteid, $parentid, $commentid, $comment);
} else {
debug("Would save paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
}
} else if ($force_overwrite) {
if (!$dryrun) {
debug("Overwriting paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
$dststore->createComment($pasteid, $parentid, $commentid, $comment);
} else {
debug("Would overwrite paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
}
} else {
if (!$dryrun) {
dieerr("Not overwriting paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
} else {
dieerr("Would not overwrite paste id " . $pasteid . ", parent id " .
$parentid . ", comment id " . $commentid);
}
}
}
function savePaste ($force_overwrite, $dryrun, $pasteid, $paste, $dststore)
{
if (!$dststore->exists($pasteid)) {
if (!$dryrun) {
debug("Saving paste id " . $pasteid);
$dststore->create($pasteid, $paste);
} else {
debug("Would save paste id " . $pasteid);
}
} else if ($force_overwrite) {
if (!$dryrun) {
debug("Overwriting paste id " . $pasteid);
$dststore->create($pasteid, $paste);
} else {
debug("Would overwrite paste id " . $pasteid);
}
} else {
if (!$dryrun) {
dieerr("Not overwriting paste id " . $pasteid);
} else {
dieerr("Would not overwrite paste id " . $pasteid);
}
}
}
function getConfig ($target, $confdir)
{
debug("Trying to load " . $target . " conf.php" .
($confdir === "" ? "" : " from " . $confdir));
putenv("CONFIG_PATH=" . $confdir);
$conf = new Configuration;
putenv("CONFIG_PATH=");
return $conf;
}
function dieerr ($text)
{
fprintf(STDERR, "ERROR: %s" . PHP_EOL, $text);
die(1);
}
function debug ($text) {
if ($GLOBALS["verbose"]) {
printf("DEBUG: %s" . PHP_EOL, $text);
}
}
function helpexit ()
{
print("migrate - Copy data between PrivateBin backends
Usage:
migrate [--delete-after] [--delete-during] [-f] [-n] [-v] srcconfdir
[<dstconfdir>]
migrate [-h|--help]
Options:
--delete-after delete data from source after all pastes and comments have
successfully been copied to the destination
--delete-during delete data from source after the current paste and its
comments have successfully been copied to the destination
-f forcefully overwrite data which already exists at the
destination
-h, --help displays this help message
-n dry run, do not copy data
-v be verbose
<srcconfdir> use storage backend configration from conf.php found in
this directory as source
<dstconfdir> optionally, use storage backend configration from conf.php
found in this directory as destination; defaults to:
" . PATH . "cfg" . DIRECTORY_SEPARATOR . "conf.php
");
exit();
}

View File

@ -7,6 +7,11 @@
; (optional) set a project name to be displayed on the website ; (optional) set a project name to be displayed on the website
; name = "PrivateBin" ; name = "PrivateBin"
; The full URL, with the domain name and directories that point to the
; PrivateBin files, including an ending slash (/). This URL is essential to
; allow Opengraph images to be displayed on social networks.
; basepath = "https://privatebin.example.com/"
; enable or disable the discussion feature, defaults to true ; enable or disable the discussion feature, defaults to true
discussion = true discussion = true
@ -29,12 +34,16 @@ defaultformatter = "plaintext"
; (optional) set a syntax highlighting theme, as found in css/prettify/ ; (optional) set a syntax highlighting theme, as found in css/prettify/
; syntaxhighlightingtheme = "sons-of-obsidian" ; syntaxhighlightingtheme = "sons-of-obsidian"
; size limit per paste or comment in bytes, defaults to 2 Mebibytes ; size limit per paste or comment in bytes, defaults to 10 Mebibytes
sizelimit = 2097152 sizelimit = 10485760
; template to include, default is "bootstrap" (tpl/bootstrap.php) ; template to include, default is "bootstrap" (tpl/bootstrap.php)
template = "bootstrap" template = "bootstrap"
; (optional) info text to display
; use single, instead of double quotes for HTML attributes
;info = "More information on the <a href='https://privatebin.info/'>project page</a>."
; (optional) notice to display ; (optional) notice to display
; notice = "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service." ; notice = "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service."
@ -47,35 +56,61 @@ languageselection = false
; if this is set and language selection is disabled, this will be the only language ; if this is set and language selection is disabled, this will be the only language
; languagedefault = "en" ; languagedefault = "en"
; (optional) URL shortener address to offer after a new paste is created ; (optional) URL shortener address to offer after a new paste is created.
; it is suggested to only use this with self-hosted shorteners as this will leak ; It is suggested to only use this with self-hosted shorteners as this will leak
; the pastes encryption key ; the pastes encryption key.
; urlshortener = "https://shortener.example.com/api?link=" ; urlshortener = "https://shortener.example.com/api?link="
; (optional) Let users create a QR code for sharing the paste URL with one click. ; (optional) Let users create a QR code for sharing the paste URL with one click.
; It works both when a new paste is created and when you view a paste. ; It works both when a new paste is created and when you view a paste.
; qrcode = true ; qrcode = true
; (optional) Let users send an email sharing the paste URL with one click.
; It works both when a new paste is created and when you view a paste.
; email = true
; (optional) IP based icons are a weak mechanism to detect if a comment was from ; (optional) IP based icons are a weak mechanism to detect if a comment was from
; a different user when the same username was used in a comment. It might be ; a different user when the same username was used in a comment. It might get
; used to get the IP of a non anonymous comment poster if the server salt is ; used to get the IP of a comment poster if the server salt is leaked and a
; leaked and a SHA256 HMAC rainbow table is generated for all (relevant) IPs. ; SHA512 HMAC rainbow table is generated for all (relevant) IPs.
; Can be set to one these values: none / vizhash / identicon (default). ; Can be set to one these values:
; icon = none ; "none" / "identicon" (default) / "jdenticon" / "vizhash".
; icon = "none"
; Content Security Policy headers allow a website to restrict what sources are ; 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 ; allowed to be accessed in its context. You need to change this if you added
; custom scripts from third-party domains to your templates, e.g. tracking ; custom scripts from third-party domains to your templates, e.g. tracking
; scripts or run your site behind certain DDoS-protection services. ; scripts or run your site behind certain DDoS-protection services.
; Check the documentation at https://content-security-policy.com/ ; Check the documentation at https://content-security-policy.com/
; Note: If you use a bootstrap theme, you can remove the allow-popups from the sandbox restrictions. ; Notes:
; By default this disallows to load images from third-party servers, e.g. when they are embedded in pastes. If you wish to allow that, you can adjust the policy here. See https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-it-load-embedded-images for details. ; - If you use a bootstrap theme, you can remove the allow-popups from the
; cspheader = "default-src 'none'; manifest-src 'self'; connect-src *; script-src 'self'; style-src 'self'; font-src 'self'; img-src 'self' data:; media-src data:; object-src data:; Referrer-Policy: 'no-referrer'; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals" ; sandbox restrictions.
; - By default this disallows to load images from third-party servers, e.g. when
; they are embedded in pastes. If you wish to allow that, you can adjust the
; policy here. See https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-it-load-embedded-images
; for details.
; - The 'unsafe-eval' is used in two cases; to check if the browser supports
; 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'; base-uri 'self'; form-action 'none'; manifest-src 'self'; connect-src * blob:; script-src 'self' 'unsafe-eval'; style-src 'self'; font-src 'self'; frame-ancestors 'none'; 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 ; 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 ; if enabled will use base64.js version 1.7 instead of 2.1.9 and sha1 instead of
; sha256 in HMAC for the deletion token ; sha256 in HMAC for the deletion token
zerobincompatibility = false ; zerobincompatibility = false
; Enable or disable the warning message when the site is served over an insecure
; connection (insecure HTTP instead of HTTPS), defaults to true.
; Secure transport methods like Tor and I2P domains are automatically whitelisted.
; It is **strongly discouraged** to disable this.
; See https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-an-error-about-an-insecure-connection for more information.
; httpwarning = true
; 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"
[expire] [expire]
; expire value that is selected per default ; expire value that is selected per default
@ -106,13 +141,22 @@ markdown = "Markdown"
; Set this to 0 to disable rate limiting. ; Set this to 0 to disable rate limiting.
limit = 10 limit = 10
; (optional) Set IPs addresses (v4 or v6) or subnets (CIDR) which are exempted
; from the rate-limit. Invalid IPs will be ignored. If multiple values are to
; be exempted, the list needs to be comma separated. Leave unset to disable
; exemptions.
; exempted = "1.2.3.4,10.10.10/24"
; (optional) If you want only some source IP addresses (v4 or v6) or subnets
; (CIDR) to be allowed to create pastes, set these here. Invalid IPs will be
; ignored. If multiple values are to be exempted, the list needs to be comma
; separated. Leave unset to allow anyone to create pastes.
; creators = "1.2.3.4,10.10.10/24"
; (optional) if your website runs behind a reverse proxy or load balancer, ; (optional) if your website runs behind a reverse proxy or load balancer,
; set the HTTP header containing the visitors IP address, i.e. X_FORWARDED_FOR ; set the HTTP header containing the visitors IP address, i.e. X_FORWARDED_FOR
; header = "X_FORWARDED_FOR" ; header = "X_FORWARDED_FOR"
; directory to store the traffic limits in
dir = PATH "data"
[purge] [purge]
; minimum time limit between two purgings of expired pastes, it is only ; minimum time limit between two purgings of expired pastes, it is only
; triggered when pastes are created ; triggered when pastes are created
@ -124,9 +168,6 @@ limit = 300
; site ; site
batchsize = 10 batchsize = 10
; directory to store the purge limit in
dir = PATH "data"
[model] [model]
; name of data model class to load and directory for storage ; name of data model class to load and directory for storage
; the default model "Filesystem" stores everything in the filesystem ; the default model "Filesystem" stores everything in the filesystem
@ -134,6 +175,14 @@ class = Filesystem
[model_options] [model_options]
dir = PATH "data" dir = PATH "data"
;[model]
; example of a Google Cloud Storage configuration
;class = GoogleCloudStorage
;[model_options]
;bucket = "my-private-bin"
;prefix = "pastes"
;uniformacl = false
;[model] ;[model]
; example of DB configuration for MySQL ; example of DB configuration for MySQL
;class = Database ;class = Database
@ -152,3 +201,65 @@ dir = PATH "data"
;usr = null ;usr = null
;pwd = null ;pwd = null
;opt[12] = true ; PDO::ATTR_PERSISTENT ;opt[12] = true ; PDO::ATTR_PERSISTENT
;[model]
; example of DB configuration for PostgreSQL
;class = Database
;[model_options]
;dsn = "pgsql:host=localhost;dbname=privatebin"
;tbl = "privatebin_" ; table prefix
;usr = "privatebin"
;pwd = "Z3r0P4ss"
;opt[12] = true ; PDO::ATTR_PERSISTENT
;[model]
; example of S3 configuration for Rados gateway / CEPH
;class = S3Storage
;[model_options]
;region = ""
;version = "2006-03-01"
;endpoint = "https://s3.my-ceph.invalid"
;use_path_style_endpoint = true
;bucket = "my-bucket"
;accesskey = "my-rados-user"
;secretkey = "my-rados-pass"
;[model]
; example of S3 configuration for AWS
;class = S3Storage
;[model_options]
;region = "eu-central-1"
;version = "latest"
;bucket = "my-bucket"
;accesskey = "access key id"
;secretkey = "secret access key"
;[model]
; example of S3 configuration for AWS using its SDK default credential provider chain
; if relying on environment variables, the AWS SDK will look for the following:
; - AWS_ACCESS_KEY_ID
; - AWS_SECRET_ACCESS_KEY
; - AWS_SESSION_TOKEN (if needed)
; for more details, see https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html#default-credential-chain
;class = S3Storage
;[model_options]
;region = "eu-central-1"
;version = "latest"
;bucket = "my-bucket"
[yourls]
; When using YOURLS as a "urlshortener" config item:
; - By default, "urlshortener" will point to the YOURLS API URL, with or without
; credentials, and will be visible in public on the PrivateBin web page.
; Only use this if you allow short URL creation without credentials.
; - Alternatively, using the parameters in this section ("signature" and
; "apiurl"), "urlshortener" needs to point to the base URL of your PrivateBin
; instance with "shortenviayourls?link=" appended. For example:
; urlshortener = "${basepath}shortenviayourls?link="
; This URL will in turn call YOURLS on the server side, using the URL from
; "apiurl" and the "access signature" from the "signature" parameters below.
; (optional) the "signature" (access key) issued by YOURLS for the using account
; signature = ""
; (optional) the URL of the YOURLS API, called to shorten a PrivateBin URL
; apiurl = "https://yourls.example.com/yourls-api.php"

49
codacy-analysis.yml Normal file
View File

@ -0,0 +1,49 @@
# This workflow checks out code, performs a Codacy security scan
# and integrates the results with the
# GitHub Advanced Security code scanning feature. For more information on
# the Codacy security scan action usage and parameters, see
# https://github.com/codacy/codacy-analysis-cli-action.
# For more information on Codacy Analysis CLI in general, see
# https://github.com/codacy/codacy-analysis-cli.
name: Codacy Security Scan
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '45 16 * * 1'
jobs:
codacy-security-scan:
name: Codacy Security Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@v2
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@1.1.0
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
verbose: true
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif

View File

@ -1,32 +1,53 @@
{ {
"name": "privatebin/privatebin", "name" : "privatebin/privatebin",
"description": "PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bit AES in Galois Counter mode (GCM).", "description" : "PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bit AES in Galois Counter mode (GCM).",
"type": "project", "type" : "project",
"keywords": ["private", "secure", "end-to-end-encrypted", "e2e", "paste", "pastebin", "zero", "zero-knowledge", "encryption", "encrypted", "AES"], "keywords" : [
"homepage": "https://github.com/PrivateBin", "private",
"license":"zlib-acknowledgement", "secure",
"support": { "end-to-end-encrypted",
"issues": "https://github.com/PrivateBin/PrivateBin/issues", "e2e",
"wiki": "https://github.com/PrivateBin/PrivateBin/wiki", "paste",
"source": "https://github.com/PrivateBin/PrivateBin", "pastebin",
"docs": "https://zerobin.dssr.ch/documentation/" "zero",
"zero-knowledge",
"encryption",
"encrypted",
"AES"
],
"homepage" : "https://privatebin.info/",
"license" : "zlib-acknowledgement",
"support" : {
"issues" : "https://github.com/PrivateBin/PrivateBin/issues",
"wiki" : "https://github.com/PrivateBin/PrivateBin/wiki",
"source" : "https://github.com/PrivateBin/PrivateBin",
"docs" : "https://privatebin.info/codedoc/"
}, },
"require": { "require" : {
"php": "^5.4.0 || ^7.0", "php" : "^7.3 || ^8.0",
"paragonie/random_compat": "2.0.15", "yzalis/identicon" : "2.0.0",
"yzalis/identicon": "1.1.0" "mlocati/ip-lib" : "1.18.0",
"jdenticon/jdenticon": "1.0.2"
}, },
"require-dev": { "suggest" : {
"codacy/coverage": "dev-master", "google/cloud-storage" : "1.32.0",
"codeclimate/php-test-reporter": "dev-master", "aws/aws-sdk-php" : "3.275.1"
"phpunit/phpunit": "^4.6 || ^5.0"
}, },
"autoload": { "require-dev" : {
"psr-4": { "phpunit/phpunit" : "^9"
"PrivateBin\\": "lib/" },
"autoload" : {
"psr-4" : {
"PrivateBin\\" : "lib/"
} }
}, },
"config": { "config" : {
"autoloader-suffix": "DontChange" "autoloader-suffix" : "DontChange",
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"platform": {
"php": "7.3"
}
} }
} }

1934
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

3
crowdin.yml Normal file
View File

@ -0,0 +1,3 @@
files:
- source: /i18n/en.json
translation: /i18n/%two_letters_code%.json

View File

@ -6,7 +6,7 @@
* @link https://github.com/PrivateBin/PrivateBin * @link https://github.com/PrivateBin/PrivateBin
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net) * @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License * @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
* @version 1.2.2 * @version 1.6.0
*/ */
body { body {
@ -80,12 +80,30 @@ body.loading {
margin-bottom: 20px; margin-bottom: 20px;
} }
.dragAndDropFile{ #dropzone {
color:#777; text-align: center;
font-size:1em; position: fixed;
display:inline; top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
opacity: 0.6;
background-color: #99ccff;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 25vh;
outline: 2px dashed #228bff;
outline-offset: -50px;
} }
.dragAndDropFile{
color: #777;
font-size: 1em;
display: inline;
white-space: normal;
}
#deletelink { #deletelink {
float: right; float: right;
@ -113,8 +131,9 @@ body.loading {
margin-bottom: 10px; margin-bottom: 10px;
} }
#message { #message, .replymessage {
font-family: monospace; font-family: monospace;
resize: vertical;
} }
#nickname { #nickname {
@ -125,6 +144,10 @@ body.loading {
margin-bottom: 10px; margin-bottom: 10px;
} }
#filewrap {
transition: background-color 0.75s ease-out;
}
.comment { .comment {
border-left: 1px solid #ccc; border-left: 1px solid #ccc;
padding: 5px 0 5px 10px; padding: 5px 0 5px 10px;
@ -132,7 +155,7 @@ body.loading {
transition: background-color 0.75s ease-out; transition: background-color 0.75s ease-out;
} }
.comment.highlight { .highlight {
background-color: #ffdd86; background-color: #ffdd86;
transition: background-color 0.2s ease-in; transition: background-color 0.2s ease-in;
} }
@ -144,3 +167,41 @@ footer h4 {
li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {
list-style-type: decimal !important; list-style-type: decimal !important;
} }
.dark-theme .alert-info .alert-link {
color: #fff;
}
/* address 2K or 4K monitors when using bootstrap 3 */
@media (min-width: 1280px) {
.container {
width: 100%;
padding-left: 4ch;
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;
}

View File

@ -6,7 +6,7 @@
* @link https://github.com/PrivateBin/PrivateBin * @link https://github.com/PrivateBin/PrivateBin
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net) * @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License * @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
* @version 1.2.2 * @version 1.6.0
*/ */
/* When there is no script at all other */ /* When there is no script at all other */

View File

@ -6,7 +6,7 @@
* @link https://github.com/PrivateBin/PrivateBin * @link https://github.com/PrivateBin/PrivateBin
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net) * @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License * @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
* @version 1.2.2 * @version 1.6.0
*/ */
/* CSS Reset from YUI 3.4.1 (build 4118) - Copyright 2011 Yahoo! Inc. All rights reserved. /* CSS Reset from YUI 3.4.1 (build 4118) - Copyright 2011 Yahoo! Inc. All rights reserved.
@ -102,6 +102,7 @@ h3.title {
padding: 5px; padding: 5px;
white-space: pre-wrap; white-space: pre-wrap;
font-family: Consolas, "Lucida Console", "DejaVu Sans Mono", Monaco, monospace; font-family: Consolas, "Lucida Console", "DejaVu Sans Mono", Monaco, monospace;
resize: vertical;
} }
#attachmentPreview img { #attachmentPreview img {
@ -115,10 +116,29 @@ h3.title {
margin-bottom: 20px; margin-bottom: 20px;
} }
#dropzone {
text-align: center;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
opacity: 0.6;
background-color: #99ccff;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 25vh;
outline: 2px dashed #228bff;
outline-offset: -50px;
}
.dragAndDropFile{ .dragAndDropFile{
color:#777; color: #777;
font-size:1em; font-size: 1em;
display:inline; display: inline;
white-space: normal;
} }
#status { #status {
@ -229,6 +249,10 @@ button img {
padding: 1px 0 1px 0; padding: 1px 0 1px 0;
} }
#downloadtextbutton img {
padding: 1px 0 1px 0;
}
#remainingtime, #password { #remainingtime, #password {
color: #94a3b4; color: #94a3b4;
display: inline; display: inline;
@ -290,9 +314,9 @@ input {
#ienotice a { color: #000; } #ienotice a { color: #000; }
#oldienotice { display: none; } #oldnotice, #httpnotice { display: none; }
.errorMessage { #errormessage, .errorMessage {
background-color: #f77 !important; background-color: #f77 !important;
color:#ff0; color:#ff0;
} }
@ -405,6 +429,15 @@ h4.title {
.commentdate { color: #bfcede; } .commentdate { color: #bfcede; }
#filewrap {
transition: background-color 0.75s ease-out;
}
.highlight {
background-color: #ffdd86;
transition: background-color 0.2s ease-in;
}
img.vizhash { img.vizhash {
width: 16px; width: 16px;
height: 16px; height: 16px;

View File

@ -0,0 +1,59 @@
# Generating Source Code Documentation
## Generating PHP documentation
In order to generate the documentation, you will need to install the following
packages and its dependencies:
* phpdoc
* graphviz
Details about
[installing phpDocumentor](https://phpdoc.org/docs/latest/getting-started/installing.html)
can be found in that projects documentation.
Example for Debian and Ubuntu:
```console
$ sudo apt install php-pear graphviz
$ sudo pear channel-discover pear.phpdoc.org
$ sudo pear install phpdoc/phpDocumentor
```
To generate the documentation, change into the main directory and run phpdoc:
```console
$ cd PrivateBin
$ phpdoc --visibility public,protected,private -t doc/phpdoc -d lib/
```
**Note:** When used with PHP 7, the prerelease of phpDocumentator 2.9 needs to be
manually installed by downloading it from
[GitHub](https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar)
and then manually moving it to e.g. `/usr/local/bin` and making it executable.
## Generating JS documentation
In order to generate the documentation, you will need to install the following
packages and its dependencies:
* npm
Then you can use the node package manager to install the latest stable release
of jsdoc globally:
```console
$ npm install -g jsdoc
```
Example for Debian and Ubuntu, including steps to allow current user to install
node modules globally:
```console
$ sudo apt install npm
$ sudo mkdir /usr/local/lib/node_modules
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
$ npm install -g jsdoc
$ ln -s /usr/bin/nodejs /usr/local/bin/node
```
To generate the documentation, change into the main directory and run phpdoc:
```console
$ cd PrivateBin
$ jsdoc -p -d doc/jsdoc js/privatebin.js js/legacy.js
```

269
doc/Installation.md Normal file
View File

@ -0,0 +1,269 @@
# Installation
## TL;DR
Download the
[latest release archive](https://github.com/PrivateBin/PrivateBin/releases/latest)
(with the link labelled as "Source code (…)") and extract it in your web hosts
folder where you want to install your PrivateBin instance. We try to provide a
mostly safe default configuration, but we urge you to check the
[security section](#hardening-and-security) below and the
[configuration options](#configuration) to adjust as you see fit.
**NOTE:** See our [FAQ entry on securely downloading release files](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#how-can-i-securely-clonedownload-your-project)
for more information.
**NOTE:** There are Ansible roles available for installing and configuring PrivateBin on your server. You can choose from the following options:
- [Podman Rootless - PrivateBin by @voidquark](https://galaxy.ansible.com/voidquark/privatebin) ([Github source code](https://github.com/voidquark/privatebin)): Simplifies the deployment and management of a secure PrivateBin service using a rootless Podman container. Key features include root-less deployment, ensuring security within a user namespace, idempotent deployment for consistent state, out-of-the-box setup for Red Hat systems, and the flexibility to customize PrivateBin configurations. It has been tested on EL9.
- [Config Configuration - PrivateBin by @e1mo](https://galaxy.ansible.com/e1mo/privatebin) ([Github source code](https://git.sr.ht/~e1mo/ansible-role-privatebin)): Deploy PrivateBin configuration to disk with a customized configuration.
### Minimal Requirements
- PHP version 7.3 or above
- GD extension (when using identicon or vizhash icons, jdenticon works without it)
- zlib extension
- some disk space or a database supported by [PDO](https://php.net/manual/book.pdo.php)
- ability to create files and folders in the installation directory and the PATH
defined in index.php
- A web browser with JavaScript and (optional) WebAssembly support
## Hardening and Security
### Changing the Path
In the index.php you can define a different `PATH`. This is useful to secure
your installation. You can move the utilities, configuration, data files,
templates and PHP libraries (directories bin, cfg, doc, data, lib, tpl, tst and
vendor) outside of your document root. This new location must still be
accessible to your webserver and PHP process (see also
[open_basedir setting](https://secure.php.net/manual/en/ini.core.php#ini.open-basedir)).
> #### PATH Example
> Your PrivateBin installation lives in a subfolder called "paste" inside of
> your document root. The URL looks like this:
> http://example.com/paste/
>
> The full path of PrivateBin on your webserver is:
> /srv/example.com/htdocs/paste
>
> When setting the path like this:
> define('PATH', '../../secret/privatebin/');
>
> PrivateBin will look for your includes and data here:
> /srv/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 case, 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 configuration file,
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 PrivateBin is not secure, as the JavaScript or WebAssembly files could be
manipulated during transmission. For more information on this, see our
[FAQ entry on HTTPS setup recommendations](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#how-should-i-setup-https).
### File-level permissions
After completing the installation, you should make sure, that other users on the
system cannot read the config file or the `data/` directory, as depending on
your configuration potentially sensitive information may be stored in there.
See our [FAQ entry on permissions](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#what-are-the-recommended-file-and-folder-permissions-for-privatebin)
for a detailed guide on how to "harden" access to files and folders.
## Configuration
In the file `cfg/conf.php` you can configure PrivateBin. A `cfg/conf.sample.php`
is provided containing all options and their default values. You can copy it to
`cfg/conf.php` and change 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
you set a time limit in seconds. Users may not post more often then this limit
to your PrivateBin installation.
More details can be found in the
[configuration documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration).
## Advanced installation
### Web server configuration
A `robots.txt` file is provided in the root dir of PrivateBin. It disallows all
robots from accessing your pastes. It is recommend to place it into the root of
your web directory if you have installed PrivateBin in a subdirectory. Make sure
to adjust it, so that the file paths match your installation. Of course also
adjust the file, if you already use a `robots.txt`.
A `.htaccess.disabled` file is provided in the root dir of PrivateBin. It blocks
some known robots and link-scanning bots. If you use Apache, you can rename the
file to `.htaccess` to enable this feature. If you use another webserver, you
have to configure it manually to do the same.
### On using Cloudflare
If you want to use PrivateBin behind Cloudflare, make sure you have disabled the
Rocket loader and unchecked "Javascript" for Auto Minify, found in your domain
settings, under "Speed". More information can be found in our
[FAQ entry on Cloudflare related issues](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#user-content-how-to-make-privatebin-work-when-using-cloudflare-for-ddos-protection).
### Using a Database Instead of Flat Files
In the configuration file the `[model]` and `[model_options]` sections let you
configure your favourite way of storing the pastes and discussions on your
server.
`Filesystem` is the default model, which stores everything in files in the
data folder. This is the recommended setup for most sites on single hosts.
Under high load, in distributed setups or if you are not allowed to store files
locally, you might want to switch to the `Database` model. This lets you
store your data in a database. Basically all databases that are supported by
[PDO](https://secure.php.net/manual/en/book.pdo.php) may be used. Automatic table
creation is provided for `pdo_ibm`, `pdo_informix`, `pdo_mssql`, `pdo_mysql`,
`pdo_oci`, `pdo_pgsql` and `pdo_sqlite`. You may want to provide a table prefix,
if you have to share the PrivateBin database with another application or you want
to use a prefix for
[security reasons](https://security.stackexchange.com/questions/119510/is-using-a-db-prefix-for-tables-more-secure).
The table prefix option is called `tbl`.
> #### Note
> The `Database` model has only been tested with SQLite, MariaDB/MySQL and
> PostgreSQL, although it would not be recommended to use SQLite in a production
> environment. If you gain any experience running PrivateBin on other RDBMS,
> please let us know.
The following GRANTs (privileges) are required for the PrivateBin user in
**MariaDB/MySQL**. In normal operation:
- INSERT, SELECT, DELETE on the paste and comment tables
- SELECT on the config table
If you want PrivateBin to handle table creation (when you create the first paste)
and updates (after you update PrivateBin to a new release), you need to give the
user these additional privileges:
- CREATE, INDEX and ALTER on the database
- INSERT and UPDATE on the config table
For reference or if you want to create the table schema for yourself to avoid
having to give PrivateBin too many permissions (replace `prefix_` with your own
table prefix and create the table schema with your favourite MariaDB/MySQL
client):
```sql
CREATE TABLE prefix_paste (
dataid CHAR(16) NOT NULL,
data MEDIUMBLOB,
postdate INT,
expiredate INT,
opendiscussion INT,
burnafterreading INT,
meta TEXT,
attachment MEDIUMBLOB,
attachmentname BLOB,
PRIMARY KEY (dataid)
);
CREATE TABLE prefix_comment (
dataid CHAR(16),
pasteid CHAR(16),
parentid CHAR(16),
data BLOB,
nickname BLOB,
vizhash BLOB,
postdate INT,
PRIMARY KEY (dataid)
);
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.6.0');
```
In **PostgreSQL**, the `data`, `attachment`, `nickname` and `vizhash` columns
need to be `TEXT` and not `BLOB` or `MEDIUMBLOB`. The key names in brackets,
after `PRIMARY KEY`, need to be removed.
In **Oracle**, the `data`, `attachment`, `nickname` and `vizhash` columns need
to be `CLOB` and not `BLOB` or `MEDIUMBLOB`, the `id` column in the `config`
table needs to be `VARCHAR2(16)` and the `meta` column in the `paste` table
and the `value` column in the `config` table need to be `VARCHAR2(4000)`.
#### Using Google Cloud Storage
If you want to deploy PrivateBin in a serverless manner in the Google Cloud, you
can choose the `GoogleCloudStorage` as backend. To use this backend, you create
a GCS bucket and specify the name as the model option `bucket`. Alternatively,
you can set the name through the environment variable `PRIVATEBIN_GCS_BUCKET`.
The default prefix for pastes stored in the bucket is `pastes`. To change the
prefix, specify the option `prefix`.
Google Cloud Storage buckets may be significantly slower than a `FileSystem` or
`Database` backend. The big advantage is that the deployment on Google Cloud
Platform using Google Cloud Run is easy and cheap.
To use the Google Cloud Storage backend you have to install the suggested
library using the command `composer require google/cloud-storage`.
#### Using S3 Storage
Similar to Google Cloud Storage, you can choose S3 as storage backend. It uses
the AWS SDK for PHP, but can also talk to a Rados gateway as part of a CEPH
cluster. To use this backend, you first have to install the SDK in the
document root of PrivateBin: `composer require aws/aws-sdk-php`. You have to
create the S3 bucket on the CEPH cluster before using the S3 backend.
In the `[model]` section of cfg/conf.php, set `class` to `S3Storage`.
You can set any combination of the following options in the `[model_options]`
section:
* region
* version
* endpoint
* bucket
* prefix
* accesskey
* secretkey
* use_path_style_endpoint
By default, prefix is empty. If set, the S3 backend will place all PrivateBin
data beneath this prefix.
For AWS, you have to provide at least `region`, `bucket`, `accesskey`, and
`secretkey`.
For CEPH, follow this example:
```
region = ""
version = "2006-03-01"
endpoint = "https://s3.my-ceph.invalid"
use_path_style_endpoint = true
bucket = "my-bucket"
accesskey = "my-rados-user"
secretkey = "my-rados-pass"
```

View File

@ -1,60 +1,37 @@
Generating PHP documentation # PrivateBin Documentation
============================
In order to generate the documentation, you will need to install the following ## [Frequently Asked Questions](https://github.com/PrivateBin/PrivateBin/wiki/FAQ)
packages and its dependencies:
* phpdoc
* graphviz
Details about Please have a look at these questions *before* opening an issue in this repo.
[installing phpDocumentor](https://phpdoc.org/docs/latest/getting-started/installing.html)
can be found in that projects documentation.
Example for Debian and Ubuntu: ## [Installation guide](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Installation.md#installation)
```console
$ sudo apt install php-pear graphviz
$ sudo pear channel-discover pear.phpdoc.org
$ sudo pear install phpdoc/phpDocumentor
```
To generate the documentation, change into the main directory and run phpdoc: Minimal requirements, hardening and securing your installation and initial
```console configuration.
$ cd PrivateBin
$ phpdoc -t doc/phpdoc -d lib/
```
**Note:** When used with PHP 7, the prerelease of phpDocumentator 2.9 needs to be ## [Configuration guide](https://github.com/PrivateBin/PrivateBin/wiki/Configuration)
manually installed by downloading it from
[GitHub](https://github.com/phpDocumentor/phpDocumentor2/releases/download/v2.9.0/phpDocumentor.phar)
and then manually moving it to e.g. `/usr/local/bin` and making it executable.
Generating JS documentation Detailed guide on each configuration option and their effects.
============================
In order to generate the documentation, you will need to install the following ## [Templates](https://github.com/PrivateBin/PrivateBin/wiki/Templates)
packages and its dependencies:
* npm
Then you can use the node package manager to install the latest stable release How to change an existing template or create your own, as well as an overview of
of jsdoc globally: the currently included templates.
```console ## [Translation guide](https://github.com/PrivateBin/PrivateBin/wiki/Translation)
$ npm install -g jsdoc
```
Example for Debian and Ubuntu, including steps to allow current user to install How to help translate PrivateBin and technical background on it's implementation.
node modules globally:
```console
$ sudo apt install npm
$ sudo mkdir /usr/local/lib/node_modules
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
$ npm install -g jsdoc
$ ln -s /usr/bin/nodejs /usr/local/bin/node
```
To generate the documentation, change into the main directory and run phpdoc: ## [Developer guide](https://github.com/PrivateBin/PrivateBin/wiki/Development)
```console
$ cd PrivateBin
$ jsdoc -d doc/jsdoc js/privatebin.js
```
Know how for participating in PrivateBins development.
### [Generating Source Code Documentation](https://github.com/PrivateBin/PrivateBin/blob/master/doc/Generating%20Source%20Code%20Documentation.md#generating-source-code-documentation)
How to generate the source code API documentation, as found on the project
website for [PHP](https://privatebin.info/codedoc/) and [JS](https://privatebin.info/jsdoc/)
### [Running Unit Tests](https://github.com/PrivateBin/PrivateBin/blob/master/tst/README.md#running-all-unit-tests)
How to run the PHP & JS unit tests, including a brief introduction to property
based unit testing.

View File

@ -1,15 +0,0 @@
version: '3'
services:
privatebin:
build: .
ports:
- "3000:80"
volumes:
- data:/var/www/html/data
# Optionally mount a custom config file
#- /srv/docker/privatebin/conf.php:/var/www/html/cfg/conf.php
volumes:
data:

View File

@ -1,4 +0,0 @@
#! /bin/sh
chown -R www-data /var/www/html/data
apache2-foreground

219
i18n/ar.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s عبارة عن أداة لصق على الإنترنت بسيطة ومفتوحة المصدر حيث لا يمتلك الخادم أي معرفة بالبيانات الملصقة. يتم تشفير / فك تشفير البيانات %sفي المتصفح%s باستخدام 256 بت AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "مزيد من المعلومات على <a href=\"https://privatebin.info/\">صفحة المشروع</a>.",
"Because ignorance is bliss": "لأن الجهل نعمة",
"en": "ar",
"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 ثواني بين كل مشاركة.",
"الرجاء الانتظار %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.": "معرف لصق غير صالح.",
"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.": "جافاسكرِبت (JavaScript) مطلوب %s للعمل. نأسف للإزعاج.",
"%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 ثواني",
"%d ثواني",
"%d ثواني"
],
"%d minutes": [
"%d دقيقة",
"%d دقائق",
"%d دقائق",
"%d دقائق",
"%d دقائق",
"%d دقائق"
],
"%d hours": [
"%d ساعة",
"%d ساعات",
"%d ساعات",
"%d ساعات",
"%d ساعات",
"%d ساعات"
],
"%d days": [
"%d يوم",
"%d أيام",
"%d أيام",
"%d أيام",
"%d أيام",
"%d أيام"
],
"%d weeks": [
"%d أسبوع",
"%d أسابيع",
"%d أسابيع",
"%d أسابيع",
"%d أسابيع",
"%d أسابيع"
],
"%d months": [
"%d شهر",
"%d شهور",
"%d شهور",
"%d شهور",
"%d شهور",
"%d شهور"
],
"%d years": [
"%d سنة",
"%d سنين",
"%d سنين",
"%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 ثواني.",
"ستنتهي صلاحية هذا المستند في %d ثواني.",
"ستنتهي صلاحية هذا المستند في %d ثواني.",
"ستنتهي صلاحية هذا المستند في %d ثواني."
],
"This document will expire in %d minutes.": [
"ستنتهي صلاحية هذا المستند في %d دقيقة.",
"ستنتهي صلاحية هذا المستند في %d دقائق.",
"ستنتهي صلاحية هذا المستند في %d دقائق.",
"ستنتهي صلاحية هذا المستند في %d دقائق.",
"ستنتهي صلاحية هذا المستند في %d دقائق.",
"ستنتهي صلاحية هذا المستند في %d دقائق."
],
"This document will expire in %d hours.": [
"ستنتهي صلاحية هذا المستند في غضون %d ساعة.",
"ستنتهي صلاحية هذا المستند في غضون %d ساعات.",
"ستنتهي صلاحية هذا المستند في غضون %d ساعات.",
"ستنتهي صلاحية هذا المستند في غضون %d ساعات.",
"ستنتهي صلاحية هذا المستند في غضون %d ساعات.",
"ستنتهي صلاحية هذا المستند في غضون %d ساعات."
],
"This document will expire in %d days.": [
"ستنتهي صلاحية هذا المستند خلال %d يوم.",
"ستنتهي صلاحية هذا المستند خلال %d أيام.",
"ستنتهي صلاحية هذا المستند خلال %d أيام.",
"ستنتهي صلاحية هذا المستند خلال %d أيام.",
"ستنتهي صلاحية هذا المستند خلال %d أيام.",
"ستنتهي صلاحية هذا المستند خلال %d أيام."
],
"This document will expire in %d months.": [
"ستنتهي صلاحية هذا المستند خلال %d شهر.",
"ستنتهي صلاحية هذا المستند خلال %d شهور.",
"ستنتهي صلاحية هذا المستند خلال %d شهور.",
"ستنتهي صلاحية هذا المستند خلال %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?)": "لا يمكن فك تشفير اللصق: مفتاح فك التشفير مفقود في URL (هل استخدمت معيد توجيه أو أداة تقصير لعناوين URL تزيل جزءًا من عنوان 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": "تقصير URL",
"Editor": "المحرّر",
"Preview": "معاينة",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s يتطلب PATH لينتهي ب \"%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\">الأسئلة الشائعة هذه للحصول على معلومات لتحري الخلل وإصلاحه</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\">راجع هذه الأسئلة الشائعة</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 %s": "ملاحظة مشفرة على %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "زُر هذا الرابط لرؤية الملاحظة. يتيح إعطاء عنوان URL لأي شخص الوصول إلى الملاحظة أيضًا.",
"URL shortener may expose your decrypt key in URL.": "قد يفضح أداة تقصير عناوين URL مفتاح فك التشفير الخاص بك في URL.",
"Save paste": "احفظ اللصق",
"Your IP is not authorized to create pastes.": "عنوان IP الخاص بك غير مصرح له بإنشاء لصُق.",
"Trying to shorten a URL that isn't pointing at our instance.": "محاولة تقصير عنوان URL لا يشير إلى خادمنا.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "خطأ في الاتصال بـ YOURLS. ربما تكون هناك مشكلة في التضبيط، مثل \"apiurl\" أو \"التوقيع\" الخاطئ أو المفقود.",
"Error parsing YOURLS response.": "خطأ في تحليل استجابة YOURLS."
}

219
i18n/bg.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s е изчистен и изцяло достъпен като отворен код, онлайн \"paste\" услуга, където сървъра не знае подадената информация. Тя се шифрова/дешифрова %sвъв браузъра%s използвайки 256 битов AES алгоритъм.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Повече информация може да намерите на <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 секунди между всяка публикация.",
"Моля изчакайте %d секунди между всяка публикация.",
"Моля изчакайте %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.": "Невалиден идентификационен код.",
"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 секунда",
"%d секунда",
"%d секунда"
],
"%d minutes": [
"%d минути",
"%d минута",
"%d минута",
"%d минута",
"%d минута",
"%d минута"
],
"%d hours": [
"%d часа",
"%d час",
"%d час",
"%d час",
"%d час",
"%d час"
],
"%d days": [
"%d дни",
"%d ден",
"%d ден",
"%d ден",
"%d ден",
"%d ден"
],
"%d weeks": [
"%d седмици",
"%d седмица",
"%d седмица",
"%d седмица",
"%d седмица",
"%d седмица"
],
"%d months": [
"%d месеци",
"%d месец",
"%d месец",
"%d месец",
"%d месец",
"%d месец"
],
"%d years": [
"%d години",
"%d година",
"%d година",
"%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 секунди.",
"Този документ изтича след %d секунди.",
"Този документ изтича след %d секунди."
],
"This document will expire in %d minutes.": [
"Този документ изтича след една минута.",
"Този документ изтича след %d минути.",
"Този документ изтича след %d минути.",
"Този документ изтича след %d минути.",
"Този документ изтича след %d минути.",
"Този документ изтича след %d минути."
],
"This document will expire in %d hours.": [
"Този документ изтича след един час.",
"Този документ изтича след %d часа.",
"Този документ изтича след %d часа.",
"Този документ изтича след %d часа.",
"Този документ изтича след %d часа.",
"Този документ изтича след %d часа."
],
"This document will expire in %d days.": [
"Този документ изтича след един ден.",
"Този документ изтича след %d дни.",
"Този документ изтича след %d дни.",
"Този документ изтича след %d дни.",
"Този документ изтича след %d дни.",
"Този документ изтича след %d дни."
],
"This document will expire in %d months.": [
"Този документ изтича след една година.",
"Този документ изтича след %d години.",
"Този документ изтича след %d години.",
"Този документ изтича след %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?)": "Дешифроването на информацията беше неуспешно: Ключа за декриптиране липсва във връзката (Да не сте използвали услуга за пренасочване или скъсяване на връзката, което би изрязало части от нея?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Формат",
"Plain Text": "Чист текст",
"Source Code": "Изходен код",
"Markdown": "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\">Вижте тази страница</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": "Нов опит",
"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": "Затваряне",
"Encrypted note on %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/ca.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s és un pastebin en línia de codi obert i minimalista on el servidor no té coneixement de les dades enganxades. Les dades estan encriptades/desxifrades %sen el navegador%s utilitzant AES de 256 bits.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Més informació a la <a href=\"https://privatebin.info/\">pàgina del projecte</a>.",
"Because ignorance is bliss": "Perquè la ignorància és felicitat",
"en": "ca",
"Paste does not exist, has expired or has been deleted.": "El paste no existeix, ha caducat o s'ha eliminat.",
"%s requires php %s or above to work. Sorry.": "%s requereix php %s o superior per funcionar. Ho sento.",
"%s requires configuration section [%s] to be present in configuration file.": "%s requereix que la secció de configuració [%s] sigui present al fitxer de configuració.",
"Please wait %d seconds between each post.": [
"Espereu %d segon entre cada entrada.",
"Espereu %d segons entre cada entrada.",
"Espereu %d segons entre cada entrada.",
"Espereu %d segons entre cada entrada.",
"Espereu %d segons entre cada entrada.",
"Espereu %d segons entre cada entrada."
],
"Paste is limited to %s of encrypted data.": "L'enganxat està limitat a %s de dades encriptades.",
"Invalid data.": "Dades no vàlides.",
"You are unlucky. Try again.": "Mala sort. Torna-ho a provar.",
"Error saving comment. Sorry.": "S'ha produït un error en desar el comentari. Ho sento.",
"Error saving paste. Sorry.": "S'ha produït un error en desar l'enganxat. Ho sento.",
"Invalid paste ID.": "Identificador d'enganxament no vàlid.",
"Paste is not of burn-after-reading type.": "Paste is not of burn-after-reading type.",
"Wrong deletion token. Paste was not deleted.": "El token d'eliminació és incorrecte. El Paste no s'ha eliminat.",
"Paste was properly deleted.": "El Paste s'ha esborrat correctament.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Cal JavaScript perquè %s funcioni. Em sap greu les molèsties.",
"%s requires a modern browser to work.": "%s requereix un navegador modern per funcionar.",
"New": "Nou",
"Send": "Enviar",
"Clone": "Clona",
"Raw text": "Text sense processar",
"Expires": "Caducitat",
"Burn after reading": "Esborra després de ser llegit",
"Open discussion": "Discussió oberta",
"Password (recommended)": "Contrasenya (recomanat)",
"Discussion": "Discussió",
"Toggle navigation": "Alternar navegació",
"%d seconds": [
"%d segon",
"%d segons",
"%d segons",
"%d segons",
"%d segons",
"%d segons"
],
"%d minutes": [
"%d minut",
"%d minuts",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minuts",
"%d minuts"
],
"%d hours": [
"%d hora",
"%d hores",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hores",
"%d hores"
],
"%d days": [
"%d dia",
"%d dies",
"%d dies",
"%d dies",
"%d dies",
"%d dies"
],
"%d weeks": [
"%d setmana",
"%d setmanes",
"%d setmanes",
"%d setmanes",
"%d setmanes",
"%d setmanes"
],
"%d months": [
"%d mes",
"%d mesos",
"%d mesos",
"%d mesos",
"%d mesos",
"%d mesos"
],
"%d years": [
"%d any",
"%d anys",
"%d anys",
"%d anys",
"%d anys",
"%d anys"
],
"Never": "Mai",
"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.": [
"Aquest document caducarà d'aquí %d segon.",
"Aquest document caducarà d'aquí %d segons.",
"Aquest document caducarà d'aquí %d segons.",
"Aquest document caducarà d'aquí %d segons.",
"Aquest document caducarà d'aquí %d segons.",
"Aquest document caducarà d'aquí %d segons."
],
"This document will expire in %d minutes.": [
"Aquest document caducarà d'aquí %d minut.",
"Aquest document caducarà d'aquí %d minuts.",
"Aquest document caducarà d'aquí %d minuts.",
"Aquest document caducarà d'aquí %d minuts.",
"Aquest document caducarà d'aquí %d minuts.",
"Aquest document caducarà d'aquí %d minuts."
],
"This document will expire in %d hours.": [
"Aquest document caducarà d'aquí %d hora.",
"Aquest document caducarà d'aquí %d hores.",
"Aquest document caducarà d'aquí %d hores.",
"Aquest document caducarà d'aquí %d hores.",
"Aquest document caducarà d'aquí %d hores.",
"Aquest document caducarà d'aquí %d hores."
],
"This document will expire in %d days.": [
"Aquest document caducarà d'aquí %d dia.",
"Aquest document caducarà d'aquí %d dies.",
"Aquest document caducarà d'aquí %d dies.",
"Aquest document caducarà d'aquí %d dies.",
"Aquest document caducarà d'aquí %d dies.",
"Aquest document caducarà d'aquí %d dies."
],
"This document will expire in %d months.": [
"Aquest document caducarà d'aquí %d mes.",
"Aquest document caducarà d'aquí %d mesos.",
"Aquest document caducarà d'aquí %d mesos.",
"Aquest document caducarà d'aquí %d mesos.",
"Aquest document caducarà d'aquí %d mesos.",
"Aquest document caducarà d'aquí %d mesos."
],
"Please enter the password for this paste:": "Si us plau, introdueix la contrasenya per aquest paste:",
"Could not decrypt data (Wrong key?)": "No s'han pogut desxifrar les dades (Clau incorrecte?)",
"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": "Respondre",
"Anonymous": "Anònim",
"Avatar generated from IP address": "Avatar generat a partir de l'adreça IP",
"Add comment": "Afegir comentari",
"Optional nickname…": "Pseudònim opcional…",
"Post comment": "Publicar comentari",
"Sending comment…": "Enviant comentari…",
"Comment posted.": "Comentari publicat.",
"Could not refresh display: %s": "Could not refresh display: %s",
"unknown status": "estat desconegut",
"server error or not responding": "server error or not responding",
"Could not post comment: %s": "No s'ha pogut publicar el comentari: %s",
"Sending paste…": "Enviant 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": "Esborrar les dades",
"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": "Text sense format",
"Source Code": "Codi font",
"Markdown": "Markdown",
"Download attachment": "Baixar els adjunts",
"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": "Adjuntar un fitxer",
"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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/co.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s hè un serviziu in linea di tipu « pastebin » (ghjestiunariu dappiccicu di pezzi di testu è di codice di fonte) minimalistu è à fonte aperta induve u servitore ùn hà micca cunnuscenza di i dati mandati. I dati sò cifrati è dicifrati %sin u navigatore%s cù una cifratura AES di 256 bit.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Più dinfurmazione annantà a <a href=\"https://privatebin.info/\">pagina di u prughjettu</a>.",
"Because ignorance is bliss": "Perchè lignurenza hè una campa",
"en": "co",
"Paste does not exist, has expired or has been deleted.": "Lappiccicu ùn esiste micca, hè scadutu o hè statu squassatu.",
"%s requires php %s or above to work. Sorry.": "Per disgrazzia, %s richiede php %s o più recente per funziunà.",
"%s requires configuration section [%s] to be present in configuration file.": "%s richiede a presenza di a sezzione di cunfigurazione [%s] in a schedariu di cunfigurazione.",
"Please wait %d seconds between each post.": [
"Aspettate %d seconda trà dui publicazioni.",
"Aspettate %d seconde trà dui publicazioni.",
"Aspettate %d seconde trà dui publicazioni.",
"Aspettate %d seconde trà dui publicazioni.",
"Aspettate %d seconde trà dui publicazioni.",
"Aspettate %d seconde trà dui publicazioni."
],
"Paste is limited to %s of encrypted data.": "Lappiccicu hè limitatu à %s di dati cifrati.",
"Invalid data.": "Dati inaccetevule.",
"You are unlucky. Try again.": "Pruvate torna, Serete più furtunati.",
"Error saving comment. Sorry.": "Per disgrazzia, ci hè un sbagliu à larregistramentu di u cummentu.",
"Error saving paste. Sorry.": "Per disgrazzia, ci hè un sbagliu à larregistramentu di lappiccicu.",
"Invalid paste ID.": "N° di lappiccicu inaccettevule.",
"Paste is not of burn-after-reading type.": "Lappiccicu ùn hè micca di tipu « Squassà dopu a lettura ».",
"Wrong deletion token. Paste was not deleted.": "Gettone di squassatura incurrettu. Lappiccicu ùn hè micca statu squassatu.",
"Paste was properly deleted.": "Lappiccicu hè statu squassatu currettamente.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript hè richiestu per fà funziunà %s. Scusate per stu penseru.",
"%s requires a modern browser to work.": "%s richiede un navigatore mudernu per funziunà.",
"New": "Novu",
"Send": "Mandà",
"Clone": "Duppione",
"Raw text": "Testu grossu",
"Expires": "Scadenza",
"Burn after reading": "Squassà dopu a lettura",
"Open discussion": "Apre una chjachjarata",
"Password (recommended)": "Parolla dintesa (ricumandata)",
"Discussion": "Chjachjarata",
"Toggle navigation": "Invertisce a navigazione",
"%d seconds": [
"%d seconda",
"%d seconde",
"%d seconde",
"%d seconde",
"%d seconde",
"%d seconde"
],
"%d minutes": [
"%d minutu",
"%d minuti",
"%d minuti",
"%d minuti",
"%d minuti",
"%d minuti"
],
"%d hours": [
"%d ora",
"%d ore",
"%d ore",
"%d ore",
"%d ore",
"%d ore"
],
"%d days": [
"%d ghjornu",
"%d ghjorni",
"%d ghjorni",
"%d ghjorni",
"%d ghjorni",
"%d ghjorni"
],
"%d weeks": [
"%d settimana",
"%d settimane",
"%d settimane",
"%d settimane",
"%d settimane",
"%d settimane"
],
"%d months": [
"%d mese",
"%d mesi",
"%d mesi",
"%d mesi",
"%d mesi",
"%d mesi"
],
"%d years": [
"%d annu",
"%d anni",
"%d anni",
"%d anni",
"%d anni",
"%d anni"
],
"Never": "Mai",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota : Què hè un serviziu di prova ; i dati ponu esse squassati à ogni mumentu. Parechji catorni anu da esse tombi sè vò impiegate troppu stu serviziu.",
"This document will expire in %d seconds.": [
"Stu ducumentu serà scadutu in %d seconda.",
"Stu ducumentu serà scadutu in %d seconde.",
"Stu ducumentu serà scadutu in %d seconde.",
"Stu ducumentu serà scadutu in %d seconde.",
"Stu ducumentu serà scadutu in %d seconde.",
"Stu ducumentu serà scadutu in %d seconde."
],
"This document will expire in %d minutes.": [
"Stu ducumentu serà scadutu in %d minutu.",
"Stu ducumentu serà scadutu in %d minuti.",
"Stu ducumentu serà scadutu in %d minuti.",
"Stu ducumentu serà scadutu in %d minuti.",
"Stu ducumentu serà scadutu in %d minuti.",
"Stu ducumentu serà scadutu in %d minuti."
],
"This document will expire in %d hours.": [
"Stu ducumentu serà scadutu in %d ora.",
"Stu ducumentu serà scadutu in %d ore.",
"Stu ducumentu serà scadutu in %d ore.",
"Stu ducumentu serà scadutu in %d ore.",
"Stu ducumentu serà scadutu in %d ore.",
"Stu ducumentu serà scadutu in %d ore."
],
"This document will expire in %d days.": [
"Stu ducumentu serà scadutu in %d ghjornu.",
"Stu ducumentu serà scadutu in %d ghjorni.",
"Stu ducumentu serà scadutu in %d ghjorni.",
"Stu ducumentu serà scadutu in %d ghjorni.",
"Stu ducumentu serà scadutu in %d ghjorni.",
"Stu ducumentu serà scadutu in %d ghjorni."
],
"This document will expire in %d months.": [
"Stu ducumentu serà scadutu in %d mese.",
"Stu ducumentu serà scadutu in %d mesi.",
"Stu ducumentu serà scadutu in %d mesi.",
"Stu ducumentu serà scadutu in %d mesi.",
"Stu ducumentu serà scadutu in %d mesi.",
"Stu ducumentu serà scadutu in %d mesi."
],
"Please enter the password for this paste:": "Stampittate a parolla dintesa per stappiccicu :",
"Could not decrypt data (Wrong key?)": "Ùn si pò micca dicifrà i dati ; seria incurretta a chjave ?",
"Could not delete the paste, it was not stored in burn after reading mode.": "Ùn si pò micca squassà lappiccicu, ùn hè micca statu in u modu « Squassà dopu a lettura ».",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "SOLU CÙ LOCHJI. Ùn chjudite micca sta finestra, stu messaghju un puderà più esse affissatu torna.",
"Could not decrypt comment; Wrong key?": "Ùn si pò micca dicifrà u cummentu. Seria incurretta a chjave ?",
"Reply": "Risponde",
"Anonymous": "Anonimu",
"Avatar generated from IP address": "Avatar ingeneratu da lindirizzu IP",
"Add comment": "Aghjunghje un cummentu",
"Optional nickname…": "Cugnome ozzionale…",
"Post comment": "Impustà u cummentu",
"Sending comment…": "Inviu di u cummentu…",
"Comment posted.": "Cummentu inviatu.",
"Could not refresh display: %s": "Ùn si pò micca attualizà laffissera : %s",
"unknown status": "statu scunnisciutu",
"server error or not responding": "sbagliu di u servitore o u servitore ùn risponde micca",
"Could not post comment: %s": "Ùn si pò micca impustà u cummentu : %s",
"Sending paste…": "Inviu di lappiccicu…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "U vostru appiccicu si trova à lindirizzu<a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Appughjate [Ctrl]+[c] per cupià u liame)</span>",
"Delete data": "Squassà i dati",
"Could not create paste: %s": "Ùn si pò micca creà lappiccicu : %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 si pò micca dicifrà lappiccicu : A chjave di dicifratura hè assente in lindirizzu. Averiate impiegatu un orientadore dindirizzu o un riduttore chì ammuzzeghja una parte di lindirizzu ?",
"B": "o",
"KiB": "Ko",
"MiB": "Mo",
"GiB": "Go",
"TiB": "To",
"PiB": "Po",
"EiB": "Eo",
"ZiB": "Zo",
"YiB": "Yo",
"Format": "Furmatu",
"Plain Text": "Testu in chjaru",
"Source Code": "Codice di fonte",
"Markdown": "Markdown",
"Download attachment": "Scaricà a pezza aghjunta",
"Cloned: '%s'": "Duppiatu : « %s »",
"The cloned file '%s' was attached to this paste.": "U schedariu duppiatu « %s » hè statu aghjuntu à stappiccicu.",
"Attach a file": "Aghjunghje un schedariu",
"alternatively drag & drop a file or paste an image from the clipboard": "in alternanza, sguillà è depone un schedariu o incullà una fiura da u premepapei",
"File too large, to display a preview. Please download the attachment.": "Schedariu troppu maiò per affissà una fighjulata. Scaricate a pezza aghjunta.",
"Remove attachment": "Caccià a pezza aghjunta",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "U vostru navigatore ùn accetta micca linviu di i schedarii cifrati. Impiegate un navigatore più recente.",
"Invalid attachment.": "A pezza aghjunta hè inaccettevule.",
"Options": "Ozzioni",
"Shorten URL": "Ammuzzà lindirizzu",
"Editor": "Editore",
"Preview": "Fighjulata",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s richiede chì a variabile PATH si compii cù « %s ». Mudificate a variabile PATH in u vostru index.php.",
"Decrypt": "Dicifrà",
"Enter password": "Stampittate a parolla dintesa",
"Loading…": "Caricamentu…",
"Decrypting paste…": "Dicifratura di lappiccicu…",
"Preparing new paste…": "Approntu di u novu appiccicu…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Sè stu messaghju ùn smarisce micca, lighjite <a href=\"%s\">sta FAQ per ottene infurmazioni annantà a risuluzione di i prublemi</a>.",
"+++ no paste text +++": "+++ nisunu testu incullatu +++",
"Could not get paste data: %s": "Ùn si pò micca ottene i dati di lappiccicu : %s",
"QR code": "Codice QR",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Stu situ web impiegheghja una cunnessione HTTP non sicura ! impiegatelu solu per una prova.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Per sapene di più, <a href=\"%s\">lighjite sta rubrica di a FAQ</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "U vostru navigatore pò richiede una cunnessione HTTPS per permette lusu di lAPI WebCrypto. Pruvate di <a href=\"%s\">passà à HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "U vostru navigatore ùn accetta micca WebAssembly, impiegatu per a cumpressione zlib. Pudete creà ducumenti micca cumpressi, ma ùn pudete micca leghje quelli chì sò cumpressi.",
"waiting on user to provide a password": "in attesa di lutilizatore per furnisce una parolla dintesa",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Ùn si pò micca dicifrà i dati. Avete stampittatu una parolla dintesa incurretta ? Pruvate torna cù u buttone insù.",
"Retry": "Pruvà torna",
"Showing raw text…": "Affissera di u testu grossu…",
"Notice:": "Avertimentu :",
"This link will expire after %s.": "Stu liame hà da scade dopu à %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Stu liame pò esse accessu solu una volta, ùn impiegate micca i buttoni Precedente o Attualizà di u vostru navigatore.",
"Link:": "Liame :",
"Recipient may become aware of your timezone, convert time to UTC?": "U destinatariu pò cunnnosce u vostru fusu orariu. Vulete cunvertisce lora in u furmatu UTC ?",
"Use Current Timezone": "Impiegà u fusu orariu attuale",
"Convert To UTC": "Cunvertisce in UTC",
"Close": "Chjode",
"Encrypted note on %s": "Nota cifrata nantà %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visitate stu liame per vede a nota. Date lindirizzu à qualunque li permette daccede à a nota dinù.",
"URL shortener may expose your decrypt key in URL.": "Un ammuzzatore dindirizzu pò palisà a vostra chjave di dicifratura in lindirizzu.",
"Save paste": "Arregistrà lappiccicu",
"Your IP is not authorized to create pastes.": "U vostru indirizzu IP ùn hè micca auturizatu à creà lappiccichi.",
"Trying to shorten a URL that isn't pointing at our instance.": "Pruvate dammuzzà un indirizzu web chì ùn punta micca versu a vostra instanza.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Sbagliu à a chjama di YOURLS. Seria forse una cunfigurazione gattiva, tale una \"apiurl\" o \"signature\" falsa o assente.",
"Error parsing YOURLS response.": "Sbagliu durante lanalisa di a risposta di YOURLS."
}

219
i18n/cs.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický open source 'pastebin' server, který neanalyzuje vložená data. Data jsou šifrována %sv prohlížeči%s pomocí 256 bitů AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "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 vyžaduje, aby byla v konfiguračním souboru přítomna sekce [%s].",
"Please wait %d seconds between each post.": [
"Počet sekund do dalšího příspěvku: %d.",
"Počet sekund do dalšího příspěvku: %d.",
"Počet sekund do dalšího příspěvku: %d.",
"Počet sekund do dalšího příspěvku: %d.",
"Počet sekund do dalšího příspěvku: %d.",
"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.": "Příspěvek není nastaven na smazaní po přečtení.",
"Wrong deletion token. Paste was not deleted.": "Chybný token pro odstranění. Příspěvek nebyl smazán.",
"Paste was properly deleted.": "Příspěvek byl řádně smazán.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Pro fungování %s je vyžadován JavaScript. Omlouváme se za nepříjemnosti.",
"%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": "Přepnout navigaci",
"%d seconds": [
"%d sekuda",
"%d sekundy",
"%d sekund",
"%d sekund",
"%d sekund",
"%d sekund"
],
"%d minutes": [
"%d minuta",
"%d minuty",
"%d minut",
"%d minut",
"%d minut",
"%d minut"
],
"%d hours": [
"%d hodina",
"%d hodiny",
"%d hodin",
"%d hodin",
"%d hodin",
"%d hodin"
],
"%d days": [
"%d den",
"%d dny",
"%d dní",
"%d dní",
"%d dní",
"%d dní"
],
"%d weeks": [
"%d týden",
"%d týdeny",
"%d týdnů",
"%d týdnů",
"%d týdnů",
"%d týdnů"
],
"%d months": [
"%d měsíc",
"%d měsíce",
"%d měsíců",
"%d měsíců",
"%d měsíců",
"%d měsíců"
],
"%d years": [
"%d rok",
"%d roky",
"%d roků",
"%d roků",
"%d roků",
"%d roků"
],
"Never": "Nikdy",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Tato služba slouží k vyzkoušení: Data mohou být kdykoliv smazána. Při zneužití této služby zemřou koťátka.",
"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.",
"Tento dokument expiruje za %d sekund.",
"Tento dokument expiruje za %d sekund.",
"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.",
"Tento dokument expiruje za %d minut.",
"Tento dokument expiruje za %d minut.",
"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.",
"Tento dokument expiruje za %d hodin.",
"Tento dokument expiruje za %d hodin.",
"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.",
"Tento dokument expiruje za %d dny.",
"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ů.",
"Tento dokument expiruje za %d měsíců.",
"Tento dokument expiruje za %d měsíců.",
"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?)": "Nepodařilo se dešifrovat data (Špatný klíč?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Nepodařilo se odstranit příspěvek, nebyl uložen v režimu smazání po přečtení.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "POUZE PRO VAŠE OČI. Nezavírejte toto okno, tuto zprávu nelze znovu zobrazit.",
"Could not decrypt comment; Wrong key?": "Nepodařilo se dešifrovat komentář; Špatný klíč?",
"Reply": "Odpovědět",
"Anonymous": "Anonym",
"Avatar generated from IP address": "Avatar vygenerován z IP adresy",
"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": "Nepodařilo se obnovit zobrazení: %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",
"Markdown": "Markdown",
"Download attachment": "Stáhnout přílohu",
"Cloned: '%s'": "Klonováno: '%s'",
"The cloned file '%s' was attached to this paste.": "Naklonovaný soubor '%s' byl připojen k tomuto příspěvku.",
"Attach a file": "Připojit soubor",
"alternatively drag & drop a file or paste an image from the clipboard": "alternativně přetáhněte soubor nebo vložte obrázek ze schránky",
"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.",
"Invalid attachment.": "Chybná příloha.",
"Options": "Volby",
"Shorten URL": "Zkrátit URL",
"Editor": "Editor",
"Preview": "Náhled",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH skončil s \"%s\". Aktualizujte PATH ve vašem souboru index.php.",
"Decrypt": "Dešifrovat",
"Enter password": "Zadejte heslo",
"Loading…": "Načítání…",
"Decrypting paste…": "Dešifruji příspěvek…",
"Preparing new paste…": "Připravuji nový příspěvek…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "V případě, že tato zpráva nezmizí, se podívejte na <a href=\"%s\">tyto často kladené otázky pro řešení</a>.",
"+++ no paste text +++": "+++ žádný vložený text +++",
"Could not get paste data: %s": "Nepodařilo se získat data příspěvku: %s",
"QR code": "QR kód",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Tato stránka používá nezabezpečený připojení HTTP! Použijte ji prosím jen pro testování.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Více informací naleznete <a href=\"%s\">v této položce FAQ</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Váš prohlížeč může vyžadovat připojení HTTPS pro podporu WebCrypto API. Zkuste <a href=\"%s\">přepnout na HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prohlížeč nepodporuje WebAssembly, který se používá pro zlib kompresi. Můžete vytvořit nekomprimované dokumenty, ale nebudete moct číst ty komprimované.",
"waiting on user to provide a password": "čekám na zadání hesla",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nepodařilo se dešifrovat data. Zadali jste špatné heslo? Zkuste to znovu pomocí tlačítka nahoře.",
"Retry": "Opakovat",
"Showing raw text…": "Zobrazuji surový text…",
"Notice:": "Upozornění:",
"This link will expire after %s.": "Tento odkaz vyprší za %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je přístupný pouze jednou, nepoužívejte tlačítko zpět ani neobnovujte tuto stránku ve vašem prohlížeči.",
"Link:": "Odkaz:",
"Recipient may become aware of your timezone, convert time to UTC?": "Příjemce se může dozvědět o vašem časovém pásmu, převést čas na UTC?",
"Use Current Timezone": "Použít aktuální časové pásmo",
"Convert To UTC": "Převést na UTC",
"Close": "Zavřít",
"Encrypted note on %s": "Šifrovaná poznámka ve službě %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Navštivte tento odkaz pro zobrazení poznámky. Přeposláním URL umožníte také jiným lidem přístup.",
"URL shortener may expose your decrypt key in URL.": "Zkracovač URL může odhalit váš dešifrovací klíč v URL.",
"Save paste": "Uložit příspěvek",
"Your IP is not authorized to create pastes.": "Vaše IP adresa nemá oprávnění k vytvoření vložení.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,170 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s ist ein minimalistischer, quelloffener \"Pastebin\"-artiger Dienst, bei dem der Server keinerlei Kenntnis der Inhalte hat. Die Daten werden %sim Browser%s mit 256 Bit AES ver- und entschlüsselt.",
"%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.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Weitere Informationen sind auf der <a href=\"https://privatebin.info/\">Projektseite</a> zu finden.",
"Because ignorance is bliss": "Because ignorance is bliss": "Unwissenheit ist ein Segen",
"Unwissenheit ist ein Segen",
"en": "de", "en": "de",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Diesen Text gibt es nicht, er ist abgelaufen oder wurde gelöscht.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s benötigt den Konfigurationsabschnitt [%s] in der Konfigurationsdatei um zu funktionieren.",
"%s benötigt PHP %s oder höher, um zu funktionieren. Sorry.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Bitte warte eine Sekunde zwischen dem Absenden zweier Beiträge.",
"%s benötigt den Konfigurationsabschnitt [%s] in der Konfigurationsdatei um zu funktionieren.", "Bitte warte %d Sekunden zwischen dem Absenden zweier Beiträge.",
"Please wait %d seconds between each post.": "Bitte warte %d Sekunden zwischen dem Absenden zweier Beiträge.",
"Bitte warte %d Sekunden zwischen dem Absenden.", "Bitte warte %d Sekunden zwischen dem Absenden zweier Beiträge.",
"Paste is limited to %s of encrypted data.": "Bitte warte %d Sekunden zwischen dem Absenden zweier Beiträge.",
"Texte sind auf %s verschlüsselte Datenmenge beschränkt.", "Bitte warte %d Sekunden zwischen dem Absenden zweier Beiträge."
"Invalid data.": ],
"Ungültige Daten.", "Paste is limited to %s of encrypted data.": "Texte sind auf %s verschlüsselte Datenmenge beschränkt.",
"You are unlucky. Try again.": "Invalid data.": "Ungültige Daten.",
"Du hast Pech. Versuchs nochmal.", "You are unlucky. Try again.": "Du hast Pech. Versuchs nochmal.",
"Error saving comment. Sorry.": "Error saving comment. Sorry.": "Fehler beim Speichern des Kommentars. Sorry.",
"Fehler beim Speichern des Kommentars. Sorry.", "Error saving paste. Sorry.": "Fehler beim Speichern des Textes. Sorry.",
"Error saving paste. Sorry.": "Invalid paste ID.": "Ungültige Text-ID.",
"Fehler beim Speichern des Textes. Sorry.", "Paste is not of burn-after-reading type.": "Text ist kein \"Einmal\"-Typ.",
"Invalid paste ID.": "Wrong deletion token. Paste was not deleted.": "Falscher Lösch-Code. Text wurde nicht gelöscht.",
"Ungültige Text-ID.", "Paste was properly deleted.": "Text wurde erfolgreich gelöscht.",
"Paste is not of burn-after-reading type.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript ist eine Voraussetzung, um %s zu nutzen. Bitte entschuldige die Unannehmlichkeiten.",
"Text ist kein \"Einmal\"-Typ.", "%s requires a modern browser to work.": "%s setzt einen modernen Browser voraus, um funktionieren zu können.",
"Wrong deletion token. Paste was not deleted.": "New": "Neu",
"Falscher Lösch-Code. Text wurde nicht gelöscht.", "Send": "Senden",
"Paste was properly deleted.": "Clone": "Klonen",
"Text wurde erfolgreich gelöscht.", "Raw text": "Reiner Text",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Expires": "Ablaufzeit",
"JavaScript ist eine Voraussetzung, um %s zu nutzen.<br />Bitte entschuldige die Unannehmlichkeiten.", "Burn after reading": "Nach dem Lesen löschen",
"%s requires a modern browser to work.": "Open discussion": "Kommentare aktivieren",
"%s setzt einen modernen Browser voraus, um funktionieren zu können.", "Password (recommended)": "Passwort (empfohlen)",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Discussion": "Kommentare",
"Du benutzt immer noch den Internet Explorer? Tu Dir einen Gefallen und wechsle zu einem moderneren Browser:", "Toggle navigation": "Navigation umschalten",
"New": "%d seconds": [
"Neu", "%d Sekunde",
"Send": "%d Sekunden",
"Senden", "%d Sekunden",
"Clone": "%d Sekunden",
"Klonen", "%d Sekunden",
"Raw text": "%d Sekunden"
"Reiner Text", ],
"Expires": "%d minutes": [
"Ablaufzeit", "%d Minute",
"Burn after reading": "%d Minuten",
"Einmal-Text", "%d Minuten",
"Open discussion": "%d Minuten",
"Diskussion eröffnen", "%d Minuten",
"Password (recommended)": "%d Minuten"
"Passwort (empfohlen)", ],
"Discussion": "%d hours": [
"Diskussion", "%d Stunde",
"Toggle navigation": "%d Stunden",
"Navigation umschalten", "%d Stunden",
"%d seconds": ["%d Sekunde", "%d Sekunden"], "%d Stunden",
"%d minutes": ["%d Minute", "%d Minuten"], "%d Stunden",
"%d hours": ["%d Stunde", "%d Stunden"], "%d Stunden"
"%d days": ["%d Tag", "%d Tage"], ],
"%d weeks": ["%d Woche", "%d Wochen"], "%d days": [
"%d months": ["%d Monat", "%d Monate"], "%d Tag",
"%d years": ["%d Jahr", "%d Jahre"], "%d Tage",
"Never": "%d Tage",
"Nie", "%d Tage",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d Tage",
"Hinweis: Dies ist ein Versuchsdienst. Daten können jederzeit gelöscht werden. Kätzchen werden sterben wenn du diesen Dienst missbrauchst.", "%d Tage"
"This document will expire in %d seconds.": ],
["Dieses Dokument läuft in einer Sekunde ab.", "Dieses Dokument läuft in %d Sekunden ab."], "%d weeks": [
"This document will expire in %d minutes.": "%d Woche",
["Dieses Dokument läuft in einer Minute ab.", "Dieses Dokument läuft in %d Minuten ab."], "%d Wochen",
"This document will expire in %d hours.": "%d Wochen",
["Dieses Dokument läuft in einer Stunde ab.", "Dieses Dokument läuft in %d Stunden ab."], "%d Wochen",
"This document will expire in %d days.": "%d Wochen",
["Dieses Dokument läuft in einem Tag ab.", "Dieses Dokument läuft in %d Tagen ab."], "%d Wochen"
"This document will expire in %d months.": ],
["Dieses Dokument läuft in einem Monat ab.", "Dieses Dokument läuft in %d Monaten ab."], "%d months": [
"Please enter the password for this paste:": "%d Monat",
"Bitte gib das Passwort für diesen Text ein:", "%d Monate",
"Could not decrypt data (Wrong key?)": "%d Monate",
"Konnte Daten nicht entschlüsseln (Falscher Schlüssel?)", "%d Monate",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d Monate",
"Konnte das Paste nicht löschen, es wurde nicht im Einmal-Modus gespeichert.", "%d Monate"
"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.", "%d years": [
"Could not decrypt comment; Wrong key?": "%d Jahr",
"Konnte Kommentar nicht entschlüsseln; Falscher Schlüssel?", "%d Jahre",
"Reply": "%d Monate",
"Antworten", "%d Monate",
"Anonymous": "%d Monate",
"Anonym", "%d Monate"
"Avatar generated from IP address": ],
"Avatar (generiert aus der IP-Adresse)", "Never": "Nie",
"Add comment": "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.",
"Kommentar hinzufügen", "This document will expire in %d seconds.": [
"Optional nickname…": "Dieses Dokument läuft in einer Sekunde ab.",
"Optionales Pseudonym…", "Dieses Dokument läuft in %d Sekunden ab.",
"Post comment": "Dieses Dokument läuft in %d Sekunden ab.",
"Kommentar absenden", "Dieses Dokument läuft in %d Sekunden ab.",
"Sending comment…": "Dieses Dokument läuft in %d Sekunden ab.",
"Sende Kommentar…", "Dieses Dokument läuft in %d Sekunden ab."
"Comment posted.": ],
"Kommentar gesendet.", "This document will expire in %d minutes.": [
"Could not refresh display: %s": "Dieses Dokument läuft in einer Minute ab.",
"Konnte Ansicht nicht aktualisieren: %s", "Dieses Dokument läuft in %d Minuten ab.",
"unknown status": "Dieses Dokument läuft in %d Minuten ab.",
"Unbekannter Grund", "Dieses Dokument läuft in %d Minuten ab.",
"server error or not responding": "Dieses Dokument läuft in %d Minuten ab.",
"Fehler auf dem Server oder keine Antwort vom Server", "Dieses Dokument läuft in %d Minuten ab."
"Could not post comment: %s": ],
"Konnte Kommentar nicht senden: %s", "This document will expire in %d hours.": [
"Please move your mouse for more entropy…": "Dieses Dokument läuft in einer Stunde ab.",
"Bitte bewege Deine Maus um die Entropie zu erhöhen…", "Dieses Dokument läuft in %d Stunden ab.",
"Sending paste…": "Dieses Dokument läuft in %d Stunden ab.",
"Sende Paste…", "Dieses Dokument läuft in %d Stunden ab.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Dieses Dokument läuft in %d Stunden ab.",
"Dein Paste ist unter <a id=\"pasteurl\" href=\"%s\">%s</a> zu finden <span id=\"copyhint\">(Drücke [Strg]+[c] um den Link zu kopieren)</span>", "Dieses Dokument läuft in %d Stunden ab."
"Delete data": ],
"Lösche Daten", "This document will expire in %d days.": [
"Could not create paste: %s": "Dieses Dokument läuft in einem Tag ab.",
"Konnte Paste nicht erstellen: %s", "Dieses Dokument läuft in %d Tagen ab.",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Dieses Dokument läuft in %d Tagen ab.",
"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?)", "Dieses Dokument läuft in %d Tagen ab.",
"Dieses Dokument läuft in %d Tagen 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.",
"Dieses Dokument läuft in %d Monaten ab.",
"Dieses Dokument läuft in %d Monaten ab.",
"Dieses Dokument läuft in %d Monaten 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?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Format", "Format": "Format",
"Plain Text": "Nur Text", "Plain Text": "Nur Text",
"Source Code": "Quellcode", "Source Code": "Quellcode",
@ -132,28 +173,47 @@
"Cloned: '%s'": "Geklont: '%s'", "Cloned: '%s'": "Geklont: '%s'",
"The cloned file '%s' was attached to this paste.": "Die geklonte Datei '%s' wurde angehängt.", "The cloned file '%s' was attached to this paste.": "Die geklonte Datei '%s' wurde angehängt.",
"Attach a file": "Datei anhängen", "Attach a file": "Datei anhängen",
"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", "alternatively drag & drop a file or paste an image from the clipboard": "Eine Datei kann auch durch ziehen und loslassen ausgewählt oder ein Bild aus der Zwischenablage einfügt werden.",
"File too large, to display a preview. Please download the attachment.": "Datei zu groß, um als Vorschau angezeigt zu werden. Bitte Anhang herunterladen.", "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", "Remove attachment": "Anhang entfernen",
"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.": "Dein Browser unterstützt das hochladen von verschlüsselten Dateien nicht. Bitte verwende einen neueren Browser.",
"Dein Browser unterstützt das hochladen von verschlüsselten Dateien nicht. Bitte verwende einen neueren Browser.",
"Invalid attachment.": "Ungültiger Datei-Anhang.", "Invalid attachment.": "Ungültiger Datei-Anhang.",
"Options": "Optionen", "Options": "Optionen",
"Shorten URL": "URL verkürzen", "Shorten URL": "URL verkürzen",
"Editor": "Bearbeiten", "Editor": "Bearbeiten",
"Preview": "Vorschau", "Preview": "Vorschau",
"%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.": "Der PATH muss bei %s mit einem \"%s\" enden. Bitte passe Deinen PATH in Deiner index.php an.",
"Der PATH muss bei %s mit einem \"%s\" enden. Bitte passe Deinen PATH in Deiner index.php an.", "Decrypt": "Entschlüsseln",
"Decrypt": "Enter password": "Passwort eingeben",
"Entschlüsseln",
"Enter password":
"Passwort eingeben",
"Loading…": "Lädt…", "Loading…": "Lädt…",
"Decrypting paste…": "Entschlüssle Paste…", "Decrypting paste…": "Entschlüssle Text…",
"Preparing new paste…": "Bereite neues Paste vor…", "Preparing new paste…": "Bereite neuen Text vor…",
"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>.": "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.",
"Wenn diese Nachricht nicht mehr verschwindet, schau bitte in <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">die FAQ</a> (englisch), um zu sehen, wie der Fehler behoben werden kann.",
"+++ no paste text +++": "+++ kein Paste-Text +++", "+++ no paste text +++": "+++ kein Paste-Text +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Text konnte nicht geladen werden: %s",
"Konnte Paste nicht laden: %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.",
"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…": "Rohtext wird angezeigt…",
"Notice:": "Hinweis:",
"This link will expire after %s.": "Dieser Link wird am %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 %s": "Verschlüsselte Notiz auf %s",
"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 dieses Dokument zugreifen.",
"URL shortener may expose your decrypt key in URL.": "Der URL-Verkürzer kann den Schlüssel in der URL enthüllen.",
"Save paste": "Text speichern",
"Your IP is not authorized to create pastes.": "Deine IP ist nicht berechtigt, Texte zu erstellen.",
"Trying to shorten a URL that isn't pointing at our instance.": "Versuch eine URL zu verkürzen, die nicht auf unsere Instanz zeigt.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Fehler beim Aufruf von YOURLS. Wahrscheinlich ein Konfigurationsproblem, wie eine falsche oder fehlende \"apiurl\" oder \"signature\".",
"Error parsing YOURLS response.": "Fehler beim Verarbeiten der YOURLS-Antwort."
} }

219
i18n/el.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s είναι ένα λιτό, ανοικτού λογισμικού διαδικτυακής υπηρεσίας επικόλλησης όπου ο διακομιστής έχει πλήρη άγνια του περιεχομένου που επικολλήθηκαν. Τα Δεδομένα κρυπτογραφούνται και αποκρυπτογραφούνται %sστον φιλομετρητή (browser)%s χρησιμοποιόντας 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Περισσότερες πληροφορίες στον <a href=\"https://privatebin.info/\">ιστότοπο του εργαλείου</a>.",
"Because ignorance is bliss": "Επειδή η άγνοια είναι ευτυχία",
"en": "el",
"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 δευτερόλεπτα μεταξύ κάθε επικόλλησης.",
"Παρακαλώ περιμένετε %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.": "Λάθος αναγνωριστικό επικόλλησης.",
"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.": "Η JavaScript είναι απαραίτητη για να λειτουργήσει το %s. Συγγνώμη για την ταλαιπωρία.",
"%s requires a modern browser to work.": "%s απαιτεί σύγχρονο φυλλομετρητή (browser) για να λειτουργήσει.",
"New": "Νέο",
"Send": "Αποστολή",
"Clone": "Κλωνοποίηση",
"Raw text": "Κείμενο",
"Expires": "Λήγει",
"Burn after reading": "Διαγραφή μετά την ανάγνωση",
"Open discussion": "Ανοικτή συζήτηση",
"Password (recommended)": "Κωδικός (προτείνεται)",
"Discussion": "Συζήτηση",
"Toggle navigation": "Εναλλαγή πλοήγησης",
"%d seconds": [
"%d δευτερόλεπτο",
"%d δευτερόλεπτα",
"%d δευτερόλεπτα",
"%d δευτερόλεπτα",
"%d δευτερόλεπτα",
"%d δευτερόλεπτα"
],
"%d minutes": [
"%d λεπτό",
"%d λεπτά",
"%d λεπτά",
"%d λεπτά",
"%d λεπτά",
"%d λεπτά"
],
"%d hours": [
"%d ώρα",
"%d ώρες",
"%d ώρες",
"%d ώρες",
"%d ώρες",
"%d ώρες"
],
"%d days": [
"%d ημέρα",
"%d ημέρες",
"%d ημέρες",
"%d ημέρες",
"%d ημέρες",
"%d ημέρες"
],
"%d weeks": [
"%d εβδομάδα",
"%d εβδομάδες",
"%d εβδομάδες",
"%d εβδομάδες",
"%d εβδομάδες",
"%d εβδομάδες"
],
"%d months": [
"%d μήνας",
"%d μήνες",
"%d μήνες",
"%d μήνες",
"%d μήνες",
"%d μήνες"
],
"%d years": [
"%d χρόνο",
"%d χρόνια",
"%d χρόνια",
"%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 δευτερόλεπτα.",
"Αυτό το έγγραφο θα λήξει σε %d δευτερόλεπτα.",
"Αυτό το έγγραφο θα λήξει σε %d δευτερόλεπτα.",
"Αυτό το έγγραφο θα λήξει σε %d δευτερόλεπτα."
],
"This document will expire in %d minutes.": [
"Αυτό το έγγραφο θα λήξει σε %d λεπτό.",
"Αυτό το έγγραφο θα λήξει σε %d λεπτά.",
"Αυτό το έγγραφο θα λήξει σε %d λεπτά.",
"Αυτό το έγγραφο θα λήξει σε %d λεπτά.",
"Αυτό το έγγραφο θα λήξει σε %d λεπτά.",
"Αυτό το έγγραφο θα λήξει σε %d λεπτά."
],
"This document will expire in %d hours.": [
"Αυτό το έγγραφο θα λήξει σε %d ώρα.",
"Αυτό το έγγραφο θα λήξει σε %d ώρες.",
"Αυτό το έγγραφο θα λήξει σε %d ώρες.",
"Αυτό το έγγραφο θα λήξει σε %d ώρες.",
"Αυτό το έγγραφο θα λήξει σε %d ώρες.",
"Αυτό το έγγραφο θα λήξει σε %d ώρες."
],
"This document will expire in %d days.": [
"Αυτό το έγγραφο θα λήξει σε %d ημέρα.",
"Αυτό το έγγραφο θα λήξει σε %d ημέρες.",
"Αυτό το έγγραφο θα λήξει σε %d ημέρες.",
"Αυτό το έγγραφο θα λήξει σε %d ημέρες.",
"Αυτό το έγγραφο θα λήξει σε %d ημέρες.",
"Αυτό το έγγραφο θα λήξει σε %d ημέρες."
],
"This document will expire in %d months.": [
"Αυτό το έγγραφο θα λήξει σε %d μήνα.",
"Αυτό το έγγραφο θα λήξει σε %d μήνες.",
"Αυτό το έγγραφο θα λήξει σε %d μήνες.",
"Αυτό το έγγραφο θα λήξει σε %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": "το avatar δημιουργήθηκε από τη διεύθυνση 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": "Μορφοποίηση",
"Plain Text": "Απλό κείμενο",
"Source Code": "Πηγαίος Κώδικας",
"Markdown": "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": "εναλλακτικά σύρετε το αρχείο ή επικολλήστε μία εικόνα από το 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.": "Ο φυλλομετρητής (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\". Παρακαλώ ενημερώστε το 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\">Ερωταποκρίσεις για πληροφορίες στην αντιμετώπιση προβλημάτων</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\">δείτε τις ερωταπαντήσεις</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 %s": "Κρυπτογραφημένο μήνυμα από το %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Επισκεφτείτε αυτόν τον σύνδεσμο για να δείτε το μήνυμα. Δίνοντας τον σύνδεσμο σε οποιονδήποτε, του επιτρέπετε να επισκεφτεί το μήνυμα επίσης.",
"URL shortener may expose your decrypt key in URL.": "Συντομευτές συνδέσμων πιθανώς να δημοσιοποιήσουν το κλειδί αποκρυπτογράφισης στον σύνδεσμο.",
"Save paste": "Αποθήκευση επικόλλησης",
"Your IP is not authorized to create pastes.": "Η IP σας δεν επιτρέπεται να δημιουργεί επικολλήσεις.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/en.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,170 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%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 %sen el navegador%s usando 256 bits AES.",
"%s es un servicio de tipo \"Pastebin\" 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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Más información en la <a href=\"https://privatebin.info/\">página del proyecto</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Porque la ignorancia es felicidad",
"Porque la ignorancia es dicha",
"en": "es", "en": "es",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "El \"paste\" no existe, ha caducado o ha sido eliminado.",
"El texto 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 php %s or above to work. Sorry.": "%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.",
"%s requiere php %s o superior para funcionar. Lo siento.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Por favor espere %d segundo entre cada publicación.",
"%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.", "Por favor espere %d segundos entre cada publicación.",
"Paste is limited to %s of encrypted data.": "Por favor espere %d segundos entre cada publicación.",
"El texto está limitado a %s de datos cifrados.", "Por favor espere %d segundos entre cada publicación.",
"Invalid data.": "Por favor espere %d segundos entre cada publicación.",
"Datos inválidos.", "Por favor espere %d segundos entre cada publicación."
"You are unlucky. Try again.": ],
"Tienes mala suerte. Inténtalo de nuevo", "Paste is limited to %s of encrypted data.": "El \"paste\" está limitado a %s de datos cifrados.",
"Error saving comment. Sorry.": "Invalid data.": "Datos inválidos.",
"Error al guardar el comentario. Lo siento.", "You are unlucky. Try again.": "Tienes mala suerte. Inténtalo de nuevo",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Error al guardar el comentario. Lo siento.",
"Error al guardar el texto. Lo siento", "Error saving paste. Sorry.": "Error al guardar el \"paste\". Lo siento",
"Invalid paste ID.": "Invalid paste ID.": "ID del \"paste\" inválido.",
"ID del texto inválido.", "Paste is not of burn-after-reading type.": "El \"paste\" no es del tipo \"destruir despues de leer\".",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Token de eliminación erróneo. El \"paste\" no fue eliminado.",
"El texto no es del tipo \"destruir despues de leer\".", "Paste was properly deleted.": "El \"paste\" se ha eliminado correctamente.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript es necesario para que %s funcione. Sentimos los inconvenientes ocasionados.",
"Token de eliminación erróneo. El texto no fue eliminado.", "%s requires a modern browser to work.": "%s requiere un navegador moderno para funcionar.",
"Paste was properly deleted.": "New": "Nuevo",
"El texto se ha eliminado correctamente.", "Send": "Enviar",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Clonar",
"JavaScript es necesario para que %s funcione.<br />Sentimos los inconvenientes ocasionados.", "Raw text": "Texto sin formato",
"%s requires a modern browser to work.": "Expires": "Caducar en",
"%s requiere un navegador moderno para funcionar.", "Burn after reading": "Destruir después de leer",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Discusión abierta",
"¿Sigues usando Internet Explorer? Hazte un favor, cambia a un navegador moderno:", "Password (recommended)": "Contraseña (recomendado)",
"New": "Discussion": "Discusión",
"Nuevo", "Toggle navigation": "Cambiar navegación",
"Send": "%d seconds": [
"Enviar", "%d segundo",
"Clone": "%d segundos",
"Clonar", "%d segundos",
"Raw text": "%d segundos",
"Texto sin formato", "%d segundos",
"Expires": "%d segundos"
"Caducar en", ],
"Burn after reading": "%d minutes": [
"Destruir después de leer", "%d minuto",
"Open discussion": "%d minutos",
"Discusión abierta", "%d minutos",
"Password (recommended)": "%d minutos",
"Contraseña (recomendado)", "%d minutos",
"Discussion": "%d minutos"
"Discusión", ],
"Toggle navigation": "%d hours": [
"Cambiar navegación", "%d hora",
"%d seconds": ["%d segundo", "%d segundos"], "%d horas",
"%d minutes": ["%d minuto", "%d minutos"], "%d horas",
"%d hours": ["%d hora", "%d horas"], "%d horas",
"%d days": ["%d día", "%d días"], "%d horas",
"%d weeks": ["%d semana", "%d semanas"], "%d horas"
"%d months": ["%d mes", "%d meses"], ],
"%d years": ["%d año", "%d años"], "%d days": [
"Never": "%d día",
"Nunca", "%d días",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d días",
"Nota: Este es un servicio de prueba. Los datos pueden ser eliminados en cualquier momento. Gatitos morirán si se abusa de este servicio.", "%d días",
"This document will expire in %d seconds.": "%d días",
["Este documento caducará en un segundo.", "Este documento caducará en %d segundos."], "%d días"
"This document will expire in %d minutes.": ],
["Este documento caducará en un minuto.", "Este documento caducará en %d minutos."], "%d weeks": [
"This document will expire in %d hours.": "%d semana",
["Este documento caducará en una hora.", "Este documento caducará en %d horas."], "%d semanas",
"This document will expire in %d days.": "%d semanas",
["Este documento caducará en un día.", "Este documento caducará en %d días."], "%d semanas",
"This document will expire in %d months.": "%d semanas",
["Este documento caducará en un mes.", "Este documento caducará en %d meses."], "%d semanas"
"Please enter the password for this paste:": ],
"Por favor ingrese la contraseña para este documento:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d mes",
"No fue posible descifrar los datos (¿Clave errónea?)", "%d meses",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d meses",
"No fue posible eliminar el documento, no fue guardado en modo \"destruir despues de leer\".", "%d meses",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d meses",
"SÓLO PARA TUS OJOS. No cierre esta ventana, este mensaje no se puede volver a mostrar.", "%d meses"
"Could not decrypt comment; Wrong key?": ],
"No se pudo descifrar el comentario; ¿Llave incorrecta?", "%d years": [
"Reply": "%d año",
"Responder", "%d años",
"Anonymous": "%d años",
"Anónimo", "%d años",
"Avatar generated from IP address": "%d años",
"Avatar generado a partir de la dirección IP", "%d años"
"Add comment": ],
"Añadir comentario", "Never": "Nunca",
"Optional nickname…": "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.",
"Seudónimo opcional…", "This document will expire in %d seconds.": [
"Post comment": "Este documento caducará en un segundo.",
"Publicar comentario", "Este documento caducará en %d segundos.",
"Sending comment…": "Este documento caducará en %d segundos",
"Enviando comentario…", "Este documento caducará en %d segundos",
"Comment posted.": "Este documento caducará en %d segundos",
"Comentario publicado.", "Este documento caducará en %d segundos"
"Could not refresh display: %s": ],
"No se pudo actualizar la vista: %s", "This document will expire in %d minutes.": [
"unknown status": "Este documento caducará en un minuto.",
"Estado desconocido", "Este documento caducará en %d minutos.",
"server error or not responding": "Este documento caducará en %d minutos",
"Error del servidor o el servidor no responde", "Este documento caducará en %d minutos",
"Could not post comment: %s": "Este documento caducará en %d minutos",
"No fue posible publicar comentario: %s", "Este documento caducará en %d minutos"
"Please move your mouse for more entropy…": ],
"Por favor, mueva el ratón para mayor entropía…", "This document will expire in %d hours.": [
"Sending paste…": "Este documento caducará en una hora.",
"Enviando texto…", "Este documento caducará en %d horas.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Este documento caducará en %d horas",
"Su texto está en <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Presione [Ctrl]+[c] para copiar)</span>", "Este documento caducará en %d horas",
"Delete data": "Este documento caducará en %d horas",
"Eliminar datos", "Este documento caducará en %d horas"
"Could not create paste: %s": ],
"No fue posible crear el archivo: %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Este documento caducará en un día.",
"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?)", "Este documento caducará en %d días.",
"Este documento caducará en %d días",
"Este documento caducará en %d días",
"Este documento caducará en %d días",
"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.",
"Este documento caducará en %d meses",
"Este documento caducará en %d meses",
"Este documento caducará en %d meses",
"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?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formato", "Format": "Formato",
"Plain Text": "Texto sin formato", "Plain Text": "Texto sin formato",
"Source Code": "Código fuente", "Source Code": "Código fuente",
@ -132,28 +173,47 @@
"Cloned: '%s'": "Clonado: '%s'.", "Cloned: '%s'": "Clonado: '%s'.",
"The cloned file '%s' was attached to this paste.": "El archivo clonado '%s' ha sido adjuntado a este texto.", "The cloned file '%s' was attached to this paste.": "El archivo clonado '%s' ha sido adjuntado a este texto.",
"Attach a file": "Adjuntar archivo", "Attach a file": "Adjuntar archivo",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "alternatively drag & drop a file or paste an image from the clipboard": "alternativamente, arrastre y suelte un archivo o pegue una imagen desde el portapapeles",
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.", "File too large, to display a preview. Please download the attachment.": "Archivo demasiado grande para mostrar una vista previa. Por favor, descargue el archivo adjunto.",
"Remove attachment": "Remover adjunto", "Remove attachment": "Remover adjunto",
"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.": "Tu navegador no admite la carga de archivos cifrados. Utilice un navegador más reciente.",
"Tu navegador no admite la carga de archivos cifrados. Utilice un navegador más reciente.",
"Invalid attachment.": "Adjunto inválido.", "Invalid attachment.": "Adjunto inválido.",
"Options": "Opciones", "Options": "Opciones",
"Shorten URL": "Acortar URL", "Shorten URL": "Acortar URL",
"Editor": "Editor", "Editor": "Editor",
"Preview": "Previsualización", "Preview": "Previsualización",
"%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.": "%s requiere que el PATH termine en \"%s\". Por favor, actualice el PATH en su index.php.",
"%s requiere que el PATH termine en \"%s\". Por favor, actualice el PATH en su index.php.", "Decrypt": "Descifrar",
"Decrypt": "Enter password": "Ingrese contraseña",
"Descifrar",
"Enter password":
"Ingrese contraseña",
"Loading…": "Cargando…", "Loading…": "Cargando…",
"Decrypting paste…": "Descifrando texto…", "Decrypting paste…": "Descifrando \"paste\"…",
"Preparing new paste…": "Preparando texto nuevo…", "Preparing new paste…": "Preparando \"paste\" nuevo…",
"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>.": "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>.",
"En caso de que este mensaje nunca desaparezca por favor revise <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para obtener información para solucionar problemas</a>.", "+++ no paste text +++": "+++ \"paste\" sin texto +++",
"+++ no paste text +++": "+++ sin texto +++", "Could not get paste data: %s": "No se pudieron obtener los datos: %s",
"Could not get paste data: %s": "QR code": "Código QR",
"Could not get paste data: %s" "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 %s": "Nota cifrada en %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "El acortador de URL puede exponer su clave de descifrado en el URL.",
"Save paste": "Guardar \"paste\"",
"Your IP is not authorized to create pastes.": "Tu IP no está autorizada para crear contenido.",
"Trying to shorten a URL that isn't pointing at our instance.": "Intentando acortar una URL que no apunta a nuestra instancia.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

219
i18n/et.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s on minimalistlik, avatud lähtekoodiga online pastebin, kus serveril pole kleebitud andmete kohta teadmist. Andmed krüpteeritakse/dekrüpteeritakse %sbrauseris%s kasutades 256-bitist AES-i.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Lisateave <a href=\"https://privatebin.info/\">projekti lehel</a>.",
"Because ignorance is bliss": "Kuna teadmatus on õndsus",
"en": "et",
"Paste does not exist, has expired or has been deleted.": "Kleebet ei eksisteeri, on aegunud või on kustutatud.",
"%s requires php %s or above to work. Sorry.": "%s vajab, et oleks php %s või kõrgem, et töötada. Vabandame.",
"%s requires configuration section [%s] to be present in configuration file.": "%s vajab, et [%s] seadistamise jaotis oleks olemas konfiguratsioonifailis.",
"Please wait %d seconds between each post.": [
"Palun oota %d sekund iga postituse vahel.",
"Palun oota %d sekundit iga postituse vahel.",
"Palun oota %d sekundit iga postituse vahel.",
"Palun oota %d sekundit iga postituse vahel.",
"Palun oota %d sekundit iga postituse vahel.",
"Palun oota %d sekundit iga postituse vahel."
],
"Paste is limited to %s of encrypted data.": "Kleepe limiit on %s krüpteeritud andmeid.",
"Invalid data.": "Valed andmed.",
"You are unlucky. Try again.": "Sul ei vea. Proovi uuesti.",
"Error saving comment. Sorry.": "Viga kommentaari salvestamisel. Vabandame.",
"Error saving paste. Sorry.": "Viga kleepe salvestamisel. Vabandame.",
"Invalid paste ID.": "Vale kleepe ID.",
"Paste is not of burn-after-reading type.": "Kleebe ei ole põleta-pärast-lugemist tüüpi.",
"Wrong deletion token. Paste was not deleted.": "Vale kustutamiskood. Kleebet ei kustutatud.",
"Paste was properly deleted.": "Kleebe kustutati korralikult.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript on vajalik %s'i töötamiseks. Vabandame ebamugavuste pärast.",
"%s requires a modern browser to work.": "%s vajab töötamiseks kaasaegset brauserit.",
"New": "Uus",
"Send": "Saada",
"Clone": "Klooni",
"Raw text": "Lähtetekst",
"Expires": "Aegub",
"Burn after reading": "Põleta pärast lugemist",
"Open discussion": "Avatud arutelu",
"Password (recommended)": "Parool (soovitatav)",
"Discussion": "Arutelu",
"Toggle navigation": "Näita menüüd",
"%d seconds": [
"%d sekund",
"%d sekundit",
"%d sekundit",
"%d sekundit",
"%d sekundit",
"%d sekundit"
],
"%d minutes": [
"%d minut",
"%d minutit",
"%d minutit",
"%d minutit",
"%d minutit",
"%d minutit"
],
"%d hours": [
"%d tund",
"%d tundi",
"%d tundi",
"%d tundi",
"%d tundi",
"%d tundi"
],
"%d days": [
"%d päev",
"%d päeva",
"%d päeva",
"%d päeva",
"%d päeva",
"%d päeva"
],
"%d weeks": [
"%d nädal",
"%d nädalat",
"%d nädalat",
"%d nädalat",
"%d nädalat",
"%d nädalat"
],
"%d months": [
"%d kuu",
"%d kuud",
"%d kuud",
"%d kuud",
"%d kuud",
"%d kuud"
],
"%d years": [
"%d aasta",
"%d aastat",
"%d aastat",
"%d aastat",
"%d aastat",
"%d aastat"
],
"Never": "Mitte kunagi",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Märge: See on testimisteenus: Andmeid võidakse igal ajal kustutada. Kiisupojad hukuvad, kui seda teenust kuritarvitad.",
"This document will expire in %d seconds.": [
"See dokument aegub %d sekundi pärast.",
"See dokument aegub %d sekundi pärast.",
"See dokument aegub %d sekundi pärast.",
"See dokument aegub %d sekundi pärast.",
"See dokument aegub %d sekundi pärast.",
"See dokument aegub %d sekundi pärast."
],
"This document will expire in %d minutes.": [
"See dokument aegub %d minuti pärast.",
"See dokument aegub %d minuti pärast.",
"See dokument aegub %d minuti pärast.",
"See dokument aegub %d minuti pärast.",
"See dokument aegub %d minuti pärast.",
"See dokument aegub %d minuti pärast."
],
"This document will expire in %d hours.": [
"See dokument aegub %d tunni pärast.",
"See dokument aegub %d tunni pärast.",
"See dokument aegub %d tunni pärast.",
"See dokument aegub %d tunni pärast.",
"See dokument aegub %d tunni pärast.",
"See dokument aegub %d tunni pärast."
],
"This document will expire in %d days.": [
"See dokument aegub %d päeva pärast.",
"See dokument aegub %d päeva pärast.",
"See dokument aegub %d päeva pärast.",
"See dokument aegub %d päeva pärast.",
"See dokument aegub %d päeva pärast.",
"See dokument aegub %d päeva pärast."
],
"This document will expire in %d months.": [
"See dokument aegub %d kuu pärast.",
"See dokument aegub %d kuu pärast.",
"See dokument aegub %d kuu pärast.",
"See dokument aegub %d kuu pärast.",
"See dokument aegub %d kuu pärast.",
"See dokument aegub %d kuu pärast."
],
"Please enter the password for this paste:": "Palun sisesta selle kleepe parool:",
"Could not decrypt data (Wrong key?)": "Ei suutnud andmeid dekrüpteerida (Vale võti?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Ei suutnud kleebet kustutada, seda ei salvestatud põleta pärast lugemist režiimis.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "AINULT SINU SILMADELE. Ära sulge seda akent, seda sõnumit ei saa enam kuvada.",
"Could not decrypt comment; Wrong key?": "Ei suutnud kommentaari dekrüpteerida; Vale võti?",
"Reply": "Vasta",
"Anonymous": "Anonüümne",
"Avatar generated from IP address": "Avatar genereeritud IP aadressi põhjal",
"Add comment": "Lisa kommentaar",
"Optional nickname…": "Valikuline hüüdnimi…",
"Post comment": "Postita kommentaar",
"Sending comment…": "Kommentaari saatmine…",
"Comment posted.": "Kommentaar postitatud.",
"Could not refresh display: %s": "Ei suutnud kuva värskendada: %s",
"unknown status": "tundmatu staatus",
"server error or not responding": "serveri viga või ei vasta",
"Could not post comment: %s": "Ei suutnud kommentaari postitada: %s",
"Sending paste…": "Kleepe saatmine…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Sinu kleebe on <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Kopeerimiseks vajuta [Ctrl]+[c])</span>",
"Delete data": "Kustuta andmed",
"Could not create paste: %s": "Ei suutnud kleebet luua: %s",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Ei suutnud kleebet dekrüpteerida: Dekrüpteerimisvõti on URL-ist puudu (Kas kasutasid ümbersuunajat või URL-i lühendajat, mis eemaldab osa URL-ist?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formaat",
"Plain Text": "Lihttekst",
"Source Code": "Lähtekood",
"Markdown": "Markdown",
"Download attachment": "Laadi manus alla",
"Cloned: '%s'": "Kloonitud: '%s'",
"The cloned file '%s' was attached to this paste.": "Kloonitud fail '%s' manustati sellele kleepele.",
"Attach a file": "Manusta fail",
"alternatively drag & drop a file or paste an image from the clipboard": "teise võimalusena lohista fail või kleebi pilt lõikelaualt",
"File too large, to display a preview. Please download the attachment.": "Fail on eelvaate kuvamiseks liiga suur. Palun laadi manus alla.",
"Remove attachment": "Eemalda manus",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Sinu brauser ei toeta krüpteeritud failide üleslaadimist. Palun kasuta uuemat brauserit.",
"Invalid attachment.": "Sobimatu manus.",
"Options": "Valikud",
"Shorten URL": "Lühenda URL",
"Editor": "Toimetaja",
"Preview": "Eelvaade",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vajab, et PATH lõppeks järgmisega: \"%s\". Palun uuenda PATH-i oma index.php failis.",
"Decrypt": "Dekrüpteeri",
"Enter password": "Sisesta parool",
"Loading…": "Laadimine…",
"Decrypting paste…": "Kleepe dekrüpteerimine…",
"Preparing new paste…": "Uue kleepe ettevalmistamine…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Kui see sõnum ei kao, palun vaata <a href=\"%s\">seda KKK-d, et saada tõrkeotsinguks teavet.</a>.",
"+++ no paste text +++": "+++ kleepe tekst puudub +++",
"Could not get paste data: %s": "Ei suutnud saada kleepe andmeid: %s",
"QR code": "QR kood",
"This website is using an insecure HTTP connection! Please use it only for testing.": "See veebisait kasutab ebaturvalist HTTP ühendust! Palun kasuta seda ainult katsetamiseks.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Lisateabe saamiseks <a href=\"%s\">vaata seda KKK sissekannet</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Sinu brauser võib vajada HTTPS ühendust, et toetada WebCrypto API-d. Proovi <a href=\"%s\">üle minna HTTPS-ile</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Sinu brauser ei toeta WebAssembly't, mida kasutatakse zlib tihendamiseks. Sa saad luua tihendamata dokumente, kuid ei saa lugeda tihendatuid.",
"waiting on user to provide a password": "ootan parooli sisestamist kasutajalt",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Ei suutnud andmeid dekrüpteerida. Kas sisestasid vale parooli? Proovi uuesti üleval asuva nupuga.",
"Retry": "Proovi uuesti",
"Showing raw text…": "Lähteteksti näitamine…",
"Notice:": "Teade:",
"This link will expire after %s.": "See link aegub: %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Sellele lingile saab vaid üks kord ligi pääseda, ära kasuta tagasi või värskenda nuppe sinu brauseris.",
"Link:": "Link:",
"Recipient may become aware of your timezone, convert time to UTC?": "Saaja võib saada teada sinu ajavööndi, kas teisendada aeg UTC-ks?",
"Use Current Timezone": "Kasuta praegust ajavööndit",
"Convert To UTC": "Teisenda UTC-ks",
"Close": "Sulge",
"Encrypted note on %s": "Krüpteeritud kiri %s-is",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Kirja nägemiseks külasta seda linki. Teistele URL-i andmine lubab ka neil ligi pääseda kirjale.",
"URL shortener may expose your decrypt key in URL.": "URL-i lühendaja võib paljastada sinu dekrüpteerimisvõtme URL-is.",
"Save paste": "Salvesta kleebe",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/fi.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s on minimalistinen, avoimen lähdekoodin online pastebin jossa palvelimella ei ole tietoa syötetystä datasta. Data salataan/puretaan %sselaimessa%s käyttäen 256-bittistä AES:ää.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Lisää tietoa <a href=\"https://privatebin.info/\">projektisivulla</a>.",
"Because ignorance is bliss": "Koska tieto lisää tuskaa",
"en": "fi",
"Paste does not exist, has expired or has been deleted.": "Pastea ei ole olemassa, se on vanhentunut tai se on poistettu.",
"%s requires php %s or above to work. Sorry.": "%s vaatii php:n %s-version tai uudemman toimiakseen. Anteeksi.",
"%s requires configuration section [%s] to be present in configuration file.": "%s vaatii konfiguraatio-osion [%s] olevan läsnä konfiguraatiotiedostossa.",
"Please wait %d seconds between each post.": [
"Odotathan %d sekuntin jokaisen lähetyksen välillä.",
"Odotathan %d sekuntia jokaisen lähetyksen välillä.",
"Odotathan %d sekuntia jokaisen lähetyksen välillä.",
"Odotathan %d sekuntia jokaisen lähetyksen välillä.",
"Odotathan %d sekuntia jokaisen lähetyksen välillä.",
"Odotathan %d sekuntia jokaisen lähetyksen välillä."
],
"Paste is limited to %s of encrypted data.": "Paste on rajoitettu kokoon %s salattua dataa.",
"Invalid data.": "Virheellinen data.",
"You are unlucky. Try again.": "Olet epäonnekas. Yritä uudelleen.",
"Error saving comment. Sorry.": "Virhe kommenttia tallentaessa. Anteeksi.",
"Error saving paste. Sorry.": "Virhe pastea tallentaessa. Anteeksi.",
"Invalid paste ID.": "Virheellinen paste ID.",
"Paste is not of burn-after-reading type.": "Paste ei ole polta-lukemisen-jälkeen-tyyppiä.",
"Wrong deletion token. Paste was not deleted.": "Virheellinen poistotunniste. Pastea ei poistettu.",
"Paste was properly deleted.": "Paste poistettiin kunnolla.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "%s vaatii JavaScriptiä toimiakseen. Anteeksi haitasta.",
"%s requires a modern browser to work.": "%s vaatii modernin selaimen toimiakseen.",
"New": "Uusi",
"Send": "Lähetä",
"Clone": "Kloonaa",
"Raw text": "Raaka teksti",
"Expires": "Vanhenee",
"Burn after reading": "Polta lukemisen jälkeen",
"Open discussion": "Avaa keskustelu",
"Password (recommended)": "Salasana (suositeltu)",
"Discussion": "Keskustelu",
"Toggle navigation": "Navigointi päälle/pois",
"%d seconds": [
"%d sekunti",
"%d sekuntia",
"%d sekuntia",
"%d sekuntia",
"%d sekuntia",
"%d sekuntia"
],
"%d minutes": [
"%d minuutti",
"%d minuuttia",
"%d minuuttia",
"%d minuuttia",
"%d minuuttia",
"%d minuuttia"
],
"%d hours": [
"%d tunti",
"%d tuntia",
"%d tuntia",
"%d tuntia",
"%d tuntia",
"%d tuntia"
],
"%d days": [
"%d päivä",
"%d päivää",
"%d päivää",
"%d päivää",
"%d päivää",
"%d päivää"
],
"%d weeks": [
"%d viikko",
"%d viikkoa",
"%d viikkoa",
"%d viikkoa",
"%d viikkoa",
"%d viikkoa"
],
"%d months": [
"%d kuukausi",
"%d kuukautta",
"%d kuukautta",
"%d kuukautta",
"%d kuukautta",
"%d kuukautta"
],
"%d years": [
"%d vuosi",
"%d vuotta",
"%d vuotta",
"%d vuotta",
"%d vuotta",
"%d vuotta"
],
"Never": "Ei koskaan",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Huomaa: Tämä on testipalvelu: Data voidaan poistaa milloin tahansa. Kissanpennut kuolevat jos väärinkäytät tätä palvelua.",
"This document will expire in %d seconds.": [
"Tämä dokumentti vanhenee %d sekuntissa.",
"Tämä dokumentti vanhenee %d sekunnissa.",
"Tämä dokumentti vanhenee %d sekunnissa.",
"Tämä dokumentti vanhenee %d sekunnissa.",
"Tämä dokumentti vanhenee %d sekunnissa.",
"Tämä dokumentti vanhenee %d sekunnissa."
],
"This document will expire in %d minutes.": [
"Tämä dokumentti vanhenee %d minuutissa.",
"Tämä dokumentti vanhenee %d minuutissa.",
"Tämä dokumentti vanhenee %d minuutissa.",
"Tämä dokumentti vanhenee %d minuutissa.",
"Tämä dokumentti vanhenee %d minuutissa.",
"Tämä dokumentti vanhenee %d minuutissa."
],
"This document will expire in %d hours.": [
"Tämä dokumentti vanhenee %d tunnissa.",
"Tämä dokumentti vanhenee %d tunnissa.",
"Tämä dokumentti vanhenee %d tunnissa.",
"Tämä dokumentti vanhenee %d tunnissa.",
"Tämä dokumentti vanhenee %d tunnissa.",
"Tämä dokumentti vanhenee %d tunnissa."
],
"This document will expire in %d days.": [
"Tämä dokumentti vanhenee %d päivässä.",
"Tämä dokumentti vanhenee %d päivässä.",
"Tämä dokumentti vanhenee %d päivässä.",
"Tämä dokumentti vanhenee %d päivässä.",
"Tämä dokumentti vanhenee %d päivässä.",
"Tämä dokumentti vanhenee %d päivässä."
],
"This document will expire in %d months.": [
"Tämä dokumentti vanhenee %d kuukaudessa.",
"Tämä dokumentti vanhenee %d kuukaudessa.",
"Tämä dokumentti vanhenee %d kuukaudessa.",
"Tämä dokumentti vanhenee %d kuukaudessa.",
"Tämä dokumentti vanhenee %d kuukaudessa.",
"Tämä dokumentti vanhenee %d kuukaudessa."
],
"Please enter the password for this paste:": "Syötä salasana tälle pastelle:",
"Could not decrypt data (Wrong key?)": "Dataa ei voitu purkaa (Väärä avain?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Pastea ei voitu poistaa, sitä ei säilytetty \"Polta lukemisen jälkeen\" -tilassa.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "VAIN SINUN SILMILLESI. Älä sulje tätä ikkunaa, tätä viestiä ei voida näyttää uudelleen.",
"Could not decrypt comment; Wrong key?": "Kommenttia ei voitu purkaa; väärä avain?",
"Reply": "Vastaa",
"Anonymous": "Anonyymi",
"Avatar generated from IP address": "Avatar generoitu IP-osoitteesta",
"Add comment": "Lisää kommentti",
"Optional nickname…": "Valinnainen nimimerkki…",
"Post comment": "Lähetä kommentti",
"Sending comment…": "Lähetetään kommenttia…",
"Comment posted.": "Kommentti lähetetty.",
"Could not refresh display: %s": "Näyttöä ei voitu päivittää: %s",
"unknown status": "tuntematon status",
"server error or not responding": "palvelinvirhe tai palvelin ei vastaa",
"Could not post comment: %s": "Kommenttia ei voitu lähettää: %s",
"Sending paste…": "Lähetetään pastea…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Pastesi on <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Paina [Ctrl]+[c] kopioidaksesi)</span>",
"Delete data": "Poista data",
"Could not create paste: %s": "Pastea ei voitu luoda: %s",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Pastea ei voitu purkaa: Purkausavain puuttuu URL:stä (Käytitkö uudelleenohjaajaa tai URL-lyhentäjää joka poistaa osan URL:stä?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formaatti",
"Plain Text": "Perusteksti",
"Source Code": "Lähdekoodi",
"Markdown": "Markdown",
"Download attachment": "Lataa liite",
"Cloned: '%s'": "Kloonattu: '%s'",
"The cloned file '%s' was attached to this paste.": "Kloonattu tiedosto '%s' liitettiin tähän pasteen",
"Attach a file": "Liitä tiedosto",
"alternatively drag & drop a file or paste an image from the clipboard": "vaihtoehtoisesti vedä & pudota tiedosto tai liitä kuva leikepöydältä",
"File too large, to display a preview. Please download the attachment.": "Tiedosto on liian iso esikatselun näyttämiseksi. Lataathan liitteen.",
"Remove attachment": "Poista liite",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Selaimesi ei tue salattujen tiedostojen lataamista. Käytäthän uudempaa selainta.",
"Invalid attachment.": "Virheellinen liite.",
"Options": "Asetukset",
"Shorten URL": "Lyhennä URL",
"Editor": "Muokkain",
"Preview": "Esikatselu",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vaatii PATH:in loppuvan \"%s\"-merkkiin. Päivitäthän PATH:in index.php:ssäsi.",
"Decrypt": "Pura",
"Enter password": "Syötä salasana",
"Loading…": "Ladataan…",
"Decrypting paste…": "Puretaan pastea…",
"Preparing new paste…": "Valmistellaan uutta pastea",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Jos tämä viesti ei katoa koskaan, katsothan <a href=\"%s\">tämän FAQ:n ongelmanratkaisutiedon löytämiseksi</a>.",
"+++ no paste text +++": "+++ ei paste-tekstiä +++",
"Could not get paste data: %s": "Paste-tietoja ei löydetty: %s",
"QR code": "QR-koodi",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Tämä sivusto käyttää epäturvallista HTTP-yhteyttä! Käytäthän sitä vain testaukseen.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Lisätietoja varten <a href=\"%s\">lue tämä FAQ-kohta</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Selaimesi ehkä tarvitsee HTTPS-yhteyden tukeakseen WebCrypto API:a. Yritä <a href=\"%s\">vaihtamista HTTPS:ään</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Selaimesi ei tue WebAssemblyä jota käytetään zlib-pakkaamiseen. Voit luoda pakkaamattomia dokumentteja, mutta et voi lukea pakattuja dokumentteja.",
"waiting on user to provide a password": "odotetaan käyttäjän antavan salasanan",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Dataa ei voitu purkaa. Syötitkö väärän salasanan? Yritä uudelleen ylhäällä olevalla painikkeella.",
"Retry": "Yritä uudelleen",
"Showing raw text…": "Näytetään raaka reksti…",
"Notice:": "Huomautus:",
"This link will expire after %s.": "Tämä linkki vanhenee ajan %s jälkeen.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Tätä linkkiä voidaan käyttää vain kerran, älä käytä taaksepäin- tai päivityspainiketta selaimessasi.",
"Link:": "Linkki:",
"Recipient may become aware of your timezone, convert time to UTC?": "Vastaanottaja saattaa tulla tietoiseksi aikavyöhykkeestäsi, muutetaanko aika UTC:ksi?",
"Use Current Timezone": "Käytä nykyistä aikavyöhykettä",
"Convert To UTC": "Muuta UTC:ksi",
"Close": "Sulje",
"Encrypted note on %s": "Salattu viesti %sissä",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Käy tässä linkissä nähdäksesi viestin. URL:n antaminen kenellekään antaa heidänkin päästä katsomeen viestiä. ",
"URL shortener may expose your decrypt key in URL.": "URL-lyhentäjä voi paljastaa purkuavaimesi URL:ssä.",
"Save paste": "Tallenna paste",
"Your IP is not authorized to create pastes.": "IP:llesi ei ole annettu oikeutta luoda pasteja.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,161 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s est un 'pastebin' (ou gestionnaire d'extraits de texte et de code source) minimaliste et libre, dans lequel le serveur n'a aucune connaissance des données envoyées. Les données sont chiffrées/déchiffrées %sdans le navigateur%s par un chiffrement AES 256 bits.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Plus d'informations sur <a href=\"https://privatebin.info/\">la page du projet</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Vivons heureux, vivons cachés",
"Parce que l'ignorance c'est le bonheur",
"en": "fr", "en": "fr",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Le paste n'existe pas, a expiré, ou a été supprimé.",
"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 php %s or above to work. Sorry.": "%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.",
"Désolé, %s nécessite php %s ou supérieur pour fonctionner.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Merci d'attendre %d seconde entre chaque publication.",
"%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.", "Merci d'attendre %d secondes entre chaque publication.",
"Paste is limited to %s of encrypted data.": "Merci d'attendre %d secondes entre chaque publication.",
"Le paste est limité à %s de données chiffrées.", "Merci d'attendre %d secondes entre chaque publication.",
"Invalid data.": "Merci d'attendre %d secondes entre chaque publication.",
"Données invalides.", "Merci d'attendre %d secondes entre chaque publication."
"You are unlucky. Try again.": ],
"Pas de chance. Essayez encore.", "Paste is limited to %s of encrypted data.": "Le paste est limité à %s de données chiffrées.",
"Error saving comment. Sorry.": "Invalid data.": "Données invalides.",
"Erreur lors de la sauvegarde du commentaire.", "You are unlucky. Try again.": "Pas de chance. Essayez encore.",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Erreur lors de la sauvegarde du commentaire.",
"Erreur lors de la sauvegarde du paste. Désolé.", "Error saving paste. Sorry.": "Erreur lors de la sauvegarde du paste. Désolé.",
"Invalid paste ID.": "Invalid paste ID.": "ID du paste invalide.",
"ID du paste invalide.", "Paste is not of burn-after-reading type.": "Le paste n'est pas de type \"Effacer après lecture\".",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Jeton de suppression incorrect. Le paste n'a pas été supprimé.",
"Le paste n'est pas de type \"Effacer après lecture\".", "Paste was properly deleted.": "Le paste a été correctement supprimé.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript est requis pour faire fonctionner %s. Désolé pour cet inconvénient.",
"Jeton de suppression incorrect. Le paste n'a pas été supprimé.", "%s requires a modern browser to work.": "%s nécessite un navigateur moderne pour fonctionner.",
"Paste was properly deleted.": "New": "Nouveau",
"Le paste a été correctement supprimé.", "Send": "Envoyer",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Cloner",
"JavaScript est requis pour faire fonctionner %s. <br />Désolé pour cet inconvénient.", "Raw text": "Texte brut",
"%s requires a modern browser to work.": "Expires": "Expire",
"%s nécessite un navigateur moderne pour fonctionner.", "Burn after reading": "Effacer après lecture",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Autoriser la discussion",
"Encore sur Internet Explorer ? Faites-vous une faveur, passez à un navigateur moderne :", "Password (recommended)": "Mot de passe (recommandé)",
"New": "Discussion": "Discussion",
"Nouveau", "Toggle navigation": "Basculer la navigation",
"Send": "%d seconds": [
"Envoyer", "%d seconde",
"Clone": "%d secondes",
"Cloner", "%d secondes",
"Raw text": "%d secondes",
"Texte brut", "%d secondes",
"Expires": "%d secondes"
"Expire", ],
"Burn after reading": "%d minutes": [
"Effacer après lecture", "%d minute",
"Open discussion": "%d minutes",
"Autoriser la discussion", "%d minutes",
"Password (recommended)": "%d minutes",
"Mot de passe (recommandé)", "%d minutes",
"Discussion": "%d minutes"
"Discussion", ],
"Toggle navigation": "%d hours": [
"Basculer la navigation", "%d heure",
"%d seconds": ["%d seconde", "%d secondes"], "%d heures",
"%d minutes": ["%d minute", "%d minutes"], "%d heures",
"%d hours": ["%d heure", "%d heures"], "%d heures",
"%d days": ["%d jour", "%d jours"], "%d heures",
"%d weeks": ["%d semaine", "%d semaines"], "%d heures"
"%d months": ["%d mois", "%d mois"], ],
"%d years": ["%d an", "%d ans"], "%d days": [
"Never": "%d jour",
"Jamais", "%d jours",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d jours",
"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.", "%d jours",
"This document will expire in %d seconds.": "%d jours",
["Ce document expirera dans %d seconde.", "Ce document expirera dans %d secondes."], "%d jours"
"This document will expire in %d minutes.": ],
["Ce document expirera dans %d minute.", "Ce document expirera dans %d minutes."], "%d weeks": [
"This document will expire in %d hours.": "%d semaine",
["Ce document expirera dans %d heure.", "Ce document expirera dans %d heures."], "%d semaines",
"This document will expire in %d days.": "%d semaines",
["Ce document expirera dans %d jour.", "Ce document expirera dans %d jours."], "%d semaines",
"This document will expire in %d months.": "%d semaines",
["Ce document expirera dans %d mois.", "Ce document expirera dans %d mois."], "%d semaines"
"Please enter the password for this paste:": ],
"Entrez le mot de passe pour ce paste:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d mois",
"Impossible de déchiffrer les données (mauvaise clé ?)", "%d mois",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d mois",
"Impossible de supprimer le paste, car il n'a pas été stocké en mode \"Effacer après lecture\".", "%d mois",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d mois",
"POUR VOS YEUX UNIQUEMENT. Ne fermez pas cette fenêtre, ce paste ne pourra plus être affiché.", "%d mois"
"Could not decrypt comment; Wrong key?": ],
"Impossible de déchiffrer le commentaire ; mauvaise clé ?", "%d years": [
"Reply": "%d an",
"Répondre", "%d ans",
"Anonymous": "%d ans",
"Anonyme", "%d ans",
"Avatar generated from IP address": "%d ans",
"Avatar généré à partir de l'adresse IP", "%d ans"
"Add comment": ],
"Ajouter un commentaire", "Never": "Jamais",
"Optional nickname…": "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.",
"Pseudonyme optionnel…", "This document will expire in %d seconds.": [
"Post comment": "Ce document expirera dans %d seconde.",
"Poster le commentaire", "Ce document expirera dans %d secondes.",
"Sending comment…": "Ce document expirera dans %d secondes.",
"Envoi du commentaire…", "Ce document expirera dans %d secondes.",
"Comment posted.": "Ce document expirera dans %d secondes.",
"Commentaire posté.", "Ce document expirera dans %d secondes."
"Could not refresh display: %s": ],
"Impossible de rafraichir l'affichage : %s", "This document will expire in %d minutes.": [
"unknown status": "Ce document expirera dans %d minute.",
"Statut inconnu", "Ce document expirera dans %d minutes.",
"server error or not responding": "Ce document expirera dans %d minutes.",
"Le serveur ne répond pas ou a rencontré une erreur", "Ce document expirera dans %d minutes.",
"Could not post comment: %s": "Ce document expirera dans %d minutes.",
"Impossible de poster le commentaire : %s", "Ce document expirera dans %d minutes."
"Please move your mouse for more entropy…": ],
"Merci de bouger votre souris pour plus d'entropie…", "This document will expire in %d hours.": [
"Sending paste…": "Ce document expirera dans %d heure.",
"Envoi du paste…", "Ce document expirera dans %d heures.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ce document expirera dans %d heures.",
"Votre paste est disponible à l'adresse <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Appuyez sur [Ctrl]+[c] pour copier)</span>", "Ce document expirera dans %d heures.",
"Delete data": "Ce document expirera dans %d heures.",
"Supprimer les données du paste", "Ce document expirera dans %d heures."
"Could not create paste: %s": ],
"Impossible de créer le paste : %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Ce document expirera dans %d jour.",
"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 ?)", "Ce document expirera dans %d jours.",
"Ce document expirera dans %d jours.",
"Ce document expirera dans %d jours.",
"Ce document expirera dans %d jours.",
"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.",
"Ce document expirera dans %d mois.",
"Ce document expirera dans %d mois.",
"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 ?)",
"B": "o", "B": "o",
"KiB": "Kio", "KiB": "Kio",
"MiB": "Mio", "MiB": "Mio",
@ -140,29 +172,48 @@
"Download attachment": "Télécharger la pièce jointe", "Download attachment": "Télécharger la pièce jointe",
"Cloned: '%s'": "Cloner '%s'", "Cloned: '%s'": "Cloner '%s'",
"The cloned file '%s' was attached to this paste.": "Le fichier cloné '%s' a été attaché à ce paste.", "The cloned file '%s' was attached to this paste.": "Le fichier cloné '%s' a été attaché à ce paste.",
"Attach a file": "Attacher un fichier ", "Attach a file": "Attacher un fichier",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "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.": "File too large, to display a preview. Please download the attachment.", "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", "Remove attachment": "Enlever la pièce jointe",
"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.": "Votre navigateur ne supporte pas l'envoi de fichiers chiffrés. Merci d'utiliser un navigateur plus récent.",
"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.",
"Invalid attachment.": "Attachement invalide.",
"Options": "Options", "Options": "Options",
"Shorten URL": "Raccourcir URL", "Shorten URL": "Raccourcir URL",
"Editor": "Éditer", "Editor": "Éditer",
"Preview": "Prévisualiser", "Preview": "Prévisualiser",
"%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.": "%s requiert que le PATH se termine dans un \"%s\". Veuillez mettre à jour le PATH dans votre index.php.",
"%s requiert que le PATH se termine dans un \"%s\". Veuillez mettre à jour le PATH dans votre index.php.", "Decrypt": "Déchiffrer",
"Decrypt": "Enter password": "Entrez le mot de passe",
"Déchiffrer",
"Enter password":
"Entrez le mot de passe",
"Loading…": "Chargement…", "Loading…": "Chargement…",
"Decrypting paste…": "Déchiffrement du paste…", "Decrypting paste…": "Déchiffrement du paste…",
"Preparing new paste…": "Préparation du paste…", "Preparing new paste…": "Préparation du paste…",
"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>.": "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).",
"Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">cette FAQ pour des idées de résolution</a> (en Anglais).", "+++ no paste text +++": "+++ pas de texte copié +++",
"+++ no paste text +++": "+++ pas de paste-text +++", "Could not get paste data: %s": "Impossible d'obtenir les données du paste: %s",
"Could not get paste data: %s": "QR code": "QR code",
"Could not get paste data: %s" "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 lutiliser 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 lAPI 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 %s": "Message chiffré sur %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "Raccourcir l'URL peut exposer votre clé de déchiffrement dans l'URL.",
"Save paste": "Sauver le paste",
"Your IP is not authorized to create pastes.": "Votre adresse IP n'est pas autorisée à créer des pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

219
i18n/he.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "כיוון שבורות היא ברכה",
"en": "he",
"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 שניות בין פרסום לפרסום.",
"נא להמתין %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.": "מזהה ההדבקה שגוי.",
"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.": "צריך JavaScript כדי לאפשר ל־%s לפעול. סליחה על חוסר הנוחות.",
"%s requires a modern browser to work.": "%s דורש דפדפן מודרני כדי לפעול.",
"New": "חדש",
"Send": "שליחה",
"Clone": "שכפול",
"Raw text": "טקסט גולמי",
"Expires": "Expires",
"Burn after reading": "קוראים-שורפים",
"Open discussion": "פתיחת דיון",
"Password (recommended)": "ססמה (מומלץ)",
"Discussion": "דיון",
"Toggle navigation": "החלפת מצב ניווט",
"%d seconds": [
"שנייה אחת",
"%d שניות",
"%d שניות",
"%d שניות",
"%d שניות",
"%d שניות"
],
"%d minutes": [
"דקה אחת",
"%d דקות",
"%d דקות",
"%d דקות",
"%d דקות",
"%d דקות"
],
"%d hours": [
"שעה אחת",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"יום אחד",
"%d ימים",
"%d ימים",
"%d ימים",
"%d ימים",
"%d ימים"
],
"%d weeks": [
"שבוע אחד",
"%d שבועות",
"%d שבועות",
"%d שבועות",
"%d שבועות",
"%d שבועות"
],
"%d months": [
"חודש אחד",
"%d חודשים",
"%d חודשים",
"%d חודשים",
"%d חודשים",
"%d חודשים"
],
"%d years": [
"שנה אחת",
"%d שנים",
"%d שנים",
"%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.": [
"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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "פורמט",
"Plain Text": "טקסט פשוט",
"Source Code": "קוד מקור",
"Markdown": "Markdown",
"Download attachment": "הורדת קובץ מצורף",
"Cloned: '%s'": "שוכפל: '%s'",
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.",
"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.": "קובץ מצורף שגוי.",
"Options": "אפשרויות",
"Shorten URL": "קיצור כתובת",
"Editor": "עורך",
"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": "פענוח",
"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>.": "In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</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\">ברשומה הזאת בשו״ת</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "יכול להיות שהדפדפן שלך ידרוש חיבור HTTPS כדי לתמוך ב־API של WebCrypto. כדי לנסות <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 %s": "%sהערה מוצפנת ב־",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "נא לבקר בקישור כדי לצפות בהערה. מסירת הקישור לאנשים כלשהם תאפשר גם להם לגשת להערה.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/hi.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "Because ignorance is bliss",
"en": "hi",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,170 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "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 %sböngésződ%s segítségével titkosítja és oldja fel 256 bit hosszú titkosítási kulcsú AES-t használva.",
"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.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "További információt a <a href=\"https://privatebin.info/\">projekt oldalán</a> találsz.",
"Because ignorance is bliss": "Because ignorance is bliss": "A titok egyfajta hatalom.",
"A titok egyfajta hatalom.",
"en": "hu", "en": "hu",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "A bejegyzés nem létezik, lejárt vagy törölve lett.",
"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 php %s or above to work. Sorry.": "%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.",
"Bocs, de a %s működéséhez %s vagy ezt meghaladó verziójú php-s környezet szükséges.", "Please wait %d seconds between each post.": [
"%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.", "Kérlek várj %d másodpercet két beküldés között.",
"Paste is limited to %s of encrypted data.": "Kérlek várj %d másodpercet két beküldés között.",
"A bejegyzés maximális hossza: %s", "Kérlek várj %d másodpercet két beküldés között.",
"Invalid data.": "Kérlek várj %d másodpercet két beküldés között.",
"Érvénytelen adat.", "Kérlek várj %d másodpercet két beküldés között.",
"You are unlucky. Try again.": "Kérlek várj %d másodpercet két beküldés között."
"Peched volt, próbáld újra.", ],
"Error saving comment. Sorry.": "Paste is limited to %s of encrypted data.": "A bejegyzés maximális hossza: %s",
"Nem sikerült menteni a hozzászólást. Bocs.", "Invalid data.": "Érvénytelen adat.",
"Error saving paste. Sorry.": "You are unlucky. Try again.": "Peched volt, próbáld újra.",
"Nem sikerült menteni a bejegyzést. Bocs.", "Error saving comment. Sorry.": "Nem sikerült menteni a hozzászólást. Bocs.",
"Invalid paste ID.": "Error saving paste. Sorry.": "Nem sikerült menteni a bejegyzést. Bocs.",
"Érvénytelen bejegyzés azonosító.", "Invalid paste ID.": "Érvénytelen bejegyzésazonosító.",
"Paste is not of burn-after-reading type.": "Paste is not of burn-after-reading type.": "A bejegyzés nem semmisül meg azonnal olvasás után.",
"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.",
"Wrong deletion token. Paste was not deleted.": "Paste was properly deleted.": "A bejegyzés sikeresen törölve.",
"Hibás törlési azonosító. A bejegyzés nem lett 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.",
"Paste was properly deleted.": "%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.",
"A bejegyzés sikeresen törölve.", "New": "Új",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Send": "Beküldöm!",
"JavaScript szükséges a %s működéséhez. Elnézést a fennakadásért.", "Clone": "Másol",
"%s requires a modern browser to work.": "Raw text": "A nyers szöveg",
"A %s működéséhez a jelenleginél újabb böngészőre van szükség.", "Expires": "Lejárati idő",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Burn after reading": "Törlés az első olvasás után",
"Még mindig Internet Explorert használsz? Ideje váltani:", "Open discussion": "Hozzászólások engedélyezése",
"New": "Password (recommended)": "Jelszó (ajánlott)",
"Új", "Discussion": "Hozzászólások",
"Send": "Toggle navigation": "Navigáció",
"Beküldöm!", "%d seconds": [
"Clone": "%d másodperc",
"Másol", "%d másodperc",
"Raw text": "%d másodperc",
"A nyers szöveg", "%d másodperc",
"Expires": "%d másodperc",
"Lejárati idő", "%d másodperc"
"Burn after reading": ],
"Törlés az első olvasás után", "%d minutes": [
"Open discussion": "%d perc",
"Hozzászólások engedélyezése", "%d perc",
"Password (recommended)": "%d perc",
"Jelszó (ajánlott)", "%d perc",
"Discussion": "%d perc",
"Hozzászólások", "%d perc"
"Toggle navigation": ],
"Navigáció", "%d hours": [
"%d seconds": ["%d másodperc", "%d másodperc"], "%d óra",
"%d minutes": ["%d perc", "%d perc"], "%d óra",
"%d hours": ["%d óra", "%d óra"], "%d óra",
"%d days": ["%d nap", "%d nap"], "%d óra",
"%d weeks": ["%d hét", "%d hét"], "%d óra",
"%d months": ["%d hónap", "%d hónap"], "%d óra"
"%d years": ["%d év", "%d év"], ],
"Never": "%d days": [
"Soha", "%d nap",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d nap",
"Megjegyzés: ez egy teszt szolgáltatás, az adatok bármikor törlődhetnek. Ha visszaélsz vele, kiscicák bánhatják! :)", "%d nap",
"This document will expire in %d seconds.": "%d nap",
["Ez a bejegyzés %d másodperc után megsemmisül.", "Ez a bejegyzés %d másodperc múlva megsemmisül."], "%d nap",
"This document will expire in %d minutes.": "%d nap"
["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.": "%d weeks": [
["Ez a bejegyzés %d óra után megsemmisül.", "Ez a bejegyzés %d óra múlva megsemmisül."], "%d hét",
"This document will expire in %d days.": "%d hét",
["Ez a bejegyzés %d nap után megsemmisül.", "Ez a bejegyzés %d nap múlva megsemmisül."], "%d hét",
"This document will expire in %d months.": "%d hét",
["Ez a bejegyzés %d hónap múlva megsemmisül.", "Ez a bejegyzés %d hónap múlva megsemmisül."], "%d hét",
"Please enter the password for this paste:": "%d hét"
"Add meg a szükséges jelszót a bejegyzés megtekintéséhez:", ],
"Could not decrypt data (Wrong key?)": "%d months": [
"Nem tudtuk dekódolni az adatot. Talán rossz kulcsot adtál meg?", "%d hónap",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d hónap",
"Nem tudtuk törölni a bejegyzést, mivel az olvasás után egyből megsemmisült. Így nem is volt tárolva.", "%d hónap",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d hónap",
"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.", "%d hónap",
"Could not decrypt comment; Wrong key?": "%d hónap"
"Nem tudtuk dekódolni a hozzászólást. Talán rossz kulcsot adtál meg?", ],
"Reply": "%d years": [
"Válasz", "%d év",
"Anonymous": "%d év",
"Anonymous", "%d év",
"Avatar generated from IP address": "%d év",
"Avatar (az IP cím alapján generáljuk)", "%d év",
"Add comment": "%d év"
"Hozzászólok", ],
"Optional nickname…": "Never": "Soha",
"Becenév (már ha meg akarod adni)", "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! :)",
"Post comment": "This document will expire in %d seconds.": [
"Beküld", "Ez a bejegyzés %d másodperc múlva megsemmisül.",
"Sending comment…": "Ez a bejegyzés %d másodperc múlva megsemmisül.",
"Beküldés alatt...", "Ez a bejegyzés %d másodperc múlva megsemmisül.",
"Comment posted.": "Ez a bejegyzés %d másodperc múlva megsemmisül.",
"A hozzászólás beküldve.", "Ez a bejegyzés %d másodperc múlva megsemmisül.",
"Could not refresh display: %s": "Ez a bejegyzés %d másodperc múlva megsemmisül."
"Nem tudtuk frissíteni: %s", ],
"unknown status": "This document will expire in %d minutes.": [
"Ismeretlen státusz.", "Ez a bejegyzés %d perc múlva megsemmisül.",
"server error or not responding": "Ez a bejegyzés %d perc múlva megsemmisül.",
"A szerveren hiba lépett fel vagy nem válaszol.", "Ez a bejegyzés %d perc múlva megsemmisül.",
"Could not post comment: %s": "Ez a bejegyzés %d perc múlva megsemmisül.",
"Nem tudtuk beküldeni a hozzászólást: %s", "Ez a bejegyzés %d perc múlva megsemmisül.",
"Please move your mouse for more entropy…": "Ez a bejegyzés %d perc múlva megsemmisül."
"Nincs elég véletlenszerűség a rendszerben. Mozgasd az egered, hogy növeld az entrópiát.", ],
"Sending paste…": "This document will expire in %d hours.": [
"Bejegyzés elküldése...", "Ez a bejegyzés %d óra múlva megsemmisül.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ez a bejegyzés %d óra múlva megsemmisül.",
"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>", "Ez a bejegyzés %d óra múlva megsemmisül.",
"Delete data": "Ez a bejegyzés %d óra múlva megsemmisül.",
"Adat törlése", "Ez a bejegyzés %d óra múlva megsemmisül.",
"Could not create paste: %s": "Ez a bejegyzés %d óra múlva megsemmisül."
"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?)": "This document will expire in %d days.": [
"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?", "Ez a bejegyzés %d nap múlva megsemmisül.",
"Ez a bejegyzés %d nap múlva megsemmisül.",
"Ez a bejegyzés %d nap múlva megsemmisül.",
"Ez a bejegyzés %d nap múlva megsemmisül.",
"Ez a bejegyzés %d nap múlva 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.",
"Ez a bejegyzés %d hónap múlva megsemmisül.",
"Ez a bejegyzés %d hónap múlva megsemmisül.",
"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 visszfejteni 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 visszafejteni a hozzászólást. Talán rossz kulcsot adtál meg?",
"Reply": "Válasz",
"Anonymous": "Névtelen",
"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 visszafejteni 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", "Format": "Formátum",
"Plain Text": "Egyszerű szöveg", "Plain Text": "Egyszerű szöveg",
"Source Code": "Forráskód", "Source Code": "Forráskód",
@ -135,25 +176,44 @@
"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.", "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.", "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", "Remove attachment": "Csatolmány eltávolítása",
"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.": "A böngésződ nem támogatja titkosított fájlok feltöltését. Használj újabbat.",
"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.", "Invalid attachment.": "Érvénytelen csatolmány.",
"Options": "Opciók", "Options": "Opciók",
"Shorten URL": "URL rövidítés", "Shorten URL": "URL rövidítés",
"Editor": "Szerkesztő felület", "Editor": "Szerkesztő felület",
"Preview": "Előnézet", "Preview": "Előnézet",
"%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.": "%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.",
"%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": "Visszafejtés",
"Decrypt": "Enter password": "Jelszó",
"Dekódolás",
"Enter password":
"Jelszó",
"Loading…": "Folyamatban...", "Loading…": "Folyamatban...",
"Decrypting paste…": "Bejegyzés dekódolása...", "Decrypting paste…": "Bejegyzés visszafejtése...",
"Preparing new paste…": "Új bejegyzés előkészítése...", "Preparing new paste…": "Új bejegyzés előkészítése...",
"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>.": "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>.",
"Abban az esetben, ha ez az üzenet mindig látható lenne, látogass el a <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">Gyakran Ismételt Kérdések szekcióba a megoldásához</a>.",
"+++ no paste text +++": "+++ nincs beillesztett szöveg +++", "+++ no paste text +++": "+++ nincs beillesztett szöveg +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Az adat megszerzése nem sikerült: %s",
"Could not get paste data: %s" "QR code": "QR kód",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Ez a weboldal nem biztonságos HTTP kapcsolatot használ! Emiatt csak teszt célokra ajánljuk.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "További információ <a href=\"%s\">ebben a GyIK bejegyzésben</a> található (angolul).",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "A WebCrypto API használatához a böngésződ számára esetleg HTTPS kapcsolat szükséges. Ezért próbálj meg <a href=\"%s\">HTTPS-re váltani</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "A böngésződ nem támogatja a WebAssemblyt, ami a zlib tömörítéshez kell. Létre tudsz hozni tömörítetlen dokumentumokat, de tömörítetteket nem tudsz olvasni.",
"waiting on user to provide a password": "Várakozás a felhasználóra jelszó megadása okán",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nem lehetett visszafejteni az adatot. Rossz jelszót ütöttél be? Ismételd meg a fent található gombbal.",
"Retry": "Újrapróbálkozás",
"Showing raw text…": "Nyers szöveg mutatása…",
"Notice:": "Megjegyzés:",
"This link will expire after %s.": "Ez a hivatkozás %s múlva megsemmisül.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Ez a hivatkozás csak egyszeri alkalommal érhető el, ne használd a böngésződ \"Visszalépés\" vagy \"Újratöltés\" gombját.",
"Link:": "Hivatkozás:",
"Recipient may become aware of your timezone, convert time to UTC?": "A címzett esetleg megtudhatja az időzónádat, átalakítsuk azt UTC-re?",
"Use Current Timezone": "Az aktuális időzóna használata",
"Convert To UTC": "Átalakítás UTC időzónára",
"Close": "Bezárás",
"Encrypted note on %s": "Titkosított jegyzet a %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Látogasd meg ezt a hivatkozást a bejegyzés megtekintéséhez. Ha mások számára is megadod ezt a linket, azzal hozzáférnek ők is.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

219
i18n/id.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s adalah sebuah pastebin online sumber terbuka dan minimalis, dimana servernya tersebut tidak punya pengetahuan tentang data yang ditempelkan. Data tersebut di enkrip/dekrip %sdi dalam browser%s menggunakan metode enkrip AES 256 bit.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Infomasi lebih lanjut pada <a href=\"https://privatebin.info/\">halaman proyek</a>.",
"Because ignorance is bliss": "Karena ketidaktahuan adalah kebahagiaan, gitu loh",
"en": "id",
"Paste does not exist, has expired or has been deleted.": "Paste tidak ada, telah kedaluwarsa atau telah dihapus.",
"%s requires php %s or above to work. Sorry.": "%s memerlukan php %s atau versi diatasnya untuk dapat dijalankan. Maaf.",
"%s requires configuration section [%s] to be present in configuration file.": "%s membutuhkan bagian konfigurasi [%s] untuk ada di file konfigurasi.",
"Please wait %d seconds between each post.": [
"Silahkan menunggu %d detik antara masing-masing postingan.",
"Silahkan menunggu %d detik antara masing-masing postingan.",
"Silahkan menunggu %d detik antara masing-masing postingan.",
"Silahkan menunggu %d detik antara masing-masing postingan.",
"Silahkan menunggu %d detik antara masing-masing postingan.",
"Silahkan menunggu %d detik antara masing-masing postingan."
],
"Paste is limited to %s of encrypted data.": "Paste dibatasi sampai %s dari data yang dienskripsi.",
"Invalid data.": "Data tidak valid.",
"You are unlucky. Try again.": "Anda belum beruntung. Coba kembali ya Kaka.",
"Error saving comment. Sorry.": "Terjadi kesalahan saat menyimpan komentar. Maaf ya Kaka.",
"Error saving paste. Sorry.": "Terjadi kesalahan saat menyimpan paste. Maaf ya Kaka.",
"Invalid paste ID.": "ID paste tidak valid.",
"Paste is not of burn-after-reading type.": "Paste bukan tipe hapus-setelah-membaca.",
"Wrong deletion token. Paste was not deleted.": "Token penghapusan salah. Paste belum terhapus.",
"Paste was properly deleted.": "Paste telah dihapus dengan benar.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript diperlukan agar %s bekerja. Maaf untuk ketidaknyamanannya.",
"%s requires a modern browser to work.": "%s memerlukan sebuah browser modern untuk bekerja.",
"New": "Baru",
"Send": "Kirim",
"Clone": "Klon",
"Raw text": "Teks mentah",
"Expires": "Kadaluarsa",
"Burn after reading": "Hapus setelah membaca",
"Open discussion": "Diskusi terbuka",
"Password (recommended)": "Kata Sandi (direkomendasikan)",
"Discussion": "Diskusi",
"Toggle navigation": "Alihkan navigasi",
"%d seconds": [
"%d detik",
"%d detik",
"%d detik",
"%d detik",
"%d detik",
"%d detik"
],
"%d minutes": [
"%d menit",
"%d menit",
"%d menit",
"%d menit",
"%d menit",
"%d menit"
],
"%d hours": [
"%d jam",
"%d jam",
"%d jam",
"%d jam",
"%d jam",
"%d jam"
],
"%d days": [
"%d hari",
"%d hari",
"%d hari",
"%d hari",
"%d hari",
"%d hari"
],
"%d weeks": [
"%d minggu",
"%d minggu",
"%d minggu",
"%d minggu",
"%d minggu",
"%d minggu"
],
"%d months": [
"%d bulan",
"%d bulan",
"%d bulan",
"%d bulan",
"%d bulan",
"%d bulan"
],
"%d years": [
"%d tahun",
"%d tahun",
"%d tahun",
"%d tahun",
"%d tahun",
"%d tahun"
],
"Never": "Jangan pernah",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Catatan: Ini adalah layanan percobaan: Data mungkin bisa terhapus kapanpun juga. Anak-anak kucing akan mati jika Anda mengekploitasi layanan ini.",
"This document will expire in %d seconds.": [
"Dokumen ini kadaluarsa dalam %d detik.",
"Dokumen ini kadaluarsa dalam %d detik.",
"Dokumen ini kadaluarsa dalam %d detik.",
"Dokumen ini kadaluarsa dalam %d detik.",
"Dokumen ini kadaluarsa dalam %d detik.",
"Dokumen ini kadaluarsa dalam %d detik."
],
"This document will expire in %d minutes.": [
"Dokumen ini akan kadaluarsa dalam %d menit.",
"Dokumen ini akan kadaluarsa dalam %d menit.",
"Dokumen ini akan kadaluarsa dalam %d menit.",
"Dokumen ini akan kadaluarsa dalam %d menit.",
"Dokumen ini akan kadaluarsa dalam %d menit.",
"Dokumen ini akan kadaluarsa dalam %d menit."
],
"This document will expire in %d hours.": [
"Dokumen ini akan kadaluarsa dalam %d jam.",
"Dokumen ini akan kadaluarsa dalam %d jam.",
"Dokumen ini akan kadaluarsa dalam %d jam.",
"Dokumen ini akan kadaluarsa dalam %d jam.",
"Dokumen ini akan kadaluarsa dalam %d jam.",
"Dokumen ini akan kadaluarsa dalam %d jam."
],
"This document will expire in %d days.": [
"Dokumen ini akan kadaluarsa dalam %d hari.",
"Dokumen ini akan kadaluarsa dalam %d hari.",
"Dokumen ini akan kadaluarsa dalam %d hari.",
"Dokumen ini akan kadaluarsa dalam %d hari.",
"Dokumen ini akan kadaluarsa dalam %d hari.",
"Dokumen ini akan kadaluarsa dalam %d hari."
],
"This document will expire in %d months.": [
"Dokumen ini akan kadaluarsa dalam %d bulan.",
"Dokumen ini akan kadaluarsa dalam %d bulan.",
"Dokumen ini akan kadaluarsa dalam %d bulan.",
"Dokumen ini akan kadaluarsa dalam %d bulan.",
"Dokumen ini akan kadaluarsa dalam %d bulan.",
"Dokumen ini akan kadaluarsa dalam %d bulan."
],
"Please enter the password for this paste:": "Silahkan masukkan kata sandi untuk paste ini:",
"Could not decrypt data (Wrong key?)": "Tidak dapat mendekrip data (Salah kunci?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Tidak dapat menghapus paste, ini dikarenakan data tidak tersimpan dalam mode hapus setelah membaca.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "HANYA UNTUK ANDA SAJA. Jangan tutup kolom jendela ini, pesan ini tidak akan dapat ditampilkan lagi.",
"Could not decrypt comment; Wrong key?": "Tidak dapat mendekrip komentar; Salah kunci?",
"Reply": "Balas",
"Anonymous": "Tanpa Nama",
"Avatar generated from IP address": "Avatar dihasilkan dari alamat IP",
"Add comment": "Tambah komentar",
"Optional nickname…": "Nama julukan tambahan…",
"Post comment": "Posting komentar",
"Sending comment…": "Mengirim komentar…",
"Comment posted.": "Komentar telah diposting.",
"Could not refresh display: %s": "Tidak dapat menyegarkan tampilan: %s",
"unknown status": "status tidak diketahui",
"server error or not responding": "kesalahan server atau server tidak merespon",
"Could not post comment: %s": "Tidak dapat memposting komentar: %s",
"Sending paste…": "Mengirim paste…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Paste Anda adalah <a id=\"pasteurl\" href=\"%s\">%s</a><span id=\"copyhint\">(Tekan [Ctrl]+[c] untuk menyalin)</span>",
"Delete data": "Hapus data",
"Could not create paste: %s": "Tidak dapat membuat 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?)": "Tidak dapat mendekripsi paste: Kunci dekripsi tidak ada di URL (Apakah Anda menggunakan redirector atau penyingkat URL yang menghapus bagian dari URL?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Format",
"Plain Text": "Teks Biasa",
"Source Code": "Kode Sumber",
"Markdown": "Markdown",
"Download attachment": "Unduh lampiran",
"Cloned: '%s'": "Diklon: '%s'",
"The cloned file '%s' was attached to this paste.": "Berkas yang di-klon '%s' telah dilampirkan pada paste ini.",
"Attach a file": "Lampirkan sebuah berkas",
"alternatively drag & drop a file or paste an image from the clipboard": "sebagai alternatif, seret & jatuhkan berkas atau tempel sebuah gambar dari papan klip",
"File too large, to display a preview. Please download the attachment.": "File terlalu besar untuk menampilkan pratinjau. Silakan unduh lampirannya.",
"Remove attachment": "Hapus lampiran",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Browser Anda tidak mendukung pengunggahan file terenkripsi. Harap gunakan browser yang lebih baru.",
"Invalid attachment.": "Lampiran tidak valid.",
"Options": "Pilihan",
"Shorten URL": "Pendekkan alamat URL",
"Editor": "Penyunting",
"Preview": "Pratinjau",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s memerlukan PATH berakhir dalam sebuah \"%s\". Silahkan perbarui PATH dalam index.php Anda.",
"Decrypt": "Dekrip",
"Enter password": "Masukkan kata sandi",
"Loading…": "Memuat…",
"Decrypting paste…": "Men-dekrip paste…",
"Preparing new paste…": "Menyiapkan paste baru…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Jika pesan ini tidak pernah menghilang, silahkan kunjungi dan lihat pada <a href=\"%s\">FAQ ini untuk informasi bagaimana menyelesaikan masalah tersebut</a>.",
"+++ no paste text +++": "+++ tidak ada teks paste +++",
"Could not get paste data: %s": "Tidak dapat mengambil/menampilkan data paste: %s",
"QR code": "Kode QR",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Situs web ini menggunakan koneksi HTTP yang tidak aman! Silahkan gunakan hanya untuk pengujian.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Untuk informasi lebih lanjut, <a href=\"%s\"> lihat entri FAQ ini </a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Browser Anda mungkin memerlukan koneksi HTTPS untuk mendukung API Webcrypto. Coba <a href=\"%s\"> beralih ke HTTPS </a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Browser Anda tidak mendukung Webassembly, yang digunakan untuk kompresi zlib. Anda dapat membuat dokumen yang tidak terkompresi, tetapi tidak akan dapat membaca berkas yang terkompresi.",
"waiting on user to provide a password": "menunggu pengguna untuk menyediakan kata sandi",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Tidak dapat mendekrip data. Apakah Anda memasukkan kata sandi yang salah? Silahkan coba lagi dengan tombol di bagian atas.",
"Retry": "Coba lagi",
"Showing raw text…": "Menampilkan teks mentah…",
"Notice:": "Pengumuman:",
"This link will expire after %s.": "Tautan ini akan kadaluarsa setelah %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Tautan ini hanya dapat diakses satu kali, jangan gunakan tombol Kembali atau tombol Segarkan di browser Anda.",
"Link:": "Tautan:",
"Recipient may become aware of your timezone, convert time to UTC?": "Penerima dapat mengetahui zona waktu Anda, ubah waktu menjadi UTC?",
"Use Current Timezone": "Gunakan Zonawaktu Saat Ini",
"Convert To UTC": "Konversi Ke UTC",
"Close": "Tutup",
"Encrypted note on %s": "Catatan ter-ekrip di %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Kunjungi tautan ini untuk melihat catatan. Memberikan alamat URL pada siapapun juga, akan mengizinkan mereka untuk mengakses catatan, so pasti gitu loh Kaka.",
"URL shortener may expose your decrypt key in URL.": "Pemendek URL mungkin akan menampakkan kunci dekrip Anda dalam URL.",
"Save paste": "Simpan paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,170 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%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 %snel Browser%s con algoritmo AES a 256 Bit.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Per ulteriori informazioni, vedi <a href=\"https://privatebin.info/\">Sito del progetto</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Perché l'ignoranza è una benedizione (Because ignorance is bliss)",
"Perché l'ignoranza è una benedizione (Because ignorance is bliss)",
"en": "it", "en": "it",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Questo messaggio non esiste, è scaduto o è stato cancellato.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s richiede la presenza della sezione [%s] nei file di configurazione.",
"%s richiede php %s o superiore per funzionare. Ci spiace.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Attendi per favore un secondo prima di ciascun invio.",
"%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.", "Attendi per favore %d secondi prima di ciascun invio.",
"Paste is limited to %s of encrypted data.": "Attendi per favore %d secondi prima di ciascun invio.",
"La dimensione del messaggio è limitata a %s di dati cifrati.", "Attendi per favore %d secondi prima di ciascun invio.",
"Invalid data.": "Attendi per favore %d secondi prima di ciascun invio.",
"Dati non validi.", "Attendi per favore %d secondi prima di ciascun invio."
"You are unlucky. Try again.": ],
"Ritenta, sarai più fortunato.", "Paste is limited to %s of encrypted data.": "La dimensione del messaggio è limitata a %s di dati cifrati.",
"Error saving comment. Sorry.": "Invalid data.": "Dati non validi.",
"Errore durante il salvataggio del commento.", "You are unlucky. Try again.": "Ritenta, sarai più fortunato.",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Errore durante il salvataggio del commento.",
"Errore durante il salvataggio del messaggio.", "Error saving paste. Sorry.": "Errore durante il salvataggio del messaggio.",
"Invalid paste ID.": "Invalid paste ID.": "ID-Messaggio non valido.",
"ID-Messaggio non valido.", "Paste is not of burn-after-reading type.": "Il messaggio non è di tipo Distruggi-dopo-lettura.",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Codice cancellazione errato. Il messaggio NON è stato cancellato.",
"Il messaggio non è di tipo Distruggi-dopo-lettura.", "Paste was properly deleted.": "Il messaggio è stato correttamente cancellato.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "%s funziona solo con JavaScript attivo. Ci dispiace per l'inconveniente.",
"Codice cancellazione errato. Il messaggio NON è stato cancellato.", "%s requires a modern browser to work.": "%s richiede un browser moderno e aggiornato per funzionare.",
"Paste was properly deleted.": "New": "Nuovo",
"Il messaggio è stato correttamente cancellato.", "Send": "Invia",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Clona",
"%s funziona solo con JavaScript attivo.<br />Ci dispiace per l'inconveniente.", "Raw text": "Testo Raw",
"%s requires a modern browser to work.": "Expires": "Scade",
"%s richiede un browser moderno e aggiornato per funzionare.", "Burn after reading": "Distruggi dopo lettura",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Apri discussione",
"Usi ancora Internet Explorer? Ti consigliamo di passare ad un browser più sicuro:", "Password (recommended)": "Password (raccomandato)",
"New": "Discussion": "Discussione",
"Nuovo", "Toggle navigation": "Scambia Navigazione",
"Send": "%d seconds": [
"Invia", "%d secondo",
"Clone": "%d secondi",
"Clona", "%d secondi",
"Raw text": "%d secondi",
"Testo Raw", "%d secondi",
"Expires": "%d secondi"
"Scade", ],
"Burn after reading": "%d minutes": [
"Distruggi dopo lettura", "%d minuto",
"Open discussion": "%d minuti",
"Apri discussione", "%d minuti",
"Password (recommended)": "%d minuti",
"Password (raccomandato)", "%d minuti",
"Discussion": "%d minuti"
"Discussione", ],
"Toggle navigation": "%d hours": [
"Scambia Navigazione", "%d ora",
"%d seconds": ["%d secondo", "%d secondi"], "%d ore",
"%d minutes": ["%d minuto", "%d minuti"], "%d ore",
"%d hours": ["%d ora", "%d ore"], "%d ore",
"%d days": ["%d giorno", "%d giorni"], "%d ore",
"%d weeks": ["%d settimana", "%d settimane"], "%d ore"
"%d months": ["%d mese", "%d mesi"], ],
"%d years": ["%d anno", "%d anni"], "%d days": [
"Never": "%d giorno",
"Mai", "%d giorni",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d giorni",
"Nota: questo è un servizio di prova, i messaggi salvati possono essere cancellati in qualsiasi momento. Moriranno dei gattini se abuserai di questo servizio.", "%d giorni",
"This document will expire in %d seconds.": "%d giorni",
["Questo documento scadrà tra un secondo.", "Questo documento scadrà in %d secondi."], "%d giorni"
"This document will expire in %d minutes.": ],
["Questo documento scadrà tra un minuto.", "Questo documento scadrà in %d minuti."], "%d weeks": [
"This document will expire in %d hours.": "%d settimana",
["Questo documento scadrà tra un'ora.", "Questo documento scadrà in %d ore."], "%d settimane",
"This document will expire in %d days.": "%d settimane",
["Questo documento scadrà tra un giorno.", "Questo documento scadrà in %d giorni."], "%d settimane",
"This document will expire in %d months.": "%d settimane",
["Questo documento scadrà tra un mese.", "Questo documento scadrà in %d mesi."], "%d settimane"
"Please enter the password for this paste:": ],
"Inserisci la password per questo messaggio:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d mese",
"Non riesco a decifrari i dati (Chiave errata?)", "%d mesi",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d mesi",
"Non riesco a cancellare il messaggio, non è stato salvato in modalità Distruggi-dopo-lettora.", "%d mesi",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d mesi",
"FOR YOUR EYES ONLY. Non chiudere questa finestra, il messaggio non può essere visualizzato una seconda volta.", "%d mesi"
"Could not decrypt comment; Wrong key?": ],
"Non riesco a decifrare il commento (Chiave errata?)", "%d years": [
"Reply": "%d anno",
"Rispondi", "%d anni",
"Anonymous": "%d anni",
"Anonimo", "%d anni",
"Avatar generated from IP address": "%d anni",
"Avatar generato dall'indirizzo IP)", "%d anni"
"Add comment": ],
"Aggiungi un commento", "Never": "Mai",
"Optional nickname…": "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.",
"Nickname opzionale…", "This document will expire in %d seconds.": [
"Post comment": "Questo documento scadrà tra un secondo.",
"Invia commento", "Questo documento scadrà in %d secondi.",
"Sending comment…": "Questo documento scadrà in %d secondi.",
"Commento in fase di invio…", "Questo documento scadrà in %d secondi.",
"Comment posted.": "Questo documento scadrà in %d secondi.",
"Commento inviato.", "Questo documento scadrà in %d secondi."
"Could not refresh display: %s": ],
"Non riesco ad aggiornare il display: %s", "This document will expire in %d minutes.": [
"unknown status": "Questo documento scadrà tra un minuto.",
"stato sconosciuto", "Questo documento scadrà in %d minuti.",
"server error or not responding": "Questo documento scadrà in %d minuti.",
"errore o mancata risposta dal server", "Questo documento scadrà in %d minuti.",
"Could not post comment: %s": "Questo documento scadrà in %d minuti.",
"Impossibile inviare il commento: %s", "Questo documento scadrà in %d minuti."
"Please move your mouse for more entropy…": ],
"Muovi il mouse in modo casuale, per generare maggior entropia…", "This document will expire in %d hours.": [
"Sending paste…": "Questo documento scadrà tra un'ora.",
"Messaggio in fase di invio…", "Questo documento scadrà in %d ore.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Questo documento scadrà in %d ore.",
"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>", "Questo documento scadrà in %d ore.",
"Delete data": "Questo documento scadrà in %d ore.",
"Cancella i dati", "Questo documento scadrà in %d ore."
"Could not create paste: %s": ],
"Non riesco a creare il messaggio: %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Questo documento scadrà tra un giorno.",
"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?)", "Questo documento scadrà in %d giorni.",
"Questo documento scadrà in %d giorni.",
"Questo documento scadrà in %d giorni.",
"Questo documento scadrà in %d giorni.",
"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.",
"Questo documento scadrà in %d mesi.",
"Questo documento scadrà in %d mesi.",
"Questo documento scadrà in %d mesi.",
"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 decifrare i dati (chiave sbagliata?)",
"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 sbagliata?)",
"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", "Format": "Formato",
"Plain Text": "Solo Testo", "Plain Text": "Solo Testo",
"Source Code": "Codice Sorgente", "Source Code": "Codice Sorgente",
@ -132,28 +173,47 @@
"Cloned: '%s'": "Clonato: '%s'", "Cloned: '%s'": "Clonato: '%s'",
"The cloned file '%s' was attached to this paste.": "Il file clonato '%s' era allegato a questo messaggio.", "The cloned file '%s' was attached to this paste.": "Il file clonato '%s' era allegato a questo messaggio.",
"Attach a file": "Allega un file", "Attach a file": "Allega un 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", "alternatively drag & drop a file or paste an image from the clipboard": "in alternativa trascina e rilascia un file o incolla un'immagine dagli appunti",
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.", "File too large, to display a preview. Please download the attachment.": "File troppo grande, per visualizzare un'anteprima. Sei pregato di scaricare l'allegato.",
"Remove attachment": "Rimuovi allegato", "Remove attachment": "Rimuovi allegato",
"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.": "Il tuo browser non supporta l'invio di file cifrati. Utilizza un browser più recente.",
"Il tuo browser non supporta l'invio di file cifrati. Utilizza un browser più recente.",
"Invalid attachment.": "Allegato non valido.", "Invalid attachment.": "Allegato non valido.",
"Options": "Opzioni", "Options": "Opzioni",
"Shorten URL": "Accorcia URL", "Shorten URL": "Accorcia URL",
"Editor": "Editor", "Editor": "Editor",
"Preview": "Preview", "Preview": "Anteprima",
"%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.": "%s necessita che PATH termini con \"%s\". Aggiorna la variabile PATH nel tuo index.php.",
"%s necessita che PATH termini con \"%s\". Aggiorna la variabile PATH nel tuo index.php.", "Decrypt": "Decifra",
"Decrypt": "Enter password": "Inserisci la password",
"Decifra",
"Enter password":
"Inserisci la password",
"Loading…": "Carico…", "Loading…": "Carico…",
"Decrypting paste…": "Decifro il messaggio…", "Decrypting paste…": "Decifro il messaggio…",
"Preparing new paste…": "Preparo il nuovo messaggio…", "Preparing new paste…": "Preparo il nuovo messaggio…",
"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>.": "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).",
"Nel caso questo messaggio non scompaia, controlla questa <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">FAQ</a> per trovare informazioni su come risolvere il problema (in Inglese).",
"+++ no paste text +++": "+++ nessun testo nel messaggio +++", "+++ no paste text +++": "+++ nessun testo nel messaggio +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Impossibile ottenere i dati di incolla: %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.": "Questo sito web sta usando una connessione HTTP non sicura! Si prega di usarlo solo per il test.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Per ulteriori informazioni <a href=\"%s\">vedi questa voce della FAQ</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Il tuo browser potrebbe richiedere una connessione HTTPS per supportare l'API WebCrypto. Prova <a href=\"%s\">a passare a HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Il tuo browser non supporta WebAssembly, utilizzato per la compressione di zlib. Puoi creare documenti non compressi, ma non è possibile leggere quelli compressi.",
"waiting on user to provide a password": "in attesa sull'utente di fornire una password",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Impossibile decrittografare i dati. Hai inserito una password errata? Riprova con il pulsante in alto.",
"Retry": "Riprova",
"Showing raw text…": "Mostrando il testo grezzo…",
"Notice:": "Avviso:",
"This link will expire after %s.": "Questo collegamento scadrà dopo %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Questo collegamento è accessibile una sola volta, non usare il pulsante indietro o aggiorna nel tuo browser.",
"Link:": "Link:",
"Recipient may become aware of your timezone, convert time to UTC?": "Il destinatario può essere a conoscenza del tuo fuso orario, convertire l'orario in UTC?",
"Use Current Timezone": "Usa Fuso Orario Corrente",
"Convert To UTC": "Converti a UTC",
"Close": "Chiudi",
"Encrypted note on %s": "Nota crittografata su %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visita questo collegamento per vedere la nota. Dare l'URL a chiunque consente anche a loro di accedere alla nota.",
"URL shortener may expose your decrypt key in URL.": "URL shortener può esporre la tua chiave decrittografata nell'URL.",
"Save paste": "Salva il messagio",
"Your IP is not authorized to create pastes.": "Il tuo IP non è autorizzato a creare dei messaggi.",
"Trying to shorten a URL that isn't pointing at our instance.": "Tantativo in corso di accorciare un URL che non punta alla nostra istanza.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Errore nella chiamata a YOURLS. Probabilmente un problema di configurazione, come un \"apiurl\" o una \"signature\" sbagliati o mancanti.",
"Error parsing YOURLS response.": "Errore nell'analizzare la risposta YOURLS."
} }

219
i18n/ja.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "Because ignorance is bliss",
"en": "ja",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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": "新しい",
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d 分",
"%d 分",
"%d 分",
"%d 分",
"%d 分",
"%d 分"
],
"%d hours": [
"%d 時間",
"%d 時間",
"%d 時間",
"%d 時間",
"%d 時間",
"%d 時間"
],
"%d days": [
"%d 日",
"%d 日",
"%d 日",
"%d 日",
"%d 日",
"%d 日"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/jbo.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "sivlolnitvanku'a",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": ".i la %s mupli lo sorcu lo'e se setca kibro .i ji'a zo'e se zancari gi'e fingubni .i lo samse'u na djuno lo datni selru'e cu .i ba'e %sle brauzero%s ku mipri le do datni ku fi la'oi AES poi bitni li 256",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": ".i ki'u le ka na djuno cu ka saxfri",
"en": "jbo",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"Paste is limited to %s of encrypted data.": "Paste is limited to %s of encrypted data.",
"Invalid data.": ".i le selru'e cu na drani",
"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": "cnino",
"Send": "benji",
"Clone": "fukpi",
"Raw text": "vlapoi nalselrucyzu'e",
"Expires": "vimcu",
"Burn after reading": "vimcu ba la tcidu",
"Open discussion": "lo zbasu cu casnu",
"Password (recommended)": "japyvla (nelti'i)",
"Discussion": "casnu",
"Toggle navigation": "Toggle navigation",
"%d seconds": [
"%d second (singular)",
"%d seconds (1st plural)",
"%d seconds (2nd plural)",
"%d seconds (3rd plural)",
"%d seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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": "ky.bu ry termifra",
"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": "refcfa",
"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:": "urli:",
"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": "galfi lo cabni la utc",
"Close": "ganlo",
"Encrypted note on %s": ".i lo lo notci ku mifra cu zvati %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "rejgau fukpi",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/ku.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "Because ignorance is bliss",
"en": "ku",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/la.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivatumVinariam",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "Because ignorance is bliss",
"en": "la",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -63,6 +63,7 @@
"ho": ["Hiri Motu", "Hiri Motu"], "ho": ["Hiri Motu", "Hiri Motu"],
"hu": ["magyar", "Hungarian"], "hu": ["magyar", "Hungarian"],
"ia": ["Interlingua", "Interlingua"], "ia": ["Interlingua", "Interlingua"],
"id": ["bahasa Indonesia","Indonesian"],
"ie": ["Interlingue", "Interlingue"], "ie": ["Interlingue", "Interlingue"],
"ga": ["Gaeilge", "Irish"], "ga": ["Gaeilge", "Irish"],
"ig": ["Asụsụ Igbo", "Igbo"], "ig": ["Asụsụ Igbo", "Igbo"],
@ -88,6 +89,7 @@
"ku": ["Kurdî", "Kurdish"], "ku": ["Kurdî", "Kurdish"],
"kj": ["Kuanyama", "Kwanyama"], "kj": ["Kuanyama", "Kwanyama"],
"la": ["lingua latina", "Latin"], "la": ["lingua latina", "Latin"],
"jbo":["jbobau", "Lojban"],
"lb": ["Lëtzebuergesch", "Luxembourgish"], "lb": ["Lëtzebuergesch", "Luxembourgish"],
"lg": ["Luganda", "Ganda"], "lg": ["Luganda", "Ganda"],
"li": ["Limburgs", "Limburgish"], "li": ["Limburgs", "Limburgish"],

219
i18n/lt.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s yra minimalistinis, atvirojo kodo internetinis įdėjimų dėklas, kurį naudojant, serveris nieko nenutuokia apie įdėtus duomenis. Duomenys yra šifruojami/iššifruojami %snaršyklėje%s naudojant 256 bitų AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Daugiau informacijos rasite <a href=\"https://privatebin.info/\">projekto puslapyje</a>.",
"Because ignorance is bliss": "Nes nežinojimas yra palaima",
"en": "lt",
"Paste does not exist, has expired or has been deleted.": "Įdėjimo nėra, jis nebegalioja arba buvo ištrintas.",
"%s requires php %s or above to work. Sorry.": "%s savo darbui reikalauja php %s arba naujesnės versijos. Apgailestaujame.",
"%s requires configuration section [%s] to be present in configuration file.": "%s reikalauja, kad konfigūracijos faile būtų [%s] konfigūracijos sekcija.",
"Please wait %d seconds between each post.": [
"Tarp kiekvieno įrašo palaukite %d sekundę.",
"Tarp kiekvieno įrašo palaukite %d sekundės.",
"Tarp kiekvieno įrašo palaukite %d sekundžių.",
"Tarp kiekvieno įrašo palaukite %d sekundžių.",
"Tarp kiekvieno įrašo palaukite %d sekundžių.",
"Tarp kiekvieno įrašo palaukite %d sekundžių."
],
"Paste is limited to %s of encrypted data.": "Įdėjimas yra apribotas iki %s šifruotų duomenų.",
"Invalid data.": "Neteisingi duomenys.",
"You are unlucky. Try again.": "Jums nesiseka. Bandykite dar kartą.",
"Error saving comment. Sorry.": "Klaida įrašant komentarą. Apgailestaujame.",
"Error saving paste. Sorry.": "Klaida įrašant įdėjimą. Apgailestaujame.",
"Invalid paste ID.": "Neteisingas įdėjimo ID.",
"Paste is not of burn-after-reading type.": "Įdėjimo tipas nėra „Perskaičius sudeginti“.",
"Wrong deletion token. Paste was not deleted.": "Neteisingas ištrynimo prieigos raktas. Įdėjimas nebuvo ištrintas.",
"Paste was properly deleted.": "Įdėjimas buvo tinkamai ištrintas.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "%s darbui reikalinga JavaScript. Atsiprašome už nepatogumus.",
"%s requires a modern browser to work.": "%s savo darbui reikalauja šiuolaikinės naršyklės.",
"New": "Naujas",
"Send": "Siųsti",
"Clone": "Dubliuoti",
"Raw text": "Neapdorotas tekstas",
"Expires": "Baigs galioti po",
"Burn after reading": "Perskaičius sudeginti",
"Open discussion": "Atvira diskusija",
"Password (recommended)": "Slaptažodis (rekomenduojama)",
"Discussion": "Diskusija",
"Toggle navigation": "Perjungti naršymą",
"%d seconds": [
"%d sekundę",
"%d sekundės",
"%d sekundžių",
"%d sekundžių",
"%d sekundžių",
"%d sekundžių"
],
"%d minutes": [
"%d minutės",
"%d minučių",
"%d minučių",
"%d minučių",
"%d minučių",
"%d minučių"
],
"%d hours": [
"%d valandos",
"%d valandų",
"%d valandų",
"%d valandų",
"%d valandų",
"%d valandų"
],
"%d days": [
"%d dienos",
"%d dienų",
"%d dienų",
"%d dienų",
"%d dienų",
"%d dienų"
],
"%d weeks": [
"%d savaitės",
"%d savaičių",
"%d savaičių",
"%d savaičių",
"%d savaičių",
"%d savaičių"
],
"%d months": [
"%d mėnesio",
"%d mėnesių",
"%d mėnesių",
"%d mėnesių",
"%d mėnesių",
"%d mėnesių"
],
"%d years": [
"%d metų",
"%d metų",
"%d metų",
"%d metų",
"%d metų",
"%d metų"
],
"Never": "Niekada",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Pastaba: Tai yra bandomoji paslauga. Duomenys bet kuriuo metu gali būti ištrinti. Kačiukai mirs, jei piktnaudžiausite šia paslauga.",
"This document will expire in %d seconds.": [
"Šis dokumentas nustos galioti po %d sekundės.",
"Šis dokumentas nustos galioti po %d sekundžių.",
"Šis dokumentas nustos galioti po %d sekundžių.",
"Šis dokumentas nustos galioti po %d sekundžių.",
"Šis dokumentas nustos galioti po %d sekundžių.",
"Šis dokumentas nustos galioti po %d sekundžių."
],
"This document will expire in %d minutes.": [
"Šis dokumentas nustos galioti po %d minutės.",
"Šis dokumentas nustos galioti po %d minučių.",
"Šis dokumentas nustos galioti po %d minučių.",
"Šis dokumentas nustos galioti po %d minučių.",
"Šis dokumentas nustos galioti po %d minučių.",
"Šis dokumentas nustos galioti po %d minučių."
],
"This document will expire in %d hours.": [
"Šis dokumentas nustos galioti po %d valandos.",
"Šis dokumentas nustos galioti po %d valandų.",
"Šis dokumentas nustos galioti po %d valandų.",
"Šis dokumentas nustos galioti po %d valandų.",
"Šis dokumentas nustos galioti po %d valandų.",
"Šis dokumentas nustos galioti po %d valandų."
],
"This document will expire in %d days.": [
"Šis dokumentas nustos galioti po %d dienos.",
"Šis dokumentas nustos galioti po %d dienų.",
"Šis dokumentas nustos galioti po %d dienų.",
"Šis dokumentas nustos galioti po %d dienų.",
"Šis dokumentas nustos galioti po %d dienų.",
"Šis dokumentas nustos galioti po %d dienų."
],
"This document will expire in %d months.": [
"Šis dokumentas nustos galioti po %d mėnesio.",
"Šis dokumentas nustos galioti po %d mėnesių.",
"Šis dokumentas nustos galioti po %d mėnesių.",
"Šis dokumentas nustos galioti po %d mėnesių.",
"Šis dokumentas nustos galioti po %d mėnesių.",
"Šis dokumentas nustos galioti po %d mėnesių."
],
"Please enter the password for this paste:": "Įveskite šio įdėjimo slaptažodį:",
"Could not decrypt data (Wrong key?)": "Nepavyko iššifruoti duomenų (Neteisingas raktas?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Nepavyko ištrinti įdėjimo, jis nebuvo saugomas „Perskaičius sudeginti“ veiksenoje.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "SKIRTA TIK JŪSŲ AKIMS. Neužverkite šio lango, šis pranešimas negalės būti rodomas dar kartą.",
"Could not decrypt comment; Wrong key?": "Nepavyko iššifruoti komentaro; Neteisingas raktas?",
"Reply": "Atsakyti",
"Anonymous": "Anonimas",
"Avatar generated from IP address": "Avataras sukurtas iš IP adreso",
"Add comment": "Pridėti komentarą",
"Optional nickname…": "Nebūtinas slapyvardis…",
"Post comment": "Skelbti komentarą",
"Sending comment…": "Siunčiamas komentaras…",
"Comment posted.": "Komentaras paskelbtas.",
"Could not refresh display: %s": "Nepavyko įkelti rodinio iš naujo: %s",
"unknown status": "nežinoma būsena",
"server error or not responding": "serverio klaida arba jis neatsako",
"Could not post comment: %s": "Nepavyko paskelbti komentaro: %s",
"Sending paste…": "Siunčiamas įdėjimas…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Jūsų įdėjimas yra <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Paspauskite [Vald]+[c] norėdami nukopijuoti)</span>",
"Delete data": "Ištrinti duomenis",
"Could not create paste: %s": "Nepavyko sukurti įdėjimo: %s",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Nepavyksta iššifruoti įdėjimo: URL adrese trūksta iššifravimo rakto (Ar naudojote peradresavimo ar URL trumpinimo įrankį, kuris pašalina URL dalį?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formatas",
"Plain Text": "Grynasis tekstas",
"Source Code": "Pirminis kodas",
"Markdown": "„Markdown“",
"Download attachment": "Atsisiųsti priedą",
"Cloned: '%s'": "Dubliuota: „%s“",
"The cloned file '%s' was attached to this paste.": "Dubliuotas failas „%s“ buvo pridėtas į šį įdėjimą.",
"Attach a file": "Pridėti failą",
"alternatively drag & drop a file or paste an image from the clipboard": "arba kitaip - tempkite failą arba įdėkite paveikslą iš iškarpinės",
"File too large, to display a preview. Please download the attachment.": "Failas per didelis, kad būtų rodoma peržiūra. Atsisiųskite priedą.",
"Remove attachment": "Šalinti priedą",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Jūsų naršyklė nepalaiko šifruotų failų įkėlimo. Naudokite naujesnę naršyklę.",
"Invalid attachment.": "Neteisingas priedas.",
"Options": "Parinktys",
"Shorten URL": "Sutrumpinti URL",
"Editor": "Redaktorius",
"Preview": "Peržiūra",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s reikalauja, kad PATH baigtųsi „%s“. Atnaujinkite PATH savo index.php.",
"Decrypt": "Iššifruoti",
"Enter password": "Įveskite slaptažodį",
"Loading…": "Įkeliama…",
"Decrypting paste…": "Iššifruojamas įdėjimas…",
"Preparing new paste…": "Ruošiamas naujas įdėjimas…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "Jeigu šis pranešimas niekada nedingsta, pasižiūrėkite <a href=\"%s\">šį DUK skyrių, kuriame yra informacija apie nesklandumų šalinimą</a>.",
"+++ no paste text +++": "+++ nėra įdėjimo teksto +++",
"Could not get paste data: %s": "Nepavyko gauti įdėjimo duomenų: %s",
"QR code": "QR kodas",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Ši internetinė svetainė naudoja nesaugų HTTP ryšį! Naudokite ją tik bandymams.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Išsamesnei informacijai, <a href=\"%s\">žiūrėkite šį DUK įrašą</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Jūsų naršyklei gali prireikti HTTPS ryšio, kad palaikytų „WebCrypto“ API. Pabandykite <a href=\"%s\">persijungti į HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Jūsų naršyklė nepalaiko „WebAssembly“, kuri naudojama zlib glaudinimui. Jūs galite kurti neglaudintus dokumentus, tačiau negalite skaityti glaudintų dokumentų.",
"waiting on user to provide a password": "laukiama, kol naudotojas pateiks slaptažodį",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Nepavyko iššifruoti duomenų. Ar įvedėte teisingą slaptažodį? Bandykite iš naujo pasinaudodami mygtuku viršuje.",
"Retry": "Bandyti dar kartą",
"Showing raw text…": "Rodomas neapdorotas tekstas…",
"Notice:": "Pranešimas:",
"This link will expire after %s.": "Ši nuoroda nustos galioti po %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Ši nuoroda gali būti atverta tik vieną kartą, nenaudokite savo naršyklėje mygtuko „Grįžti“ ar „Įkelti iš naujo“.",
"Link:": "Nuoroda:",
"Recipient may become aware of your timezone, convert time to UTC?": "Gavėjas gali sužinoti jūsų laiko juostą, konvertuoti laiką į suderintąjį pasaulinį laiką (UTC)?",
"Use Current Timezone": "Naudoti esamą laiko juostą",
"Convert To UTC": "Konvertuoti į UTC",
"Close": "Užverti",
"Encrypted note on %s": "Šifruoti užrašai ties %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Norėdami matyti užrašus, aplankykite šį tinklalapį. Pasidalinus šiuo URL adresu su kitais žmonėmis, jiems taip pat bus leidžiama prieiga prie šių užrašų.",
"URL shortener may expose your decrypt key in URL.": "URL trumpinimo įrankis gali atskleisti URL adrese jūsų iššifravimo raktą.",
"Save paste": "Įrašyti įdėjimą",
"Your IP is not authorized to create pastes.": "Jūsų IP adresas neturi įgaliojimų kurti įdėjimų.",
"Trying to shorten a URL that isn't pointing at our instance.": "Bandoma sutrumpinti URL adresą, kuris nenurodo į mūsų egzempliorių.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Klaida iškviečiant YOURLS. Tikriausiai, konfigūracijos klaida, pavyzdžiui, neteisingi „apiurl“ ar „signature“, arba jų nėra.",
"Error parsing YOURLS response.": "Klaida nagrinėjant YOURLS atsaką."
}

View File

@ -1,159 +1,219 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s is een minimalistische, open source online pastebin waarbij de server geen kennis heeft van de paste data zelf. Gegevens worden gecodeerd/gedecodeerd %s in de browser %s met behulp van 256-bits AES.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Meer informatie is te vinden op de <a href=\"https://privatebin.info/\">projectpagina</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Onwetendheid is een zegen",
"Onwetendheid is een zegen",
"en": "nl", "en": "nl",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Paste bestaat niet, is verlopen of verwijderd.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s vereist dat de configuratiesectie [%s] aanwezig is in het configuratiebestand",
"%s vereist PHP %s of hoger om te kunnen werken. Sorry", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Alstublieft %d second wachten tussen elk bericht.",
"%s vereist dat de configuratiesectie [%s] aanwezig is in het configuratiebestand", "Alstublieft %d seconden wachten tussen elk bericht.",
"Please wait %d seconds between each post.": "Alstublieft %d seconden wachten tussen elk bericht.",
"Alstublieft %d seconden wachten tussen elk bericht", "Alstublieft %d seconden wachten tussen elk bericht.",
"Paste is limited to %s of encrypted data.": "Alstublieft %d seconden wachten tussen elk bericht.",
"Geplakte tekst is beperkt tot %s aan versleutelde gegevens", "Alstublieft %d seconden wachten tussen elk bericht."
"Invalid data.": ],
"Ongeldige gegevens", "Paste is limited to %s of encrypted data.": "Paste is beperkt tot %s aan versleutelde gegevens.",
"You are unlucky. Try again.": "Invalid data.": "Ongeldige gegevens.",
"Helaas. Probeer het nog eens", "You are unlucky. Try again.": "Helaas. Probeer het nog eens.",
"Error saving comment. Sorry.": "Error saving comment. Sorry.": "Fout bij het opslaan van het commentaar. Sorry.",
"Fout bij het opslaan van het commentaar. Sorry", "Error saving paste. Sorry.": "Fout bij het opslaan van de paste. Sorry.",
"Error saving paste. Sorry.": "Invalid paste ID.": "Ongeldige ID.",
"Fout bij het opslaan van de geplakte tekst. Sorry.", "Paste is not of burn-after-reading type.": "Paste is geen 'vernietig na lezen' type.",
"Invalid paste ID.": "Wrong deletion token. Paste was not deleted.": "Foutieve verwijdercode. Paste is niet verwijderd.",
"Ongeldige ID.", "Paste was properly deleted.": "Paste is correct verwijderd.",
"Paste is not of burn-after-reading type.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript vereist om %s te laten werken. Sorry voor het ongemak.",
"Geplakte tekst is geen 'vernietig na lezen' type", "%s requires a modern browser to work.": "%s vereist een moderne browser om te kunnen werken.",
"Wrong deletion token. Paste was not deleted.": "New": "Nieuw",
"Foutieve verwijdercode. Geplakte tekst is niet verwijderd.", "Send": "Verzenden",
"Paste was properly deleted.": "Clone": "Klonen",
"Geplakte tekst is correct verwijderd.", "Raw text": "Onbewerkte tekst",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Expires": "Verloopt",
"JavaScript vereist om %s te laten werken.<br />Sorry voor het ongemak.", "Burn after reading": "Vernietig na lezen",
"%s requires a modern browser to work.": "Open discussion": "Open discussie",
"%s vereist een moderne browser om te kunnen werken ", "Password (recommended)": "Wachtwoord (aanbevolen)",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Discussion": "Discussie",
"Gebruik je nog steeds Internet explorer? Doe jezelf een plezier en maak gebruik van een moderne browser:", "Toggle navigation": "Navigatie openen/sluiten",
"New": "%d seconds": [
"Nieuw", "%d seconde",
"Send": "%d seconden",
"Verzenden", "%d seconden",
"Clone": "%d seconden",
"Clonen", "%d seconden",
"Raw text": "%d seconden"
"Onbewerkte tekst", ],
"Expires": "%d minutes": [
"Verloopt", "%d minuut",
"Burn after reading": "%d minuten",
"Vernietig na lezen", "%d minuten",
"Open discussion": "%d minuten",
"Open discussie", "%d minuten",
"Password (recommended)": "%d minuten"
"Wachtwoord (aanbevolen)", ],
"Discussion": "%d hours": [
"Discussie", "%d uur",
"Toggle navigation": "%d uren",
"Navigatie openen/sluiten", "%d uren",
"%d seconds": ["%d second", "%d seconden"], "%d uren",
"%d minutes": ["%d minuut", "%d minuten"], "%d uren",
"%d hours": ["%d uur"], "%d uren"
"%d days": ["%d dag", "%d dagen"], ],
"%d weeks": ["%d week", "%d weken"], "%d days": [
"%d months": ["%d maand", "%d maanden"], "%d dag",
"%d years": ["%d jaar"], "%d dagen",
"Never": "%d dagen",
"Nooit", "%d dagen",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d dagen",
"Opmerking: Dit is een testservice: Gegevens kunnen op elk gegeven moment verwijderd worden.", "%d dagen"
"This document will expire in %d seconds.": ],
["Dit document verloopt over %d second.", "Dit document verloopt over %d seconden."], "%d weeks": [
"This document will expire in %d minutes.": "%d week",
["Dit document verloopt over %d minuut.", "Dit document verloopt over %d minuten"], "%d weken",
"This document will expire in %d hours.": "%d weken",
["Dit document verloopt over %d uur."], "%d weken",
"This document will expire in %d days.": "%d weken",
["Dit document verloopt over %d dag.", "Dit document verloopt over %d dagen."], "%d weken"
"This document will expire in %d months.": ],
["Dit document verloopt over %d maand.", "Dit document verloopt over %d maanden."], "%d months": [
"Please enter the password for this paste:": "%d maand",
"Voer het wachtwoord in voor deze geplakte tekst:", "%d maanden",
"Could not decrypt data (Wrong key?)": "%d maanden",
"Kon de gegevens niet decoderen (verkeerde sleutel?)", "%d maanden",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d maanden",
"Verwijderen van de geplakte tekst niet mogelijk, deze werd niet opgeslagen in 'vernietig na lezen' modus.", "%d maanden"
"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.", "%d years": [
"Could not decrypt comment; Wrong key?": "%d jaar",
"Kon het commentaar niet decoderen; Verkeerde sleutel?", "%d jaren",
"Reply": "%d jaren",
"Beantwoorden", "%d jaren",
"Anonymous": "%d jaren",
"Anoniem", "%d jaren"
"Avatar generated from IP address": ],
"Anonieme avatar (van het IP adres)", "Never": "Nooit",
"Add comment": "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. Katten zullen doodgaan als je misbruikt maakt van deze service.",
"Commentaar toevoegen", "This document will expire in %d seconds.": [
"Optional nickname…": "Dit document verloopt over %d seconde.",
"Optionele bijnaam…", "Dit document verloopt over %d seconden.",
"Post comment": "Dit document verloopt over %d seconden.",
"Plaats een commentaar", "Dit document verloopt over %d seconden.",
"Sending comment…": "Dit document verloopt over %d seconden.",
"Commentaar verzenden…", "Dit document verloopt over %d seconden."
"Comment posted.": ],
"Commentaar geplaatst.", "This document will expire in %d minutes.": [
"Could not refresh display: %s": "Dit document verloopt over %d minuut.",
"Kon de weergave niet vernieuwen: %s", "Dit document verloopt over %d minuten.",
"unknown status": "Dit document verloopt over %d minuten.",
"Onbekende status", "Dit document verloopt over %d minuten.",
"server error or not responding": "Dit document verloopt over %d minuten.",
"Serverfout of server reageert niet", "Dit document verloopt over %d minuten."
"Could not post comment: %s": ],
"Kon het commentaar niet plaatsen: %s", "This document will expire in %d hours.": [
"Please move your mouse for more entropy…": "Dit document verloopt over %d uur.",
"Aub uw muis bewegen voor meer entropie…", "Dit document verloopt over %d uren.",
"Sending paste…": "Dit document verloopt over %d uren.",
"Geplakte tekst verzenden…", "Dit document verloopt over %d uren.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Dit document verloopt over %d uren.",
"Uw geplakte tekst is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Druk [Ctrl]+[c] om te kopiëren)</span>", "Dit document verloopt over %d uren."
"Delete data": ],
"Gegevens wissen", "This document will expire in %d days.": [
"Could not create paste: %s": "Dit document verloopt over %d dag.",
"Kon de geplakte tekst niet aanmaken: %s", "Dit document verloopt over %d dagen.",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Dit document verloopt over %d dagen.",
"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?)", "Dit document verloopt over %d dagen.",
"Dit document verloopt over %d dagen.",
"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.",
"Dit document verloopt over %d maanden.",
"Dit document verloopt over %d maanden.",
"Dit document verloopt over %d maanden.",
"Dit document verloopt over %d maanden."
],
"Please enter the password for this paste:": "Voer het wachtwoord in voor deze paste:",
"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 paste 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.": "ALLEEN VOOR JOUW OGEN BESTEMD. 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…": "Paste verzenden…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Je paste 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 paste 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 paste niet decoderen: Decoderingssleutel ontbreekt in URL (Heb je 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", "Format": "Formaat",
"Plain Text": "Platte tekst", "Plain Text": "Platte tekst",
"Source Code": "Broncode", "Source Code": "Broncode",
"Markdown": "Markdown", "Markdown": "Markdown",
"Download attachment": "Bijlage downloaden", "Download attachment": "Bijlage downloaden",
"Cloned: '%s'": "Gekloond: '%s'", "Cloned: '%s'": "Gekloond: '%s'",
"The cloned file '%s' was attached to this paste.": "Het gekloonde bestand '%s' is bijgevoegd aan de geplakte tekst.", "The cloned file '%s' was attached to this paste.": "Het gekloonde bestand '%s' is bijgevoegd aan de paste.",
"Attach a file": "Een bestand toevoegen", "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", "alternatively drag & drop a file or paste an image from the clipboard": "Je 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", "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", "Remove attachment": "Bijlage verwijderen",
"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.": "Je browser biedt geen ondersteuning voor het uploaden van gecodeerde bestanden. Gebruik alstublieft een nieuwere browser.",
"Uw browser biedt geen ondersteuning voor het uploaden van gecodeerde bestanden. Gebruik alstublieft een nieuwere browser", "Invalid attachment.": "Ongeldige bijlage.",
"Invalid attachment.": "Ongeldige bijlage",
"Options": "Opties", "Options": "Opties",
"Shorten URL": "URL verkorten", "Shorten URL": "URL verkorten",
"Editor": "Editor", "Editor": "Editor",
"Preview": "Preview", "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.": "%s vereist dat PATH eindigt in een '%s'. a.u.b. PATH updaten in je index.php.",
"%s vereist dat het PATH eindigt in een '%s'. Aub het PATH updaten in uw index.php.", "Decrypt": "Decoderen",
"Decrypt": "Enter password": "Voer het wachtwoord in",
"Decoderen",
"Enter password":
"Voer het wachtwoord in",
"Loading…": "Laden…", "Loading…": "Laden…",
"Decrypting paste…": "Geplakte tekst decoderen…", "Decrypting paste…": "Paste decoderen…",
"Preparing new paste…": "Nieuwe geplakte tekst voorbereiden…", "Preparing new paste…": "Nieuwe paste voorbereiden…",
"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>.": "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 dan eens naar <a href=\"%s\"> veelgestelde vragen voor informatie over het oplossen van problemen</a>.",
"In het geval dat dit bericht nooit verdwijnt, kijkt u dan eens naar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\"> veelgestelde vragen voor informatie over het oplossen van problemen </a>.", "+++ no paste text +++": "+++ geen paste tekst +++",
"+++ no paste text +++": "+++ geen geplakte tekst +++", "Could not get paste data: %s": "Kon geen paste data verkrijgen: %s",
"Could not get paste data: %s": "QR code": "QR-code",
"Could not get paste data: %s" "This website is using an insecure HTTP connection! Please use it only for testing.": "Deze website gebruikt een onveilige HTTP-verbinding! Gelieve deze enkel te gebruiken om te testen.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Voor meer informatie <a href=\"%s\">zie dit FAQ-artikel</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Je browser kan een HTTPS-verbinding nodig hebben om de WebCrypto API te ondersteunen. Probeer <a href=\"%s\">het met HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Je browser ondersteunt WebAssembly niet, wat wordt gebruikt voor zlib compressie. Je kunt niet-gecomprimeerde documenten maken, maar geen gecomprimeerde documenten lezen.",
"waiting on user to provide a password": "wachtend op gebruiker om een wachtwoord te geven",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Kon de gegevens niet decoderen. Heb je een verkeerd wachtwoord ingevoerd? Probeer het opnieuw met de knop bovenaan.",
"Retry": "Opnieuw proberen",
"Showing raw text…": "Platte tekst tonen…",
"Notice:": "Let op:",
"This link will expire after %s.": "Deze link vervalt na %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Deze link kan slechts eenmaal worden geopend, gebruik niet de terug- of verversknop in je browser.",
"Link:": "Link:",
"Recipient may become aware of your timezone, convert time to UTC?": "Ontvanger kan zich bewust worden van je tijdzone, tijd omzetten naar UTC?",
"Use Current Timezone": "Gebruik huidige tijdzone",
"Convert To UTC": "Omzetten naar UTC",
"Close": "Sluiten",
"Encrypted note on %s": "Versleutelde notitie op %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Bezoek deze link om de notitie te bekijken. Als je de URL aan iemand geeft, kan die de notitie ook bekijken.",
"URL shortener may expose your decrypt key in URL.": "URL-verkorter kan je ontcijferingssleutel in URL blootleggen.",
"Save paste": "Notitie opslaan",
"Your IP is not authorized to create pastes.": "Je IP-adres is niet gemachtigd om pastes te maken.",
"Trying to shorten a URL that isn't pointing at our instance.": "Proberen om een URL te verkorten dat niet naar ons systeem wijst.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Foutmelding ophalen YOURLS. Waarschijnlijk een configuratiefout, zoals een verkeerde of missende \"apiurl\" of \"signature\".",
"Error parsing YOURLS response.": "Foutmelding bij parsen van YOURLS respons."
} }

View File

@ -1,159 +1,219 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s er en minimalistisk, åpen kildekode, elektronisk tilgjengelig pastebin hvor serveren ikke har kunnskap om dataene som limes inn. Dataene krypteres/dekrypteres %si nettleseren%s ved hjelp av 256 bits AES.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Mer informasjon om prosjektet på <a href=\"https://privatebin.info/\">prosjektsiden</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Fordi uvitenhet er lykke",
"Fordi uvitenhet er lykke",
"en": "no", "en": "no",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Innlegget eksisterer ikke, er utløpt eller har blitt slettet.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s krever konfigurasjonsdel [%s] å være til stede i konfigurasjonsfilen .",
"Beklager, %s krever php %s eller nyere for å kjøre.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Vennligst vent %d sekund mellom hvert innlegg.",
"%s krever konfigurasjonsdel [%s] å være til stede i konfigurasjonsfilen .",
"Please wait %d seconds between each post.":
"Vennligst vent %d sekunder mellom hvert innlegg.", "Vennligst vent %d sekunder mellom hvert innlegg.",
"Paste is limited to %s of encrypted data.": "Vennligst vent %d sekunder mellom hvert innlegg.",
"Innlegg er begrenset til %s av kryptert data.", "Vennligst vent %d sekunder mellom hvert innlegg.",
"Invalid data.": "Vennligst vent %d sekunder mellom hvert innlegg.",
"Ugyldige data.", "Vennligst vent %d sekunder mellom hvert innlegg."
"You are unlucky. Try again.": ],
"Du er uheldig. Prøv igjen.", "Paste is limited to %s of encrypted data.": "Innlegg er begrenset til %s av kryptert data.",
"Error saving comment. Sorry.": "Invalid data.": "Ugyldige data.",
"Beklager, det oppstod en feil ved lagring kommentar.", "You are unlucky. Try again.": "Du er uheldig. Prøv igjen.",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Beklager, det oppstod en feil ved lagring kommentar.",
"Beklager, det oppstod en feil ved lagring innlegg.", "Error saving paste. Sorry.": "Beklager, det oppstod en feil ved lagring innlegg.",
"Invalid paste ID.": "Invalid paste ID.": "Feil innlegg ID.",
"Feil innlegg ID.", "Paste is not of burn-after-reading type.": "Innlegg er ikke av typen slett etter lesing.",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Feil slettingsnøkkel. Innlegg ble ikke fjernet.",
"Innlegg er ikke av typen slett etter lesing.", "Paste was properly deleted.": "Innlegget er slettet.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "Javascript kreves for at %s skal fungere. Beklager.",
"Feil slettingsnøkkel. Innlegg ble ikke fjernet.", "%s requires a modern browser to work.": "%s krever en moderne nettleser for å fungere.",
"Paste was properly deleted.": "New": "Ny",
"Innlegget er slettet.", "Send": "Send",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Kopier",
"Javascript kreves for at %s skal fungere<br />Beklager.", "Raw text": "Ren tekst",
"%s requires a modern browser to work.": "Expires": "Utgår",
"%s krever en moderne nettleser for å fungere.", "Burn after reading": "Slett etter lesing",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Åpen diskusjon",
"Fortsatt bruker av Internet Explorer? Gjør deg selv en tjeneste og bytt til en moderne nettleser:", "Password (recommended)": "Passord (anbefalt)",
"New": "Discussion": "Diskusjon",
"Ny", "Toggle navigation": "Veksle navigasjon",
"Send": "%d seconds": [
"Send", "%d sekund",
"Clone": "%d sekunder",
"Kopier", "%d sekunder",
"Raw text": "%d sekunder",
"Ren tekst", "%d sekunder",
"Expires": "%d sekunder"
"Utgår", ],
"Burn after reading": "%d minutes": [
"Slett etter lesing", "%d minutt",
"Open discussion": "%d minutter",
"Åpen diskusjon", "%d minutter",
"Password (recommended)": "%d minutter",
"Passord (anbefalt)", "%d minutter",
"Discussion": "%d minutter"
"Diskusjon", ],
"Toggle navigation": "%d hours": [
"Veksle navigasjon", "%d time",
"%d seconds": ["%d sekund", "%d sekunder"], "%d timer",
"%d minutes": ["%d minutt", "%d minutter"], "%d timer",
"%d hours": ["%d time", "%d timer"], "%d timer",
"%d days": ["%d dag", "%d dager"], "%d timer",
"%d weeks": ["%d uke", "%d uker"], "%d timer"
"%d months": ["%d måned", "%d måneder"], ],
"%d years": ["%d år", "%d år"], "%d days": [
"Never": "%d dag",
"Aldri", "%d dager",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d dager",
"Merk: Dette er en test tjeneste: Data kan slettes når som helst. Kattunger vil dø hvis du misbruker denne tjenesten.", "%d dager",
"This document will expire in %d seconds.": "%d dager",
["Dette dokumentet vil utløpe om %d sekund.", "Dette dokumentet vil utløpe om %d sekunder."], "%d dager"
"This document will expire in %d minutes.": ],
["Dette dokumentet vil utløpe om %d minutt.", "Dette dokumentet vil utløpe om %d minutter."], "%d weeks": [
"This document will expire in %d hours.": "%d uke",
["Dette dokumentet vil utløpe om %d time.", "Dette dokumentet vil utløpe om %d timer."], "%d uker",
"This document will expire in %d days.": "%d uker",
["Dette dokumentet vil utløpe om %d dag.", "Dette dokumentet vil utløpe om %d dager."], "%d uker",
"This document will expire in %d months.": "%d uker",
["Dette dokumentet vil utløpe om %d måned.", "Dette dokumentet vil utløpe om %d måneder."], "%d uker"
"Please enter the password for this paste:": ],
"Vennligst skriv inn passordet for dette innlegget:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d måned",
"Kunne ikke dekryptere data (Feil nøkkel?)", "%d måneder",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d måneder",
"Kan ikke slette innlegget, det ble ikke lagret som 'slett etter les' type.", "%d måneder",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d måneder",
"KUN FOR DINE ØYNE. Ikke lukk dette vinduet, denne meldingen kan ikke bli vist igjen.", "%d måneder"
"Could not decrypt comment; Wrong key?": ],
"Kan ikke dekryptere kommentar; Feil nøkkel?", "%d years": [
"Reply": "%d år",
"Svar", "%d år",
"Anonymous": "%d år",
"Anonym", "%d år",
"Avatar generated from IP address": "%d år",
"Anonym avatar generert med data fra IP adressen)", "%d år"
"Add comment": ],
"Legg til kommentar", "Never": "Aldri",
"Optional nickname…": "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.",
"Valgfritt kallenavn…", "This document will expire in %d seconds.": [
"Post comment": "Dette dokumentet vil utløpe om %d sekund.",
"Send kommentar", "Dette dokumentet vil utløpe om %d sekunder.",
"Sending comment…": "Dette dokumentet vil utløpe om %d sekunder.",
"Sender Kommentar…", "Dette dokumentet vil utløpe om %d sekunder.",
"Comment posted.": "Dette dokumentet vil utløpe om %d sekunder.",
"Kommentar sendt.", "Dette dokumentet vil utløpe om %d sekunder."
"Could not refresh display: %s": ],
"Kunne ikke oppdatere bildet: %s", "This document will expire in %d minutes.": [
"unknown status": "Dette dokumentet vil utløpe om %d minutt.",
"ukjent status", "Dette dokumentet vil utløpe om %d minutter.",
"server error or not responding": "Dette dokumentet vil utløpe om %d minutter.",
"tjener feilet eller svarer ikke", "Dette dokumentet vil utløpe om %d minutter.",
"Could not post comment: %s": "Dette dokumentet vil utløpe om %d minutter.",
"Kunne ikke sende kommentar: %s", "Dette dokumentet vil utløpe om %d minutter."
"Please move your mouse for more entropy…": ],
"Flytt musen for mer entropi…", "This document will expire in %d hours.": [
"Sending paste…": "Dette dokumentet vil utløpe om %d time.",
"Sender innlegg…", "Dette dokumentet vil utløpe om %d timer.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Dette dokumentet vil utløpe om %d timer.",
"Ditt innlegg er <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Trykk [Ctrl]+[c] for å kopiere)</span>", "Dette dokumentet vil utløpe om %d timer.",
"Delete data": "Dette dokumentet vil utløpe om %d timer.",
"Slett data", "Dette dokumentet vil utløpe om %d timer."
"Could not create paste: %s": ],
"Kunne ikke opprette innlegg: %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Dette dokumentet vil utløpe om %d dag.",
"Kan ikke dekryptere innlegg: Dekrypteringsnøkkelen mangler i adressen (Har du bruket en redirector eller en URL forkorter som fjerner en del av addressen?)", "Dette dokumentet vil utløpe om %d dager.",
"Dette dokumentet vil utløpe om %d dager.",
"Dette dokumentet vil utløpe om %d dager.",
"Dette dokumentet vil utløpe om %d dager.",
"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.",
"Dette dokumentet vil utløpe om %d måneder.",
"Dette dokumentet vil utløpe om %d måneder.",
"Dette dokumentet vil utløpe om %d måneder.",
"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?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Format", "Format": "Format",
"Plain Text": "Ren Tekst", "Plain Text": "Ren Tekst",
"Source Code": "Kildekode", "Source Code": "Kildekode",
"Markdown": "Oppmerket", "Markdown": "Markdown",
"Download attachment": "Last ned vedlegg", "Download attachment": "Last ned vedlegg",
"Cloned: '%s'": "Kopiert: '%s'", "Cloned: '%s'": "Kopiert: '%s'",
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.", "The cloned file '%s' was attached to this paste.": "Den klonede filen '%s' var koblet til denne innlimingen.",
"Attach a file": "Legg til fil", "Attach a file": "Legg til fil",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "alternatively drag & drop a file or paste an image from the clipboard": "alternativt dra og slipp en fil, eller lim inn et bilde fra utklippstavlen",
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.", "File too large, to display a preview. Please download the attachment.": "Filen er for stor, for å vise en forhåndsvisning. Last ned vedlegget.",
"Remove attachment": "Slett vedlegg", "Remove attachment": "Slett vedlegg",
"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.": "Nettleseren din støtter ikke å laste opp krypterte filer. Vennligst bruk en nyere nettleser.",
"Nettleseren din støtter ikke å laste opp krypterte filer. Vennligst bruk en nyere nettleser.",
"Invalid attachment.": "Ugyldig vedlegg.", "Invalid attachment.": "Ugyldig vedlegg.",
"Options": "Alternativer", "Options": "Alternativer",
"Shorten URL": "Adresse forkorter", "Shorten URL": "Adresse forkorter",
"Editor": "Rediger", "Editor": "Rediger",
"Preview": "Forhåndsvis", "Preview": "Forhåndsvis",
"%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.": "%s krever at PATH ender på \"%s\". Vennligst oppdater PATH i index.php.",
"%s krever at PATH ender på \"%s\". Vennligst oppdater PATH i index.php.", "Decrypt": "Dekrypter",
"Decrypt": "Enter password": "Skriv inn passord",
"Dekrypter",
"Enter password":
"Skriv inn passord",
"Loading…": "Laster…", "Loading…": "Laster…",
"Decrypting paste…": "Dekrypterer innlegg…", "Decrypting paste…": "Dekrypterer innlegg…",
"Preparing new paste…": "Klargjør nytt innlegg…", "Preparing new paste…": "Klargjør nytt innlegg…",
"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>.": "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.",
"Hvis denne meldingen ikke forsvinner kan du ta en titt på siden med <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">ofte stilte spørsmål</a> for informasjon om feilsøking.",
"+++ no paste text +++": "+++ ingen innleggstekst +++", "+++ no paste text +++": "+++ ingen innleggstekst +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Kunne ikke hente utklippsdata: %s",
"Could not get paste data: %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.": "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 %s": "Kryptert notat på %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL forkorter kan avsløre dekrypteringsnøkkelen.",
"Save paste": "Lagre utklipp",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

View File

@ -1,129 +1,161 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s es un 'pastebin' (o gestionari dextrachs 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 %sdins lo navigator%s per un chiframent AES 256 bits.",
"%s es un 'pastebin' (o gestionari dextrachs 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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Mai informacions sus <a href=\"https://privatebin.info/\">la pagina del projècte</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Perque lo bonaür es lignorància",
"Perque lo bonaür es lignorància",
"en": "oc", "en": "oc",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Lo tèxte existís pas, a expirat, o es estat suprimit.",
"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 php %s or above to work. Sorry.": "%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.",
"O planhèm, %s necessita php %s o superior per foncionar.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Mercés d'esperar %d segonda entre cada publicacion.",
"%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.", "Mercés d'esperar %d segondas entre cada publicacion.",
"Paste is limited to %s of encrypted data.": "Mercés d'esperar %d segondas entre cada publicacion.",
"Lo tèxte es limitat a %s de donadas chifradas.", "Mercés d'esperar %d segondas entre cada publicacion.",
"Invalid data.": "Mercés d'esperar %d segondas entre cada publicacion.",
"Donadas invalidas.", "Mercés d'esperar %d segondas entre cada publicacion."
"You are unlucky. Try again.": ],
"Pas cap de fortuna. Tornatz ensajar.", "Paste is limited to %s of encrypted data.": "Lo tèxte es limitat a %s de donadas chifradas.",
"Error saving comment. Sorry.": "Invalid data.": "Donadas invalidas.",
"Error al moment de salvagardar lo comentari. O planhèm.", "You are unlucky. Try again.": "Pas cap de fortuna. Tornatz ensajar.",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Error al moment de salvagardar lo comentari. O planhèm.",
"Error al moment de salvagardar lo tèxte. O planhèm.", "Error saving paste. Sorry.": "Error al moment de salvagardar lo tèxte. O planhèm.",
"Invalid paste ID.": "Invalid paste ID.": "ID del tèxte invalid.",
"ID del tèxte invalid.", "Paste is not of burn-after-reading type.": "Lo tèxte es pas del tipe «Escafar aprèp lectura».",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Geton de supression incorrècte. Lo tèxte es pas estat suprimit.",
"Lo tèxte es pas del tip \"Escafar aprèp lectura\".", "Paste was properly deleted.": "Lo tèxte es estat corrèctament suprimit.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript es requesit per far foncionar %s. O planhèm per linconvenient.",
"Geton de supression incorrècte. Lo tèxte es pas estat suprimit.", "%s requires a modern browser to work.": "%s requerís un navigator modèrn per foncionar.",
"Paste was properly deleted.": "New": "Nòu",
"Lo tèxte es estat correctament suprimit.", "Send": "Mandar",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Clonar",
"JavaScript es requesit per far foncionar %s. <br />O planhèm per linconvenient.", "Raw text": "Tèxte brut",
"%s requires a modern browser to work.": "Expires": "Expira",
"%s necessita un navigator modèrn per foncionar.", "Burn after reading": "Escafar aprèp lectura",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Autorizar la discussion",
"Encora sus Internet Explorer?Fasètz-vos una favor, passatz a un navigator modèrn:", "Password (recommended)": "Senhal (recomandat)",
"New": "Discussion": "Discussion",
"Nòu", "Toggle navigation": "Virar la navigacion",
"Send": "%d seconds": [
"Mandar", "%d segonda",
"Clone": "%d segondas",
"Clonar", "%d segondas",
"Raw text": "%d segondas",
"Tèxte brut", "%d segondas",
"Expires": "%d segondas"
"Expira", ],
"Burn after reading": "%d minutes": [
"Escafar aprèp lectura", "%d minuta",
"Open discussion": "%d minutas",
"Autorizar la discussion", "%d minutas",
"Password (recommended)": "%d minutas",
"Senhal (recomandat)", "%d minutas",
"Discussion": "%d minutas"
"Discussion", ],
"Toggle navigation": "%d hours": [
"Virar la navigacion", "%d ora",
"%d seconds": ["%d segonda", "%d segondas"], "%d oras",
"%d minutes": ["%d minuta", "%d minutas"], "%d oras",
"%d hours": ["%d ora", "%d oras"], "%d oras",
"%d days": ["%d jorn", "%d jorns"], "%d oras",
"%d weeks": ["%d setmana", "%d setmanas"], "%d oras"
"%d months": ["%d mes", "%d meses"], ],
"%d years": ["%d an", "%d ans"], "%d days": [
"Never": "%d jorn",
"Jamai", "%d jorns",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d jorns",
"Nota:Aquò es un servici despròva:las donadas pòdon èsser suprimidas a cada moment. De catons moriràn sabusatz daqueste servici.", "%d jorns",
"This document will expire in %d seconds.": "%d jorns",
["Ce document expirera dans %d seconde.", "Aqueste document expirarà dins %d segondas."], "%d jorns"
"This document will expire in %d minutes.": ],
["Ce document expirera dans %d minute.", "Aqueste document expirarà dins %d minutas."], "%d weeks": [
"This document will expire in %d hours.": "%d setmana",
["Ce document expirera dans %d heure.", "Aqueste document expirarà dins %d oras."], "%d setmanas",
"This document will expire in %d days.": "%d setmanas",
["Ce document expirera dans %d jour.", "Aqueste document expirarà dins %d jorns."], "%d setmanas",
"This document will expire in %d months.": "%d setmanas",
["Ce document expirera dans %d mois.", "Aqueste document expirarà dins %d meses."], "%d setmanas"
"Please enter the password for this paste:": ],
"Picatz lo senhal per aqueste tèxte:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d mes",
"Impossible de deschifrar las donadas (marrida clau?)", "%d meses",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d meses",
"Impossible de suprimir lo tèxte, perque es pas estat gardat en mòde \"Escafar aprèp lectura\".", "%d meses",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d meses",
"PER VÒSTRES UÈLHS SOLAMENT. Tampetz pas aquesta fenèstra, aqueste tèxte poirà pas mai èsser afichat.", "%d meses"
"Could not decrypt comment; Wrong key?": ],
"Impossible de deschifrar lo comentari ; marrida clau?", "%d years": [
"Reply": "%d an",
"Respondre", "%d ans",
"Anonymous": "%d ans",
"Anonime", "%d ans",
"Avatar generated from IP address": "%d ans",
"Avatar anonime (Vizhash de ladreça IP)", "%d ans"
"Add comment": ],
"Apondre un comentari", "Never": "Jamai",
"Optional nickname…": "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Nota:Aquò es un servici despròva:las donadas pòdon èsser suprimidas a cada moment. De catons moriràn sabusatz daqueste servici.",
"Escais opcional…", "This document will expire in %d seconds.": [
"Post comment": "Aqueste document expirarà daquí %d segonda.",
"Mandar lo comentari", "Aqueste document expirarà daquí %d segondas.",
"Sending comment…": "Aqueste document expirarà daquí %d segondas.",
"Mandadís del comentari…", "Aqueste document expirarà daquí %d segondas.",
"Comment posted.": "Aqueste document expirarà daquí %d segondas.",
"Comentari mandat.", "Aqueste document expirarà daquí %d segondas."
"Could not refresh display: %s": ],
"Impossible dactualizar lafichatge:%s", "This document will expire in %d minutes.": [
"unknown status": "Aqueste document expirarà daquí %d minuta.",
"Estatut desconegut", "Aqueste document expirarà daquí %d minutas.",
"server error or not responding": "Aqueste document expirarà daquí %d minutas.",
"Lo servidor respond pas o a rencontrat una error", "Aqueste document expirarà daquí %d minutas.",
"Could not post comment: %s": "Aqueste document expirarà daquí %d minutas.",
"Impossible de mandar lo comentari:%s", "Aqueste document expirarà daquí %d minutas."
"Please move your mouse for more entropy…": ],
"Mercés de bolegar vòstra mirga per mai entropia…", "This document will expire in %d hours.": [
"Sending paste…": "Aqueste document expirarà daquí %d ora.",
"Mandadís del tèxte…", "Aqueste document expirarà daquí %d oras.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Aqueste document expirarà daquí %d oras.",
"Vòstre tèxte es disponible a ladreça <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Picatz sus [Ctrl]+[c] per copiar)</span>", "Aqueste document expirarà daquí %d oras.",
"Delete data": "Aqueste document expirarà daquí %d oras.",
"Supprimir las donadas del tèxte", "Aqueste document expirarà daquí %d oras."
"Could not create paste: %s": ],
"Impossible de crear lo tèxte:%s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Aqueste document expirarà daquí %d jorn.",
"Impossible de deschifrar lo tèxte:clau de deschiframent absenta de lURL (Avètz utilizat un redirector o un site de reduccion dURL que suprimís una partida de lURL?)", "Aqueste document expirarà daquí %d jorns.",
"Aqueste document expirarà daquí %d jorns.",
"Aqueste document expirarà daquí %d jorns.",
"Aqueste document expirarà daquí %d jorns.",
"Aqueste document expirarà daquí %d jorns."
],
"This document will expire in %d months.": [
"Aqueste document expirarà daquí %d mes.",
"Aqueste document expirarà daquí %d meses.",
"Aqueste document expirarà daquí %d meses.",
"Aqueste document expirarà daquí %d meses.",
"Aqueste document expirarà daquí %d meses.",
"Aqueste document expirarà daquí %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 ladreç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 dactualizar lafichatge:%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 ladreç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 lURL (Avètz utilizat un redirector o un site de reduccion dURL que suprimís una partida de lURL?)",
"B": "o", "B": "o",
"KiB": "Kio", "KiB": "Kio",
"MiB": "Mio", "MiB": "Mio",
@ -144,25 +176,44 @@
"alternatively drag & drop a file or paste an image from the clipboard": "autrament lisatz lo fichièr o pegatz limatge del quichapapièrs", "alternatively drag & drop a file or paste an image from the clipboard": "autrament lisatz lo fichièr o pegatz limatge 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.", "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", "Remove attachment": "Levar la pèça junta",
"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.": "Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés demplegar un navigator mai recent.",
"Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés demplegar un navigator mai recent.",
"Invalid attachment.": "Pèça junta invalida.", "Invalid attachment.": "Pèça junta invalida.",
"Options": "Opcions", "Options": "Opcions",
"Shorten URL": "Acorchir lURL", "Shorten URL": "Acorchir lURL",
"Editor": "Editar", "Editor": "Editar",
"Preview": "Previsualizar", "Preview": "Previsualizar",
"%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.": "%s demanda que lo PATH termine en « %s». Mercés de metre a jorn lo PATH dins vòstre 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",
"Decrypt": "Enter password": "Picatz lo senhal",
"Deschifrar",
"Enter password":
"Picatz lo senhal",
"Loading…": "Cargament…", "Loading…": "Cargament…",
"Decrypting paste…": "Deschirament del tèxte…", "Decrypting paste…": "Deschirament del tèxte…",
"Preparing new paste…": "Preparacion…", "Preparing new paste…": "Preparacion…",
"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>.": "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 safichar mercés de gaitar <a href=\"%s\">aquesta FAQ per las solucions</a> (en anglés).",
"Se per cas aqueste messatge quita pas de safichar mercés de gaitar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">aquesta FAQ per las solucions</a> (en anglés).",
"+++ no paste text +++": "+++ cap de tèxte pegat +++", "+++ no paste text +++": "+++ cap de tèxte pegat +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Recuperacion impossibla de las donadas copiadas: %s",
"Could not get paste data: %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 lutilizar pas que per densages.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Per mai dinformacions <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 duna connexion HTTPS per èsser compatible amb lAPI 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 lutilizaire 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 quaccedir a aqueste ligam quun 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 savisar de vòstre fus orari, convertir en UTC?",
"Use Current Timezone": "Utilizar lactual",
"Convert To UTC": "Convertir en UTC",
"Close": "Tampar",
"Encrypted note on %s": "Nòtas chifradas sus %s",
"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 qualquun mai li permet tanben daccedir a la nòta.",
"URL shortener may expose your decrypt key in URL.": "Los espleches dacorchiment dURL pòdon expausar la clau de deschiframent dins lURL.",
"Save paste": "Enregistrar lo tèxt",
"Your IP is not authorized to create pastes.": "Vòstra adreça IP a pas lautorizacion de crear de tèxtes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Ensag dabracar una URL que mena pas a nòstra instància.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error en cridant YOURLS. Es probablament un problèma de configuracion, quicòm coma « apirul » o « signature » marrit o absent.",
"Error parsing YOURLS response.": "Error d'analisi de la responsa YOURLS."
} }

View File

@ -1,159 +1,219 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%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 %sw przeglądarce%s z użyciem 256-bitowego klucza AES.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Więcej informacji na <a href=\"https://privatebin.info/\">stronie projektu</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Ponieważ ignorancja jest cnotą",
"Ponieważ ignorancja jest cnotą",
"en": "pl", "en": "pl",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Wklejka nie istnieje, wygasła albo została usunięta.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s wymaga obecności sekcji [%s] w pliku konfiguracyjnym.",
"%s wymaga PHP w wersji %s lub nowszej, sorry.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Poczekaj %d sekundę pomiędzy każdą wklejką.",
"%s wymaga obecności sekcji [%s] w pliku konfiguracyjnym.",
"Please wait %d seconds between each post.":
"Poczekaj %d sekund pomiędzy każdą wklejką.", "Poczekaj %d sekund pomiędzy każdą wklejką.",
"Paste is limited to %s of encrypted data.": "Poczekaj %d sekund pomiędzy każdą wklejką.",
"Wklejka jest limitowana do %s zaszyfrowanych danych.", "Poczekaj %d sekund pomiędzy każdą wklejką.",
"Invalid data.": "Poczekaj %d sekund pomiędzy każdą wklejką.",
"Nieprawidłowe dane.", "Poczekaj %d sekund pomiędzy każdą wklejką."
"You are unlucky. Try again.": ],
"Miałeś pecha. Spróbuj ponownie.", "Paste is limited to %s of encrypted data.": "Wklejka jest limitowana do %s zaszyfrowanych danych.",
"Error saving comment. Sorry.": "Invalid data.": "Nieprawidłowe dane.",
"Błąd przy zapisywaniu komentarza, sorry.", "You are unlucky. Try again.": "Miałeś pecha. Spróbuj ponownie.",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Błąd przy zapisywaniu komentarza, sorry.",
"Błąd przy zapisywaniu wklejki, sorry.", "Error saving paste. Sorry.": "Błąd przy zapisywaniu wklejki, sorry.",
"Invalid paste ID.": "Invalid paste ID.": "Nieprawidłowe ID wklejki.",
"Nieprawidłowe ID wklejki.", "Paste is not of burn-after-reading type.": "Ta wklejka nie ulega autodestrukcji po przeczytaniu.",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Nieprawidłowy token usuwania. Wklejka nie została usunięta.",
"Ta wklejka nie ulega autodestrukcji po przeczytaniu.", "Paste was properly deleted.": "Wklejka usunięta poprawnie.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "Do działania %sa jest wymagany JavaScript. Przepraszamy za tę niedogodność.",
"Nieprawidłowy token usuwania. Wklejka nie została usunięta.", "%s requires a modern browser to work.": "%s wymaga do działania nowoczesnej przeglądarki.",
"Paste was properly deleted.": "New": "Nowa",
"Wklejka usunięta poprawnie.", "Send": "Wyślij",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Sklonuj",
"Do działania %sa jest wymagany JavaScript. Przepraszamy za tę niedogodność.", "Raw text": "Czysty tekst",
"%s requires a modern browser to work.": "Expires": "Wygasa za",
"%s wymaga do działania nowoczesnej przeglądarki.", "Burn after reading": "Zniszcz po przeczytaniu",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Otwarta dyskusja",
"Cały czas używasz Internet Explorera? Zrób sobie przysługę, przesiądź się na nowoczesną przeglądarkę:", "Password (recommended)": "Hasło (zalecane)",
"New": "Discussion": "Dyskusja",
"Nowa", "Toggle navigation": "Przełącz nawigację",
"Send": "%d seconds": [
"Wyślij", "%d second",
"Clone": "%d second",
"Sklonuj", "%d second",
"Raw text": "%d second",
"Czysty tekst", "%d second",
"Expires": "%d second"
"Wygasa za", ],
"Burn after reading": "%d minutes": [
"Zniszcz po przeczytaniu", "%d minut",
"Open discussion": "%d minut",
"Otwarta dyskusja", "%d minut",
"Password (recommended)": "%d minut",
"Hasło (zalecane)", "%d minut",
"Discussion": "%d minut"
"Dyskusja", ],
"Toggle navigation": "%d hours": [
"Przełącz nawigację", "%d godzina",
"%d seconds": ["%d second", "%d second", "%d second"], "%d godzina",
"%d minutes": ["%d minut", "%d minut", "%d minut"], "%d godzinę",
"%d hours": ["%d godzina", "%d godzina", "%d godzinę"], "%d godzinę",
"%d days": ["%d dzień", "%d dzień", "%d dzień"], "%d godzinę",
"%d weeks": ["%d tydzień", "%d tydzień", "%d tydzień"], "%d godzinę"
"%d months": ["%d miesiąc", "%d miesiąc", "%d miesiąc"], ],
"%d years": ["%d rok", "%d rok", "%d rok"], "%d days": [
"Never": "%d dzień",
"nigdy", "%d dzień",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d dzień",
"Notka: To jest usługa testowa. Dane mogą zostać usunięte w dowolnym momencie. Kociątka umrą, jeśli nadużyjesz tej usługi.", "%d dzień",
"This document will expire in %d seconds.": "%d dzień",
["Ten dokument wygaśnie za %d sekundę.", "Ten dokument wygaśnie za %d sekund."], "%d dzień"
"This document will expire in %d minutes.": ],
["Ten dokument wygaśnie za %d minutę.", "Ten dokument wygaśnie za %d minut."], "%d weeks": [
"This document will expire in %d hours.": "%d tydzień",
["Ten dokument wygaśnie za godzinę.", "Ten dokument wygaśnie za %d godzin."], "%d tydzień",
"This document will expire in %d days.": "%d tydzień",
["Ten dokument wygaśnie za %d dzień.", "Ten dokument wygaśnie za %d dni."], "%d tydzień",
"This document will expire in %d months.": "%d tydzień",
["Ten dokument wygaśnie za miesiąc.", "Ten dokument wygaśnie za %d miesięcy."], "%d tydzień"
"Please enter the password for this paste:": ],
"Wpisz hasło dla tej wklejki:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d miesiąc",
"Nie udało się odszyfrować danych (zły klucz?)", "%d miesiąc",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d miesiąc",
"Nie udało się usunąć wklejki, nie została zapisana w trybie zniszczenia po przeczytaniu.", "%d miesiąc",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d miesiąc",
"TYLKO DO TWOJEGO WGLĄDU. Nie zamykaj tego okna, ta wiadomość nie będzie mogła być wyświetlona ponownie.", "%d miesiąc"
"Could not decrypt comment; Wrong key?": ],
"Nie udało się odszyfrować komentarza; zły klucz?", "%d years": [
"Reply": "%d rok",
"Odpowiedz", "%d rok",
"Anonymous": "%d rok",
"Anonim", "%d rok",
"Avatar generated from IP address": "%d rok",
"Anonimowy avatar (Vizhash z adresu IP)", "%d rok"
"Add comment": ],
"Dodaj komentarz", "Never": "nigdy",
"Optional nickname…": "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.",
"Opcjonalny nick…", "This document will expire in %d seconds.": [
"Post comment": "Ten dokument wygaśnie za %d sekundę.",
"Wyślij komentarz", "Ten dokument wygaśnie za %d sekund.",
"Sending comment…": "Ten dokument wygaśnie za %d sekund.",
"Wysyłanie komentarza…", "Ten dokument wygaśnie za %d sekund.",
"Comment posted.": "Ten dokument wygaśnie za %d sekund.",
"Wysłano komentarz.", "Ten dokument wygaśnie za %d sekund."
"Could not refresh display: %s": ],
"Nie można odświeżyć widoku: %s", "This document will expire in %d minutes.": [
"unknown status": "Ten dokument wygaśnie za %d minutę.",
"nieznany status", "Ten dokument wygaśnie za %d minut.",
"server error or not responding": "Ten dokument wygaśnie za %d minut.",
"bląd serwera lub brak odpowiedzi", "Ten dokument wygaśnie za %d minut.",
"Could not post comment: %s": "Ten dokument wygaśnie za %d minut.",
"Nie udało się wysłać komentarza: %s", "Ten dokument wygaśnie za %d minut."
"Please move your mouse for more entropy…": ],
"Proszę poruszać myszą aby uzyskać większą entropię…", "This document will expire in %d hours.": [
"Sending paste…": "Ten dokument wygaśnie za godzinę.",
"Wysyłanie wklejki…", "Ten dokument wygaśnie za %d godzin.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ten dokument wygaśnie za %d godzin.",
"Twoja wklejka to <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(wciśnij [Ctrl]+[c] aby skopiować)</span>", "Ten dokument wygaśnie za %d godzin.",
"Delete data": "Ten dokument wygaśnie za %d godzin.",
"Skasuj dane", "Ten dokument wygaśnie za %d godzin."
"Could not create paste: %s": ],
"Nie udało się utworzyć wklejki: %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Ten dokument wygaśnie za %d dzień.",
"Nie udało się odszyfrować wklejki - brak klucza deszyfrującego w adresie (użyłeś skracacza linków, który ucina część adresu?)", "Ten dokument wygaśnie za %d dni.",
"Ten dokument wygaśnie za %d dni.",
"Ten dokument wygaśnie za %d dni.",
"Ten dokument wygaśnie za %d dni.",
"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.",
"Ten dokument wygaśnie za %d miesięcy.",
"Ten dokument wygaśnie za %d miesięcy.",
"Ten dokument wygaśnie za %d miesięcy.",
"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?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Format", "Format": "Format",
"Plain Text": "Czysty tekst", "Plain Text": "Czysty tekst",
"Source Code": "Kod źródłowy", "Source Code": "Kod źródłowy",
"Markdown": "Markdown", "Markdown": "Markdown",
"Download attachment": "Pobierz załącznik", "Download attachment": "Pobierz załącznik",
"Cloned: '%s'": "Sklonowano: '%s'", "Cloned: '%s'": "Sklonowano: '%s'",
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.", "The cloned file '%s' was attached to this paste.": "Sklonowany plik '%s' był dołączony do tej wklejki.",
"Attach a file": "Załącz plik", "Attach a file": "Załącz plik",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "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.": "File too large, to display a preview. Please download the attachment.", "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", "Remove attachment": "Usuń załącznik",
"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.": "Twoja przeglądarka nie wspiera wysyłania zaszyfrowanych plików. Użyj nowszej przeglądarki.",
"Twoja przeglądarka nie wspiera wysyłania zaszyfrowanych plików. Użyj nowszej przeglądarki.",
"Invalid attachment.": "Nieprawidłowy załącznik.", "Invalid attachment.": "Nieprawidłowy załącznik.",
"Options": "Opcje", "Options": "Opcje",
"Shorten URL": "Skróć adres URL", "Shorten URL": "Skróć adres URL",
"Editor": "Edytować", "Editor": "Edytować",
"Preview": "Zapowiedź", "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.": "%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",
"Decrypt": "Enter password": "Wpisz hasło",
"Decrypt", "Loading…": "Wczytywanie…",
"Enter password": "Decrypting paste…": "Odszyfrowywanie wklejki…",
"Wpisz hasło", "Preparing new paste…": "Przygotowywanie nowej wklejki…",
"Loading…": "Loading…", "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).",
"Decrypting paste…": "Decrypting paste…", "+++ no paste text +++": "+++ brak wklejonego tekstu +++",
"Preparing new paste…": "Preparing new paste…", "Could not get paste data: %s": "Nie można było pobrać danych wklejki: %s",
"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>.": "QR code": "Kod QR",
"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> (in English).", "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.",
"+++ no paste text +++": "+++ no paste text +++", "For more information <a href=\"%s\">see this FAQ entry</a>.": "For more information <a href=\"%s\">see this FAQ entry</a>.",
"Could not get paste data: %s": "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>.",
"Could not get paste data: %s" "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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

View File

@ -1,129 +1,170 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%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 %sno navegador%s usando 256 bits AES.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Mais informações na <a href=\"https://privatebin.info/\">página do projeto</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Porque a ignorância é uma benção",
"Porque a ignorância é uma benção",
"en": "pt", "en": "pt",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "A cópia não existe, expirou ou já foi excluída.",
"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 php %s or above to work. Sorry.": "%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.",
"%s requer php %s ou superior para funcionar. Desculpa.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Por favor espere %d segundo entre cada publicação.",
"%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.", "Por favor espere %d segundos entre cada publicação.",
"Paste is limited to %s of encrypted data.": "Por favor espere %d segundos entre cada publicação.",
"A cópia está limitada a %s de dados cifrados.", "Por favor espere %d segundos entre cada publicação.",
"Invalid data.": "Por favor espere %d segundos entre cada publicação.",
"Dados inválidos.", "Por favor espere %d segundos entre cada publicação."
"You are unlucky. Try again.": ],
"Você é azarado. Tente novamente", "Paste is limited to %s of encrypted data.": "A cópia está limitada a %s de dados cifrados.",
"Error saving comment. Sorry.": "Invalid data.": "Dados inválidos.",
"Erro ao salvar comentário. Desculpa.", "You are unlucky. Try again.": "Você é azarado. Tente novamente",
"Error saving paste. Sorry.": "Error saving comment. Sorry.": "Erro ao salvar comentário. Desculpa.",
"Erro ao salvar cópia. Desculpa.", "Error saving paste. Sorry.": "Erro ao salvar cópia. Desculpa.",
"Invalid paste ID.": "Invalid paste ID.": "ID de cópia inválido.",
"ID de cópia inválido.", "Paste is not of burn-after-reading type.": "Cópia não é do tipo \"queime após ler\".",
"Paste is not of burn-after-reading type.": "Wrong deletion token. Paste was not deleted.": "Token de remoção inválido. A cópia não foi excluída.",
"Cópia não é do tipo \"queime após ler\".", "Paste was properly deleted.": "A cópia foi devidamente excluída.",
"Wrong deletion token. Paste was not deleted.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript é necessário para que %s funcione. Pedimos desculpas pela inconveniência.",
"Token de remoção inválido. A cópia não foi excluída.", "%s requires a modern browser to work.": "%s requer um navegador moderno para funcionar.",
"Paste was properly deleted.": "New": "Novo",
"A cópia foi devidamente excluída.", "Send": "Enviar",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Clone": "Clonar",
"JavaScript é necessário para que %s funcione.<br />Pedimos desculpas pela inconveniência.", "Raw text": "Texto sem formato",
"%s requires a modern browser to work.": "Expires": "Expirar em",
"%s requer um navegador moderno para funcionar.", "Burn after reading": "Queime após ler",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Open discussion": "Discussão aberta",
"Ainda usando Internet Explorer? Faça-se um favor, mude para um navegador moderno:", "Password (recommended)": "Senha (recomendada)",
"New": "Discussion": "Discussão",
"Novo", "Toggle navigation": "Mudar navegação",
"Send": "%d seconds": [
"Enviar", "%d segundo",
"Clone": "%d segundos",
"Clonar", "%d segundos",
"Raw text": "%d segundos",
"Texto sem formato", "%d segundos",
"Expires": "%d segundos"
"Expirar em", ],
"Burn after reading": "%d minutes": [
"Queime após ler", "%d minuto",
"Open discussion": "%d minutos",
"Discussão aberta", "%d minutos",
"Password (recommended)": "%d minutos",
"Senha (recomendada)", "%d minutos",
"Discussion": "%d minutos"
"Discussão", ],
"Toggle navigation": "%d hours": [
"Mudar navegação", "%d hora",
"%d seconds": ["%d segundo", "%d segundos"], "%d horas",
"%d minutes": ["%d minuto", "%d minutos"], "%d horas",
"%d hours": ["%d hora", "%d horas"], "%d horas",
"%d days": ["%d dia", "%d dias"], "%d horas",
"%d weeks": ["%d semana", "%d semanas"], "%d horas"
"%d months": ["%d mês", "%d meses"], ],
"%d years": ["%d ano", "%d anos"], "%d days": [
"Never": "%d dia",
"Nunca", "%d dias",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d dias",
"Nota: Este é um serviço de teste. Dados podem ser perdidos a qualquer momento. Gatinhos morrerão se você abusar desse serviço.", "%d dias",
"This document will expire in %d seconds.": "%d dias",
["Este documento irá expirar em um segundo.", "Este documento irá expirar em %d segundos."], "%d dias"
"This document will expire in %d minutes.": ],
["Este documento irá expirar em um minuto.", "Este documento irá expirar em %d minutos."], "%d weeks": [
"This document will expire in %d hours.": "%d semana",
["Este documento irá expirar em uma hora.", "Este documento irá expirar em %d horas."], "%d semanas",
"This document will expire in %d days.": "%d semanas",
["Este documento irá expirar em um dia.", "Este documento irá expirar em %d dias."], "%d semanas",
"This document will expire in %d months.": "%d semanas",
["Este documento irá expirar em um mês.", "Este documento irá expirar em %d meses."], "%d semanas"
"Please enter the password for this paste:": ],
"Por favor, digite a senha para essa cópia:", "%d months": [
"Could not decrypt data (Wrong key?)": "%d mês",
"Não foi possível decifrar os dados (Chave errada?)", "%d meses",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d meses",
"Não foi possível excluir a cópia, ela não foi salva no modo de \"queime após ler\".", "%d meses",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d meses",
"APENAS PARA SEUS OLHOS. Não feche essa janela, essa mensagem não pode ser exibida novamente.", "%d meses"
"Could not decrypt comment; Wrong key?": ],
"Não foi possível decifrar o comentário; Chave errada?", "%d years": [
"Reply": "%d ano",
"Responder", "%d anos",
"Anonymous": "%d anos",
"Anônimo", "%d anos",
"Avatar generated from IP address": "%d anos",
"Avatar gerado à partir do endereço IP", "%d anos"
"Add comment": ],
"Adicionar comentário", "Never": "Nunca",
"Optional nickname…": "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.",
"Apelido opcional…", "This document will expire in %d seconds.": [
"Post comment": "Este documento irá expirar em um segundo.",
"Publicar comentário", "Este documento irá expirar em %d segundos.",
"Sending comment…": "Este documento irá expirar em %d segundos.",
"Enviando comentário…", "Este documento irá expirar em %d segundos.",
"Comment posted.": "Este documento irá expirar em %d segundos.",
"Comentário publicado.", "Este documento irá expirar em %d segundos."
"Could not refresh display: %s": ],
"Não foi possível atualizar a tela: %s", "This document will expire in %d minutes.": [
"unknown status": "Este documento irá expirar em um minuto.",
"Estado desconhecido", "Este documento irá expirar em %d minutos.",
"server error or not responding": "Este documento irá expirar em %d minutos.",
"Servidor em erro ou não responsivo", "Este documento irá expirar em %d minutos.",
"Could not post comment: %s": "Este documento irá expirar em %d minutos.",
"Não foi possível publicar o comentário: %s", "Este documento irá expirar em %d minutos."
"Please move your mouse for more entropy…": ],
"Por favor, mova o mouse para maior entropia…", "This document will expire in %d hours.": [
"Sending paste…": "Este documento irá expirar em uma hora.",
"Enviando cópia…", "Este documento irá expirar em %d horas.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Este documento irá expirar em %d horas.",
"Sua cópia é <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Pressione [Ctrl]+[c] para copiar)</span>", "Este documento irá expirar em %d horas.",
"Delete data": "Este documento irá expirar em %d horas.",
"Excluir dados", "Este documento irá expirar em %d horas."
"Could not create paste: %s": ],
"Não foi possível criar cópia: %s", "This document will expire in %d days.": [
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Este documento irá expirar em um dia.",
"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?)", "Este documento irá expirar em %d dias.",
"Este documento irá expirar em %d dias.",
"Este documento irá expirar em %d dias.",
"Este documento irá expirar em %d dias.",
"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.",
"Este documento irá expirar em %d meses.",
"Este documento irá expirar em %d meses.",
"Este documento irá expirar em %d meses.",
"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?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formato", "Format": "Formato",
"Plain Text": "Texto sem formato", "Plain Text": "Texto sem formato",
"Source Code": "Código fonte", "Source Code": "Código fonte",
@ -132,28 +173,47 @@
"Cloned: '%s'": "Clonado: '%s'", "Cloned: '%s'": "Clonado: '%s'",
"The cloned file '%s' was attached to this paste.": "O arquivo clonado '%s' foi anexado a essa cópia.", "The cloned file '%s' was attached to this paste.": "O arquivo clonado '%s' foi anexado a essa cópia.",
"Attach a file": "Anexar um arquivo", "Attach a file": "Anexar um arquivo",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "alternatively drag & drop a file or paste an image from the clipboard": "alternativamente, arraste e solte um arquivo ou cole uma imagem da área de transferência",
"File too large, to display a preview. Please download the attachment.": "File too large, to display a preview. Please download the attachment.", "File too large, to display a preview. Please download the attachment.": "Arquivo muito grande para exibir uma prévia. Por favor, faça o download do anexo.",
"Remove attachment": "Remover anexo", "Remove attachment": "Remover anexo",
"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.": "Seu navegador não permite subir arquivos cifrados. Por favor, utilize um navegador mais recente.",
"Seu navegador não permite subir arquivos cifrados. Por favor, utilize um navegador mais recente.",
"Invalid attachment.": "Anexo inválido.", "Invalid attachment.": "Anexo inválido.",
"Options": "Opções", "Options": "Opções",
"Shorten URL": "Encurtar URL", "Shorten URL": "Encurtar URL",
"Editor": "Editor", "Editor": "Editor",
"Preview": "Visualizar", "Preview": "Visualizar",
"%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.": "%s requer que o PATH termine em \"%s\". Por favor, atualize o PATH em seu index.php.",
"%s requer que o PATH termine em \"%s\". Por favor, atualize o PATH em seu index.php.", "Decrypt": "Decifrar",
"Decrypt": "Enter password": "Digite a senha",
"Decifrar",
"Enter password":
"Digite a senha",
"Loading…": "Carregando…", "Loading…": "Carregando…",
"Decrypting paste…": "Decifrando cópia…", "Decrypting paste…": "Decifrando cópia…",
"Preparing new paste…": "Preparando nova cópia…", "Preparing new paste…": "Preparando nova cópia…",
"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>.": "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>.",
"Caso essa mensagem nunca desapareça, por favor veja <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para saber como resolver os problemas</a>.",
"+++ no paste text +++": "+++ sem texto de cópia +++", "+++ no paste text +++": "+++ sem texto de cópia +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Não foi possível obter dados de cópia: %s",
"Could not get paste data: %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 %s": "Nota criptografada no %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Visite esse link para ver a nota. Dar a URL para qualquer um permite que eles também acessem a nota.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Salvar cópia",
"Your IP is not authorized to create pastes.": "Seu IP não está autorizado a criar cópias.",
"Trying to shorten a URL that isn't pointing at our instance.": "Tentando encurtar uma URL que não aponta para a nossa instância.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

View File

@ -1,129 +1,161 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s это минималистичный Open Source проект для создания заметок, где сервер не знает ничего о сохраняемых данных. Данные шифруются/расшифровываются %sв браузере%s с использованием 256 битного шифрования AES.",
"%s это минималистичный Open Source проект для создания заметок, где сервер не знает ничего о сохраняемых данных. Данные шифруются/расшифровываются <i>в браузере</i> с использованием 256 битного шифрования AES. Подробнее можно узнать на <a href=\"https://privatebin.info/\">сайте проекта</a>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Подробнее можно узнать на <a href=\"https://privatebin.info/\">сайте проекта</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Потому что неведение - благо",
"Потому что неведение - благо",
"en": "ru", "en": "ru",
"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 требуется php %s или выше. Извините.",
"%s requires php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s необходимо наличие секции [%s] в конфигурационном файле.",
"Для работы %s требуется php %s или выше. Извините.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Пожалуйста, ожидайте %d секунду между каждыми записями.",
"%s необходимо наличие секции [%s] в конфигурационном файле.", "Пожалуйста, ожидайте %d секунды между каждыми записями.",
"Please wait %d seconds between each post.": "Пожалуйста, ожидайте %d секунд между каждыми записями.",
["Пожалуйста ожидайте %d секунду между каждыми записями.", "Пожалуйста ожидайте %d секунды между каждыми записями.", "Пожалуйста ожидайте %d секунд между каждыми записями."], "Пожалуйста, ожидайте %d секунд между каждыми записями.",
"Paste is limited to %s of encrypted data.": "Пожалуйста, ожидайте %d секунд между каждыми записями.",
"Размер записи ограничен %s зашифрованных данных.", "Пожалуйста, ожидайте %d секунд между каждыми записями."
"Invalid data.": ],
"Неверные данные.", "Paste is limited to %s of encrypted data.": "Размер записи ограничен %s зашифрованных данных.",
"You are unlucky. Try again.": "Invalid data.": "Неверные данные.",
"Вам не повезло. Попробуйте еще раз.", "You are unlucky. Try again.": "Вам не повезло. Попробуйте еще раз.",
"Error saving comment. Sorry.": "Error saving comment. Sorry.": "Ошибка при сохранении комментария. Извините.",
"Ошибка при сохранении комментария. Извините.", "Error saving paste. Sorry.": "Ошибка при сохранении записи. Извините.",
"Error saving paste. Sorry.": "Invalid paste ID.": "Неверный ID записи.",
"Ошибка при сохранении записи. Извините.", "Paste is not of burn-after-reading type.": "Тип записи не \"Удалить после прочтения\".",
"Invalid paste ID.": "Wrong deletion token. Paste was not deleted.": "Неверный ключ удаления записи. Запись не удалена.",
"Неверный ID записи.", "Paste was properly deleted.": "Запись была успешно удалена.",
"Paste is not of burn-after-reading type.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "Для работы %s требуется включенный JavaScript. Приносим извинения за неудобства.",
"Тип записи не \"Удалить после прочтения\".", "%s requires a modern browser to work.": "Для работы %s требуется более современный браузер.",
"Wrong deletion token. Paste was not deleted.": "New": "Новая запись",
"Неверный ключ удаления записи. Запись не удалена", "Send": "Отправить",
"Paste was properly deleted.": "Clone": "Дублировать",
"Запись была успешно удалена.", "Raw text": "Исходный текст",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Expires": "Удалить через",
"Для работы %s требуется включенный JavaScript.<br />Приносим извинения за неудобства.", "Burn after reading": "Удалить после прочтения",
"%s requires a modern browser to work.": "Open discussion": "Открыть обсуждение",
"Для работы %s требуется более современный браузер.", "Password (recommended)": "Пароль (рекомендуется)",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Discussion": "Обсуждение",
"До сих пор используете Internet Explorer? Пожалейте себя, перейдите на более современный браузер:", "Toggle navigation": "Переключить навигацию",
"New": "%d seconds": [
"Новая запись", "%d секунду",
"Send": "%d секунды",
"Отправить", "%d секунд",
"Clone": "%d секунд",
"Дублировать", "%d секунд",
"Raw text": "%d секунд"
"Исходный текст", ],
"Expires": "%d minutes": [
"Удалить через", "%d минуту",
"Burn after reading": "%d минуты",
"Удалить после прочтения", "%d минут",
"Open discussion": "%d минут",
"Открыть обсуждение", "%d минут",
"Password (recommended)": "%d минут"
"Пароль (рекомендуется)", ],
"Discussion": "%d hours": [
"Обсуждение", "%d час",
"Toggle navigation": "%d часа",
"Переключить навигацию", "%d часов",
"%d seconds": ["%d секунду", "%d секунды", "%d секунд"], "%d часов",
"%d minutes": ["%d минуту", "%d минуты", "%d минут"], "%d часов",
"%d hours": ["%d час", "%d часа", "%d часов"], "%d часов"
"%d days": ["%d день", "%d дня", "%d дней"], ],
"%d weeks": ["%d неделю", "%d недели", "%d недель"], "%d days": [
"%d months": ["%d месяц", "%d месяца", "%d месяцев"], "%d день",
"%d years": ["%d год", "%d года", "%d лет"], "%d дня",
"Never": "%d дней",
"Никогда", "%d дней",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d дней",
"Примечание: Этот сервис тестовый: Данные могут быть удалены в любое время. Котята умрут, если вы будете злоупотреблять серсисом.", "%d дней"
"This document will expire in %d seconds.": ],
["Документ будет удален через %d секунду.", "Документ будет удален через %d секунды.", "Документ будет удален через %d секунд."], "%d weeks": [
"This document will expire in %d minutes.": "%d неделю",
["Документ будет удален через %d минуту.", "Документ будет удален через %d минуты.", "Документ будет удален через %d минут."], "%d недели",
"This document will expire in %d hours.": "%d недель",
["Документ будет удален через %d час.", "Документ будет удален через %d часа.", "Документ будет удален через %d часов."], "%d недель",
"This document will expire in %d days.": "%d недель",
["Документ будет удален через %d день.", "Документ будет удален через %d дня.", "Документ будет удален через %d дней."], "%d недель"
"This document will expire in %d months.": ],
["Документ будет удален через %d месяц.", "Документ будет удален через %d месяца.", "Документ будет удален через %d месяцев."], "%d months": [
"Please enter the password for this paste:": "%d месяц",
"Пожалуйста введите пароль от записи:", "%d месяца",
"Could not decrypt data (Wrong key?)": "%d месяцев",
"Невозможно расшифровать данные (Неверный ключ?)", "%d месяцев",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d месяцев",
"Невозможно удалить запись, она не была сохранена в режиме удаления после прочтения", "%d месяцев"
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": ],
"ТОЛЬКО ДЛЯ ВАШИХ ГЛАЗ. Не закрывайте это окно, это сообщение не может быть показано снова.", "%d years": [
"Could not decrypt comment; Wrong key?": "%d год",
"Невозможно расшифровать комментарий; Неверный ключ?", "%d года",
"Reply": "%d лет",
"Ответить", "%d лет",
"Anonymous": "%d лет",
"Аноним", "%d лет"
"Avatar generated from IP address": ],
"Аватар, сгенерированный из IP-адреса", "Never": "Никогда",
"Add comment": "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.": [
"Optional nickname…": "Документ будет удален через %d секунду.",
"Опциональный никнейм…", "Документ будет удален через %d секунды.",
"Post comment": "Документ будет удален через %d секунд.",
"Отправить комментарий", "Документ будет удален через %d секунд.",
"Sending comment…": "Документ будет удален через %d секунд.",
"Отправка комментария…", "Документ будет удален через %d секунд."
"Comment posted.": ],
"Комментарий опубликован.", "This document will expire in %d minutes.": [
"Could not refresh display: %s": "Документ будет удален через %d минуту.",
"Не удалось обновить отображение: %s", "Документ будет удален через %d минуты.",
"unknown status": "Документ будет удален через %d минут.",
"неизвестная причина", "Документ будет удален через %d минут.",
"server error or not responding": "Документ будет удален через %d минут.",
"ошибка сервера или нет ответа", "Документ будет удален через %d минут."
"Could not post comment: %s": ],
"Не удалось опубликовать комментарий: %s", "This document will expire in %d hours.": [
"Please move your mouse for more entropy…": "Документ будет удален через %d час.",
"Пожалуйста двигайте мышкой для большей энтропии…", "Документ будет удален через %d часа.",
"Sending paste…": "Документ будет удален через %d часов.",
"Отправка записи…", "Документ будет удален через %d часов.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Документ будет удален через %d часов.",
"Ссылка на запись <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Нажмите [Ctrl]+[c] чтобы скопировать ссылку)</span>", "Документ будет удален через %d часов."
"Delete data": ],
"Удалить запись", "This document will expire in %d days.": [
"Could not create paste: %s": "Документ будет удален через %d день.",
"Не удалось опубликовать запись: %s", "Документ будет удален через %d дня.",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Документ будет удален через %d дней.",
"Невозможно расшифровать запись: Ключ расшифровки отсутствует в ссылке (Может быть вы используете сокращатель ссылок, который удаляет часть ссылки?)", "Документ будет удален через %d дней.",
"Документ будет удален через %d дней.",
"Документ будет удален через %d дней."
],
"This document will expire in %d months.": [
"Документ будет удален через %d месяц.",
"Документ будет удален через %d месяца.",
"Документ будет удален через %d месяцев.",
"Документ будет удален через %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?)": "Невозможно расшифровать запись: Ключ расшифровки отсутствует в ссылке (Может быть, вы используете сокращатель ссылок, который удаляет часть ссылки?)",
"B": "байт", "B": "байт",
"KiB": "Кбайт", "KiB": "Кбайт",
"MiB": "Мбайт", "MiB": "Мбайт",
@ -139,31 +171,49 @@
"Markdown": "Язык разметки", "Markdown": "Язык разметки",
"Download attachment": "Скачать прикрепленный файл", "Download attachment": "Скачать прикрепленный файл",
"Cloned: '%s'": "Дублировано: '%s'", "Cloned: '%s'": "Дублировано: '%s'",
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.": "Дубликат файла '%s' был прикреплен к этой записи.",
"Дубликат файла '%s' был прикреплен к этой записи.",
"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.": "Переменная PATH необходима %s в конце \"%s\". Пожалуйста, обновите переменную PATH в вашем index.php.",
"Переменная PATH необходима %s в конце \"%s\". Пожалуйста обновите переменную PATH в вашем 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=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">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>.": "Если данное сообщение не исчезает длительное время, посмотрите <a href=\"%s\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
"Если данное сообщение не исчезает длительное время, посмотрите <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
"+++ no paste text +++": "+++ в записи нет текста +++", "+++ no paste text +++": "+++ в записи нет текста +++",
"Could not get paste data: %s": "Could not get paste data: %s": "Не удалось получить данные записи: %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": "ожидаем ввода пароля пользователем",
"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 %s": "Зашифрованная запись на %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Посетите эту ссылку чтобы просмотреть запись. Передача ссылки кому либо позволит им получить доступ к записи тоже.",
"URL shortener may expose your decrypt key in URL.": "Сервис сокращения ссылок может получить ваш ключ расшифровки из ссылки.",
"Save paste": "Сохранить запись",
"Your IP is not authorized to create pastes.": "Вашему IP адресу не разрешено создавать записи.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

219
i18n/sk.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s je minimalistický, open source online pastebin, kde server nemá žiadne znalosti o vložených údajoch. Údaje sú šifrované/dešifrované %sv prehliadači%s pomocou 256-bitového AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Viac informácií na <a href=\"https://privatebin.info/\">stránke projektu</a>.",
"Because ignorance is bliss": "Pretože nevedomosť je sladká",
"en": "sk",
"Paste does not exist, has expired or has been deleted.": "Vložený text neexistuje, jeho platnosť vypršala alebo bol vymazaný.",
"%s requires php %s or above to work. Sorry.": "%s vyžaduje php %s alebo vyššie. Prepáčte.",
"%s requires configuration section [%s] to be present in configuration file.": "%s vyžaduje, aby bola v konfiguračnom súbore prítomná sekcia [%s].",
"Please wait %d seconds between each post.": [
"Počet sekúnd do ďalšieho príspevku: %d",
"Počet sekúnd do ďalšieho príspevku: %d",
"Počet sekúnd do ďalšieho príspevku: %d",
"Počet sekúnd do ďalšieho príspevku: %d",
"Počet sekúnd do ďalšieho príspevku: %d",
"Počet sekúnd do ďalšieho príspevku: %d"
],
"Paste is limited to %s of encrypted data.": "Príspevok je obmedzený na %s zašifrovaných údajov.",
"Invalid data.": "Neplatné údaje.",
"You are unlucky. Try again.": "Ľutujem. Skúste to znova.",
"Error saving comment. Sorry.": "Pri ukladaní komentára sa vyskytla chyba.",
"Error saving paste. Sorry.": "Pri ukladaní príspevku sa vyskytla chyba.",
"Invalid paste ID.": "Chybne vložené ID.",
"Paste is not of burn-after-reading type.": "Príspevok nieje nastavený na zmazanie po prečítaní.",
"Wrong deletion token. Paste was not deleted.": "Nesprávny token odstránenia. Príspevok nebol odstránený.",
"Paste was properly deleted.": "Príspevok bol správne vymazaný.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "Na fungovanie %s je potrebný JavaScript. Ospravedlňujeme sa za nepríjemnosti.",
"%s requires a modern browser to work.": "%s vyžaduje na fungovanie moderný prehliadač.",
"New": "Nový",
"Send": "Odoslať",
"Clone": "Klonovať",
"Raw text": "Surový text",
"Expires": "Expirácia",
"Burn after reading": "Po prečítaní zmazať",
"Open discussion": "Povoliť komentáre",
"Password (recommended)": "Heslo (doporučené)",
"Discussion": "Komentáre",
"Toggle navigation": "Prepnúť navigáciu",
"%d seconds": [
"%d sekunda",
"%d sekundy",
"%d sekúnd",
"%d sekúnd",
"%d sekúnd",
"%d sekúnd"
],
"%d minutes": [
"%d minúta",
"%d minúty",
"%d minút",
"%d minút",
"%d minút",
"%d minút"
],
"%d hours": [
"%d hodina",
"%d hodiny",
"%d hodín",
"%d hodín",
"%d hodín",
"%d hodín"
],
"%d days": [
"%d deň",
"%d dni",
"%d dní",
"%d dní",
"%d dní",
"%d dní"
],
"%d weeks": [
"%d týždeň",
"%d týždne",
"%d týždňov",
"%d týždňov",
"%d týždňov",
"%d týždňov"
],
"%d months": [
"%d mesiac",
"%d mesiace",
"%d mesiacov",
"%d mesiacov",
"%d mesiacov",
"%d mesiacov"
],
"%d years": [
"%d rok",
"%d roky",
"%d rokov",
"%d rokov",
"%d rokov",
"%d rokov"
],
"Never": "Nikdy",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "Poznámka: Toto je testovacia služba: Údaje môžu byť kedykoľvek vymazané. Pri zneužití tejto služby zomrú mačiatka.",
"This document will expire in %d seconds.": [
"Platnosť tohto dokumentu vyprší o %d sekundu.",
"Platnosť tohto dokumentu vyprší o %d sekundy.",
"Platnosť tohto dokumentu vyprší o %d sekúnd.",
"Platnosť tohto dokumentu vyprší o %d sekúnd.",
"Platnosť tohto dokumentu vyprší o %d sekúnd.",
"Platnosť tohto dokumentu vyprší o %d sekúnd."
],
"This document will expire in %d minutes.": [
"Platnosť tohto dokumentu vyprší o %d minútu.",
"Platnosť tohto dokumentu vyprší o %d minúty.",
"Platnosť tohto dokumentu vyprší o %d minút.",
"Platnosť tohto dokumentu vyprší o %d minút.",
"Platnosť tohto dokumentu vyprší o %d minút.",
"Platnosť tohto dokumentu vyprší o %d minút."
],
"This document will expire in %d hours.": [
"Platnosť tohto dokumentu vyprší o %d hodinu.",
"Platnosť tohto dokumentu vyprší o %d hodiny.",
"Platnosť tohto dokumentu vyprší o %d hodín.",
"Platnosť tohto dokumentu vyprší o %d hodín.",
"Platnosť tohto dokumentu vyprší o %d hodín.",
"Platnosť tohto dokumentu vyprší o %d hodín."
],
"This document will expire in %d days.": [
"Platnosť tohto dokumentu vyprší o %d deň.",
"Platnosť tohto dokumentu vyprší o %d dni.",
"Platnosť tohto dokumentu vyprší o %d dní.",
"Platnosť tohto dokumentu vyprší o %d dní.",
"Platnosť tohto dokumentu vyprší o %d dní.",
"Platnosť tohto dokumentu vyprší o %d dní."
],
"This document will expire in %d months.": [
"Platnosť tohto dokumentu vyprší o %d mesiac.",
"Platnosť tohto dokumentu vyprší o %d mesiace.",
"Platnosť tohto dokumentu vyprší o %d mesiacov.",
"Platnosť tohto dokumentu vyprší o %d mesiacov.",
"Platnosť tohto dokumentu vyprší o %d mesiacov.",
"Platnosť tohto dokumentu vyprší o %d mesiacov."
],
"Please enter the password for this paste:": "Zadajte prosím heslo:",
"Could not decrypt data (Wrong key?)": "Nepodarilo sa dešifrovať údaje (nesprávny kľúč?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Nepodarilo sa odstrániť príspevok, nebol uložený v režime zmazania po prečítaní.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "IBA PRE VAŠE OČI. Toto okno nezatvárajte, táto správa sa nedá znova zobraziť.",
"Could not decrypt comment; Wrong key?": "Nepodarilo sa dešifrovať komentár. Nesprávny kľúč?",
"Reply": "Odpovedať",
"Anonymous": "Anonymný",
"Avatar generated from IP address": "Avatar vygenerovaný z IP adresy",
"Add comment": "Pridať komentár",
"Optional nickname…": "Voliteľná prezývka…",
"Post comment": "Odoslať komentár",
"Sending comment…": "Odosielanie komentára…",
"Comment posted.": "Komentár odoslaný.",
"Could not refresh display: %s": "Nepodarilo sa obnoviť zobrazenie: %s",
"unknown status": "neznámy stav",
"server error or not responding": "chyba servera alebo server neodpovedá",
"Could not post comment: %s": "Nepodarilo sa pridať komentár: %s",
"Sending paste…": "Odosiela sa príspevok…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Váš príspevok je <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(skopírujte stlačením [Ctrl]+[c])</span>",
"Delete data": "Odstrániť dáta",
"Could not create paste: %s": "Nepodarilo sa vytvoriť príspevok: %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 je možné dešifrovať príspevok: V URL adrese chýba dešifrovací kľúč (Použili ste presmerovač alebo skracovač adresy, ktorý odstráni časť adresy URL?)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Formát",
"Plain Text": "Čistý text",
"Source Code": "Zdrojový kód",
"Markdown": "Markdown",
"Download attachment": "Stiahnuť prílohu",
"Cloned: '%s'": "Naklonované: '%s'",
"The cloned file '%s' was attached to this paste.": "K tomuto príspevku bol pripojený klonovaný súbor '%s'.",
"Attach a file": "Priložiť súbor",
"alternatively drag & drop a file or paste an image from the clipboard": "prípadne presuňte súbor myšou alebo vložte obrázok zo schránky",
"File too large, to display a preview. Please download the attachment.": "Súbor je príliš veľký na zobrazenie ukážky. Stiahnite si prosím prílohu.",
"Remove attachment": "Odstrániť prílohu",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Váš prehliadač nepodporuje nahrávanie šifrovaných súborov. Použite prosím novší prehliadač.",
"Invalid attachment.": "Neplatná príloha.",
"Options": "Možnosti",
"Shorten URL": "Skrátiť URL",
"Editor": "Editor",
"Preview": "Náhľad",
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s vyžaduje, aby PATH končila na \"%s\". Aktualizujte prosím PATH vo svojom index.php.",
"Decrypt": "Dešifrovať",
"Enter password": "Zadajte heslo",
"Loading…": "Načítava sa…",
"Decrypting paste…": "Dešifrovanie príspevku…",
"Preparing new paste…": "Príprava nového príspevku…",
"In case this message never disappears please have a look at <a href=\"%s\">this FAQ for information to troubleshoot</a>.": "V prípade, že táto správa nezmizne, pozrite si <a href=\"%s\">tieto často kladené otázky, kde nájdete informácie na riešenie problémov</a>.",
"+++ no paste text +++": "+++ žiadny vložený text +++",
"Could not get paste data: %s": "Nepodarilo sa načítať údaje príspevku: %s",
"QR code": "QR kód",
"This website is using an insecure HTTP connection! Please use it only for testing.": "Táto webová stránka používa nezabezpečené pripojenie HTTP! Používajte ju len na testovanie.",
"For more information <a href=\"%s\">see this FAQ entry</a>.": "Pre viac informácií si pozrite <a href=\"%s\">tento záznam FAQ</a>.",
"Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href=\"%s\">switching to HTTPS</a>.": "Váš prehliadač môže na podporu rozhrania WebCrypto API vyžadovať pripojenie HTTPS. Skúste <a href=\"%s\">prepnúť na HTTPS</a>.",
"Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "Váš prehliadač nepodporuje WebAssembly, ktorý sa používa na kompresiu zlib. Môžete vytvárať nekomprimované dokumenty, ale nemôžete čítať komprimované.",
"waiting on user to provide a password": "čakám na zadanie hesla",
"Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "Údaje sa nepodarilo dešifrovať. Zadali ste nesprávne heslo? Skúste to znova pomocou tlačidla v hornej časti.",
"Retry": "Opakovať",
"Showing raw text…": "Zobrazuje sa surový text…",
"Notice:": "Upozornenie:",
"This link will expire after %s.": "Platnosť odkazu vyprší za %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Tento odkaz je prístupný iba raz, nepoužívajte v prehliadači tlačidlo Späť ani Obnoviť.",
"Link:": "Odkaz:",
"Recipient may become aware of your timezone, convert time to UTC?": "Príjemca sa môže dozvedieť o vašom časovom pásme, previesť čas na UTC?",
"Use Current Timezone": "Použiť aktuálne časové pásmo",
"Convert To UTC": "Previesť na UTC",
"Close": "Zavrieť",
"Encrypted note on %s": "Zašifrovaná poznámka na %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Ak chcete zobraziť poznámku, navštívte tento odkaz. Poskytnutie adresy URL komukoľvek im umožní prístup aj k poznámke.",
"URL shortener may expose your decrypt key in URL.": "Skracovač adries URL môže odhaliť váš dešifrovací kľúč v adrese URL.",
"Save paste": "Uložiť príspevok",
"Your IP is not authorized to create pastes.": "Vaša IP adresa nie je oprávnená vytvárať príspevky.",
"Trying to shorten a URL that isn't pointing at our instance.": "Pokúšate sa skrátiť adresu URL, ktorá neukazuje na túto inštanciu.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,129 +1,161 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s je minimalističen, odprtokodni spletni 'pastebin', kjer server ne ve ničesar o prilepljenih podatkih. Podatki so zakodirani/odkodirani %sv brskalniku%s z uporabo 256 bitnega AES.",
"%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>.", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Več informacij na <a href=\"https://privatebin.info/\">spletni strani projekta.</a>.",
"Because ignorance is bliss": "Because ignorance is bliss": "Ker kar ne veš ne boli.",
"Ker kar ne veš ne boli.",
"en": "sl", "en": "sl",
"Paste does not exist, has expired or has been deleted.": "Paste does not exist, has expired or has been deleted.": "Prilepek ne obstaja, mu je potekla življenjska doba, ali pa je izbrisan.",
"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 php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s potrebuje sekcijo konfiguracij [%s] v konfiguracijski datoteki.",
"Oprosti, %s za delovanje potrebuje vsaj php %s.", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.": "Prosim počakaj vsaj %d sekundo pred vsako naslednjo objavo.",
"%s potrebuje sekcijo konfiguracij [%s] v konfiguracijski datoteki.", "Prosim počakaj vsaj %d sekundi pred vsako naslednjo objavo.",
"Please wait %d seconds between each post.": "Prosim počakaj vsaj %d sekunde pred vsako naslednjo objavo.",
"Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo.", "Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo.",
"Paste is limited to %s of encrypted data.": "Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo.",
"Velikost prilepka je omejena na %s zakodiranih podatkov.", "Prosim počakaj vsaj %d sekund pred vsako naslednjo objavo."
"Invalid data.": ],
"Neveljavni podatki.", "Paste is limited to %s of encrypted data.": "Velikost prilepka je omejena na %s zakodiranih podatkov.",
"You are unlucky. Try again.": "Invalid data.": "Neveljavni podatki.",
"Nimaš sreče, poskusi ponovno.", "You are unlucky. Try again.": "Nimaš sreče, poskusi ponovno.",
"Error saving comment. Sorry.": "Error saving comment. Sorry.": "Nekaj je šlo narobe pri shranjevanju komentarja. Oprosti.",
"Nekaj je šlo narobe pri shranjevanju komentarja. Oprosti.", "Error saving paste. Sorry.": "Nekaj je šlo narobe pri shranjevanju prilepka. Oprosti.",
"Error saving paste. Sorry.": "Invalid paste ID.": "Napačen ID prilepka.",
"Nekaj je šlo narobe pri shranjevanju prilepka. Oprosti.", "Paste is not of burn-after-reading type.": "Prilepek ni tipa zažgi-po-branju.",
"Invalid paste ID.": "Wrong deletion token. Paste was not deleted.": "Napačen token za izbris. Prilepek ni bil izbrisan..",
"Napačen ID prilepka.", "Paste was properly deleted.": "Prilepek je uspešno izbrisan.",
"Paste is not of burn-after-reading type.": "JavaScript is required for %s to work. Sorry for the inconvenience.": "Da %s deluje, moraš vklopiti JavaScript. Oprosti za povročene nevšečnosti.",
"Prilepek ni tipa zažgi-po-branju.", "%s requires a modern browser to work.": "%s za svoje delovanje potrebuje moderen brskalnik.",
"Wrong deletion token. Paste was not deleted.": "New": "Nov prilepek",
"Napačen token za izbris. Prilepek ni bil izbrisan..", "Send": "Pošlji",
"Paste was properly deleted.": "Clone": "Kloniraj",
"Prilepek je uspešno izbrisan.", "Raw text": "Surov tekst",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Expires": "Poteče",
"Da %s deluje, moraš vklopiti JavaScript.<br />Oprosti za povročene nevšečnosti.", "Burn after reading": "Zažgi (pobriši) po branju",
"%s requires a modern browser to work.": "Open discussion": "Dovoli razpravo",
"%s za svoje delovanje potrebuje moderen brskalnik.", "Password (recommended)": "Geslo (priporočeno)",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Discussion": "Razprava",
"Še vedno uporabljaš Internet Explorer? Naredi si uslugo, preklopi na moderen brskalnik:", "Toggle navigation": "Preklopi navigacijo",
"New": "%d seconds": [
"Nov prilepek", "%d sekunda",
"Send": "%d sekundi",
"Pošlji", "%d sekunde",
"Clone": "%d sekund",
"Kloniraj", "%d sekund",
"Raw text": "%d sekund"
"Surov tekst", ],
"Expires": "%d minutes": [
"Poteče", "%d minuta",
"Burn after reading": "%d minuti",
"Zažgi (pobriši) po branju", "%d minute",
"Open discussion": "%d minut",
"Dovoli razpravo", "%d minut",
"Password (recommended)": "%d minut"
"Geslo (priporočeno)", ],
"Discussion": "%d hours": [
"Razprava", "%d ura",
"Toggle navigation": "%d uri",
"Preklopi navigacijo", "%d ure",
"%d seconds": ["%d sekunda", "%d sekundi", "%d sekunde", "%d sekund"], "%d ur",
"%d minutes": ["%d minuta", "%d minuti", "%d minute", "%d minut"], "%d ur",
"%d hours": ["%d ura", "%d uri", "%d ure", "%d ur"], "%d ur"
"%d days": ["%d dan", "%d dneva", "%d dnevi", "%d dni"], ],
"%d weeks": ["%d teden", "%d tedna", "%d tedni", "%d tednov"], "%d days": [
"%d months": ["%d mesec", "%d meseca", "%d meseci", "%d mesecev"], "%d dan",
"%d years": ["%d leto", "%d leti", "%d leta", "%d let"], "%d dneva",
"Never": "%d dnevi",
"Nikoli", "%d dni",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d dni",
"Ne pozabi: To je testna storitev: Podatki so lahko kadarkoli pobrisani. Mucki bodo umrli, če boš zlorabljala to storitev.", "%d dni"
"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."], "%d weeks": [
"This document will expire in %d minutes.": "%d teden",
["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."], "%d tedna",
"This document will expire in %d hours.": "%d tedni",
["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."], "%d tednov",
"This document will expire in %d days.": "%d tednov",
["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."], "%d tednov"
"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."], "%d months": [
"Please enter the password for this paste:": "%d mesec",
"Prosim vnesi geslo tega prilepka:", "%d meseca",
"Could not decrypt data (Wrong key?)": "%d meseci",
"Nemogoče odkodirati podakte (Imaš napačen ključ?)", "%d mesecev",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d mesecev",
"Prilepek je nemogoče izbrisati, ni bil shranjen v načinu \"zažgi po branju\".", "%d mesecev"
"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č.", "%d years": [
"Could not decrypt comment; Wrong key?": "%d leto",
"Ne morem odkodirati komentarja: Imaš napačen ključ?", "%d leti",
"Reply": "%d leta",
"Odgovori", "%d let",
"Anonymous": "%d let",
"Aninomno", "%d let"
"Avatar generated from IP address": ],
"Anonimen avatar (Vizhash IP naslova)", "Never": "Nikoli",
"Add comment": "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.",
"Dodaj komentar", "This document will expire in %d seconds.": [
"Optional nickname…": "Ta dokument bo potekel čez %d sekundo.",
"Uporabniško ime (lahko izpustiš)", "Ta dokument bo potekel čez %d sekundi.",
"Post comment": "Ta dokument bo potekel čez %d sekunde.",
"Objavi komentar", "Ta dokument bo potekel čez %d sekund.",
"Sending comment…": "Ta dokument bo potekel čez %d sekund.",
"Pošiljam komentar …", "Ta dokument bo potekel čez %d sekund."
"Comment posted.": ],
"Komentar poslan.", "This document will expire in %d minutes.": [
"Could not refresh display: %s": "Ta dokument bo potekel čez %d minuto.",
"Ne morem osvežiti zaslona : %s", "Ta dokument bo potekel čez %d minuti.",
"unknown status": "Ta dokument bo potekel čez %d minute.",
"neznan status", "Ta dokument bo potekel čez %d minut.",
"server error or not responding": "Ta dokument bo potekel čez %d minut.",
"napaka na strežniku, ali pa se strežnik ne odziva", "Ta dokument bo potekel čez %d minut."
"Could not post comment: %s": ],
"Komentarja ni bilo mogoče objaviti : %s", "This document will expire in %d hours.": [
"Please move your mouse for more entropy…": "Ta dokument bo potekel čez %d uro.",
"Prosim premakni svojo miško za več entropije…", "Ta dokument bo potekel čez %d uri.",
"Sending paste…": "Ta dokument bo potekel čez %d ure.",
"Pošiljam prilepek…", "Ta dokument bo potekel čez %d ur.",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Ta dokument bo potekel čez %d ur.",
"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>", "Ta dokument bo potekel čez %d ur."
"Delete data": ],
"Izbriši podatke", "This document will expire in %d days.": [
"Could not create paste: %s": "Ta dokument bo potekel čez %d dan.",
"Ne morem ustvariti prilepka: %s", "Ta dokument bo potekel čez %d dni.",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Ta dokument bo potekel čez %d dni.",
"Ne morem odkodirati prilepka: V URL-ju manjka ključ (A si uporabil krajšalnik URL-jev, ki odstrani del URL-ja?)", "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.",
"Ta dokument bo potekel čez %d mesecev.",
"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", "B": "o",
"KiB": "KB", "KiB": "KB",
"MiB": "MB", "MiB": "MB",
@ -144,25 +176,44 @@
"alternatively drag & drop a file or paste an image from the clipboard": "alternatively drag & drop a file or paste an image from the clipboard", "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.", "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", "Remove attachment": "Odstrani priponko",
"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.": "Tvoj brskalnik ne omogoča nalaganje zakodiranih datotek. Prosim uporabi novejši brskalnik.",
"Tvoj brskalnik ne omogoča nalaganje zakodiranih datotek. Prosim uporabi novejši brskalnik.",
"Invalid attachment.": "Neveljavna priponka.", "Invalid attachment.": "Neveljavna priponka.",
"Options": "Možnosti", "Options": "Možnosti",
"Shorten URL": "Skrajšajte URL", "Shorten URL": "Skrajšajte URL",
"Editor": "Uredi", "Editor": "Uredi",
"Preview": "Predogled", "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.": "%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",
"Decrypt": "Enter password": "Prosim vnesi geslo",
"Decrypt",
"Enter password":
"Prosim vnesi geslo",
"Loading…": "Loading…", "Loading…": "Loading…",
"Decrypting paste…": "Decrypting paste…", "Decrypting paste…": "Decrypting paste…",
"Preparing new paste…": "Preparing new paste…", "Preparing new paste…": "Preparing new paste…",
"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>.": "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=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a> (in English).",
"+++ no paste text +++": "+++ no paste text +++", "+++ 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.",
"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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
} }

219
i18n/sv.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "More information on the <a href=\"https://privatebin.info/\">project page</a>.",
"Because ignorance is bliss": "Because ignorance is bliss",
"en": "sv",
"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 second between each post. (singular)",
"Please wait %d seconds between each post. (1st plural)",
"Please wait %d seconds between each post. (2nd plural)",
"Please wait %d seconds between each post. (3rd plural)",
"Please wait %d seconds between each post. (4th plural)",
"Please wait %d seconds between each post. (5th plural)"
],
"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 seconds (4th plural)",
"%d seconds (5th plural)"
],
"%d minutes": [
"%d minute (singular)",
"%d minutes (1st plural)",
"%d minutes (2nd plural)",
"%d minutes (3rd plural)",
"%d minutes (4th plural)",
"%d minutes (5th plural)"
],
"%d hours": [
"%d hour (singular)",
"%d hours (1st plural)",
"%d hours (2nd plural)",
"%d hours (3rd plural)",
"%d hours (4th plural)",
"%d hours (5th plural)"
],
"%d days": [
"%d day (singular)",
"%d days (1st plural)",
"%d days (2nd plural)",
"%d days (3rd plural)",
"%d days (4th plural)",
"%d days (5th plural)"
],
"%d weeks": [
"%d week (singular)",
"%d weeks (1st plural)",
"%d weeks (2nd plural)",
"%d weeks (3rd plural)",
"%d weeks (4th plural)",
"%d weeks (5th plural)"
],
"%d months": [
"%d month (singular)",
"%d months (1st plural)",
"%d months (2nd plural)",
"%d months (3rd plural)",
"%d months (4th plural)",
"%d months (5th plural)"
],
"%d years": [
"%d year (singular)",
"%d years (1st plural)",
"%d years (2nd plural)",
"%d years (3rd plural)",
"%d years (4th plural)",
"%d years (5th 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 seconds. (4th plural)",
"This document will expire in %d seconds. (5th 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 minutes. (4th plural)",
"This document will expire in %d minutes. (5th 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 hours. (4th plural)",
"This document will expire in %d hours. (5th 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 days. (4th plural)",
"This document will expire in %d days. (5th 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)",
"This document will expire in %d months. (4th plural)",
"This document will expire in %d months. (5th 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 %s": "Encrypted note on %s",
"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.",
"URL shortener may expose your decrypt key in URL.": "URL shortener may expose your decrypt key in URL.",
"Save paste": "Save paste",
"Your IP is not authorized to create pastes.": "Your IP is not authorized to create pastes.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/th.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s เป็น pastebin ออนไลน์แบบโอเพ่นซอร์สที่มีรูปแบบการใช้งานที่เรียบง่าย เซิร์ฟเวอร์ไม่สามารถรู้ได้ว่าข้อมูลโค้ดที่มาฝากนั้นเป็นข้อมูลอะไร โดยจะถูกเข้ารหัส/ถอดรหัสด้วยกระบวนการ AES จำนวน 256 บิต%sผ่านเบราว์เซอร์%s",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "ข้อมูลเพิ่มเติม ดูได้ที่<a href=\"https://privatebin.info/\">หน้าโครงการ</a>",
"Because ignorance is bliss": "ไม่รู้ไม่ชี้ดีที่สุด",
"en": "th",
"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 วินาที",
"กรุณาเว้นระยะเวลาการส่งข้อมูลอย่างน้อย %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. Sorry for the inconvenience.": "จำเป็นต้องใช้ JavaScript เพื่อให้ %s สามารถทำงานได้ ขออภัยในความไม่สะดวก",
"%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 วินาที",
"%d วินาที",
"%d วินาที"
],
"%d minutes": [
"%d นาที",
"%d นาที",
"%d นาที",
"%d นาที",
"%d นาที",
"%d นาที"
],
"%d hours": [
"%d ชั่วโมง",
"%d ชั่วโมง",
"%d ชั่วโมง",
"%d ชั่วโมง",
"%d ชั่วโมง",
"%d ชั่วโมง"
],
"%d days": [
"%d วัน",
"%d วัน",
"%d วัน",
"%d วัน",
"%d วัน",
"%d วัน"
],
"%d weeks": [
"%d สัปดาห์",
"%d สัปดาห์",
"%d สัปดาห์",
"%d สัปดาห์",
"%d สัปดาห์",
"%d สัปดาห์"
],
"%d months": [
"%d เดือน",
"%d เดือน",
"%d เดือน",
"%d เดือน",
"%d เดือน",
"%d เดือน"
],
"%d years": [
"%d ปี",
"%d ปี",
"%d ปี",
"%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 วินาที",
"เอกสารนี้จะหมดอายุใน %d วินาที",
"เอกสารนี้จะหมดอายุใน %d วินาที",
"เอกสารนี้จะหมดอายุใน %d วินาที"
],
"This document will expire in %d minutes.": [
"เอกสารนี้จะหมดอายุใน %d นาที",
"เอกสารนี้จะหมดอายุใน %d นาที",
"เอกสารนี้จะหมดอายุใน %d นาที",
"เอกสารนี้จะหมดอายุใน %d นาที",
"เอกสารนี้จะหมดอายุใน %d นาที",
"เอกสารนี้จะหมดอายุใน %d นาที"
],
"This document will expire in %d hours.": [
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง",
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง",
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง",
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง",
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง",
"เอกสารนี้จะหมดอายุใน %d ชั่วโมง"
],
"This document will expire in %d days.": [
"เอกสารนี้จะหมดอายุใน %d วัน",
"เอกสารนี้จะหมดอายุใน %d วัน",
"เอกสารนี้จะหมดอายุใน %d วัน",
"เอกสารนี้จะหมดอายุใน %d วัน",
"เอกสารนี้จะหมดอายุใน %d วัน",
"เอกสารนี้จะหมดอายุใน %d วัน"
],
"This document will expire in %d months.": [
"เอกสารนี้จะหมดอายุใน %d เดือน",
"เอกสารนี้จะหมดอายุใน %d เดือน",
"เอกสารนี้จะหมดอายุใน %d เดือน",
"เอกสารนี้จะหมดอายุใน %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": "อวาตารสร้างมาจากไอพี",
"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 หายไป (คุณได้ใช้ตัวเปลี่ยนเส้นทางหรือตัวย่อ 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": "ซอร์สโค้ด",
"Markdown": "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.": "%s กำหนดให้ PATH ลงท้ายด้วย \"%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\">คำถามที่พบบ่อยนี้เพื่อใช้แก้ไขปัญหา</a>",
"+++ no paste text +++": "+++ ไม่มีข้อความการฝากโค้ด +++",
"Could not get paste data: %s": "ไม่สามารถดึงข้อมูลการฝากโค้ดได้: %s",
"QR code": "คิวอาร์โค้ด",
"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 เพื่อสนับสนุน API แบบ WebCrypto ลอง<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 %s": "เขารหัสบันทึกย่อบน %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "ไปที่ลิงก์นี้เพื่อดูบันทึกย่อทั้งหมด ส่ง URL นี้ให้ใครก็ได้เพื่อให้สามารถเข้าถึงบันทึกย่อได้",
"URL shortener may expose your decrypt key in URL.": "เครื่องมือสร้างลิงก์ย่ออาจเปิดเผยคีย์ถอดรหัสของคุณใน URL ได้",
"Save paste": "ดาวน์โหลดข้อมูลการฝากโค้ด",
"Your IP is not authorized to create pastes.": "IP ของคุณไม่ได้รับอนุญาตให้สร้างการฝากโค้ด",
"Trying to shorten a URL that isn't pointing at our instance.": "กำลังพยายามใช้เครื่องมือสร้างลิงก์ย่อ ที่ไม่ได้ชี้ไปที่อินสแตนซ์ของเรา",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "เกิดข้อผิดพลาดในการเรียก YOURLS อาจเป็นปัญหามาจากการกำหนดค่า เช่น \"apiurl\" หรือ \"signature\" ไม่ถูกต้องหรือขาดหายไป",
"Error parsing YOURLS response.": "เกิดข้อผิดพลาดในการแยกวิเคราะห์การตอบสนองของ YOURLS"
}

219
i18n/tr.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s sunucunun burada paylaştığınız veriyi görmediği, minimal, açık kaynak bir pastebindir. Veriler tarayıcıda 256 bit AES kullanılarak şifrelenir/çözülür.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Daha fazla bilgi için <a href=\"https://privatebin.info/\">proje sayfası</a>'na göz atabilirsiniz.",
"Because ignorance is bliss": "Çünkü, cehalet mutluluktur",
"en": "tr",
"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 PHP %s veya daha üstünü gerektirir.",
"%s requires configuration section [%s] to be present in configuration file.": "%s konfigürasyon bölümünün [%s] bulunmasını gerektir.",
"Please wait %d seconds between each post.": [
"Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz.",
"Lütfen paylaşımlar arasında %d saniye bekleyiniz."
],
"Paste is limited to %s of encrypted data.": "Yazılar %s şifreli veriyle sınırlıdır.",
"Invalid data.": "Geçersiz veri.",
"You are unlucky. Try again.": "Lütfen tekrar deneyiniz.",
"Error saving comment. Sorry.": "Yorum kaydedilemedi.",
"Error saving paste. Sorry.": "Yazı kaydedilemedi. Üzgünüz.",
"Invalid paste ID.": "Geçersiz yazı ID'si.",
"Paste is not of burn-after-reading type.": "Yazı okunduğunda silinmeyecek şekilde ayarlanmış.",
"Wrong deletion token. Paste was not deleted.": "Yanlış silme anahtarı. Yazı silinemedi.",
"Paste was properly deleted.": "Yazı başarıyla silindi.",
"JavaScript is required for %s to work. Sorry for the inconvenience.": "JavaScript %s 'in çalışması için gereklidir. Rahatsızlıktan dolayı özür dileriz.",
"%s requires a modern browser to work.": "%s çalışmak için çağdaş bir tarayıcı gerektirir.",
"New": "Yeni",
"Send": "Gönder",
"Clone": "Kopyala",
"Raw text": "Açık yazı",
"Expires": "Süre Sonu",
"Burn after reading": "Okuduktan sonra sil",
"Open discussion": "Açık Tartışmalar",
"Password (recommended)": "Şifre (önerilir)",
"Discussion": "Tartışma",
"Toggle navigation": "Gezinmeyi değiştir",
"%d seconds": [
"%d saniye",
"%d saniye",
"%d saniye",
"%d saniye",
"%d saniye",
"%d saniye"
],
"%d minutes": [
"%d dakika",
"%d dakika",
"%d dakika",
"%d dakika",
"%d dakika",
"%d dakika"
],
"%d hours": [
"%d saat",
"%d saat",
"%d saat",
"%d saat",
"%d saat",
"%d saat"
],
"%d days": [
"%d gün",
"%d gün",
"%d gün",
"%d gün",
"%d gün",
"%d gün"
],
"%d weeks": [
"%d hafta",
"%d haftalar",
"%d hafta",
"%d hafta",
"%d hafta",
"%d hafta"
],
"%d months": [
"%d ay",
"%d ay",
"%d ay",
"%d ay",
"%d ay",
"%d ay"
],
"%d years": [
"%d yıl",
"%d yıl",
"%d yıl",
"%d yıl",
"%d yıl",
"%d yıl"
],
"Never": "Asla",
"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.": [
"Bu belge %d saniyede silinecektir.",
"Bu belge %d saniyede silinecektir.",
"Bu belge %d saniyede silinecektir.",
"Bu belge %d saniyede silinecektir.",
"Bu belge %d saniyede silinecektir.",
"Bu belge %d saniyede silinecektir."
],
"This document will expire in %d minutes.": [
"Bu belge %d dakikada silinecektir.",
"Bu belge %d dakikada silinecektir.",
"Bu belge %d dakikada silinecektir.",
"Bu belge %d dakikada silinecektir.",
"Bu belge %d dakikada silinecektir.",
"Bu belge %d dakikada silinecektir."
],
"This document will expire in %d hours.": [
"Bu belge %d saatte silinecektir.",
"Bu belge %d saatte silinecektir.",
"Bu belge %d saatte silinecektir.",
"Bu belge %d saatte silinecektir.",
"Bu belge %d saatte silinecektir.",
"Bu belge %d saatte silinecektir."
],
"This document will expire in %d days.": [
"Bu belge %d günde silinecektir.",
"Bu belge %d günde silinecektir.",
"Bu belge %d günde silinecektir.",
"Bu belge %d günde silinecektir.",
"Bu belge %d günde silinecektir.",
"Bu belge %d günde silinecektir."
],
"This document will expire in %d months.": [
"Bu belge %d ayda silinecektir.",
"Bu belge %d ayda silinecektir.",
"Bu belge %d ayda silinecektir.",
"Bu belge %d ayda silinecektir.",
"Bu belge %d ayda silinecektir.",
"Bu belge %d ayda silinecektir."
],
"Please enter the password for this paste:": "Lütfen bu yazı için şifrenizi girin:",
"Could not decrypt data (Wrong key?)": "Şifre çözülemedi (Yanlış anahtar mı kullandınız?)",
"Could not delete the paste, it was not stored in burn after reading mode.": "Yazı silinemedi, okunduktan sonra silinmek için ayarlanmadı.",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "BU DOSYAYI SADECE SİZ GÖRÜNTÜLEYEBİLİRSİNİZ. Bu pencereyi kapatmayın, yazıyı tekrar görüntüleyemeyeceksiniz.",
"Could not decrypt comment; Wrong key?": "Dosya şifresi çözülemedi, doğru anahtarı girdiğinizden emin misiniz?",
"Reply": "Cevapla",
"Anonymous": "Anonim",
"Avatar generated from IP address": "IP adresinden oluşturulmuş avatar",
"Add comment": "Yorum ekle",
"Optional nickname…": "İsteğe bağlı takma isim…",
"Post comment": "Yorumu gönder",
"Sending comment…": "Yorum gönderiliyor…",
"Comment posted.": "Yorum gönderildi.",
"Could not refresh display: %s": "Görüntü yenilenemedi: %s",
"unknown status": "bilinmeyen durum",
"server error or not responding": "sunucu hatası veya yanıt vermiyor",
"Could not post comment: %s": "Yorum paylaşılamadı: %s",
"Sending paste…": "Yazı gönderiliyor…",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "Yazınız: <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">([Ctrl]+[c] tuşlarına basarak kopyalayın.)</span>",
"Delete data": "Veriyi sil",
"Could not create paste: %s": "Yazı oluşturulamadı: %s",
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "Yazı şifresi çözülemedi, çözme anahtarı URL'de bulunamadı. (Buraya bir yönlendirici veya URL kısaltıcı kullanarak gelmiş olabilirsiniz.)",
"B": "B",
"KiB": "KiB",
"MiB": "MiB",
"GiB": "GiB",
"TiB": "TiB",
"PiB": "PiB",
"EiB": "EiB",
"ZiB": "ZiB",
"YiB": "YiB",
"Format": "Format",
"Plain Text": "Düz Yazı",
"Source Code": "Kaynak Kodu",
"Markdown": "Markdown",
"Download attachment": "Eki indir",
"Cloned: '%s'": "Klonlandı: '%s'",
"The cloned file '%s' was attached to this paste.": "Klonlanmış dosya '%s' bu yazıya eklendi.",
"Attach a file": "Dosya ekle",
"alternatively drag & drop a file or paste an image from the clipboard": "alternatif olarak dosyasyı yapıştırabilir veya sürükleyip bırakabilirsin",
"File too large, to display a preview. Please download the attachment.": "Dosya önizleme için çok büyük. Lütfen eki indirin.",
"Remove attachment": "Eki sil",
"Your browser does not support uploading encrypted files. Please use a newer browser.": "Tarayıcınız şifreli dosyaları desteklemiyor.",
"Invalid attachment.": "Geçersiz ek.",
"Options": "Seçenekler",
"Shorten URL": "URL kısaltma",
"Editor": "Düzenleyici",
"Preview": "Ön izleme",
"%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": "Şifreyi çöz",
"Enter password": "Şifreyi girin",
"Loading…": "Yükleniyor…",
"Decrypting paste…": "Yazı şifresi çözülüyor…",
"Preparing new paste…": "Yeni yazı hazırlanıyor…",
"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": "Yazı verisi alınamıyor: %s",
"QR code": "QR kodu",
"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.": "Dosya şifresi çözülemedi, doğru şifreyi kullandığınıza emin misiniz? Üstteki buton ile tekrar deneyin.",
"Retry": "Yeniden Dene",
"Showing raw text…": "Açık yazı gösteriliyor…",
"Notice:": "Bildirim:",
"This link will expire after %s.": "Bu bağlantı şu kadar zaman sonra etkisiz kalacaktır: %s.",
"This link can only be accessed once, do not use back or refresh button in your browser.": "Bu bağlantı sadece bir kere erişilebilir, lütfen sayfayı yenilemeyiniz.",
"Link:": "Bağlantı:",
"Recipient may become aware of your timezone, convert time to UTC?": "Alıcı zaman dilmini öğrenebilir, zaman dilimini UTC'ye çevirmek ister misin?",
"Use Current Timezone": "Şuanki zaman dilimini kullan",
"Convert To UTC": "UTC zaman dilimine çevir",
"Close": "Kapat",
"Encrypted note on %s": "%s üzerinde şifrelenmiş not",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Notu görmek için bu bağlantıyı ziyaret et. Bağlantıya sahip olan birisi notu görebilir.",
"URL shortener may expose your decrypt key in URL.": "URL kısaltıcı şifreleme anahtarınızı URL içerisinde gösterebilir.",
"Save paste": "Yazıyı kaydet",
"Your IP is not authorized to create pastes.": "IP adresinizin yazı oluşturmaya yetkisi yoktur.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

219
i18n/uk.json Normal file
View File

@ -0,0 +1,219 @@
{
"PrivateBin": "PrivateBin",
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s це мінімалістичний Open Source проєкт для створення нотаток, де сервер не знає нічого про дані, що зберігаються. Дані шифруються/розшифровуються %sу переглядачі%s з використанням 256-бітного шифрувания AES.",
"More information on the <a href=\"https://privatebin.info/\">project page</a>.": "Подробиці можна дізнатися на <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.": [
"Будь ласка, зачекайте %d секунду між створеннями.",
"Будь ласка, зачекайте %d секунди між створеннями.",
"Будь ласка, зачекайте %d секунд між створеннями.",
"Будь ласка, зачекайте %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. 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 секунд",
"%d секунд",
"%d секунд"
],
"%d minutes": [
"%d хвилину",
"%d хвилини",
"%d хвилин",
"%d хвилин",
"%d хвилин",
"%d хвилин"
],
"%d hours": [
"%d годину",
"%d години",
"%d годин",
"%d годин",
"%d годин",
"%d годин"
],
"%d days": [
"%d день",
"%d дні",
"%d днів",
"%d днів",
"%d днів",
"%d днів"
],
"%d weeks": [
"%d тиждень",
"%d тижні",
"%d тижнів",
"%d тижнів",
"%d тижнів",
"%d тижнів"
],
"%d months": [
"%d місяць",
"%d місяці",
"%d місяців",
"%d місяців",
"%d місяців",
"%d місяців"
],
"%d years": [
"%d рік",
"%d роки",
"%d років",
"%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 секунд.",
"Документ буде вилучений через %d секунд.",
"Документ буде вилучений через %d секунд.",
"Документ буде вилучений через %d секунд."
],
"This document will expire in %d minutes.": [
"Документ буде вилучений через %d хвилину.",
"Документ буде вилучений через %d хвилини.",
"Документ буде вилучений через %d хвилин.",
"Документ буде вилучений через %d хвилин.",
"Документ буде вилучений через %d хвилин.",
"Документ буде вилучений через %d хвилин."
],
"This document will expire in %d hours.": [
"Документ буде вилучений через %d годину.",
"Документ буде вилучений через %d години.",
"Документ буде вилучений через %d годин.",
"Документ буде вилучений через %d годин.",
"Документ буде вилучений через %d годин.",
"Документ буде вилучений через %d годин."
],
"This document will expire in %d days.": [
"Документ буде вилучений через %d день.",
"Документ буде вилучений через %d дні.",
"Документ буде вилучений через %d днів.",
"Документ буде вилучений через %d днів.",
"Документ буде вилучений через %d днів.",
"Документ буде вилучений через %d днів."
],
"This document will expire in %d months.": [
"Документ буде вилучений через %d місяць.",
"Документ буде вилучений через %d місяці.",
"Документ буде вилучений через %d місяців.",
"Документ буде вилучений через %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?)": "Неможливо розшифрувати запис: Ключ дешифрування відсутній в посиланні (Можливо, ви використовуєте скорочувач посилань, що видаляє частину посилання?)",
"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": "очікування користувача для вводу паролю",
"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 %s": "Зашифрована нотатка на %s",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "Відвідайте посилання, щоб переглянути нотатку. Передача посилання будь-кому дозволить їм переглянути нотатку.",
"URL shortener may expose your decrypt key in URL.": "Сервіс скорочення посилань може викрити ваш ключ дешифрування з URL.",
"Save paste": "Зберегти вставку",
"Your IP is not authorized to create pastes.": "Вашому IP не дозволено створювати вставки.",
"Trying to shorten a URL that isn't pointing at our instance.": "Trying to shorten a URL that isn't pointing at our instance.",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".",
"Error parsing YOURLS response.": "Error parsing YOURLS response."
}

View File

@ -1,159 +1,219 @@
{ {
"PrivateBin": "PrivateBin", "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 %sin the browser%s using 256 bits AES.": "%s 是一个极简、开源、对粘贴内容毫不知情的在线粘贴板,数据%s在浏览器内%s进行 AES-256 加密和解密。",
"%s是一个极简开源对粘贴内容毫不知情的在线粘贴板数据<i>在浏览器内</i>进行AES-256加密。更多信息请查看<a href=\"https://privatebin.info/\">项目主页</a>。", "More information on the <a href=\"https://privatebin.info/\">project page</a>.": "更多信息请查看<a href=\"https://privatebin.info/\">项目主页</a>。",
"Because ignorance is bliss": "Because ignorance is bliss": "因为无知是福",
"因为无知是福",
"en": "zh", "en": "zh",
"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 需要 PHP %s 及以上版本才能运行。",
"%s requires php %s or above to work. Sorry.": "%s requires configuration section [%s] to be present in configuration file.": "%s 需要设置配置文件中的 [%s] 部分。",
"%s需要工作于PHP %s及以上版本抱歉。", "Please wait %d seconds between each post.": [
"%s requires configuration section [%s] to be present in configuration file.":
"%s需要设置配置文件中 [%s] 的部分。",
"Please wait %d seconds between each post.":
"每 %d 秒只能粘贴一次。", "每 %d 秒只能粘贴一次。",
"Paste is limited to %s of encrypted data.": "每 %d 秒只能粘贴一次。",
"粘贴受限于 %s 加密数据。", "每 %d 秒只能粘贴一次。",
"Invalid data.": "每 %d 秒只能粘贴一次。",
"无效的数据。", "每 %d 秒只能粘贴一次。",
"You are unlucky. Try again.": "每 %d 秒只能粘贴一次。"
"请再试一次。", ],
"Error saving comment. Sorry.": "Paste is limited to %s of encrypted data.": "对于加密数据,上限为 %s。",
"存储评论时出现错误,抱歉。", "Invalid data.": "无效的数据。",
"Error saving paste. Sorry.": "You are unlucky. Try again.": "请再试一次。",
"存储粘贴时出现错误,抱歉。", "Error saving comment. Sorry.": "保存评论时出现错误,抱歉。",
"Invalid paste ID.": "Error saving paste. Sorry.": "保存粘贴内容时出现错误,抱歉。",
"无效的ID。", "Invalid paste ID.": "无效的 ID。",
"Paste is not of burn-after-reading type.": "Paste is not of burn-after-reading type.": "粘贴内容不是阅后即焚类型。",
"粘贴不是阅后即焚类型。", "Wrong deletion token. Paste was not deleted.": "错误的删除token粘贴内容没有被删除。",
"Wrong deletion token. Paste was not deleted.": "Paste was properly deleted.": "粘贴内容已被正确删除。",
"错误的删除token粘贴没有被删除。", "JavaScript is required for %s to work. Sorry for the inconvenience.": "%s 需要 JavaScript 来进行加解密。 给你带来的不便敬请谅解。",
"Paste was properly deleted.": "%s requires a modern browser to work.": "%s 需要在现代浏览器上工作。",
"粘贴已被正确删除。", "New": "新建",
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.": "Send": "送出",
"%s需要JavaScript来进行加解密。<br />带来的不便敬请谅解。", "Clone": "复制",
"%s requires a modern browser to work.": "Raw text": "纯文本",
"%s需要工作于现代化的浏览器。", "Expires": "有效期",
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:": "Burn after reading": "阅后即焚",
"还在使用Internet Explorer帮自己个忙换上一个现代化的浏览器", "Open discussion": "开放讨论",
"New": "Password (recommended)": "密码(推荐)",
"新建", "Discussion": "讨论",
"Send": "Toggle navigation": "切换导航栏",
"送出", "%d seconds": [
"Clone": "%d 秒",
"克隆", "%d 秒",
"Raw text": "%d 秒",
"纯文本", "%d 秒",
"Expires": "%d 秒",
"有效期", "%d 秒"
"Burn after reading": ],
"阅后即焚", "%d minutes": [
"Open discussion": "%d 分钟",
"开放讨论", "%d 分钟",
"Password (recommended)": "%d 秒",
"密码 (推荐)", "%d 秒",
"Discussion": "%d 秒",
"讨论", "%d 秒"
"Toggle navigation": ],
"切换导航栏", "%d hours": [
"%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 年"], ],
"Never": "%d days": [
"永不过期", "%d 天",
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "%d 天",
"注意:这是一个测试服务,数据随时可能被删除。如果你滥用这个服务的话,小猫咪会死的。", "%d 天",
"This document will expire in %d seconds.": "%d 天",
["这份文档将在一秒后过期。", "这份文档将在 %d 秒后过期"], "%d 天",
"This document will expire in %d minutes.": "%d 天"
["这份文档将在一分钟后过期。", "这份文档将在 %d 分钟后过期。"], ],
"This document will expire in %d hours.": "%d weeks": [
["这份文档将在一小时后过期。", "这份文档将在 %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:": "%d 周"
"请输入这份粘贴的密码:", ],
"Could not decrypt data (Wrong key?)": "%d months": [
"无法解密数据 (密钥错误?)", "%d 个月",
"Could not delete the paste, it was not stored in burn after reading mode.": "%d 个月",
"无法删除此粘贴,它没有以阅后即焚模式存储。", "%d 个月",
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "%d 个月",
"看!仔!细!了! 不要关闭窗口,否则你再也见不到这条消息了。", "%d 个月",
"Could not decrypt comment; Wrong key?": "%d 个月"
"无法解密评论; 密钥错误?", ],
"Reply": "%d years": [
"回复", "%d 年",
"Anonymous": "%d 年",
"匿名", "%d 年",
"Avatar generated from IP address": "%d 年",
"由IP生成的头像", "%d 年",
"Add comment": "%d 年"
"添加评论", ],
"Optional nickname…": "Never": "永不过期",
"可选昵称…", "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "注意:这是一个测试服务,数据随时可能被删除。如果你滥用这个服务的话,小猫咪会死的。",
"Post comment": "This document will expire in %d seconds.": [
"评论", "这份文档将在一秒后过期。",
"Sending comment…": "这份文档将在 %d 秒后过期。",
"评论发送中…", "这份文档将在 %d 秒后过期。",
"Comment posted.": "这份文档将在 %d 秒后过期。",
"评论已发送。", "这份文档将在 %d 秒后过期。",
"Could not refresh display: %s": "这份文档将在 %d 秒后过期。"
"无法刷新显示: %s", ],
"unknown status": "This document will expire in %d minutes.": [
"未知状态", "这份文档将在一分钟后过期。",
"server error or not responding": "这份文档将在 %d 分钟后过期。",
"服务器错误或无回应", "这份文档将在 %d 分钟后过期。",
"Could not post comment: %s": "这份文档将在 %d 分钟后过期。",
"无法发送评论: %s", "这份文档将在 %d 分钟后过期。",
"Please move your mouse for more entropy…": "这份文档将在 %d 分钟后过期。"
"请移动鼠标增加随机性…", ],
"Sending paste…": "This document will expire in %d hours.": [
"粘贴提交中…", "这份文档将在一小时后过期。",
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>": "这份文档将在 %d 小时后过期。",
"您的粘贴的链接是<a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(按下 [Ctrl]+[c] 以复制)</span>", "这份文档将在 %d 小时后过期。",
"Delete data": "这份文档将在 %d 小时后过期。",
"删除数据", "这份文档将在 %d 小时后过期。",
"Could not create paste: %s": "这份文档将在 %d 小时后过期。"
"无法创建粘贴: %s", ],
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "This document will expire in %d days.": [
"无法解密粘贴: URL中缺失解密密钥 (是否使用了重定向或者短链接导致密钥丢失?)", "这份文档将在一天后过期。",
"这份文档将在 %d 天后过期。",
"这份文档将在 %d 天后过期。",
"这份文档将在 %d 天后过期。",
"这份文档将在 %d 天后过期。",
"这份文档将在 %d 天后过期。"
],
"This document will expire in %d months.": [
"这份文档将在一个月后过期。",
"这份文档将在 %d 个月后过期。",
"这份文档将在 %d 个月后过期。",
"这份文档将在 %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?)": "无法解密粘贴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", "Markdown": "Markdown",
"Download attachment": "下载附件", "Download attachment": "下载附件",
"Cloned: '%s'": "克隆: '%s'", "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": "添加一个附件", "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", "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.", "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.": "%s 的 PATH 变量必须结束于“%s”。 请修改你的 index.php 中的 PATH 变量。",
"%s 的 PATH 变量必须结束于 \"%s\"。 请修改你的 index.php 中的 PATH 变量。", "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=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">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>.": "如果此消息一直存在,请参考 <a href=\"%s\">这里的 FAQ英文版</a>排除故障。",
"如果这个消息一直不消失,请参考 <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">这里的 FAQ 进行故障排除</a> (英文版)。", "+++ no paste text +++": "+++ 无粘贴内容 +++",
"+++ no paste text +++": "+++ 没有粘贴内容 +++", "Could not get paste data: %s": "无法获取粘贴数据:%s",
"Could not get paste data: %s": "QR code": "二维码",
"Could not get paste data: %s" "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 %s": "%s 上的加密笔记",
"Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "访问此链接来查看该笔记。将此 URL 发送给任何人即可允许其访问该笔记。",
"URL shortener may expose your decrypt key in URL.": "短链接服务可能会暴露您在 URL 中的解密密钥。",
"Save paste": "保存内容",
"Your IP is not authorized to create pastes.": "您的 IP 无权创建粘贴。",
"Trying to shorten a URL that isn't pointing at our instance.": "尝试缩短一个不指向我们实例的URL。",
"Error calling YOURLS. Probably a configuration issue, like wrong or missing \"apiurl\" or \"signature\".": "调用 YOURLS 时出错。可能是配置问题例如“apiurl”或“signature”错误或缺失。",
"Error parsing YOURLS response.": "解析 YOURLS 响应时出错。"
} }

90
img/browserstack.svg Normal file
View File

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 490.1 105.6" style="enable-background:new 0 0 490.1 105.6;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F4B960;}
.st1{fill:#E66F32;}
.st2{fill:#E43C41;}
.st3{fill:#BDD041;}
.st4{fill:#6DB54C;}
.st5{fill:#AEDAE6;}
.st6{fill:#56B8DE;}
.st7{fill:#00B1D5;}
.st8{fill:url(#SVGID_1_);}
.st9{fill:#221F1F;}
.st10{fill:#FFFFFF;}
.st11{fill:#000111;}
</style>
<title>Browserstack-logo-white</title>
<circle class="st0" cx="52.8" cy="52.8" r="52.8"/>
<circle class="st1" cx="47.5" cy="47.5" r="47.5"/>
<circle class="st2" cx="53.8" cy="41.1" r="41.1"/>
<circle class="st3" cx="57.1" cy="44.4" r="37.8"/>
<circle class="st4" cx="54.3" cy="47.2" r="35.1"/>
<circle class="st5" cx="48.8" cy="41.7" r="29.5"/>
<circle class="st6" cx="53.6" cy="36.8" r="24.7"/>
<circle class="st7" cx="56.6" cy="39.9" r="21.7"/>
<radialGradient id="SVGID_1_" cx="53.45" cy="63.02" r="18.57" gradientTransform="matrix(1 0 0 -1 0 106)" gradientUnits="userSpaceOnUse">
<stop offset="0" style="stop-color:#797979"/>
<stop offset="1" style="stop-color:#4C4C4C"/>
</radialGradient>
<circle class="st8" cx="53.5" cy="43" r="18.6"/>
<circle class="st9" cx="53.5" cy="43" r="18.6"/>
<ellipse transform="matrix(0.4094 -0.9123 0.9123 0.4094 2.8913 76.9251)" class="st10" cx="60.9" cy="36.2" rx="5.7" ry="3.7"/>
<path class="st11" d="M122.5,32.6c0-0.3,0.3-0.6,0.6-0.6c0,0,0,0,0.1,0h16.6c9.5,0,13.9,4.4,13.9,11c0.2,3.7-1.8,7.2-5.2,8.8v0.1
c3.7,1.5,6.1,5.2,6,9.3c0,8.2-5.6,12.2-15.4,12.2h-16c-0.3,0-0.6-0.2-0.7-0.5c0,0,0,0,0-0.1L122.5,32.6L122.5,32.6z M139.6,49.1
c3.9,0,6.4-2.2,6.4-5.4s-2.4-5.5-6.4-5.5h-8.9c-0.2,0-0.4,0.1-0.4,0.3c0,0,0,0,0,0.1v10.2c0,0.2,0.1,0.3,0.3,0.4c0,0,0,0,0.1,0
H139.6L139.6,49.1z M130.6,66.9h9.3c4.3,0,6.8-2.3,6.8-5.8s-2.4-5.7-6.7-5.7h-9.3c-0.2,0-0.4,0.1-0.4,0.3c0,0,0,0,0,0.1v10.7
C130.3,66.8,130.4,66.9,130.6,66.9C130.6,66.9,130.6,66.9,130.6,66.9L130.6,66.9z"/>
<path class="st11" d="M159.9,73.3c-0.3,0-0.6-0.2-0.7-0.5c0,0,0,0,0-0.1V44.6c0-0.3,0.3-0.6,0.6-0.6c0,0,0,0,0.1,0h6
c0.3,0,0.6,0.2,0.7,0.5c0,0,0,0,0,0.1v2.5h0.1c1.5-2.2,4.2-3.8,8.2-3.8c2.4,0,4.8,0.8,6.6,2.4c0.3,0.3,0.4,0.5,0.1,0.8l-3.5,4.1
c-0.2,0.3-0.6,0.4-0.9,0.2c0,0,0,0-0.1,0c-1.4-0.9-3-1.4-4.7-1.4c-4.1,0-6,2.7-6,7.4v15.9c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0
H159.9L159.9,73.3z"/>
<path class="st11" d="M182.9,65.8c-0.8-2.3-1.1-4.8-1.1-7.2c-0.1-2.5,0.3-4.9,1.1-7.2c1.8-5.1,6.6-8.1,13.1-8.1s11.2,3,13,8.1
c0.8,2.3,1.1,4.8,1.1,7.2c0.1,2.5-0.3,4.9-1.1,7.2c-1.8,5.1-6.6,8.1-13,8.1S184.7,71,182.9,65.8z M201.9,64c0.5-1.7,0.8-3.6,0.7-5.4
c0.1-1.8-0.1-3.7-0.7-5.4c-0.9-2.5-3.3-4-5.9-3.8c-2.6-0.2-5.1,1.4-6,3.8c-0.5,1.8-0.8,3.6-0.7,5.4c-0.1,1.8,0.1,3.7,0.7,5.4
c0.9,2.5,3.4,4,6,3.8C198.6,68,201,66.5,201.9,64L201.9,64z"/>
<path class="st11" d="M241.9,73.3c-0.4,0-0.7-0.3-0.8-0.6L235,53.9h-0.1l-6.2,18.7c-0.1,0.4-0.4,0.6-0.8,0.6h-5.4
c-0.4,0-0.7-0.3-0.8-0.6l-10-28.1c-0.1-0.2,0-0.5,0.2-0.6c0.1,0,0.2-0.1,0.3,0h6.3c0.4,0,0.8,0.2,0.9,0.6l6.1,19.3h0.1l6-19.3
c0.1-0.4,0.5-0.6,0.9-0.6h4.7c0.4,0,0.7,0.2,0.9,0.6l6.4,19.3h0.1l5.8-19.3c0.1-0.4,0.5-0.7,0.9-0.6h6.3c0.2-0.1,0.5,0.1,0.5,0.3
c0,0.1,0,0.2,0,0.3l-10,28.1c-0.1,0.4-0.4,0.6-0.8,0.6L241.9,73.3L241.9,73.3z"/>
<path class="st11" d="M259.3,69.3c-0.2-0.2-0.3-0.6-0.1-0.8c0,0,0,0,0.1-0.1l3.7-3.6c0.3-0.2,0.7-0.2,0.9,0c2.6,2.1,5.9,3.3,9.3,3.3
c3.9,0,5.9-1.5,5.9-3.5c0-1.8-1.1-2.9-5.2-3.2l-3.4-0.3c-6.4-0.6-9.7-3.6-9.7-8.6c0-5.7,4.4-9.2,12.3-9.2c4.2-0.1,8.4,1.2,11.9,3.6
c0.3,0.2,0.3,0.5,0.2,0.8c0,0,0,0,0,0.1l-3.2,3.6c-0.2,0.3-0.6,0.3-0.9,0.1c-2.5-1.5-5.4-2.4-8.3-2.4c-3.1,0-4.8,1.3-4.8,3
s1.1,2.7,5.2,3.1l3.4,0.3c6.6,0.6,9.8,3.8,9.8,8.6c0,5.8-4.6,9.9-13.3,9.9C268,74,263.2,72.4,259.3,69.3z"/>
<path class="st11" d="M291.2,65.8c-0.8-2.3-1.2-4.7-1.1-7.2c-0.1-2.5,0.3-4.9,1-7.2c1.8-5.1,6.6-8.1,12.9-8.1c6.5,0,11.2,3.1,13,8.1
c0.7,2.1,1,4.1,1,8.8c0,0.3-0.3,0.6-0.6,0.6c0,0-0.1,0-0.1,0h-19.5c-0.2,0-0.4,0.1-0.4,0.3c0,0,0,0,0,0.1c0,0.8,0.2,1.5,0.5,2.2
c1,2.9,3.5,4.4,7.1,4.4c2.7,0.1,5.4-0.9,7.4-2.8c0.2-0.3,0.7-0.4,1-0.1c0,0,0,0,0,0l3.9,3.2c0.2,0.1,0.3,0.5,0.2,0.7
c0,0.1-0.1,0.1-0.1,0.1c-2.7,2.9-7.2,5-13,5C297.8,73.9,293,70.9,291.2,65.8z M310.4,52.8c-0.9-2.4-3.2-3.8-6.2-3.8
s-5.4,1.4-6.2,3.8c-0.3,0.8-0.4,1.6-0.4,2.5c0,0.2,0.1,0.3,0.3,0.4c0,0,0,0,0.1,0h12.4c0.2,0,0.4-0.1,0.4-0.3c0,0,0,0,0-0.1
C310.8,54.5,310.6,53.6,310.4,52.8L310.4,52.8z"/>
<path class="st11" d="M323.6,73.3c-0.3,0-0.6-0.2-0.7-0.5c0,0,0,0,0-0.1V44.6c0-0.3,0.3-0.6,0.6-0.6c0,0,0,0,0.1,0h6
c0.3,0,0.6,0.2,0.7,0.5c0,0,0,0,0,0.1v2.5h0.1c1.5-2.2,4.2-3.8,8.2-3.8c2.4,0,4.8,0.8,6.6,2.4c0.3,0.3,0.4,0.5,0.1,0.8l-3.5,4.1
c-0.2,0.3-0.6,0.4-0.9,0.2c0,0,0,0-0.1,0c-1.4-0.9-3-1.4-4.7-1.4c-4.1,0-6,2.7-6,7.4v15.9c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0
H323.6L323.6,73.3z"/>
<path class="st11" d="M346.5,68.5c-0.3-0.2-0.4-0.6-0.2-0.9c0,0,0,0,0,0l4.1-4.4c0.2-0.3,0.6-0.3,0.9-0.1c0,0,0,0,0,0
c3.5,2.7,7.7,4.2,12.1,4.4c5.3,0,8.4-2.5,8.4-6c0-3-2-4.9-8.1-5.7l-2.4-0.3c-8.6-1.1-13.5-4.9-13.5-11.8c0-7.5,5.9-12.4,15.1-12.4
c5.1-0.1,10.1,1.4,14.5,4.2c0.3,0.1,0.4,0.4,0.2,0.7c0,0.1-0.1,0.1-0.1,0.2l-3.1,4.5c-0.2,0.3-0.6,0.4-0.9,0.2
c-3.2-2.1-6.9-3.2-10.7-3.2c-4.5,0-7,2.3-7,5.5c0,2.9,2.2,4.8,8.2,5.6l2.4,0.3c8.6,1.1,13.3,4.9,13.3,12c0,7.3-5.7,12.8-16.8,12.8
C356.3,73.9,350,71.5,346.5,68.5z"/>
<path class="st11" d="M393.3,73.8c-6.4,0-8.8-2.9-8.8-8.6V49.8c0-0.2-0.1-0.3-0.3-0.4c0,0,0,0-0.1,0H382c-0.3,0-0.6-0.2-0.7-0.5
c0,0,0,0,0-0.1v-4.1c0-0.3,0.3-0.6,0.6-0.6c0,0,0,0,0.1,0h2.1c0.2,0,0.4-0.1,0.4-0.3c0,0,0,0,0-0.1v-8c0-0.3,0.3-0.6,0.6-0.6
c0,0,0,0,0.1,0h6c0.3,0,0.6,0.2,0.7,0.5c0,0,0,0,0,0.1v8c0,0.2,0.1,0.3,0.3,0.4c0,0,0,0,0.1,0h4.2c0.3,0,0.6,0.2,0.7,0.5
c0,0,0,0,0,0.1v4.1c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0h-4.2c-0.2,0-0.4,0.1-0.4,0.3c0,0,0,0,0,0.1V65c0,2.1,0.9,2.7,3,2.7h1.6
c0.3,0,0.6,0.2,0.7,0.5c0,0,0,0,0,0.1v4.9c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0L393.3,73.8L393.3,73.8z"/>
<path class="st11" d="M421.2,73.3c-0.3,0-0.6-0.2-0.7-0.5c0,0,0,0,0-0.1v-2.1h0c-1.5,2-4.5,3.4-8.9,3.4c-5.8,0-10.6-2.8-10.6-8.9
c0-6.4,4.9-9.3,12.7-9.3h6.4c0.2,0,0.4-0.1,0.4-0.3c0,0,0,0,0-0.1v-1.4c0-3.3-1.7-4.9-7-4.9c-2.6-0.1-5.1,0.6-7.2,2
c-0.3,0.2-0.7,0.2-0.9-0.1c0,0,0,0,0-0.1l-2.4-4c-0.2-0.2-0.1-0.6,0.1-0.8c0,0,0,0,0,0c2.6-1.7,6-2.9,11.2-2.9
c9.6,0,13.2,3,13.2,10.2v19.1c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0H421.2L421.2,73.3z M420.4,63.4v-2.2c0-0.2-0.1-0.3-0.3-0.4
c0,0,0,0-0.1,0h-5.2c-4.7,0-6.8,1.2-6.8,3.9c0,2.4,1.9,3.6,5.5,3.6C417.9,68.4,420.4,66.8,420.4,63.4L420.4,63.4z"/>
<path class="st11" d="M433.1,65.8c-0.7-2.3-1.1-4.8-1-7.2c-0.1-2.4,0.3-4.9,1-7.2c1.8-5.2,6.7-8.1,13.1-8.1c4.2-0.2,8.2,1.5,11,4.6
c0.2,0.2,0.2,0.6,0,0.8c0,0,0,0-0.1,0.1l-4.1,3.3c-0.3,0.2-0.7,0.2-0.9-0.1c0,0,0,0,0-0.1c-1.5-1.7-3.6-2.6-5.9-2.5
c-2.8,0-5,1.3-5.9,3.8c-0.5,1.8-0.8,3.6-0.7,5.4c-0.1,1.8,0.1,3.7,0.7,5.5c0.9,2.5,3.1,3.8,5.9,3.8c2.2,0.1,4.4-0.9,5.9-2.6
c0.2-0.3,0.6-0.3,0.9-0.1c0,0,0,0,0,0l4.1,3.3c0.3,0.2,0.3,0.5,0.1,0.8c0,0,0,0-0.1,0.1c-2.9,3-6.9,4.6-11,4.5
C439.8,73.9,435,71.1,433.1,65.8z"/>
<path class="st11" d="M482.8,73.3c-0.4,0-0.8-0.2-1-0.6l-8-12.3l-4.3,4.6v7.7c0,0.3-0.3,0.6-0.6,0.6c0,0,0,0-0.1,0h-6
c-0.3,0-0.6-0.2-0.7-0.5c0,0,0,0,0-0.1V32.6c0-0.3,0.3-0.6,0.6-0.6c0,0,0,0,0.1,0h6c0.3,0,0.6,0.2,0.7,0.5c0,0,0,0,0,0.1v23.8
l10.8-11.8c0.3-0.4,0.8-0.6,1.2-0.6h6.7c0.2,0,0.4,0.1,0.4,0.3c0,0.1,0,0.3-0.1,0.3l-10.1,10.7L490,72.7c0.1,0.2,0.1,0.4,0,0.5
c-0.1,0.1-0.2,0.1-0.3,0.1H482.8L482.8,73.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
img/icon_email.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

View File

@ -7,7 +7,7 @@
* @link https://github.com/PrivateBin/PrivateBin * @link https://github.com/PrivateBin/PrivateBin
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net) * @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
* @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License * @license https://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
* @version 1.2.2 * @version 1.6.0
*/ */
// change this, if your php files and data is outside of your webservers document root // change this, if your php files and data is outside of your webservers document root

9
js/.nycrc.yml Normal file
View File

@ -0,0 +1,9 @@
---
include:
- legacy.js
- privatebin.js
reporter:
- text
- html
report-dir: ../tst/log/js-coverage-report
temp-dir: /tmp/nyc-output

122
js/base-x-4.0.0.js Normal file
View File

@ -0,0 +1,122 @@
'use strict';
// base-x encoding / decoding
// 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)
for (var j = 0; j < BASE_MAP.length; j++) {
BASE_MAP[j] = 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 instanceof Uint8Array) {
} else if (ArrayBuffer.isView(source)) {
source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)
} else if (Array.isArray(source)) {
source = Uint8Array.from(source)
}
if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }
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 new Uint8Array() }
var psz = 0
// 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 leading zeroes in b256.
var it4 = size - length
while (it4 !== size && b256[it4] === 0) {
it4++
}
var vch = new Uint8Array(zeroes + (size - it4))
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);

View File

@ -1 +0,0 @@
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory(global):typeof define==="function"&&define.amd?define(factory):factory(global)})(typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this,function(global){"use strict";var _Base64=global.Base64;var version="2.4.5";var buffer;if(typeof module!=="undefined"&&module.exports){try{buffer=require("buffer").Buffer}catch(err){}}var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i<l;i++)t[bin.charAt(i)]=i;return t}(b64chars);var fromCharCode=String.fromCharCode;var cb_utob=function(c){if(c.length<2){var cc=c.charCodeAt(0);return cc<128?c:cc<2048?fromCharCode(192|cc>>>6)+fromCharCode(128|cc&63):fromCharCode(224|cc>>>12&15)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return fromCharCode(240|cc>>>18&7)+fromCharCode(128|cc>>>12&63)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|(ccc.length>1?ccc.charCodeAt(1):0)<<8|(ccc.length>2?ccc.charCodeAt(2):0),chars=[b64chars.charAt(ord>>>18),b64chars.charAt(ord>>>12&63),padlen>=2?"=":b64chars.charAt(ord>>>6&63),padlen>=1?"=":b64chars.charAt(ord&63)];return chars.join("")};var btoa=global.btoa?function(b){return global.btoa(b)}:function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=buffer?buffer.from&&Uint8Array&&buffer.from!==Uint8Array.from?function(u){return(u.constructor===buffer.constructor?u:buffer.from(u)).toString("base64")}:function(u){return(u.constructor===buffer.constructor?u:new buffer(u)).toString("base64")}:function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(String(u)):_encode(String(u)).replace(/[+\/]/g,function(m0){return m0=="+"?"-":"_"}).replace(/=/g,"")};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g");var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return fromCharCode((offset>>>10)+55296)+fromCharCode((offset&1023)+56320);case 3:return fromCharCode((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return fromCharCode((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(n&255)];chars.length-=[0,0,2,1][padlen];return chars.join("")};var atob=global.atob?function(a){return global.atob(a)}:function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=buffer?buffer.from&&Uint8Array&&buffer.from!==Uint8Array.from?function(a){return(a.constructor===buffer.constructor?a:buffer.from(a,"base64")).toString()}:function(a){return(a.constructor===buffer.constructor?a:new buffer(a,"base64")).toString()}:function(a){return btou(atob(a))};var decode=function(a){return _decode(String(a).replace(/[-_]/g,function(m0){return m0=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};var noConflict=function(){var Base64=global.Base64;global.Base64=_Base64;return Base64};global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode,noConflict:noConflict};if(typeof Object.defineProperty==="function"){var noEnum=function(v){return{value:v,enumerable:false,writable:true,configurable:true}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",noEnum(function(){return decode(this)}));Object.defineProperty(String.prototype,"toBase64",noEnum(function(urisafe){return encode(this,urisafe)}));Object.defineProperty(String.prototype,"toBase64URI",noEnum(function(){return encode(this,true)}))}}if(global["Meteor"]){Base64=global.Base64}if(typeof module!=="undefined"&&module.exports){module.exports.Base64=global.Base64}else if(typeof define==="function"&&define.amd){define([],function(){return global.Base64})}return{Base64:global.Base64}});

File diff suppressed because one or more lines are too long

6
js/bootstrap-3.4.1.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,16 +1,35 @@
{ {
"@context": { "@context": {
"so": "https://schema.org/", "so": "https://schema.org/",
"status": "so:Integer", "pb": "?jsonld=types#",
"id": "so:name", "cm": "?jsonld=commentmeta#",
"parentid": "so:name", "status": {
"url: { "@type": "so:Integer"
"@id": "so:url", },
"@type": "@id" "id": {
"@type": "so:name"
},
"pasteid": {
"@type": "so:name"
},
"parentid": {
"@type": "so:name"
},
"url": {
"@type": "so:url"
},
"v": {
"@type": "so:Integer",
"@value": 2
},
"ct": {
"@type": "pb:CipherText"
},
"adata": {
"@type": "pb:CipherParameters"
}, },
"data": "so:Text",
"meta": { "meta": {
"@id": "?jsonld=commentmeta" "@type": "cm:MetaData"
} }
} }
} }

View File

@ -1,8 +1,14 @@
{ {
"@context": { "@context": {
"so": "https://schema.org/", "so": "https://schema.org/",
"postdate": "so:Integer", "pb": "?jsonld=types#"
"nickname": "so:Text", },
"vizhash": "so:Text" "MetaData": {
"created": {
"@type": "CreationTime"
},
"icon": {
"@type": "so:url"
}
} }
} }

View File

@ -5,26 +5,30 @@ global.assert = require('assert');
global.jsc = require('jsverify'); global.jsc = require('jsverify');
global.jsdom = require('jsdom-global'); global.jsdom = require('jsdom-global');
global.cleanup = global.jsdom(); global.cleanup = global.jsdom();
global.URL = require('jsdom-url').URL;
global.fs = require('fs'); global.fs = require('fs');
global.WebCrypto = require('@peculiar/webcrypto').Crypto;
// application libraries to test // application libraries to test
global.$ = global.jQuery = require('./jquery-3.4.1'); global.$ = global.jQuery = require('./jquery-3.7.0');
global.sjcl = require('./sjcl-1.0.8'); global.RawDeflate = require('./rawinflate-0.3').RawDeflate;
global.Base64 = require('./base64-2.4.5').Base64; global.zlib = require('./zlib-1.2.13').zlib;
global.RawDeflate = require('./rawdeflate-0.5').RawDeflate;
global.RawDeflate.inflate = require('./rawinflate-0.3').RawDeflate.inflate;
require('./prettify'); require('./prettify');
global.prettyPrint = window.PR.prettyPrint; global.prettyPrint = window.PR.prettyPrint;
global.prettyPrintOne = window.PR.prettyPrintOne; global.prettyPrintOne = window.PR.prettyPrintOne;
global.showdown = require('./showdown-1.9.1'); global.showdown = require('./showdown-2.1.0');
global.DOMPurify = require('./purify-2.0.7'); global.DOMPurify = require('./purify-3.0.4');
require('./bootstrap-3.3.7'); global.baseX = require('./base-x-4.0.0').baseX;
global.Legacy = require('./legacy').Legacy;
require('./bootstrap-3.4.1');
require('./privatebin'); require('./privatebin');
// internal variables // internal variables
var a2zString = ['a','b','c','d','e','f','g','h','i','j','k','l','m', var a2zString = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'], 'n','o','p','q','r','s','t','u','v','w','x','y','z'],
alnumString = a2zString.concat(['0','1','2','3','4','5','6','7','8','9']), digitString = ['0','1','2','3','4','5','6','7','8','9'],
alnumString = a2zString.concat(digitString),
hexString = digitString.concat(['a','b','c','d','e','f']),
queryString = alnumString.concat(['+','%','&','.','*','-','_']), queryString = alnumString.concat(['+','%','&','.','*','-','_']),
hashString = queryString.concat(['!']), hashString = queryString.concat(['!']),
base64String = alnumString.concat(['+','/','=']).concat( base64String = alnumString.concat(['+','/','=']).concat(
@ -32,19 +36,13 @@ var a2zString = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
return c.toUpperCase(); 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'], supportedLanguages = ['de', 'es', 'fr', 'it', 'no', 'pl', 'pt', 'oc', 'ru', 'sl', 'zh'],
mimeTypes = ['image/png', 'application/octet-stream'], mimeTypes = ['image/png', 'application/octet-stream'],
formats = ['plaintext', 'markdown', 'syntaxhighlighting'], formats = ['plaintext', 'markdown', 'syntaxhighlighting'],
logFile = fs.createWriteStream('test.log'),
mimeFile = fs.createReadStream('/etc/mime.types'), mimeFile = fs.createReadStream('/etc/mime.types'),
mimeLine = ''; mimeLine = '';
// redirect console messages to log file
console.info = console.warn = console.error = function () {
logFile.write(Array.prototype.slice.call(arguments).join('') + '\n');
};
// populate mime types from environment // populate mime types from environment
mimeFile.on('data', function(data) { mimeFile.on('data', function(data) {
mimeLine += data; mimeLine += data;
@ -81,6 +79,8 @@ function parseMime(line) {
} }
// common testing helper functions // common testing helper functions
exports.atob = atob;
exports.btoa = btoa;
// provides random lowercase characters from a to z // provides random lowercase characters from a to z
exports.jscA2zString = function() { exports.jscA2zString = function() {
@ -92,6 +92,11 @@ exports.jscAlnumString = function() {
return jsc.elements(alnumString); return jsc.elements(alnumString);
}; };
//provides random characters allowed in hexadecimal notation
exports.jscHexString = function() {
return jsc.elements(hexString);
};
// provides random characters allowed in GET queries // provides random characters allowed in GET queries
exports.jscQueryString = function() { exports.jscQueryString = function() {
return jsc.elements(queryString); return jsc.elements(queryString);
@ -126,4 +131,3 @@ exports.jscMimeTypes = function() {
exports.jscFormats = function() { exports.jscFormats = function() {
return jsc.elements(formats); return jsc.elements(formats);
}; };

2
js/jquery-3.4.1.js vendored

File diff suppressed because one or more lines are too long

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