Compare commits

..

121 Commits

Author SHA1 Message Date
Luc Didry c79f2c5662
🔖 — Bump version (0.07.0) 2023-12-25 07:51:33 +01:00
Luc Didry fb82c52d5c
🔀 Merge remote-tracking branch 'origin/development' 2023-12-25 07:45:25 +01:00
Luc Didry e779888a63
👷 — Update the create-release snippet’s URL 2023-12-25 07:44:15 +01:00
Luc Didry 340a502202
— Add a setting (fix #242) 2023-12-25 07:30:08 +01:00
Luc Didry 9e5deac209
— Add autofocus on login input field 2023-12-25 07:13:21 +01:00
Luc Didry 769109b66b
🩹 — Fix Roboto font warnings in js console 2023-12-25 07:12:12 +01:00
Luc Didry 1d39f7b488
— Replace moment.js with Date().toLocaleDateString(…) 2023-12-25 07:11:22 +01:00
Luc Didry cd4168d2b8
🎨 — Use template literals in js 2023-12-24 07:44:36 +01:00
Luc Didry 43ee9fc4da
🩹 — Fix a format query parameter 2023-12-24 06:03:25 +01:00
Luc Didry a001963c3a
⬆ — Update jQuery 2023-12-24 06:02:27 +01:00
Luc Didry cabee92197
🔖 — Bump version (0.06.00) 2023-12-18 05:29:04 +01:00
Luc Didry 139fca3e78 Merge branch 'development' into 'master'
Time for a new release

See merge request fiat-tux/hat-softwares/lufi!114
2023-12-18 04:27:27 +00:00
Luc Didry 6dd96ccb29 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!112
2023-12-18 04:24:59 +00:00
Ewen d601db1112 🌐 Translated using Weblate (Breton)
Currently translated at 17.8% (35 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/br/
2023-12-18 05:08:35 +01:00
wimo kic 4ab1c3ff50 🌐 Translated using Weblate (Persian)
Currently translated at 0.0% (0 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/fa/
2023-12-18 05:08:35 +01:00
wimo kic 05dea2b9aa 🌐 Added translation using Weblate (Persian) 2023-12-18 05:08:35 +01:00
Otyugh 3c875e8a0a 🌐 Translated using Weblate (Breton)
Currently translated at 16.8% (33 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/br/
2023-12-18 05:08:35 +01:00
Otyugh 2aa41c1b4e 🌐 Translated using Weblate (Breton)
Currently translated at 10.7% (21 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/br/
2023-12-18 05:08:35 +01:00
Otyugh ced08b40e5 🌐 Added translation using Weblate (Breton) 2023-12-18 05:08:35 +01:00
Jacek Pazur 76743920c5 🌐 Translated using Weblate (Polish)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/pl/
2023-12-18 05:08:35 +01:00
Jacek Pazur 8cf845d5a7 🌐 Added translation using Weblate (Polish) 2023-12-18 05:08:35 +01:00
Patriccollu di Santa Maria è Sichè 07fc234299 🌐 Translated using Weblate (Corsican)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/co/
2023-12-18 05:08:35 +01:00
lost_geographer d664d1d042 🌐 Translated using Weblate (Italian)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/it/
2023-12-18 05:08:35 +01:00
Luc Didry 276d6034ec Merge branch 'update-deps' into 'development'
Update deps

See merge request fiat-tux/hat-softwares/lufi!113
2023-12-18 04:08:32 +00:00
Luc Didry 6b505f3e6d
🩹 — Update tests and code after dependencies upgrade 2023-12-18 05:05:48 +01:00
Luc Didry 4f0b7a7a94
⬆️ — Upgrade dependencies 2023-12-18 04:54:15 +01:00
Luc Didry 371bad81b9 Add docker link 2023-11-23 10:39:27 +00:00
Luc Didry 88c9967eb9
🔖 — Bump version (0.05.21) — ⬆ — Update deps (still #284) 2023-02-21 15:23:08 +01:00
Luc Didry 52ad6120c7
🔖 — Bump version (0.05.20) 2023-02-21 15:14:24 +01:00
Luc Didry 4d82c5e0a9
🔀 Merge branch 'development' 2023-02-21 15:13:35 +01:00
Luc Didry ff6be72574
⬆ — Update deps (#284) 2023-02-21 15:08:29 +01:00
Luc Didry ba257b7a6a
🔖 — Bump version (0.05.19) 2023-01-11 15:18:32 +01:00
Luc Didry 9333dff80a
👷 — Deactivate Swift tests in CI
There is problems between Gitlab CI and the swift container, I can’t
make it work.
2023-01-11 14:55:23 +01:00
Luc Didry 5048366f2e Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!111
2022-12-31 15:51:19 +00:00
李奕寯 6e859490e5 🌐 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.9% (194 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/zh_Hant/
2022-12-26 02:38:03 +01:00
Luc Didry 36d23f66b0 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!110
2022-10-21 15:45:21 +00:00
Milo Ivir e8b3cd25da 🌐 Translated using Weblate (Croatian)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/hr/
2022-10-20 20:33:58 +02:00
Luc Didry b4468ae583 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!109
2022-07-29 15:55:48 +00:00
Milo Ivir 8b90547b3f 🌐 Translated using Weblate (Croatian)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/hr/
2022-07-25 15:46:24 +02:00
Milo Ivir 588396f4dd 🌐 Added translation using Weblate (Croatian) 2022-07-25 10:24:03 +02:00
Luc Didry c8b42bda7b Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!108
2022-07-20 06:04:55 +00:00
AHOHNMYC 4e6ac22d1f 🌐 Translated using Weblate (Russian)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/ru/
2022-07-20 07:50:38 +02:00
Luc Didry 657d5aa66d Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!106
2022-05-30 05:39:47 +00:00
Jose Riha 1b16282aa9 🌐 Translated using Weblate (Slovak)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/sk/
2022-05-29 01:55:54 +02:00
Jose Riha 515686f009 🌐 Translated using Weblate (Slovak)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/sk/
2022-05-28 13:28:50 +02:00
Jose Riha 7c8dbdf86c 🌐 Translated using Weblate (Slovak)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/sk/
2022-05-28 13:13:28 +02:00
Jose Riha 42cfc6ad4d 🌐 Added translation using Weblate (Slovak) 2022-05-28 13:11:13 +02:00
Luc Didry 30a5861c69 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!105
2022-05-23 08:58:38 +00:00
Patriccollu di Santa Maria è Sichè 75560b38be 🌐 Translated using Weblate (Corsican)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/co/
2022-05-21 17:36:34 +02:00
Luc Didry 1dee0e691e Merge branch 'ansible-provisioning' into 'development'
Adhere to ansible styling guide

See merge request fiat-tux/hat-softwares/lufi!99
2022-05-13 13:06:28 +00:00
arunodhayamsam 3b074a32e5 Add lufi_startup.sh 2022-05-13 15:56:10 +05:30
Luc Didry a2e68a2d62 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!102
2022-05-09 05:59:27 +00:00
Patriccollu di Santa Maria è Sichè ea3292ab84 🌐 Translated using Weblate (Corsican)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/co/
2022-05-07 19:04:40 +02:00
Luc Didry 470b262a22 Merge branch 'auth_header' into 'development'
Ajout de vérification sur auth_headers dans le controlleur Files

See merge request fiat-tux/hat-softwares/lufi!100
2022-04-04 05:58:23 +00:00
mildis cf85571f05 Ajout de verification sur auth_headers dans le controlleur Files
auth_headers n etait pas verifie sur l upload, le download et d autres methodes.
Cela pourrait permettre des les appeler meme sans etre authentifie.

L appel initiel a Files/files n est pas verifie pour auth_headers car la redirection vers login n est pas utile.
En effet, c est un composant externe qui configure le header d authentification, il ne faut pas renvoyer vers une page de login interne.
2022-04-03 10:31:54 +02:00
arunodhayamsam 17bcb2684f Applied ansible styling best practices and Terraform data sorces 2022-03-31 21:09:12 +05:30
Luc Didry c50b7c5463 Merge branch 'ansible-provisioning' into 'development'
Add Iac and ConfigManagement

See merge request fiat-tux/hat-softwares/lufi!98
2022-03-26 05:21:27 +00:00
arunodhayamsam 3f1d8d822b Add the dir name 2022-03-25 16:45:28 +05:30
arunodhayamsam 027d5fd89b Add Iac and ConfigManagement 2022-03-25 12:44:18 +05:30
Luc Didry 30dc4de99e
🔖 — Bump version (0.05.18) 2022-03-19 18:23:02 +01:00
Luc Didry 70668580fd
🔀 Merge branch 'development' 2022-03-19 18:21:47 +01:00
Luc Didry 3cb87757c9
🔀 Merge branch 'mildis/lufi-auth_header' into development 2022-03-19 18:20:52 +01:00
Luc Didry 7f6acda42b
Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!97
2022-03-19 18:20:51 +01:00
Berto Te 167031ba8f
🌐 Translated using Weblate (Spanish)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/es/
2022-03-19 18:20:51 +01:00
Luc Didry 02fe51138f
🔖 — Bump version (0.05.17) 2022-03-02 15:14:14 +01:00
Luc Didry b060ce38b1
🔀 Merge remote-tracking branch 'origin/development' 2022-03-02 15:13:04 +01:00
Luc Didry 74383dd70f
🔀 Merge branch 'weblate/lufi-weblate-lufi-default-theme' into development 2022-03-02 15:11:53 +01:00
deluxghost 696fba2771 🌐 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/zh_Hans/
2022-03-01 22:25:01 +01:00
Patriccollu di Santa Maria è Sichè 4c53d58ac4 🌐 Translated using Weblate (Corsican)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/co/
2022-03-01 11:49:06 +01:00
Patriccollu di Santa Maria è Sichè d7ef28ae94 🌐 Added translation using Weblate (Corsican) 2022-02-28 19:50:42 +01:00
Luc Didry 93dd443920 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!94
2022-02-07 10:51:23 +00:00
Dimitrios Glentadakis 1ab5d84801 🌐 Translated using Weblate (Greek)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2022-02-07 05:27:41 +01:00
Luc Didry 3e5dc1e609
🔀 Merge branch 'gnuhead-chieb/lufi-master' into development 2022-01-24 15:23:52 +01:00
Luc Didry 144d3e67ff
🔀 Merge branch 'weblate/lufi-weblate-lufi-default-theme' into development 2022-01-24 15:22:21 +01:00
J. Lavoie 310761abd9 🌐 Translated using Weblate (French (France) (fr_FR))
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/fr_FR/
2022-01-24 15:21:27 +01:00
Jorge Paulo Malveira Pimentel Dos Santos 151ff71f23 🌐 Translated using Weblate (Portuguese)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/pt/
2022-01-24 15:21:27 +01:00
Jorge Paulo Malveira Pimentel Dos Santos c7251ec4d1 🌐 Translated using Weblate (French)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/fr/
2022-01-24 15:21:27 +01:00
Luc Didry d642ebab0d
👷 — Replace swift container + update test container
(picoswiftstack has been removed from docker hub)
2022-01-24 15:21:12 +01:00
Luc Didry 4044e151ac Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!91
2021-11-29 08:12:22 +00:00
Berto Te 710187f552 🌐 Translated using Weblate (Spanish)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/es/
2021-11-27 07:45:59 +01:00
gnuhead-chieb 6ee343a8a6 Add Japanese Translation 2021-11-10 07:03:38 +00:00
Luc Didry b775624ea4
🔖 — Bump version (0.05.16) 2021-11-08 12:20:36 +01:00
Luc Didry 2c67d17207
🔀 Merge remote-tracking branch 'origin/development' 2021-11-08 12:19:26 +01:00
Luc Didry bafefd8f48
👷🐛 Create release in CI before publishing changelog 2021-11-08 12:18:12 +01:00
Luc Didry 802662fd1a
🔀 Merge branch 'weblate/lufi-weblate-lufi-default-theme' into development 2021-11-08 12:09:02 +01:00
Berto Te 2ed74a8502 🌐 Translated using Weblate (Spanish)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/es/
2021-11-08 12:05:57 +01:00
pi bdbf921062 🌐 Translated using Weblate (German)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/de/
2021-11-08 12:05:57 +01:00
Quentin PAGÈS e5fe5cb17b 🌐 Translated using Weblate (Occitan)
Currently translated at 100.0% (196 of 196 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/oc/
2021-11-08 12:05:57 +01:00
Luc Didry a4077ed330
🔀 Merge branch 'libre/lufi-goofy-master-patch-22326' into development 2021-11-08 12:05:08 +01:00
goofy-bz ba411cf2ee trivial typofix de fr.po 2021-11-03 13:52:39 +00:00
Luc Didry 7295e73455
🔖 — Bump version (0.05.15) 2021-11-03 10:25:19 +01:00
Luc Didry f646a05ebb
🔀 Merge branch 'development' 2021-11-03 10:24:19 +01:00
Luc Didry dad6744179
🌐 Update fr translation 2021-11-03 10:06:23 +01:00
Luc Didry 3962188200
🔒 Detect schemeless URL in mail (#254) 2021-11-03 10:03:24 +01:00
Luc Didry ff9b320347
🔒 Fix unauthorized manipulations of invitations (#254) 2021-11-03 09:15:39 +01:00
Luc Didry e32ef3685f
🔒 Fix XSS where using zip feature (#254) 2021-11-03 09:15:04 +01:00
Luc Didry 41722d9161
Fix CHANGELOG 2021-11-02 14:49:42 +01:00
Luc Didry 648c4debbd Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!86
2021-10-08 06:34:03 +00:00
Georgios Pitsiladis 0d7d301f9f 🌐 Translated using Weblate (Greek)
Currently translated at 100.0% (193 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-10-08 05:05:40 +02:00
ButterflyOfFire 798e62bf3a 🌐 Translated using Weblate (Arabic)
Currently translated at 100.0% (193 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/ar/
2021-10-08 05:05:40 +02:00
Luc Didry 1c7973b87b Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!85
2021-08-26 09:35:17 +00:00
Dimitris T 3a2b8d922e 🌐 Translated using Weblate (Greek)
Currently translated at 100.0% (193 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-26 10:58:55 +02:00
Georgios Pitsiladis 37d8418cf2 🌐 Translated using Weblate (Greek)
Currently translated at 100.0% (193 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-26 10:58:55 +02:00
Luc Didry d519fcf7e7 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!84
2021-08-25 05:59:43 +00:00
Georgios Pitsiladis 6fff2c2a86 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:20:51 +02:00
Dimitris T 7d29f0e0d5 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:20:51 +02:00
Dimitris T 049b770a66 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:20:01 +02:00
Georgios Pitsiladis fbc8155b79 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:20:01 +02:00
Georgios Pitsiladis fb2fed2847 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:16:18 +02:00
Dimitris T 35b788069c 🌐 Translated using Weblate (Greek)
Currently translated at 86.5% (167 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-25 07:16:18 +02:00
Luc Didry 622e9dfc15 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!83
2021-08-24 13:52:10 +00:00
Dimitris T 116a515fd7 🌐 Translated using Weblate (Greek)
Currently translated at 85.4% (165 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-24 15:42:05 +02:00
Georgios Pitsiladis ba9599078e 🌐 Translated using Weblate (Greek)
Currently translated at 85.4% (165 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-24 15:42:05 +02:00
Luc Didry a8e00d3d82 Merge branch 'weblate-lufi-default-theme' into 'development'
Translations update from Weblate

See merge request fiat-tux/hat-softwares/lufi!82
2021-08-24 13:21:43 +00:00
Dimitris T c9d6732393 🌐 Translated using Weblate (Greek)
Currently translated at 59.5% (115 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-24 15:05:40 +02:00
Georgios Pitsiladis d165429f87 🌐 Translated using Weblate (Greek)
Currently translated at 59.5% (115 of 193 strings)

Translation: Lufi/Default theme
Translate-URL: https://weblate.framasoft.org/projects/lufi/default-theme/el/
2021-08-24 15:05:40 +02:00
Luc Didry f371101a45 Merge branch 'MathieuMD-master-patch-88501' into 'development'
Fix French translation (Using "vous" everywhere except this "toi" here)

See merge request fiat-tux/hat-softwares/lufi!80
2021-06-29 12:56:27 +00:00
Luc Didry 4271d082b3
💄 — Disable signature when using LDAP (Fix #249) 2021-06-29 14:55:39 +02:00
Luc Didry 43428be8ea
🐛 — Fix mail signature separator 2021-06-29 14:55:29 +02:00
Mathieu 7261654cdd Fix French translation (Using "vous" everywhere except this "toi" here) 2021-06-29 12:44:42 +00:00
mildis 537764508d Add support for header authentication 2020-12-02 09:02:39 +01:00
81 changed files with 9515 additions and 1769 deletions

View File

@ -1,5 +1,6 @@
image: hatsoftwares/lufi-test-ci:buster
image: hatsoftwares/lufi-test-ci:bullseye
stages:
- create_release
- publish_changelog
- pouet_it
- carton
@ -58,8 +59,8 @@ variables:
services:
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
.pg_template: &pg_definition
<<: *tests_template
needs:
@ -69,8 +70,8 @@ variables:
alias: postgres
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
.mysql_template: &mysql_definition
<<: *tests_template
needs:
@ -80,15 +81,15 @@ variables:
alias: mariadb
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
### Publish tag changelog and create a toot
##
#
include:
- 'https://framagit.org/fiat-tux/gitlabci-snippets/raw/4e4e03322e95e9b0124c714456ebf1bdc02ad43f/publish_changelog.gitlab-ci.yml'
- 'https://framagit.org/fiat-tux/gitlabci-snippets/raw/4e4e03322e95e9b0124c714456ebf1bdc02ad43f/pouet-it-from-ci.gitlab-ci.yml'
- 'https://framagit.org/fiat-tux/gitlabci-snippets/-/raw/2aac6c1f3dd725d9aed57549da67a92759f9f9ec/create-release-from-ci.gitlab-ci.yml'
- 'https://framagit.org/fiat-tux/gitlabci-snippets/-/raw/4e4e03322e95e9b0124c714456ebf1bdc02ad43f/pouet-it-from-ci.gitlab-ci.yml'
### Podcheck
##

7
.provision/README.md Normal file
View File

@ -0,0 +1,7 @@
## ansible-role-lufi
An ansible role deploy the application on host machine(Ubuntu 20.04)
## terraform-aws-lufi
A terraform plan creates necessary AWS infrastructure and deploy the lufi. This terraform plan uses the `lufi_startup.sh` script to deploy application on AWS and also uses above ansible roles `ansible-role-lufi` to configure the application on AWS.

View File

@ -0,0 +1,50 @@
Ansible-Role-Lufi
=========
This role installs the and configures Lufi on Debian/Ubuntu servers with nginx web server configuration.
Role Variables
--------------
| Variable name | Value | Description |
| ------------- | ----- | ----------- |
| `app_dir` | /var/www/lufi | Set the application directory for the best practice |
| `lufi_owner` | www-data | Set the application user for the best practice |
| `lufi_group` | www-data | Set the application group for the best practice |
| `_contact` | contact.example.com | Contact option (mandatory), where you have to put some way for the users to contact you. |
| `_report` | report@example.com | report option (mandatory) Put an email address or an URL to let people report illegal files |
| `_project_version` | master | We can chose the project version either Master branch, Dev branch or tag based |
| `_server_name` | IP address (or) CNAME/FQDN | Mention the Server Name for the Nginx configurations |
Sample example of use in a playbook
--------------
The following code has been tested with Ubuntu 20.04
```yaml
- name: "install lufi"
hosts: enter your hosts file
become: yes
role:
- ansible-role-lufi
vars:
lufi_owner: "www-data"
lufi_group: "www-data"
contact: "contact.example.com"
report: "report@example.com"
app_dir: "/var/www/lufi"
project_version: "master"
servername: "IP address (or) CNAME/FQDN"
```
Contributing
------------
Dont hesitate to create a pull request

View File

@ -0,0 +1,4 @@
---
# defaults file for roles/servers
robots_text: /var/www/html/

View File

@ -0,0 +1,8 @@
#Path of the script
PATH=/var/www/lufi
carton exec script/lufi cron cleanbdd --mode production
carton exec script/lufi cron cleanfiles --mode production
carton exec script/lufi cron watch --mode production

View File

@ -0,0 +1,7 @@
User-agent: *
Allow: /$
Allow: /js/
Allow: /css/
Allow: /font/
Allow: /img/
Disallow: /r/

View File

@ -0,0 +1,5 @@
---
# handlers file for roles/servers
- name: restart nginx
service: name=nginx state=restarted

View File

@ -0,0 +1,23 @@
#apprun.yml
---
- name: This command will install the postgress module
ansible.builtin.shell:
cmd: carton install --deployment --without=test --without=sqlite --without=mysql
chdir: "{{ app_dir }}"
- name: Upload application file
ansible.builtin.template:
src: ../templates/lufi.conf.j2
dest: "{{ app_dir }}/lufi.conf"
- name: Run the command for app_executes
ansible.builtin.shell:
cmd: carton exec hypnotoad script/lufi
chdir: "{{ app_dir }}"
- name: Nginx configuration file add
ansible.builtin.template:
src: ../templates/app.conf
dest: /etc/nginx/conf.d/
mode: '0644'
notify: restart nginx

View File

@ -0,0 +1,34 @@
#cron.yml
---
- name: Copy the cronjob file
ansible.builtin.copy:
src: ../files/cronjob
dest: /etc/cron.d/
owner: www-data
group: www-data
- name: "example cronjob"
ansible.builtin.cron:
name: "cronjob"
state: present
user: www-data
minute: "0"
hour: "0"
day: "*"
month: "*"
weekday: "*"
job: |
carton exec script/lufi cron cleanbdd --mode production; carton exec script/lufi cron cleanfiles --mode production; carton exec script/lufi cron watch --mode production
#- name: Crontab file exists
# cron:
# name: Add date and time to a file.
# minute: "*/2"
# hour: 9-16
# weekday: 1-5
# user: devops
# job: df >> /home/devops/disk_usage
# cron_file: disk_usage
# state: present

View File

@ -0,0 +1,19 @@
#dependencies.yml
---
- name: Install Dependencies
ansible.builtin.apt:
name:
- nginx
- build-essential
- libssl-dev
- libio-socket-ssl-perl
- liblwp-protocol-https-perl
- zlib1g-dev
- libmojo-sqlite-perl
- carton
state: present
- name: Install Postgress Dev Packages
ansible.builtin.apt:
name:
- libpq-dev

View File

@ -0,0 +1,29 @@
#gitclone
---
- name: clone the repository
ansible.builtin.git:
repo: 'https://framagit.org/fiat-tux/hat-softwares/lufi.git'
dest: "{{ app_dir }}"
clone: yes
update: yes
version: "{{ project_version }}"
- name: Change the owner
ansible.builtin.file:
path: "{{ app_dir }}"
owner: "{{ lufi_owner }}"
group: "{{ lufi_group }}"
state: directory
recurse: yes
- name: Add the robots.txt file
ansible.builtin.copy:
src: ../files/robots.txt
dest: "{{ robots_text }}"

View File

@ -0,0 +1,7 @@
---
# tasks file for roles/servers
- include: dependencies.yml
- include: gitclone.yml
- include: apprun.yml
- include: cron.yml

View File

@ -0,0 +1,362 @@
# vim:set sw=4 ts=4 sts=4 ft=perl expandtab:
{
####################
# Hypnotoad settings
####################
# see http://mojolicio.us/perldoc/Mojo/Server/Hypnotoad for a full list of settings
hypnotoad => {
# array of IP addresses and ports you want to listen to
# you can specify a unix socket too, like 'http+unix://%2Ftmp%2Flufi.sock'
listen => ['http://0.0.0.0:8081'],
# if you use Lufi behind a reverse proxy like Nginx, you want to set proxy to 1
# if you use Lufi directly, let it commented
#proxy => 1,
# Please read http://mojolicious.org/perldoc/Mojo/Server/Hypnotoad#workers
# to adjust this to your server
workers => 30,
clients => 1,
},
# Put a way to contact you here and uncomment it
# You can put some HTML in it
# MANDATORY
contact => '<a href="https://{{ _contact }}">Contact page</a>',
# Put an URL or an email address to receive file reports and uncomment it
# It's for make reporting illegal files easy for users
# MANDATORY
report => '{{ _report }}',
# Array of random strings used to encrypt cookies
# optional, default is ['fdjsofjoihrei'], PLEASE, CHANGE IT
#secrets => ['fdjsofjoihrei'],
# Name of the instance, displayed next to the logo
# optional, default is Lufi
#instance_name => 'Lufi',
# Choose a theme. See the available themes in `themes` directory
# Optional, default is 'default'
#theme => 'default',
# Length of the random URL
# optional, default is 8
#length => 8,
# How many URLs will be provisioned in a batch ?
# optional, default is 5
#provis_step => 5,
# Max number of URLs to be provisioned
# optional, default is 100
#provisioning => 100,
# Length of the modify/delete token
# optional, default is 32
#token_length => 32,
# Max file size, in octets
# You can write it 100*1024*1024
# optional, no default
#max_file_size => 104857600,
# If you want to have piwik statistics, provide a piwik image tracker
# Only the image tracker is allowed, no javascript
# optional, no default
#piwik_img => 'https://piwik.example.org/piwik.php?idsite=1&amp;rec=1',
# Broadcast_message which will displayed on the index page
# optional, no default
#broadcast_message => 'Maintenance',
# Default time limit for files
# Valid values are 0, 1, 7, 30 and 365
# optional, default is 0 (no limit)
#default_delay => 0,
# Number of days after which the files will be deleted, even if they were uploaded with "no delay" (or value superior to max_delay)
# A warning message will be displayed on homepage
# optional, default is 0 (no limit)
#max_delay => 0,
# Size thresholds: if you want to define max delays for different sizes of file
# The keys are size in Bytes, you can't have 10*1000*10000 as key
# If a file is smaller than the smallest configured size, it will have a expiration delay of max_delay (see above)
# optional, default is using max_delay (see above) for all sizes
#delay_for_size => {
# 10000000 => 90, # between 10MB and 50MB => max is 90 days, less than 10MB => max is max_delay (see above)
# 50000000 => 60, # between 50MB ans 1GB => max is 60 days
# 1000000000 => 2, # more than 1GB => max is 2 days
#},
# URL sub-directory in which you want Lufi to be accessible
# example: you want to have Lufi under https://example.org/lufi/
# => set prefix to '/lufi' or to '/lufi/', it doesn't matter
# optional, defaut is /
#prefix => '/',
# Array of authorized domains for API calls.
# If you want to authorize everyone to use the API: ['*']
# optional, no domains allowed by default
#allowed_domains => ['http://1.example.com', 'http://2.example.com'],
# String of the URL to be redirected to when accessing /logout
# optional, default is no redirection after logging out
#logout_custom => 'https://sso.example.com/logout?redirect_uri=https%3A%2F%2Fexample.com',
# Define a path to the upload directory, where the uploaded files will be stored
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is 'files'
#upload_dir => 'files',
#!!!!!!!!!!!!!!!
# EXPERIMENTAL !
#!!!!!!!!!!!!!!!
# You can store files on Swift object storage (https://en.wikipedia.org/wiki/OpenStack#Swift) instead of filesystem
# Please read https://metacpan.org/pod/Net::OpenStack::Swift#SYNOPSIS to know how to configure this setting
# IMPORTANT: add a `container` key in it, to let Lufi know which container to use. This is not a regular Net::OpenStack::Swift setting, but Lufi need it.
# EXPERIMENTAL: if the upload or download of files are stucked, reload Lufi and create a cron task to reload Lufi once a day
# You can copy Lufi files to Swift object storage by launching the command `carton exec script/lufi copyFilesToSwift` (can take a long time)
# optional, no default
#swift => {
# auth_url => 'https://auth-endpoint-url/v2.0',
# user => 'userid',
# password => 'password',
# tenant_name => 'project_id',
# container => 'lufi'
#},
# Allow to add a password on files, asked before allowing to download files
# optional, default is 0
#allow_pwd_on_files => 0,
# Force all files to be in "Burn after reading mode"
# optional, default is 0
#force_burn_after_reading => 0,
# If set, the files' URLs will always use this domain
# optional, no default
#fixed_domain => 'example.org',
# Abuse reasons
# Set an integer in the abuse field of a file in the database and it will not be downloadable anymore
# The reason will be displayed to the downloader, according to the reasons you will configure here.
# optional, no default
#abuse => {
# 0 => 'Copyright infringment',
# 1 => 'Illegal content',
#},
###############
# Mail settings
###############
# Mail configuration
# See https://metacpan.org/pod/Mojolicious::Plugin::Mail#EXAMPLES
# optional, default to sendmail method with no arguments
#mail => {
# # Valid values are 'sendmail' and 'smtp'
# how => 'smtp',
# howargs => ['smtp.example.org']
#},
# Email sender address
# optional, default to no-reply@lufi.io
#mail_sender => 'no-reply@lufi.io',
# Disable sending mail through the server
# optional, default is false
#disable_mail_sending => 0,
#############
# DB settings
#############
# Choose what database you want to use
# Valid choices are sqlite, postgresql and mysql (all lowercase)
# optional, default is sqlite
# dbtype => 'sqlite',
# SQLite ONLY - only used if dbtype is set to sqlite
# Define a path to the SQLite database
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is lufi.db
# db_path => 'lufi.db',
# PostgreSQL ONLY - only used if dbtype is set to postgresql
# These are the credentials to access the PostgreSQL database
# mandatory if you choosed postgresql as dbtype
pgdb => {
database => 'lufi',
host => 'localhost',
# optional, default is 5432
port => 5432,
user => 'DBUSER',
pwd => 'DBPASSWORD',
# https://mojolicious.org/perldoc/Mojo/Pg#max_connections
# optional, default is 1
#max_connections => 1,
},
# MySQL ONLY - only used if dbtype is set to mysql
# These are the credentials to access the MySQL database
# mandatory if you choosed mysql as dbtype
#mysqldb => {
# database => 'lufi',
# host => 'localhost',
# # optional, default is 3306
# #port => 3306,
# user => 'DBUSER',
# pwd => 'DBPASSWORD',
# # https://metacpan.org/pod/Mojo::mysql#max_connections
# # optional, default is 5 (set to 0 to disable persistent connections)
# #max_connections => 5,
#},
#############################################
# LDAP settings (authentication and features)
#############################################
# Set `ldap` if you want that only authenticated users can upload files
# Please note that everybody can still download files
# optional, no default
#ldap => {
# uri => 'ldaps://ldap.example.org', # server URI
# user_tree => 'ou=users,dc=example,dc=org', # search base DN
# bind_dn => 'uid=ldap_user,ou=users,dc=example,dc=org', # search bind DN
# bind_pwd => 'secr3t', # search bind password
# user_attr => 'uid', # user attribute (uid, mail, sAMAccountName, etc.)
# user_filter => '(!(uid=ldap_user))', # user filter (to exclude some users, etc.)
# # optional start_tls configuration. See https://metacpan.org/pod/distribution/perl-ldap/lib/Net/LDAP.pod#start_tls
# # don't set or uncomment if you don't want to configure it
# start_tls => {
# verify => 'optional',
# clientcert => '/etc/ssl/certs/ca-bundle.pem'
# }
#},
# If you've set ldap above, the session will last `session_duration` seconds before
# the user needs to reauthenticate
# optional, default is 3600
#session_duration => 3600,
# If you use `ldap` for authentication, you can map some attributes from LDAP to be able to access them in Lufi
# Those attributes will be accessible with:
# $c->current_user->{lufi_attribute_name} in Lufi backend files (all that is in `lib` directory)
# <%= $self->current_user->{lufi_attribute_name} %> in templates files (in `themes` directory)
#
# Define the attributes like this: `lufi_attribute_name => 'LDAP_attribute_name'`
# Note that you cant use `username` as a Lufi attribute name: this name is reserved and will contain the login of the user
# optional, no default
#ldap_map_attr => {
# displayname => 'cn',
# mail => 'mail'
#},
# When using LDAP authentication, LDAP users can invite people (by mail) to use Lufi to send them files without
# being authenticated.
# This is where you configure the behavior of the invitations.
# You may need to fetch some attributes from LDAP to use some invitations settings. See `ldap_map_attr` above.
# optional, no default
#invitations => {
# # The name of the key set in `ldap_map_attr` (above) that corresponds to the mail of the LDAP user
# # optional, default is `mail`
# mail_attr => 'mail',
# # The `From` header of invitation mail can be the mail of the LDAP user
# # Be sure to have a mail system that will correctly send the mail from your users! (DKIM, SPF…)
# # To enable this feature, set it to 1
# # optional, disabled by default
# send_invitation_with_ldap_user_mail => 1,
# # The user is able to set an expiration delay for the invitation.
# # This expiration delay cant be more than this setting (in days).
# # optional, default is 30 days
# max_invitation_expiration_delay => 30,
# # Once the guest has submitted his files, he has an additional period of time to submit forgotten files.
# # You can set that additional period of time in minutes here.
# # To disable that feature, set it to 0 or less
# # optional, default is 10 minutes
# max_additional_period => 10,
# # Lufi follows privacy-by-design, so, by default, no files URLs (with the decode secret) are stored in database.
# # However, the concern is different for this case. Storing files URLs makes users able to retrieve the guests sent files
# # from their `invitations` page.
# # Set to 1 to store guests files URLs in database
# # optional, default is 0 (disabled)
# save_files_url_in_db => 0,
# # Users can resend the invitation to their guest. This does not extend the invitations expiration delay unless you
# # set this option to 1.
# # optional, default is 0 (disabled)
# extend_invitation_expiration_on_resend => 0,
#},
#########################
# Htpasswd authentication
#########################
# Set `htpasswd` if you want to use an htpasswd file instead of ldap
# See 'man htpasswd' to know how to create such file
#htpasswd => 'lufi.passwd',
#######################
# HTTP Headers settings
#######################
# Content-Security-Policy header that will be sent by Lufi
# Set to '' to disable CSP header
# https://content-security-policy.com/ provides a good documentation about CSP.
# https://report-uri.com/home/generate provides a tool to generate a CSP header.
# optional, default is "base-uri 'self'; connect-src 'self' ws://YOUR_HOST; default-src 'none'; font-src 'self'; form-action 'self'; frame-ancestors 'none'; img-src 'self' blob:; media-src blob:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'"
#csp => "",
# X-Frame-Options header that will be sent by Lufi
# Valid values are: 'DENY', 'SAMEORIGIN', 'ALLOW-FROM https://example.com/'
# Set to '' to disable X-Frame-Options header
# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
# Please note that this will add a "frame-ancestors" directive to the CSP header (see above) accordingly
# to the chosen setting (See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors)
# optional, default is 'DENY'
#x_frame_options => 'DENY',
# X-Content-Type-Options that will be sent by Lufi
# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
# Set to '' to disable X-Content-Type-Options header
# optional, default is 'nosniff'
#x_content_type_options => 'nosniff',
# X-XSS-Protection that will be sent by Lufi
# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
# Set to '' to disable X-XSS-Protection header
# optional, default is '1; mode=block'
#x_xss_protection => '1; mode=block',
#########################
# Lufi cron jobs settings
#########################
# Expired files will be kept for 2 additional days after the expiration time has passed!
# The reasoning behind this is to allow downloads to complete and avoid deleting them while
# they are still being tranfered.
# Number of days senders' IP addresses are kept in database
# After that delay, they will be deleted from database (used with script/lufi cron cleanbdd)
# optional, default is 365
keep_ip_during => 1,
# Max size of the files directory, in octets
# Used by script/lufi cron watch to trigger an action
# optional, no default
max_total_size => 10*1024*1024*1024,
# Default action when files directory is over max_total_size (used with script/lufi cron watch)
# Valid values are 'warn', 'stop-upload' and 'delete'
# Please, see README.md
# optional, default is 'warn'
policy_when_full => 'warn',
# Files which are not viewed since delete_no_longer_viewed_files days will be deleted by the cron cleanfiles task
# If delete_no_longer_viewed_files is not set, the no longer viewed files will NOT be deleted
# optional, no default
delete_no_longer_viewed_files => 1,
};

View File

@ -0,0 +1,10 @@
# install perl dependencies
apt install liblwp-protocol-https-perl carton
sleep 5
git pull
sleep 5
carton install --deployment --without=test --without=sqlite --without=mysql
sleep5
carton exec hypnotoad script/lufi

View File

@ -0,0 +1,16 @@
---
# vars file for roles/servers
lufi_owner: "www-data"
lufi_group: "www-data"
app_dir: ""
_contact: "contact.example.com"
_report: "report@example.com"
_project_version: ""
_servername: ""

View File

@ -0,0 +1,86 @@
# Terraform-AWS-Lufi
This terraform plan create the resourcess of EC2 instance
## Terraform Variables
Edit the `vars.tf` file to add the variables as per your need.
| Variable name | Value | Description |
| ------------- | ----- | ----------- |
| `aws_region` | us-east-1 | Set the region |
| `vpc_cidr` | 10.0.0.0/16 | Set the cidr value for the vpc |
| `public_subnet_cidr` | 10.0.2.0/24 | Set the cidr value for the public subnet |
| `user` | ubuntu | Set the EC2 instance user name |
| `public_key` | /home/user_name/.ssh/id_rsa_pub | Set the publickey value for the ec2 instance from the host machine |
| `private_key` | /home/user_name/.ssh/id_rsa | Set the private key value for the ec2 instance from the hostmachine |
| `aws_access_key` | AWSACCESSKEY | Enter your aws access key |
| `aws_secrete_key` | AWSSECRETEKEY | Enter your aws secrete key |
| `instance_name` | Lufi_app_instance | Set the name for instance |
| `app_dir` | /var/www/ | Set the application directory for the best practice |
| `lufi_owner` | www-data | Set the application user for the best practice |
| `lufi_group` | www-data | Set the application group for the best practice |
| `contact` | contact.example.com | Contact option (mandatory), where you have to put some way for the users to contact you. |
| `report` | report@example.com | report option (mandatory) Put an email address or an URL to let people report illegal files |
## Usage of terraform plan with lufi deploy script
```sh
git clone https://framagit.org/fiat-tux/hat-softwares/lufi.git
cd lufi/.provision/terraform-aws-lufi
terraform init
terraform plan
terraform apply
```
## Usage of terraform plan with ansible role
- Comment out the below `data template` and `user_data` source in __main.tf__ file
```hcl
locals {
user_data_vars = {
user = var.lufi_owner
group = var.lufi_group
directory = var.app_dir
git_branch = var.project_version
contact_lufi = var.contact
report_lufi = var.report
}
}
```
```hcl
user_data = templatefile("${path.module}/lufi_startup.sh", local.user_data_vars)
```
- Add the below provisioner data in __main.tf__ file at the `aws_instance` resource
```sh
connection {
agent = false
type = "ssh"
host = aws_instance.ec2_instance.public_dns
private_key = "${file(var.private_key)}"
user = "${var.user}"
}
provisioner "remote-exec" {
inline = [
"sudo apt update -y",
"sudo apt install python3.9 -y",
]
}
provisioner "local-exec" {
command = <<EOT
sleep 120 && \
> hosts && \
echo "[Lufi]" | tee -a hosts && \
echo "${aws_instance.ec2_instance.public_ip} ansible_user=${var.user} ansible_ssh_private_key_file=${var.private_key}" | tee -a hosts && \
export ANSIBLE_HOST_KEY_CHECKING=False && \
ansible-playbook -u ${var.user} --private-key ${var.private_key} -i hosts site.yml
EOT
}
```

View File

@ -0,0 +1,59 @@
#!/usr/bin/env bash
set -euo pipefail
echo "**********************************************************************"
echo " *"
echo "Install dependencies *"
echo " *"
echo "**********************************************************************"
SUDO=sudo
$SUDO apt update
$SUDO apt install jq wget unzip carton build-essential nginx libssl-dev libio-socket-ssl-perl liblwp-protocol-https-perl zlib1g-dev libmojo-sqlite-perl libpq-dev -y
echo "**********************************************************************"
echo " *"
echo "Configuring the Application *"
echo " *"
echo "**********************************************************************"
sleep 10;
version=$(curl -s https://framagit.org/api/v4/projects/1998/releases | jq '.[]' | jq -r '.name' | head -1)
echo $version
pushd ${directory}
$SUDO wget https://framagit.org/fiat-tux/hat-softwares/lufi/-/archive/$version/lufi-$version.zip
$SUDO unzip lufi-$version.zip
$SUDO chown ${user} lufi-$version
$SUDO chgrp ${group} lufi-$version
pushd lufi-$version
echo "**********************************************************************"
echo " *"
echo "Install Carton Packages *"
echo " *"
echo "**********************************************************************"
$SUDO carton install --deployment --without=test --without=sqlite --without=mysql
sleep 10;
$SUDO cp lufi.conf.template lufi.conf
sed -i 's/127.0.0.1/0.0.0.0/' lufi.conf
sed -i 's/#contact/contact/g' lufi.conf
sed -i "s/contact.example.com/${contact_lufi}/g" lufi.conf
sed -i 's/#report/report/' -i lufi.conf
sed -i "s/report@example.com/${report_lufi}/g" lufi.conf
sed -i "192 , 194 s/#/ /g" lufi.conf && \
sed -i "195 s/# / /g" lufi.conf && \
sed -i "196 , 198 s/#/ /g" lufi.conf && \
sed -i "199 , 201 s/# / /g" lufi.conf && \
sed -i "202 s/#/ /g" lufi.conf
echo "**********************************************************************"
echo " *"
echo "Run the Application *"
echo " *"
echo "**********************************************************************"
$SUDO carton exec hypnotoad script/lufi

View File

@ -0,0 +1,119 @@
locals {
user_data_vars = {
user = var.lufi_owner
group = var.lufi_group
directory = var.app_dir
contact_lufi = var.contact
report_lufi = var.report
}
}
#Create the VPC
resource "aws_vpc" "vpc" {
cidr_block = "${var.vpc_cidr}"
enable_dns_hostnames = true
enable_dns_support = true
instance_tenancy = "default"
tags = {
Name = "lufi-master-vpc"
}
}
# Create InternetGateWay and attach to VPC
resource "aws_internet_gateway" "IGW" {
vpc_id = "${aws_vpc.vpc.id}"
tags = {
"Name" = "lufi-master-igw"
}
}
# Create a public subnet
resource "aws_subnet" "publicsubnet" {
vpc_id = "${aws_vpc.vpc.id}"
cidr_block = "${var.public_subnet_cidr}"
map_public_ip_on_launch = true
tags = {
Name = "lufi-master-us-east-1-public"
}
}
# Create routeTable
resource "aws_route_table" "public" {
vpc_id = "${aws_vpc.vpc.id}"
route {
cidr_block = "0.0.0.0/0"
gateway_id = "${aws_internet_gateway.IGW.id}"
}
tags = {
Name = "lufi-master-us-east-1-public-rt"
}
}
resource "aws_main_route_table_association" "mainRTB" {
vpc_id = "${aws_vpc.vpc.id}"
route_table_id = "${aws_route_table.public.id}"
}
## Create security group
resource "aws_security_group" "security" {
name = "lufi-master-sg"
description = "allow all traffic"
vpc_id = "${aws_vpc.vpc.id}"
ingress {
description = "allow all traffic"
from_port = "0"
to_port = "65535"
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
description = "allow port SSH"
from_port = "22"
to_port = "22"
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
#Create key_pair for the instance
resource "aws_key_pair" "genkey" {
key_name = "lufi.webapp"
public_key = "${file(var.public_key)}"
}
# Add ubuntu AMI
data "aws_ami" "ubuntu" {
most_recent = true
owners = ["099720109477"]
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"]
}
}
# Craete ec2 instance
resource "aws_instance" "ec2_instance" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.medium"
associate_public_ip_address = "true"
subnet_id = "${aws_subnet.publicsubnet.id}"
vpc_security_group_ids = ["${aws_security_group.security.id}"]
user_data = templatefile("${path.module}/lufi_startup.sh", local.user_data_vars)
key_name = "lufi.webapp"
tags = {
Name = "${var.instance_name}"
}
}

View File

@ -0,0 +1,7 @@
output "public_ip" {
value = "${aws_instance.ec2_instance.public_ip}"
}
output "App_running_at" {
value = "http://${aws_instance.ec2_instance.public_ip}:8081"
}

View File

@ -0,0 +1,14 @@
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
provider "aws" {
access_key = "${var.aws_access_key}"
secret_key = "${var.aws_secret_key}"
region = "${var.aws_region}"
}

View File

@ -0,0 +1,55 @@
variable "aws_region" {
default = "aws_region"
}
variable "vpc_cidr" {
default = "cidr_value"
}
variable "public_subnet_cidr" {
default = "cidr_value"
}
variable "public_subnet1_cidr" {
default = "cidr_value"
}
variable "user" {
default = "user_of_instance"
}
variable "public_key" {
default = "$PWD_publickey"
}
variable "private_key" {
default = "$PWD_privatekey"
}
variable "aws_access_key" {
default = "aws_access_key"
}
variable "aws_secret_key" {
default = "aws_secrete_key"
}
variable "instance_name" {
default = "instance_name"
}
variable "lufi_owner" {
default = ""
}
variable "lufi_group" {
default = ""
}
variable "app_dir" {
default = ""
}
variable "contact" {
default = ""
}
variable "report" {
default = ""
}

View File

@ -1,6 +1,51 @@
Revision history for Lufi
?.??.? ????-??-??
0.08.0 ????-??-??
0.07.0 2023-12-25
- ⬆️ — Update jQuery
- 🩹 — Fix a format query parameter
- 🎨 — Use template literals in js
- — Replace moment.js with Date().toLocaleDateString(…)
- 🩹 — Fix Roboto font warnings in js console
- ♿️ — Add autofocus on login input field
- ✨ — Add a `lockfile_dir` setting (fix #242)
- 👷 — Update the create-release snippets URL
0.06.00 2023-12-18
- ⬆️ — Update deps
- 🌐 Update translations
0.05.21 2023-02-21
- ⬆️ — Update deps (still #284)
0.05.20 2023-02-21
- ⬆️ — Update deps (#284)
0.05.19 2023-01-11
- 🌐 Update translations
- 👷 — Deactivate Swift tests in CI
- Terraform and Ansible provisioning (@arunodhayamsam)
- Support for header authentication (@mildis)
0.05.18 2022-03-19
- ✨ Add support for header authentication, thanks to @mildis (!69)
- 🌐 Update translations
0.05.17 2022-03-02
- 🌐 Update translations
0.05.16 2021-11-08
- 👷🐛 Create release in CI before publishing changelog
- 🌐 Update translations
0.05.15 2021-11-03
- 🐛 Fix mail signature separator
- 💄 Disable signature when using LDAP (#249)
- 🌐 Update translations
- 🔒 Fix XSS where using zip feature (#254)
- 🔒 Fix unauthorized manipulations of invitations (#254)
- 🔒 Detect schemeless URL in mail (#254)
0.05.14 2021-06-16
- 🔧 Set default morbo port to 3000 (as it should have stay)

View File

@ -5,10 +5,10 @@ XGETTEXT ?= carton exec local/bin/xgettext.pl -u
CARTON ?= carton exec
REAL_LUFI ?= script/application
LUFI ?= script/lufi
LDAP_CONTAINER_IMAGE ?= rroemhild/test-openldap:latest
LDAP_CONTAINER_IMAGE ?= docker.io/rroemhild/test-openldap:latest
LOCAL_LDAP_PORT ?= 10389
LOCAL_SWIFT_PORT ?= 8080
SWIFT_CONTAINER_IMAGE ?= swiftstack/picoswiftstack:latest
SWIFT_CONTAINER_IMAGE ?= docker.io/openstackswift/saio:latest
MORBO_HOST ?= 0.0.0.0
MORBO_PORT ?= 3000
@ -33,15 +33,15 @@ dev: clean
$(CARTON) morbo $(LUFI) --listen http://$(MORBO_HOST):$(MORBO_PORT) --watch lib/ --watch script/ --watch themes/ --watch lufi.conf
ldap:
sudo docker run -d -p $(LOCAL_LDAP_PORT):10389 $(LDAP_CONTAINER_IMAGE); exit 0
podman run -d -p $(LOCAL_LDAP_PORT):10389 $(LDAP_CONTAINER_IMAGE); exit 0
ldapdev: ldap dev
swift:
sudo docker run -d --rm -p $(LOCAL_SWIFT_PORT):8080 --hostname="picoswiftstack" --name="picoswiftstack" $(SWIFT_CONTAINER_IMAGE); exit 0
podman run -d --rm -p $(LOCAL_SWIFT_PORT):8080 --hostname="picoswiftstack" --name="picoswiftstack" $(SWIFT_CONTAINER_IMAGE); exit 0
@echo "Sleeping 20 seconds to let picoswiftstack start"
@sleep 20
sudo docker exec picoswiftstack get_auth
podman exec picoswiftstack get_auth
swiftdev: swift dev

View File

@ -95,3 +95,9 @@ It uses:
* [Stanford Javascript Crypto Library](http://bitwiseshiftleft.github.com/sjcl/)
* [Moment.js](http://momentjs.com/) for displaying real dates instead of unix timestamps.
* [Filesize.js](http://filesizejs.com/) for displaying file sizes
## Deploy Lufi
An ansible role and a terraform plan reside under the `.provision` directory. An user could utilize the terraform plan if they chose to deploy lufi on AWS, if that's not the goal, they could simply execute the ansible role in part. Usage docs for both are present in their respective directories.
You can use Docker by using the recipe on <https://github.com/megalis-bretagne/lufi-docker>.

View File

@ -7,12 +7,13 @@ requires 'Mojolicious::Plugin::GzipStatic';
requires 'Mojolicious::Plugin::StaticCache';
requires 'Mojolicious::Plugin::CSPHeader', '>= 0.06';
requires 'Mojolicious::Plugin::FiatTux::Helpers', '== 0.12', url => 'https://framagit.org/fiat-tux/mojolicious/fiat-tux/mojolicious-plugin-fiattux-helpers/-/archive/0.12/mojolicious-plugin-fiattux-helpers-0.12.tar.gz';
requires 'Mojolicious::Plugin::FiatTux::GrantAccess', '== 0.07', url => 'https://framagit.org/fiat-tux/mojolicious/fiat-tux/mojolicious-plugin-fiattux-grantaccess/-/archive/0.07/mojolicious-plugin-fiattux-grantaccess-0.07.tar.gz';
requires 'Mojolicious::Plugin::FiatTux::GrantAccess', '== 0.10', url => 'https://framagit.org/fiat-tux/mojolicious/fiat-tux/mojolicious-plugin-fiattux-grantaccess/-/archive/0.10/mojolicious-plugin-fiattux-grantaccess-0.10.tar.gz';
requires 'Mojolicious::Plugin::FiatTux::Themes', '== 0.02', url => 'https://framagit.org/fiat-tux/mojolicious/fiat-tux/mojolicious-plugin-fiattux-themes/-/archive/0.02/mojolicious-plugin-fiattux-themes-0.02.tar.gz';
requires 'Filesys::DiskUsage';
requires 'Switch';
requires 'Locale::Maketext';
requires 'Locale::Maketext::Extract';
requires 'Net::DNS';
requires 'Email::Valid';
requires 'Number::Bytes::Human';
requires 'Filesys::DfPortable';
@ -43,6 +44,9 @@ feature 'htpasswd', 'Htpasswd authentication support' => sub {
requires 'Apache::Htpasswd';
requires 'Mojolicious::Plugin::Authentication';
};
feature 'auth_headers', 'Header authentication support' => sub {
requires 'Mojolicious::Plugin::Authentication';
};
feature 'postgresql', 'PostgreSQL support' => sub {
requires 'Mojo::Pg';
requires 'Mojolicious::Plugin::PgURLHelper';

File diff suppressed because it is too large Load Diff

View File

@ -79,6 +79,9 @@ sub startup {
my $loop = shift;
my $lockfile = Mojo::File->new($config_file)->basename('.conf').'-provisioning.lock';
if (defined($config->{lockfile_dir})) {
$lockfile = Mojo::File->new($config->{lockfile_dir}, $lockfile)->to_string;
}
if (-e $lockfile) {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($lockfile);
@ -124,7 +127,7 @@ sub startup {
->to('Misc#change_lang')
->name('lang');
if (defined $self->config('ldap') || defined $self->config('htpasswd')) {
if (defined $self->config('ldap') || defined $self->config('htpasswd') || defined $self->config('auth_headers')) {
# Login page
$r->get('/login')
->to('Auth#login_page');
@ -138,7 +141,7 @@ sub startup {
->to('Auth#log_out')
->name('logout');
if (defined $self->config('ldap') && defined $self->config('invitations')) {
if ((defined $self->config('ldap') || defined $self->config('auth_headers')) && defined $self->config('invitations')) {
# Invitation creation page
$r->get('/invite')
->name('invite')
@ -191,7 +194,7 @@ sub startup {
->name('config');
# Generated js files
$r->get('/partial/:file')
$r->get('/partial/<:file>.<:ext>')
->to('Misc#js_files')
->name('partial');

View File

@ -9,10 +9,21 @@ sub login_page {
if ($c->is_user_authenticated) {
$c->redirect_to('/');
} else {
$c->render(
template => 'login',
redirect => $redirect
);
if ($c->config('auth_headers')) {
if($c->authenticate('dummy', 'dummy')) {
if ($redirect eq 'invite') {
return $c->redirect_to('invite');
} elsif ($redirect eq 'my_invitations') {
return $c->redirect_to('invite_list');
}
return $c->redirect_to('/');
}
} else {
$c->render(
template => 'login',
redirect => $redirect
);
}
}
}

View File

@ -27,7 +27,7 @@ sub upload {
my $invitation;
my $token = $c->session->{guest_token};
$invitation = Lufi::DB::Invitation->new(app => $c->app)->from_token($token) if $token;
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd'))) || $c->is_user_authenticated || $invitation) {
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated || $invitation) {
$c->inactivity_timeout(30000000);
$c->app->log->debug('Client connected');
@ -161,7 +161,7 @@ sub upload {
my $creator = $c->ip;
# Authenticated user logging
if ((defined($c->config('ldap')) || defined($c->config('htpasswd'))) && !$invitation) {
if ((defined($c->config('ldap')) || defined($c->config('htpasswd')) || defined($c->config('auth_headers'))) && !$invitation) {
$creator = sprintf('User: %s, IP: %s', $c->current_user->{username}, $creator);
}
# Guest user logging
@ -401,7 +401,7 @@ sub get_counter {
my $short = $c->param('short');
my $token = $c->param('token');
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd'))) || $c->is_user_authenticated) {
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated) {
my $ldfile = Lufi::DB::File->new(app => $c->app)->from_short($short);
if (defined $ldfile) {
@ -451,7 +451,7 @@ sub delete {
my $short = $c->param('short');
my $token = $c->param('token');
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd'))) || $c->is_user_authenticated) {
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated) {
my $ldfile = Lufi::DB::File->new(app => $c->app)->from_short($short);
$ldfile = undef unless (defined($ldfile) && $ldfile->mod_token eq $token);

View File

@ -122,61 +122,79 @@ sub delete_invitations {
my $c = shift;
my @tokens = @{$c->every_param('tokens[]')};
my @result = ();
for my $token (@tokens) {
my $i = Lufi::DB::Invitation->new(app => $c->app)
->from_token($token)
->deleted(1)
->write;
push @result, { msg => $c->l('The invitation %1 has been deleted.', $i->token), token => $i->token, deleted => $i->deleted };
}
if ($c->is_user_authenticated) {
my @result = ();
my @failures = ();
for my $token (@tokens) {
my $i = Lufi::DB::Invitation->new(app => $c->app)
->from_token($token);
if ($i->ldap_user eq $c->current_user->{username}) {
$i->deleted(1)
->write;
push @result, { msg => $c->l('The invitation %1 has been deleted.', $i->token), token => $i->token, deleted => $i->deleted };
} else {
push @failures, $c->l('The invitation %1 cant be deleted: it wasnt created by you (%2).', $i->token, $c->current_user->{username});
}
}
$c->render(json => {
success => true,
tokens => \@result
});
$c->render(json => {
success => (scalar(@result) > 0) ? true : false,
tokens => \@result,
failures => \@failures
});
} else {
$c->redirect_to($c->url_for('login')->query(redirect => 'my_invitations'));
}
}
sub resend_invitations {
my $c = shift;
my @tokens = @{$c->every_param('tokens[]')};
my @success;
my @failures;
for my $token (@tokens) {
my $i = Lufi::DB::Invitation->new(app => $c->app)
->from_token($token);
if ($c->is_user_authenticated) {
my @success = ();
my @failures = ();
for my $token (@tokens) {
my $i = Lufi::DB::Invitation->new(app => $c->app)
->from_token($token);
if ($i->files_sent_at) {
push @failures, $c->l('The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation.', $i->token, $i->guest_mail);
} else {
if ($c->config('invitations')->{'extend_invitation_expiration_on_resend'}) {
$i->expire_at(time + $i->expire_at - $i->created_at)
->write;
if ($i->ldap_user eq $c->current_user->{username}) {
if ($i->files_sent_at) {
push @failures, $c->l('The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation.', $i->token, $i->guest_mail);
} else {
if ($c->config('invitations')->{'extend_invitation_expiration_on_resend'}) {
$i->expire_at(time + $i->expire_at - $i->created_at)
->write;
}
my $from = ($c->config('invitations')->{'send_invitation_with_ldap_user_mail'}) ? $i->ldap_user_mail : $c->config('mail_sender');
my $url = $c->url_for('guest', token => $i->token)->to_abs;
my $expire = $c->get_date_lang()->time2str($c->l('%A %d %B %Y at %T'), $i->expire_at);
$c->mail(
from => $from,
to => $i->guest_mail,
template => 'invitations/invite',
format => 'mail',
ldap_user => ucfirst($i->ldap_user),
url => $url,
invitation => $i,
expires => $expire
);
push @success, { msg => $c->l('Invitation resent to %1.<br> URL: %2', $i->guest_mail, $url), expires => $expire, token => $i->token };
}
} else {
push @failures, $c->l('The invitation %1 cant be resent: it wasnt created by you (%2).', $i->token, $c->current_user->{username});
}
my $from = ($c->config('invitations')->{'send_invitation_with_ldap_user_mail'}) ? $i->ldap_user_mail : $c->config('mail_sender');
my $url = $c->url_for('guest', token => $i->token)->to_abs;
my $expire = $c->get_date_lang()->time2str($c->l('%A %d %B %Y at %T'), $i->expire_at);
$c->mail(
from => $from,
to => $i->guest_mail,
template => 'invitations/invite',
format => 'mail',
ldap_user => ucfirst($i->ldap_user),
url => $url,
invitation => $i,
expires => $expire
);
push @success, { msg => $c->l('Invitation resent to %1.<br> URL: %2', $i->guest_mail, $url), expires => $expire, token => $i->token };
}
}
$c->render(json => {
success => \@success,
failures => \@failures
});
$c->render(json => {
success => \@success,
failures => \@failures
});
} else {
$c->redirect_to($c->url_for('login')->query(redirect => 'my_invitations'));
}
}
sub toggle_invitations_visibility {

View File

@ -5,6 +5,7 @@ use Mojo::JSON qw(decode_json);
use Mojo::URL;
use Email::Valid;
use URI::Find;
use URI::Find::Schemeless;
sub render_mail {
my $c = shift;
@ -39,7 +40,7 @@ sub send_mail {
my ($uri, $orig_uri) = @_;
$uri = Mojo::URL->new($uri);
if ($uri->host ne $base_url->to_abs->host && $uri->host ne $fixed_url->to_abs->host) {
$msg .= $c->l('You can\'t add URLs that are not related to this instance.').'<br>';
$msg .= $c->l('You can\'t add URLs that are not related to this instance (%1).', $orig_uri).'<br>';
} elsif (index($orig_uri, $fixed_url->to_abs->to_string) > -1) {
$at_least_one_instance_url = 1;
}
@ -48,7 +49,20 @@ sub send_mail {
$finder->find(\$body);
$finder->find(\$subject);
$c->debug($at_least_one_instance_url);
# Schemeless URI beginning with www, which are interpreted by mailers 🤦
$finder = URI::Find::Schemeless->new(sub {
my ($uri, $orig_uri) = @_;
return $orig_uri if ($uri !~ m/www/);
$uri = Mojo::URL->new($uri);
if ($uri->host ne $base_url->to_abs->host && $uri->host ne $fixed_url->to_abs->host) {
$msg .= $c->l('You can\'t add URLs that are not related to this instance (%1).', $orig_uri).'<br>';
}
return $orig_uri;
});
$finder->find(\$body);
$finder->find(\$subject);
unless ($at_least_one_instance_url) {
$msg .= $c->l('The body of the mail must contain at least one URL pointing to a file hosted on this instance.').'<br>';
}

View File

@ -8,7 +8,7 @@ use Lufi::DB::File;
sub index {
my $c = shift;
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd'))) || $c->is_user_authenticated) {
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated) {
$c->render(template => 'index');
} else {
$c->redirect_to('login');
@ -56,7 +56,7 @@ sub config_infos {
force_burn_after_reading => $c->config('force_burn_after_reading'),
keep_ip_during => $c->config('keep_ip_during'),
stop_upload => (-f 'stop-upload' || -f 'stop-upload.manual') ? true : false,
need_authentication => (defined($c->config('ldap')) || defined($c->config('htpasswd'))) ? true : false,
need_authentication => (defined($c->config('ldap')) || defined($c->config('htpasswd')) || defined($c->config('auth_headers'))) ? true : false,
version => $c->git_version
}
);

View File

@ -140,7 +140,7 @@ sub store {
# Write file
my $file = catfile($c->app->config('upload_dir'), $c->get_path());
Mojo::File->new($file)->spurt($text);
Mojo::File->new($file)->spew($text);
}
return $c;

View File

@ -149,6 +149,14 @@
# 1 => 'Illegal content',
#},
# Lockfile directory
# In which directory do you want to store the lockfile?
# If using load balancing, you will want to set a directory shared by the servers
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is lufi directory
#lockfile_dir => '.',
###############
# Mail settings
###############
@ -299,6 +307,28 @@
# See 'man htpasswd' to know how to create such file
#htpasswd => 'lufi.passwd',
############################
# HTTP header authentication
############################
# Set `auth_headers` if you want to use HTTP header auth.
# Typically, these headers are set by a reverse-proxy
# acting as an authentication server. Useful for SSO.
# `auth_headers` should contains the user's username.
#
# /!\ LUFI BLINDLY TRUSTS THESE HEADERS
# /!\ IT'S UP TO YOU TO SANITIZE INCOMING HEADERS TO SECURE YOUR INSTANCE
#
#auth_headers => 'X-AUTH-PREFERRED-USERNAME',
#auth_headers_map_value => {
# # Like ldap_map_attr but for headers
# displayname => 'X-AUTH-DISPLAYNAME',
# firstname => 'X-AUTH-GIVENNAME',
# lastname => 'X-AUTH-LASTNAME',
# mail => 'X-AUTH-EMAIL'
#},
#######################
# HTTP Headers settings
#######################

View File

@ -112,7 +112,7 @@
# Please read https://metacpan.org/pod/Net::OpenStack::Swift#SYNOPSIS to know how to configure this setting
# IMPORTANT: add a `container` key in it, to let Lufi know which container to use. This is not a regular Net::OpenStack::Swift setting, but Lufi need it.
# optional, no default
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test', password => 'test', container => 'lufi', auth_version => '1.0' },
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test:tester', password => 'testing', container => 'lufi', auth_version => '1.0' },
# Allow to add a password on files, asked before allowing to download files
# optional, default is 0
@ -139,6 +139,14 @@
1 => 'Illegal content',
},
# Lockfile directory
# In which directory do you want to store the lockfile?
# If using load balancing, you will want to set a directory shared by the servers
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is lufi directory
#lockfile_dir => '.',
###############
# Mail settings
###############

View File

@ -112,7 +112,7 @@
# Please read https://metacpan.org/pod/Net::OpenStack::Swift#SYNOPSIS to know how to configure this setting
# IMPORTANT: add a `container` key in it, to let Lufi know which container to use. This is not a regular Net::OpenStack::Swift setting, but Lufi need it.
# optional, no default
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test', password => 'test', container => 'lufi', auth_version => '1.0' },
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test:tester', password => 'testing', container => 'lufi', auth_version => '1.0' },
# Allow to add a password on files, asked before allowing to download files
# optional, default is 0
@ -135,6 +135,14 @@
1 => 'Illegal content',
},
# Lockfile directory
# In which directory do you want to store the lockfile?
# If using load balancing, you will want to set a directory shared by the servers
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is lufi directory
#lockfile_dir => '.',
###############
# Mail settings
###############

View File

@ -112,7 +112,7 @@
# Please read https://metacpan.org/pod/Net::OpenStack::Swift#SYNOPSIS to know how to configure this setting
# IMPORTANT: add a `container` key in it, to let Lufi know which container to use. This is not a regular Net::OpenStack::Swift setting, but Lufi need it.
# optional, no default
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test', password => 'test', container => 'lufi', auth_version => '1.0' },
#swift => { auth_url => 'http://swiftstack-picoswiftstack:8080/auth/v1.0', user => 'test:tester', password => 'testing', container => 'lufi', auth_version => '1.0' },
# Allow to add a password on files, asked before allowing to download files
# optional, default is 0
@ -139,6 +139,14 @@
1 => 'Illegal content',
},
# Lockfile directory
# In which directory do you want to store the lockfile?
# If using load balancing, you will want to set a directory shared by the servers
# You can define it relative to lufi directory or set an absolute path
# Remember that it has to be in a directory writable by Lufi user
# optional, default is lufi directory
#lockfile_dir => '.',
###############
# Mail settings
###############

View File

@ -108,10 +108,10 @@ auth_test_suite('zoidberg', 'zoidberg');
restore_config();
## Test Swift object storage
switch_to_swift();
test_upload_file();
test_download_file();
restore_config();
#switch_to_swift();
#test_upload_file();
#test_download_file();
#restore_config();
done_testing();
@ -269,13 +269,13 @@ sub test_login {
}
sub restore_config {
$config_file->spurt($config_orig);
$config_file->spew($config_orig);
}
sub switch_to_htpasswd {
$config_content = $config_orig;
$config_content =~ s/#?htpasswd.*/htpasswd => 't\/lufi.passwd',/gm;
$config_file->spurt($config_content);
$config_file->spew($config_content);
Lufi::DB::Slice->new(app => $m)->delete_all;
Lufi::DB::File->new(app => $m)->delete_all;
@ -289,7 +289,7 @@ sub switch_to_htpasswd {
sub switch_to_ldap {
$config_content = $config_orig;
$config_content =~ s/^( +)#?ldap => \{ uri/$1ldap => { uri/gm;
$config_file->spurt($config_content);
$config_file->spew($config_content);
Lufi::DB::Slice->new(app => $m)->delete_all;
Lufi::DB::File->new(app => $m)->delete_all;
@ -303,7 +303,7 @@ sub switch_to_ldap {
sub switch_to_swift {
$config_content = $config_orig;
$config_content =~ s/^( +)#?swift => \{ auth_url/$1swift => { auth_url/gm;
$config_file->spurt($config_content);
$config_file->spew($config_content);
Lufi::DB::Slice->new(app => $m)->delete_all;
Lufi::DB::File->new(app => $m)->delete_all;

View File

@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2021-03-02 18:14+0000\n"
"Last-Translator: zer0-x <1rn0kmrwo@relay.firefox.com>\n"
"PO-Revision-Date: 2021-10-08 03:05+0000\n"
"Last-Translator: ButterflyOfFire <butterflyoffire@protonmail.com>\n"
"Language-Team: Arabic <https://weblate.framasoft.org/projects/lufi/"
"default-theme/ar/>\n"
"Language: ar\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.4.2\n"
"X-Generator: Weblate 4.6.2\n"
#. ($delay)
#. (max_delay)
@ -608,7 +608,7 @@ msgid ""
"Sorry, your invitation has expired or has been deleted. Please contact %1 to "
"have another invitation."
msgstr ""
"المعذرة ، لقد انتهت مدة صلاحية دعوتك أو تم قد حذفها. الرجاء الاتصال بـ %1 "
"المعذرة ، لقد انتهت مدة صلاحية دعوتك أو قد تم حذفها. الرجاء الاتصال بـ %1 "
"للحصول على دعوة أخرى."
#. ($invitation->ldap_user_mail)
@ -647,7 +647,7 @@ msgstr "لا يمكن أن يُترك موضوع الرسالة فارغًا."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:51
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "مدة انتهاء الصلاحية (%1) ليس بين 1 و %2 أيام."
msgstr "مدة انتهاء الصلاحية (%1) ليس محصور بين 1 و %2 أيام."
#: lib/Lufi/Controller/Files.pm:468
msgid "The file has already been deleted"
@ -971,3 +971,9 @@ msgstr "آخر علامة على مثيل الخادم هذا: %1"
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "آخر مراجعة على مثيل الخادم هذا: %1"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"استحالة تنزيل الملف: العديد من المحاولات غير الناجحة لفتح websocket. الرجاء "
"الاتصال بالمدير."

View File

@ -0,0 +1,848 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-11-23 12:06+0000\n"
"Last-Translator: Ewen <darempred@korr.bzh>\n"
"Language-Team: Breton <https://weblate.framasoft.org/projects/lufi/"
"default-theme/br/>\n"
"Language: br\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=5; plural=(n % 10 == 1 && n % 100 != 11 && n % 100 != "
"71 && n % 100 != 91) ? 0 : ((n % 10 == 2 && n % 100 != 12 && n % 100 != 72 "
"&& n % 100 != 92) ? 1 : ((((n % 10 == 3 || n % 10 == 4) || n % 10 == 9) && ("
"n % 100 < 10 || n % 100 > 19) && (n % 100 < 70 || n % 100 > 79) && (n % 100 "
"< 90 || n % 100 > 99)) ? 2 : ((n != 0 && n % 1000000 == 0) ? 3 : 4)));\n"
"X-Generator: Weblate 5.2\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 devezh"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr "Pedet oc'h gant %1 da gas dezhi/dezhañ oh fichennaoueg"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "Pedet oc'h gant %1 da gas dezhi/dezhañ oh fichennaoueg dre Lufi."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 o deus kaset deoc'h fichennaouegoù"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "Implijet eo bet oh pedadenn gant %1 :"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y da %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(pouezh maks : XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1 bloazh"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24 eur"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "Nullañ"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "Diwar benn"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "Ouzhpenn ur ger kuzh d'ho fichennaoueg(où)"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Ouzhpennañ liammoù diliam gant al lec'hienn Lufi-mañ e-barzh sujed pe korf "
"oh mail a zo difennet."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Ah sur oc'h dilemel ar pedadennoù choazet ?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr "Ah sur oc'h adkas ho mail pediñ evit ar pedadenn choazet ?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Lufi a zo ur poellad frank diwar aotre-implijout an <a href=\"https://gnu."
"org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, posubl eo deoc'h "
"staliañ anezhañ war oh servijer. Kit war omp <a href=\"https://framagit.org/"
"fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> da "
"wellout penaos."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Oh goulenn evit ar fichennaoueg lodenn XX1 diwar %1"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Distro war ar bajenn degemer"
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Token CSRF fall !"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "Token CSRF fall."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "Klik amañ da adkarg ar bajenn ha krog ar pellgargañ adare."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "Klik war al liammoù dindan da gas fichennaouegoù gant Lufi :"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "Klik da zigor an ergerzher fichennoù"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Seriñ"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Mailoù dispartiet gant virgulennoù"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Gwaskañ en ur zip fichenn…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Kopiañ holl ar liammoù d'ar gwask-paper"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Kopiañ d'ar gwask-paper"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "N'eo ket be posubl dilemel ar fichenn. N'och ket luget."
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr "Ne oa ket posubl kavout ar fichenn. Ah sur oc'h eus oh liamm ha token ?"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr "Ne oa ket posubl kavout ar fichenn. Ah sur oc'h eus oh liamm ?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "Kont"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "Krouet d'an/d'ar"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "Dilemel"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr ""
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr ""
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr ""
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr ""
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr ""
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr ""
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr ""
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr ""
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr ""
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr ""
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr ""
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr ""
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr ""
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr ""
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr ""
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr ""
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr ""
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr ""
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr ""
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr ""
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr ""
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr ""
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr ""
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr ""
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr ""
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr ""
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr ""
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr ""
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr ""
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr ""
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr ""
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr ""
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr ""
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr ""
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr ""
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr ""
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr ""
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr ""
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr ""
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr ""
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr ""
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr ""
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr ""
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr ""
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr ""
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr ""
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr ""
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr ""
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr ""
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr ""
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr ""
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr ""
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr ""
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr ""
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr ""
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr ""
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr ""
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr ""
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr ""
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr ""
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr ""
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr ""
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr ""
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr ""
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr ""
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr ""
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr ""
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr ""
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr ""
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr ""
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr ""
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr ""
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr ""
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr ""
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr ""
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr ""
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr ""
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr ""
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr ""
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr ""
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr ""
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr ""
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr ""
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr ""
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr ""

View File

@ -0,0 +1,967 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-05-12 14:05+0000\n"
"Last-Translator: Patriccollu di Santa Maria è Sichè <Patriccollu@gmail.com>\n"
"Language-Team: Corsican <https://weblate.framasoft.org/projects/lufi/"
"default-theme/co/>\n"
"Language: co\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 ghjorni"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr "%1 vinvita à mandalli schedarii"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 vinvita à mandalli schedarii via Lufi."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 vi hà mandatu schedarii"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 hà impiegatu a vostra invitazione per mandavvi schedarii :"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y à %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(dimensione massima : XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1 annu"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24 ore"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "Interrompe"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "Apprupositu"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "Aghjunghje una parolla dintesa à u(i) schedariu(i)"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Hè difesu daghjunghje à u sughjettu o à u testu di stu messaghju l"
"indirizzi web chì ùn sò micca in relazione cù stistanza Lufi."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Da veru, vulete squassà linvitazioni selezziunate ?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr ""
"Da veru, vulete mandà torna u messaghju dinvitazione per linvitazioni "
"selezziunate ?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Cumè Lufi hè un prugramma liberu sottumessu à i termi di a <a href=\"https"
"://gnu.org/licenses/agpl.html\" class=\"classic\">licenza AGPLv3</a>, pudete "
"installallu nantà u vostru propiu servitore. Cunsultate u <a href=\"https"
"://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\""
">Wiki</a> per vede a prucedura."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Dumanda di ricuperazione di a parte di schedariu XX1 per %1"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Ritornu à a pagina daccolta"
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Gettone CSRF inaccettevule !"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "Gettone CSRF inaccettevule."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "Fate un cliccu quì per attualizà a pagina è rilancià u scaricamentu."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr ""
"Fate un cliccu nantà stindirizzu web per incaricà i schedarii nantà Lufi :"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "Fate un cliccu per apre u navigatore di schedarii"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Chjode"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Indirizzi elettronichi staccati da virgule"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Cumpressione di u schedariu zip…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Cupià tutti i liami in u premepapei"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Cupià in u premepapei"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "Impussibule di squassà u schedariu. Ùn site micca autenticati."
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr ""
"Impussibule di truvà u schedariu. Site sicura(u) chì lindirizzu web è u "
"gettone sianu curretti ?"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr ""
"Impussibule di truvà u schedariu. Site sicura(u) chì lindirizzu web sia "
"currettu ?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "Cuntadore"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "Creà un archiviu zip cù i schedarii nanzu dincaricà ?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "Creatu u"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "Squassà"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "Squassà dopu à u primu scaricamentu ?"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr "Squassà i schedarii selezziunati"
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr "Liame di squassatura"
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
"Ùn vinchietate : sè un utilizatore principieghja a scaricà un schedariu "
"nanzu à a so scadenza è chì stu scaricamentu si compie dopu a scadenza, l"
"utilizatore puderà quantunque ottene u schedariu."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "Scaricà"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "Scaricamentu interrottu."
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "Liame di scaricamentu"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"Fate trascinà i schedarii è depuniteli in larea apposta o selezziunateli di "
"a manera tradiziunale è sti schedarii seranu affittati, cifrati è mandati à "
"u servitore. Ottinerete dui liami per ogni schedariu : un liame di "
"scaricamentu è un altru per squassà u schedariu quandella vi piare."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "Depunite quì i vostri schedarii"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr "Indirizzu elettronicu di a(u) vostra(u) invitata(u)"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "Testu di u messaghju elettronicu"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "Sughjettu di u messaghju elettronicu"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr "Messaghji elettronichi"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr "Cifratura di a parte di schedariu XX1 nantà XX2"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Sbagliu : U schedariu esistia ma hè statu squassatu."
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "Sbagliu : U schedariu ùn hè micca statu mandatu sanu."
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr ""
"Sbagliu : Impussibule di truvà u schedariu. Site sicura(u) chì u vostru "
"indirizzu web sia currettu ?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr "Scadenza:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "Scadenza u"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr "Scadenza u"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "Espurtà i dati localStorage"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "Schedariu squassatu"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Schedariu scaricatu"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "Nome di u schedariu"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Schedariu incaricatu"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "Schedarii"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "Schedarii squassati à u primu scaricamentu"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr "Schedarii mandati u"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "Schedarii mandati via linvitazione XX1 da XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "Ottene u schedariu"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Ottinite u codice di fonte nantà <a href=\"https://framagit.org/fiat-tux/"
"hat-softwares/lufi\" class=\"classic\">u dipositu ufficiale</a> or on its <a "
"href=\"https://github.com/ldidry/lufi\" class=\"classic\">spechju Github</a>"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr "Messaghju di linvitatu"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr "Bonghjornu o %1,"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr "Bonghjornu,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Bonghjornu,\\n"
"\\n"
"Eccu qualchì schedariu cho vogliu scumparte cù voi :\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "Eccu qualchì schedariu"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr "Ùn micca affissà linvitazioni piattate"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Appughjate nantà u tastu Entrée eppò fate Ctrl+C per cupià tutti i liami di "
"scaricamentu"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
"Appughjate nantà u tastu Entrée eppò fate Ctrl+C per cupià u liame di "
"scaricamentu"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "Cumu funziuneghja laffare ?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr "Quantu ghjorni vò vulete chì linvitazione sia accettevule ?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "Cumu installà u prugramma nantà u mo servitore ?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "Cumu signalà un schedariu illegale ?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr ""
"Sè vò sciglite un cumportu, u schedariu serà squassatu dopu à stu cumportu."
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
"Sè vò mandate u messaghju da stu servitore, i liami seranu mandati à u "
"servitore, ciò chì pò diminuisce a prutezzione di a cunfidenzialità."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "Impurtà i dati localStorage"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "Impurtante : più dinfurmazione nantà i cumporti"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "Infurmazione apprupositu di i cumporti"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "Invertisce a selezzione"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Invitazione mandata torna à %1.<br> Indirizzu web : %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Invitazione mandata à %1.<br> Indirizzu web : %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "Invità qualchissia"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
"Pare chì a chjave in u vostru indirizzu web sia incurretta. Verificate u "
"vostru indirizzu web."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr "Javascript hè disattivatu. Ùn puderete micca impiegà Lufi."
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr "Lingua"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "Ultimu « commit » di stistanza : %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr "Ultima etichetta di stistanza : %1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr "Identificazione di cunnessione"
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr "Scunnettesi"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufi hè un prugramma liberu duspitalità di schedarii."
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Pocu fà, Lufi hà cambiatu a so manera daccuncià linfurmazione di i "
"schedarii.\\n"
"\\n"
"Alcunu schedariu ùn si trova in u novu locu localStorage ma avemu trovu "
"schedarii in lanzianu locu.\\n"
"Vulete impurtà stinfurmazione ?\\n"
"\\n"
"Sappiate chì ghjè a sola volta chì vi dumandemu què."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr "Messaghji"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr "I mo schedarii"
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr "E mo invitazioni"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
"Nota : sta lista cuntene quella di i schedarii chì vi sò stati mandati "
"dighjà."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Nome di u schedariu zip"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
"Ùn ci hè abbastanza spaziu dispunibule nantà u servitore per stu schedariu ("
"dimensione : %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "Nisunu cumportu di scadenza"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
"Solu i schedarii mandati cù stu navigatore sonu affissati quì. Sta lista hè "
"piazzata in localStorage : sè vò squassate i vostri dati localStorage, "
"perderete sta lista."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr "Parolla dintesa"
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr "Ci vole à cuntattà u vostru amministratore : %1"
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
"Ci vole à aspettà durante a ricuperazione di u vostru schedariu. Da prima, "
"duvemu scaricà è dicifrà tutte e so parti nanzu chì vò possate lottene."
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
"Ci vole à verificà e vostre identificazioni di cunnessione o i vostri "
"diritti daccessu à stu serviziu : fiascu di lautenticazione."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr "Cunfidenzialità"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "Spurgulà i schedarii scaduti da localStorage"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "Saluti curdiali,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "Saluti curdiali."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Signalà un schedariu"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "Mandà torna u messaghju dinvitazione"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr "E linee in purpura indicanu chì linvitazioni sò scadute."
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
"E linee in rossu indicanu chì i schedarii sò scaduti è chelli ùn sò più "
"dispunibule."
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "Mandà tutti i liami da messaghju elettronicu"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "Mandà linvitazione"
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Mandà cù stu servitore"
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Mandà cù u vostru propiu prugramma di messaghjeria"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
"Inviu di a parte XX1 nantà XX2 Per piacè, siate pazientosi, perchè a barra "
"di prugressione pò piglià un pezzu prima di dispiazzassi."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Scumpartite i vostri schedarii in tutta cunfidenzialità cù %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr "Affissà linvitazioni piattate"
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Affissà u cuntenutu di u zip"
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr "Autenticazione"
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
"Per disgrazia, linvitazione ùn esiste micca. Site sicura(u) dimpiegà l"
"indirizzu web currettu ?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Per disgrazia, lincaricamentu di schedariu hè disattivatu à stora. Pruvate "
"torna un altra volta."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr "Per disgrazia, lincaricamentu di schedariu hè disattivatu."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "Per disgrazia, a vostra invitazione hè scaduta o hè stata squassata."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
"Per disgrazia, a vostra invitazione hè scaduta o hè stata squassata. Ci vole "
"à cuntattà %1 per ottene un altra invitazione."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
"Lindirizzi web di i vostri schedarii sò stati mandati à %1 da messaghju "
"elettronicu."
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
"Lamministratore pò solu vede u nome di u schedariu, a so dimensione è u so «"
" mimetype » (u so tipu di schedariu : sonu, filmettu, testu, ecc.)."
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
"U testu di u messaghju deve cuntene omancu un indirizzu web chì appunteghja "
"versu un schedariu ospitatu nantà stistanza."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "I dati sò stati impurtati currettamente."
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "U testu di u messaghju elettronicu ùn pò micca esse viotu."
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "U sughjettu di u messaghju elettronicu ùn pò micca esse viotu."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "U cumportu di scadenza (%1) ùn hè micca trà 1 è %2 ghjorni."
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "U schedariu hè statu squassatu dighjà"
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
"I schedarii incaricati nantà una istanza Lufi sò cifrati prima desse "
"incaricati nantà u servitore : lamministratore di u servitore ùn pò micca "
"vede u cuntenutu di i schedarii."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "Quelli indirizzi elettronichi ùn sò micca accettevule : %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr "Lindirizzu elettronicu di linvitatu (%1) ùn hè micca accettevule."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
"Linvitazione %1 ùn pò micca esse squassata : ùn hè micca stata creata da "
"voi (%2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
"Linvitazione %1 ùn pò micca esse mandata torna : %2 hà dighjà mandatu i "
"schedarii.<br>Ci vole à creà unaltra invitazione."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Linvitazione %1 ùn pò micca esse mandata torna : ùn hè micca stata creata "
"da voi (%2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "Linvitazione %1 hè stata squassata."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
"U messaghju elettronicu dinvitazione serà mandatu da u vostru indirizzu "
"elettronicu (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "U(i) liame(i) hè(sò) statu(i) cupiatu(i) in u vostru premepapei"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
"U(i) liame(i) di u(i) vostru(i) schedariu(i) serà(seranu) mandatu(i) "
"autumaticamente da messaghju à %1 (%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
"I liami di u(i) vostru(i) schedariu(i) seranu mandati autumaticamente da "
"messaghju à %1."
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "U messaghju hè statu mandatu."
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"Lautore dorigine (è per ora, lunicu) hè <a href=\"https://fiat-tux.fr\" "
"class=\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
"U servitore ùn hè micca statu capace di ritruvà larregistramentu di u "
"schedariu à quellu aghjunghje a vostra parte di schedariu. Ci vole à "
"cuntattà u vostru amministratore."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"U schedariu hè statu disattivatu da lamministratori. Ci vole à cuntattalli "
"per cunnoscene a ragione."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "Stinvitazione hè, di regula, piattata"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr "Stinvitazione hè accettevule sinà %1."
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
"Stu servitore definisce limitazioni secondu à a dimensione di u schedariu. U "
"cumportu di scadenza di u vostru schedariu serà u minimu trà ciò chì vò "
"avete sceltu è quelle limitazioni :"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr "Invertisce a visibilità"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr "Indirizzu web"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "Impussibule di cupià u(i) liame(i) in u vostru premepapei"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Impussibule di scaricà u schedariu : troppu tentativi infruttuosi per apre "
"un websocket. Ci vole à cuntattà u vostru amministratore."
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
"Impussibule dottene u cuntadore per %1. U schedariu ùn esiste micca. Hà da "
"esse cacciatu da u vostru localStorage."
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "Impussibule dottene u cuntadore per %1. U gettone hè inaccettevule."
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "Impussibule dottene u cuntadore per %1. Ùn site micca autenticati."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "Incaricà schedarii"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr "Incaricà u schedariu zip ingeneratu"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr "Incaricatu à"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr "Schedarii incaricati"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Versione"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Sbagliu di cumunicazione websocket"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr "Cosa hè Lufi ?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "Quale chì hà scrittu stu prugramma ?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "U schedariu XXX hè statu aghjuntu à a fila dattesa dincaricamentu."
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
"Pudete invità qualcunu à mandavvi schedarii via stistanza Lufi ancu sè sta "
"persona ùn ci hà micca contu."
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
"Pudete vede a lista di i vostri schedarii da un cliccu nantà u liame « I mo "
"schedarii » insù è à diritta di sta pagina."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Ùn pudete micca aghjunghje indirizzi web chì ùn sò micca in relazione cù st"
"istanza (%1)."
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
"Ùn avete micca bisognu darregistravvi per incaricà schedarii ma, sappiate "
"chì, per ragioni legale, u vostru indirizzu IP serà arregistratu quandu vò "
"mandate un schedariu. Ùn spaventavvi, di regula, ghjè listessa per tutti i "
"siti induve sì pò mandà schedarii."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
"Pare chì ùn abbiate micca chjave in u vostru indirizzu web. Ùn seriate micca "
"capace di dicifrà u schedariu. Scaricamentu abbandunatu."
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
"Avete fattu un tentativu per lascià sta pagina. U scaricamentu serà "
"abbandunatu. Site sicuri ?"
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
"Avete fattu un tentativu per lascià sta pagina. Lincaricamentu serà "
"abbandunatu. Site sicuri ?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "Vi site scunnessi currettamente."
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "Duvete furnisce indirizzi elettronichi."
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
"U vostru navigatore ùn hà abbastanza energia per ingenerà una chjave di "
"cifratura forta. Ci vole à aspettà (hè megliu sè vò fate qualcosa durante "
"lattesa)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr ""
"U vostru schedariu hè troppu maiò : %1 (dimensione massima accettata  %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
"A vostra parolla dintesa ùn hè micca accettevule. Ci vole à attualizà a "
"pagina per pruvà torna."
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Cuntenutu di u zip :"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "trà %1 è %2, u schedariu serà cunservatu %3 ghjornu(i)."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "trà %1 è %2, u schedariu serà cunservatu abeternu."
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr "ultimu cumportu : "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr "scadenza u XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "per %1 è più, u schedariu serà cunservatu %2 ghjornu(i)"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "per %1 è più, u schedariu serà cunservatu abeternu."
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr "senza limitazione di tempu"
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr "o"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), chì serà scadutu u %3"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr ""
"Ùn pudete micca aghjunghje indirizzi web chì ùn sò micca in relazione cù "
"stistanza."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-06-05 22:24+0000\n"
"PO-Revision-Date: 2021-11-08 11:05+0000\n"
"Last-Translator: pi <pi@solidaris.me>\n"
"Language-Team: German <https://weblate.framasoft.org/projects/lufi/"
"default-theme/de/>\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11.2\n"
"X-Generator: Weblate 4.8.1\n"
#. ($delay)
#. (max_delay)
@ -44,7 +44,7 @@ msgstr "%1 hat Ihre Einladung genutzt, um Ihnen Dateien zu schicken:"
#: lib/Lufi/Controller/Invitation.pm:159 lib/Lufi/Controller/Invitation.pm:84 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y um %T"
msgstr "%A, %d. %B %Y um %T"
#: themes/default/templates/partial/index.js.ep:27
msgid "(max size: XXX)"
@ -281,7 +281,7 @@ msgstr "Ablaufdatum:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "Verfallen am"
msgstr "Verfällt am"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
@ -803,7 +803,7 @@ msgid ""
"from your localStorage."
msgstr ""
"Der Zähler für %1 konnte nicht gefunden werden. Die Datei existiert nicht. "
"Es wird aus Ihrem localStorage entfernt."
"Sie wird aus Ihrem localStorage entfernt."
#. ($short)
#: lib/Lufi/Controller/Files.pm:429
@ -1019,3 +1019,29 @@ msgstr "Neueste Version dieser Instanz: %1"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Version"
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Sie können keine URLs hinzufügen, die nicht zu dieser Instanz gehören (%1)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
"Die Einladung %1 kann nicht gelöscht werden: sie wurde nicht von Ihnen "
"erstellt (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Die Einladung %1 kann nicht erneut verschickt werden: sie wurde nicht von "
"Ihnen erstellt (%2)."
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Download der Datei nicht möglich: Zu viele erfolglose Versuche, ein "
"Websocket zu öffnen. Bitte kontaktieren Sie den Administrator."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2021-05-26 15:15+0000\n"
"Last-Translator: Dimitris T. <dimitris@stinpriza.org>\n"
"PO-Revision-Date: 2022-02-07 04:27+0000\n"
"Last-Translator: Dimitrios Glentadakis <dglent@free.fr>\n"
"Language-Team: Greek <https://weblate.framasoft.org/projects/lufi/"
"default-theme/el/>\n"
"Language: el\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.6.2\n"
"X-Generator: Weblate 4.10.1\n"
#. ($delay)
#. (max_delay)
@ -42,11 +42,11 @@ msgstr "%1 σας έστειλε αρχεία"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 χρησιμοποίησε τη πρόσκληση για να σας στείλει αρχεία:"
msgstr "%1 χρησιμοποίησε την πρόσκληση για να σας στείλει αρχεία:"
#: lib/Lufi/Controller/Invitation.pm:159 lib/Lufi/Controller/Invitation.pm:84 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr ""
msgstr "%A %d %B %Y στις %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
@ -61,7 +61,6 @@ msgid "24 hours"
msgstr "24 ώρες"
#: themes/default/templates/partial/mail.js.ep:40
#, fuzzy
msgid ":"
msgstr ":"
@ -80,6 +79,8 @@ msgstr "Προσθέστε κωδικό στο αρχείο/α"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Δεν επιτρέπεται η προσθήκη στο σώμα ή στο θέμα του μηνύματος συνδέσμων URL "
"που δεν σχετίζονται με αυτό το Lufi ."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
@ -88,10 +89,17 @@ msgstr "Θέλετε σίγουρα να διαγράψετε τις επιλε
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr ""
"Θέλετε σίγουρα να ξαναστείλετε το μήνυμα πρόσκλησης για τις επιλεγμένες "
"προσκλήσεις;"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Δεδομένου πως το Lufi είναι ελεύθερο λογισμικό και διέπεται από τους όρους "
"της άδειας <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\""
">AGPLv3</a>, μπορείτε να το εγκαταστήσετε στον δικό σας διακομιστή. Δείτε τη "
"διαδικασία στο <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/"
"wikis/home\" class=\"classic\">Wiki</a>."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
@ -104,16 +112,16 @@ msgstr "Πίσω στην αρχική σελίδα"
#: lib/Lufi/Controller/Mail.pm:25
msgid "Bad CSRF token!"
msgstr ""
msgstr "Λάθος CSRF token!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr ""
msgstr "Λάθος CSRF token."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr ""
"Πατήστε εδώ για να ανανεώσετε τη σελίδα και να επανεκκινήσετε τη μεταφόρτωση."
"Πατήστε εδώ για να ανανεώσετε τη σελίδα και να επανεκκινήσετε το κατέβασμα."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
@ -121,7 +129,7 @@ msgstr "Πατήστε στον ακόλουθο σύνδεσμο URL για ν
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr ""
msgstr "Κάντε κλικ για να αναζητήσετε αρχεία"
#: themes/default/templates/delays.html.ep:38 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
@ -129,7 +137,7 @@ msgstr "Κλείσιμο"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "διευθύνσεις email, χωρισμένες με κόμμα"
msgstr "Διευθύνσεις email, χωρισμένες με κόμμα"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
@ -137,11 +145,11 @@ msgstr "Συμπίεση αρχείου zip…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr ""
msgstr "Αντιγραφή όλων των συνδέσμων στο πρόχειρο"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr ""
msgstr "Αντιγραφή στο πρόχειρο"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
@ -149,11 +157,11 @@ msgstr "Δεν μπορεί να διαγραφεί το αρχείο. Δεν ε
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr ""
msgstr "Το αρχείο δεν βρέθηκε. Είστε σίγουροι για το σύνδεσμο URL και το token;"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr ""
msgstr "Το αρχείο δεν βρέθηκε. Είστε σίγουροι για τον σύνδεσμο URL;"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
@ -175,7 +183,7 @@ msgstr "Διαγραφή"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "Διαγραφή στη πρώτη μεταφόρτωση;"
msgstr "Διαγραφή στο πρώτο κατέβασμα;"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
@ -188,30 +196,38 @@ msgstr "Σύνδεσμος διαγραφής"
#: themes/default/templates/delays.html.ep:8
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
"Μην ανησυχείτε: ένας χρήστης μπορεί να ολοκληρώσει το κατέβασμα του αρχείου "
"μετά τη λήξη, αρκεί να ξεκινήσει να το κατεβάζει πριν τη λήξη."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "Μεταφόρτωση"
msgstr "Κατέβασμα"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "Ακύρωση μεταφόρτωσης."
msgstr "Το κατέβασμα ακυρώθηκε."
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "Σύνδεσμος μεταφόρτωσης"
msgstr "Σύνδεσμος κατεβάσματος"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"Σύρετε τα αρχεία στη σχετική περιοχή ή χρησιμοποιήστε τον παραδοσιακό τρόπο "
"επιλογής αρχείων και τα αρχεία θα χωριστούν σε κομμάτια, θα κρυπτογραφηθούν "
"και θα σταλούν στον διακομιστή. Θα σας δοθούν δύο σύνδεσμοι για κάθε αρχείο: "
"ένας σύνδεσμος για κατέβασμα, που θα δώσετε σε εκείνους που θέλετε να "
"κατεβάσουν το αρχείο και ένας σύνδεσμος για διαγραφή, που σας επιτρέπει να "
"το διαγράψετε όποτε θελήσετε."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr ""
msgstr "Σύρετε αρχεία εδώ"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr ""
msgstr "Διεύθυνση email του καλεσμένου σας"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
@ -223,7 +239,7 @@ msgstr "Θέμα email"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr ""
msgstr "Email"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
@ -231,15 +247,15 @@ msgstr "Κρυπτογράφηση μέρους XX1 από XX2"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Μήνυμα λάθους: το αρχείο υπήρχε αλλά διαγράφηκε"
msgstr "Σφάλμα: το αρχείο υπήρχε αλλά διαγράφηκε."
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr ""
msgstr "Σφάλμα: δεν στάλθηκε ολόκληρο το αρχείο."
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr ""
msgstr "Σφάλμα: το αρχείο δεν βρέθηκε. Είστε σίγουροι για τον σύνδεσμο URL;"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
@ -255,7 +271,7 @@ msgstr "Λήγει στις"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr ""
msgstr "Εξαγωγή δεδομένων localStorage"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
@ -263,7 +279,7 @@ msgstr "Το αρχείο διαγράφηκε"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Το αρχείο μεταφορτώθηκε"
msgstr "Το αρχείο κατέβηκε"
#: themes/default/templates/files.html.ep:27
msgid "File name"
@ -279,7 +295,7 @@ msgstr "Αρχεία"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "Τα αρχεία διαγράφηκαν στη πρώτη μεταφόρτωση"
msgstr "Τα αρχεία διαγράφηκαν στο πρώτο κατέβασμα"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
@ -287,7 +303,7 @@ msgstr "Τα αρχεία στάλθηκαν στις"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr ""
msgstr "Τα αρχεία στάλθηκαν στην πρόσκληση XX1 από XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
@ -296,10 +312,14 @@ msgstr "Λάβε το αρχείο"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Λάβετε τον πηγαίο κώδικα από το <a href=\"https://framagit.org/fiat-tux/"
"hat-softwares/lufi\" class=\"classic\">επίσημο αποθετήριο</a> ή από τον <a "
"href=\"https://github.com/ldidry/lufi\" class=\"classic\">καθρέπτη του στο "
"Github </a>"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr ""
msgstr "Email καλεσμένου"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
@ -328,68 +348,75 @@ msgstr "Απόκρυψη κρυφών προσκλήσεων"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Πατήστε Enter, μετά Ctrl+C για να αντιγράψετε όλους τους συνδέσμους "
"κατεβάσματος"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
msgstr "Πατήστε Enter, μετά Ctrl+C για να αντιγράψετε τον σύνδεσμο κατεβάσματος"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "Πως δουλεύει;"
msgstr "Πώς δουλεύει;"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr ""
msgstr "Για πόσες μέρες θα θέλατε να ισχύσει η πρόσκληση;"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "Πως εγκαθιστώ το λογισμικό σε δικό μου διακομιστή;"
msgstr "Πώς εγκαθιστώ το λογισμικό σε δικό μου διακομιστή;"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "Πως αναφέρω ένα παράνομο αρχείο;"
msgstr "Πώς αναφέρω ένα παράνομο αρχείο;"
#: themes/default/templates/delays.html.ep:7
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr ""
msgstr "Αν επιλέξετε μια διάρκεια, το αρχείο θα διαγραφεί μετά το πέρας της."
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
"Αν στείλετε email από αυτόν τον διακομιστή, οι σύνδεσμοι θα σταλούν στον "
"διακομιστή, κάτι που μπορεί να περιορίσει την προστασία της ιδιωτικότητάς "
"σας."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr ""
msgstr "Εισαγωγή δεδομένων localStorage"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "Σημαντικό: περισσότερες πληροφορίες για καθυστερήσεις"
msgstr "Σημαντικό: περισσότερες πληροφορίες για τις διάρκειες ζωής"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "Πληροφορίες σχετικά με καθυστερήσεις"
msgstr "Πληροφορίες σχετικά με τις διάρκειες ζωής"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr ""
msgstr "Αντιστροφή επιλογής"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:171
msgid "Invitation resent to %1.<br> URL: %2"
msgstr ""
msgstr "Η πρόσκληση προς %1 ξαναστάλθηκε .<br> Σύνδεσμος URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:87
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Η πρόσκληση στάλθηκε στο %1.<br> URL: %2"
msgstr "Η πρόσκληση στάλθηκε στο %1.<br> Σύνδεσμος URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "Προσκάλεσε ένα επισκέπτη"
msgstr "Προσκάλεσε έναν επισκέπτη"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
"Φαίνεται πως το κλειδί στον σύνδεσμο URL σας είναι λανθασμένο. Παρακαλούμε "
"ελέγξτε τον σύνδεσμο."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
@ -404,12 +431,12 @@ msgstr "Γλώσσα"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr ""
msgstr "Πιο πρόσφατο commit αυτής της εγκατάστασης: %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr ""
msgstr "Πιο πρόσφατο tag αυτής της εγκατάστασης: %1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
@ -422,14 +449,24 @@ msgstr "Αποσύνδεση"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr ""
"Το Lufi είναι ένα ελεύθερο (όπως ο ελεύθερος λόγος) λογισμικό για φιλοξενία "
"αρχείων."
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Το Lufi άλλαξε πρόσφατα τον τρόπο που αποθηκεύει τις πληροφορίες των αρχείων."
"\\n"
"\\n"
"Δεν βρέθηκαν αρχεία στην καινούρια τοποθεσία του localStorage, αλλά βρέθηκαν "
"στην παλιά.\\n"
"Θέλετε να γίνει εισαγωγή των πληροφοριών;\\n"
"\\n"
"Έχετε υπόψιν ότι δεν θα σας ξαναρωτήσουμε."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr ""
msgstr "Mail"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
@ -441,7 +478,7 @@ msgstr "Οι προσκλήσεις μου"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
msgstr "Σημείωση: αυτή η λίστα περιλαμβάνει τα αρχεία που σας έχουν ήδη σταλεί."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
@ -451,14 +488,18 @@ msgstr "Όνομα αρχείου zip"
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
"Δεν υπάρχει αρκετός χώρος στον διακομιστή για αυτό το αρχείο (μέγεθος %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr ""
msgstr "Δεν έχει καθοριστεί διάρκεια ζωής"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
"Μόνο τα αρχεία που στάλθηκαν με αυτόν τον περιηγητή θα φαίνονται εδώ. Η "
"λίστα αποθηκεύεται στο localStorage: αν σβήσετε τα περιεχόμενα του "
"localStorage, θα χάσετε και τη λίστα."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
@ -472,10 +513,14 @@ msgstr "Παρακαλώ επικοινωνήστε με το διαχειρισ
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
"Περιμένετε όσο ετοιμάζουμε το αρχείο σας. Πρέπει πρώτα να κατέβουν και να "
"αποκρυπτογραφηθούν όλα του τα κομμάτια για να το χρησιμοποιήσετε."
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
"Παρακαλούμε, ελέγξτε τα στοιχεία σας ή το δικαίωμα πρόσβασής σας στην "
"υπηρεσία: η πιστοποίηση απέτυχε."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
@ -483,15 +528,15 @@ msgstr "Ιδιωτικότητα"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr ""
msgstr "Διαγραφή ληγμένων αρχείων από το localStorage"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr ""
msgstr "Με εκτίμηση,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr ""
msgstr "Με εκτίμηση."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
@ -503,11 +548,13 @@ msgstr "Επαναποστολή μηνύματος πρόσκλησης"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr ""
msgstr "Οι σειρές με μοβ αντιστοιχούν σε ληγμένες προσκλήσεις."
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
"Οι σειρές με κόκκινο αντιστοιχούν σε ληγμένα αρχεία που δεν είναι πια "
"διαθέσιμα."
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
@ -523,16 +570,18 @@ msgstr "Αποστολή με αυτό το διακομιστή"
#: themes/default/templates/mail.html.ep:47
msgid "Send with your own mail software"
msgstr "Αποστολή μεσω δικού σας λογισμικού για email"
msgstr "Αποστολή μέσω δικού σας λογισμικού για email"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
"Αποστολή μέρους XX1 από XX2. Παρακαλούμε περιμένετε, η μπάρα μπορεί να "
"χρειαστεί λίγη ώρα να μετακινηθεί."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
msgid "Share your files in total privacy on %1"
msgstr ""
msgstr "Μοιραστείτε τα αρχεία σας με πλήρη ιδιωτικότητα στο %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
@ -549,36 +598,45 @@ msgstr "Είσοδος"
#: lib/Lufi/Controller/Invitation.pm:283 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
"Μας συγχωρείτε, αυτή η πρόσκληση δεν υπάρχει. Είστε σίγουρα στη σωστή σελίδα;"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Μας συγχωρείτε, το ανέβασμα αρχείων είναι προσωρινά απενεργοποιημένο. "
"Παρακαλούμε προσπαθήστε αργότερα."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr ""
msgstr "Μας συγχωρείτε, το ανέβασμα αρχείων είναι απενεργοποιημένο."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr ""
msgstr "Μας συγχωρείτε, η πρόσκληση έχει λήξει ή έχει διαγραφεί."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
"Μας συγχωρείτε, η πρόσκληση έχει λήξει ή έχει διαγραφεί. Επικοινωνήστε με το "
"%1 για νέα πρόσκληση."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:276
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
msgstr "Οι σύνδεσμοι URL των αρχείων σας στάλθηκαν μέσω email στο %1."
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
"Ο διαχειριστής μπορεί μόνο να δει το όνομα, το μέγεθος, και τον τύπο αρχείου "
"(mimetype, τι είδος αρχείου είναι: βίντεο, κείμενο, κλπ)."
#: lib/Lufi/Controller/Mail.pm:53
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
"Το σώμα του email πρέπει να περιέχει τουλάχιστον ένα σύνδεσμο URL που να "
"οδηγεί σε αρχείο που φιλοξενείται εδώ."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
@ -595,7 +653,7 @@ msgstr "Το θέμα του μηνύματος δεν μπορεί να είν
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:51
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr ""
msgstr "Η διάρκεια ζωής του αρχείου (%1) δεν είναι από 1 μέχρι %2 ημέρες."
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
@ -604,6 +662,8 @@ msgstr "Το αρχείο έχει ήδη διαγραφεί"
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
"Τα αρχεία που ανεβαίνουν σε ένα Lufi κρυπτογραφούνται πριν ανέβουν στον "
"διακομιστή: ο διαχειριστής του δεν μπορεί να δει τα περιεχόμενά τους."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
@ -613,111 +673,127 @@ msgstr "Οι ακόλουθες διευθύνσεις email δεν είναι
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:48
msgid "The guest email address (%1) is unvalid."
msgstr ""
msgstr "Η διεύθυνση email (%1) δεν είναι έγκυρη."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:150
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
"Η πρόσκληση %1 δεν μπορεί να ξανασταλεί: το %2 έχει ήδη στείλει "
"αρχεία.<br>Παρακαλούμε δημιουργήστε μια καινούρια πρόσκληση."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:130
msgid "The invitation %1 has been deleted."
msgstr ""
msgstr "Η πρόσκληση %1 έχει διαγραφεί."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
msgstr "Το email της πρόσκλησης θα σταλεί από τη δική σας διεύθυνση (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr ""
msgstr "Έγινε αντιγραφή του συνδέσμου / των συνδέσμων στο πρόχειρο"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
"Θα γίνει αυτόματη αποστολή του συνδέσμου / των συνδέσμων με email προς %1 "
"(%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
"Θα γίνει αυτόματη αποστολή του συνδέσμου / των συνδέσμων με email προς %1."
#: lib/Lufi/Controller/Mail.pm:97
msgid "The mail has been sent."
msgstr "Το μήνυμα έχει σταλλεί."
msgstr "Το μήνυμα έχει σταλεί."
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"Ο αρχικός (και μοναδικός προς το παρόν) δημιουργός είναι ο <a href=\"https"
"://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
"Ο διακομιστής δεν κατάφερε να βρει το αρχείο όπου πρέπει να προστεθεί αυτό "
"το κομμάτι. Παρακαλούμε, επικοινωνήστε με τον διαχειριστή."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"Αυτό το αρχείο έχει απανεργοποιηθεί από τους διαχειριστές. Επικοινωνήστε "
"Αυτό το αρχείο έχει απενεργοποιηθεί από τους διαχειριστές. Επικοινωνήστε "
"μαζί τους για να μάθετε το λόγο."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr ""
msgstr "Αυτή η πρόσκληση είναι κρυφή κανονικά"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr ""
msgstr "Αυτή η πρόσκληση είναι έγκυρη μέχρι %1."
#: themes/default/templates/delays.html.ep:10
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
"Ο διακομιστής θέτει περιορισμούς ανάλογα με το μέγεθος του αρχείου. Η "
"διάρκεια ζωής του αρχείου σας θα είναι το ελάχιστο μεταξύ αυτού που "
"επιλέγετε και των ακόλουθων περιορισμών:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr ""
msgstr "Εμφάνιση/Απόκρυψη"
#: themes/default/templates/invitations/my_invitations.html.ep:25
#, fuzzy
msgid "URL"
msgstr "URL"
msgstr "Σύνδεσμος URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr ""
"Δεν μπόρεσε να γίνει αντιγραφή του συνδέσμου / των συνδέσμων στο πρόχειρο"
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
"Δεν ήταν δυνατόν να βρεθεί ο μετρητής για το %1. Το αρχείο δεν υπάρχει. Θα "
"αφαιρεθεί από το localStorage."
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr ""
"Δεν ήταν δυνατόν να βρεθεί ο μετρητής για το %1. Το token δεν είναι έγκυρο."
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr ""
"Δεν ήταν δυνατόν να βρεθεί ο μετρητής για το %1. Δεν έχετε πιστοποιηθεί."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "Μεταφόρτωση αρχείων"
msgstr "Ανέβασμα αρχείων"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr ""
msgstr "Ανέβασμα του αρχείου zip που δημιουργήθηκε"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr ""
msgstr "Ανέβηκε στις"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr ""
msgstr "Ανεβασμένα αρχεία"
#: themes/default/templates/about.html.ep:20
msgid "Version"
@ -737,35 +813,51 @@ msgstr "Ποιος έγραψε αυτό το λογισμικό;"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr ""
msgstr "Το αρχείο XXX προστέθηκε στην ουρά για ανέβασμα."
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
"Μπορείτε να προσκαλέσετε κάποιον/-α να σας στείλει αρχεία μέσα από αυτό το "
"Lufi, ακόμη κι αν δεν έχει λογαριασμό εδώ."
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
"Μπορείτε να δείτε τη λίστα των αρχείων σας κάνοντας κλικ στο σύνδεσμο \"Τα "
"αρχεία μου\" στην κορυφή αυτής της σελίδας στα δεξιά."
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
msgstr ""
"Δεν μπορείτε να προσθέσετε συνδέσμους URL που δεν σχετίζονται με αυτό το "
"Lufi."
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
"Δεν χρειάζεται να φτιάξετε λογαριασμό για να ανεβάσετε αρχεία, έχετε όμως "
"υπόψιν σας ότι, για νομικούς λόγους, η διεύθυνση IP σας θα αποθηκευτεί όταν "
"στείλετε ένα αρχείο. Μην πανικοβάλλεστε, αυτό συμβαίνει συνήθως σε όλες τις "
"ιστοσελίδες που σας επιτρέπουν να στέλνετε αρχεία."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
"Δεν φαίνεται να υπάρχει κλειδί σε αυτόν τον σύνδεσμο URL. Το αρχείο δεν θα "
"μπορέσει να αποκρυπτογραφηθεί. Η λήψη ακυρώθηκε."
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
"Επιχειρήσατε να φύγετε από τη σελίδα. Η λήψη θα ακυρωθεί. Θέλετε σίγουρα να "
"φύγετε;"
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
"Επιχειρήσατε να φύγετε από τη σελίδα. Η αποστολή θα ακυρωθεί. Θέλετε σίγουρα "
"να φύγετε;"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
@ -778,15 +870,20 @@ msgstr "Πρέπει να δώστε τις διευθύνσεις email."
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
"Ο περιηγητής σας δεν έχει αρκετή εντροπία για να δημιουργηθεί ένα δυνατό "
"κλειδί κρυπτογράφησης. Παρακαλούμε περιμένετε (είναι καλύτερα αν όσο "
"περιμένετε χρησιμοποιείτε τον υπολογιστή)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr ""
msgstr "Το αρχείο είναι πολύ μεγάλο: %1 (μέγιστο επιτρεπόμενο μέγεθος: %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
"Ο κωδικός δεν είναι έγκυρος. Παρακαλούμε ανανεώστε τη σελίδα για να "
"ξαναδοκιμάσετε."
#: themes/default/templates/partial/render.js.ep:13
msgid "Zip content:"
@ -795,12 +892,12 @@ msgstr "Περιεχόμενα zip:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:20
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr ""
msgstr "μεταξύ %1 και %2, το αρχείο θα διατηρηθεί για %3 ημέρα/-ες."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:22
msgid "between %1 and %2, the file will be kept forever."
msgstr ""
msgstr "μεταξύ %1 και %2, το αρχείο θα διατηρηθεί για πάντα."
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
@ -813,12 +910,12 @@ msgstr "λήγει στις XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr ""
msgstr "για %1 και πάνω, το αρχείο θα διατηρηθεί για %2 ημέρα/-ες"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:28
msgid "for %1 and more, the file will be kept forever."
msgstr ""
msgstr "για %1 και πάνω, το αρχείο θα διατηρηθεί για πάντα."
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
@ -831,4 +928,30 @@ msgstr "ή"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), που θα λήξει στις %3"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Δεν ήταν δυνατόν να κατέβει το αρχείο: έγιναν υπερβολικά πολλές ανεπιτυχείς "
"προσπάθειες για άνοιγμα ενός websocket. Παρακαλούμε, επικοινωνήστε με τον "
"διαχειριστή."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Αδύνατη η διαγραφή της πρόσκλησης %1: δεν δημιουργήθηκε από εσας (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Αδύνατη η εκ νέου αποστολή της πρόσκλησης %1: δεν δημιουργήθηκε από εσάς "
"(%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Δεν μπορείτε να προσθέσετε URL που δεν σχετίζονται με αυτήν την υπόσταση "
"(%1)."

View File

@ -41,7 +41,7 @@ msgstr "%1 sent you files"
msgid "%1 used your invitation to send you files:"
msgstr "%1 used your invitation to send you files:"
#: lib/Lufi/Controller/Invitation.pm:160 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y at %T"
@ -98,7 +98,7 @@ msgstr "Asking for file part XX1 of %1"
msgid "Back to homepage"
msgstr "Back to homepage"
#: lib/Lufi/Controller/Mail.pm:25
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Bad CSRF token!"
@ -364,7 +364,7 @@ msgid "Invert selection"
msgstr "Invert selection"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:172
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Invitation resent to %1.<br> URL: %2"
@ -505,11 +505,11 @@ msgstr "Send all links by email"
msgid "Send the invitation"
msgstr "Send the invitation"
#: themes/default/templates/mail.html.ep:46
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Send with this server"
#: themes/default/templates/mail.html.ep:47
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Send with your own mail software"
@ -518,7 +518,7 @@ msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a
msgstr "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Share your files in total privacy on %1"
@ -534,7 +534,7 @@ msgstr "Show zip content"
msgid "Signin"
msgstr "Signin"
#: lib/Lufi/Controller/Invitation.pm:284 themes/default/templates/invitations/exception.html.ep:16
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
@ -556,7 +556,7 @@ msgid "Sorry, your invitation has expired or has been deleted. Please contact %1
msgstr "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:277
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr "The URLs of your files have been sent by email to %1."
@ -564,7 +564,7 @@ msgstr "The URLs of your files have been sent by email to %1."
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
#: lib/Lufi/Controller/Mail.pm:53
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
@ -572,11 +572,11 @@ msgstr "The body of the mail must contain at least one URL pointing to a file ho
msgid "The data has been successfully imported."
msgstr "The data has been successfully imported."
#: lib/Lufi/Controller/Mail.pm:73
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "The email body can't be empty."
#: lib/Lufi/Controller/Mail.pm:72
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "The email subject can't be empty."
@ -594,7 +594,7 @@ msgid "The files uploaded on a Lufi instance are encrypted before the upload to
msgstr "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "The following email addresses are not valid: %1"
@ -603,13 +603,23 @@ msgstr "The following email addresses are not valid: %1"
msgid "The guest email address (%1) is unvalid."
msgstr "The guest email address (%1) is unvalid."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "The invitation %1 cant be deleted: it wasnt created by you (%2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:151
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "The invitation %1 cant be resent: it wasnt created by you (%2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:131
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "The invitation %1 has been deleted."
@ -632,7 +642,7 @@ msgstr "The link(s) of your file(s) will automatically be sent by mail to %1 (%2
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr "The link(s) of your file(s) will automatically be sent by mail to %1."
#: lib/Lufi/Controller/Mail.pm:97
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "The mail has been sent."
@ -736,7 +746,12 @@ msgstr "You can invite someone to send you files through this Lufi instance even
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
#: lib/Lufi/Controller/Mail.pm:42
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "You can't add URLs that are not related to this instance (%1)."
#:
msgid "You can't add URLs that are not related to this instance."
msgstr "You can't add URLs that are not related to this instance."
@ -760,7 +775,7 @@ msgstr "You have attempted to leave this page. The upload will be canceled. Are
msgid "You have been successfully logged out."
msgstr "You have been successfully logged out."
#: lib/Lufi/Controller/Mail.pm:71
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "You must give email addresses."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-05 01:52+0000\n"
"PO-Revision-Date: 2022-03-04 11:01+0000\n"
"Last-Translator: Berto Te <ateira@3fpj.com>\n"
"Language-Team: Spanish <https://weblate.framasoft.org/projects/lufi/"
"default-theme/es/>\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.10.1\n"
#. ($delay)
#. (max_delay)
@ -168,7 +168,7 @@ msgstr "contador"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "¿Crear un archivo zip con los archivos antes de subir?"
msgstr "¿Crear un archivo zip con los archivos antes de subirlos?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
@ -513,7 +513,7 @@ msgstr "Saludos."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Archivo de informe"
msgstr "Denunciar archivo"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
@ -937,3 +937,18 @@ msgid "Unable to download the file: too much unsuccessful attempts to open a web
msgstr ""
"No se puede descargar el archivo: demasiados intentos fallidos de abrir un "
"\"websocket\". Comuníquese con el administrador."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "No puede agregar URL que no estén relacionadas con esta instancia (%1)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "La invitación %1 no se puede eliminar: usted no la creó (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "No se puede reenviar la invitación %1: no la creó usted (%2)."

View File

@ -0,0 +1,858 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-11-06 07:36+0000\n"
"Last-Translator: wimo kic <wimokic241@rdluxe.com>\n"
"Language-Team: Persian <https://weblate.framasoft.org/projects/lufi/"
"default-theme/fa/>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.1.1\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
#, fuzzy
msgid "%1 days"
msgstr "%1 روز"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
#, fuzzy
msgid "%1 invites you to send him/her files"
msgstr "%1 از شما دعوت می‌کند که برای او فایل ارسال کنید"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
#, fuzzy
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 از شما دعوت می‌کند که برای او از طریق \"لوفی\" فایل ارسال کنید."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
#, fuzzy
msgid "%1 sent you files"
msgstr "%1 برای شما فایل ارسال کرد"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
#, fuzzy
msgid "%1 used your invitation to send you files:"
msgstr "%1 از دعوت شما برای ارسال فایل استفاده کرد:"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr ""
#: themes/default/templates/partial/index.js.ep:28
#, fuzzy
msgid "(max size: XXX)"
msgstr "(حداکثر سایز: XXX)"
#: themes/default/templates/index.html.ep:5
#, fuzzy
msgid "1 year"
msgstr "1 سال"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
#, fuzzy
msgid "24 hours"
msgstr "24 ساعت"
#: themes/default/templates/partial/mail.js.ep:40
#, fuzzy
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
#, fuzzy
msgid "Abort"
msgstr "لغو کردن"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
#, fuzzy
msgid "About"
msgstr "درباره"
#: themes/default/templates/index.html.ep:107
#, fuzzy
msgid "Add a password to file(s)"
msgstr "افزودن رمز به فایل"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:3
#, fuzzy
msgid "Are you sure you want to delete the selected invitations?"
msgstr "آیا از حذف دعوت‌های انتخاب شده اطمینان دارید؟"
#: themes/default/templates/partial/invitations.js.ep:4
#, fuzzy
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr ""
"آیا مطمئنید که می‌خواهید ایمیل دعوت را برای دعوت‌های انتخاب شده دوباره ارسال "
"کنید؟"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
#, fuzzy
msgid "Asking for file part XX1 of %1"
msgstr "درخواست بخش XX1 فایل از %1"
#: themes/default/templates/about.html.ep:23
#, fuzzy
msgid "Back to homepage"
msgstr "بازگشت به صفحه اول"
#: lib/Lufi/Controller/Mail.pm:26
#, fuzzy
msgid "Bad CSRF token!"
msgstr "توکن CSRF ناقص!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
#, fuzzy
msgid "Bad CSRF token."
msgstr "توکن CSRF ناقص."
#: themes/default/templates/partial/render.js.ep:5
#, fuzzy
msgid "Click here to refresh the page and restart the download."
msgstr "برای تازه‌سازی صفحه و دانلود مجدد اینجا کلیک کنید."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr ""
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr ""
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr ""
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr ""
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr ""
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr ""
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr ""
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr ""
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr ""
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr ""
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr ""
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr ""
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr ""
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr ""
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr ""
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr ""
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr ""
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr ""
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr ""
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr ""
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr ""
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr ""
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr ""
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr ""
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr ""
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr ""
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr ""
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr ""
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr ""
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr ""
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr ""
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr ""
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr ""
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr ""
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr ""
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr ""
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr ""
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr ""
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr ""
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr ""
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr ""
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr ""
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr ""
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr ""
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr ""
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr ""
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr ""
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr ""
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr ""
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr ""
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr ""
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr ""
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr ""
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr ""
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr ""
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr ""
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr ""
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr ""
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr ""
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr ""
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr ""
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr ""
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr ""
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr ""
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr ""
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr ""
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr ""
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr ""
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr ""
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr ""
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr ""
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr ""
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr ""
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr ""
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr ""
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr ""
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr ""
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr ""
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr ""
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr ""
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr ""
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr ""
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr ""
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr ""
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr ""
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr ""
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr ""
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr ""
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr ""
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr ""
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr ""
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr ""
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr ""
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr ""
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr ""
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr ""
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr ""
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr ""
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr ""
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr ""
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr ""
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-07 15:32+0000\n"
"Last-Translator: Framasoft <tech-sys@framalistes.org>\n"
"PO-Revision-Date: 2022-01-03 21:23+0000\n"
"Last-Translator: Jorge Paulo Malveira Pimentel Dos Santos <jpmpds@yahoo.fr>\n"
"Language-Team: French <https://weblate.framasoft.org/projects/lufi/"
"default-theme/fr/>\n"
"Language: fr\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.10\n"
#. ($delay)
#. (max_delay)
@ -45,11 +45,11 @@ msgstr "%1 vous a envoyé des fichiers"
msgid "%1 used your invitation to send you files:"
msgstr "%1 a utilisé votre invitation pour vous envoyer des fichiers :"
#: lib/Lufi/Controller/Invitation.pm:159 lib/Lufi/Controller/Invitation.pm:84 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y à %T"
#: themes/default/templates/partial/index.js.ep:27
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(taille max : XXX)"
@ -78,48 +78,35 @@ msgid "Add a password to file(s)"
msgstr "Ajouter un mot de passe au(x) fichier(s)"
#: themes/default/templates/mail.html.ep:16
msgid ""
"Adding URLs not related to this Lufi instance to the mail body or subject is "
"prohibited."
msgstr ""
"Lajout dURL non liées à cette instance Lufi au corps ou au sujet du mail "
"est interdit."
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr "Lajout dURL non liées à cette instance Lufi au corps ou au sujet du mail est interdit."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Êtes-vous sûr·e de vouloir supprimer les invitations sélectionnées ?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid ""
"Are you sure you want to resend the invitation mail for the selected "
"invitations?"
msgstr ""
"Êtes-vous sûr·e de vouloir renvoyer le courriel dinvitation pour les "
"invitations sélectionnées ?"
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr "Êtes-vous sûr·e de vouloir renvoyer le courriel dinvitation pour les invitations sélectionnées ?"
#: themes/default/templates/about.html.ep:17
msgid ""
"As Lufi is a free software licensed under of the terms of the <a href="
"\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can "
"install it on you own server. Have a look on the <a href=\"https://framagit."
"org/luc/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Comme Lufi est un logiciel libre soumis aux termes de la license <a href="
"\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, vous "
"pouvez linstaller sur votre propre serveur. Veuillez consulter le <a href="
"\"https://framagit.org/luc/lufi/wikis/home\" class=\"classic\">Wiki</a> pour "
"voir la procédure."
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr "Comme Lufi est un logiciel libre soumis aux termes de la licence <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, vous pouvez linstaller sur votre propre serveur. Veuillez consulter le <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> pour voir la procédure."
#:
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/luc/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr "Comme Lufi est un logiciel libre soumis aux termes de la licence <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, vous pouvez linstaller sur votre propre serveur. Veuillez consulter le <a href=\"https://framagit.org/luc/lufi/wikis/home\" class=\"classic\">Wiki</a> pour voir la procédure."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:9
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Demande de récupération du fragment de fichier XX1 sur %1"
#: themes/default/templates/about.html.ep:20
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Retour à la page daccueil"
#: lib/Lufi/Controller/Mail.pm:25
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Mauvais jeton CSRF !"
@ -139,13 +126,13 @@ msgstr "Cliquez sur lURL suivante pour envoyer des fichiers sur Lufi :"
msgid "Click to open the file browser"
msgstr "Cliquez pour ouvrir le navigateur de fichiers"
#: themes/default/templates/delays.html.ep:38 themes/default/templates/invitations/my_invitations.html.ep:80
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Fermer"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Adresses mails séparées par des virgules"
msgstr "Adresses mail séparées par des virgules"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
@ -153,27 +140,23 @@ msgstr "Compression du fichier zip…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Copier tous les liens dans le presse-papier"
msgstr "Copier tous les liens dans le presse-papiers"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Copier dans le presse-papier"
msgstr "Copier dans le presse-papiers"
#: lib/Lufi/Controller/Files.pm:507
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "Impossible de supprimer le fichier. Vous nêtes pas connecté·e."
#: lib/Lufi/Controller/Files.pm:489
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr ""
"Impossible de retrouver le fichier. Êtes-vous sûr(e) que lURL et le jeton "
"sont les bons ?"
msgstr "Impossible de retrouver le fichier. Êtes-vous sûr⋅e que lURL et le jeton sont les bons ?"
#: lib/Lufi/Controller/Files.pm:400
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr ""
"Impossible de retrouver le fichier. Êtes-vous sûr(e) que lURL est la "
"bonne ?"
msgstr "Impossible de retrouver le fichier. Êtes-vous sûr⋅e que lURL est la bonne ?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
@ -203,14 +186,9 @@ msgstr "Supprimer les fichiers sélectionnés"
msgid "Deletion link"
msgstr "Lien de suppression"
#: themes/default/templates/delays.html.ep:8
msgid ""
"Don't worry: if a user begins to download the file before the expiration and "
"the download ends after the expiration, he will be able to get the file."
msgstr ""
"Ne vous inquiétez pas : si un utilisateur commence à télécharger le fichier "
"avant son expiration et que le téléchargement se termine après lexpiration, "
"lutilisateur pourra quand même récupérer le fichier."
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr "Ne vous inquiétez pas : si un utilisateur commence à télécharger le fichier avant son expiration et que le téléchargement se termine après lexpiration, lutilisateur pourra quand même récupérer le fichier."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
@ -225,18 +203,8 @@ msgid "Download link"
msgstr "Lien de téléchargement"
#: themes/default/templates/about.html.ep:10
msgid ""
"Drag and drop files in the appropriate area or use the traditional way to "
"send files and the files will be chunked, encrypted and sent to the server. "
"You will get two links per file: a download link, that you give to the "
"people you want to share the file with and a deletion link, allowing you to "
"delete the file whenever you want."
msgstr ""
"Faites glisser des fichiers dans la zone prévue à cet effet ou sélectionnez "
"un fichier de façon classique et les fichiers seront découpés en morceaux, "
"chiffrés et envoyés au serveur. Vous récupérerez deux liens par fichier : un "
"lien de téléchargement et un lien pour supprimer le fichier quand vous le "
"souhaitez."
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr "Faites glisser des fichiers dans la zone prévue à cet effet ou sélectionnez un fichier de façon classique et les fichiers seront découpés en fragments, chiffrés et envoyés au serveur. Vous récupérerez deux liens par fichier : un lien de téléchargement et un lien pour supprimer le fichier quand vous le souhaitez."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
@ -262,18 +230,17 @@ msgstr "Mails"
msgid "Encrypting part XX1 of XX2"
msgstr "Chiffrement du fragment XX1 sur XX2"
#: lib/Lufi/Controller/Files.pm:289
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Erreur : le fichier existait mais a été supprimé."
#: lib/Lufi/Controller/Files.pm:369
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "Erreur : le fichier na pas été envoyé dans son intégralité."
#: lib/Lufi/Controller/Files.pm:379
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr ""
"Erreur : impossible de retrouver le fichier. Êtes-vous sûr(e) de lURL ?"
msgstr "Erreur : impossible de retrouver le fichier. Êtes-vous sûr⋅e de lURL ?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
@ -291,14 +258,22 @@ msgstr "Expire le"
msgid "Export localStorage data"
msgstr "Exporter les données localStorage"
#: lib/Lufi/Controller/Files.pm:471
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "Fichier supprimé"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Fichier téléchargé"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "Nom du fichier"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Fichier envoyé"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "Fichiers"
@ -320,14 +295,12 @@ msgid "Get the file"
msgstr "Récupérer le fichier"
#: themes/default/templates/about.html.ep:18
msgid ""
"Get the source code on <a href=\"https://framagit.org/luc/lufi\" class="
"\"classic\">the official repository</a> or on its <a href=\"https://github."
"com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Récupérez le code source sur <a href=\"https://framagit.org/luc/lufi\" class="
"\"classic\">le dépôt officiel</a> ou sur son <a href=\"https://github.com/"
"ldidry/lufi\" class=\"classic\">miroir Github</a>"
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr "Récupérez le code source sur <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">le dépôt officiel</a> ou sur son <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">miroir Github</a>"
#:
msgid "Get the source code on <a href=\"https://framagit.org/luc/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr "Récupérez le code source sur <a href=\"https://framagit.org/luc/lufi\" class=\"classic\">le dépôt officiel</a> ou sur son <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">miroir Github</a>"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
@ -344,8 +317,7 @@ msgstr "Bonjour,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Bonjour,\\n\\nVoici quelques fichiers que je souhaite partager avec toi :\\n"
msgstr "Bonjour,\\n\\nVoici quelques fichiers que je souhaite partager avec vous :\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
@ -355,17 +327,13 @@ msgstr "Voici quelques fichiers"
msgid "Hide hidden invitations"
msgstr "Ne pas afficher les invitations cachées"
#: themes/default/templates/partial/index.js.ep:25
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Appuyez sur la touche Entrée puis faites Ctrl+C pour copier tous les liens "
"de téléchargement"
msgstr "Appuyez sur la touche Entrée puis faites Ctrl+C pour copier tous les liens de téléchargement"
#: themes/default/templates/partial/index.js.ep:24
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
"Appuyez sur la touche Entrée puis faites Ctrl+C pour copier le lien de "
"téléchargement"
msgstr "Appuyez sur la touche Entrée puis faites Ctrl+C pour copier le lien de téléchargement"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
@ -373,8 +341,7 @@ msgstr "Comment ça marche ?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr ""
"Pendant combien de jours souhaitez-vous que votre invitation soit valide ?"
msgstr "Pendant combien de jours souhaitez-vous que votre invitation soit valide ?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
@ -384,17 +351,13 @@ msgstr "Comment installer le logiciel sur mon serveur ?"
msgid "How to report an illegal file?"
msgstr "Comment signaler un fichier illégal ?"
#: themes/default/templates/delays.html.ep:7
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "Si vous choisissez un délai, le fichier sera supprimé après ce délai."
#: themes/default/templates/mail.html.ep:15
msgid ""
"If you send the mail from this server, the links will be sent to the server, "
"which may lower your privacy protection."
msgstr ""
"Si vous envoyez le mail depuis ce serveur, les liens seront envoyés au "
"serveur, ce qui peut diminuer la protection de la confidentialité."
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr "Si vous envoyez le mail depuis ce serveur, les liens seront envoyés au serveur, ce qui peut diminuer la protection de la confidentialité."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
@ -413,12 +376,12 @@ msgid "Invert selection"
msgstr "Inverser la sélection"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:171
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Invitation renvoyée à %1 :<br> URL : %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:87
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Invitation envoyée à %1 :<br> URL : %2"
@ -427,11 +390,8 @@ msgid "Invite a guest"
msgstr "Inviter quelquun"
#: themes/default/templates/partial/render.js.ep:6
msgid ""
"It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
"Il semble que la clé dans votre URL soit incorrecte. Veuillez vérifier votre "
"URL."
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr "Il semble que la clé dans votre URL soit incorrecte. Veuillez vérifier votre URL."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
@ -464,17 +424,8 @@ msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufi est un logiciel libre dhébergement de fichiers."
#: themes/default/templates/partial/files.js.ep:12
msgid ""
"Lufi recently changed its way to store files information.\\n\\nNo files have "
"been found in the new localStorage location but we found files in the old "
"one.\\nDo you want to import those informations?\\n\\nPlease note that this "
"is the only time that we will ask you this."
msgstr ""
"Lufi a récemment changé sa façon de stocker linformation des fichiers."
"\\n\\nAucun fichier na été trouvé dans le nouvel emplacement localStorage "
"mais nous avons trouvé des fichiers dans lancien.\\nVoulez-vous importer "
"ces informations ?\\n\\nVeuillez noter que cest la seule fois que nous vous "
"poserons cette question."
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr "Lufi a récemment changé sa façon de stocker linformation des fichiers.\\n\\nAucun fichier na été trouvé dans le nouvel emplacement localStorage mais nous avons trouvé des fichiers dans lancien.\\nVoulez-vous importer ces informations ?\\n\\nVeuillez noter que cest la seule fois que nous vous poserons cette question."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
@ -489,35 +440,25 @@ msgid "My invitations"
msgstr "Mes invitations"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid ""
"NB: this list includes the list of files that have already been sent to you."
msgstr ""
"NB : cette liste inclue la liste des fichiers qui vous a déjà été envoyée."
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr "NB : cette liste inclut la liste des fichiers qui vous a déjà été envoyée."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Nom du fichier zip"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:108
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
"Espace disque insuffisant sur le serveur pour ce fichier (taille du fichier :"
" %1)."
msgstr "Espace disque insuffisant sur le serveur pour ce fichier (taille du fichier : %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:28
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "Pas de délai dexpiration"
#: themes/default/templates/files.html.ep:8
msgid ""
"Only the files sent with this browser will be listed here. This list is "
"stored in localStorage: if you delete your localStorage data, you'll lose "
"this list."
msgstr ""
"Seuls les fichiers envoyés avec ce navigateur web sont listés ici. Les "
"informations sont stockées en localStorage : si vous supprimez vos données "
"localStorage, vous perdrez ces informations."
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr "Seuls les fichiers envoyés avec ce navigateur web sont listés ici. Les informations sont stockées en localStorage : si vous supprimez vos données localStorage, vous perdrez ces informations."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
@ -529,21 +470,12 @@ msgid "Please contact the administrator: %1"
msgstr "Veuillez contacter ladministrateur : %1"
#: themes/default/templates/render.html.ep:33
msgid ""
"Please wait while we are getting your file. We first need to download and "
"decrypt all parts before you can get it."
msgstr ""
"Veuillez patientez pendant la récupération de votre fichier. Nous devons "
"dabord récupérer et déchiffrer tous les fragments avant que vous puissiez "
"le télécharger."
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr "Veuillez patientez pendant la récupération de votre fichier. Nous devons dabord récupérer et déchiffrer tous les fragments avant que vous puissiez le télécharger."
#: lib/Lufi/Controller/Auth.pm:38
msgid ""
"Please, check your credentials or your right to access this service: unable "
"to authenticate."
msgstr ""
"Veuillez vérifier vos identifiants ou votre droit daccès à ce service : "
"impossible de vous authentifier."
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr "Veuillez vérifier vos identifiants ou votre droit daccès à ce service : impossible de vous authentifier."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
@ -574,13 +506,10 @@ msgid "Rows in purple mean that the invitations have expired."
msgstr "Les lignes en violet indiquent que les invitations ont expiré."
#: themes/default/templates/files.html.ep:9
msgid ""
"Rows in red mean that the files have expired and are no longer available."
msgstr ""
"Les lignes en rouge indiquent que le fichier a expiré et nest plus "
"disponible."
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr "Les lignes en rouge indiquent que le fichier a expiré et nest plus disponible."
#: themes/default/templates/partial/index.js.ep:26
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "Envoyer tous les liens par mail"
@ -588,24 +517,20 @@ msgstr "Envoyer tous les liens par mail"
msgid "Send the invitation"
msgstr "Envoyer linvitation"
#: themes/default/templates/mail.html.ep:46
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Envoyer avec ce serveur"
#: themes/default/templates/mail.html.ep:47
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Envoyer avec votre propre logiciel de mail"
#: themes/default/templates/partial/index.js.ep:29
msgid ""
"Sending part XX1 of XX2. Please, be patient, the progress bar can take a "
"while to move."
msgstr ""
"Envoi du fragment XX1 sur XX2. Veuillez patienter, la barre de progression "
"peut mettre du temps avant davancer."
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr "Envoi du fragment XX1 sur XX2. Veuillez patienter, la barre de progression peut mettre du temps avant davancer."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Partagez vos fichiers en toute confidentialité sur %1"
@ -613,7 +538,7 @@ msgstr "Partagez vos fichiers en toute confidentialité sur %1"
msgid "Show hidden invitations"
msgstr "Afficher les invitations cachées"
#: themes/default/templates/partial/render.js.ep:11
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Afficher le contenu du fichier zip"
@ -621,17 +546,13 @@ msgstr "Afficher le contenu du fichier zip"
msgid "Signin"
msgstr "Connexion"
#: lib/Lufi/Controller/Invitation.pm:283 themes/default/templates/invitations/exception.html.ep:16
msgid ""
"Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
"Désolé, linvitation nexiste pas. Êtes-vous sûr·e dêtre sur la bonne URL ?"
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr "Désolé, linvitation nexiste pas. Êtes-vous sûr·e dêtre sur la bonne URL ?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Désolé, lenvoi de fichier est actuellement désactivé. Veuillez réessayer "
"plus tard."
msgstr "Désolé, lenvoi de fichier est actuellement désactivé. Veuillez réessayer plus tard."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
@ -642,138 +563,113 @@ msgid "Sorry, your invitation has expired or has been deleted."
msgstr "Désolé, votre invitation a expiré ou a été supprimée."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:122
msgid ""
"Sorry, your invitation has expired or has been deleted. Please contact %1 to "
"have another invitation."
msgstr ""
"Désolé, votre invitation a expiré ou a été supprimée. Veuillez contacter %1 "
"pour obtenir une nouvelle invitation."
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr "Désolé, votre invitation a expiré ou a été supprimée. Veuillez contacter %1 pour obtenir une nouvelle invitation."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:276
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr "Les URL de vos fichiers ont été envoyées par courriel à %1."
#: themes/default/templates/about.html.ep:7
msgid ""
"The administrator can only see the file's name, its size and its mimetype "
"(what kind of file it is: video, text, etc.)."
msgstr ""
"Ladministrateur ne peut voir que le nom du fichier, sa taille et son type "
"mime (son type de fichier : vidéo, texte, etc.)."
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr "Ladministrateur ne peut voir que le nom du fichier, sa taille et son type mime (son type de fichier : vidéo, texte, etc.)."
#: lib/Lufi/Controller/Mail.pm:53
msgid ""
"The body of the mail must contain at least one URL pointing to a file hosted "
"on this instance."
msgstr ""
"Le corps du mail doit contenir au moins une URL pointant vers un fichier "
"hébergé sur cette instance."
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr "Le corps du mail doit contenir au moins une URL pointant vers un fichier hébergé sur cette instance."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "Les données ont été importées avec succès."
#: lib/Lufi/Controller/Mail.pm:73
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "Le corps du mail ne peut être vide."
#: lib/Lufi/Controller/Mail.pm:72
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "Le sujet du mail ne peut être vide."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:51
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "Le délai dexpiration (%1) nest pas compris entre 1 et %2 jours."
#: lib/Lufi/Controller/Files.pm:468
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "Le fichier a déjà été supprimé"
#: themes/default/templates/about.html.ep:6
msgid ""
"The files uploaded on a Lufi instance are encrypted before the upload to the "
"server: the administrator of the server can not see the file's content."
msgstr ""
"Les fichiers envoyés sur une instance de Lufi sont chiffrés avant lenvoi au "
"serveur : ladministrateur du serveur ne peut pas voir le contenu de vos "
"fichiers."
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr "Les fichiers envoyés sur une instance de Lufi sont chiffrés avant lenvoi au serveur : ladministrateur du serveur ne peut pas voir le contenu de vos fichiers."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "Les adresses mail suivantes ne sont pas valides : %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:48
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr "Ladresse courriel de linvité·e (%1) est invalide."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Linvitation %1 ne peut être supprimée : vous ne lavez pas créée (%2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:150
msgid ""
"The invitation %1 cant be resent: %2 has already sent files.<br>Please "
"create a new invitation."
msgstr ""
"Linvitation %1 ne peut pas être renvoyée : %2 a déjà envoyé des fichiers."
"<br>Veuillez créer une nouvelle invitation."
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr "Linvitation %1 ne peut pas être renvoyée : %2 a déjà envoyé des fichiers.<br>Veuillez créer une nouvelle invitation."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "Linvitation %1 ne peut être renvoyée : vous ne lavez pas créée (%2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:130
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "Linvitation %1 a été supprimée."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
"Le courriel dinvitation sera envoyé de votre adresse de courriel (%1)."
msgstr "Le courriel dinvitation sera envoyé de votre adresse de courriel (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "Le(s) lien(s) a/ont été copié dans votre presse-papier"
msgstr "Le(s) lien(s) a/ont été copié dans votre presse-papiers"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid ""
"The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
"Les liens de vos fichiers seront automatiquement envoyés par courriel à %1 "
"(%2)"
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr "Les liens de vos fichiers seront automatiquement envoyés par courriel à %1 (%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
"Les liens de vos fichiers seront automatiquement envoyés par courriel à %1."
msgstr "Les liens de vos fichiers seront automatiquement envoyés par courriel à %1."
#: lib/Lufi/Controller/Mail.pm:97
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "Le mail a été envoyé."
#: themes/default/templates/about.html.ep:15
msgid ""
"The original (and only for now) author is <a href=\"https://fiat-tux.fr\" "
"class=\"classic\">Luc Didry</a>."
msgstr ""
"Lauteur originel (et pour linstant, le seul) est <a href=\"https://fiat-"
"tux.fr\" class=\"classic\">Luc Didry</a>."
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr "Lauteur originel (et pour linstant, le seul) est <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:236
msgid ""
"The server was unable to find the file record to add your file part to. "
"Please, contact the administrator."
msgstr ""
"Le serveur a été incapable de retrouver lenregistrement du fichier auquel "
"ajouter votre fragment de fichier. Veuillez contacter ladministrateur."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr "Le serveur a été incapable de retrouver lenregistrement du fichier auquel ajouter votre fragment de fichier. Veuillez contacter ladministrateur."
#: lib/Lufi/Controller/Files.pm:295
msgid ""
"This file has been deactivated by the admins. Contact them to know why."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"The fichier a été désactivé par les administrateurs ou administratrices. "
"Le fichier a été désactivé par les administrateurs ou administratrices. "
"Veuillez les contacter pour savoir pourquoi."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
@ -785,15 +681,9 @@ msgstr "Cette invitation est normalement cachée"
msgid "This invitation is valid until %1."
msgstr "Cette invitation est valide jusquau %1."
#: themes/default/templates/delays.html.ep:10
msgid ""
"This server sets limitations according to the file size. The expiration "
"delay of your file will be the minimum between what you choose and the "
"following limitations:"
msgstr ""
"Ce serveur impose des limitations selon la taille des fichiers. Le délai "
"dexpiration de votre fichier sera le minimum entre ce que vous avez choisi "
"et les limites suivantes :"
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr "Ce serveur impose des limitations selon la taille des fichiers. Le délai dexpiration de votre fichier sera le minimum entre ce que vous avez choisi et les limites suivantes :"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
@ -805,27 +695,26 @@ msgstr "URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "Impossible de copier le(s) lien(s) dans votre presse-papier"
msgstr "Impossible de copier le(s) lien(s) dans votre presse-papiers"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr "Impossible de télécharger le fichier : trop de tentatives infructueuses douverture dune websocket. Veuillez contacter ladministrateur."
#. ($short)
#: lib/Lufi/Controller/Files.pm:439
msgid ""
"Unable to get counter for %1. The file does not exists. It will be removed "
"from your localStorage."
msgstr ""
"Impossible de récupérer le compteur pour %1. Le fichier nexiste pas. Il va "
"être supprimé de votre localStorage."
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr "Impossible de récupérer le compteur pour %1. Le fichier nexiste pas. Il va être supprimé de votre localStorage."
#. ($short)
#: lib/Lufi/Controller/Files.pm:429
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "Impossible de récupérer le compteur pour %1. Le jeton est invalide."
#. ($short)
#: lib/Lufi/Controller/Files.pm:449
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr ""
"Impossible de récupérer le compteur pour %1. Vous nêtes pas connecté·e."
msgstr "Impossible de récupérer le compteur pour %1. Vous nêtes pas connecté·e."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
@ -847,7 +736,7 @@ msgstr "Fichiers envoyés"
msgid "Version"
msgstr "Version"
#: themes/default/templates/partial/index.js.ep:30
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Erreur de communication WebSocket"
@ -864,99 +753,66 @@ msgid "XXX file has been added to upload queue."
msgstr "Le fichier XXX a été ajouté à la file denvoi."
#: themes/default/templates/invitations/invite.html.ep:30
msgid ""
"You can invite someone to send you files through this Lufi instance even if "
"they dont have an account on it."
msgstr ""
"Vous pouvez inviter une personne à vous envoyer des fichiers via cette "
"instance Lufi même si cette personne ny a pas de compte."
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr "Vous pouvez inviter une personne à vous envoyer des fichiers via cette instance Lufi même si cette personne ny a pas de compte."
#: themes/default/templates/about.html.ep:11
msgid ""
"You can see the list of your files by clicking on the \"My files\" link at "
"the top right of this page."
msgstr ""
"Vous pouvez voir la liste de vos fichiers en cliquant sur le lien « Mes "
"fichiers » en haut à droite de cette page."
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr "Vous pouvez voir la liste de vos fichiers en cliquant sur le lien « Mes fichiers » en haut à droite de cette page."
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
msgstr "Vous ne pouvez pas ajouter dURL non relatives à cette instance."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Vous ne pouvez pas ajouter dURL non relatives à cette instance (%1)."
#: themes/default/templates/about.html.ep:8
msgid ""
"You don't need to register yourself to upload files but be aware that, for "
"legal reasons, your IP address will be stored when you send a file. Don't "
"panic, this is normally the case for all sites on which you send files."
msgstr ""
"Vous navez pas besoin de vous enregistrer pour envoyer des fichiers mais "
"notez que, pour des raisons légales, votre adresse IP sera enregistrée quand "
"vous envoyez un fichier. Ne paniquez pas, cest normalement le cas pour tous "
"les sites où vous envoyez des fichiers."
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr "Vous navez pas besoin de vous enregistrer pour envoyer des fichiers mais notez que, pour des raisons légales, votre adresse IP sera enregistrée quand vous envoyez un fichier. Ne paniquez pas, cest normalement le cas pour tous les sites où vous envoyez des fichiers."
#: themes/default/templates/partial/render.js.ep:10
msgid ""
"You don't seem to have a key in your URL. You won't be able to decrypt the "
"file. Download canceled."
msgstr ""
"Il semble que vous nayez pas de clé dans votre URL. Vous ne serez pas "
"capable de déchiffrer le fichier. Téléchargement annulé."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr "Il semble que vous nayez pas de clé dans votre URL. Vous ne serez pas capable de déchiffrer le fichier. Téléchargement annulé."
#: themes/default/templates/partial/render.js.ep:7
msgid ""
"You have attempted to leave this page. The download will be canceled. Are "
"you sure?"
msgstr ""
"Vous essayez de quitter la page. Le téléchargement sera annulé. Êtes-vous "
"sûr(e) ?"
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr "Vous essayez de quitter la page. Le téléchargement sera annulé. Êtes-vous sûr(e) ?"
#: themes/default/templates/partial/index.js.ep:14
msgid ""
"You have attempted to leave this page. The upload will be canceled. Are you "
"sure?"
msgstr ""
"Vous essayez de quitter la page. Lenvoi sera annulé. Êtes-vous sûr(e) ?"
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr "Vous essayez de quitter la page. Lenvoi sera annulé. Êtes-vous sûr(e) ?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "Vous avez été déconnecté·e avec succès."
#: lib/Lufi/Controller/Mail.pm:71
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "Vous devez envoyer des adresses mail."
#: themes/default/templates/index.html.ep:38
msgid ""
"Your browser does not have enough entropy to generate a strong encryption "
"key. Please wait (it's better if you do things on your computer while "
"waiting)."
msgstr ""
"Votre navigateur na pas assez dentropie pour générer une clé de "
"chiffrement forte. Veuillez attendre (il est préférable que vous fassiez "
"quelque chose sur votre ordinateur en attendant)."
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr "Votre navigateur na pas assez dentropie pour générer une clé de chiffrement forte. Veuillez attendre (il est préférable que vous fassiez quelque chose sur votre ordinateur en attendant)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr ""
"Votre fichier est trop volumineux : %1 (la taille maximum autorisée est %2)"
msgstr "Votre fichier est trop volumineux : %1 (la taille maximum autorisée est %2)"
#: lib/Lufi/Controller/Files.pm:351
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
"Votre mot de passe est invalide. Veuillez rafraîchir la page pour réessayer."
msgstr "Votre mot de passe est invalide. Veuillez rafraîchir la page pour réessayer."
#: themes/default/templates/partial/render.js.ep:12
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Contenu de larchive zip :"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:20
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "entre %1 et %2, le fichier sera conservé %3 jour(s)."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:22
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "entre %1 et %2, le fichier sera conservé indéfiniment."
@ -969,12 +825,12 @@ msgid "expires on XXX"
msgstr "expire le XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "pour %1 et plus, le fichier sera conservé %2 jour(s)"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:28
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "pour %1 et plus, le fichier sera conservé indéfiniment."
@ -991,32 +847,7 @@ msgstr "ou"
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), qui expirera le %3"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr ""
"Récupérez le code source sur <a href=\"https://framagit.org/fiat-tux/"
"hat-softwares/lufi\" class=\"classic\">le dépôt officiel</a> ou sur son <a "
"href=\"https://github.com/ldidry/lufi\" class=\"classic\">miroir Github</a>"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Fichier envoyé"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Fichier téléchargé"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Comme Lufi est un logiciel libre soumis aux termes de la license <a href=\""
"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, vous "
"pouvez linstaller sur votre propre serveur. Veuillez consulter le <a href=\""
"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\""
"classic\">Wiki</a> pour voir la procédure."
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Impossible de télécharger le fichier : trop de tentatives infructueuses d"
"ouverture dune websocket. Veuillez contacter ladministrateur."
"Vous ne pouvez pas ajouter d'URL qui ne sont pas liées à cette instance."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-07 15:33+0000\n"
"Last-Translator: Framasoft <tech-sys@framalistes.org>\n"
"PO-Revision-Date: 2022-01-24 12:56+0000\n"
"Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n"
"Language-Team: French (France) <https://weblate.framasoft.org/projects/lufi/"
"default-theme/fr_FR/>\n"
"Language: fr_FR\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.10.1\n"
#. ($delay)
#. (max_delay)
@ -345,7 +345,7 @@ msgstr "Bonjour,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Bonjour,\\n\\nVoici quelques fichiers que je souhaite partager avec toi :\\n"
"Bonjour,\\n\\nVoici quelques fichiers que je souhaite partager avec vous :\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
@ -1020,3 +1020,24 @@ msgid "Unable to download the file: too much unsuccessful attempts to open a web
msgstr ""
"Impossible de télécharger le fichier : trop de tentatives infructueuses d"
"ouverture dune websocket. Veuillez contacter ladministrateur."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"L'invitation %1 ne peut être supprimée : elle n'a pas été créée par vous "
"(%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
"L'invitation %1 ne peut être supprimée : elle n'a pas été créée par vous "
"(%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Vous ne pouvez pas ajouter des URL qui ne sont pas liées à cette instance "
"(%1)."

View File

@ -0,0 +1,925 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2022-10-20 18:33+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language-Team: Croatian <https://weblate.framasoft.org/projects/lufi/"
"default-theme/hr/>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 dana"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr "%1 te poziva da mu/joj pošalješ datoteke"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 te poziva da mu/joj pošalješ datoteke putem Lufia."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 ti je poslao/la datoteke"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 je koristio/la tvoju pozivnicu za slanje datoteka:"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A, %d. %m. %Y. u %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(maks. veličina: XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1 godina"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24 sata"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "Prekini"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "O"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "Dodaj datotekama lozinku"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Dodavanje URL-ova koji nisu povezani s ovom LUFI instancom, sa sadržajem ili "
"predmetom e-maila je zabranjeno."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Stvarno želiš izbrisati odabranu pozivnicu?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr "Stvarno želiš ponovo poslati e-mail pozivnicu za odabrane pozivnice?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Budući da je Lufi slobodan softver licenciran pod <a href=\"https://gnu.org/"
"licenses/agpl.html\" class=\"classic\">AGPLv3</a> uvjetima, možeš ga "
"instalirati na vlastiti poslužitelj. Pogledaj <a href=\"https://framagit.org/"
"fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> za "
"postupak."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Traži se dio datoteke XX1 od %1"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Natrag na web-stranicu"
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Neispravan CSRF token!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "Neispravan CSRF token."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr ""
"Pritisni ovdje za aktualiziranje stranice i ponovno pokretanje preuzimanja."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "Pritisni sljedeći URL za prijenos datoteka na Lufi:"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "Pritisni za otvaranje preglednika datoteka"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Zatvori"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Zarezom odvojene e-mail adrese"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Komprimiranje zip datoteke …"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Kopiraj sve poveznice u međuspremnik"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Kopiraj u međuspremnik"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "Nije moguće izbrisati datoteku. Nisi autentificiran/a."
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr "Nije moguće pronaći datoteku. Jesu li URL i token ispravni?"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr "Nije moguće pronaći datoteku. Je li URL ispravan?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "Brojač"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "Stvoriti zip arhivu s datotekama prije prijenosa?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "Stvoreno"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "Izbriši"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "Izbrisati pri prvom preuzimanju?"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr "Izbriši odabrane datoteke"
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr "Poveznica za brisanje"
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
"Ne brini: ako osoba počne preuzimati datoteku prije isteka i preuzimanje "
"završi nakon isteka, ona će moći dobiti datoteku."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "Preuzmi"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "Preuzimanje je prekinuto."
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "Poveznica za preuzimanje"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"Povuci i ispusti datoteke u odgovarajućem području ili koristi tradicionalni "
"način slanja datoteka. Datoteke će se rastaviti na dijelove, šifrirat će se "
"te će se poslati na poslužitelj. Za svaku datoteku ćeš dobiti dvije "
"poveznice: poveznicu za preuzimanje koju šalješ ljudima s kojima želiš "
"dijeliti datoteku i poveznicu za brisanje koja omogućuje brisanje datoteke "
"kad god želiš."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "Ispusti datoteke ovdje"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr "E-mail adrese tvog gosta"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "Tekst e-maila"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "Predmet e-maila"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr "E-mailovi"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr "Šifrara se dio XX1 od XX2"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Greška: datoteka je postojala ali je izbrisana."
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "Greška: datoteka nije u potpunosti poslana."
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr "Greška: nije moguće pronaći datoteku. Je li tvoj URL ispravan?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr "Istek:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "Isteču"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr "Isteče"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "Izvezi podatke lokalnog spremišta"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "Datoteka je izbrisana"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Datoteka je preuzeta"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "Ime datoteke"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Datoteka je prenesena"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "Datoteke"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "Datoteke su izbrisane pri prvom preuzimanju"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr "Datoteke su poslane na"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "Datoteke su poslane u pozivnici XX1 od XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "Preuzmi datoteku"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Preuzmi izvorni kod sa <a href=\"https://framagit.org/fiat-tux/hat-softwares/"
"lufi\" class=\"classic\">službenog repozitorija</a> ili s njegovog <a href="
"\"https://github.com/ldidry/lufi\" class=\"classic\">Github zrcala</a>"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr "E-mail adrese gosta"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr "Zdravo %1,"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr "Zdravo,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Zdravo,\\n"
"\\n"
"Evo par datoteka koje s tobom želim dijeliti:\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "Evo par datoteka"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr "Sakrij skrivene pozivnice"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Za kopiranje svih poveznica za preuzimanje pritisni Enter, a zatim Ctrl+C"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr "Za kopiranje poveznice za preuzimanje pritisni Enter, a zatim Ctrl+C"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "Kako radi?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr "Koliko dana želiš da pozivnica valja?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "Kako instalirati softver na moj poslužitelj?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "Kako prijaviti ilegalnu sliku?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "Ako odabereš odgađanje, datoteka će se izbrisati nakon tog odgađanja."
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
"Ako pošalješ e-mail s ovog poslužitelja, poveznice će se poslati na "
"poslužitelj, što može smanjiti zaštitu tvoje privatnosti."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "Uvezi podatke lokalnog spremišta"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "Važno: više informacija o odgađanjima"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "Informacije o odgađanjima"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "Preokreni odabir"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Pozivnica ponovo poslana za %1.<br> URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Pozivnica poslana za %1.<br> URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "Pozovi gosta"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr "Čini se da je ključ u tvom URL-u netočan. Provjeri svoj URL."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr "JavaScript je isključen. Nećeš moći koristiti Lufi."
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr "Jezik"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "Zadnja izmjena ove instance: %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr "Zadnja oznaka ove instance: %1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr "Prijava"
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr "Odjava"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufi je slobodan softver za hosting datoteka."
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Lufi je nedavno promijenio način spremanja podataka datoteka.\\n"
"\\n"
"Nijedna datoteka nije pronađene u novom lokalnom spremištu, ali smo pronašli "
"datoteke u starom.\\n"
"Želiš li uvesti te podatke?\\n"
"\\n"
"Imaj na umu da jćemo te ovo pitati samo jedanput."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr "Pošta"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr "Moje datoteke"
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr "Moje pozivnice"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
"Ne zaboravi: Ovaj popis uključuje popis datoteka koje su ti već poslane."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Ime zip datoteke"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
"Poslužitelj nema dovoljnu količinu memorije za ovu datoteku (veličina: %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "Bez odgađanja isteka"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
"Ovdje će se navesti samo datoteke koje su poslane s ovim preglednikom. Ovaj "
"se popis sprema u lokalno spremište: ako izbrišeš svoje podatke lokalnog "
"spremišta, izgubit ćeš ovaj popis."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr "Lozinka"
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr "Kontaktiraj administratora: %1"
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
"Pričekaj dok preuzimamo tvoju datoteku. Prije nego što je možeš preuzeti, "
"moramo je najprije preuzeti i dešifrirati sve dijelove."
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
"Provjeri svoje podatke za prijavu ili pravo na pristup ovoj usluzi: "
"neuspjela autentifikacija."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr "Privatnost"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "Potpuno izbriši istekle datoteke iz lokalonog spremišta"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "Pozdrav,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "Pozdrav."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Prijavi datoteku"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "Ponovo pošalji e-mail pozivnicu"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr "Ljubičasto obojeni redci znače da su pozivnice istekle."
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
"Crveno obojeni redci znače da su datoteke istekle i da više nisu dostupne."
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "Pošalji sve poveznice putem e-maila"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "Pošalji pozivnicu"
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Pošalji s poslužiteljem"
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Pošalji s vlastitim e-mail softverom"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
"Slanje dijela XX1 od xx2. Strpi se, može potrajati neko vrijeme dok se traka "
"napretka pomakne."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Dijeli svoje datoteke potpuno privatno na %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr "Pokaži skrivene pozivnice"
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Pokaži sadržaj zip datoteke"
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr "Registracija"
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr "Žao nam je, pozivnica ne postoji. Je li se nalaziš na ispravom URL-u?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Žao nam je, mogućnost prijenosa je trenutačno isključeno. Pokušaj kasnije "
"ponovo."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr "Žao nam je, mogućnost prijenosa je isključeno."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "Žao nam je, tvoja je pozivnica istekla ili izbrisana."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
"Žao nam je, tvoja je pozivnica istekla ili izbrisana. Za dobivanje nove "
"pozivnice kontaktiraj %1."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr "URL-ovi tvojih datoteka poslani su e-mailom na %1."
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
"Administrator može vidjeti samo ime datoteke, njegovu veličinu i vrstu ("
"video, tekst itd.)."
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
"Sadržaj e-maila mora sadržati barem jedan URL koji ukazuje na datoteku na "
"ovoj instanci."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "Podaci su uspješno uvezeni."
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "Sadržaj e-maila ne smije biti prazan."
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "Predmet e-maila ne smije biti prazan."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "Odgađanja isteka (%1) nije između 1 i %2 dana."
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "Datoteka je već izbrisana"
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
"Na Lufi instancu prenesene datoteke se šifriraju prije prenošenja na "
"poslužitelj: administrator poslužitelja ne može vidjeti sadržaj datoteke."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "Sljedeće e-mail adrese nisu ispravne: %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr "E-mail adresa gosta (%1) je neispravna."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Pozivnica %1 se ne može izbrisati: nisi autor pozivnice ( %2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
"Pozivnica %1 se ne može ponovo poslati: %2 je već poslao datoteke.<br>Stvori "
"novu pozivnicu."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "Pozivnica %1 se ne može ponovo poslati: nisi autor pozivnice ( %2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "Pozivnica %1 je izbrisana."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr "E-mail pozivnica će se poslati s tvoje e-mail adrese (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "Poveznice su kopirane u međuspremnik"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr "Poveznice tvojih datoteka će se automatski poslati e-mailom na %1 ( %2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr "Poveznice tvojih datoteka će se automatski poslati e-mailom na %1."
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "Ovaj e-mail je poslan."
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"Izvorni (i samo za sada) autor je <a href=\"https://fiat-tux.fr\" class="
"\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
"Poslužitelj nije uspio pronaći zapis datoteke za dodavanje tvog dijela "
"datoteke. Kontaktiraj administratora."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"Administratori su deaktivirali ovu datoteku. Kontaktiraj ih i saznaj zašto."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "Ovaj je poziv obično skriven"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr "Ovaj je poziv valjan do %1."
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
"Ovaj poslužitelj postavlja ograničenja u skladu s veličinom datoteke. "
"Odgađanja isteka tvoje datoteke bit će minimum između onoga što odabereš i "
"sljedećih ograničenja:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr "Uključi/isključi vidljivost"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr "URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "Neuspjelo kopiranje poveznica u međuspremnik"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Neuspjelo preuzimanje datoteke: previše neuspjelih pokušaja otvaranja "
"websocket protokola. Kontaktiraj administratora."
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
"Neuspjelo dobivanje brojača za %1. Datoteka ne postoji. Uklonit će se iz "
"tvog lokalnog spremišta."
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "Neuspjelo dobivanje brojača za %1. Token nije ispravan."
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "Neuspjelo dobivanje brojača za %1. Nisi autentificiran/a.."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "Prenesi datoteke"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr "Prenesi generiranu zip datoteku"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr "Preneseno"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr "Prenesene datoteke"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Verzija"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Greška u komunikaciji websocket protokola"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr "Što je Lufi?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "Tko je napisao ovaj softver?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "XXX datoteka je dodana u red za prijenos."
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
"Možeš pozvati osobe da ti pošalju datoteke putem ove Lufi instance, čak i "
"ako nemaju račun za Lufi instancu."
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
"Popis datoteka možeš vidjeti pritiskom poveznice „Moje datoteke” u gornjem "
"desnom kutu ove stranice."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Ne možeš dodati URL-ove koji nisu povezani s ovom instancom (%1)."
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
"Za prenošenje datoteka se ne moraš registrirati, međutim, iz pravnih "
"razloga, tvoja IP adresa će se spremiti prilikom slanja datoteke. Nemoj "
"paničariti, to obično vrijedi za sve web-stranice na kojima šalješ datoteke."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
"Čini se da nemaš ključ u svom URL-u. Nećeš moći dešifrirati datoteku. "
"Preuzimanje je prekinuto."
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
"Pokušao/la si napustiti ovu stranicu. Preuzimanje će se prekinuti. Stvarno "
"to želiš?"
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
"Pokušao/la si napustiti ovu stranicu. Prenošenje će se prekinuti. Stvarno to "
"želiš?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "Uspješno si odjevljen/a."
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "Moraš upisati e-mail adrese."
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
"Tvoj preglednik nema dovoljno entropije za generiranje snažnog ključa za "
"šifriranje. Pričekaj (bolje je ako radiš stvari na računalu dok čekaš)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr "Tvoja je datoteka prevelika: %1 (maksimalna dozvoljena veličina: %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr "Tvoja lozinka nije valjana. Aktualiziraj stranicu za ponovni pokušaj."
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Sadržaj zip datoteke:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "između %1 i %2, datoteka će se zadržati %3 dan(a)."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "između %1 i %2, datoteka će se zadržati zauvijek."
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr "rok: "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr "isteče XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "za %1 i više, datoteka će se zadržati %2 dan(a)."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "za %1 i više, datoteka će se zadržati zauvijek."
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr "bez vremenskog ograničenja"
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr "ili"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr " %1 (%2), isteči će %3"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr "Ne možeš dodati URL-ove koji nisu povezani s ovom instancom."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-25 19:52+0000\n"
"Last-Translator: x <hardwired1.0@protonmail.com>\n"
"PO-Revision-Date: 2023-03-09 05:34+0000\n"
"Last-Translator: lost_geographer <david@chionne.eu>\n"
"Language-Team: Italian <https://weblate.framasoft.org/projects/lufi/"
"default-theme/it/>\n"
"Language: it\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.15.2\n"
#. ($delay)
#. (max_delay)
@ -998,3 +998,18 @@ msgid "Unable to download the file: too much unsuccessful attempts to open a web
msgstr ""
"Impossibile scaricare il file: troppi tentativi falliti di aprire un "
"websocket. Per favore, contatta l'amministratore."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "L'invito %1 non può essere cancellato: non lo hai creato tu (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "L'invito %1 non può essere rispedito: non lo hai creato tu (%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Non puoi aggiungere URL non correlati a questa istanza (%1)."

View File

@ -0,0 +1,990 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2021-11-02 10:04+0900\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja_JP\n"
"X-Language: ja_JP\n"
"X-Source-Language: C\n"
#. ($delay)(max_delay)
#: themes/default/templates/index.html.ep:56
#: themes/default/templates/index.html.ep:65
#: themes/default/templates/index.html.ep:66
#, qt-format
msgid "%1 days"
msgstr "%1日"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
#, qt-format
msgid "%1 invites you to send him/her files"
msgstr "%1 はあなたにファイルを送信しようとしています"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
#, qt-format
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 はLufiによってあなたにファイルを送信しようとしています。"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
#, qt-format
msgid "%1 sent you files"
msgstr "%1 はあなたにファイルを送信しました"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
#, qt-format
msgid "%1 used your invitation to send you files:"
msgstr "%1は招待を受け、次のファイルを送信しました:"
#: lib/Lufi/Controller/Invitation.pm:160 lib/Lufi/Controller/Invitation.pm:85
#: themes/default/templates/invitations/my_invitations.html.ep:51
#: themes/default/templates/invitations/my_invitations.html.ep:52
#: themes/default/templates/invitations/my_invitations.html.ep:53
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y at %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(最大サイズ: XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1年"
#: themes/default/templates/index.html.ep:4
#: themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24時間"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "中断"
#: themes/default/templates/layouts/default.html.ep:53
#: themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "Lufiについて"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "ファイルにパスワードをかける"
#: themes/default/templates/mail.html.ep:16
msgid ""
"Adding URLs not related to this Lufi instance to the mail body or subject is "
"prohibited."
msgstr "メールの本文や件名に、このLufiインスタンスに関係のないURLを追加することは禁止されています。"
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "選択した招待状を削除してもよろしいですか?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid ""
"Are you sure you want to resend the invitation mail for the selected "
"invitations?"
msgstr "選択した招待メールを再送してよろしいですか?"
#: themes/default/templates/about.html.ep:17
msgid ""
"As Lufi is a free software licensed under of the terms of the <a "
"href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, "
"you can install it on you own server. Have a look on the <a "
"href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" "
"class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Lufiは<a href=\"https://gnu.org/licenses/agpl.html\" "
"class=\"classic\">AGPLv3</a>に基づきライセンスされたフリーソフトウェアで、あなた自身のサーバーにインストールすることができます。手順は、<a "
"href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" "
"class=\"classic\">Wiki</a>をご確認ください。ソースコードは、公式リポジトリまたはGithubミラーから入手できます。"
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
#, qt-format
msgid "Asking for file part XX1 of %1"
msgstr "ファイルのパートXX1 / %1を取得しています"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "トップページに戻る"
#: lib/Lufi/Controller/Mail.pm:25
msgid "Bad CSRF token!"
msgstr "CSRFトークンが無効です"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "CSRFトークンが無効です。"
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "ここをクリックすると、ページが更新されダウンロードが再開されます。"
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "次のURLからLufiにファイルをアップロードできます:"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "ファイルを参照"
#: themes/default/templates/delays.html.ep:42
#: themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "閉じる"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "メールアドレス(コンマ区切り)"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Zipファイルに圧縮中..."
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "全てのリンクをクリップボードにコピー"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "クリップボードにコピー"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "認証されていないためファイルを削除できませんでした。"
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr "ファイルが見つかりませんでした。URLとトークンが間違っていませんか"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr "ファイルが見つかりませんでした。URLが間違っていませんか"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "ダウンロード数"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "アップロード前にファイルをZip圧縮する"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "作成日時"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "削除"
#: themes/default/templates/files.html.ep:30
#: themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "初回ダウンロード時に削除"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr "選択したファイルを削除"
#: themes/default/templates/files.html.ep:33
#: themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr "削除リンク"
#: themes/default/templates/delays.html.ep:9
msgid ""
"Don't worry: if a user begins to download the file before the expiration and "
"the download ends after the expiration, he will be able to get the file."
msgstr ""
"ご安心ください、ユーザーが有効期限前にファイルのダウンロードを開始し、有効期限後にダウンロードが終了した場合は、ファイルを取得することができます。"
#: themes/default/templates/partial/index.js.ep:21
#: themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "ダウンロード"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "ダウンロードは中断されました。"
#: themes/default/templates/files.html.ep:28
#: themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "ダウンロードリンク"
#: themes/default/templates/about.html.ep:10
msgid ""
"Drag and drop files in the appropriate area or use the traditional way to "
"send files and the files will be chunked, encrypted and sent to the server. "
"You will get two links per file: a download link, that you give to the "
"people you want to share the file with and a deletion link, allowing you to "
"delete the file whenever you want."
msgstr ""
"ファイルを適切な場所にドラッグドロップするか、参照してファイルを送信すると、ファイルは分割後、暗号化されてサーバーに送信されます。1つのファイルにつき2つのリンクが表示されます。ダウンロードリンクはファイルを共有したい人に渡すもので、削除リンクを使用すればいつでもファイルを削除することができます。"
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "ファイルをここにドロップ"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr "ゲストのメールアドレス"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "メール本文"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "メール件名"
#: themes/default/templates/mail.html.ep:25
#: themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr "メール"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr "パートXX1 / XX2を暗号化中"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "エラー:ファイルは存在しましたが削除されました。"
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "エラー:ファイルが完全に送信されていません。"
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr "エラー:ファイルが見つかりませんでした。URLが間違っていませんか"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr "失効日時:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "失効日時"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr "失効日時"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "ローカルストレージのデータをエクスポート"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "ファイルは削除されました"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "ファイルはダウンロードされました"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "ファイル名"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "ファイルはアップロードされました"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "ファイル"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "最初のダウンロードによりファイルは削除されました"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr "ファイルの送信元"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "ファイルは招待 XX1を介してXX2によって送信されました"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "ファイルを取得"
#: themes/default/templates/about.html.ep:18
msgid ""
"Get the source code on <a "
"href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" "
"class=\"classic\">the official repository</a> or on its <a "
"href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"ソースコードを<a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" "
"class=\"classic\">公式リポジトリ</a>または <a href=\"https://github.com/ldidry/lufi\" "
"class=\"classic\">Githubミラー</a>から入手できます"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr "ゲストメール"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
#, qt-format
msgid "Hello %1,"
msgstr "%1 さん、こんにちは!"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr "こんにちは。"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr "こんにちは。次の共有したいファイルがあります。:\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "次のファイル"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr "非表示の招待を隠す"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr "Enterキーを押した後、Ctrl+Cですべてのダウンロードリンクをコピーします"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr "Enterキーを押した後、Ctrl+Cでダウンロードリンクをコピーします"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "どのように使用しますか?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr "招待の有効期限は何日間ですか?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "どうすればLufiを私のサーバーにインストールできますか"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "違法なファイルを報告するにはどうすればよいですか?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "削除時間を設定した場合、その時間後にファイルは削除されます。"
#: themes/default/templates/mail.html.ep:15
msgid ""
"If you send the mail from this server, the links will be sent to the server, "
"which may lower your privacy protection."
msgstr "このサーバーからメールを送信すると、リンクがサーバーに送信されるため、プライバシーが低下する可能性があります。"
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "ローカルストレージのデータをインポート"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "重要:削除時間に関する詳細"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "削除時間に関する情報"
#: themes/default/templates/files.html.ep:18
#: themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "選択を反転"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:172
#, qt-format
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "招待は%1に再送されました。<br> URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
#, qt-format
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "招待は%1に送信されました。<br> URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27
#: themes/default/templates/layouts/default.html.ep:36
#: themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "ゲストを招待"
#: themes/default/templates/partial/render.js.ep:6
msgid ""
"It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr "URL内のキーが間違っているようです。URLが間違ってないかご確認ください。"
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr "Javascriptが無効です。有効でないとLufiを使用できません。"
#: themes/default/templates/layouts/default.html.ep:44
#: themes/default/templates/layouts/default.html.ep:46
#: themes/default/templates/layouts/default.html.ep:77
#: themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr "言語"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
#, qt-format
msgid "Latest commit of this instance: %1"
msgstr "このインスタンスの最新のコミット:%1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
#, qt-format
msgid "Latest tag of this instance: %1"
msgstr "このインスタンスの最新のタグ:%1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr "ログイン"
#: themes/default/templates/layouts/default.html.ep:58
#: themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr "ログアウト"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufiは自由なファイルホスティングソフトウェアです。"
#: themes/default/templates/partial/files.js.ep:12
msgid ""
"Lufi recently changed its way to store files information.\\n\\nNo files have "
"been found in the new localStorage location but we found files in the old "
"one.\\nDo you want to import those informations?\\n\\nPlease note that this "
"is the only time that we will ask you this."
msgstr ""
"Lufi "
"は最近、ファイル情報の保存方法を変更しました。\\n\\n新しいローカルストレージにはファイルがありませんでしたが、古いローカルストレージにファイルがありました。\\nこれらの情報をインポートしますか\\n\\nこの質問をするのは今回だけですので、ご了承ください。"
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr "メール"
#: themes/default/templates/files.html.ep:3
#: themes/default/templates/layouts/default.html.ep:34
#: themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr "私のファイル"
#: themes/default/templates/invitations/my_invitations.html.ep:5
#: themes/default/templates/layouts/default.html.ep:37
#: themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr "私の招待"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid ""
"NB: this list includes the list of files that have already been sent to you."
msgstr "注:このリストには、すでに送信されたファイルのリストが含まれています。"
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Zipファイルの名前"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
#, qt-format
msgid "No enough space available on the server for this file (size: %1)."
msgstr "サーバーにこのファイルのための十分なスペースがありません。(サイズ: %1)"
#: themes/default/templates/partial/files.js.ep:10
#: themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "削除時間なし"
#: themes/default/templates/files.html.ep:8
msgid ""
"Only the files sent with this browser will be listed here. This list is "
"stored in localStorage: if you delete your localStorage data, you'll lose "
"this list."
msgstr ""
"このブラウザで送信されたファイルのみがここに表示されます。このリストはローカルストレージに保存されています。ローカルストレージのデータを削除すると、このリストも失われます。"
#: themes/default/templates/index.html.ep:106
#: themes/default/templates/login.html.ep:21
#: themes/default/templates/render.html.ep:26
msgid "Password"
msgstr "パスワード"
#. (config('contact')
#: themes/default/templates/about.html.ep:13
#, qt-format
msgid "Please contact the administrator: %1"
msgstr "管理者にお問い合わせください:%1"
#: themes/default/templates/render.html.ep:33
msgid ""
"Please wait while we are getting your file. We first need to download and "
"decrypt all parts before you can get it."
msgstr ""
"しばらくお待ちください。あなたのファイルを取得しています。あなたがファイルを入手する前に、まずすべてのパーツを取得して復号する必要があります。"
#: lib/Lufi/Controller/Auth.pm:38
msgid ""
"Please, check your credentials or your right to access this service: unable "
"to authenticate."
msgstr "このサービスにアクセスするための資格をご確認ください:認証できませんでした。"
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr "プライバシー"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "ローカルストレージから期限切れのファイルを削除する"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "よろしくおねがいします。"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "よろしくおねがいします。"
#: themes/default/templates/layouts/default.html.ep:31
#: themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "ファイルを報告"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "招待メールを再送"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr "紫色の行は、招待の有効期限が切れていることを意味します。"
#: themes/default/templates/files.html.ep:9
msgid ""
"Rows in red mean that the files have expired and are no longer available."
msgstr "赤色の行は、ファイルが期限切れで利用できなくなっていることを意味します。"
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "全てのリンクをメールで送信する"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "招待を送信"
#: themes/default/templates/mail.html.ep:46
msgid "Send with this server"
msgstr "このサーバーから送信"
#: themes/default/templates/mail.html.ep:47
msgid "Send with your own mail software"
msgstr "自身のメールクライアントから送信"
#: themes/default/templates/partial/index.js.ep:30
msgid ""
"Sending part XX1 of XX2. Please, be patient, the progress bar can take a "
"while to move."
msgstr "パートXX1/XX2を送信中です。暫くお待ちください。プログレスバーが動くまでに時間がかかることがあります。"
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
#, qt-format
msgid "Share your files in total privacy on %1"
msgstr "%1でファイルを完全なプライバシーで共有する"
#: themes/default/templates/invitations/my_invitations.html.ep:13
#: themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr "非表示の招待を表示する"
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Zipコンテンツを表示する"
#: themes/default/templates/layouts/default.html.ep:40
#: themes/default/templates/layouts/default.html.ep:73
#: themes/default/templates/login.html.ep:28
#: themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr "サインイン"
#: lib/Lufi/Controller/Invitation.pm:284
#: themes/default/templates/invitations/exception.html.ep:16
msgid ""
"Sorry, the invitation doesn’t exist. Are you sure you are on the right URL?"
msgstr "招待が見つかりませんでした。正しいURLを入力していますか"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr "申し訳ありませんが、現在アップロードができません。後日、再度お試しください。"
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr "申し訳ありません。現在アップロードは無効です。"
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "申し訳ありません。招待は失効したか削除されました。"
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
#, qt-format
msgid ""
"Sorry, your invitation has expired or has been deleted. Please contact %1 to "
"have another invitation."
msgstr "申し訳ありません。招待は失効したか削除されました。%1に連絡して新たに招待を受けてください。"
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:277
#, qt-format
msgid "The URLs of your files have been sent by email to %1."
msgstr "ファイルの URL は、メールで %1 に送信されました。"
#: themes/default/templates/about.html.ep:7
msgid ""
"The administrator can only see the file's name, its size and its mimetype "
"(what kind of file it is: video, text, etc.)."
msgstr "管理者が見ることができるのは、ファイル名、サイズ、MIMEタイプビデオ、テキストなどのファイルの種類だけです。"
#: lib/Lufi/Controller/Mail.pm:53
msgid ""
"The body of the mail must contain at least one URL pointing to a file hosted "
"on this instance."
msgstr "メールの本文には、このインスタンスでホストされているファイルを指すURLを少なくとも1つ含める必要があります。"
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "データは正常にインポートされました。"
#: lib/Lufi/Controller/Mail.pm:73
msgid "The email body can't be empty."
msgstr "メール本文は空白にできません。"
#: lib/Lufi/Controller/Mail.pm:72
msgid "The email subject can't be empty."
msgstr "メールの件名は空白にできません。"
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
#, qt-format
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "削除期限 (%1) が 1 日から %2 日の間ではありません。"
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "ファイルは既に削除されました"
#: themes/default/templates/about.html.ep:6
msgid ""
"The files uploaded on a Lufi instance are encrypted before the upload to the "
"server: the administrator of the server can not see the file's content."
msgstr "Lufi インスタンスにアップロードされるファイルは、サーバーに送信される前に暗号化されます。"
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
#, qt-format
msgid "The following email addresses are not valid: %1"
msgstr "次のメールアドレスは無効です: %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
#, qt-format
msgid "The guest email address (%1) is unvalid."
msgstr "ゲストのメールアドレス(%1)は無効です。"
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:151
#, qt-format
msgid ""
"The invitation %1 can’t be resent: %2 has already sent files.<br>Please "
"create a new invitation."
msgstr "招待 %1 は再送できません: %2 は既に送信済みのファイルです。<br>新しく招待を作成してください。"
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:131
#, qt-format
msgid "The invitation %1 has been deleted."
msgstr "招待 %1 は削除されました。"
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
#, qt-format
msgid "The invitation mail will be send from your email address (%1)."
msgstr "招待はあなたのメールアドレス(%1)から送信されます。"
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "リンクはクリップボードにコピーされました"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
#, qt-format
msgid ""
"The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr "あなたのファイルのリンクは、自動的に %1 (%2) にメールで送信されます"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
#, qt-format
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr "あなたのファイルのリンクは、自動的に%1にメールで送信されます。"
#: lib/Lufi/Controller/Mail.pm:97
msgid "The mail has been sent."
msgstr "メールは送信されました。"
#: themes/default/templates/about.html.ep:15
msgid ""
"The original (and only for now) author is <a href=\"https://fiat-tux.fr\" "
"class=\"classic\">Luc Didry</a>."
msgstr ""
"このソフトウェアの原作者は<a href=\"https://fiat-tux.fr\" class=\"classic\">Luc "
"Didry</a>です。"
#: lib/Lufi/Controller/Files.pm:230
msgid ""
"The server was unable to find the file record to add your file part to. "
"Please, contact the administrator."
msgstr "ファイルパーツを追加するファイルレコードがサーバーに見つかりませんでした。お手数ですが、管理者にお問い合わせください。"
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr "このファイルは管理者によって無効にされています。理由については管理者にお問い合わせください。"
#: themes/default/templates/invitations/my_invitations.html.ep:46
#: themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "この招待は通常は非表示です"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
#, qt-format
msgid "This invitation is valid until %1."
msgstr "この招待は %1 まで有効です。"
#: themes/default/templates/delays.html.ep:13
msgid ""
"This server sets limitations according to the file size. The expiration "
"delay of your file will be the minimum between what you choose and the "
"following limitations:"
msgstr "このサーバーでは、ファイルサイズに応じて制限を設けています。ファイルの有効期限は、あなたが選択されたものと次の制限との間の最小値となります:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr "可視性を切り替え"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr "URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "リンクをクリップボードにコピーできませんでした"
#: themes/default/templates/partial/render.js.ep:13
msgid ""
"Unable to download the file: too much unsuccessful attempts to open a "
"websocket. Please, contact the administrator."
msgstr "ファイルをダウンロードできませんでした:Websocketを開くのに何度も失敗しました。管理者にお問い合わせください。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
#, qt-format
msgid ""
"Unable to get counter for %1. The file does not exists. It will be removed "
"from your localStorage."
msgstr "%1のダウンロード数を取得できませんでした。ファイルが存在しないかローカルストレージから削除されています。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
#, qt-format
msgid "Unable to get counter for %1. The token is invalid."
msgstr "%1のダウンロード数を取得できませんでした。トークンが無効です。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
#, qt-format
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "%1のダウンロード数を取得できませんでした。あなたは認証されていません。"
#: themes/default/templates/layouts/default.html.ep:33
#: themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "ファイルをアップロード"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr "生成されたZipファイルをアップロード"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr "アップロード日時"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr "アップロードされたファイル"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "バージョン"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Websocket通信エラー"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr "Lufiとは何ですか"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "誰がこのソフトウェアを作っていますか?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "XXX 個のファイルがアップロードのキューに追加されました。"
#: themes/default/templates/invitations/invite.html.ep:30
msgid ""
"You can invite someone to send you files through this Lufi instance even if "
"they don’t have an account on it."
msgstr "相手がLufiのアカウントを持っていなくても、このLufiインスタンスを通してファイルを送るように招待することができます。"
#: themes/default/templates/about.html.ep:11
msgid ""
"You can see the list of your files by clicking on the \"My files\" link at "
"the top right of this page."
msgstr "このページの右上にある「私のファイル」のリンクをクリックすると、自分のファイルの一覧が表示されます。"
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
msgstr "このインスタンスに関係のないURLを追加することはできません。"
#: themes/default/templates/about.html.ep:8
msgid ""
"You don't need to register yourself to upload files but be aware that, for "
"legal reasons, your IP address will be stored when you send a file. Don't "
"panic, this is normally the case for all sites on which you send files."
msgstr ""
"ファイルをアップロードするために登録する必要はありませんが、法律上の理由から、ファイルを送信する際にあなたのIPアドレスが記録されますのでご注意ください。これは通常、ファイルを送信するすべてのサイトに当てはまります。"
#: themes/default/templates/partial/render.js.ep:11
msgid ""
"You don't seem to have a key in your URL. You won't be able to decrypt the "
"file. Download canceled."
msgstr "URLにキーが入っていないようです。ファイルの復号化ができません。ダウンロードを中止しました。"
#: themes/default/templates/partial/render.js.ep:7
msgid ""
"You have attempted to leave this page. The download will be canceled. Are "
"you sure?"
msgstr "このページから離れると、ダウンロードはキャンセルされます。本当に宜しいですか?"
#: themes/default/templates/partial/index.js.ep:14
msgid ""
"You have attempted to leave this page. The upload will be canceled. Are you "
"sure?"
msgstr "このページから離れると、アップロードはキャンセルされます。本当に宜しいですか?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "正常にログアウトされました。"
#: lib/Lufi/Controller/Mail.pm:71
msgid "You must give email addresses."
msgstr "メールアドレスを指定する必要があります。"
#: themes/default/templates/index.html.ep:38
msgid ""
"Your browser does not have enough entropy to generate a strong encryption "
"key. Please wait (it's better if you do things on your computer while "
"waiting)."
msgstr ""
"お使いのブラウザには、強力な暗号化キーを生成するための十分なエントロピーがありません。しばらくお待ちください(待っている間、コンピュータで何かをするとより良いでしょう)。"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
#, qt-format
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr "ファイルが大きすぎます: %1 (最大サイズ: %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr "パスワードが無効です。ページをリロードして再試行してください。"
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Zipコンテンツ:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
#, qt-format
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "%1 と %2 の間に設定すると、ファイルは%2 日間保存されます。"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
#, qt-format
msgid "between %1 and %2, the file will be kept forever."
msgstr "%1 と %2 の間に設定すると、ファイルは永遠に保存されます。"
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr "期限: "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr "XXX に失効"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
#, qt-format
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "%1 以上にすると、ファイルは%2 日間保存されます。"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
#, qt-format
msgid "for %1 and more, the file will be kept forever."
msgstr "%1 以上にすると、ファイルは永遠に保存されます。"
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr "タイムリミットなし"
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr "または"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
#, qt-format
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), は %3で期限切れになります"

View File

@ -41,7 +41,7 @@ msgstr ""
msgid "%1 used your invitation to send you files:"
msgstr ""
#: lib/Lufi/Controller/Invitation.pm:160 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr ""
@ -98,7 +98,7 @@ msgstr ""
msgid "Back to homepage"
msgstr ""
#: lib/Lufi/Controller/Mail.pm:25
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr ""
@ -364,7 +364,7 @@ msgid "Invert selection"
msgstr ""
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:172
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr ""
@ -505,11 +505,11 @@ msgstr ""
msgid "Send the invitation"
msgstr ""
#: themes/default/templates/mail.html.ep:46
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr ""
#: themes/default/templates/mail.html.ep:47
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr ""
@ -518,7 +518,7 @@ msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a
msgstr ""
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr ""
@ -534,7 +534,7 @@ msgstr ""
msgid "Signin"
msgstr ""
#: lib/Lufi/Controller/Invitation.pm:284 themes/default/templates/invitations/exception.html.ep:16
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
@ -556,7 +556,7 @@ msgid "Sorry, your invitation has expired or has been deleted. Please contact %1
msgstr ""
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:277
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
@ -564,7 +564,7 @@ msgstr ""
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:53
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
@ -572,11 +572,11 @@ msgstr ""
msgid "The data has been successfully imported."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:73
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:72
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr ""
@ -594,7 +594,7 @@ msgid "The files uploaded on a Lufi instance are encrypted before the upload to
msgstr ""
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr ""
@ -603,13 +603,23 @@ msgstr ""
msgid "The guest email address (%1) is unvalid."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:151
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:131
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr ""
@ -632,7 +642,7 @@ msgstr ""
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:97
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr ""
@ -736,8 +746,9 @@ msgstr ""
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
#: themes/default/templates/about.html.ep:8
@ -760,7 +771,7 @@ msgstr ""
msgid "You have been successfully logged out."
msgstr ""
#: lib/Lufi/Controller/Mail.pm:71
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr ""

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-05 01:52+0000\n"
"PO-Revision-Date: 2021-11-03 19:33+0000\n"
"Last-Translator: Quentin PAGÈS <quentinantonin@free.fr>\n"
"Language-Team: Occitan <https://weblate.framasoft.org/projects/lufi/"
"default-theme/oc/>\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.8.1\n"
#. ($delay)
#. (max_delay)
@ -1018,3 +1018,18 @@ msgstr ""
"Telecargament del fichièr impossible: tròp densages infructuóses de "
"dobertura de connector de tipe websocket. Mercés de contactar "
"ladministrator."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "L'invitacion %1 se pòt pas tornar enviar : la creèretz pas vos (%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Podètz pas apondre d'URL que son pas ligadas a aquesta instància (%1)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "L'invitacion %1 se pòt pas suprimir : la creèretz pas vos (%2)."

View File

@ -0,0 +1,939 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2023-07-24 13:27+0000\n"
"Last-Translator: Jacek Pazur <jacek.pazur@gmail.com>\n"
"Language-Team: Polish <https://weblate.framasoft.org/projects/lufi/"
"default-theme/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.18.2\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 dni"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr "%1 zaprasza do przesłania jej/jemu plików"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 zaprasza do przesłania jej/jemu plików poprzez Lufi."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 wysłał ci pliki"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 wykorzystał twoje zaproszenie do wysłania plików:"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y o %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(maksymalny rozmiar: XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1 rok"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24 godziny"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "Anuluj"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "O"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "Dodaj hasło do pliku(-ów)"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Dodawanie adresów URL nie powiązanych z Lufi do treści wiadomości lub tematu "
"jest zabronione."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Czy na pewno chcesz usunąć wybrane zaproszenia?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr ""
"Czy na pewno chcesz ponownie wysłać e-mail z zaproszeniem dla wybranych "
"zaproszeń?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Lufi jest wolnym oprogramowaniem licencjonowanym zgodnie z warunkami <a href="
"\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, możesz "
"zainstalować go na własnym serwerze. Zajrzyj na <a href=\"https://framagit."
"org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> po "
"instrukcję."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Pytanie o część pliku XX1 z %1"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Powrót do strony głównej"
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Zły token CSRF!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "Zły token CSRF."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "Kliknij tutaj, aby odświeżyć stronę i wznowić pobieranie."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "Kliknij następujący adres URL, aby przesłać pliki na Lufi:"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "Kliknij, aby otworzyć przeglądarkę plików"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Zamknij"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Adresy e-mail oddzielone przecinkami"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Kompresowanie pliku zip…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Skopiuj wszystkie linki do schowka"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Kopiuj do schowka"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "Nie można usunąć pliku. Nie jesteś uwierzytelniony."
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr "Nie można znaleźć pliku. Czy jesteś pewien adresu URL i tokena?"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr "Nie można znaleźć pliku. Czy jesteś pewien adresu URL?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "Licznik"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "Utworzyć archiwum zip z plikami przed przesłaniem?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "Utworzono w"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "Usunąć"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "Usunąć po pierwszym pobraniu?"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr "Usuń zaznaczone pliki"
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr "Link do usuwania"
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
"Bez obaw: jeśli użytkownik rozpocznie pobieranie pliku przed wygaśnięciem, a "
"pobieranie zakończy się po wygaśnięciu, będzie mógł pobrać plik."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "Pobierz"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "Pobieranie przerwane."
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "Link do pobrania"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"Przeciągnij i upuść pliki w odpowiednim obszarze lub użyj tradycyjnego "
"sposobu wysyłania plików, a pliki zostaną podzielone na fragmenty, "
"zaszyfrowane i wysłane na serwer. Otrzymasz dwa linki do każdego pliku: link "
"do pobrania, który udostępnisz osobom, którym chcesz udostępnić plik, oraz "
"link do usunięcia, umożliwiający usunięcie pliku w dowolnym momencie."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "Upuść pliki tutaj"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr "Adres e-mail gościa"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "Treść wiadomości email"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "Temat wiadomości e-mail"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr "E-maile"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr "Szyfrowanie części XX1 z XX2"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Błąd: plik istniał, ale został usunięty."
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "Błąd: plik nie został wysłany w całości."
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr "Błąd: nie można znaleźć pliku. Czy jesteś pewien adresu URL?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr "Wygaśnięcie:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "Wygasa w"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr "Wygasa z dniem"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "Eksportuj dane z localStorage"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "Plik usunięty"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Pobrany plik"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "Nazwa pliku"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Przesłany plik"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "Pliki"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "Pliki usunięte po pierwszym pobraniu"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr "Pliki wysłane o"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "Pliki przesłane w zaproszeniu XX1 przez XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "Pobierz plik"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Pobierz kod źródłowy z <a href=\"https://framagit.org/fiat-tux/hat-softwares/"
"lufi\" class=\"classic\">oficjalnego repozytorium</a> lub z <a href=\"https"
"://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr "Email gościa"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr "Witaj %1,"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr "Witaj,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Witaj,\\n"
"\\n"
"Oto kilka plików, którymi chcę się z Tobą podzielić:\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "Oto kilka plików"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr "Ukryj ukryte zaproszenia"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Naciśnij Enter, a następnie Ctrl + C, aby skopiować wszystkie linki "
"pobierania"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr "Naciśnij Enter, a następnie Ctrl + C, aby skopiować link pobierania"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "Jak to działa?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr "Ile dni chcesz, aby zaproszenie było ważne?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "Jak zainstalować oprogramowanie na moim serwerze?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "Jak zgłosić nielegalny plik?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "Jeśli wybierzesz opóźnienie, plik zostanie usunięty po tym opóźnieniu."
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
"Jeśli wyślesz e-mail z tego serwera, linki zostaną wysłane na serwer, co "
"może obniżyć ochronę Twojej prywatności."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "Importuj dane z localStorage"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "Ważne: więcej informacji o opóźnieniach"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "Informacje o opóźnieniach"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "Odwróć wybór"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Zaproszenie ponownie wysłane do %1.<br> URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Zaproszenie wysłane do %1.<br> URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "Zaproś gościa"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
"Wygląda na to, że klucz w adresie URL jest nieprawidłowy. Zweryfikuj swój "
"adres URL."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr "JavaScript jest wyłączony. Nie będziesz mógł używać Lufi."
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr "Język"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "Ostatnie zatwierdzenie tej instancji: %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr "Najnowszy tag tej instancji: %1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr "Logowanie"
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr "Wyloguj"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr ""
"Lufi to darmowe (podobnie jak w przypadku wolności słowa) oprogramowanie do "
"hostingu plików."
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Lufi niedawno zmieniła sposób przechowywania informacji o plikach.\\n"
"\\n"
"W nowej lokalizacji localStorage nie znaleziono żadnych plików, ale "
"znaleźliśmy pliki w starej.\\n"
"Czy chcesz zaimportować te informacje?\\n"
"\\n"
"Pamiętaj, że jest to jedyny raz, kiedy o to poprosimy."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr "E-mail"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr "Moje pliki"
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr "Moje zaproszenia"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr ""
"Uwaga: ta lista zawiera listę plików, które zostały już do Ciebie wysłane."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Nazwa pliku zip"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr ""
"Brak wystarczającej ilości miejsca na serwerze dla tego pliku (wielkość "
"pliku: %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "Brak opóźnienia wygaśnięcia"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
"Tutaj zostaną wyświetlone tylko pliki przesłane za pomocą tej przeglądarki. "
"Ta lista jest przechowywana w localStorage: jeśli usuniesz swoje dane "
"localStorage, utracisz tę listę."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr "Hasło"
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr "Skontaktuj się z administratorem: %1"
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
"Proszę czekać, pobieramy Twój plik. Najpierw musimy pobrać i odszyfrować "
"wszystkie części, zanim będzie można je pobrać."
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
"Sprawdź swoje dane uwierzytelniające lub prawo dostępu do tej usługi: nie "
"można uwierzytelnić."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr "Prywatność"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "Wyczyść wygasłe pliki z localStorage"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "Pozdrowienia,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "Pozdrowienia."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Plik raportu"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "Wyślij ponownie e-mail z zaproszeniem"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr "Wiersze w kolorze fioletowym oznaczają, że zaproszenia wygasły."
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
"Wiersze w kolorze czerwonym oznaczają, że pliki straciły ważność i nie są "
"już dostępne."
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "Wyślij wszystkie linki e-mailem"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "Wyślij zaproszenie"
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Wyślij za pomocą tego serwera"
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Wysyłaj za pomocą własnego oprogramowania pocztowego"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
"Wysyłanie części XX1 z XX2. Prosimy o cierpliwość, zmiana paska postępu może "
"trochę potrwać."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Udostępnij swoje pliki całkowicie prywatnie na %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr "Pokaż ukryte zaproszenia"
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Pokaż zawartość ZIP"
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr "Zaloguj"
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
"Przepraszamy, zaproszenie nie istnieje. Czy na pewno użyłeś właściwego "
"adresu URL?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Przepraszamy, przesyłanie jest obecnie wyłączone. Spróbuj ponownie później."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr "Przepraszamy, przesyłanie jest wyłączone."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "Przepraszamy, Twoje zaproszenie wygasło lub zostało usunięte."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
"Przepraszamy, Twoje zaproszenie wygasło lub zostało usunięte. Skontaktuj się "
"z %1, aby otrzymać kolejne zaproszenie."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr "Adresy URL Twoich plików zostały wysłane e-mailem na adres %1."
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
"Administrator widzi tylko nazwę pliku, jego rozmiar i typ MIME (jaki to plik:"
" wideo, tekst itp.)."
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
"Treść wiadomości musi zawierać co najmniej jeden adres URL wskazujący plik "
"hostowany w tej instancji."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "Dane zostały pomyślnie zaimportowane."
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "Treść e-maila nie może być pusta."
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "Temat e-maila nie może być pusty."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "Opóźnienie wygaśnięcia (%1) nie mieści się w przedziale od 1 do %2 dni."
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "Plik został już usunięty"
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
"Pliki przesyłane na Lufi są szyfrowane przed przesłaniem na serwer: "
"administrator serwera nie może zobaczyć zawartości pliku."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "Następujące adresy e-mail są nieprawidłowe: %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr "Adres e-mail gościa (%1) jest nieprawidłowy."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr ""
"Zaproszenie %1 nie może zostać usunięte: nie zostało utworzone przez Ciebie "
"(%2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
"Zaproszenia %1 nie można wysłać ponownie: %2 wysłał już pliki.<br>Utwórz "
"nowe zaproszenie."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Zaproszenia %1 nie można wysłać ponownie: nie zostało utworzone przez Ciebie "
"(%2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "Zaproszenie %1 zostało usunięte."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr "Wiadomość z zaproszeniem zostanie wysłana z Twojego adresu e-mail (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "Linki zostały skopiowane do schowka"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
"Linki do twoich plików zostaną automatycznie wysłane pocztą na adres %1 (%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
"Linki do Twoich plików zostaną automatycznie wysłane pocztą na adres %1."
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "E-mail został wysłany."
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"Oryginalnym (i tylko na razie) autorem jest <a href=\"https://fiat-tux.fr\" "
"class=\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
"Serwer nie mógł znaleźć rekordu pliku, do którego można dodać część pliku. "
"Prosimy o kontakt z administratorem."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"Ten plik został dezaktywowany przez administratorów. Skontaktuj się z nimi, "
"aby dowiedzieć się dlaczego."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "To zaproszenie jest zwykle ukryte"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr "To zaproszenie jest ważne do %1."
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
"Ten serwer ustawia ograniczenia w zależności od rozmiaru pliku. Opóźnienie "
"wygaśnięcia Twojego pliku będzie stanowić minimum między tym, co wybierzesz, "
"a następującymi ograniczeniami:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr "Przełączanie widoczności"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr "URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "Nie można skopiować linków do schowka"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Nie można pobrać pliku: zbyt wiele nieudanych prób otwarcia połączenia "
"sieciowego. Prosimy o kontakt z administratorem."
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
"Nie można pobrać stanu licznika dla %1. Plik nie istnieje. Zostanie usunięty "
"z twojego localStorage."
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "Nie można pobrać stanu licznika dla %1. Token jest nieprawidłowy."
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "Nie można pobrać stanu licznika dla %1. Nie jesteś uwierzytelniony."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "Prześlij pliki"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr "Prześlij wygenerowany plik ZIP"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr "Przesłane o"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr "Przesłane pliki"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Wersja"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Błąd komunikacji WebSocket"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr "Co to jest Lufi?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "Kto napisał to oprogramowanie?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "Plik XXX został dodany do kolejki przesyłania."
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
"Możesz zaprosić kogoś do przesłania Ci plików przez tę Lufi, nawet jeśli ta "
"osoba nie ma na niej konta."
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
"Możesz zobaczyć listę swoich plików, klikając link „Moje pliki” w prawym "
"górnym rogu tej strony."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Nie możesz dodawać adresów URL, które nie są powiązane z tym Lufi (%1)."
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
"Nie musisz się rejestrować, aby przesyłać pliki, ale pamiętaj, że ze "
"względów prawnych Twój adres IP zostanie zapisany podczas wysyłania pliku. "
"Nie panikuj, zwykle dotyczy to wszystkich witryn, do których wysyłasz pliki."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
"Wygląda na to, że nie masz klucza w adresie URL. Nie będzie można "
"odszyfrować pliku. Pobieranie anulowane."
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
"Próbowałeś opuścić tę stronę. Pobieranie zostanie anulowane. Jesteś pewny?"
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
"Próbowałeś opuścić tę stronę. Przesyłanie zostanie anulowane. Jesteś pewny?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "Wylogowałeś się poprawnie."
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "Musisz podać adresy e-mail."
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
"Twoja przeglądarka nie ma wystarczającej entropii, aby wygenerować silny "
"klucz szyfrujący. Proszę czekać (lepiej będzie jak zajmiesz się innymi "
"rzeczami na komputerze podczas oczekiwania)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr "Twój plik jest za duży: %1 (maksymalny dozwolony rozmiar: %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr "Twoje hasło jest nieprawidłowe. Odśwież stronę, aby spróbować ponownie."
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Zawartość ZIP-a:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "między %1 a %2, plik będzie przechowywany przez %3 dni."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "między %1 a %2, plik będzie przechowywany na zawsze."
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr "termin ostateczny: "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr "wygasa XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "dla %1 i więcej, plik będzie przechowywany przez %2 dni"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "dla %1 i więcej plik będzie przechowywany na zawsze."
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr "bez limitu czasu"
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr "lub"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), który wygaśnie %3"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr "Nie możesz dodawać adresów URL, które nie są powiązane z tym Lufi."

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-03-22 18:29+0000\n"
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
"PO-Revision-Date: 2022-01-03 21:23+0000\n"
"Last-Translator: Jorge Paulo Malveira Pimentel Dos Santos <jpmpds@yahoo.fr>\n"
"Language-Team: Portuguese <https://weblate.framasoft.org/projects/lufi/"
"default-theme/pt/>\n"
"Language: pt\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.11.2\n"
"X-Generator: Weblate 4.10\n"
#. ($delay)
#. (max_delay)
@ -29,30 +29,30 @@ msgstr "%1 dias"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr ""
msgstr "%1 convida você a enviar arquivos para ele"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr ""
msgstr "%1convida você a enviar arquivos para ele via Lufi."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr ""
msgstr "enviou arquivos para você"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr ""
msgstr "%1 usou seu convite para enviar arquivos a você:"
#: lib/Lufi/Controller/Invitation.pm:159 lib/Lufi/Controller/Invitation.pm:84 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr ""
msgstr "%A %d %B %Y à %T"
#: themes/default/templates/partial/index.js.ep:27
msgid "(max size: XXX)"
msgstr ""
msgstr "(tamanho máximo: XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
@ -76,23 +76,27 @@ msgstr "Sobre"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr ""
msgstr "Adicione uma palavra-passe ao (s) arquivo (s)"
#: themes/default/templates/mail.html.ep:16
msgid ""
"Adding URLs not related to this Lufi instance to the mail body or subject is "
"prohibited."
msgstr ""
"Adicionar URLs não relacionados a esta instância Lufi ao corpo ou assunto do "
"e-mail é proibido."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr ""
msgstr "Tem certeza de que deseja excluir os convites selecionados?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid ""
"Are you sure you want to resend the invitation mail for the selected "
"invitations?"
msgstr ""
"Tem certeza de que deseja reenviar o e-mail de convite para os convites "
"selecionados?"
#: themes/default/templates/about.html.ep:17
msgid ""
@ -122,7 +126,7 @@ msgstr "Símbolo errado CSRF !"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr ""
msgstr "Token CSRF inválido."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
@ -130,7 +134,7 @@ msgstr "Clique aqui para atualizar a página e começar o download."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr ""
msgstr "Clique no seguinte URL para enviar arquivos para a Lufi:"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
@ -146,7 +150,7 @@ msgstr "Os e-mails devem ser separados por vírgulas"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr ""
msgstr "A compactar o arquivo zip …"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
@ -177,15 +181,15 @@ msgstr "Contador"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr ""
msgstr "Criar um arquivo zip, antes de enviar os arquivos ?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr ""
msgstr "Criado em"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr ""
msgstr "Remover"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
@ -193,7 +197,7 @@ msgstr "Apagar após o primeiro download?"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr ""
msgstr "Excluir arquivos selecionados"
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
@ -235,11 +239,11 @@ msgstr ""
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr ""
msgstr "Arraste seus arquivos aqui"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr ""
msgstr "Endereço de e-mail do seu convidado"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
@ -275,7 +279,7 @@ msgstr "Expiração:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr ""
msgstr "Expira em"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
@ -295,19 +299,19 @@ msgstr "Nome do ficheiro"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr ""
msgstr "Arquivos"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr ""
msgstr "Arquivos excluídos no primeiro descarregamento (download)"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr ""
msgstr "Arquivos enviados em"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr ""
msgstr "Arquivos enviados via convite XX1 por XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
@ -325,16 +329,16 @@ msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr ""
msgstr "Correio de convidado (Email)"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr ""
msgstr "Olá %1,"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr ""
msgstr "Olá,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
@ -347,7 +351,7 @@ msgstr "Aqui estão alguns ficheiros"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr ""
msgstr "Não mostrar convites ocultos"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy all the download links"
@ -364,11 +368,11 @@ msgstr "Como funciona?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr ""
msgstr "Por quantos dias você deseja que seu convite seja válido?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr ""
msgstr "Como instalar o software no meu servidor?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
@ -400,21 +404,21 @@ msgstr "Informação sobre os prazos"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr ""
msgstr "Seleção invertida"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:171
msgid "Invitation resent to %1.<br> URL: %2"
msgstr ""
msgstr "Convite reenviado para %1.<br> URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:87
msgid "Invitation sent to %1.<br> URL: %2"
msgstr ""
msgstr "Convite enviado para %1.<br> URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr ""
msgstr "Convidar alguém"
#: themes/default/templates/partial/render.js.ep:6
msgid ""
@ -428,7 +432,7 @@ msgstr "Javascript está desativado. Lufi não funcionará."
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr ""
msgstr "Idioma"
#: themes/default/templates/login.html.ep:15
msgid "Login"
@ -451,10 +455,17 @@ msgid ""
"one.\\nDo you want to import those informations?\\n\\nPlease note that this "
"is the only time that we will ask you this."
msgstr ""
"Lufi mudou recentemente a forma como armazena as informações dos arquivos.\\n"
"\\n"
"Nenhum arquivo foi encontrado no novo local. localStorage mas encontramos "
"arquivos no antigo \\n"
"Você deseja importar essas informações?\\n"
"\\n"
"Por favor, observe que esta é a única vez que faremos esta pergunta."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr ""
msgstr "Email"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
@ -462,16 +473,17 @@ msgstr "Meus ficheiros"
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr ""
msgstr "Os meus convites"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid ""
"NB: this list includes the list of files that have already been sent to you."
msgstr ""
"NB: esta lista inclui a lista de arquivos que já foram enviados para você."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr ""
msgstr "Nome do arquivo zip"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:108
@ -516,6 +528,8 @@ msgid ""
"Please, check your credentials or your right to access this service: unable "
"to authenticate."
msgstr ""
"Por favor, verifique as suas credenciais ou o seu direito de acesso a este "
"serviço: não foi possível autenticar."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
@ -527,23 +541,23 @@ msgstr "Apagar do localStorage os ficheiros expirados"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr ""
msgstr "Cumprimentos,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr ""
msgstr "Cumprimentos."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr ""
msgstr "Arquivo de relatório"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr ""
msgstr "Reenviar e-mail de convite"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr ""
msgstr "As linhas em roxo significam que os convites expiraram."
#: themes/default/templates/files.html.ep:9
msgid ""
@ -558,7 +572,7 @@ msgstr "Enviar todos os links por e-mail"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr ""
msgstr "Enviar um convite"
#: themes/default/templates/mail.html.ep:46
msgid "Send with this server"
@ -583,11 +597,11 @@ msgstr "Partilhe os seus ficheiros com toda a privacidade em %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr ""
msgstr "Mostrar convites ocultos"
#: themes/default/templates/partial/render.js.ep:11
msgid "Show zip content"
msgstr ""
msgstr "Mostrar conteúdo do arquivo zip"
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
@ -596,7 +610,7 @@ msgstr "Conexão"
#: lib/Lufi/Controller/Invitation.pm:283 themes/default/templates/invitations/exception.html.ep:16
msgid ""
"Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr ""
msgstr "Desculpe, o convite não existe. Tem certeza de que está no URL correto?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
@ -609,7 +623,7 @@ msgstr "Desculpe, o envio do ficheiro está desativado."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr ""
msgstr "Desculpe, seu convite expirou ou foi excluído."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:122
@ -617,11 +631,13 @@ msgid ""
"Sorry, your invitation has expired or has been deleted. Please contact %1 to "
"have another invitation."
msgstr ""
"Desculpe, seu convite expirou ou foi excluído. Por favor contate %1 para "
"obter outro convite."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:276
msgid "The URLs of your files have been sent by email to %1."
msgstr ""
msgstr "Os URLs dos seus arquivos foram enviados por e-mail para %1."
#: themes/default/templates/about.html.ep:7
msgid ""
@ -636,6 +652,8 @@ msgid ""
"The body of the mail must contain at least one URL pointing to a file hosted "
"on this instance."
msgstr ""
"O corpo do e-mail deve conter pelo menos um URL apontando para um arquivo "
"hospedado nesta instância."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
@ -652,7 +670,7 @@ msgstr "O assunto do e-mail não pode estar vazio."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:51
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr ""
msgstr "O prazo de expiração (%1) não está entre 1 e %2 dias."
#: lib/Lufi/Controller/Files.pm:468
msgid "The file has already been deleted"
@ -674,7 +692,7 @@ msgstr "Os e-mails seguintes não são válidos: %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:48
msgid "The guest email address (%1) is unvalid."
msgstr ""
msgstr "O endereço de e-mail do convidado (%1) é inválido."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:150
@ -682,16 +700,18 @@ msgid ""
"The invitation %1 cant be resent: %2 has already sent files.<br>Please "
"create a new invitation."
msgstr ""
"O convite %1 não pode ser reenviado :%2 já enviou arquivos.<br>Por favor, "
"crie um novo convite."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:130
msgid "The invitation %1 has been deleted."
msgstr ""
msgstr "O convite %1 foi deletado."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr ""
msgstr "O correio de convite será enviado do seu endereço de e-mail (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
@ -702,11 +722,15 @@ msgstr "O(s) link(s) foi/foram copiados para a área de transferência"
msgid ""
"The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr ""
"O(s) link(s) do(s) seu(s) arquivo(s) serão automaticamente enviados por e-"
"mail para %1 (%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr ""
"O(s) link(s) do(s) seu(s) arquivo(s) serão enviado(s) automaticamente por e-"
"mail para %1."
#: lib/Lufi/Controller/Mail.pm:97
msgid "The mail has been sent."
@ -732,15 +756,17 @@ msgstr ""
msgid ""
"This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"O arquivo foi desabilitado pelos administradores(as). Entre em contato com "
"eles(as) para descobrir o porquê."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr ""
msgstr "Este convite normalmente está oculto"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr ""
msgstr "Este convite é válido até %1."
#: themes/default/templates/delays.html.ep:10
msgid ""
@ -754,11 +780,11 @@ msgstr ""
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr ""
msgstr "Alternar visibilidade"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr ""
msgstr "URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
@ -789,7 +815,7 @@ msgstr "Enviar os ficheiros"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr ""
msgstr "Enviar arquivo zip gerado"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
@ -809,17 +835,19 @@ msgstr "O que é o Lufi?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr ""
msgstr "Quem escreveu este software?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr ""
msgstr "O arquivo XXX foi adicionado à fila de envio."
#: themes/default/templates/invitations/invite.html.ep:30
msgid ""
"You can invite someone to send you files through this Lufi instance even if "
"they dont have an account on it."
msgstr ""
"Você pode convidar alguém para enviar arquivos para você por meio desta "
"instância do Lufi, mesmo que essa pessoa não tenha uma conta nele."
#: themes/default/templates/about.html.ep:11
msgid ""
@ -832,6 +860,7 @@ msgstr ""
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
msgstr ""
"Você não pode adicionar URLs que não estejam relacionados a esta instância."
#: themes/default/templates/about.html.ep:8
msgid ""
@ -877,6 +906,9 @@ msgid ""
"key. Please wait (it's better if you do things on your computer while "
"waiting)."
msgstr ""
"Seu navegador não tem entropia suficiente para gerar uma chave de "
"criptografia forte. Aguarde (é melhor fazer algumas coisas no computador "
"enquanto espera)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
@ -886,11 +918,11 @@ msgstr ""
#: lib/Lufi/Controller/Files.pm:351
msgid "Your password is not valid. Please refresh the page to retry."
msgstr ""
msgstr "Sua senha não é válida. Atualize a página para tentar novamente."
#: themes/default/templates/partial/render.js.ep:12
msgid "Zip content:"
msgstr ""
msgstr "Conteúdo do arquivo zip:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:20
@ -908,7 +940,7 @@ msgstr "Data-limite: "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr ""
msgstr "expira em XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
@ -932,7 +964,7 @@ msgstr "ou"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr ""
msgstr "— %1 (%2), que irá expirar em %3"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
@ -949,3 +981,48 @@ msgstr ""
"seu prórpio servidor. Para saber mais clique aqui <a href=\"https://framagit."
"org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> para "
"ver o procedimento."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "O convite %1 não pode ser excluído: não foi você quem o criou (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "O convite %1 não pode ser reenviado: não foi voçê quem o criou (%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Você não pode adicionar URLs que não estejam relacionados a esta instância "
"(%1)."
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Incapaz de baixar o arquivo: muitas tentativas mal sucedidas para abrir um "
"\"websocket\". Entre em contato com o administrador."
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Versão"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr "Último rótulo desta instância: %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "Última confirmação desta instância %1"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Arquivo baixado"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Arquivo enviado"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-11-30 00:52+0000\n"
"Last-Translator: Vadim <vad@syping.de>\n"
"PO-Revision-Date: 2022-07-20 05:50+0000\n"
"Last-Translator: AHOHNMYC <cajico4400@runfons.com>\n"
"Language-Team: Russian <https://weblate.framasoft.org/projects/lufi/"
"default-theme/ru/>\n"
"Language: ru\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.13.1\n"
#. ($delay)
#. (max_delay)
@ -902,3 +902,25 @@ msgstr "или"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), истечёт %3"
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Приглашение %1 не может быть удалено: оно было создано не вами (%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Вы не можете добавлять ссылки, не связанные с этим сервером (%1)."
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Не удаётся загрузить файл: очень много неуспешных попыток открыть websocket. "
"Пожалуйста, свяжитесь с администратором."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Приглашение %1 не может быть переотправлено: оно было создано не вами (%2)."

View File

@ -0,0 +1,927 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2022-05-28 23:55+0000\n"
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
"Language-Team: Slovak <https://weblate.framasoft.org/projects/lufi/"
"default-theme/sk/>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.12\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 dní"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
msgid "%1 invites you to send him/her files"
msgstr "%1 Vás pozýva, aby ste mu/jej poslali súbory"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 Vás pozýva, aby ste mu/jej poslali súbory pomocou Lufi."
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 Vám posiela súbory"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 využil(a) pozvánku a posiela Vám súbory:"
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
msgstr "%A %d %B %Y o %T"
#: themes/default/templates/partial/index.js.ep:28
msgid "(max size: XXX)"
msgstr "(max. veľkosť: XXX)"
#: themes/default/templates/index.html.ep:5
msgid "1 year"
msgstr "1 rok"
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
msgid "24 hours"
msgstr "24 hodín"
#: themes/default/templates/partial/mail.js.ep:40
msgid ":"
msgstr ":"
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "Zrušiť"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
msgstr "O programe"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "Pridať heslo pre súbor(y)"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr ""
"Nie je povolené pridávanie adries URL do tela alebo predmetu e-mailu, ak "
"neodkazujú na túto inštanciu Lufi."
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
msgstr "Naozaj chcete odstrániť vybrané pozvánky?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr "Naozaj chcete opätovné odoslať e-mail s pozvánku pre vybrané pozvánky?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
msgstr ""
"Keďže Lufi je slobodný softvér šírený podľa podmienok <a href=\"https://gnu."
"org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, môžete ho "
"nainštalovať na Váš vlastný server. Navštívte <a href=\"https://framagit.org/"
"fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a>, kde je "
"nájdete postup."
#. (stash('nbslices')
#: themes/default/templates/partial/render.js.ep:10
msgid "Asking for file part XX1 of %1"
msgstr "Žiadam časť súboru XX1 z %1"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "Späť na domovskú stránku"
#: lib/Lufi/Controller/Mail.pm:26
msgid "Bad CSRF token!"
msgstr "Neplatný CSRF token!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "Neplatný CSRF token."
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "Kliknite sem pre obnovenie stránky a opätovné spustenie sťahovania."
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "Kliknite na nasledovnú adresu URL pre nahratie súborov do Lufi:"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "Kliknite pre otvorenie prehliadača súborov"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
msgstr "Zavrieť"
#: themes/default/templates/mail.html.ep:23
msgid "Comma-separated email addresses"
msgstr "Čiarkou oddelený zoznam e-mailových adries"
#: themes/default/templates/index.html.ep:140
msgid "Compressing zip file…"
msgstr "Komprimujem súbor zip…"
#: themes/default/templates/partial/index.js.ep:15
msgid "Copy all links to clipboard"
msgstr "Kopírovať všetky odkazy do schránky"
#: themes/default/templates/partial/index.js.ep:18
msgid "Copy to clipboard"
msgstr "Kopírovať do schránky"
#: lib/Lufi/Controller/Files.pm:501
msgid "Could not delete the file. You are not authenticated."
msgstr "Nepodarilo sa odstrániť súbor. Nie ste prihlásený."
#: lib/Lufi/Controller/Files.pm:483
msgid "Could not find the file. Are you sure of the URL and the token?"
msgstr "Súbor sa nenašiel. Zadali ste správnu adresu URL a token?"
#: lib/Lufi/Controller/Files.pm:394
msgid "Could not find the file. Are you sure of the URL?"
msgstr "Súbor sa nenašiel. Zadali ste správnu adres URL?"
#: themes/default/templates/files.html.ep:29
msgid "Counter"
msgstr "Počítadlo"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "Vytvoriť zip archív so súbormi pred nahratím?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
msgstr "Vytvorené"
#: themes/default/templates/invitations/my_invitations.html.ep:14
msgid "Delete"
msgstr "Odstrániť"
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
msgid "Delete at first download?"
msgstr "Odstrániť po prvom stiahnutí?"
#: themes/default/templates/files.html.ep:19
msgid "Delete selected files"
msgstr "Odstrániť vybrané súbory"
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
msgid "Deletion link"
msgstr "Odkaz na odstránenie"
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr ""
"Nerobte si starosti: ak používateľ začne súbor sťahovať pred vypršaním jeho "
"platnosti a sťahovanie skončí po jej skončení, súbor stále získa."
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
msgstr "Stiahnuť"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "Sťahovanie zrušené."
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
msgstr "Odkaz na stiahnutie"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"Potiahnite do tejto oblasti súbory alebo ich pridajte tradičným spôsobom. "
"Súbory budú následne rozdelené, zašifrované a odoslané na server. Pre každý "
"súbor obdržíte dva odkazy: odkaz na stiahnutie, ktorý odošlete ľuďom, s "
"ktorými chcete zdieľať súbor a odkaz na stiahnutie, ktorý Vám umožní "
"kedykoľvek súbor odstrániť."
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "Potiahnite súbory sem"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
msgstr "E-mailová adresa Vášho hosťa"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "Telo e-mailu"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "Predmet e-mailu"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
msgstr "E-maily"
#: themes/default/templates/partial/index.js.ep:22
msgid "Encrypting part XX1 of XX2"
msgstr "Šifrujem časť XX1 z XX2"
#: lib/Lufi/Controller/Files.pm:283
msgid "Error: the file existed but was deleted."
msgstr "Chyba: súbor existoval, ale bol odstránený."
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "Chyba: súbor nebol odoslaný celý."
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr "Chyba: súbor sa nenašiel. Máte správnu adresu URL?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
msgstr "Platnosť:"
#: themes/default/templates/invitations/my_invitations.html.ep:27
msgid "Expire at"
msgstr "Platnosť končí"
#: themes/default/templates/files.html.ep:32
msgid "Expires at"
msgstr "Platnosť končí"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "Exportovať údaje z localStorage"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
msgstr "Súbol bol odstránený"
#: themes/default/templates/partial/render.js.ep:9
msgid "File downloaded"
msgstr "Súbor bol stiahnutý"
#: themes/default/templates/files.html.ep:27
msgid "File name"
msgstr "Názov súboru"
#: themes/default/templates/partial/index.js.ep:24
msgid "File uploaded"
msgstr "Súbol bol nahratý"
#: themes/default/templates/invitations/my_invitations.html.ep:61
msgid "Files"
msgstr "Súbory"
#: themes/default/templates/index.html.ep:80
msgid "Files deleted at first download"
msgstr "Súbory odstránené po prvom stiahnutí"
#: themes/default/templates/invitations/my_invitations.html.ep:28
msgid "Files sent at"
msgstr "Súbory odoslané"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "Súbory odoslané v pozvánke XX1 od XX2"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "Stiahnuť súbor"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"Získajte zdrojový kód z <a href=\"https://framagit.org/fiat-tux/"
"hat-softwares/lufi\" class=\"classic\">oficiálneho repozitára</a> alebo z "
"jeho <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">kópie na "
"Githube</a>."
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
msgstr "E-mail hosťa"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr "Ahoj %1,"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
msgstr "Ahoj,"
#: themes/default/templates/partial/mail.js.ep:35
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"Ahoj,\\n"
"\\n"
"Tu je zopár súborov, ktoré chcem s Vami zdieľať:\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "Tu je zopár súborov"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
msgstr "Skryť skryté pozvánky"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr ""
"Stlačte Enter a potom použite Ctrl+C na skopírovanie všetkých odkazov na "
"stiahnutie"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr ""
"Stlačte Enter a potom použite Ctrl-C na skopírovanie odkazu na stiahnutie"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
msgstr "Ako to funguje?"
#: themes/default/templates/invitations/invite.html.ep:46
msgid "How many days would you like the invitation to be valid?"
msgstr "Koľko dní má pozvánka platiť?"
#: themes/default/templates/about.html.ep:16
msgid "How to install the software on my server?"
msgstr "Ako si nainštalujem softvér na vlastný server?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "Ako nahlásiť nelegálny súbor?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "Ak vyberiete dobu platnosti, súbor bude po jej uplynutí odstránený."
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr ""
"Ak odošlete e-mail z tohto servera, odkazy obdrží aj server, čo môže znížiť "
"ochranu Vášho súkromia."
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "Importovať údaje z localStorage"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "Dôležité: viac informácií o obmedzení platnosti"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "Informácie o dobe platnosti"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "Obrátiť výber"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:184
msgid "Invitation resent to %1.<br> URL: %2"
msgstr "Pozvánka znova odoslaná %1.<br> Adresa URL: %2"
#. ($invitation->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:88
msgid "Invitation sent to %1.<br> URL: %2"
msgstr "Pozvánka odoslaná %1.<br> Adresa URL: %2"
#: themes/default/templates/invitations/invite.html.ep:27 themes/default/templates/layouts/default.html.ep:36 themes/default/templates/layouts/default.html.ep:69
msgid "Invite a guest"
msgstr "Pozvať hosťa"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr ""
"Zdá sa, že kľúč vo Vašej adrese URL je neplatný. Prosím, skontrolujte adresu "
"URL."
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
msgstr "Javascript je vypnutý. Nebudete môcť použiť Lufi."
#: themes/default/templates/layouts/default.html.ep:44 themes/default/templates/layouts/default.html.ep:46 themes/default/templates/layouts/default.html.ep:77 themes/default/templates/layouts/default.html.ep:79
msgid "Language"
msgstr "Jazyk"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/commit/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:22
msgid "Latest commit of this instance: %1"
msgstr "Posledný commit tejto inštancie: %1"
#. (sprintf('<a href="https://framagit.org/fiat-tux/hat-softwares/lufi/-/releases/%s" class="classic">%s</a>', stash('version')
#: themes/default/templates/about.html.ep:21
msgid "Latest tag of this instance: %1"
msgstr "Posledný tag tejto inštancie: %1"
#: themes/default/templates/login.html.ep:15
msgid "Login"
msgstr "Prihlásiť sa"
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
msgid "Logout"
msgstr "Odhlásiť sa"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufi je slobodný softvér pre poskytovanie súborov."
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Lufi nedávno zmenil spôsob, akým sú ukladané informácie o súboroch.\\n"
"\\n"
"V novom umiestnení localStorage sa nenašli žiadne súbory, ale našli sme "
"súbory v starom umiestnení\\n"
"Chcete importovať tieto informácie?\\n"
"\\\n"
"Berte prosím na zreteľ, že sa Vás na toto už viackrát pýtať nebudeme."
#: themes/default/templates/files.html.ep:34
msgid "Mail"
msgstr "E-mail"
#: themes/default/templates/files.html.ep:3 themes/default/templates/layouts/default.html.ep:34 themes/default/templates/layouts/default.html.ep:67
msgid "My files"
msgstr "Moje súbory"
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:37 themes/default/templates/layouts/default.html.ep:70
msgid "My invitations"
msgstr "Moje pozvánky"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr "Pozn.: tento zoznam zahŕňa súbory, ktoré Vám niekto poslal."
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
msgstr "Názov súboru zip"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr "Na serveri nie je dostatok voľného miesta pre súbor (veľkosť: %1)."
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
msgstr "Žiadne zrdržanie"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr ""
"Tu budú zobrazené iba súbory odoslané týmto prehliadačom. Tento zoznam je "
"uložený v localStorage: ak odstránite údaje localStorage, o tento zoznam "
"prídete."
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
msgstr "Heslo"
#. (config('contact')
#: themes/default/templates/about.html.ep:13
msgid "Please contact the administrator: %1"
msgstr "Kontaktujte, prosím, správcu: %1."
#: themes/default/templates/render.html.ep:33
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
msgstr ""
"Počkajte, prosím, kým získame Váš súbor. Musíme ho najprv stiahnuť a "
"rozšifrovať všetky jeho časti pred tým, ako ho budete môcť uložiť."
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr ""
"Skontrolujte, prosím, Vaše prihlasovacie údaje alebo prístupové oprávnenia k "
"tejto službte: nepodarilo sa prihlásiť."
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
msgstr "Súkromie"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "Odstrániť expirované súbory z localStorage"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "S pozdravom,"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "S pozdravom."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Nahlásiť súbor"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "Znovu odoslať e-mail s pozvánkou"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
msgstr "Fialové riadky označujú pozvánky, ktorým vypršala platnosť."
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr ""
"Červené riadky označujú súbory, ktorým vypršala platnosť a nie sú viac "
"dostupné."
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "Odoslať všetky odkazy e-mailom"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "Odoslať pozvánku"
#: themes/default/templates/mail.html.ep:47
msgid "Send with this server"
msgstr "Odoslať prostredníctvom tohto servera"
#: themes/default/templates/mail.html.ep:49
msgid "Send with your own mail software"
msgstr "Odoslať pomocou Vášho vlastného e-mailového klienta"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr ""
"Odosielam časť XX1 z XX2. Prosím, buďte trpezlivý, kým ukazovateľ priebehu "
"začne ukazovať aktivitu, môže to chvíľku trvať."
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:49
msgid "Share your files in total privacy on %1"
msgstr "Zdieľajte Vaše súbory v úplnom súkromí na %1"
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
msgid "Show hidden invitations"
msgstr "Zobraziť skryté pozvánky"
#: themes/default/templates/partial/render.js.ep:12
msgid "Show zip content"
msgstr "Zobraziť obsah archívu zip"
#: themes/default/templates/layouts/default.html.ep:40 themes/default/templates/layouts/default.html.ep:73 themes/default/templates/login.html.ep:28 themes/default/templates/logout.html.ep:17
msgid "Signin"
msgstr "Prihlásiť sa"
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr "Je mi to ľúto, pozvánka neexistuje. Určite máte správnu adresu URL?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
msgstr ""
"Je mi to ľúto, nahrávanie je momentálne vypnuté. Skúste to, prosím, neskôr."
#: lib/Lufi/Controller/Files.pm:82
msgid "Sorry, uploading is disabled."
msgstr "Je mi to ľúto, nahrávanie je vypnuté."
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "Je mi to ľúto, Vašej pozvánke uplynula platnosť alebo bola odstránená."
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr ""
"Je mi to ľúto, Vašej pozvánke uplynula platnosť alebo bola odstránená. "
"Kontaktujte, prosím, %1 a požiadajte o ďalšiu pozvánku."
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:295
msgid "The URLs of your files have been sent by email to %1."
msgstr "Adresy URL Vašich súborov boli odoslané e-mailom %1."
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
msgstr ""
"Správca môže vidieť iba názov súboru, jeho veľkosť a typ MIME (o aký typ "
"súboru sa jedná: video, text, atď.)."
#: lib/Lufi/Controller/Mail.pm:67
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr ""
"Telo e-mail musí obsahovať aspoň jednu adresu URL, ktorá odkazuje na súbor "
"nachádzajúci sa na tejto inštancii."
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
msgstr "Údaje boli úspešne importované."
#: lib/Lufi/Controller/Mail.pm:87
msgid "The email body can't be empty."
msgstr "Telo e-mailu nesmie byť prázdne."
#: lib/Lufi/Controller/Mail.pm:86
msgid "The email subject can't be empty."
msgstr "Predmet e-mailu nesmie byť prázdny."
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "Obmedzenie platnosti (%1) bolo nastavené medzi 1 a %2 dňami."
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
msgstr "Súbor bol už odstránený"
#: themes/default/templates/about.html.ep:6
msgid "The files uploaded on a Lufi instance are encrypted before the upload to the server: the administrator of the server can not see the file's content."
msgstr ""
"Súbory odoslané do inštancie Lufi sú zašifrované pred ich nahraním na server:"
" administrátor servera nevidí obsah súborov."
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:82
msgid "The following email addresses are not valid: %1"
msgstr "Nasledujúce e-mailové adresy nie sú platné: %1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
msgid "The guest email address (%1) is unvalid."
msgstr "E-mailová adresa hosťa (%1) nie je platná."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Pozvánku %1 nie je možné odstrániť: nevytvorili ste ju Vy (%2)."
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:163
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr ""
"Pozvánku %1 nie je možné znova odoslať: %2 už odoslal(a) "
"súbory.<br>Vytvorte, prosím, novú pozvánku."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "Pozvánku %1 nie je možné znova odoslať: nevytvorili ste ju Vy (%2)."
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:134
msgid "The invitation %1 has been deleted."
msgstr "Pozvánka %1 bola odstránená."
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr "E-mail s pozvánku bude odoslaný z Vašej e-mailovej adresy (%1)."
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
msgstr "Odkaz(y) bol(i) skopírovaný(é) do Vašej schránky"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr "Odkaz(y) na Váš(e) súbor(y) budú automaticky odoslané e-mailom %1 (%2)"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr "Odkaz(y) na Váš(e) súbor(y) budú automaticky odoslané e-mailom %1."
#: lib/Lufi/Controller/Mail.pm:111
msgid "The mail has been sent."
msgstr "E-mail bol odoslaný."
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"Pôvodným a (aktuálne jediným) autorom je <a href=\"https://fiat-tux.fr\" "
"class=\"classic\">Luc Didry</a>."
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr ""
"Server nedokázal nájsť záznam o súbore, ku ktorému má pridať časť súbory. "
"Kontaktujte, prosím, správcu."
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"Tento súbor správcovia vypli. Kontaktujte ich, ak sa chcete dozvedieť dôvod."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "Táto pozvánka je normálne skrytá"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr "Táto pozvánka je platná do %1."
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr ""
"Tento server nastavuje obmedzenia podľa veľkosti súboru. Doba platnosti "
"Vášho súboru bude nastavená na najnižšiu hodnotu medzi hodnotou, ktorú "
"vyberiete a nasledovnými obmedzeniami:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
msgstr "Prepnúť viditeľnosť"
#: themes/default/templates/invitations/my_invitations.html.ep:25
msgid "URL"
msgstr "Adresa URL"
#: themes/default/templates/partial/index.js.ep:17
msgid "Unable to copy the link(s) to your clipboard"
msgstr "Nepodarilo sa skopírovať odkaz(y) do Vašej schránky"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr ""
"Nepodarilo sa stiahnuť súbor: príliš veľa neúspešných pokusov o otvorenie "
"websocketu. Kontaktujte, prosím, správcu."
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr ""
"Nepodarilo sa získať počítadlo pre %1. Súbor neexistuje. Bude odstránený z "
"Vášho localStorage."
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "Nepodarilo sa získať počítadlo pre %1. Token je neplatný."
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "Nepodarilo sa získať počítadlo pre %1. Nie ste prihlásený."
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
msgstr "Nahrať súbory"
#: themes/default/templates/index.html.ep:145
msgid "Upload generated zip file"
msgstr "Nahrať vygenerovaný súbor zip"
#: themes/default/templates/files.html.ep:31
msgid "Uploaded at"
msgstr "Nahrané"
#: themes/default/templates/index.html.ep:153
msgid "Uploaded files"
msgstr "Nahrané súbory"
#: themes/default/templates/about.html.ep:20
msgid "Version"
msgstr "Verzia"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "Chyba websocket komunikácie"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
msgstr "Čo je Lufi?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "Kto napísal tento softvér?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "XXX súbor bol pridaný do poradia nahrávania."
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr ""
"Môžete pozvať niekoho, aby Vám odoslal súbory prostredníctvom tejto "
"inštancie Lufi dokonca aj vtedy, keď na nej nemajú vytvorený účet."
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr ""
"Zoznam Vašich súborov zobrazíte po kliknutí na \"Moje súbory\" v hornej "
"časti tejto stránky."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "Nemôžete pridať adresy URL, ktoré neodkazujú na túto inštanciu (%1)."
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr ""
"Pre nahrávanie súborov sa nemusíte registrovať, ale myslite na to, že zo "
"zákonných dôvodov bude Vaša IP adresa uložená, keď súbor odošlete. Nemusíte "
"sa obávať, toto je bežnou praxou pre všetky portály, ktoré umožňujú "
"odosielanie súborov."
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr ""
"Zdá sa, že Vaša adresa URL neobsahuje kľúč. Nebudete môcť dešifrovať súbor. "
"Sťahovanie bolo zrušené."
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
msgstr ""
"Pokúsili ste sa opustiť túto stránku. Sťahovanie bude zrušené. Naozaj to "
"chcete?"
#: themes/default/templates/partial/index.js.ep:14
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
msgstr ""
"Pokúsili ste sa opustiť túto stránku. Nahrávanie bude zrušené. Naozaj to "
"chcete?"
#: themes/default/templates/logout.html.ep:14
msgid "You have been successfully logged out."
msgstr "Úspešne ste sa odhlásili."
#: lib/Lufi/Controller/Mail.pm:85
msgid "You must give email addresses."
msgstr "Musíte zadať e-mailovú adresu."
#: themes/default/templates/index.html.ep:38
msgid "Your browser does not have enough entropy to generate a strong encryption key. Please wait (it's better if you do things on your computer while waiting)."
msgstr ""
"Váš prehliadač nemá dostatok entropie na vygenerovanie silného šifrovacieho "
"kľúča. Počkajte, prosím (pomôže, ak budete počas čakania pracovať na "
"počítači)."
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:95
msgid "Your file is too big: %1 (maximum size allowed: %2)"
msgstr "Váš súbor je príliš veľký: %1 (maximálna povolená veľkosť: %2)"
#: lib/Lufi/Controller/Files.pm:345
msgid "Your password is not valid. Please refresh the page to retry."
msgstr "Vaše heslo je neplatné. Obnovte stránku a skúste to znovu."
#: themes/default/templates/partial/render.js.ep:14
msgid "Zip content:"
msgstr "Obsah zip súboru:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "medzi %1 a %2, súbor bude na serveri ponechaný %3 deň/dní."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "medzi %1 a %2, súbor bude na serveri ponechaný navždy."
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
msgstr "hraničný termín: "
#: themes/default/templates/partial/invitations.js.ep:5
msgid "expires on XXX"
msgstr "vyprší XXX"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "pre %1 a viac bude súbor ponechaný %2 deň/dní."
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "pre %1 a viac bude súbor ponechaný navždy."
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
msgstr "bez časového obmedzenia"
#: themes/default/templates/index.html.ep:124
msgid "or"
msgstr "alebo"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), ktorý expiruje dňa %3"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr "Nemôžete pridávať adresy URL, ktoré neodkazujú na túto inštanciu."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-12 07:52+0000\n"
"Last-Translator: zilliu <zilliu@disroot.org>\n"
"PO-Revision-Date: 2022-03-01 21:25+0000\n"
"Last-Translator: deluxghost <deluxghost@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://weblate.framasoft.org/projects/"
"lufi/default-theme/zh_Hans/>\n"
"Language: zh_Hans\n"
@ -16,13 +16,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.10.1\n"
#. ($delay)
#. (max_delay)
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
msgid "%1 days"
msgstr "%1 "
msgstr "%1 "
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:2
@ -32,17 +32,17 @@ msgstr "%1 邀请您给他发送文件"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:6
msgid "%1 invites you to send him/her files through Lufi."
msgstr "%1 邀请您过 Lufi 给他发送文件。"
msgstr "%1 邀请您过 Lufi 给他发送文件。"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:4
msgid "%1 sent you files"
msgstr "%1 发送了一个文件给您"
msgstr "%1 向您发送了一个文件"
#. (stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:8
msgid "%1 used your invitation to send you files:"
msgstr "%1 利用您的邀请发送文件给您"
msgstr "%1 通过邀请向您发送了文件"
#: lib/Lufi/Controller/Invitation.pm:160 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:51 themes/default/templates/invitations/my_invitations.html.ep:52 themes/default/templates/invitations/my_invitations.html.ep:53 themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "%A %d %B %Y at %T"
@ -66,7 +66,7 @@ msgstr ""
#: themes/default/templates/render.html.ep:42
msgid "Abort"
msgstr "舍弃"
msgstr "中止"
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
msgid "About"
@ -74,11 +74,11 @@ msgstr "关于"
#: themes/default/templates/index.html.ep:107
msgid "Add a password to file(s)"
msgstr "为文件设密码"
msgstr "为文件设密码"
#: themes/default/templates/mail.html.ep:16
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
msgstr "严禁将与此 Lufi 实例无关的网址加入到邮件内文或主旨中。"
msgstr "严禁将与此 Lufi 实例无关的网址加入到邮件正文或主题中。"
#: themes/default/templates/partial/invitations.js.ep:3
msgid "Are you sure you want to delete the selected invitations?"
@ -86,7 +86,7 @@ msgstr "您确定要删除选中的邀请吗?"
#: themes/default/templates/partial/invitations.js.ep:4
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
msgstr "您确定要为选中的邀请重新寄出邮件吗?"
msgstr "您确定要为选中的邀请重新发送邮件吗?"
#: themes/default/templates/about.html.ep:17
msgid "As Lufi is a free software licensed under of the terms of the <a href=\"https://gnu.org/licenses/agpl.html\" class=\"classic\">AGPLv3</a>, you can install it on you own server. Have a look on the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi/wikis/home\" class=\"classic\">Wiki</a> for the procedure."
@ -106,23 +106,23 @@ msgstr "回到主页"
#: lib/Lufi/Controller/Mail.pm:25
msgid "Bad CSRF token!"
msgstr "损的 CSRF 令牌!"
msgstr "损的 CSRF 令牌!"
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
msgid "Bad CSRF token."
msgstr "损毁的 CSRF 令牌。"
msgstr "错误的 CSRF 令牌。"
#: themes/default/templates/partial/render.js.ep:5
msgid "Click here to refresh the page and restart the download."
msgstr "点一下刷新页面并重新下载。"
msgstr "点击这里刷新页面并重新下载。"
#: themes/default/templates/invitations/invite.mail.ep:8
msgid "Click on the following URL to upload files on Lufi:"
msgstr "点一下下列网址上传文件到 Lufi"
msgstr "点击此链接上传文件到 Lufi"
#: themes/default/templates/index.html.ep:126
msgid "Click to open the file browser"
msgstr "点一下开启文件浏览器"
msgstr "点击打开文件浏览器"
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
msgid "Close"
@ -186,7 +186,7 @@ msgstr "删除链接"
#: themes/default/templates/delays.html.ep:9
msgid "Don't worry: if a user begins to download the file before the expiration and the download ends after the expiration, he will be able to get the file."
msgstr "毋需担心:如果用户在有效期截至前开始下载,而要一直到有效期过后方能下载完成,他仍然能取得该文件。"
msgstr "无需担心:如果用户在失效前开始下载,并在失效后才下载完毕,他仍然能取得该文件。"
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
msgid "Download"
@ -194,7 +194,7 @@ msgstr "下载"
#: themes/default/templates/partial/render.js.ep:4
msgid "Download aborted."
msgstr "已舍弃下载。"
msgstr "下载已中止。"
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
msgid "Download link"
@ -203,12 +203,12 @@ msgstr "下载链接"
#: themes/default/templates/about.html.ep:10
msgid "Drag and drop files in the appropriate area or use the traditional way to send files and the files will be chunked, encrypted and sent to the server. You will get two links per file: a download link, that you give to the people you want to share the file with and a deletion link, allowing you to delete the file whenever you want."
msgstr ""
"透过拖曳或传统方式送出文件,文件会被分块、加密然后发送到服务器。每一个成功送出的文件都会产生一条下载链接和一条删除链接。您可以将下载链接分享给其他人。在浏"
"览器开启下载链接可以下载该文件,而开启删除链接则会删除该文件。"
"拖动文件到指定区域或通过传统方式发送文件,文件会被分块、加密然后发送到服务器。每一个文件都会产生一条下载链接,用于分享给其他人下载文件,和一条删除链接,用"
"于随时删除该文件。"
#: themes/default/templates/index.html.ep:122
msgid "Drop files here"
msgstr "拖文件到这里"
msgstr "拖文件到这里"
#: themes/default/templates/invitations/invite.html.ep:40
msgid "Email address of your guest"
@ -216,11 +216,11 @@ msgstr "邀请对象的电子邮件地址"
#: themes/default/templates/mail.html.ep:39
msgid "Email body"
msgstr "邮件文"
msgstr "邮件文"
#: themes/default/templates/mail.html.ep:31
msgid "Email subject"
msgstr "邮件主"
msgstr "邮件主"
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
msgid "Emails"
@ -236,11 +236,11 @@ msgstr "错误:文件存在但已被删除。"
#: lib/Lufi/Controller/Files.pm:363
msgid "Error: the file has not been sent entirely."
msgstr "错误:文件尚未发送完全。"
msgstr "错误:文件尚未完整发送。"
#: lib/Lufi/Controller/Files.pm:373
msgid "Error: unable to find the file. Are you sure of your URL?"
msgstr "错误:找不到文件。您确定您的网址无误吗?"
msgstr "错误:找不到文件。您确定网址无误吗?"
#: themes/default/templates/partial/index.js.ep:23
msgid "Expiration:"
@ -256,7 +256,7 @@ msgstr "有效期至"
#: themes/default/templates/files.html.ep:12
msgid "Export localStorage data"
msgstr "导出本存储数据"
msgstr "导出本存储数据"
#: lib/Lufi/Controller/Files.pm:465
msgid "File deleted"
@ -288,18 +288,18 @@ msgstr "文件发送自"
#: themes/default/templates/partial/invitations.js.ep:8
msgid "Files sent in invitation XX1 by XX2"
msgstr "文件由 XX2 过 XX1 邀请发送"
msgstr "文件由 XX2 过 XX1 邀请发送"
#: themes/default/templates/partial/render.js.ep:8
msgid "Get the file"
msgstr "取文件"
msgstr "取文件"
#: themes/default/templates/about.html.ep:18
msgid "Get the source code on <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic\">the official repository</a> or on its <a href=\"https://github.com/ldidry/lufi\" class=\"classic\">Github mirror</a>"
msgstr ""
"在 <a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class="
"\"classic\">官方仓库</a> <a href=\"https://github.com/ldidry/lufi\" class="
"\"classic\">Github 镜像</a> 上取得原代码"
"在<a href=\"https://framagit.org/fiat-tux/hat-softwares/lufi\" class=\"classic"
"\">官方仓库</a>或 <a href=\"https://github.com/ldidry/lufi\" class=\"classic\""
">Github 镜像</a>上获取源代码"
#: themes/default/templates/invitations/my_invitations.html.ep:24
msgid "Guest mail"
@ -308,7 +308,7 @@ msgstr "邀请对象邮件"
#. (ucfirst(stash('invitation')
#: themes/default/templates/invitations/notification_files_sent.mail.ep:6
msgid "Hello %1,"
msgstr "您好 %1,"
msgstr "您好 %1"
#: themes/default/templates/invitations/invite.mail.ep:4
msgid "Hello,"
@ -319,11 +319,11 @@ msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
msgstr ""
"您好,\\n"
"\\n"
"这里有一些文件我希望与您分享:\\n"
"我希望与您分享一些文件\\n"
#: themes/default/templates/mail.html.ep:35
msgid "Here's some files"
msgstr "有文件与您分享"
msgstr "与您分享的文件"
#: themes/default/templates/partial/invitations.js.ep:7
msgid "Hide hidden invitations"
@ -331,11 +331,11 @@ msgstr "不显示隐藏的邀请"
#: themes/default/templates/partial/index.js.ep:26
msgid "Hit Enter, then Ctrl+C to copy all the download links"
msgstr "按下回车键,然后按 Ctrl+C 复制所有下载链接"
msgstr "按下回车键,然后按 Ctrl+C 复制所有下载链接"
#: themes/default/templates/partial/index.js.ep:25
msgid "Hit Enter, then Ctrl+C to copy the download link"
msgstr "按下回车键,然后按 Ctrl+C 复制下载链接"
msgstr "按下回车键,然后按 Ctrl+C 复制下载链接"
#: themes/default/templates/about.html.ep:9
msgid "How does it work?"
@ -351,31 +351,31 @@ msgstr "怎样在我的服务器上安装此软件?"
#: themes/default/templates/about.html.ep:12
msgid "How to report an illegal file?"
msgstr "怎样报非法文件?"
msgstr "怎样报非法文件?"
#: themes/default/templates/delays.html.ep:8
msgid "If you choose a delay, the file will be deleted after that delay."
msgstr "如果您选择了一个有效期,则文件会在有效期过后删除。"
msgstr "如果您选择了有效期,则文件会在有效期限后删除。"
#: themes/default/templates/mail.html.ep:15
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
msgstr "如果您从这台服务器寄出邮件,那么所有链接都将会被发送到服务器上,这会减弱您的隐私防护。"
msgstr "如果您从此服务器寄出邮件,那么链接将会被发送到此服务器上,这会减弱您的隐私防护。"
#: themes/default/templates/files.html.ep:14
msgid "Import localStorage data"
msgstr "导入本存储数据"
msgstr "导入本存储数据"
#: themes/default/templates/index.html.ep:53
msgid "Important: more information on delays"
msgstr "重要:更多信息关于有效期"
msgstr "重要:关于有效期的更多信息"
#: themes/default/templates/delays.html.ep:5
msgid "Information about delays"
msgstr "有效期详解"
msgstr "有效期信息"
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
msgid "Invert selection"
msgstr "反向选"
msgstr "反向选"
#. ($i->guest_mail, $url)
#: lib/Lufi/Controller/Invitation.pm:172
@ -393,7 +393,7 @@ msgstr "邀请对象"
#: themes/default/templates/partial/render.js.ep:6
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
msgstr "您网址包含的密钥似乎不正确。请核验您的网址。"
msgstr "您网址包含的密钥似乎不正确。请检查您的网址。"
#: themes/default/templates/index.html.ep:12
msgid "Javascript is disabled. You won't be able to use Lufi."
@ -423,17 +423,17 @@ msgstr "注销"
#: themes/default/templates/about.html.ep:4
msgid "Lufi is a free (as in free speech) file hosting software."
msgstr "Lufi 是一自由的文件托管软件。"
msgstr "Lufi 是一自由的文件托管软件。"
#: themes/default/templates/partial/files.js.ep:12
msgid "Lufi recently changed its way to store files information.\\n\\nNo files have been found in the new localStorage location but we found files in the old one.\\nDo you want to import those informations?\\n\\nPlease note that this is the only time that we will ask you this."
msgstr ""
"Lufi 近变更了保存文件信息的方式。\\n"
"Lufi 近变更了保存文件信息的方式。\\n"
"\\n"
"在新的本存储数据中找不到文件,但在旧的数据中发现文件。\\n"
"在新的本存储数据中找不到文件,但在旧的数据中发现文件。\\n"
"您是否想导入这些信息?\\n"
"\\n"
"请注意这个问题只会问这一次。"
"请注意我们只会问您一次这个问题。"
#: themes/default/templates/files.html.ep:34
msgid "Mail"
@ -449,7 +449,7 @@ msgstr "我的邀请"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:17
msgid "NB: this list includes the list of files that have already been sent to you."
msgstr "注意:这份列表包含了您送出过的文件。"
msgstr "注意:这份列表包含发送给您的文件。"
#: themes/default/templates/index.html.ep:115
msgid "Name of the zip file"
@ -458,7 +458,7 @@ msgstr "Zip 压缩文件的名称"
#. (format_bytes($json->{size})
#: lib/Lufi/Controller/Files.pm:109
msgid "No enough space available on the server for this file (size: %1)."
msgstr "服务器没有足够空间存放此文件(大小:%1。"
msgstr "服务器没有足够空间存放此文件(大小:%1。"
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
msgid "No expiration delay"
@ -466,7 +466,7 @@ msgstr "不设有效期"
#: themes/default/templates/files.html.ep:8
msgid "Only the files sent with this browser will be listed here. This list is stored in localStorage: if you delete your localStorage data, you'll lose this list."
msgstr "只有经这个浏览器送出的文件才会被列在这里。这份列表仅存于本机:若您删除了本机存储数据,此列表亦会随之而去。"
msgstr "只有经当前浏览器发送的文件会被列在这里。这份列表仅存储在本地:若您删除了本地存储数据,就会丢失此列表。"
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
msgid "Password"
@ -483,7 +483,7 @@ msgstr "请耐心等候,在您收到文件之前我们先要下载并解密文
#: lib/Lufi/Controller/Auth.pm:38
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
msgstr "请检查您的验证信息或对于此服务的访问权限:无法验证。"
msgstr "请检查您的凭据或对于此服务的访问权限:无法验证身份。"
#: themes/default/templates/about.html.ep:5
msgid "Privacy"
@ -491,23 +491,23 @@ msgstr "隐私"
#: themes/default/templates/files.html.ep:13
msgid "Purge expired files from localStorage"
msgstr "清除本存储数据中的过期文件"
msgstr "清除本存储数据中的过期文件"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:20
msgid "Regards,"
msgstr "保重"
msgstr "祝好"
#: themes/default/templates/invitations/invite.mail.ep:15
msgid "Regards."
msgstr "保重。"
msgstr "祝好。"
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "报文件"
msgstr "报文件"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"
msgstr "重新寄出邀请邮件"
msgstr "重新发送邀请邮件"
#: themes/default/templates/invitations/my_invitations.html.ep:9
msgid "Rows in purple mean that the invitations have expired."
@ -515,27 +515,27 @@ msgstr "紫色行表示邀请已经过期。"
#: themes/default/templates/files.html.ep:9
msgid "Rows in red mean that the files have expired and are no longer available."
msgstr "红色行表示文件已经过期,无法再取。"
msgstr "红色行表示文件已经过期,无法再取。"
#: themes/default/templates/partial/index.js.ep:27
msgid "Send all links by email"
msgstr "透过电子邮件寄出所有链接"
msgstr "通过电子邮件发送所有链接"
#: themes/default/templates/invitations/invite.html.ep:50
msgid "Send the invitation"
msgstr "寄出邀请"
msgstr "发送邀请"
#: themes/default/templates/mail.html.ep:46
msgid "Send with this server"
msgstr "透过这台服务器寄出"
msgstr "通过此服务器发送"
#: themes/default/templates/mail.html.ep:47
msgid "Send with your own mail software"
msgstr "透过您自己的电邮软件寄出"
msgstr "通过您自己的邮件软件发送"
#: themes/default/templates/partial/index.js.ep:30
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
msgstr "正在发送 XX1 / XX2 部分。请耐心等候,进度条可能需要一点时间才会变化。"
msgstr "正在发送 XX1 / XX2 部分。请耐心等候,进度条可能需要一点时间才会变化。"
#. (url_for('/')
#: themes/default/templates/partial/mail.js.ep:48
@ -556,7 +556,7 @@ msgstr "登录"
#: lib/Lufi/Controller/Invitation.pm:284 themes/default/templates/invitations/exception.html.ep:16
msgid "Sorry, the invitation doesnt exist. Are you sure you are on the right URL?"
msgstr "抱歉,邀请不存在。您确定您的网址无误吗?"
msgstr "抱歉,邀请不存在。您确定网址无误吗?"
#: themes/default/templates/index.html.ep:46
msgid "Sorry, the uploading is currently disabled. Please try again later."
@ -568,17 +568,17 @@ msgstr "抱歉,上传被禁用。"
#: themes/default/templates/invitations/exception.html.ep:7
msgid "Sorry, your invitation has expired or has been deleted."
msgstr "抱歉,您的邀请已过期或被删除。"
msgstr "抱歉,您的邀请已过期或已被删除。"
#. ($invit->ldap_user_mail)
#: lib/Lufi/Controller/Files.pm:123
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
msgstr "抱歉,您的邀请已过期或是已经被删除。请联系 %1 取得另外的邀请。"
msgstr "抱歉,您的邀请已过期或已被删除。请联系 %1 获取新邀请。"
#. ($invitation->ldap_user_mail)
#: lib/Lufi/Controller/Invitation.pm:277
msgid "The URLs of your files have been sent by email to %1."
msgstr "您的文件的网址已经透过邮件寄给 %1。"
msgstr "您的文件网址已通过电子邮件发送给 %1。"
#: themes/default/templates/about.html.ep:7
msgid "The administrator can only see the file's name, its size and its mimetype (what kind of file it is: video, text, etc.)."
@ -586,7 +586,7 @@ msgstr "管理员只能够看到文件的名称、大小以及媒体类型(视
#: lib/Lufi/Controller/Mail.pm:53
msgid "The body of the mail must contain at least one URL pointing to a file hosted on this instance."
msgstr "邮件内文至少要包含一个网址指向托管在这个实例的文件。"
msgstr "邮件正文至少要包含一个网址指向托管在当前实例的文件。"
#: themes/default/templates/partial/files.js.ep:11
msgid "The data has been successfully imported."
@ -594,16 +594,16 @@ msgstr "已成功导入数据。"
#: lib/Lufi/Controller/Mail.pm:73
msgid "The email body can't be empty."
msgstr "邮件文不能为空。"
msgstr "邮件文不能为空。"
#: lib/Lufi/Controller/Mail.pm:72
msgid "The email subject can't be empty."
msgstr "邮件主不能为空。"
msgstr "邮件主不能为空。"
#. ($expire_at, $max_expire_at)
#: lib/Lufi/Controller/Invitation.pm:52
msgid "The expiration delay (%1) is not between 1 and %2 days."
msgstr "有效期 (%1) 不在 1 至 %2 日之间。"
msgstr "有效期%1不在 1 到 %2 天之间。"
#: lib/Lufi/Controller/Files.pm:462
msgid "The file has already been deleted"
@ -616,7 +616,7 @@ msgstr "上传到 Lufi 实例的文件在上传之前会先加密:服务器管
#. (join(', ', @bad)
#: lib/Lufi/Controller/Mail.pm:68
msgid "The following email addresses are not valid: %1"
msgstr "下列电子邮件地址无效:%1"
msgstr "下列电子邮件地址无效:%1"
#. ($guest_mail)
#: lib/Lufi/Controller/Invitation.pm:49
@ -626,17 +626,17 @@ msgstr "邀请对象的电子邮件地址(%1无效。"
#. ($i->token, $i->guest_mail)
#: lib/Lufi/Controller/Invitation.pm:151
msgid "The invitation %1 cant be resent: %2 has already sent files.<br>Please create a new invitation."
msgstr "邀请 %1 无法重寄:%2 已经送出文件。<br>请发一份新邀请。"
msgstr "邀请 %1 无法重新发送:%2 已经发送文件。<br>请创建一份新邀请。"
#. ($i->token)
#: lib/Lufi/Controller/Invitation.pm:131
msgid "The invitation %1 has been deleted."
msgstr "邀请 %1 已被删除。"
msgstr "邀请 %1 已被删除。"
#. (stash('user_mail')
#: themes/default/templates/invitations/invite.html.ep:34
msgid "The invitation mail will be send from your email address (%1)."
msgstr "邀请邮件会从您的电子邮件地址(%1出。"
msgstr "邀请邮件会从您的电子邮件地址(%1出。"
#: themes/default/templates/partial/index.js.ep:16
msgid "The link(s) has been copied to your clipboard"
@ -645,43 +645,43 @@ msgstr "链接已经复制到您的剪贴板"
#. (stash('invitation')
#: themes/default/templates/index.html.ep:30
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
msgstr "您的文件的链接会自动透过邮件寄给 %1%2"
msgstr "您的文件链接会自动通过邮件发送给 %1%2"
#. (stash('ldap_user')
#: themes/default/templates/invitations/invite.mail.ep:11
msgid "The links of your file(s) will automatically be sent by mail to %1."
msgstr "您的文件的链接会自动透过邮件寄给 %1。"
msgstr "您的文件的链接会自动通过邮件发送给 %1。"
#: lib/Lufi/Controller/Mail.pm:97
msgid "The mail has been sent."
msgstr "邮件已寄出。"
msgstr "邮件已发送。"
#: themes/default/templates/about.html.ep:15
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
msgstr ""
"最初的作者(亦是至今唯一)为 <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc "
"最初(亦是至今唯一)的作者为 <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc "
"Didry</a>。"
#: lib/Lufi/Controller/Files.pm:230
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
msgstr "服务器找不到相应的文件录来加入您的文件块。请联系管理员。"
msgstr "服务器找不到相应的文件录来加入您的文件块。请联系管理员。"
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr "这份文件已经被管理员封禁。请联系他们了解详细信息。"
msgstr "此文件已被管理员封禁。请联系他们了解详细信息。"
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
msgstr "这个邀请在平时会被隐藏"
msgstr "此邀请通常会被隐藏"
#. (stash('expires')
#: themes/default/templates/invitations/invite.mail.ep:13
msgid "This invitation is valid until %1."
msgstr "这个邀请会一直有效至 %1。"
msgstr "此邀请会一直有效直到 %1。"
#: themes/default/templates/delays.html.ep:13
msgid "This server sets limitations according to the file size. The expiration delay of your file will be the minimum between what you choose and the following limitations:"
msgstr "这台服务器根据文件大小设置了不同上限。文件的有效期会被设置为您所选取选项与下列上限间两者之最小值:"
msgstr "此服务器根据文件大小设置了上限。文件的有效期会被设置为您所选取选项与该上限间两者的最小值:"
#: themes/default/templates/invitations/my_invitations.html.ep:16
msgid "Toggle visibility"
@ -697,22 +697,22 @@ msgstr "无法复制链接到您的剪贴板"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr "无法下载文件:太多不必要的开启 websocket 尝试。请联系管理员。"
msgstr "无法下载文件:多次尝试开启 websocket 失败。请联系管理员。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:433
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
msgstr "无法取 %1 的下载次数。该文件不存在。其将会从您的本存储数据中移除。"
msgstr "无法取 %1 的下载次数。该文件不存在。其将会从您的本存储数据中移除。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:423
msgid "Unable to get counter for %1. The token is invalid."
msgstr "无法取 %1 的下载次数。令牌无效。"
msgstr "无法取 %1 的下载次数。令牌无效。"
#. ($short)
#: lib/Lufi/Controller/Files.pm:443
msgid "Unable to get counter for %1. You are not authenticated."
msgstr "无法取 %1 的下载次数。您未验证身份。"
msgstr "无法取 %1 的下载次数。您未验证身份。"
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
msgid "Upload files"
@ -736,7 +736,7 @@ msgstr "版本"
#: themes/default/templates/partial/index.js.ep:31
msgid "Websocket communication error"
msgstr "WebSocket 交换错误"
msgstr "Websocket 通信错误"
#: themes/default/templates/about.html.ep:3
msgid "What is Lufi?"
@ -744,31 +744,31 @@ msgstr "Lufi 是什么?"
#: themes/default/templates/about.html.ep:14
msgid "Who wrote this software?"
msgstr "谁写了这个软件?"
msgstr "谁写了这个软件?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "XXX 文件已被加入到了上传队列。"
msgstr "XXX 文件已被加入上传队列。"
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
msgstr "您可以邀请其他人透过这个 Lufi 实例发送文件给您,他们不需要有帐号。"
msgstr "您可以邀请其他人通过此 Lufi 实例给您发送文件,而不需要注册帐号。"
#: themes/default/templates/about.html.ep:11
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
msgstr "您可以点一下「我的文件」选项来查看您的文件列表。"
msgstr "您可以点击「我的文件」选项查看您的文件列表。"
#: lib/Lufi/Controller/Mail.pm:42
msgid "You can't add URLs that are not related to this instance."
msgstr "您无法加入与此实例无关的网址。"
msgstr "您无法添加与当前实例无关的网址。"
#: themes/default/templates/about.html.ep:8
msgid "You don't need to register yourself to upload files but be aware that, for legal reasons, your IP address will be stored when you send a file. Don't panic, this is normally the case for all sites on which you send files."
msgstr "您毋须注册即可上传文件,但需要注意,鉴于法律原因,在您发送文件时您的 IP 地址会被记录。毋需担忧,通常所有容许您发送文件的网站都会这样做。"
msgstr "您无需注册即可上传文件,但需要注意,鉴于法律原因,在发送文件时您的 IP 地址会被记录。不必担忧,通常所有允许您发送文件的网站都会这样做。"
#: themes/default/templates/partial/render.js.ep:11
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
msgstr "您的网址似乎没有包含密钥。您无法解密此文件。下载取消。"
msgstr "您的网址似乎没有包含密钥。您无法解密此文件。下载取消。"
#: themes/default/templates/partial/render.js.ep:7
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
@ -806,12 +806,12 @@ msgstr "Zip 文件内容:"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:24
msgid "between %1 and %2, the file will be kept %3 day(s)."
msgstr "在 %1 至 %2 之间,文件会保留 %3 。"
msgstr "在 %1 至 %2 之间,文件会保留 %3 。"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:26
msgid "between %1 and %2, the file will be kept forever."
msgstr "在 %1 至 %2 之间,文件会一直保留。"
msgstr "在 %1 至 %2 之间,文件会永久保留。"
#: themes/default/templates/partial/mail.js.ep:42
msgid "deadline: "
@ -824,12 +824,12 @@ msgstr "在 XXX 到期"
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:30
msgid "for %1 and more, the file will be kept %2 day(s)"
msgstr "在 %1 及以上,文件会保留 %2 "
msgstr "在 %1 及以上,文件会保留 %2 "
#. (format_bytes($keys[$i])
#: themes/default/templates/delays.html.ep:32
msgid "for %1 and more, the file will be kept forever."
msgstr "在 %1 及以上,文件会一直保留。"
msgstr "在 %1 及以上,文件会永久保留。"
#: themes/default/templates/index.html.ep:3
msgid "no time limit"
@ -842,4 +842,19 @@ msgstr "或"
#. ($e->{name}, format_bytes($e->{size})
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), 会在 %3 到期"
msgstr "— %1%2会在 %3 到期"
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "邀请 %1 无法被删除:它并非由您(%2创建。"
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr "邀请 %1 无法重新发送:它并非由您(%2创建。"
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "您无法添加与当前实例无关的网址(%1。"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2020-12-06 15:52+0000\n"
"Last-Translator: zilliu <zilliu@disroot.org>\n"
"PO-Revision-Date: 2022-12-26 01:38+0000\n"
"Last-Translator: 李奕寯 <eugenelego88@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://weblate.framasoft.org/projects/"
"lufi/default-theme/zh_Hant/>\n"
"Language: zh_Hant\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.1\n"
"X-Generator: Weblate 4.14.1\n"
#. ($delay)
#. (max_delay)
@ -102,7 +102,7 @@ msgstr "正在請求檔案第 XX1 / %1 部分"
#: themes/default/templates/about.html.ep:23
msgid "Back to homepage"
msgstr "回到頁"
msgstr "回到頁"
#: lib/Lufi/Controller/Mail.pm:25
msgid "Bad CSRF token!"
@ -744,7 +744,7 @@ msgstr "誰寫了這個軟件?"
#: themes/default/templates/partial/index.js.ep:13
msgid "XXX file has been added to upload queue."
msgstr "XXX 檔案已經被加入到了上傳佇列。"
msgstr "檔案 XXX 已經被加入上傳佇列。"
#: themes/default/templates/invitations/invite.html.ep:30
msgid "You can invite someone to send you files through this Lufi instance even if they dont have an account on it."
@ -843,3 +843,8 @@ msgstr "— %1 (%2), 會在 %3 到期"
#: themes/default/templates/partial/render.js.ep:13
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
msgstr "無法下載檔案:太多不必要的開啓 websocket 嘗試。請聯絡管理員。"
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr "您無法加入與此實例 (%1) 無關的網址。"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -17,6 +17,16 @@ function escapeHtml(string) {
function changeLang() {
window.location = langUrl+$(this).val();
}
function formatDate(unixTimestamp) {
return new Date(unixTimestamp * 1000).toLocaleString(window.navigator.language, {
year: 'numeric',
month: 'long',
day: 'numeric',
weekday: 'long',
hour: '2-digit',
minute: '2-digit',
})
}
$(document).ready(function(){
$('select').material_select();
$(".select-lang select").on('change', changeLang);

View File

@ -11,13 +11,13 @@ function pageKey() {
// We will strip any additional data.
// First, strip everything after the equal sign (=) which signals end of base64 string.
i = key.indexOf('='); if (i>-1) { key = key.substring(0,i+1); }
i = key.indexOf('='); if (i>-1) { key = key.substring(0, i + 1); }
// If the equal sign was not present, some parameters may remain:
i = key.indexOf('&'); if (i>-1) { key = key.substring(0,i); }
i = key.indexOf('&'); if (i>-1) { key = key.substring(0, i); }
// Then add trailing equal sign if it's missing
if (key.charAt(key.length-1)!=='=') key+='=';
if (key.charAt(key.length-1)!=='=') key += '=';
return key;
}
@ -38,11 +38,11 @@ function addAlert(msg) {
var pbd = $('.file-progress');
pbd.attr('role', 'alert');
pbd.removeClass('progress');
pbd.html(['<div class="card pink">',
'<div class="card-content white-text">',
'<strong>', msg, '</strong>',
'</div>',
'</div>'].join(''));
pbd.html(`<div class="card pink">
<div class="card-content white-text">
<strong>${msg}</strong>
</div>
</div>`);
}
// Spawn WebSocket
@ -55,9 +55,10 @@ function spawnWebsocket(pa) {
var l = $('#loading');
l.html(i18n.loading.replace(/XX1/, (pa + 1)));
if ($('#file_pwd').length === 1) {
window.ws.send('{"part":'+pa+', "file_pwd": "'+$('#file_pwd').val()+'"}');
val = $('#file_pwd').val();
window.ws.send(`{"part":${pa}, "file_pwd": "${val}"}`);
} else {
window.ws.send('{"part":'+pa+'}');
window.ws.send(`{"part":${pa}}`);
}
};
ws.onclose = function() {
@ -65,7 +66,7 @@ function spawnWebsocket(pa) {
if (!window.completed) {
window.attempts++;
if (window.attempts < 10) {
console.log('Connection closed. Retrying to get slice '+pa);
console.log(`Connection closed. Retrying to get slice ${pa}`);
window.ws = spawnWebsocket(pa);
} else {
alert(i18n.tooMuchAttempts);
@ -89,16 +90,16 @@ function spawnWebsocket(pa) {
window.onbeforeunload = null;
window.attempts = 10;
} else {
console.log('Getting slice '+(data.part + 1)+' of '+data.total);
console.log(`Getting slice ${data.part + 1} of ${data.total}`);
var slice = JSON.parse(res.shift());
var percent = Math.round(1000 * (data.part + 1)/data.total)/10;
var wClass = percent.toString().replace('.', '-');
var pb = $('#pb');
pb.removeClass();
pb.addClass('determinate');
pb.addClass('width-'+wClass);
pb.addClass(`width-${wClass}`);
pb.attr('aria-valuenow', percent);
$('#pbt').html(percent+'%');
$('#pbt').html(`${percent}%`);
try {
var b64 = sjcl.decrypt(window.key, slice);
window.a[data.part] = base64ToArrayBuffer(b64);
@ -118,43 +119,44 @@ function spawnWebsocket(pa) {
} else {
var blobURL = URL.createObjectURL(blob);
}
var innerHTML = ['<p><a href="', blobURL, '" class="btn btn-primary" download="', escapeHtml(data.name), '">', i18n.download, '</a></p>'];
var innerHTML = `<p><a href="${blobURL}" class="btn btn-primary" download="${escapeHtml(data.name)}">${i18n.download}</a></p>`;
var isZip = ($('#filesize').attr('data-zipped') === 'true');
if (data.type.match(/^image\//) !== null) {
innerHTML.push('<img id="render-image" class="responsive-img" alt="', escapeHtml(data.name), '" src="', blobURL, '">');
innerHTML += `<img id="render-image" class="responsive-img" alt="${escapeHtml(data.name)}" src="${blobURL}">`;
} else if (data.type.match(/^video\//) !== null) {
innerHTML.push('<video class="responsive-video" controls>',
'<source src="', blobURL, '" type="', data.type, '">',
'</video>');
innerHTML += `<video class="responsive-video" controls>
<source src="${blobURL}" type="${data.type}">
</video>`;
} else if (data.type.match(/^audio\//) !== null) {
innerHTML.push('<audio class="responsive-video" controls>',
'<source src="', blobURL, '" type="', data.type, '">',
'</audio>');
innerHTML += `<audio class="responsive-video" controls>
<source src="${blobURL}" type="${data.type}">
</audio>`;
} else if (isZip) {
innerHTML.push('<p><a class="btn btn-primary" id="showZipContent">', i18n.showZipContent, '</a></p>');
innerHTML += `<p><a class="btn btn-primary" id="showZipContent">${i18n.showZipContent}</a></p>`;
}
pbd.html(innerHTML.join(''));
pbd.html(innerHTML);
if (isZip) {
$('#showZipContent').click(function() {
JSZip.loadAsync(blob)
.then(function (zip) {
var innerHTML = ['<h3>', i18n.zipContent, '</h3><ul>'];
var innerHTML = `<h3>${i18n.zipContent}</h3><ul>`;
zip.forEach(function (relativePath, zipEntry) {
innerHTML.push(
'<li>',
zipEntry.name,
' (', filesize(zipEntry._data.uncompressedSize, {base: 10}), ') ',
'<a href="#" download="', zipEntry.name, '" class="download-zip-content" title="', i18n.download, '">',
'<i class="mdi-file-file-download"></i>',
'</a>',
'</li>'
);
innerHTML += `<li>
${escapeHtml(zipEntry.name)}
(${filesize(zipEntry._data.uncompressedSize, {base: 10})})
<a href="#"
download="${escapeHtml(zipEntry.name)}"
class="download-zip-content"
title="${i18n.download}">
<i class="mdi-file-file-download"></i>
</a>
</li>`
});
innerHTML.push('</ul>');
pbd.append(innerHTML.join(''));
innerHTML += '</ul>';
pbd.append(innerHTML);
$('.download-zip-content').click(function(e) {
e.preventDefault();
var t = $(this);
@ -171,7 +173,8 @@ function spawnWebsocket(pa) {
});
}
if ($('#file_pwd').length === 1) {
window.ws.send('{"ended":true, "file_pwd": "'+$('#file_pwd').val()+'"}');
val = $('#file_pwd').val();
window.ws.send(`{"ended":true, "file_pwd": "${val}"}`);
} else {
window.ws.send('{"ended":true}');
}
@ -187,18 +190,19 @@ function spawnWebsocket(pa) {
window.ws.onclose = function() {
console.log('Connection is closed');
if (!window.completed) {
console.log('Connection closed. Retrying to get slice '+(data.part + 1));
console.log(`Connection closed. Retrying to get slice ${data.part + 1}`);
window.ws = spawnWebsocket(data.part + 1);
}
}
window.ws.onerror = function() {
console.log('Error. Retrying to get slice '+(data.part + 1));
console.log(`Error. Retrying to get slice ${data.part + 1}`);
window.ws = spawnWebsocket(data.part + 1);
};
if ($('#file_pwd').length === 1) {
window.ws.send('{"part":'+(data.part + 1)+', "file_pwd": "'+$('#file_pwd').val()+'"}');
val = $('#file_pwd').val();
window.ws.send(`{"part":${data.part + 1}, "file_pwd": "${val}"}`);
} else {
window.ws.send('{"part":'+(data.part + 1)+'}');
window.ws.send(`{"part":${data.part + 1}}`);
}
}
}
@ -215,7 +219,7 @@ function spawnWebsocket(pa) {
ws.onerror = function() {
window.attempts++;
if (window.attempts < 10) {
console.log('Error. Retrying to get slice '+pa);
console.log(`Error. Retrying to get slice ${pa}`);
window.ws = spawnWebsocket(pa);
} else {
alert(i18n.tooMuchAttempts);
@ -229,7 +233,13 @@ $(document).ready(function(){
window.ws.onclose = function() {};
window.ws.close();
$('#please-wait, #loading, #pbd, #abort').remove();
$('#filesize').parent().append('<h4>'+i18n.aborted1+'</h4><a id="reloadLocation" class="waves-effect waves-light btn">'+i18n.aborted2+'</a></p>');
$('#filesize').parent().append(`<h4>${i18n.aborted1}</h4>
<p>
<a id="reloadLocation"
class="waves-effect waves-light btn">
${i18n.aborted2}
</a>
</p>`);
window.onbeforeunload = null;
$('#reloadLocation').on('click', function(e) {
e.preventDefault();

View File

@ -1,18 +1,18 @@
// vim:set sw=4 ts=4 sts=4 ft=javascript expandtab:
// Add item to localStorage
function addItem(item) {
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
files = new Array();
} else {
files = JSON.parse(files);
}
files.push(item);
localStorage.setItem(window.prefix + 'files', JSON.stringify(files));
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
}
function delItem(name) {
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
files = new Array();
} else {
@ -24,11 +24,11 @@ function delItem(name) {
files.splice(i, 1);
}
}
localStorage.setItem(window.prefix + 'files', JSON.stringify(files));
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
}
function itemExists(name) {
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
return false;
} else {
@ -59,7 +59,7 @@ function invertSelection(event) {
function purgeExpired(event) {
event.preventDefault();
var files = JSON.parse(localStorage.getItem(window.prefix + 'files'));
var files = JSON.parse(localStorage.getItem(`${window.prefix}files`));
files.forEach(function(element, index, array) {
$.ajax({
@ -73,7 +73,7 @@ function purgeExpired(event) {
success: function(data, textStatus, jqXHR) {
if (data.success) {
if (data.deleted) {
$('#count-'+data.short).parent().remove();
$(`#count-${data.short}`).parent().remove();
delItem(data.short);
}
}
@ -84,11 +84,11 @@ function purgeExpired(event) {
function exportStorage(event) {
event.preventDefault();
var a = $('<a id="data-json">');
var a = $('<a id="data-json">');
a.hide();
$('body').append(a);
var storageData = [localStorage.getItem(window.prefix + 'files')];
var storageData = [localStorage.getItem(`${window.prefix}files`)];
var exportFile = new Blob(storageData, {type : 'application/json'});
var url = window.URL.createObjectURL(exportFile);
@ -142,11 +142,11 @@ function delFile() {
url: dlink,
method: 'GET',
data: {
format: 'json'
_format: 'json'
},
success: function(data) {
if (data.success) {
$('#row-'+short).remove();
$(`#row-${short}`).remove();
delItem(short);
} else {
alert(data.msg);
@ -178,15 +178,15 @@ function massDelete(event) {
function populateFilesTable() {
$('#myfiles').empty();
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
var filesWithoutPrefix = localStorage.getItem('files');
if (filesWithoutPrefix !== null) {
if (window.confirm(i18n.importFilesWithoutPrefix)) {
localStorage.setItem(window.prefix + 'files', filesWithoutPrefix);
localStorage.setItem(`${window.prefix}files`, filesWithoutPrefix);
files = JSON.parse(filesWithoutPrefix);
} else {
localStorage.setItem(window.prefix + 'files', JSON.stringify([]));
localStorage.setItem(`${window.prefix}files`, JSON.stringify([]));
files = new Array();
}
} else {
@ -206,45 +206,59 @@ function populateFilesTable() {
});
files.forEach(function(element, index, array) {
var del_view = (element.del_at_first_view) ? '<i class="small mdi-action-done"></i>' : '<i class="small mdi-navigation-close"></i>';
var dlink = actionURL+'d/'+element.short+'/'+element.token;
var limit = (element.delay === 0) ? i18n.noExpiration : moment.unix(element.delay * 86400 + element.created_at).locale(window.navigator.language).format('LLLL');
var created_at = moment.unix(element.created_at).locale(window.navigator.language).format('LLLL');
var dlink = `${actionURL}d/${element.short}/${element.token}`;
var limit = (element.delay === 0) ? i18n.noExpiration : formatDate(element.delay * 86400 + element.created_at);
var created_at = formatDate(element.created_at);
var tr = $('<tr id="row-'+element.short+'">');
tr.html([ '<td class="center-align">',
'<input type="checkbox" id="check-', element.short,'" data-short="', element.short, '" data-dlink="', dlink, '" data-checked="">',
'<label for="check-', element.short,'"></label>',
'</td>',
'<td class="left-align">',
escapeHtml(element.name),
'</td>',
'<td class="center-align">',
'<a href="', element.url, '" class="classic"><i class="small mdi-file-file-download"></i></a>',
'</td>',
'<td id="count-', element.short, '" class="center-align">',
'</td>',
'<td class="center-align">',
del_view,
'</td>',
'<td>',
created_at,
'</td>',
'<td>',
limit,
'</td>',
'<td class="center-align">',
'<a id="del-', element.short, '" data-short="', element.short, '" data-dlink="', dlink, '" href="#" class="classic"><i class="small mdi-action-delete"></i></a>',
'</td>',
'<td class="center-align">',
'<a href="'+actionURL+'m?links=[&quot;'+element.short+'&quot;]" class="classic"><i class="small mdi-communication-email"></i></a>',
'</td>'].join(''));
var tr = $(`<tr id="row-${element.short}">`);
tr.html(`<td class="center-align">
<input type="checkbox"
id="check-${element.short}"
data-short="${element.short}"
data-dlink="${dlink}"
data-checked="">
<label for="check-${element.short}"></label>
</td>
<td class="left-align">
${escapeHtml(element.name)}
</td>
<td class="center-align">
<a href="${element.url}"
class="classic">
<i class="small mdi-file-file-download"></i>
</a>
</td>
<td id="count-${element.short}" class="center-align">
</td>
<td class="center-align">
${del_view}
</td>
<td>
${created_at}
</td>
<td>
${limit}
</td>
<td class="center-align">
<a id="del-${element.short}"
data-short="${element.short}"
data-dlink="${dlink}"
href="#"
class="classic">
<i class="small mdi-action-delete"></i>
</a>
</td>
<td class="center-align">
<a href="${actionURL}m?links=[&quot;${element.short}&quot;]"
class="classic"><i class="small mdi-communication-email"></i></a>
</td>`);
$('#myfiles').append(tr);
$('#del-'+element.short).on('click', delFile);
$('label[for="check-'+element.short+'"]').on('click', function(){
if ($('#check-'+element.short).attr('data-checked') && $('#check-'+element.short).attr('data-checked') === 'data-checked') {
$('#check-'+element.short).attr('data-checked', null);
$(`#del-${element.short}`).on('click', delFile);
$(`label[for="check-${element.short}"]`).on('click', function(){
if ($(`#check-${element.short}`).attr('data-checked') && $(`#check-${element.short}`).attr('data-checked') === 'data-checked') {
$(`#check-${element.short}`).attr('data-checked', null);
} else {
$('#check-'+element.short).attr('data-checked', 'data-checked');
$(`#check-${element.short}`).attr('data-checked', 'data-checked');
}
evaluateMassDelete();
});
@ -259,13 +273,13 @@ function populateFilesTable() {
},
success: function(data, textStatus, jqXHR) {
if (data.success) {
$('#count-'+data.short).html(data.counter);
$(`#count-${data.short}`).html(data.counter);
if (data.deleted) {
$('#count-'+data.short).parent().addClass('purple lighten-4');
$(`#count-${data.short}`).parent().addClass('purple lighten-4');
}
} else {
alert(data.msg);
$('#count-'+data.short).parent().remove();
$(`#count-${data.short}`).parent().remove();
if (data.missing) {
delItem(data.short);
}

View File

@ -42,11 +42,19 @@ function deleteInvit(e) {
if (data.success) {
data.tokens.forEach(function(t) {
Materialize.toast(t.msg, 6000, 'teal accent-3');
$('#row-' + t.token).remove();
$(`#row-${t.token}`).remove();
});
data.failures.forEach(function(msg) {
Materialize.toast(msg, 10000, 'red accent-2');
});
disableButtons();
} else {
Materialize.toast(data.msg, 10000, 'red accent-2');
data.failures.forEach(function(msg) {
Materialize.toast(msg, 10000, 'red accent-2');
});
if (data.msg) {
Materialize.toast(data.msg, 10000, 'red accent-2');
}
}
}
});
@ -66,8 +74,8 @@ function resendMail(e) {
success: function(data, textStatus, jqXHR) {
data.success.forEach(function(s) {
Materialize.toast(s.msg, 6000, 'teal accent-3');
$('#expire-' + s.token).text(s.expires)
$('#' + s.token).click();
$(`#expire-${s.token}`).text(s.expires)
$(`#${s.token}`).click();
});
data.failures.forEach(function(msg) {
Materialize.toast(msg, 10000, 'red accent-2');
@ -89,19 +97,19 @@ function toggleVisibility(e) {
success: function(data, textStatus, jqXHR) {
if (data.success) {
data.tokens.forEach(function(t) {
var row = $('#row-' + t.token)
var row = $(`#row-${t.token}`)
if (t.show) {
row.attr('data-visibility', 1);
row.removeClass('hide');
$('#row-' + t.token + ' > td:first i').remove();
$(`#row-${t.token} > td:first i`).remove();
} else {
row.attr('data-visibility', 0);
if ($('#myInvitations').attr('data-visibility') === 'hidden') {
row.addClass('hide');
}
$('#row-' + t.token + ' > td:first').append(i18n.hiddenMark);
$(`#row-${t.token} > td:first`).append(i18n.hiddenMark);
}
$('#' + t.token).click();
$(`#${t.token}`).click();
});
disableButtons();
} else {
@ -161,25 +169,15 @@ function fillModal() {
);
var files = JSON.parse(el.attr('data-files'));
var content = [];
var content = '';
for (i = 0; i < files.length; i++) {
var f = files[i];
var expires = i18n.expiration.replace('XXX',
moment.unix(f.delay * 86400 + f.created_at).locale(window.navigator.language).format('LLLL')
);
content.push(
'<li>— ',
'<a href="', f.url, '">',
f.name,
'</a> (',
filesize(f.size),
', ',
expires,
')',
'</li>',
);
var expires = i18n.expiration.replace('XXX', formatDate(f.delay * 86400 + f.created_at));
content += `<li>— <a href="${f.url}">${f.name}</a>
(${filesize(f.size)}, ${expires})
</li>`;
}
$('#files-ul').html(content.join(''));
$('#files-ul').html(content);
}
$(document).ready(function(){

View File

@ -1,6 +1,6 @@
function notify(title, body) {
if (!'Notification' in window || typeof(Notification) === 'undefined') {
console.log("This browser does not support desktop notification, cannot send following message: "+title+" "+body);
console.log(`This browser does not support desktop notification, cannot send following message: ${title} ${body}`);
return;
}

View File

@ -68,14 +68,14 @@ function copyAllToClipboard(event) {
// Add item to localStorage
function addItem(name, url, size, del_at_first_view, created_at, delay, short, token) {
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
files = new Array();
} else {
files = JSON.parse(files);
}
files.push({ name: name, short: short, url: url, size: size, del_at_first_view: del_at_first_view, created_at: created_at, delay: delay, token: token });
localStorage.setItem(window.prefix + 'files', JSON.stringify(files));
localStorage.setItem(`${window.prefix}files`, JSON.stringify(files));
}
// Remove a file block
@ -102,7 +102,7 @@ function firstViewClicking() {
}
// When clicking on zip checkbox
function zipClicking () {
function zipClicking() {
if ($('#zip-files').attr('data-checked') && $('#zip-files').attr('data-checked') === 'data-checked') {
window.zipSize = 0;
window.zip = null;
@ -192,7 +192,7 @@ function updateMailLink() {
for (i = 0; i < a.length; i++) {
l.push(a[i].id);
}
var u = actionURL+'m?links='+JSON.stringify(l);
var u = `${actionURL}m?links=${JSON.stringify(l)}`;
$('#mailto').attr('href', u);
}
@ -240,18 +240,16 @@ function handleFiles(f) {
var counter = 0;
while (typeof(window.zip.files[filename]) !== 'undefined') {
counter += 1;
filename = origname.substring(0, origname.lastIndexOf('.')) + '_(' + counter + ')' + origname.substring(origname.lastIndexOf('.'));
filename = `${origname.substring(0, origname.lastIndexOf('.'))}_(${counter})${origname.substring(origname.lastIndexOf('.'))}`;
}
window.zip.file(filename, element);
window.zipSize += element.size;
$('#zip-size').text(filesize(window.zipSize));
$('#zip-parts').append([
'<li>',
'— ', filename, ' (', filesize(element.size), ')',
'</li>'
].join(''));
$('#zip-parts').append(`<li>
${escapeHtml(filename)} (${filesize(element.size)})
</li>`);
}
} else {
if (window.fileList === undefined || window.fileList === null) {
@ -295,23 +293,32 @@ function uploadFile(i, delay, del_at_first_view) {
var r = $('#ul-results');
var w = $('<li>');
w.addClass('list-group-item');
w.html(['<div class="card">',
'<div>',
'<a href="#" id="destroy-', window.fc, '">',
'<i class="right mdi-navigation-close small"></i>',
'</a>',
'<div class="card-content">',
'<span class="card-title" id="name-', window.fc, '">', name, '</span> <span id="size-', window.fc ,'">(', size,')</span>',
'<p id="parts-', window.fc, '"></p>',
'</div>',
'<div class="progress">',
'<div id="progress-', window.fc, '" data-key="', randomkey, '" data-name="', name, '" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" role="progressbar" class="determinate width-0">',
'<span class="sr-only">', name, '0%</span>',
'</div>',
'</div>',
'<div>'].join(''));
w.html(`<div class="card">
<div>
<a href="#" id="destroy-${window.fc}">
<i class="right mdi-navigation-close small"></i>
</a>
<div class="card-content">
<span class="card-title"
id="name-${window.fc}">${name}</span>
<span id="size-${window.fc }">(${size})</span>
<p id="parts-${window.fc}"></p>
</div>
<div class="progress">
<div id="progress-${window.fc}"
data-key="${randomkey}"
data-name="${name}"
aria-valuemax="100"
aria-valuemin="0"
aria-valuenow="0"
role="progressbar"
class="determinate width-0">
<span class="sr-only">${name}0%</span>
</div>
</div>
<div>`);
r.prepend(w);
$('#destroy-'+window.fc).on('click', function(event) {
$(`#destroy-${window.fc}`).on('click', function(event) {
event.preventDefault();
window.cancelled.push(i);
destroyBlock(this);
@ -350,7 +357,7 @@ function sliceAndUpload(randomkey, i, parts, j, delay, del_at_first_view, short,
var slice = file.slice(j * window.sliceLength, (j + 1) * window.sliceLength, file.type);
var fr = new FileReader();
fr.onloadend = function() {
var sl = $('#parts-'+window.fc);
var sl = $(`#parts-${window.fc}`);
// Get the binary result, different result in IE browsers (see default.html.ep line 27:48)
if (isIE == true){
@ -387,12 +394,12 @@ function sliceAndUpload(randomkey, i, parts, j, delay, del_at_first_view, short,
data['file_pwd'] = $('#file_pwd').val();
}
}
data = JSON.stringify(data)+'XXMOJOXX'+JSON.stringify(encrypted);;
data = `${JSON.stringify(data)}XXMOJOXX${JSON.stringify(encrypted)}`;
var percent = Math.round(1000 * j/parts)/10;
console.log('sending slice '+(j + 1)+'/'+parts+' of file '+file.name+' ('+percent+'%)');
console.log(`sending slice ${j + 1}/${parts} of file ${file.name} (${percent}%)`);
sl.html(percent.toFixed(1)+'%');
sl.html(`${percent.toFixed(1)}%`);
// Verify that we have a websocket and send json
if (window.ws.readyState === 3) {
@ -403,14 +410,14 @@ function sliceAndUpload(randomkey, i, parts, j, delay, del_at_first_view, short,
window.ws.onclose = function() {
console.log('Websocket closed, waiting 10sec.');
window.ws = spawnWebsocket(0, function() {
console.log('sending again slice '+(j + 1)+'/'+parts+' of file '+file.name);
console.log(`sending again slice ${j + 1}/${parts} of file ${file.name}`);
window.ws.send(data);
});
};
window.ws.onerror = function() {
console.log('Error on Websocket, waiting 10sec.');
window.ws = spawnWebsocket(0, function() {
console.log('sending again slice '+(j + 1)+'/'+parts+' of file '+file.name);
console.log(`sending again slice ${j + 1}/${parts} of file ${file.name}`);
window.ws.send(data);
});
};
@ -427,7 +434,7 @@ function updateProgressBar(data) {
if (data.success) {
console.log('Upload successfully cancelled');
} else {
console.log('Upload cancellation failed: ' + data.msg);
console.log(`Upload cancellation failed: ${data.msg}`);
}
// Remove the cancelled index
@ -463,9 +470,9 @@ function updateProgressBar(data) {
var short = data.short;
var created_at = data.created_at;
console.log('getting response for slice '+(j + 1)+'/'+parts+' of file '+data.name+' ('+data.duration+' sec)');
console.log(`getting response for slice ${j + 1}/${parts} of file ${data.name} (${data.duration} sec)`);
var dp = $('#progress-'+window.fc);
var dp = $(`#progress-${window.fc}`);
var key = dp.attr('data-key');
if (j + 1 === parts) {
@ -474,44 +481,44 @@ function updateProgressBar(data) {
console.log('Connection is closed.');
};
window.ws.onerror = function() {
console.log('Error on WebSocket connection but file has been fully send, so we don\'t care.');
console.log('Error on WebSocket connection but file has been fully send, so we dont care.');
}
notify(i18n.fileUploaded, data.name);
$('#parts-'+window.fc).remove();
var n = $('#name-'+window.fc);
var s = $('#size-'+window.fc);
$(`#parts-${window.fc}`).remove();
var n = $(`#name-${window.fc}`);
var s = $(`#size-${window.fc}`);
var d = $('<div>');
var url = baseURL+'r/'+short+'#'+key;
var del_url = actionURL+'d/'+short+'/'+data.token;
var links = encodeURIComponent('["'+short+'"]');
var limit = (delay === 0) ? i18n.noLimit : i18n.expiration+' '+moment.unix(delay * 86400 + created_at).locale(window.navigator.language).format('LLLL');
var url = `${baseURL}r/${short}#${key}`;
var del_url = `${actionURL}d/${short}/${data.token}`;
var links = encodeURIComponent(`["${short}"]`);
var limit = (delay === 0) ? i18n.noLimit : `${i18n.expiration} ${formatDate(delay * 86400 + created_at)}`;
if (!isGuest) {
n.html(n.html()+' '+s.html()+' <a href="'+actionURL+'m?links='+links+'"><i class="mdi-communication-email"></i></a><br>'+limit);
d.html(['<div class="card-action">',
'<div class="input-field">',
'<span class="prefix big-prefix">',
'<a href="', url, '" target="_blank">',
'<i class="mdi-file-file-download small" title="', i18n.dlText, '"></i>',
'</a>',
'<a href="#" id="copyurl-', window.fc, '" title="', i18n.cpText, '">',
'<i class="mdi-content-content-copy small"></i>',
'</a>',
'</span>',
'<input id="', short, '" class="form-control link-input white-background" value="', url, '" readonly="" type="text">',
'<label class="active" for="', short, '">', i18n.dlText, '</label>',
'</div>',
'<div class="input-field">',
'<a href="', del_url, '" target="_blank" class="prefix big-prefix">',
'<i class="mdi-action-delete small" title="', i18n.delText, '"></i>',
'</a>',
'<input id="delete-', short, '" class="form-control white-background" value="', del_url, '" readonly="" type="text">',
'<label class="active" for="delete-', short, '">', i18n.delText, '</label>',
'</div>',
'</div>'].join(''));
n.html(`${n.html()} ${s.html()} <a href="${actionURL}m?links=${links}"><i class="mdi-communication-email"></i></a><br>${limit}`);
d.html(`<div class="card-action">
<div class="input-field">
<span class="prefix big-prefix">
<a href="${url}" target="_blank">
<i class="mdi-file-file-download small" title="${i18n.dlText}"></i>
</a>
<a href="#" id="copyurl-${window.fc}" title="${i18n.cpText}">
<i class="mdi-content-content-copy small"></i>
</a>
</span>
<input id="${short}" class="form-control link-input white-background" value="${url}" readonly="" type="text">
<label class="active" for="${short}">${i18n.dlText}</label>
</div>
<div class="input-field">
<a href="${del_url}" target="_blank" class="prefix big-prefix">
<i class="mdi-action-delete small" title="${i18n.delText}"></i>
</a>
<input id="delete-${short}" class="form-control white-background" value="${del_url}" readonly="" type="text">
<label class="active" for="delete-${short}">${i18n.delText}</label>
</div>
</div>`);
} else {
n.html(n.html()+' '+s.html());
n.html(`${n.html()} ${s.html()}`);
}
s.remove();
@ -521,7 +528,7 @@ function updateProgressBar(data) {
p2.remove();
p1.append(d);
$('#copyurl-'+window.fc).on('click', function(e) {
$(`#copyurl-${window.fc}`).on('click', function(e) {
e.preventDefault();
copyToClipboard(url);
});
@ -531,7 +538,12 @@ function updateProgressBar(data) {
// Add copy all and mailto buttons
var misc = $('#misc');
if (misc.html() === '' && !isGuest) {
misc.html('<a href="#" id="copyall" class="btn btn-info">'+i18n.copyAll+'</a> <a id="mailto" href="'+actionURL+'m?links='+links+'" class="btn btn-info">'+i18n.mailTo+'</a>');
misc.html(`<a href="#"
id="copyall"
class="btn btn-info">${i18n.copyAll}</a>
<a id="mailto"
href="${actionURL}m?links=${links}"
class="btn btn-info">${i18n.mailTo}</a>`);
$('#copyall').on('click', copyAllToClipboard);
} else {
updateMailLink();
@ -574,7 +586,7 @@ function updateProgressBar(data) {
var wClass = percent.toString().replace('.', '-');
dp.removeClass();
dp.addClass('determinate');
dp.addClass('width-'+wClass);
dp.addClass(`width-${wClass}`);
dp.attr('aria-valuenow', percent);
// Encrypt and upload next slice
@ -593,15 +605,15 @@ function updateProgressBar(data) {
// Write message instead in a file block
function addAlertOnFile(msg, i, sent_delay, del_at_first_view) {
var n = $('#name-'+window.fc);
var p = $('#progress-'+window.fc);
var n = $(`#name-${window.fc}`);
var p = $(`#progress-${window.fc}`);
var d = $('<div>');
p.parent().remove();
d.addClass('card pink');
d.html(['<div class="card-content white-text">',
'<strong>', msg, '</strong>',
'</div>'].join(''));
d.html(`<div class="card-content white-text">
<strong>${msg}</strong>
</div>`);
n.parent().append(d);
// Upload next file
@ -653,7 +665,7 @@ function spawnWebsocket(i, callback) {
ws.onerror = function() {
console.log('error');
if (i < 5 && callback !== undefined) {
console.log('Retrying to send file (try '+i+' of 5)');
console.log(`Retrying to send file (try ${i} of 5)`);
window.ws = spawnWebsocket(i + 1, callback);
}
}

File diff suppressed because one or more lines are too long

View File

@ -39,6 +39,5 @@
</table>
</div>
%= javascript '/partial/files.js.ep'
%= javascript '/partial/files.js'
%= javascript '/js/lufi-files.js'
%= javascript '/js/moment-with-locales.min.js'

View File

@ -162,7 +162,6 @@
%= javascript '/partial/index.js'
% }
%= javascript '/js/sjcl.js'
%= javascript '/js/moment-with-locales.min.js'
%= javascript '/js/filesize.min.js'
%= javascript '/js/jszip.min.js'
%= javascript '/js/lufi-notifications.js'

View File

@ -83,5 +83,4 @@
%= javascript '/partial/invitations.js'
%= javascript '/js/lufi-list-invitations.js'
%= javascript '/js/moment-with-locales.min.js'
%= javascript '/js/filesize.min.js'

View File

@ -29,10 +29,10 @@
<a href="#" data-activates="mobile" class="button-collapse"><i class="mdi-navigation-menu"></i></a>
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="<%= $self->config('report') %>"><%= l('Report file') %></a></li>
% if ((!defined(config('ldap')) && !defined(config('htpasswd'))) || is_user_authenticated()) {
% if ((!defined(config('ldap')) && !defined(config('htpasswd')) && !defined(config('auth_headers'))) || is_user_authenticated()) {
<li<%== ' class="active"' if (current_route eq 'index') %>><a href="<%= url_for('/') %>"><%= l('Upload files') %></a></li>
<li<%== ' class="active"' if (current_route eq 'files') %>><a href="<%= url_for('/files') %>"><%= l('My files') %></a></li>
% if (defined config('ldap') && defined config('invitations')) {
% if ((defined config('ldap') || defined config('auth_headers')) && defined config('invitations')) {
<li<%== ' class="active"' if (current_route eq 'invite') %>><a href="<%= url_for('/invite') %>"><%= l('Invite a guest') %></a></li>
<li<%== ' class="active"' if (current_route eq 'invite/list') %>><a href="<%= url_for('/invite/list') %>"><%= l('My invitations') %></a></li>
% }
@ -51,7 +51,7 @@
</div>
</li>
<li<%== ' class="active"' if (current_route eq 'about') %>><a href="<%= url_for('/about') %>"><%= l('About') %></a></li>
% if ((defined(config('ldap')) || defined(config('htpasswd'))) && is_user_authenticated()) {
% if ((defined(config('ldap')) || defined(config('htpasswd')) || defined(config('auth_headers'))) && is_user_authenticated()) {
<li>
<form action="<%= url_for('/logout') %>" method="POST">
%= csrf_field
@ -62,10 +62,10 @@
</ul>
<ul id="mobile" class="side-nav">
<li><a href="<%= $self->config('report') %>"><%= l('Report file') %></a></li>
% if ((!defined(config('ldap')) && !defined(config('htpasswd'))) || is_user_authenticated()) {
% if ((!defined(config('ldap')) && !defined(config('htpasswd')) && !defined(config('auth_headers'))) || is_user_authenticated()) {
<li<%== ' class="active"' if (current_route eq 'index') %>><a href="<%= url_for('/') %>"><%= l('Upload files') %></a></li>
<li<%== ' class="active"' if (current_route eq 'files') %>><a href="<%= url_for('/files') %>"><%= l('My files') %></a></li>
% if (defined config('ldap') && defined config('invitations')) {
% if ((defined config('ldap') || defined config('auth_headers')) && defined config('invitations')) {
<li<%== ' class="active"' if (current_route eq 'invite') %>><a href="<%= url_for('/invite') %>"><%= l('Invite a guest') %></a></li>
<li<%== ' class="active"' if (current_route eq 'invite/list') %>><a href="<%= url_for('/invite/list') %>"><%= l('My invitations') %></a></li>
% }
@ -84,7 +84,7 @@
</div>
</li>
<li<%== ' class="active"' if (current_route eq 'about') %>><a href="<%= url_for('/about') %>"><%= l('About') %></a></li>
% if ((defined(config('ldap')) || defined(config('htpasswd'))) && is_user_authenticated()) {
% if ((defined(config('ldap')) || defined(config('htpasswd')) || defined(config('auth_headers'))) && is_user_authenticated()) {
<li>
<form action="<%= url_for('/logout') %>" method="POST">
%= csrf_field
@ -96,7 +96,7 @@
</div>
</nav>
<div class="container">
%= javascript '/js/jquery-2.2.4.min.js'
%= javascript '/js/jquery-3.7.1.min.js'
%= javascript '/partial/layout.js'
%= javascript '/js/lufi-common.js'
<%= content %>

View File

@ -11,7 +11,7 @@
<form class="row" method="post" action="<%= url_for('login') %>">
<div class="col s8 m8 offset-s2 offset-m2">
<div class="input-field">
<input id="login" type="text" class="validate" name="login">
<input id="login" type="text" class="validate" name="login" autofocus>
<label for="login"><%= l('Login') %></label>
</div>
</div>

View File

@ -50,4 +50,3 @@
</form>
<div>
%= javascript url_for('/partial/mail.js')->query(populate => (!defined(stash('msg')) && !defined(stash('values'))), links => $links)
%= javascript '/js/moment-with-locales.min.js'

View File

@ -1,6 +1,6 @@
% # vim:set sts=4 sw=4 ts=4 ft=javascript expandtab:
function findItem(name) {
var files = localStorage.getItem(window.prefix + 'files');
var files = localStorage.getItem(`${window.prefix}files`);
if (files === null) {
files = new Array();
} else {
@ -19,7 +19,7 @@ function updateMailtoLink() {
var subject = document.getElementById('subject');
var text = document.getElementById('body');
btn.href = 'mailto:'+encodeURIComponent(emails.value)+'?subject='+encodeURIComponent(subject.value)+'&body='+encodeURIComponent(text.value);
btn.href = `mailto:${encodeURIComponent(emails.value)}?subject=${encodeURIComponent(subject.value)}&body=${encodeURIComponent(text.value)}`;
}
function populateBody() {
var links = [
@ -36,16 +36,18 @@ function populateBody() {
links.forEach(function(name, index, array) {
var item = findItem(name);
if (item !== null && item !== undefined) {
var limit = (item.delay === 0) ? null : moment.unix(item.delay * 86400 + item.created_at).locale(window.navigator.language).format('LLLL');
text = text+'- '+item.name+'<%= l(':') %> '+item.url;
var limit = (item.delay === 0) ? null : formatDate(item.delay * 86400 + item.created_at);
text += `- ${item.name}<%= l(':') %> ${item.url}`;
if (limit !== null) {
text = text+"\n (<%= l('deadline: ') %>"+limit+')';
text += `\n (<%= l('deadline: ') %>${limit})`;
}
text = text+"\n";
text += "\n";
}
});
text = text+"\n--\n<%= l('Share your files in total privacy on %1', url_for('/')->to_abs) %>";
% if (!defined(config('ldap')) && !defined(config('htpasswd'))) {
text += "\n-- \n<%= l('Share your files in total privacy on %1', url_for('/')->to_abs) %>";
% }
tArea = document.getElementById('body').value = text;
updateMailtoLink();
}