Latest frontend version, all files migrated
This commit is contained in:
parent
d26c304b8c
commit
eaabb26fd6
|
@ -96,7 +96,7 @@ sub send_mail {
|
|||
subject => $subject,
|
||||
body => $body
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$c->mail(
|
||||
|
|
|
@ -17,17 +17,17 @@ msgstr ""
|
|||
|
||||
#. ($delay)
|
||||
#. (max_delay)
|
||||
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
|
||||
#: themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:47
|
||||
msgid "%1 days"
|
||||
msgstr "%1 days"
|
||||
|
||||
#. (stash('ldap_user')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:2
|
||||
#: themes/default/templates/invitations/invite.mail.ep:1
|
||||
msgid "%1 invites you to send him/her files"
|
||||
msgstr "%1 invites you to send him/her files"
|
||||
|
||||
#. (stash('ldap_user')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:6
|
||||
#: themes/default/templates/invitations/invite.mail.ep:5
|
||||
msgid "%1 invites you to send him/her files through Lufi."
|
||||
msgstr "%1 invites you to send him/her files through Lufi."
|
||||
|
||||
|
@ -41,60 +41,60 @@ 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: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
|
||||
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:48 themes/default/templates/invitations/my_invitations.html.ep:49 themes/default/templates/invitations/my_invitations.html.ep:50 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
|
||||
#: themes/default/templates/index.html.ep:267
|
||||
msgid "(max size: XXX)"
|
||||
msgstr "(max size: XXX)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:5
|
||||
#: themes/default/templates/index.html.ep:4
|
||||
msgid "1 year"
|
||||
msgstr "1 year"
|
||||
|
||||
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
|
||||
#: themes/default/templates/index.html.ep:3 themes/default/templates/index.html.ep:46
|
||||
msgid "24 hours"
|
||||
msgstr "24 hours"
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:40
|
||||
#: themes/default/templates/mail.html.ep:67
|
||||
msgid ":"
|
||||
msgstr ":"
|
||||
|
||||
#: themes/default/templates/render.html.ep:42
|
||||
#: themes/default/templates/render.html.ep:38
|
||||
msgid "Abort"
|
||||
msgstr "Abort"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
|
||||
#: themes/default/templates/layouts/default.html.ep:50
|
||||
msgid "About"
|
||||
msgstr "About"
|
||||
|
||||
#: themes/default/templates/index.html.ep:107
|
||||
#: themes/default/templates/index.html.ep:65 themes/default/templates/render.html.ep:17
|
||||
msgid "Add a password to file(s)"
|
||||
msgstr "Add a password to file(s)"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:16
|
||||
#: themes/default/templates/mail.html.ep:11
|
||||
msgid "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
|
||||
msgstr "Adding URLs not related to this Lufi instance to the mail body or subject is prohibited."
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:3
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:99
|
||||
msgid "Are you sure you want to delete the selected invitations?"
|
||||
msgstr "Are you sure you want to delete the selected invitations?"
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:4
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:100
|
||||
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
|
||||
msgstr "Are you sure you want to resend the invitation mail for the selected invitations?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
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 "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."
|
||||
|
||||
#. (stash('nbslices')
|
||||
#: themes/default/templates/partial/render.js.ep:10
|
||||
#. (stash('f')
|
||||
#: themes/default/templates/render.html.ep:96
|
||||
msgid "Asking for file part XX1 of %1"
|
||||
msgstr "Asking for file part XX1 of %1"
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "Back to homepage"
|
||||
msgstr "Back to homepage"
|
||||
|
||||
|
@ -102,195 +102,195 @@ msgstr "Back to homepage"
|
|||
msgid "Bad CSRF token!"
|
||||
msgstr "Bad CSRF token!"
|
||||
|
||||
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
|
||||
#: lib/Lufi/Controller/Auth.pm:38 lib/Lufi/Controller/Auth.pm:60
|
||||
msgid "Bad CSRF token."
|
||||
msgstr "Bad CSRF token."
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:5
|
||||
#: themes/default/templates/render.html.ep:47 themes/default/templates/render.html.ep:91
|
||||
msgid "Click here to refresh the page and restart the download."
|
||||
msgstr "Click here to refresh the page and restart the download."
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:8
|
||||
#: themes/default/templates/invitations/invite.mail.ep:7
|
||||
msgid "Click on the following URL to upload files on Lufi:"
|
||||
msgstr "Click on the following URL to upload files on Lufi:"
|
||||
|
||||
#: themes/default/templates/index.html.ep:126
|
||||
#: themes/default/templates/index.html.ep:88
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Click to open the file browser"
|
||||
|
||||
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
|
||||
#: themes/default/templates/index.html.ep:237 themes/default/templates/invitations/my_invitations.html.ep:80
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:23
|
||||
#: themes/default/templates/mail.html.ep:18
|
||||
msgid "Comma-separated email addresses"
|
||||
msgstr "Comma-separated email addresses"
|
||||
|
||||
#: themes/default/templates/index.html.ep:140
|
||||
#: themes/default/templates/index.html.ep:109
|
||||
msgid "Compressing zip file…"
|
||||
msgstr "Compressing zip file…"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:15
|
||||
#: themes/default/templates/index.html.ep:119 themes/default/templates/index.html.ep:254
|
||||
msgid "Copy all links to clipboard"
|
||||
msgstr "Copy all links to clipboard"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:18
|
||||
#: themes/default/templates/index.html.ep:139 themes/default/templates/index.html.ep:257
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copy to clipboard"
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:501
|
||||
#: lib/Lufi/Controller/Files.pm:500
|
||||
msgid "Could not delete the file. You are not authenticated."
|
||||
msgstr "Could not delete the file. You are not authenticated."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:483
|
||||
#: lib/Lufi/Controller/Files.pm:482
|
||||
msgid "Could not find the file. Are you sure of the URL and the token?"
|
||||
msgstr "Could not find the file. Are you sure of the URL and the token?"
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:394
|
||||
#: lib/Lufi/Controller/Files.pm:393
|
||||
msgid "Could not find the file. Are you sure of the URL?"
|
||||
msgstr "Could not find the file. Are you sure of the URL?"
|
||||
|
||||
#: themes/default/templates/files.html.ep:29
|
||||
#: themes/default/templates/files.html.ep:37
|
||||
msgid "Counter"
|
||||
msgstr "Counter"
|
||||
|
||||
#: themes/default/templates/index.html.ep:100
|
||||
#: themes/default/templates/index.html.ep:75
|
||||
msgid "Create a zip archive with the files before uploading?"
|
||||
msgstr "Create a zip archive with the files before uploading?"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:26
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:23
|
||||
msgid "Created at"
|
||||
msgstr "Created at"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:14
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:12
|
||||
msgid "Delete"
|
||||
msgstr "Delete"
|
||||
|
||||
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
|
||||
#: themes/default/templates/files.html.ep:38 themes/default/templates/index.html.ep:60
|
||||
msgid "Delete at first download?"
|
||||
msgstr "Delete at first download?"
|
||||
|
||||
#: themes/default/templates/files.html.ep:19
|
||||
#: themes/default/templates/files.html.ep:27
|
||||
msgid "Delete selected files"
|
||||
msgstr "Delete selected files"
|
||||
|
||||
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
|
||||
#: themes/default/templates/files.html.ep:41 themes/default/templates/index.html.ep:148 themes/default/templates/index.html.ep:151 themes/default/templates/index.html.ep:258
|
||||
msgid "Deletion link"
|
||||
msgstr "Deletion link"
|
||||
|
||||
#: themes/default/templates/delays.html.ep:9
|
||||
#: themes/default/templates/index.html.ep:204
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:21 themes/default/templates/render.html.ep:28
|
||||
#: themes/default/templates/index.html.ep:260 themes/default/templates/render.html.ep:20
|
||||
msgid "Download"
|
||||
msgstr "Download"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:4
|
||||
#: themes/default/templates/render.html.ep:90
|
||||
msgid "Download aborted."
|
||||
msgstr "Download aborted."
|
||||
|
||||
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
|
||||
#: themes/default/templates/files.html.ep:36 themes/default/templates/index.html.ep:138 themes/default/templates/index.html.ep:142 themes/default/templates/index.html.ep:259
|
||||
msgid "Download link"
|
||||
msgstr "Download link"
|
||||
|
||||
#: themes/default/templates/about.html.ep:10
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/index.html.ep:122
|
||||
#: themes/default/templates/index.html.ep:84
|
||||
msgid "Drop files here"
|
||||
msgstr "Drop files here"
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:40
|
||||
#: themes/default/templates/invitations/invite.html.ep:29
|
||||
msgid "Email address of your guest"
|
||||
msgstr "Email address of your guest"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:39
|
||||
#: themes/default/templates/mail.html.ep:28 themes/default/templates/mail.html.ep:29
|
||||
msgid "Email body"
|
||||
msgstr "Email body"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:31
|
||||
#: themes/default/templates/mail.html.ep:23 themes/default/templates/mail.html.ep:24
|
||||
msgid "Email subject"
|
||||
msgstr "Email subject"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
|
||||
#: themes/default/templates/mail.html.ep:19
|
||||
msgid "Emails"
|
||||
msgstr "Emails"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:22
|
||||
#: themes/default/templates/index.html.ep:261
|
||||
msgid "Encrypting part XX1 of XX2"
|
||||
msgstr "Encrypting part XX1 of XX2"
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:283
|
||||
#: lib/Lufi/Controller/Files.pm:279
|
||||
msgid "Error: the file existed but was deleted."
|
||||
msgstr "Error: the file existed but was deleted."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:363
|
||||
#: lib/Lufi/Controller/Files.pm:362
|
||||
msgid "Error: the file has not been sent entirely."
|
||||
msgstr "Error: the file has not been sent entirely."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:373
|
||||
#: lib/Lufi/Controller/Files.pm:372
|
||||
msgid "Error: unable to find the file. Are you sure of your URL?"
|
||||
msgstr "Error: unable to find the file. Are you sure of your URL?"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:23
|
||||
#: themes/default/templates/index.html.ep:262
|
||||
msgid "Expiration:"
|
||||
msgstr "Expiration:"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:27
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:24
|
||||
msgid "Expire at"
|
||||
msgstr "Expire at"
|
||||
|
||||
#: themes/default/templates/files.html.ep:32
|
||||
#: themes/default/templates/files.html.ep:40
|
||||
msgid "Expires at"
|
||||
msgstr "Expires at"
|
||||
|
||||
#: themes/default/templates/files.html.ep:12
|
||||
#: themes/default/templates/files.html.ep:10
|
||||
msgid "Export localStorage data"
|
||||
msgstr "Export localStorage data"
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:465
|
||||
#: lib/Lufi/Controller/Files.pm:464
|
||||
msgid "File deleted"
|
||||
msgstr "File deleted"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:9
|
||||
#: themes/default/templates/render.html.ep:95
|
||||
msgid "File downloaded"
|
||||
msgstr "File downloaded"
|
||||
|
||||
#: themes/default/templates/files.html.ep:27
|
||||
#: themes/default/templates/files.html.ep:35
|
||||
msgid "File name"
|
||||
msgstr "File name"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:24
|
||||
#: themes/default/templates/index.html.ep:263
|
||||
msgid "File uploaded"
|
||||
msgstr "File uploaded"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:61
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:60
|
||||
msgid "Files"
|
||||
msgstr "Files"
|
||||
|
||||
#: themes/default/templates/index.html.ep:80
|
||||
#:
|
||||
msgid "Files deleted at first download"
|
||||
msgstr "Files deleted at first download"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:28
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:25
|
||||
msgid "Files sent at"
|
||||
msgstr "Files sent at"
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:8
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:103
|
||||
msgid "Files sent in invitation XX1 by XX2"
|
||||
msgstr "Files sent in invitation XX1 by XX2"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:8
|
||||
#: themes/default/templates/render.html.ep:55 themes/default/templates/render.html.ep:67 themes/default/templates/render.html.ep:94
|
||||
msgid "Get the file"
|
||||
msgstr "Get the file"
|
||||
|
||||
#: themes/default/templates/about.html.ep:18
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
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 "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>"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:24
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:21
|
||||
msgid "Guest mail"
|
||||
msgstr "Guest mail"
|
||||
|
||||
|
@ -299,67 +299,67 @@ msgstr "Guest mail"
|
|||
msgid "Hello %1,"
|
||||
msgstr "Hello %1,"
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:4
|
||||
#: themes/default/templates/invitations/invite.mail.ep:3
|
||||
msgid "Hello,"
|
||||
msgstr "Hello,"
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:35
|
||||
#: themes/default/templates/mail.html.ep:59
|
||||
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
|
||||
msgstr "Hello,\\n\\nHere's some files I want to share with you:\\n"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:35
|
||||
#: themes/default/templates/mail.html.ep:24
|
||||
msgid "Here's some files"
|
||||
msgstr "Here's some files"
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:7
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:102
|
||||
msgid "Hide hidden invitations"
|
||||
msgstr "Hide hidden invitations"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:26
|
||||
#: themes/default/templates/index.html.ep:265
|
||||
msgid "Hit Enter, then Ctrl+C to copy all the download links"
|
||||
msgstr "Hit Enter, then Ctrl+C to copy all the download links"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:25
|
||||
#: themes/default/templates/index.html.ep:264
|
||||
msgid "Hit Enter, then Ctrl+C to copy the download link"
|
||||
msgstr "Hit Enter, then Ctrl+C to copy the download link"
|
||||
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
msgid "How does it work?"
|
||||
msgstr "How does it work?"
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:46
|
||||
#: themes/default/templates/invitations/invite.html.ep:35
|
||||
msgid "How many days would you like the invitation to be valid?"
|
||||
msgstr "How many days would you like the invitation to be valid?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "How to install the software on my server?"
|
||||
msgstr "How to install the software on my server?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:12
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "How to report an illegal file?"
|
||||
msgstr "How to report an illegal file?"
|
||||
|
||||
#: themes/default/templates/delays.html.ep:8
|
||||
#: themes/default/templates/index.html.ep:203
|
||||
msgid "If you choose a delay, the file will be deleted after that delay."
|
||||
msgstr "If you choose a delay, the file will be deleted after that delay."
|
||||
|
||||
#: themes/default/templates/mail.html.ep:15
|
||||
#: themes/default/templates/mail.html.ep:10
|
||||
msgid "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
|
||||
msgstr "If you send the mail from this server, the links will be sent to the server, which may lower your privacy protection."
|
||||
|
||||
#: themes/default/templates/files.html.ep:14
|
||||
#: themes/default/templates/files.html.ep:18
|
||||
msgid "Import localStorage data"
|
||||
msgstr "Import localStorage data"
|
||||
|
||||
#: themes/default/templates/index.html.ep:53
|
||||
#:
|
||||
msgid "Important: more information on delays"
|
||||
msgstr "Important: more information on delays"
|
||||
|
||||
#: themes/default/templates/delays.html.ep:5
|
||||
#: themes/default/templates/index.html.ep:198
|
||||
msgid "Information about delays"
|
||||
msgstr "Information about delays"
|
||||
|
||||
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
|
||||
#: themes/default/templates/files.html.ep:23 themes/default/templates/invitations/my_invitations.html.ep:10
|
||||
msgid "Invert selection"
|
||||
msgstr "Invert selection"
|
||||
|
||||
|
@ -373,57 +373,57 @@ msgstr "Invitation resent to %1.<br> URL: %2"
|
|||
msgid "Invitation sent to %1.<br> URL: %2"
|
||||
msgstr "Invitation sent to %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
|
||||
#: themes/default/templates/invitations/invite.html.ep:18 themes/default/templates/layouts/default.html.ep:33
|
||||
msgid "Invite a guest"
|
||||
msgstr "Invite a guest"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:6
|
||||
#: themes/default/templates/render.html.ep:92
|
||||
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
|
||||
msgstr "It seems that the key in your URL is incorrect. Please, verify your URL."
|
||||
|
||||
#: themes/default/templates/index.html.ep:12
|
||||
#: themes/default/templates/index.html.ep:9
|
||||
msgid "Javascript is disabled. You won't be able to use Lufi."
|
||||
msgstr "Javascript is disabled. You won't be able to use 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
|
||||
#: themes/default/templates/layouts/default.html.ep:41 themes/default/templates/layouts/default.html.ep:42 themes/default/templates/layouts/default.html.ep:43
|
||||
msgid "Language"
|
||||
msgstr "Language"
|
||||
|
||||
#. (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
|
||||
#: themes/default/templates/about.html.ep:21
|
||||
msgid "Latest commit of this instance: %1"
|
||||
msgstr "Latest commit of this 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
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
msgid "Latest tag of this instance: %1"
|
||||
msgstr "Latest tag of this instance: %1"
|
||||
|
||||
#: themes/default/templates/login.html.ep:15
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
|
||||
#: themes/default/templates/layouts/default.html.ep:56
|
||||
msgid "Logout"
|
||||
msgstr "Logout"
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "Lufi is a free (as in free speech) file hosting software."
|
||||
msgstr "Lufi is a free (as in free speech) file hosting software."
|
||||
|
||||
#: themes/default/templates/partial/files.js.ep:12
|
||||
#: themes/default/templates/files.html.ep:86
|
||||
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 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."
|
||||
|
||||
#: themes/default/templates/files.html.ep:34
|
||||
#: themes/default/templates/files.html.ep:42
|
||||
msgid "Mail"
|
||||
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
|
||||
#: themes/default/templates/files.html.ep:2 themes/default/templates/layouts/default.html.ep:31
|
||||
msgid "My files"
|
||||
msgstr "My files"
|
||||
|
||||
#: 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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:34
|
||||
msgid "My invitations"
|
||||
msgstr "My invitations"
|
||||
|
||||
|
@ -431,45 +431,45 @@ msgstr "My invitations"
|
|||
msgid "NB: this list includes the list of files that have already been sent to you."
|
||||
msgstr "NB: this list includes the list of files that have already been sent to you."
|
||||
|
||||
#: themes/default/templates/index.html.ep:115
|
||||
#: themes/default/templates/index.html.ep:79
|
||||
msgid "Name of the zip file"
|
||||
msgstr "Name of the zip file"
|
||||
|
||||
#. (format_bytes($json->{size})
|
||||
#: lib/Lufi/Controller/Files.pm:109
|
||||
#: lib/Lufi/Controller/Files.pm:108
|
||||
msgid "No enough space available on the server for this file (size: %1)."
|
||||
msgstr "No enough space available on the server for this file (size: %1)."
|
||||
|
||||
#: themes/default/templates/partial/files.js.ep:10 themes/default/templates/partial/index.js.ep:29
|
||||
#: themes/default/templates/files.html.ep:84 themes/default/templates/index.html.ep:268
|
||||
msgid "No expiration delay"
|
||||
msgstr "No expiration delay"
|
||||
|
||||
#: themes/default/templates/files.html.ep:8
|
||||
#: themes/default/templates/files.html.ep:5
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/index.html.ep:106 themes/default/templates/login.html.ep:21 themes/default/templates/render.html.ep:26
|
||||
#: themes/default/templates/index.html.ep:66 themes/default/templates/login.html.ep:16 themes/default/templates/render.html.ep:18
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
#: themes/default/templates/about.html.ep:12
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Please contact the administrator: %1"
|
||||
|
||||
#: themes/default/templates/render.html.ep:33
|
||||
#: themes/default/templates/render.html.ep:31
|
||||
msgid "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
|
||||
msgstr "Please wait while we are getting your file. We first need to download and decrypt all parts before you can get it."
|
||||
|
||||
#: lib/Lufi/Controller/Auth.pm:38
|
||||
#: lib/Lufi/Controller/Auth.pm:49
|
||||
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
|
||||
msgstr "Please, check your credentials or your right to access this service: unable to authenticate."
|
||||
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid "Privacy"
|
||||
msgstr "Privacy"
|
||||
|
||||
#: themes/default/templates/files.html.ep:13
|
||||
#: themes/default/templates/files.html.ep:14
|
||||
msgid "Purge expired files from localStorage"
|
||||
msgstr "Purge expired files from localStorage"
|
||||
|
||||
|
@ -477,81 +477,81 @@ msgstr "Purge expired files from localStorage"
|
|||
msgid "Regards,"
|
||||
msgstr "Regards,"
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:15
|
||||
#: themes/default/templates/invitations/invite.mail.ep:14
|
||||
msgid "Regards."
|
||||
msgstr "Regards."
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
|
||||
#: themes/default/templates/layouts/default.html.ep:27
|
||||
msgid "Report file"
|
||||
msgstr "Report file"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:15
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:13
|
||||
msgid "Resend invitation mail"
|
||||
msgstr "Resend invitation mail"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:9
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:7
|
||||
msgid "Rows in purple mean that the invitations have expired."
|
||||
msgstr "Rows in purple mean that the invitations have expired."
|
||||
|
||||
#: themes/default/templates/files.html.ep:9
|
||||
#: themes/default/templates/files.html.ep:6
|
||||
msgid "Rows in red mean that the files have expired and are no longer available."
|
||||
msgstr "Rows in red mean that the files have expired and are no longer available."
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:27
|
||||
#: themes/default/templates/index.html.ep:120 themes/default/templates/index.html.ep:266
|
||||
msgid "Send all links by email"
|
||||
msgstr "Send all links by email"
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:50
|
||||
#: themes/default/templates/invitations/invite.html.ep:39
|
||||
msgid "Send the invitation"
|
||||
msgstr "Send the invitation"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:47
|
||||
#: themes/default/templates/mail.html.ep:34
|
||||
msgid "Send with this server"
|
||||
msgstr "Send with this server"
|
||||
|
||||
#: themes/default/templates/mail.html.ep:49
|
||||
#: themes/default/templates/mail.html.ep:37
|
||||
msgid "Send with your own mail software"
|
||||
msgstr "Send with your own mail software"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:30
|
||||
#: themes/default/templates/index.html.ep:269
|
||||
msgid "Sending part XX1 of XX2. Please, be patient, the progress bar can take a while to move."
|
||||
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:49
|
||||
#: themes/default/templates/mail.html.ep:77
|
||||
msgid "Share your files in total privacy on %1"
|
||||
msgstr "Share your files in total privacy on %1"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:13 themes/default/templates/partial/invitations.js.ep:9
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:104 themes/default/templates/invitations/my_invitations.html.ep:11
|
||||
msgid "Show hidden invitations"
|
||||
msgstr "Show hidden invitations"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:12
|
||||
#: themes/default/templates/render.html.ep:59 themes/default/templates/render.html.ep:98
|
||||
msgid "Show zip content"
|
||||
msgstr "Show zip content"
|
||||
|
||||
#: 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
|
||||
#: themes/default/templates/layouts/default.html.ep:37 themes/default/templates/login.html.ep:22 themes/default/templates/logout.html.ep:8
|
||||
msgid "Signin"
|
||||
msgstr "Signin"
|
||||
|
||||
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
|
||||
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:8
|
||||
msgid "Sorry, the invitation doesn’t exist. Are you sure you are on the right URL?"
|
||||
msgstr "Sorry, the invitation doesn’t exist. Are you sure you are on the right URL?"
|
||||
|
||||
#: themes/default/templates/index.html.ep:46
|
||||
#: themes/default/templates/index.html.ep:23
|
||||
msgid "Sorry, the uploading is currently disabled. Please try again later."
|
||||
msgstr "Sorry, the uploading is currently disabled. Please try again later."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:82
|
||||
#: lib/Lufi/Controller/Files.pm:81
|
||||
msgid "Sorry, uploading is disabled."
|
||||
msgstr "Sorry, uploading is disabled."
|
||||
|
||||
#: themes/default/templates/invitations/exception.html.ep:7
|
||||
#: themes/default/templates/invitations/exception.html.ep:3
|
||||
msgid "Sorry, your invitation has expired or has been deleted."
|
||||
msgstr "Sorry, your invitation has expired or has been deleted."
|
||||
|
||||
#. ($invit->ldap_user_mail)
|
||||
#: lib/Lufi/Controller/Files.pm:123
|
||||
#: lib/Lufi/Controller/Files.pm:122
|
||||
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
|
||||
msgstr "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
|
||||
|
||||
|
@ -560,7 +560,7 @@ msgstr "Sorry, your invitation has expired or has been deleted. Please contact %
|
|||
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."
|
||||
|
||||
#: themes/default/templates/about.html.ep:7
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
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.)."
|
||||
|
||||
|
@ -568,7 +568,7 @@ msgstr "The administrator can only see the file's name, its size and its mimetyp
|
|||
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."
|
||||
|
||||
#: themes/default/templates/partial/files.js.ep:11
|
||||
#: themes/default/templates/files.html.ep:85
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "The data has been successfully imported."
|
||||
|
||||
|
@ -585,11 +585,11 @@ msgstr "The email subject can't be empty."
|
|||
msgid "The expiration delay (%1) is not between 1 and %2 days."
|
||||
msgstr "The expiration delay (%1) is not between 1 and %2 days."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:462
|
||||
#: lib/Lufi/Controller/Files.pm:461
|
||||
msgid "The file has already been deleted"
|
||||
msgstr "The file has already been deleted"
|
||||
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
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 "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."
|
||||
|
||||
|
@ -624,21 +624,21 @@ msgid "The invitation %1 has been deleted."
|
|||
msgstr "The invitation %1 has been deleted."
|
||||
|
||||
#. (stash('user_mail')
|
||||
#: themes/default/templates/invitations/invite.html.ep:34
|
||||
#: themes/default/templates/invitations/invite.html.ep:24
|
||||
msgid "The invitation mail will be send from your email address (%1)."
|
||||
msgstr "The invitation mail will be sent from your email address (%1)."
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:16
|
||||
#: themes/default/templates/index.html.ep:255
|
||||
msgid "The link(s) has been copied to your clipboard"
|
||||
msgstr "The link(s) has been copied to your clipboard"
|
||||
|
||||
#. (stash('invitation')
|
||||
#: themes/default/templates/index.html.ep:30
|
||||
#: themes/default/templates/index.html.ep:18
|
||||
msgid "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
|
||||
msgstr "The link(s) of your file(s) will automatically be sent by mail to %1 (%2)"
|
||||
|
||||
#. (stash('ldap_user')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:11
|
||||
#: themes/default/templates/invitations/invite.mail.ep:10
|
||||
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."
|
||||
|
||||
|
@ -646,103 +646,103 @@ msgstr "The link(s) of your file(s) will automatically be sent by mail to %1."
|
|||
msgid "The mail has been sent."
|
||||
msgstr "The mail has been sent."
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
msgid "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
|
||||
msgstr "The original (and only for now) author is <a href=\"https://fiat-tux.fr\" class=\"classic\">Luc Didry</a>."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:230
|
||||
#: lib/Lufi/Controller/Files.pm:226
|
||||
msgid "The server was unable to find the file record to add your file part to. Please, contact the administrator."
|
||||
msgstr "The server was unable to find the file record to add your file part to. Please, contact the administrator."
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:289
|
||||
#: lib/Lufi/Controller/Files.pm:285
|
||||
msgid "This file has been deactivated by the admins. Contact them to know why."
|
||||
msgstr "This file has been deactivated by the admins. Contact them to know why."
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:43 themes/default/templates/invitations/my_invitations.html.ep:87
|
||||
msgid "This invitation is normally hidden"
|
||||
msgstr "This invitation is normally hidden"
|
||||
|
||||
#. (stash('expires')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:13
|
||||
#: themes/default/templates/invitations/invite.mail.ep:12
|
||||
msgid "This invitation is valid until %1."
|
||||
msgstr "This invitation is valid until %1."
|
||||
|
||||
#: themes/default/templates/delays.html.ep:13
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
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 "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:"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:16
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:14
|
||||
msgid "Toggle visibility"
|
||||
msgstr "Toggle visibility"
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:25
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:22
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:17
|
||||
#: themes/default/templates/index.html.ep:256
|
||||
msgid "Unable to copy the link(s) to your clipboard"
|
||||
msgstr "Unable to copy the link(s) to your clipboard"
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:13
|
||||
#: themes/default/templates/render.html.ep:99
|
||||
msgid "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
|
||||
msgstr "Unable to download the file: too much unsuccessful attempts to open a websocket. Please, contact the administrator."
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lufi/Controller/Files.pm:433
|
||||
#: lib/Lufi/Controller/Files.pm:432
|
||||
msgid "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
|
||||
msgstr "Unable to get counter for %1. The file does not exists. It will be removed from your localStorage."
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lufi/Controller/Files.pm:423
|
||||
#: lib/Lufi/Controller/Files.pm:422
|
||||
msgid "Unable to get counter for %1. The token is invalid."
|
||||
msgstr "Unable to get counter for %1. The token is invalid."
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lufi/Controller/Files.pm:443
|
||||
#: lib/Lufi/Controller/Files.pm:442
|
||||
msgid "Unable to get counter for %1. You are not authenticated."
|
||||
msgstr "Unable to get counter for %1. You are not authenticated."
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:33 themes/default/templates/layouts/default.html.ep:66
|
||||
#: themes/default/templates/layouts/default.html.ep:30
|
||||
msgid "Upload files"
|
||||
msgstr "Upload files"
|
||||
|
||||
#: themes/default/templates/index.html.ep:145
|
||||
#: themes/default/templates/index.html.ep:104
|
||||
msgid "Upload generated zip file"
|
||||
msgstr "Upload generated zip file"
|
||||
|
||||
#: themes/default/templates/files.html.ep:31
|
||||
#: themes/default/templates/files.html.ep:39
|
||||
msgid "Uploaded at"
|
||||
msgstr "Uploaded at"
|
||||
|
||||
#: themes/default/templates/index.html.ep:153
|
||||
#: themes/default/templates/index.html.ep:116
|
||||
msgid "Uploaded files"
|
||||
msgstr "Uploaded files"
|
||||
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
msgid "Version"
|
||||
msgstr "Version"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:31
|
||||
#: themes/default/templates/index.html.ep:270
|
||||
msgid "Websocket communication error"
|
||||
msgstr "Websocket communication error"
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
#: themes/default/templates/about.html.ep:2
|
||||
msgid "What is Lufi?"
|
||||
msgstr "What is Lufi?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
msgid "Who wrote this software?"
|
||||
msgstr "Who wrote this software?"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:13
|
||||
#: themes/default/templates/index.html.ep:252
|
||||
msgid "XXX file has been added to upload queue."
|
||||
msgstr "XXX file has been added to upload queue."
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:30
|
||||
#: themes/default/templates/invitations/invite.html.ep:20
|
||||
msgid "You can invite someone to send you files through this Lufi instance even if they don’t have an account on it."
|
||||
msgstr "You can invite someone to send you files through this Lufi instance even if they don’t have an account on it."
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
#: themes/default/templates/about.html.ep:10
|
||||
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."
|
||||
|
||||
|
@ -755,23 +755,23 @@ 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."
|
||||
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
#: themes/default/templates/about.html.ep:7
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:11
|
||||
#: themes/default/templates/render.html.ep:97
|
||||
msgid "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
|
||||
msgstr "You don't seem to have a key in your URL. You won't be able to decrypt the file. Download canceled."
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:7
|
||||
#: themes/default/templates/render.html.ep:93
|
||||
msgid "You have attempted to leave this page. The download will be canceled. Are you sure?"
|
||||
msgstr "You have attempted to leave this page. The download will be canceled. Are you sure?"
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:14
|
||||
#: themes/default/templates/index.html.ep:253
|
||||
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
|
||||
msgstr "You have attempted to leave this page. The upload will be canceled. Are you sure?"
|
||||
|
||||
#: themes/default/templates/logout.html.ep:14
|
||||
#: themes/default/templates/logout.html.ep:7
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr "You have been successfully logged out."
|
||||
|
||||
|
@ -779,56 +779,56 @@ msgstr "You have been successfully logged out."
|
|||
msgid "You must give email addresses."
|
||||
msgstr "You must give email addresses."
|
||||
|
||||
#: 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 "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)."
|
||||
|
||||
#. (format_bytes($json->{size})
|
||||
#: lib/Lufi/Controller/Files.pm:95
|
||||
#: lib/Lufi/Controller/Files.pm:94
|
||||
msgid "Your file is too big: %1 (maximum size allowed: %2)"
|
||||
msgstr "Your file is too big: %1 (maximum size allowed: %2)"
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:345
|
||||
#: lib/Lufi/Controller/Files.pm:344
|
||||
msgid "Your password is not valid. Please refresh the page to retry."
|
||||
msgstr "Your password is not valid. Please refresh the page to retry."
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:14
|
||||
#: themes/default/templates/render.html.ep:100 themes/default/templates/render.html.ep:62
|
||||
msgid "Zip content:"
|
||||
msgstr "Zip content:"
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:24
|
||||
#: themes/default/templates/index.html.ep:219
|
||||
msgid "between %1 and %2, the file will be kept %3 day(s)."
|
||||
msgstr "between %1 and %2, the file will be kept %3 day(s)."
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:26
|
||||
#: themes/default/templates/index.html.ep:221
|
||||
msgid "between %1 and %2, the file will be kept forever."
|
||||
msgstr "between %1 and %2, the file will be kept forever."
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:42
|
||||
#: themes/default/templates/mail.html.ep:70
|
||||
msgid "deadline: "
|
||||
msgstr "deadline: "
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:5
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:101
|
||||
msgid "expires on XXX"
|
||||
msgstr "expires on XXX"
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:30
|
||||
#: themes/default/templates/index.html.ep:225
|
||||
msgid "for %1 and more, the file will be kept %2 day(s)"
|
||||
msgstr "for %1 and more, the file will be kept %2 day(s)"
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:32
|
||||
#: themes/default/templates/index.html.ep:227
|
||||
msgid "for %1 and more, the file will be kept forever."
|
||||
msgstr "for %1 and more, the file will be kept forever."
|
||||
|
||||
#: themes/default/templates/index.html.ep:3
|
||||
#: themes/default/templates/index.html.ep:2
|
||||
msgid "no time limit"
|
||||
msgstr "no time limit"
|
||||
|
||||
#: themes/default/templates/index.html.ep:124
|
||||
#: themes/default/templates/index.html.ep:86
|
||||
msgid "or"
|
||||
msgstr "or"
|
||||
|
||||
|
|
|
@ -17,17 +17,17 @@ msgstr ""
|
|||
|
||||
#. ($delay)
|
||||
#. (max_delay)
|
||||
#: themes/default/templates/index.html.ep:56 themes/default/templates/index.html.ep:65 themes/default/templates/index.html.ep:66
|
||||
#: themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:47
|
||||
msgid "%1 days"
|
||||
msgstr ""
|
||||
|
||||
#. (stash('ldap_user')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:2
|
||||
#: themes/default/templates/invitations/invite.mail.ep:1
|
||||
msgid "%1 invites you to send him/her files"
|
||||
msgstr ""
|
||||
|
||||
#. (stash('ldap_user')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:6
|
||||
#: themes/default/templates/invitations/invite.mail.ep:5
|
||||
msgid "%1 invites you to send him/her files through Lufi."
|
||||
msgstr ""
|
||||
|
||||
|
@ -41,60 +41,60 @@ msgstr ""
|
|||
msgid "%1 used your invitation to send you files:"
|
||||
msgstr ""
|
||||
|
||||
#: 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
|
||||
#: lib/Lufi/Controller/Invitation.pm:172 lib/Lufi/Controller/Invitation.pm:85 themes/default/templates/invitations/my_invitations.html.ep:48 themes/default/templates/invitations/my_invitations.html.ep:49 themes/default/templates/invitations/my_invitations.html.ep:50 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
|
||||
#: themes/default/templates/index.html.ep:267
|
||||
msgid "(max size: XXX)"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:5
|
||||
#: themes/default/templates/index.html.ep:4
|
||||
msgid "1 year"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:4 themes/default/templates/index.html.ep:65
|
||||
#: themes/default/templates/index.html.ep:3 themes/default/templates/index.html.ep:46
|
||||
msgid "24 hours"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:40
|
||||
#: themes/default/templates/mail.html.ep:67
|
||||
msgid ":"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/render.html.ep:42
|
||||
#: themes/default/templates/render.html.ep:38
|
||||
msgid "Abort"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:53 themes/default/templates/layouts/default.html.ep:86
|
||||
#: themes/default/templates/layouts/default.html.ep:50
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:107
|
||||
#: themes/default/templates/index.html.ep:65 themes/default/templates/render.html.ep:17
|
||||
msgid "Add a password to file(s)"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:16
|
||||
#: themes/default/templates/mail.html.ep:11
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:99
|
||||
msgid "Are you sure you want to delete the selected invitations?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:4
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:100
|
||||
msgid "Are you sure you want to resend the invitation mail for the selected invitations?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
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
|
||||
#. (stash('f')
|
||||
#: themes/default/templates/render.html.ep:96
|
||||
msgid "Asking for file part XX1 of %1"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "Back to homepage"
|
||||
msgstr ""
|
||||
|
||||
|
@ -102,195 +102,191 @@ msgstr ""
|
|||
msgid "Bad CSRF token!"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Auth.pm:27 lib/Lufi/Controller/Auth.pm:49
|
||||
#: lib/Lufi/Controller/Auth.pm:38 lib/Lufi/Controller/Auth.pm:60
|
||||
msgid "Bad CSRF token."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:5
|
||||
#: themes/default/templates/render.html.ep:47 themes/default/templates/render.html.ep:91
|
||||
msgid "Click here to refresh the page and restart the download."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:8
|
||||
#: themes/default/templates/invitations/invite.mail.ep:7
|
||||
msgid "Click on the following URL to upload files on Lufi:"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:126
|
||||
#: themes/default/templates/index.html.ep:88
|
||||
msgid "Click to open the file browser"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/delays.html.ep:42 themes/default/templates/invitations/my_invitations.html.ep:80
|
||||
#: themes/default/templates/index.html.ep:237 themes/default/templates/invitations/my_invitations.html.ep:80
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:23
|
||||
#: themes/default/templates/mail.html.ep:18
|
||||
msgid "Comma-separated email addresses"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:140
|
||||
#: themes/default/templates/index.html.ep:109
|
||||
msgid "Compressing zip file…"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:15
|
||||
#: themes/default/templates/index.html.ep:119 themes/default/templates/index.html.ep:254
|
||||
msgid "Copy all links to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:18
|
||||
#: themes/default/templates/index.html.ep:139 themes/default/templates/index.html.ep:257
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:501
|
||||
#: lib/Lufi/Controller/Files.pm:500
|
||||
msgid "Could not delete the file. You are not authenticated."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:483
|
||||
#: lib/Lufi/Controller/Files.pm:482
|
||||
msgid "Could not find the file. Are you sure of the URL and the token?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:394
|
||||
#: lib/Lufi/Controller/Files.pm:393
|
||||
msgid "Could not find the file. Are you sure of the URL?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:29
|
||||
#: themes/default/templates/files.html.ep:37
|
||||
msgid "Counter"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:100
|
||||
#: themes/default/templates/index.html.ep:75
|
||||
msgid "Create a zip archive with the files before uploading?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:26
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:23
|
||||
msgid "Created at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:14
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:12
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:30 themes/default/templates/index.html.ep:90
|
||||
#: themes/default/templates/files.html.ep:38 themes/default/templates/index.html.ep:60
|
||||
msgid "Delete at first download?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:19
|
||||
#: themes/default/templates/files.html.ep:27
|
||||
msgid "Delete selected files"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:33 themes/default/templates/partial/index.js.ep:19
|
||||
#: themes/default/templates/files.html.ep:41 themes/default/templates/index.html.ep:148 themes/default/templates/index.html.ep:151 themes/default/templates/index.html.ep:258
|
||||
msgid "Deletion link"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/delays.html.ep:9
|
||||
#: themes/default/templates/index.html.ep:204
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:260 themes/default/templates/render.html.ep:20
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:4
|
||||
#: themes/default/templates/render.html.ep:90
|
||||
msgid "Download aborted."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:28 themes/default/templates/partial/index.js.ep:20
|
||||
#: themes/default/templates/files.html.ep:36 themes/default/templates/index.html.ep:138 themes/default/templates/index.html.ep:142 themes/default/templates/index.html.ep:259
|
||||
msgid "Download link"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:10
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:84
|
||||
msgid "Drop files here"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:40
|
||||
#: themes/default/templates/invitations/invite.html.ep:29
|
||||
msgid "Email address of your guest"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:39
|
||||
#: themes/default/templates/mail.html.ep:28 themes/default/templates/mail.html.ep:29
|
||||
msgid "Email body"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:31
|
||||
#: themes/default/templates/mail.html.ep:23 themes/default/templates/mail.html.ep:24
|
||||
msgid "Email subject"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:25 themes/default/templates/mail.html.ep:27
|
||||
#: themes/default/templates/mail.html.ep:19
|
||||
msgid "Emails"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:22
|
||||
#: themes/default/templates/index.html.ep:261
|
||||
msgid "Encrypting part XX1 of XX2"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:283
|
||||
#: lib/Lufi/Controller/Files.pm:279
|
||||
msgid "Error: the file existed but was deleted."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:363
|
||||
#: lib/Lufi/Controller/Files.pm:362
|
||||
msgid "Error: the file has not been sent entirely."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:373
|
||||
#: lib/Lufi/Controller/Files.pm:372
|
||||
msgid "Error: unable to find the file. Are you sure of your URL?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:23
|
||||
#: themes/default/templates/index.html.ep:262
|
||||
msgid "Expiration:"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:27
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:24
|
||||
msgid "Expire at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:32
|
||||
#: themes/default/templates/files.html.ep:40
|
||||
msgid "Expires at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:12
|
||||
#: themes/default/templates/files.html.ep:10
|
||||
msgid "Export localStorage data"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:465
|
||||
#: lib/Lufi/Controller/Files.pm:464
|
||||
msgid "File deleted"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:9
|
||||
#: themes/default/templates/render.html.ep:95
|
||||
msgid "File downloaded"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:27
|
||||
#: themes/default/templates/files.html.ep:35
|
||||
msgid "File name"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:24
|
||||
#: themes/default/templates/index.html.ep:263
|
||||
msgid "File uploaded"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:61
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:60
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:25
|
||||
msgid "Files sent at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:8
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:103
|
||||
msgid "Files sent in invitation XX1 by XX2"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:8
|
||||
#: themes/default/templates/render.html.ep:55 themes/default/templates/render.html.ep:67 themes/default/templates/render.html.ep:94
|
||||
msgid "Get the file"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:18
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:21
|
||||
msgid "Guest mail"
|
||||
msgstr ""
|
||||
|
||||
|
@ -299,67 +295,63 @@ msgstr ""
|
|||
msgid "Hello %1,"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:4
|
||||
#: themes/default/templates/invitations/invite.mail.ep:3
|
||||
msgid "Hello,"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:35
|
||||
#: themes/default/templates/mail.html.ep:59
|
||||
msgid "Hello,\\n\\nHere's some files I want to share with you:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:35
|
||||
#: themes/default/templates/mail.html.ep:24
|
||||
msgid "Here's some files"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:7
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:102
|
||||
msgid "Hide hidden invitations"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:26
|
||||
#: themes/default/templates/index.html.ep:265
|
||||
msgid "Hit Enter, then Ctrl+C to copy all the download links"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:25
|
||||
#: themes/default/templates/index.html.ep:264
|
||||
msgid "Hit Enter, then Ctrl+C to copy the download link"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
msgid "How does it work?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:46
|
||||
#: themes/default/templates/invitations/invite.html.ep:35
|
||||
msgid "How many days would you like the invitation to be valid?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "How to install the software on my server?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:12
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "How to report an illegal file?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/delays.html.ep:8
|
||||
#: themes/default/templates/index.html.ep:203
|
||||
msgid "If you choose a delay, the file will be deleted after that delay."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:15
|
||||
#: themes/default/templates/mail.html.ep:10
|
||||
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
|
||||
#: themes/default/templates/files.html.ep:18
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:198
|
||||
msgid "Information about delays"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:18 themes/default/templates/invitations/my_invitations.html.ep:12
|
||||
#: themes/default/templates/files.html.ep:23 themes/default/templates/invitations/my_invitations.html.ep:10
|
||||
msgid "Invert selection"
|
||||
msgstr ""
|
||||
|
||||
|
@ -373,57 +365,57 @@ msgstr ""
|
|||
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
|
||||
#: themes/default/templates/invitations/invite.html.ep:18 themes/default/templates/layouts/default.html.ep:33
|
||||
msgid "Invite a guest"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:6
|
||||
#: themes/default/templates/render.html.ep:92
|
||||
msgid "It seems that the key in your URL is incorrect. Please, verify your URL."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:12
|
||||
#: themes/default/templates/index.html.ep:9
|
||||
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
|
||||
#: themes/default/templates/layouts/default.html.ep:41 themes/default/templates/layouts/default.html.ep:42 themes/default/templates/layouts/default.html.ep:43
|
||||
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
|
||||
#: themes/default/templates/about.html.ep:21
|
||||
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
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
msgid "Latest tag of this instance: %1"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/login.html.ep:15
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:58 themes/default/templates/layouts/default.html.ep:91
|
||||
#: themes/default/templates/layouts/default.html.ep:56
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "Lufi is a free (as in free speech) file hosting software."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/files.js.ep:12
|
||||
#: themes/default/templates/files.html.ep:86
|
||||
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
|
||||
#: themes/default/templates/files.html.ep:42
|
||||
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
|
||||
#: themes/default/templates/files.html.ep:2 themes/default/templates/layouts/default.html.ep:31
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:5 themes/default/templates/layouts/default.html.ep:34
|
||||
msgid "My invitations"
|
||||
msgstr ""
|
||||
|
||||
|
@ -431,45 +423,45 @@ msgstr ""
|
|||
msgid "NB: this list includes the list of files that have already been sent to you."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:115
|
||||
#: themes/default/templates/index.html.ep:79
|
||||
msgid "Name of the zip file"
|
||||
msgstr ""
|
||||
|
||||
#. (format_bytes($json->{size})
|
||||
#: lib/Lufi/Controller/Files.pm:109
|
||||
#: lib/Lufi/Controller/Files.pm:108
|
||||
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
|
||||
#: themes/default/templates/files.html.ep:84 themes/default/templates/index.html.ep:268
|
||||
msgid "No expiration delay"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:8
|
||||
#: themes/default/templates/files.html.ep:5
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:66 themes/default/templates/login.html.ep:16 themes/default/templates/render.html.ep:18
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
#: themes/default/templates/about.html.ep:12
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/render.html.ep:33
|
||||
#: themes/default/templates/render.html.ep:31
|
||||
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
|
||||
#: lib/Lufi/Controller/Auth.pm:49
|
||||
msgid "Please, check your credentials or your right to access this service: unable to authenticate."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid "Privacy"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:13
|
||||
#: themes/default/templates/files.html.ep:14
|
||||
msgid "Purge expired files from localStorage"
|
||||
msgstr ""
|
||||
|
||||
|
@ -477,81 +469,81 @@ msgstr ""
|
|||
msgid "Regards,"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.mail.ep:15
|
||||
#: themes/default/templates/invitations/invite.mail.ep:14
|
||||
msgid "Regards."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
|
||||
#: themes/default/templates/layouts/default.html.ep:27
|
||||
msgid "Report file"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:15
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:13
|
||||
msgid "Resend invitation mail"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:9
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:7
|
||||
msgid "Rows in purple mean that the invitations have expired."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:9
|
||||
#: themes/default/templates/files.html.ep:6
|
||||
msgid "Rows in red mean that the files have expired and are no longer available."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:27
|
||||
#: themes/default/templates/index.html.ep:120 themes/default/templates/index.html.ep:266
|
||||
msgid "Send all links by email"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:50
|
||||
#: themes/default/templates/invitations/invite.html.ep:39
|
||||
msgid "Send the invitation"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:47
|
||||
#: themes/default/templates/mail.html.ep:34
|
||||
msgid "Send with this server"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/mail.html.ep:49
|
||||
#: themes/default/templates/mail.html.ep:37
|
||||
msgid "Send with your own mail software"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:30
|
||||
#: themes/default/templates/index.html.ep:269
|
||||
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
|
||||
#: themes/default/templates/mail.html.ep:77
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:104 themes/default/templates/invitations/my_invitations.html.ep:11
|
||||
msgid "Show hidden invitations"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:12
|
||||
#: themes/default/templates/render.html.ep:59 themes/default/templates/render.html.ep:98
|
||||
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
|
||||
#: themes/default/templates/layouts/default.html.ep:37 themes/default/templates/login.html.ep:22 themes/default/templates/logout.html.ep:8
|
||||
msgid "Signin"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:16
|
||||
#: lib/Lufi/Controller/Invitation.pm:302 themes/default/templates/invitations/exception.html.ep:8
|
||||
msgid "Sorry, the invitation doesn’t exist. Are you sure you are on the right URL?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:46
|
||||
#: themes/default/templates/index.html.ep:23
|
||||
msgid "Sorry, the uploading is currently disabled. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:82
|
||||
#: lib/Lufi/Controller/Files.pm:81
|
||||
msgid "Sorry, uploading is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/exception.html.ep:7
|
||||
#: themes/default/templates/invitations/exception.html.ep:3
|
||||
msgid "Sorry, your invitation has expired or has been deleted."
|
||||
msgstr ""
|
||||
|
||||
#. ($invit->ldap_user_mail)
|
||||
#: lib/Lufi/Controller/Files.pm:123
|
||||
#: lib/Lufi/Controller/Files.pm:122
|
||||
msgid "Sorry, your invitation has expired or has been deleted. Please contact %1 to have another invitation."
|
||||
msgstr ""
|
||||
|
||||
|
@ -560,7 +552,7 @@ msgstr ""
|
|||
msgid "The URLs of your files have been sent by email to %1."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:7
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
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 ""
|
||||
|
||||
|
@ -568,7 +560,7 @@ msgstr ""
|
|||
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
|
||||
#: themes/default/templates/files.html.ep:85
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
|
@ -585,11 +577,11 @@ msgstr ""
|
|||
msgid "The expiration delay (%1) is not between 1 and %2 days."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:462
|
||||
#: lib/Lufi/Controller/Files.pm:461
|
||||
msgid "The file has already been deleted"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
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 ""
|
||||
|
||||
|
@ -624,21 +616,21 @@ msgid "The invitation %1 has been deleted."
|
|||
msgstr ""
|
||||
|
||||
#. (stash('user_mail')
|
||||
#: themes/default/templates/invitations/invite.html.ep:34
|
||||
#: themes/default/templates/invitations/invite.html.ep:24
|
||||
msgid "The invitation mail will be send from your email address (%1)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:16
|
||||
#: themes/default/templates/index.html.ep:255
|
||||
msgid "The link(s) has been copied to your clipboard"
|
||||
msgstr ""
|
||||
|
||||
#. (stash('invitation')
|
||||
#: themes/default/templates/index.html.ep:30
|
||||
#: themes/default/templates/index.html.ep:18
|
||||
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
|
||||
#: themes/default/templates/invitations/invite.mail.ep:10
|
||||
msgid "The links of your file(s) will automatically be sent by mail to %1."
|
||||
msgstr ""
|
||||
|
||||
|
@ -646,103 +638,103 @@ msgstr ""
|
|||
msgid "The mail has been sent."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
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
|
||||
#: lib/Lufi/Controller/Files.pm:226
|
||||
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
|
||||
#: lib/Lufi/Controller/Files.pm:285
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:43 themes/default/templates/invitations/my_invitations.html.ep:87
|
||||
msgid "This invitation is normally hidden"
|
||||
msgstr ""
|
||||
|
||||
#. (stash('expires')
|
||||
#: themes/default/templates/invitations/invite.mail.ep:13
|
||||
#: themes/default/templates/invitations/invite.mail.ep:12
|
||||
msgid "This invitation is valid until %1."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/delays.html.ep:13
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
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
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:14
|
||||
msgid "Toggle visibility"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:25
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:22
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:17
|
||||
#: themes/default/templates/index.html.ep:256
|
||||
msgid "Unable to copy the link(s) to your clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:13
|
||||
#: themes/default/templates/render.html.ep:99
|
||||
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
|
||||
#: lib/Lufi/Controller/Files.pm:432
|
||||
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
|
||||
#: lib/Lufi/Controller/Files.pm:422
|
||||
msgid "Unable to get counter for %1. The token is invalid."
|
||||
msgstr ""
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lufi/Controller/Files.pm:443
|
||||
#: lib/Lufi/Controller/Files.pm:442
|
||||
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
|
||||
#: themes/default/templates/layouts/default.html.ep:30
|
||||
msgid "Upload files"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:145
|
||||
#: themes/default/templates/index.html.ep:104
|
||||
msgid "Upload generated zip file"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/files.html.ep:31
|
||||
#: themes/default/templates/files.html.ep:39
|
||||
msgid "Uploaded at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:153
|
||||
#: themes/default/templates/index.html.ep:116
|
||||
msgid "Uploaded files"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:31
|
||||
#: themes/default/templates/index.html.ep:270
|
||||
msgid "Websocket communication error"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
#: themes/default/templates/about.html.ep:2
|
||||
msgid "What is Lufi?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
msgid "Who wrote this software?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/index.js.ep:13
|
||||
#: themes/default/templates/index.html.ep:252
|
||||
msgid "XXX file has been added to upload queue."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/invitations/invite.html.ep:30
|
||||
#: themes/default/templates/invitations/invite.html.ep:20
|
||||
msgid "You can invite someone to send you files through this Lufi instance even if they don’t have an account on it."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
#: themes/default/templates/about.html.ep:10
|
||||
msgid "You can see the list of your files by clicking on the \"My files\" link at the top right of this page."
|
||||
msgstr ""
|
||||
|
||||
|
@ -751,23 +743,23 @@ msgstr ""
|
|||
msgid "You can't add URLs that are not related to this instance (%1)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
#: themes/default/templates/about.html.ep:7
|
||||
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
|
||||
#: themes/default/templates/render.html.ep:97
|
||||
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
|
||||
#: themes/default/templates/render.html.ep:93
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:253
|
||||
msgid "You have attempted to leave this page. The upload will be canceled. Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/logout.html.ep:14
|
||||
#: themes/default/templates/logout.html.ep:7
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
|
||||
|
@ -775,56 +767,52 @@ msgstr ""
|
|||
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
|
||||
#: lib/Lufi/Controller/Files.pm:94
|
||||
msgid "Your file is too big: %1 (maximum size allowed: %2)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lufi/Controller/Files.pm:345
|
||||
#: lib/Lufi/Controller/Files.pm:344
|
||||
msgid "Your password is not valid. Please refresh the page to retry."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/render.js.ep:14
|
||||
#: themes/default/templates/render.html.ep:100 themes/default/templates/render.html.ep:62
|
||||
msgid "Zip content:"
|
||||
msgstr ""
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:24
|
||||
#: themes/default/templates/index.html.ep:219
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:221
|
||||
msgid "between %1 and %2, the file will be kept forever."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/mail.js.ep:42
|
||||
#: themes/default/templates/mail.html.ep:70
|
||||
msgid "deadline: "
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/invitations.js.ep:5
|
||||
#: themes/default/templates/invitations/my_invitations.html.ep:101
|
||||
msgid "expires on XXX"
|
||||
msgstr ""
|
||||
|
||||
#. (format_bytes($keys[$i])
|
||||
#: themes/default/templates/delays.html.ep:30
|
||||
#: themes/default/templates/index.html.ep:225
|
||||
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
|
||||
#: themes/default/templates/index.html.ep:227
|
||||
msgid "for %1 and more, the file will be kept forever."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:3
|
||||
#: themes/default/templates/index.html.ep:2
|
||||
msgid "no time limit"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:124
|
||||
#: themes/default/templates/index.html.ep:86
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -100,6 +100,35 @@ a:visited {
|
|||
color: var(--active-color);
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
line-height: 1.5rem;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table tbody tr:nth-child(even) {
|
||||
background-color: var(--table-bg-color);
|
||||
}
|
||||
|
||||
table tbody tr.deleted {
|
||||
background: repeating-linear-gradient(-45deg, transparent 0 2rem, var(--table-deleted-bg-color) 2rem 4rem);
|
||||
}
|
||||
|
||||
table tbody tr:hover {
|
||||
background-color: var(--hover-color);
|
||||
transition: background-color 0.3s linear;
|
||||
}
|
||||
|
||||
table tbody td {
|
||||
padding: 0.5rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table tbody td.column.name {
|
||||
text-align: left;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.input-text {
|
||||
display: inline-block;
|
||||
}
|
||||
|
@ -183,7 +212,7 @@ a.button {
|
|||
height: 2rem;
|
||||
mask: url("../icon/hide-source.svg");
|
||||
mask-repeat: no-repeat;
|
||||
background: var(--icon-color);
|
||||
background: var(--main-fg-color);
|
||||
}
|
||||
|
||||
.icon.mail {
|
||||
|
@ -240,10 +269,6 @@ a.button {
|
|||
content: ")";
|
||||
}
|
||||
|
||||
.template {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.icon-button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -261,7 +286,6 @@ a.button {
|
|||
|
||||
#main-menu {
|
||||
min-height: 3rem;
|
||||
width: 100%;
|
||||
background-color: var(--menu-bg-color);
|
||||
color: var(--menu-fg-color);
|
||||
display: flex;
|
||||
|
@ -493,7 +517,7 @@ main form select {
|
|||
transform: scale(1);
|
||||
}
|
||||
|
||||
.checkbox>* {
|
||||
.checkbox input {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
@ -717,7 +741,7 @@ main form select {
|
|||
display: grid;
|
||||
grid-template-columns: calc(100% - 2rem) 2rem;
|
||||
justify-content: center;
|
||||
margin: 1rem 0;
|
||||
margin: 1rem 2px;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
|
@ -729,6 +753,10 @@ main form select {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.actions-buttons.upload-success {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
.file-card .file-description .action-mail {
|
||||
display: inline-block;
|
||||
|
@ -835,6 +863,11 @@ dialog {
|
|||
width: 75%;
|
||||
}
|
||||
|
||||
dialog h1 {
|
||||
font-size: 2rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
dialog::backdrop {
|
||||
background: rgba(0, 0, 0, 0.75)
|
||||
}
|
||||
|
@ -1071,35 +1104,6 @@ dialog .actions {
|
|||
overflow: auto;
|
||||
}
|
||||
|
||||
.my-files-section table {
|
||||
width: 100%;
|
||||
line-height: 1.5rem;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.my-files-section table tbody tr:nth-child(even) {
|
||||
background-color: var(--table-bg-color);
|
||||
}
|
||||
|
||||
.my-files-section table tbody tr.deleted {
|
||||
background: repeating-linear-gradient(-45deg, transparent 0 2rem, var(--table-deleted-bg-color) 2rem 4rem);
|
||||
}
|
||||
|
||||
.my-files-section table tbody tr:hover {
|
||||
background-color: var(--hover-color);
|
||||
transition: background-color 0.3s linear;
|
||||
}
|
||||
|
||||
.my-files-section table tbody td {
|
||||
padding: 0.5rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.my-files-section table tbody td.column.name {
|
||||
text-align: left;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.my-files-section .icon {
|
||||
background-color: CanvasText;
|
||||
}
|
||||
|
@ -1165,7 +1169,7 @@ dialog .actions {
|
|||
}
|
||||
|
||||
/** Login --- End */
|
||||
/** Invite --- Start */
|
||||
/** Invitations --- Start */
|
||||
.invite-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
@ -1177,4 +1181,23 @@ dialog .actions {
|
|||
margin: auto;
|
||||
}
|
||||
|
||||
/** Invite --- End */
|
||||
.my-invitations-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.my-invitations-section .column.url {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.my-invitations-section .input-selection {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.my-invitations-section .input-selection .icon {
|
||||
height: 1.5rem;
|
||||
width: 1.5rem;
|
||||
}
|
||||
|
||||
/** Invitations --- End */
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m791-55-91-91q-49 32-104.5 49T480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-60 17-115.5T146-700l-91-91 57-57 736 736-57 57Zm23-205L260-814q49-32 104.5-49T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 60-17 115.5T814-260Z"/></svg>
|
After Width: | Height: | Size: 321 B |
|
@ -17,9 +17,8 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||
*/
|
||||
const updateDOM = (lufiFile = undefined, type) => {
|
||||
const cardDOM = document
|
||||
.querySelector(`.template.download-card.${type}`)
|
||||
.cloneNode(true);
|
||||
cardDOM.classList.remove("template");
|
||||
.querySelector(`template#download-card-${type}`)
|
||||
.content.cloneNode(true).children[0];
|
||||
|
||||
if (lufiFile) {
|
||||
cardDOM.querySelector(".file-size").innerText = filesize(lufiFile.size);
|
||||
|
@ -66,10 +65,8 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||
.map((job) => {
|
||||
job.archiveFiles.forEach((file) => {
|
||||
const itemDOM = zipContainerDOM
|
||||
.querySelector(".zip-item")
|
||||
.cloneNode(true);
|
||||
|
||||
itemDOM.classList.remove("template");
|
||||
.querySelector("template#zip-item")
|
||||
.content.cloneNode(true).children[0];
|
||||
|
||||
itemDOM.querySelector(".file-name").innerText = escapeHtml(
|
||||
file.name
|
||||
|
|
|
@ -21,9 +21,7 @@ const itemExists = (serverKey) => {
|
|||
};
|
||||
|
||||
const invertSelection = () => {
|
||||
document
|
||||
.querySelectorAll(".item:not(.template) .column.selection input")
|
||||
.forEach((node) => {
|
||||
document.querySelectorAll(".item .column.selection input").forEach((node) => {
|
||||
node.click();
|
||||
});
|
||||
checkItemSelection();
|
||||
|
@ -137,9 +135,7 @@ const deleteSelection = () => {
|
|||
|
||||
const populateFilesTable = () => {
|
||||
const filesItemsDOM = document.querySelector(".files-items");
|
||||
filesItemsDOM
|
||||
.querySelectorAll("tr:not(.template)")
|
||||
.forEach((node) => node.remove());
|
||||
filesItemsDOM.querySelectorAll("tr").forEach((node) => node.remove());
|
||||
|
||||
let files = localStorage.getItem(`${prefix}files`);
|
||||
|
||||
|
@ -166,9 +162,10 @@ const populateFilesTable = () => {
|
|||
|
||||
files.forEach((file) => {
|
||||
const itemDOM = document
|
||||
.querySelector(".files-items .template.item")
|
||||
.cloneNode(true);
|
||||
itemDOM.classList.replace("template", `item-${file.short}`);
|
||||
.querySelector("template#item")
|
||||
.content.cloneNode(true).children[0];
|
||||
|
||||
itemDOM.classList.add(`item-${file.short}`);
|
||||
|
||||
itemDOM.setAttribute("data-serverKey", file.short);
|
||||
itemDOM.setAttribute("data-actionKey", file.token);
|
||||
|
@ -213,7 +210,7 @@ const populateFilesTable = () => {
|
|||
})
|
||||
.then((response) => {
|
||||
if (!response.ok) {
|
||||
throw new Error("Request error.");
|
||||
throw new Error(`Request error: ${response.statusText}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
|
@ -237,7 +234,8 @@ const populateFilesTable = () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((error) => console.error(error));
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,272 @@
|
|||
import { filesize } from "./filesize.esm.min.js";
|
||||
|
||||
const updateButtonsStatus = () => {
|
||||
const targetSelectionDOM = document.querySelectorAll(".target-selection");
|
||||
|
||||
if (
|
||||
document.querySelectorAll(".column.selection .checkbox input:checked")
|
||||
.length > 0
|
||||
) {
|
||||
targetSelectionDOM.forEach((node) => (node.disabled = false));
|
||||
} else {
|
||||
targetSelectionDOM.forEach((node) => (node.disabled = true));
|
||||
}
|
||||
};
|
||||
|
||||
const invertSelection = () => {
|
||||
document.querySelectorAll(".item .column.selection input").forEach((node) => {
|
||||
node.click();
|
||||
});
|
||||
|
||||
updateButtonsStatus();
|
||||
};
|
||||
|
||||
const toggleHidden = () => {
|
||||
const invitationsListDOM = document.querySelector(".invitations-list");
|
||||
const toggleButtonDOM = document.querySelector(".action-toggle-hidden");
|
||||
const itemsHiddenDOM = invitationsListDOM.querySelectorAll(
|
||||
".item[data-visibility='0']"
|
||||
);
|
||||
|
||||
if (invitationsListDOM.getAttribute("data-visibility") === "hidden") {
|
||||
toggleButtonDOM.innerText = i18n.hideText;
|
||||
|
||||
itemsHiddenDOM.forEach((item) => item.classList.remove("hidden"));
|
||||
|
||||
invitationsListDOM.setAttribute("data-visibility", "shown");
|
||||
} else {
|
||||
toggleButtonDOM.innerText = i18n.showText;
|
||||
|
||||
itemsHiddenDOM.forEach((item) => {
|
||||
item.classList.add("hidden");
|
||||
|
||||
const checkbox = item.querySelector("input");
|
||||
|
||||
if (checkbox.checked) {
|
||||
checkbox.click();
|
||||
}
|
||||
});
|
||||
|
||||
invitationsListDOM.setAttribute("data-visibility", "hidden");
|
||||
}
|
||||
};
|
||||
|
||||
const deleteInvitation = () => {
|
||||
if (confirm(i18n.confirmDeleteInvit)) {
|
||||
try {
|
||||
fetch(deleteURL, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
},
|
||||
body: getTokensBody(),
|
||||
})
|
||||
.then((response) => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`Request error: ${response.statusText}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.success) {
|
||||
data.tokens.forEach((t) => {
|
||||
addToast(t.msg, "success");
|
||||
document.getElementById(`row-${t.token}`).remove();
|
||||
});
|
||||
|
||||
data.failures.forEach((msg) => {
|
||||
addToast(msg, "error");
|
||||
});
|
||||
|
||||
updateButtonsStatus();
|
||||
} else {
|
||||
data.failures.forEach((msg) => {
|
||||
addToast(msg, "error");
|
||||
});
|
||||
|
||||
if (data.msg) {
|
||||
addToast(data.msg, "error");
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const resendInvitation = () => {
|
||||
if (confirm(i18n.confirmResendMail)) {
|
||||
fetch(resendURL, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
},
|
||||
body: getTokensBody(),
|
||||
})
|
||||
.then((response) => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`Request error: ${response.statusText}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.success) {
|
||||
data.tokens.forEach((t) => {
|
||||
const itemDOM = document.getElementById(`row-${t.token}`);
|
||||
|
||||
itemDOM.querySelector(".column.expiration-date").innerText =
|
||||
t.expires;
|
||||
|
||||
itemDOM.querySelector(".column.selection input").click();
|
||||
addToast(t.msg, "success");
|
||||
});
|
||||
|
||||
data.failures.forEach((msg) => {
|
||||
addToast(msg, "error");
|
||||
});
|
||||
|
||||
updateButtonsStatus();
|
||||
}
|
||||
})
|
||||
.catch((error) => console.error(error));
|
||||
}
|
||||
};
|
||||
|
||||
const toggleVisibility = () => {
|
||||
fetch(toggleURL, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
|
||||
},
|
||||
body: getTokensBody(),
|
||||
})
|
||||
.then((response) => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`Request error: ${response.statusText}`);
|
||||
}
|
||||
|
||||
return response.json();
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.success) {
|
||||
data.tokens.forEach((t) => {
|
||||
const itemDOM = document.getElementById(`row-${t.token}`);
|
||||
|
||||
if (t.show) {
|
||||
itemDOM.setAttribute("data-visibility", 1);
|
||||
itemDOM.classList.remove("hidden");
|
||||
itemDOM
|
||||
.querySelector(".column.selection .icon.hide-source")
|
||||
.remove();
|
||||
} else {
|
||||
itemDOM.setAttribute("data-visibility", 0);
|
||||
|
||||
if (
|
||||
document
|
||||
.querySelector(".invitations-list")
|
||||
.getAttribute("data-visibility") === "hidden"
|
||||
) {
|
||||
itemDOM.classList.add("hidden");
|
||||
}
|
||||
|
||||
itemDOM
|
||||
.querySelector(".column.selection")
|
||||
.appendChild(
|
||||
document
|
||||
.querySelector("template#icon-hide-source")
|
||||
.content.cloneNode(true)
|
||||
);
|
||||
}
|
||||
|
||||
itemDOM.querySelector(".column.selection input").click();
|
||||
});
|
||||
|
||||
updateButtonsStatus();
|
||||
} else {
|
||||
addToast(data.msg, "error");
|
||||
}
|
||||
})
|
||||
.catch((error) => console.error(error));
|
||||
};
|
||||
|
||||
const getTokensBody = () => {
|
||||
const tokens = new URLSearchParams();
|
||||
|
||||
document
|
||||
.querySelectorAll(".column.selection input:checked")
|
||||
.forEach((item) =>
|
||||
tokens.append("tokens[]", item.getAttribute("data-token"))
|
||||
);
|
||||
|
||||
return tokens;
|
||||
};
|
||||
|
||||
const fillModal = (event) => {
|
||||
const buttonDOM = event.target;
|
||||
const modalDOM = document.querySelector(".modal.files-info");
|
||||
|
||||
// Cleanup the modal
|
||||
modalDOM.querySelector(".files-list").replaceChildren();
|
||||
|
||||
modalDOM.querySelector("h1").innerText = i18n.listFiles
|
||||
.replace("XX1", buttonDOM.getAttribute("data-token"))
|
||||
.replace("XX2", buttonDOM.getAttribute("data-guest"));
|
||||
|
||||
const files = JSON.parse(buttonDOM.getAttribute("data-files")) || [];
|
||||
const itemList = new DocumentFragment();
|
||||
|
||||
files.forEach((file) => {
|
||||
const expires = i18n.expiration.replace(
|
||||
"XXX",
|
||||
formatDate(file.delay * 86400 + file.created_at)
|
||||
);
|
||||
const item = modalDOM
|
||||
.querySelector("template#item")
|
||||
.content.cloneNode(true);
|
||||
|
||||
item.querySelector(".file-link").href = file.url;
|
||||
item.querySelector(".file-link").value = file.name;
|
||||
item.querySelector(".file-size").innerText = `${filesize(
|
||||
file.size
|
||||
)}, ${expires}`;
|
||||
|
||||
itemList.appendChild(item);
|
||||
});
|
||||
|
||||
modalDOM.querySelector(".files-list").appendChild(itemList);
|
||||
};
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
document.querySelectorAll(".modal-button.action-files-info").forEach(
|
||||
(button) =>
|
||||
(button.onclick = (event) => {
|
||||
fillModal(event);
|
||||
|
||||
document.querySelector(".modal.files-info").showModal();
|
||||
})
|
||||
);
|
||||
|
||||
document.querySelector(".close-modal").onclick = () => {
|
||||
document.querySelector(".modal").close();
|
||||
};
|
||||
|
||||
document
|
||||
.querySelectorAll(".column.selection input")
|
||||
.forEach((node) => (node.onclick = updateButtonsStatus));
|
||||
|
||||
document.querySelector(".action-invert-selection").onclick = invertSelection;
|
||||
|
||||
document.querySelector(".action-toggle-hidden").onclick = toggleHidden;
|
||||
|
||||
document.querySelector(".action-delete-invitation").onclick =
|
||||
deleteInvitation;
|
||||
|
||||
document.querySelector(".action-resend-invitation").onclick =
|
||||
resendInvitation;
|
||||
|
||||
document.querySelector(".action-toggle-visibility").onclick =
|
||||
toggleVisibility;
|
||||
});
|
|
@ -107,9 +107,9 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||
const createFileCard = (job, type, existingCard = undefined) => {
|
||||
const { lufiFile } = job;
|
||||
const cardDOM = document
|
||||
.querySelector(`.template.file-card.${type}`)
|
||||
.cloneNode(true);
|
||||
cardDOM.classList.remove("template");
|
||||
.querySelector(`template#file-card-${type}`)
|
||||
.content.cloneNode(true).children[0];
|
||||
|
||||
cardDOM.id = `file-card-${lufiFile.keys.client}`;
|
||||
|
||||
cardDOM.querySelector(".file-name").innerText = escapeHtml(lufiFile.name);
|
||||
|
|
|
@ -43,7 +43,13 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody class="files-items">
|
||||
<tr class="template item">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<template id="item">
|
||||
<tr class="item">
|
||||
<td class="column selection">
|
||||
<div class="checkbox input-delete-on-first-view">
|
||||
<input type="checkbox" autocomplete="off">
|
||||
|
@ -66,9 +72,7 @@
|
|||
<a class="icon icon-button mail" href="#"></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script type="text/javascript">
|
||||
% if (defined($self->config('fixed_domain')) && $self->config('fixed_domain')) {
|
||||
|
|
|
@ -122,8 +122,50 @@
|
|||
</header>
|
||||
|
||||
<div class="file-cards"></div>
|
||||
</section>
|
||||
|
||||
<article class="template card file-card success">
|
||||
<template id="file-card-error">
|
||||
<article class="card file-card error">
|
||||
<button type="button" class="icon-button action-close"></button>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<div class="message-card error upload-error"></div>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<template id="file-card-guest">
|
||||
<article class="card file-card guest">
|
||||
<button type="button" class="icon-button icon close action-close"></button>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<p class="file-expiration"></p>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<template id="file-card-ongoing">
|
||||
<article class="card file-card ongoing">
|
||||
<span class="action-close"></span>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<p class="progress-percent">0</p>
|
||||
|
||||
<div class="progress-container">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<template id="file-card-success">
|
||||
<article class="card file-card success">
|
||||
<button type="button" class="icon-button icon close action-close"></button>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
|
@ -155,41 +197,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="template card file-card guest">
|
||||
<button type="button" class="icon-button icon close action-close"></button>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<p class="file-expiration"></p>
|
||||
</article>
|
||||
|
||||
<article class="template card file-card error">
|
||||
<button type="button" class="icon-button action-close"></button>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<div class="message-card error upload-error"></div>
|
||||
</article>
|
||||
|
||||
<article class="template card file-card ongoing">
|
||||
<span class="action-close"></span>
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
||||
<p class="progress-percent">0</p>
|
||||
|
||||
<div class="progress-container">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</article>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<dialog class="modal modal-delete-after-days">
|
||||
% use Number::Bytes::Human qw(format_bytes);
|
||||
|
@ -273,7 +281,7 @@ const maxSize = <%= config('max_file_size') || 0 %>;
|
|||
|
||||
% if (defined stash('invitation')) {
|
||||
const isGuest = true;
|
||||
const sendFilesURLsURL = '<%= url_for('guest_send_mail', token => stash('invation')->token)->to_abs() %>';
|
||||
const sendFilesURLsURL = '<%= url_for('guest_send_mail', token => stash('invitation')->token)->to_abs() %>';
|
||||
% } else {
|
||||
const isGuest = false;
|
||||
% }
|
||||
|
|
|
@ -7,26 +7,26 @@
|
|||
<%= l('Rows in purple mean that the invitations have expired.') %>
|
||||
</p>
|
||||
<div class="actions-buttons">
|
||||
<a href="#" class="button action-invert-selection"><%= l('Invert selection') %></a>
|
||||
<a href="#" class="button action-toggle-hidden"><%= l('Show hidden invitations') %></a>
|
||||
<a href="#" class="button action-delete-invitation" disabled><%= l('Delete') %></a>
|
||||
<a href="#" class="button action-resend-mail" disabled><%= l('Resend invitation mail') %></a>
|
||||
<a href="#" class="button action-toggle-visibility" disabled><%= l('Toggle visibility') %></a>
|
||||
<button href="#" class="button action-invert-selection"><%= l('Invert selection') %></button>
|
||||
<button href="#" class="button action-toggle-hidden"><%= l('Show hidden invitations') %></button>
|
||||
<button href="#" class="button target-selection action-delete-invitation" disabled="disabled"=><%= l('Delete') %></button>
|
||||
<button href="#" class="button target-selection action-resend-invitation" disabled="disabled"><%= l('Resend invitation mail') %></button>
|
||||
<button href="#" class="button target-selection action-toggle-visibility" disabled="disabled"><%= l('Toggle visibility') %></button>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th></th>
|
||||
<th><%= l('Guest mail') %></th>
|
||||
<th><%= l('URL') %></th>
|
||||
<th><%= l('Created at') %></th>
|
||||
<th><%= l('Expire at') %></th>
|
||||
<th><%= l('Files sent at') %></th>
|
||||
<th> </th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-visibility="hidden">
|
||||
<tbody class="invitations-list" data-visibility="hidden">
|
||||
% my $time = time;
|
||||
% $invitations->each(sub {
|
||||
% my ($e, $num) = @_;
|
||||
|
@ -34,30 +34,30 @@
|
|||
% my $class = '';
|
||||
% $class = 'deleted' unless $e->is_valid;
|
||||
% $class .= ' hidden' unless $e->show_in_list;
|
||||
<tr id="row-<%= $e->token %>" class="<%= $class %>" data-visibility="<%= ($e->show_in_list) ? 1 : 0 %>">
|
||||
<tr id="row-<%= $e->token %>" class="item <%= $class %>" data-visibility="<%= ($e->show_in_list) ? 1 : 0 %>">
|
||||
<td class="column selection">
|
||||
<div class="checkbox input-selection">
|
||||
<input type="checkbox">
|
||||
</div>
|
||||
<input type="checkbox" id="<%= $e->token %>">
|
||||
<label for="<%= $e->token %>" hidden></label>
|
||||
<input type="checkbox" data-token="<%= $e->token %>">
|
||||
|
||||
% unless ($e->show_in_list) {
|
||||
<i class="mdi-navigation-cancel" title="<%= l('This invitation is normally hidden') %>"></i>
|
||||
<span class="icon hide-source" title="<%= l('This invitation is normally hidden') %>"></span>
|
||||
% }
|
||||
</div>
|
||||
</td>
|
||||
<td><%= $e->guest_mail %></td>
|
||||
<td><%= url_for('guest', token => $e->token)->to_abs %></td>
|
||||
<td><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->created_at) %></td>
|
||||
<td id="expire-<%= $e->token %>"><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->expire_at) %></td>
|
||||
<td><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->files_sent_at) if $e->files_sent_at %></td>
|
||||
<td>
|
||||
<td class="column mail"><%= $e->guest_mail %></td>
|
||||
<td class="column url"><%= url_for('guest', token => $e->token)->to_abs %></td>
|
||||
<td class="column creation-date"><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->created_at) %></td>
|
||||
<td class="column expiration-date"><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->expire_at) %></td>
|
||||
<td class="column files-sent-data"><%= $lang->time2str(l('%A %d %B %Y at %T'), $e->files_sent_at) if $e->files_sent_at %></td>
|
||||
<td class="column actions">
|
||||
% if ($e->files) {
|
||||
<a href="#files-info"
|
||||
data-files="<%= $e->files %>"
|
||||
<a
|
||||
class="button modal-button action-files-info"
|
||||
href="#files-info"
|
||||
data-files='<%= $e->files %>'
|
||||
data-token="<%= $e->token %>"
|
||||
data-guest="<%= $e->guest_mail %>"
|
||||
class="btn left-mg cyan waves-effect waves-light modal-trigger prefix">
|
||||
>
|
||||
<%= l('Files') %>
|
||||
</a>
|
||||
% }
|
||||
|
@ -67,20 +67,46 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<div id="files-info" class="modal">
|
||||
<div class="modal-content">
|
||||
<h1 class="small-h1"></h1>
|
||||
<div class="text-left">
|
||||
<ul id="files-ul">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat"><%= l('Close') %></a>
|
||||
</div>
|
||||
<dialog class="modal files-info">
|
||||
<section>
|
||||
<header>
|
||||
<h1></h1>
|
||||
</header>
|
||||
|
||||
<div class="content">
|
||||
<ul class="files-list"></ul>
|
||||
</div>
|
||||
|
||||
<footer class="actions">
|
||||
<button autofocus class="button close-modal"><%= l('Close') %></button>
|
||||
</footer>
|
||||
</section>
|
||||
</dialog>
|
||||
</section>
|
||||
|
||||
%= javascript '/partial/invitations.js'
|
||||
%= javascript '/js/lufi-list-invitations.js'
|
||||
%= javascript '/js/filesize.min.js'
|
||||
<template id="icon-hide-source">
|
||||
<span class="icon hide-source" title="<%= l('This invitation is normally hidden') %>"></span>
|
||||
</template>
|
||||
|
||||
<template id="item">
|
||||
<li class="item">
|
||||
<a class="file-link" href="#"></a>
|
||||
<span class="file-size"></span>
|
||||
</li>
|
||||
</template>
|
||||
|
||||
<script type="text/javascript">
|
||||
const i18n = {
|
||||
confirmDeleteInvit: '<%= l('Are you sure you want to delete the selected invitations?') %>',
|
||||
confirmResendMail: '<%= l('Are you sure you want to resend the invitation mail for the selected invitations?') %>',
|
||||
expiration: '<%= l('expires on XXX') %>',
|
||||
hideText: '<%= l('Hide hidden invitations') %>',
|
||||
listFiles: '<%= l('Files sent in invitation XX1 by XX2') %>',
|
||||
showText: '<%= l('Show hidden invitations') %>'
|
||||
};
|
||||
|
||||
const deleteURL = '<%= url_for('invite_list_delete') %>';
|
||||
const resendURL = '<%= url_for('invite_list_resend') %>';
|
||||
const toggleURL = '<%= url_for('invite_list_visibility') %>';
|
||||
</script>
|
||||
%= javascript '/js/lufi-list-invitations.js', type => 'module'
|
||||
|
|
|
@ -92,8 +92,8 @@
|
|||
};
|
||||
|
||||
const addToast = (text, type) => {
|
||||
const toastDOM = document.querySelector(".template.toast").cloneNode(true);
|
||||
toastDOM.classList.replace("template", type)
|
||||
const toastDOM = document.querySelector("template#toast").content.cloneNode(true).children[0];
|
||||
toastDOM.classList.add(type)
|
||||
|
||||
toastDOM.querySelector(".message").innerText = escapeHtml(text);
|
||||
|
||||
|
@ -142,12 +142,14 @@
|
|||
|
||||
<div class="toast-container"></div>
|
||||
|
||||
<div class="template toast">
|
||||
<template id="toast">
|
||||
<div class="toast">
|
||||
<div class="message"></div>
|
||||
<div class="progress-container">
|
||||
<div class="progress-bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
% if (defined(config('piwik_img'))) {
|
||||
<img src="<%== config('piwik_img') %>" class="no_border" alt="" />
|
||||
|
|
|
@ -23,7 +23,9 @@
|
|||
|
||||
<div class="download-container"></div>
|
||||
|
||||
<article class="template download-card ongoing">
|
||||
|
||||
<template id="download-card-ongoing">
|
||||
<article class="download-card ongoing">
|
||||
<div class="file-description">
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
@ -37,8 +39,11 @@
|
|||
|
||||
<button type="button" class="button action-abort"><%= l('Abort') %></a>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<article class="template download-card aborted">
|
||||
|
||||
<template id="download-card-aborted">
|
||||
<article class="download-card aborted">
|
||||
<div class="file-description">
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
@ -46,8 +51,11 @@
|
|||
<p class="abort-message"></p>
|
||||
<button type="button" class="button action-reload"><%= l('Click here to refresh the page and restart the download.') %></a>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<article class="template download-card success">
|
||||
|
||||
<template id="download-card-success">
|
||||
<article class="download-card success">
|
||||
<div class="file-description" data-isZipped="<%= (stash('f')->zipped) ? 'true' : 'false' %>">
|
||||
<p class="file-size"></p>
|
||||
</div>
|
||||
|
@ -61,18 +69,15 @@
|
|||
<div class="hidden zip-content">
|
||||
<h2><%= l('Zip content:') %></h2>
|
||||
<ul>
|
||||
<li class="template zip-item">
|
||||
<span class="file-name"></span>
|
||||
<span class="file-size"></span>
|
||||
<a class="icon-button icon download action-download-item" title="<%= l('Get the file') %>" href="#"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<article class="template download-card error">
|
||||
<template id="download-card-error">
|
||||
<article class="download-card error">
|
||||
<div class="file-description">
|
||||
<p class="file-name"></p>
|
||||
<p class="file-size"></p>
|
||||
|
@ -80,6 +85,15 @@
|
|||
|
||||
<div class="message-card error"></div>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<template id="zip-item">
|
||||
<li class="zip-item">
|
||||
<span class="file-name"></span>
|
||||
<span class="file-size"></span>
|
||||
<a class="icon-button icon download action-download-item" title="<%= l('Get the file') %>" href="#"></a>
|
||||
</li>
|
||||
</template>
|
||||
% }
|
||||
% }
|
||||
</section>
|
||||
|
|
Loading…
Reference in New Issue