mirror of
https://framagit.org/fiat-tux/hat-softwares/lutim.git
synced 2026-07-06 01:41:30 +02:00
Add Copy to clipboard buttons (each link + all links)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
*.swp
|
||||
lutim.conf
|
||||
lutim.db
|
||||
script/hypnotoad.pid
|
||||
|
||||
@@ -11,6 +11,9 @@ Revision history for Lutim
|
||||
- Purge images from their EXIF tags (for more privacy)
|
||||
- Provide markdown syntax at upload for using lutim's hosted images
|
||||
- Now using a wiki: makes README lighter (https://git.framasoft.org/luc/lutim/wikis/home)
|
||||
- Update twitter bootstrap
|
||||
- Add "Copy to clipboard" buttons to each link
|
||||
- Add "Copy all links" button
|
||||
- bugfixes
|
||||
|
||||
0.6 2014-10-03
|
||||
|
||||
@@ -5,8 +5,9 @@ CARTON=carton exec
|
||||
LUTIM=script/lutim
|
||||
|
||||
locales:
|
||||
$(XGETTEXT) -f $(EXTRACTFILES) -o $(EN)
|
||||
$(XGETTEXT) -W -f $(EXTRACTFILES) -o $(EN)
|
||||
tx push -s
|
||||
|
||||
dev:
|
||||
rm public/packed/*
|
||||
$(CARTON) morbo $(LUTIM) --listen http://0.0.0.0:3000
|
||||
|
||||
@@ -48,6 +48,12 @@
|
||||
"code": 59392,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "1a27e6346cdf0480c9c22351378bebbb",
|
||||
"css": "clipboard",
|
||||
"code": 59401,
|
||||
"src": "typicons"
|
||||
},
|
||||
{
|
||||
"uid": "fccd3ea0efb711b849045bee686b1ceb",
|
||||
"css": "spinner",
|
||||
|
||||
+147
-126
@@ -1,329 +1,350 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: Lutim\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"PO-Revision-Date: 2015-09-10 23:28+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@didry.org>\n"
|
||||
"Language-Team: English (http://www.transifex.com/fiat-tux/lutim/language/en/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: templates/index.html.ep:134 templates/index.html.ep:143 templates/index.html.ep:144 templates/index.html.ep:255 templates/index.html.ep:264 templates/index.html.ep:265 templates/index.html.ep:36 templates/index.html.ep:45 templates/index.html.ep:46 templates/index.html.ep:88 templates/index.html.ep:97 templates/index.html.ep:98
|
||||
msgid "%1 days"
|
||||
msgstr ""
|
||||
"Language: en\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. ($total)
|
||||
#: templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr ""
|
||||
msgstr "%1 sent images on this instance from beginning."
|
||||
|
||||
#: templates/index.html.ep:164
|
||||
#: templates/index.html.ep:154
|
||||
msgid "-or-"
|
||||
msgstr ""
|
||||
msgstr "-or-"
|
||||
|
||||
#: templates/index.html.ep:5
|
||||
msgid "1 year"
|
||||
msgstr ""
|
||||
msgstr "1 year"
|
||||
|
||||
#: templates/index.html.ep:143 templates/index.html.ep:264 templates/index.html.ep:4 templates/index.html.ep:45 templates/index.html.ep:97
|
||||
#: templates/index.html.ep:4
|
||||
msgid "24 hours"
|
||||
msgstr ""
|
||||
msgstr "24 hours"
|
||||
|
||||
#: lib/Lutim/Controller.pm:211
|
||||
#: lib/Lutim/Controller.pm:215
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr ""
|
||||
msgstr "An error occured while downloading the image."
|
||||
|
||||
#: templates/about.html.ep:39 templates/stats.html.ep:13
|
||||
#: templates/about.html.ep:40
|
||||
#: templates/stats.html.ep:13
|
||||
msgid "Back to homepage"
|
||||
msgstr ""
|
||||
msgstr "Back to homepage"
|
||||
|
||||
#: templates/index.html.ep:167 templates/index.html.ep:168
|
||||
#: templates/index.html.ep:157
|
||||
#: templates/index.html.ep:158
|
||||
msgid "Click to open the file browser"
|
||||
msgstr ""
|
||||
msgstr "Click to open the file browser"
|
||||
|
||||
#: templates/about.html.ep:30
|
||||
msgid "Contributors"
|
||||
msgstr ""
|
||||
msgstr "Contributors"
|
||||
|
||||
#: templates/index.html.ep:109 templates/index.html.ep:155 templates/index.html.ep:273 templates/index.html.ep:57
|
||||
#: templates/index.html.ep:33
|
||||
#: templates/index.html.ep:41
|
||||
#: templates/index.html.ep:49
|
||||
#: templates/index.html.ep:57
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copy to clipboard"
|
||||
|
||||
#: templates/index.html.ep:111
|
||||
#: templates/index.html.ep:142
|
||||
#: templates/index.html.ep:79
|
||||
msgid "Delete at first view?"
|
||||
msgstr ""
|
||||
msgstr "Delete at first view?"
|
||||
|
||||
#: templates/index.html.ep:249 templates/index.html.ep:26
|
||||
#: templates/index.html.ep:62
|
||||
msgid "Deletion link"
|
||||
msgstr ""
|
||||
msgstr "Deletion link"
|
||||
|
||||
#: templates/index.html.ep:24 templates/index.html.ep:245
|
||||
#: templates/index.html.ep:45
|
||||
#: templates/index.html.ep:47
|
||||
msgid "Download link"
|
||||
msgstr ""
|
||||
msgstr "Download link"
|
||||
|
||||
#: templates/index.html.ep:163
|
||||
#: templates/index.html.ep:153
|
||||
msgid "Drag & drop images here"
|
||||
msgstr ""
|
||||
msgstr "Drag & drop images here"
|
||||
|
||||
#: templates/about.html.ep:7
|
||||
msgid "Drag and drop an image in the appropriate area or use the traditional way to send files and Lutim will provide you four URLs. One to view the image, an other to directly download it, one you can use on social networks and a last to delete the image when you want."
|
||||
msgstr ""
|
||||
msgstr "Drag and drop an image in the appropriate area or use the traditional way to send files and Lutim will provide you four URLs. One to view the image, an other to directly download it, one you can use on social networks and a last to delete the image when you want."
|
||||
|
||||
#: templates/index.html.ep:112 templates/index.html.ep:158 templates/index.html.ep:60
|
||||
#: templates/index.html.ep:114
|
||||
#: templates/index.html.ep:145
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
|
||||
#: templates/index.html.ep:230
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr ""
|
||||
msgstr "Encrypt the image (Lutim does not keep the key)."
|
||||
|
||||
#: templates/stats.html.ep:9
|
||||
msgid "Evolution of total files"
|
||||
msgstr ""
|
||||
msgstr "Evolution of total files"
|
||||
|
||||
#: templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://git.framasoft.org/luc/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
msgstr "For more details, see the <a href=\"https://git.framasoft.org/luc/lutim\">homepage of the project</a>."
|
||||
|
||||
#: templates/layouts/default.html.ep:50
|
||||
msgid "Fork me!"
|
||||
msgstr ""
|
||||
msgstr "Fork me!"
|
||||
|
||||
#: templates/layouts/default.html.ep:45
|
||||
msgid "Homepage"
|
||||
msgstr ""
|
||||
msgstr "Homepage"
|
||||
|
||||
#: templates/about.html.ep:20
|
||||
msgid "How do you pronounce Lutim?"
|
||||
msgstr ""
|
||||
msgstr "How do you pronounce Lutim?"
|
||||
|
||||
#: templates/about.html.ep:6
|
||||
msgid "How does it work?"
|
||||
msgstr ""
|
||||
msgstr "How does it work?"
|
||||
|
||||
#: templates/about.html.ep:18
|
||||
msgid "How to report an image?"
|
||||
msgstr ""
|
||||
msgstr "How to report an image?"
|
||||
|
||||
#: templates/about.html.ep:14
|
||||
msgid "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
msgstr ""
|
||||
msgstr "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
|
||||
#: templates/index.html.ep:122 templates/index.html.ep:177
|
||||
#: templates/index.html.ep:127
|
||||
#: templates/index.html.ep:167
|
||||
msgid "Image URL"
|
||||
msgstr ""
|
||||
msgstr "Image URL"
|
||||
|
||||
#: templates/layouts/default.html.ep:49
|
||||
msgid "Informations"
|
||||
msgstr ""
|
||||
msgstr "Informations"
|
||||
|
||||
#: templates/layouts/default.html.ep:54
|
||||
msgid "Install webapp"
|
||||
msgstr ""
|
||||
msgstr "Install webapp"
|
||||
|
||||
#: templates/about.html.ep:11
|
||||
msgid "Is it really anonymous?"
|
||||
msgstr ""
|
||||
msgstr "Is it really anonymous?"
|
||||
|
||||
#: templates/about.html.ep:9
|
||||
msgid "Is it really free (as in free beer)?"
|
||||
msgstr ""
|
||||
msgstr "Is it really free (as in free beer)?"
|
||||
|
||||
#: templates/about.html.ep:21
|
||||
msgid "Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgstr ""
|
||||
msgstr "Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
|
||||
#: templates/index.html.ep:125 templates/index.html.ep:180 templates/index.html.ep:275 templates/index.html.ep:63
|
||||
#: templates/index.html.ep:117
|
||||
#: templates/index.html.ep:148
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Keep EXIF tags"
|
||||
|
||||
#: templates/index.html.ep:130
|
||||
#: templates/index.html.ep:170
|
||||
#: templates/index.html.ep:82
|
||||
msgid "Let's go!"
|
||||
msgstr ""
|
||||
msgstr "Let's go!"
|
||||
|
||||
#: templates/layouts/default.html.ep:48
|
||||
msgid "License:"
|
||||
msgstr ""
|
||||
msgstr "License:"
|
||||
|
||||
#: templates/index.html.ep:247 templates/index.html.ep:25
|
||||
#: templates/index.html.ep:53
|
||||
#: templates/index.html.ep:55
|
||||
msgid "Link for share on social networks"
|
||||
msgstr ""
|
||||
msgstr "Link for share on social networks"
|
||||
|
||||
#: templates/about.html.ep:4
|
||||
msgid "Lutim is a free (as in free beer) and anonymous image hosting service. It's also the name of the free (as in free speech) software which provides this service."
|
||||
msgstr ""
|
||||
msgstr "Lutim is a free (as in free beer) and anonymous image hosting service. It's also the name of the free (as in free speech) software which provides this service."
|
||||
|
||||
#: templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
msgstr ""
|
||||
msgstr "Main developers"
|
||||
|
||||
#: templates/index.html.ep:124 templates/index.html.ep:172
|
||||
#: templates/index.html.ep:37
|
||||
#: templates/index.html.ep:39
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Markdown syntax"
|
||||
|
||||
#: templates/index.html.ep:129
|
||||
#: templates/index.html.ep:162
|
||||
msgid "Only images are allowed"
|
||||
msgstr ""
|
||||
msgstr "Only images are allowed"
|
||||
|
||||
#: templates/about.html.ep:16
|
||||
msgid "Only the uploader! (well, only if he's the only owner of the images' rights before the upload)"
|
||||
msgstr ""
|
||||
msgstr "Only the uploader! (well, only if he's the only owner of the images' rights before the upload)"
|
||||
|
||||
#: templates/about.html.ep:19
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr ""
|
||||
msgstr "Please contact the administrator: %1"
|
||||
|
||||
#: templates/index.html.ep:117
|
||||
#: templates/index.html.ep:122
|
||||
msgid "Send an image"
|
||||
msgstr ""
|
||||
|
||||
#: templates/index.html.ep:212
|
||||
msgid "Share it!"
|
||||
msgstr ""
|
||||
msgstr "Send an image"
|
||||
|
||||
#: templates/layouts/default.html.ep:51
|
||||
msgid "Share on Twitter"
|
||||
msgstr ""
|
||||
msgstr "Share on Twitter"
|
||||
|
||||
#: templates/index.html.ep:278 templates/index.html.ep:77
|
||||
#: templates/index.html.ep:97
|
||||
msgid "Something bad happened"
|
||||
msgstr ""
|
||||
msgstr "Something bad happened"
|
||||
|
||||
#: templates/about.html.ep:13
|
||||
msgid "The IP address of the image's sender is retained for a delay which depends of the administrator's choice (for the official instance, which is located in France, it's one year)."
|
||||
msgstr ""
|
||||
msgstr "The IP address of the image's sender is retained for a delay which depends of the administrator's choice (for the official instance, which is located in France, it's one year)."
|
||||
|
||||
#: templates/about.html.ep:23
|
||||
msgid "The Lutim software is a <a href=\"http://en.wikipedia.org/wiki/Free_software\">free software</a>, which allows you to download and install it on you own server. Have a look at the <a href=\"https://www.gnu.org/licenses/agpl-3.0.html\">AGPL</a> to see what you can do."
|
||||
msgstr ""
|
||||
msgstr "The Lutim software is a <a href=\"http://en.wikipedia.org/wiki/Free_software\">free software</a>, which allows you to download and install it on you own server. Have a look at the <a href=\"https://www.gnu.org/licenses/agpl-3.0.html\">AGPL</a> to see what you can do."
|
||||
|
||||
#: lib/Lutim/Controller.pm:230
|
||||
#: lib/Lutim/Controller.pm:234
|
||||
msgid "The URL is not valid."
|
||||
msgstr ""
|
||||
msgstr "The URL is not valid."
|
||||
|
||||
#: lib/Lutim/Controller.pm:142 lib/Lutim/Controller.pm:73
|
||||
#: lib/Lutim/Controller.pm:145
|
||||
#: lib/Lutim/Controller.pm:76
|
||||
msgid "The delete token is invalid."
|
||||
msgstr ""
|
||||
msgstr "The delete token is invalid."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller.pm:333
|
||||
#: lib/Lutim/Controller.pm:368
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr ""
|
||||
msgstr "The file %1 is not an image."
|
||||
|
||||
#. ($max_file_size)
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#: lib/Lutim/Controller.pm:194 lib/Lutim/Controller.pm:261 templates/index.html.ep:308
|
||||
#: lib/Lutim/Controller.pm:198
|
||||
#: lib/Lutim/Controller.pm:265
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr ""
|
||||
msgstr "The file exceed the size limit (%1)"
|
||||
|
||||
#: templates/stats.html.ep:11
|
||||
msgid "The graph's datas are not updated in real-time."
|
||||
msgstr ""
|
||||
msgstr "The graph's datas are not updated in real-time."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:144
|
||||
#: lib/Lutim/Controller.pm:147
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr ""
|
||||
msgstr "The image %1 has already been deleted."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:150
|
||||
#: lib/Lutim/Controller.pm:153
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr ""
|
||||
msgstr "The image %1 has been successfully deleted"
|
||||
|
||||
#: lib/Lutim/Controller.pm:81
|
||||
#: lib/Lutim/Controller.pm:84
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr ""
|
||||
msgstr "The image's delay has been successfully modified"
|
||||
|
||||
#: templates/index.html.ep:9
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
msgstr "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
|
||||
#: templates/about.html.ep:5
|
||||
msgid "The images you post on Lutim can be stored indefinitely or be deleted at first view or after a delay selected from those proposed."
|
||||
msgstr ""
|
||||
msgstr "The images you post on Lutim can be stored indefinitely or be deleted at first view or after a delay selected from those proposed."
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller.pm:328
|
||||
#: lib/Lutim/Controller.pm:363
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
msgstr "There is no more available URL. Retry or contact the administrator. %1"
|
||||
|
||||
#: templates/index.html.ep:20 templates/index.html.ep:210
|
||||
#: templates/index.html.ep:24
|
||||
msgid "Tweet it!"
|
||||
msgstr ""
|
||||
msgstr "Tweet it!"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller.pm:115
|
||||
#: lib/Lutim/Controller.pm:118
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr ""
|
||||
msgstr "Unable to find the image %1."
|
||||
|
||||
#: lib/Lutim.pm:56 lib/Lutim/Controller.pm:412 lib/Lutim/Controller.pm:458 lib/Lutim/Controller.pm:502
|
||||
#: lib/Lutim.pm:52
|
||||
#: lib/Lutim/Controller.pm:447
|
||||
#: lib/Lutim/Controller.pm:493
|
||||
#: lib/Lutim/Controller.pm:537
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr ""
|
||||
msgstr "Unable to find the image: it has been deleted."
|
||||
|
||||
#: templates/about.html.ep:17
|
||||
msgid "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
msgstr ""
|
||||
msgstr "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
|
||||
#: templates/index.html.ep:121 templates/index.html.ep:175
|
||||
#: templates/index.html.ep:126
|
||||
#: templates/index.html.ep:165
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr ""
|
||||
msgstr "Upload an image with its URL"
|
||||
|
||||
#: templates/stats.html.ep:6
|
||||
msgid "Uploaded files by days"
|
||||
msgstr ""
|
||||
msgstr "Uploaded files by days"
|
||||
|
||||
#. ($config->{contact})
|
||||
#: lib/Lutim.pm:149
|
||||
#: lib/Lutim.pm:144
|
||||
msgid "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
msgstr ""
|
||||
msgstr "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
|
||||
#: templates/index.html.ep:23 templates/index.html.ep:243
|
||||
#: templates/index.html.ep:29
|
||||
#: templates/index.html.ep:31
|
||||
msgid "View link"
|
||||
msgstr ""
|
||||
msgstr "View link"
|
||||
|
||||
#: templates/about.html.ep:22
|
||||
msgid "What about the software which provides the service?"
|
||||
msgstr ""
|
||||
msgstr "What about the software which provides the service?"
|
||||
|
||||
#: templates/about.html.ep:3
|
||||
msgid "What is Lutim?"
|
||||
msgstr ""
|
||||
msgstr "What is Lutim?"
|
||||
|
||||
#: templates/about.html.ep:15
|
||||
msgid "Who owns rights on images uploaded on Lutim?"
|
||||
msgstr ""
|
||||
msgstr "Who owns rights on images uploaded on Lutim?"
|
||||
|
||||
#: templates/about.html.ep:12
|
||||
msgid "Yes, it is! On the other side, for legal reasons, your IP address will be stored when you send an image. Don't panic, it is normally the case of all sites on which you send files!"
|
||||
msgstr ""
|
||||
msgstr "Yes, it is! On the other side, for legal reasons, your IP address will be stored when you send an image. Don't panic, it is normally the case of all sites on which you send files!"
|
||||
|
||||
#. (url_for('index')
|
||||
#. (url_for('/')
|
||||
#: templates/about.html.ep:10
|
||||
msgid "Yes, it is! On the other side, if you want to support the developer, you can do it via <a href=\"https://flattr.com/submit/auto?user_id=_SKy_&url=%1&title=Lutim&category=software\">Flattr</a> or with <a href=\"bitcoin:1JCEtmx9pyzWfitMQj2pKAk8GNgyix7RmA?label=lutim\">BitCoin</a>."
|
||||
msgstr ""
|
||||
msgstr "Yes, it is! On the other side, if you want to support the developer, you can do it via <a href=\"https://flattr.com/submit/auto?user_id=_SKy_&url=%1&title=Lutim&category=software\">Flattr</a> or with <a href=\"bitcoin:1JCEtmx9pyzWfitMQj2pKAk8GNgyix7RmA?label=lutim\">BitCoin</a>."
|
||||
|
||||
#: templates/about.html.ep:8
|
||||
msgid "You can, optionally, request that the image(s) posted on Lutim to be deleted at first view (or download) or after the delay selected from those proposed."
|
||||
msgstr ""
|
||||
msgstr "You can, optionally, request that the image(s) posted on Lutim to be deleted at first view (or download) or after the delay selected from those proposed."
|
||||
|
||||
#: templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
msgstr ""
|
||||
msgstr "and on"
|
||||
|
||||
#: templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr ""
|
||||
msgstr "core developer"
|
||||
|
||||
#: templates/index.html.ep:3
|
||||
msgid "no time limit"
|
||||
msgstr ""
|
||||
msgstr "no time limit"
|
||||
|
||||
#: templates/about.html.ep:27
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
msgstr "on"
|
||||
|
||||
#: templates/about.html.ep:36
|
||||
msgid "spanish translation"
|
||||
msgstr ""
|
||||
msgstr "spanish translation"
|
||||
|
||||
#: templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr ""
|
||||
msgstr "webapp developer"
|
||||
|
||||
+50
-60
@@ -3,37 +3,27 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Luc Didry <luc@didry.org>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Lutim\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2015-08-02 11:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-16 20:17+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@didry.org>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/lutim/language/es/)\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/fiat-tux/lutim/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: templates/index.html.ep:134 templates/index.html.ep:143
|
||||
#: templates/index.html.ep:144 templates/index.html.ep:255
|
||||
#: templates/index.html.ep:264 templates/index.html.ep:265
|
||||
#: templates/index.html.ep:36 templates/index.html.ep:45
|
||||
#: templates/index.html.ep:46 templates/index.html.ep:88
|
||||
#: templates/index.html.ep:97 templates/index.html.ep:98
|
||||
msgid "%1 days"
|
||||
msgstr "%1 días"
|
||||
|
||||
#. ($total)
|
||||
#: templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr "%1 imágenes enviadas a esta instancia desde el inicio."
|
||||
|
||||
#: templates/index.html.ep:164
|
||||
#: templates/index.html.ep:154
|
||||
msgid "-or-"
|
||||
msgstr "-o-"
|
||||
|
||||
@@ -41,21 +31,19 @@ msgstr "-o-"
|
||||
msgid "1 year"
|
||||
msgstr "1 año"
|
||||
|
||||
#: templates/index.html.ep:143 templates/index.html.ep:264
|
||||
#: templates/index.html.ep:4 templates/index.html.ep:45
|
||||
#: templates/index.html.ep:97
|
||||
#: templates/index.html.ep:4
|
||||
msgid "24 hours"
|
||||
msgstr "24 horas"
|
||||
|
||||
#: lib/Lutim/Controller.pm:211
|
||||
#: lib/Lutim/Controller.pm:215
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Error al intentar modificar la imagen."
|
||||
|
||||
#: templates/about.html.ep:39 templates/stats.html.ep:13
|
||||
#: templates/about.html.ep:40 templates/stats.html.ep:13
|
||||
msgid "Back to homepage"
|
||||
msgstr "Volver a la página inicial"
|
||||
|
||||
#: templates/index.html.ep:167 templates/index.html.ep:168
|
||||
#: templates/index.html.ep:157 templates/index.html.ep:158
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Clic para abrir el explorador de archivos"
|
||||
|
||||
@@ -63,20 +51,25 @@ msgstr "Clic para abrir el explorador de archivos"
|
||||
msgid "Contributors"
|
||||
msgstr "Contribuidores"
|
||||
|
||||
#: templates/index.html.ep:109 templates/index.html.ep:155
|
||||
#: templates/index.html.ep:273 templates/index.html.ep:57
|
||||
#: templates/index.html.ep:33 templates/index.html.ep:41
|
||||
#: templates/index.html.ep:49 templates/index.html.ep:57
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copiar al portapapeles"
|
||||
|
||||
#: templates/index.html.ep:111 templates/index.html.ep:142
|
||||
#: templates/index.html.ep:79
|
||||
msgid "Delete at first view?"
|
||||
msgstr "¿Borrar en la primera vista?"
|
||||
|
||||
#: templates/index.html.ep:249 templates/index.html.ep:26
|
||||
#: templates/index.html.ep:62
|
||||
msgid "Deletion link"
|
||||
msgstr "Enlace para borrar"
|
||||
|
||||
#: templates/index.html.ep:24 templates/index.html.ep:245
|
||||
#: templates/index.html.ep:45 templates/index.html.ep:47
|
||||
msgid "Download link"
|
||||
msgstr "Enlace de descarga"
|
||||
|
||||
#: templates/index.html.ep:163
|
||||
#: templates/index.html.ep:153
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Arrastre y suelte imágenes aquí"
|
||||
|
||||
@@ -88,15 +81,10 @@ msgid ""
|
||||
" to delete the image when you want."
|
||||
msgstr "Arrastre y suelte una imagen en el área apropiada, o use el método tradicional para enviar ficheros, y Lutim proporcionará cuatro URLs. Una para ver la imagen, otra para descargarla directamente, una que upede usar en redes sociales, y una última para borrar la imagen cuando lo desee."
|
||||
|
||||
#: templates/index.html.ep:112 templates/index.html.ep:158
|
||||
#: templates/index.html.ep:60
|
||||
#: templates/index.html.ep:114 templates/index.html.ep:145
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Las imágenes se cifran en el servidor (Lutim no guarda la clave)."
|
||||
|
||||
#: templates/index.html.ep:230
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr "Error al intentar modificar la imagen."
|
||||
|
||||
#: templates/stats.html.ep:9
|
||||
msgid "Evolution of total files"
|
||||
msgstr "Evolución de archivos en total"
|
||||
@@ -133,7 +121,7 @@ msgid ""
|
||||
"footprint are retained."
|
||||
msgstr "Si los ficheros se borran por haberlo solicitado al enviarlos, se retiene su huella digital SHA512."
|
||||
|
||||
#: templates/index.html.ep:122 templates/index.html.ep:177
|
||||
#: templates/index.html.ep:127 templates/index.html.ep:167
|
||||
msgid "Image URL"
|
||||
msgstr "URL de la imagen"
|
||||
|
||||
@@ -159,8 +147,12 @@ msgid ""
|
||||
"href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgstr "Tal y como se pronuncia la palabra francesa <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
|
||||
#: templates/index.html.ep:125 templates/index.html.ep:180
|
||||
#: templates/index.html.ep:275 templates/index.html.ep:63
|
||||
#: templates/index.html.ep:117 templates/index.html.ep:148
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Mantener las etiquetas EXIF"
|
||||
|
||||
#: templates/index.html.ep:130 templates/index.html.ep:170
|
||||
#: templates/index.html.ep:82
|
||||
msgid "Let's go!"
|
||||
msgstr "¡Vamos allá!"
|
||||
|
||||
@@ -168,7 +160,7 @@ msgstr "¡Vamos allá!"
|
||||
msgid "License:"
|
||||
msgstr "Licencia:"
|
||||
|
||||
#: templates/index.html.ep:247 templates/index.html.ep:25
|
||||
#: templates/index.html.ep:53 templates/index.html.ep:55
|
||||
msgid "Link for share on social networks"
|
||||
msgstr "Enlace para compartir en redes sociales"
|
||||
|
||||
@@ -183,7 +175,11 @@ msgstr "Lutim es un servicio de alojamiento de imágenes anónimo y gratuito. Ta
|
||||
msgid "Main developers"
|
||||
msgstr "Desarrolladores principales"
|
||||
|
||||
#: templates/index.html.ep:124 templates/index.html.ep:172
|
||||
#: templates/index.html.ep:37 templates/index.html.ep:39
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Sintaxis de Markdown"
|
||||
|
||||
#: templates/index.html.ep:129 templates/index.html.ep:162
|
||||
msgid "Only images are allowed"
|
||||
msgstr "Sólo se admiten imágenes"
|
||||
|
||||
@@ -197,19 +193,15 @@ msgstr "¡Sólo el usuario! (bueno, sólo si él/ela es el único titular de los
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Por favor, contacte con el administrador: %1"
|
||||
|
||||
#: templates/index.html.ep:117
|
||||
#: templates/index.html.ep:122
|
||||
msgid "Send an image"
|
||||
msgstr "Enviar una imagen"
|
||||
|
||||
#: templates/index.html.ep:212
|
||||
msgid "Share it!"
|
||||
msgstr "¡Compártelo!"
|
||||
|
||||
#: templates/layouts/default.html.ep:51
|
||||
msgid "Share on Twitter"
|
||||
msgstr "Compartir en Twitter"
|
||||
|
||||
#: templates/index.html.ep:278 templates/index.html.ep:77
|
||||
#: templates/index.html.ep:97
|
||||
msgid "Something bad happened"
|
||||
msgstr "Algo malo ha pasado"
|
||||
|
||||
@@ -229,24 +221,22 @@ msgid ""
|
||||
" you can do."
|
||||
msgstr "El software Lutim es <a href=\"http://es.wikipedia.org/wiki/Software_libre\">software libre</a>, lo que le permite descargarlo e instalarlo en su propio servidor. Eche un vistazo a la licencia <a href=\"https://www.gnu.org/licenses/agpl-3.0.html\">AGPL</a> para ver qué puede hacer."
|
||||
|
||||
#: lib/Lutim/Controller.pm:230
|
||||
#: lib/Lutim/Controller.pm:234
|
||||
msgid "The URL is not valid."
|
||||
msgstr "La URL no es válida."
|
||||
|
||||
#: lib/Lutim/Controller.pm:142 lib/Lutim/Controller.pm:73
|
||||
#: lib/Lutim/Controller.pm:145 lib/Lutim/Controller.pm:76
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "El código de borrado no es válido."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller.pm:333
|
||||
#: lib/Lutim/Controller.pm:368
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "El archivo %1 no es una imagen."
|
||||
|
||||
#. ($max_file_size)
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#: lib/Lutim/Controller.pm:194 lib/Lutim/Controller.pm:261
|
||||
#: templates/index.html.ep:308
|
||||
#: lib/Lutim/Controller.pm:198 lib/Lutim/Controller.pm:265
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "El archivo supera el límite de tamaño (%1)"
|
||||
|
||||
@@ -255,16 +245,16 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Los datos del gráfico no se actualizan en tiempo real."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:144
|
||||
#: lib/Lutim/Controller.pm:147
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "La imagen %1 ya se ha borrado."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:150
|
||||
#: lib/Lutim/Controller.pm:153
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "La imagen %1 se ha borrado correctamente"
|
||||
|
||||
#: lib/Lutim/Controller.pm:81
|
||||
#: lib/Lutim/Controller.pm:84
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Se ha modificado correctamente el tiempo de la imagen"
|
||||
|
||||
@@ -279,21 +269,21 @@ msgid ""
|
||||
msgstr "Puede, opcionalmente, solicitar que la imagen publicada en Lutim se elimine con la primera vista (o descarga) o tras un tiempo seleccionado de entre varios propuestos."
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller.pm:328
|
||||
#: lib/Lutim/Controller.pm:363
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr "No más URL disponibles. Inténtelo de nuevo o contacte con el administrador. %1"
|
||||
|
||||
#: templates/index.html.ep:20 templates/index.html.ep:210
|
||||
#: templates/index.html.ep:24
|
||||
msgid "Tweet it!"
|
||||
msgstr "¡Tuitéalo!"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller.pm:115
|
||||
#: lib/Lutim/Controller.pm:118
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "No se ha podido encontrar la imagen %1."
|
||||
|
||||
#: lib/Lutim.pm:56 lib/Lutim/Controller.pm:412 lib/Lutim/Controller.pm:458
|
||||
#: lib/Lutim/Controller.pm:502
|
||||
#: lib/Lutim.pm:52 lib/Lutim/Controller.pm:447 lib/Lutim/Controller.pm:493
|
||||
#: lib/Lutim/Controller.pm:537
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "No se ha podido encontrar la imagen: ha sido borrada."
|
||||
|
||||
@@ -303,7 +293,7 @@ msgid ""
|
||||
"images."
|
||||
msgstr "A diferencia de muchos servicios de compartición de imágenes, usted no cede los derechos de las imágenes que sube."
|
||||
|
||||
#: templates/index.html.ep:121 templates/index.html.ep:175
|
||||
#: templates/index.html.ep:126 templates/index.html.ep:165
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr "Subir una imagen con la URL"
|
||||
|
||||
@@ -312,13 +302,13 @@ msgid "Uploaded files by days"
|
||||
msgstr "Archivos enviados por día"
|
||||
|
||||
#. ($config->{contact})
|
||||
#: lib/Lutim.pm:149
|
||||
#: lib/Lutim.pm:144
|
||||
msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr "La carga está deshabilitada en estos momentos, por favor inténtelo más tarde o contacte con el administrador (%1)."
|
||||
|
||||
#: templates/index.html.ep:23 templates/index.html.ep:243
|
||||
#: templates/index.html.ep:29 templates/index.html.ep:31
|
||||
msgid "View link"
|
||||
msgstr "Enlace de visualización"
|
||||
|
||||
@@ -341,7 +331,7 @@ msgid ""
|
||||
"sites on which you send files!"
|
||||
msgstr "¡Sí, lo es! Por otro lado, por razones legales, se almacena la dirección IP cuando se envía una imagen. Que no cunda el pánico, ¡es el caso habitual para todos los sitios a los cuales se envían ficheros!"
|
||||
|
||||
#. (url_for('index')
|
||||
#. (url_for('/')
|
||||
#: templates/about.html.ep:10
|
||||
msgid ""
|
||||
"Yes, it is! On the other side, if you want to support the developer, you can"
|
||||
|
||||
+50
-60
@@ -3,37 +3,27 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Translators:
|
||||
# Luc Didry <luc@didry.org>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Lutim\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2015-08-01 22:16+0000\n"
|
||||
"PO-Revision-Date: 2015-09-16 20:14+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@didry.org>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/lutim/language/fr/)\n"
|
||||
"Language-Team: French (http://www.transifex.com/fiat-tux/lutim/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: templates/index.html.ep:134 templates/index.html.ep:143
|
||||
#: templates/index.html.ep:144 templates/index.html.ep:255
|
||||
#: templates/index.html.ep:264 templates/index.html.ep:265
|
||||
#: templates/index.html.ep:36 templates/index.html.ep:45
|
||||
#: templates/index.html.ep:46 templates/index.html.ep:88
|
||||
#: templates/index.html.ep:97 templates/index.html.ep:98
|
||||
msgid "%1 days"
|
||||
msgstr "%1 jours"
|
||||
|
||||
#. ($total)
|
||||
#: templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr "%1 images envoyées sur cette instance depuis le début."
|
||||
|
||||
#: templates/index.html.ep:164
|
||||
#: templates/index.html.ep:154
|
||||
msgid "-or-"
|
||||
msgstr "-ou-"
|
||||
|
||||
@@ -41,21 +31,19 @@ msgstr "-ou-"
|
||||
msgid "1 year"
|
||||
msgstr "1 an"
|
||||
|
||||
#: templates/index.html.ep:143 templates/index.html.ep:264
|
||||
#: templates/index.html.ep:4 templates/index.html.ep:45
|
||||
#: templates/index.html.ep:97
|
||||
#: templates/index.html.ep:4
|
||||
msgid "24 hours"
|
||||
msgstr "24 heures"
|
||||
|
||||
#: lib/Lutim/Controller.pm:211
|
||||
#: lib/Lutim/Controller.pm:215
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Une erreur est survenue lors du téléchargement de l'image."
|
||||
|
||||
#: templates/about.html.ep:39 templates/stats.html.ep:13
|
||||
#: templates/about.html.ep:40 templates/stats.html.ep:13
|
||||
msgid "Back to homepage"
|
||||
msgstr "Retour à la page d'accueil"
|
||||
|
||||
#: templates/index.html.ep:167 templates/index.html.ep:168
|
||||
#: templates/index.html.ep:157 templates/index.html.ep:158
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Cliquez pour utiliser le navigateur de fichier"
|
||||
|
||||
@@ -63,20 +51,25 @@ msgstr "Cliquez pour utiliser le navigateur de fichier"
|
||||
msgid "Contributors"
|
||||
msgstr "Contributeurs"
|
||||
|
||||
#: templates/index.html.ep:109 templates/index.html.ep:155
|
||||
#: templates/index.html.ep:273 templates/index.html.ep:57
|
||||
#: templates/index.html.ep:33 templates/index.html.ep:41
|
||||
#: templates/index.html.ep:49 templates/index.html.ep:57
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copier dans le presse-papier"
|
||||
|
||||
#: templates/index.html.ep:111 templates/index.html.ep:142
|
||||
#: templates/index.html.ep:79
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Supprimer au premier accès ?"
|
||||
|
||||
#: templates/index.html.ep:249 templates/index.html.ep:26
|
||||
#: templates/index.html.ep:62
|
||||
msgid "Deletion link"
|
||||
msgstr "Lien de suppression"
|
||||
|
||||
#: templates/index.html.ep:24 templates/index.html.ep:245
|
||||
#: templates/index.html.ep:45 templates/index.html.ep:47
|
||||
msgid "Download link"
|
||||
msgstr "Lien de téléchargement"
|
||||
|
||||
#: templates/index.html.ep:163
|
||||
#: templates/index.html.ep:153
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Déposez vos images ici"
|
||||
|
||||
@@ -88,15 +81,10 @@ msgid ""
|
||||
" to delete the image when you want."
|
||||
msgstr "Faites glisser des images dans la zone prévue à cet effet ou sélectionnez un fichier de façon classique et Lutim vous fournira quatre URLs en retour. Une pour afficher l’image, une autre pour la télécharger directement, une pour l'utiliser sur les réseaux sociaux et une dernière pour supprimer votre image quand vous le souhaitez"
|
||||
|
||||
#: templates/index.html.ep:112 templates/index.html.ep:158
|
||||
#: templates/index.html.ep:60
|
||||
#: templates/index.html.ep:114 templates/index.html.ep:145
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Chiffrer l'image (Lutim ne stocke pas la clé)."
|
||||
|
||||
#: templates/index.html.ep:230
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr "Une erreur est survenue lors de la tentative de modification de l'image."
|
||||
|
||||
#: templates/stats.html.ep:9
|
||||
msgid "Evolution of total files"
|
||||
msgstr "Évolution du nombre total de fichiers"
|
||||
@@ -133,7 +121,7 @@ msgid ""
|
||||
"footprint are retained."
|
||||
msgstr "Si les fichiers sont bien supprimés si vous en avez exprimé le choix, leur empreinte SHA512 est toutefois conservée."
|
||||
|
||||
#: templates/index.html.ep:122 templates/index.html.ep:177
|
||||
#: templates/index.html.ep:127 templates/index.html.ep:167
|
||||
msgid "Image URL"
|
||||
msgstr "URL de l'image"
|
||||
|
||||
@@ -159,8 +147,12 @@ msgid ""
|
||||
"href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgstr "Comme on prononce <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
|
||||
#: templates/index.html.ep:125 templates/index.html.ep:180
|
||||
#: templates/index.html.ep:275 templates/index.html.ep:63
|
||||
#: templates/index.html.ep:117 templates/index.html.ep:148
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Conserver les données EXIF"
|
||||
|
||||
#: templates/index.html.ep:130 templates/index.html.ep:170
|
||||
#: templates/index.html.ep:82
|
||||
msgid "Let's go!"
|
||||
msgstr "Allons-y !"
|
||||
|
||||
@@ -168,7 +160,7 @@ msgstr "Allons-y !"
|
||||
msgid "License:"
|
||||
msgstr "Licence :"
|
||||
|
||||
#: templates/index.html.ep:247 templates/index.html.ep:25
|
||||
#: templates/index.html.ep:53 templates/index.html.ep:55
|
||||
msgid "Link for share on social networks"
|
||||
msgstr "Lien pour partager sur les réseaux sociaux"
|
||||
|
||||
@@ -183,7 +175,11 @@ msgstr "Lutim est un service gratuit et anonyme d’hébergement d’images. Il
|
||||
msgid "Main developers"
|
||||
msgstr "Développeurs de l'application"
|
||||
|
||||
#: templates/index.html.ep:124 templates/index.html.ep:172
|
||||
#: templates/index.html.ep:37 templates/index.html.ep:39
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Syntaxe Markdown"
|
||||
|
||||
#: templates/index.html.ep:129 templates/index.html.ep:162
|
||||
msgid "Only images are allowed"
|
||||
msgstr "Seules les images sont acceptées"
|
||||
|
||||
@@ -197,19 +193,15 @@ msgstr "Seulement l'envoyeur ! (enfin, seulement s'il possède des droits exclus
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Veuillez contacter l’administrateur : %1"
|
||||
|
||||
#: templates/index.html.ep:117
|
||||
#: templates/index.html.ep:122
|
||||
msgid "Send an image"
|
||||
msgstr "Envoyer une image"
|
||||
|
||||
#: templates/index.html.ep:212
|
||||
msgid "Share it!"
|
||||
msgstr "Partagez !"
|
||||
|
||||
#: templates/layouts/default.html.ep:51
|
||||
msgid "Share on Twitter"
|
||||
msgstr "Partager sur Twitter"
|
||||
|
||||
#: templates/index.html.ep:278 templates/index.html.ep:77
|
||||
#: templates/index.html.ep:97
|
||||
msgid "Something bad happened"
|
||||
msgstr "Un problème est survenu"
|
||||
|
||||
@@ -229,24 +221,22 @@ msgid ""
|
||||
" you can do."
|
||||
msgstr "Le logiciel Lutim est un <a href=\"https://fr.wikipedia.org/wiki/Logiciel_libre\">logiciel libre</a>, ce qui vous permet de le télécharger et de l’installer sur votre propre serveur. Jetez un coup d’œil à l’<a href=\"https://www.gnu.org/licenses/agpl-3.0.html\">AGPL</a> pour voir quels sont vos droits"
|
||||
|
||||
#: lib/Lutim/Controller.pm:230
|
||||
#: lib/Lutim/Controller.pm:234
|
||||
msgid "The URL is not valid."
|
||||
msgstr "L'URL n'est pas valide."
|
||||
|
||||
#: lib/Lutim/Controller.pm:142 lib/Lutim/Controller.pm:73
|
||||
#: lib/Lutim/Controller.pm:145 lib/Lutim/Controller.pm:76
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Le jeton de suppression est invalide."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller.pm:333
|
||||
#: lib/Lutim/Controller.pm:368
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Le fichier %1 n'est pas une image."
|
||||
|
||||
#. ($max_file_size)
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#: lib/Lutim/Controller.pm:194 lib/Lutim/Controller.pm:261
|
||||
#: templates/index.html.ep:308
|
||||
#: lib/Lutim/Controller.pm:198 lib/Lutim/Controller.pm:265
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Le fichier dépasse la limite de taille (%1)"
|
||||
|
||||
@@ -255,16 +245,16 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Les données du graphique ne sont pas mises à jour en temps réél."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:144
|
||||
#: lib/Lutim/Controller.pm:147
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "L'image %1 a déjà été supprimée."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller.pm:150
|
||||
#: lib/Lutim/Controller.pm:153
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "L'image %1 a été supprimée avec succès."
|
||||
|
||||
#: lib/Lutim/Controller.pm:81
|
||||
#: lib/Lutim/Controller.pm:84
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Le délai de l'image a été modifié avec succès."
|
||||
|
||||
@@ -279,21 +269,21 @@ msgid ""
|
||||
msgstr "Les images déposées sur Lutim peuvent être stockées indéfiniment, ou s’effacer dès le premier affichage ou au bout du délai choisi parmi ceux proposés."
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller.pm:328
|
||||
#: lib/Lutim/Controller.pm:363
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr "Il n'y a plus d'URL disponible. Veuillez réessayer ou contacter l'administrateur. %1."
|
||||
|
||||
#: templates/index.html.ep:20 templates/index.html.ep:210
|
||||
#: templates/index.html.ep:24
|
||||
msgid "Tweet it!"
|
||||
msgstr "Tweetez !"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller.pm:115
|
||||
#: lib/Lutim/Controller.pm:118
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Impossible de trouver l'image %1."
|
||||
|
||||
#: lib/Lutim.pm:56 lib/Lutim/Controller.pm:412 lib/Lutim/Controller.pm:458
|
||||
#: lib/Lutim/Controller.pm:502
|
||||
#: lib/Lutim.pm:52 lib/Lutim/Controller.pm:447 lib/Lutim/Controller.pm:493
|
||||
#: lib/Lutim/Controller.pm:537
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Impossible de trouver l'image : elle a été supprimée."
|
||||
|
||||
@@ -303,7 +293,7 @@ msgid ""
|
||||
"images."
|
||||
msgstr "Au contraire de la majorité des services de partages d'image, vous ne nous cédez aucun droit sur les images envoyées."
|
||||
|
||||
#: templates/index.html.ep:121 templates/index.html.ep:175
|
||||
#: templates/index.html.ep:126 templates/index.html.ep:165
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr "Déposer une image par son URL"
|
||||
|
||||
@@ -312,13 +302,13 @@ msgid "Uploaded files by days"
|
||||
msgstr "Fichiers envoyés, par jour"
|
||||
|
||||
#. ($config->{contact})
|
||||
#: lib/Lutim.pm:149
|
||||
#: lib/Lutim.pm:144
|
||||
msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr "L'envoi d'images est actuellement désactivé, veuillez réessayer plus tard ou contacter l'administrateur (%1)."
|
||||
|
||||
#: templates/index.html.ep:23 templates/index.html.ep:243
|
||||
#: templates/index.html.ep:29 templates/index.html.ep:31
|
||||
msgid "View link"
|
||||
msgstr "Lien d'affichage"
|
||||
|
||||
@@ -341,7 +331,7 @@ msgid ""
|
||||
"sites on which you send files!"
|
||||
msgstr "Oui, ça l’est ! Par contre, pour des raisons légales, votre adresse IP sera enregistrée lorsque vous enverrez une image. Ne vous affolez pas, c’est de toute façon normalement le cas de tous les sites sur lesquels vous envoyez des fichiers !"
|
||||
|
||||
#. (url_for('index')
|
||||
#. (url_for('/')
|
||||
#: templates/about.html.ep:10
|
||||
msgid ""
|
||||
"Yes, it is! On the other side, if you want to support the developer, you can"
|
||||
|
||||
Vendored
+2
-1
@@ -7,4 +7,5 @@
|
||||
.icon-download:before { content: '\e805'; } /* '' */
|
||||
.icon-spinner:before { content: '\e806'; } /* '' */
|
||||
.icon-eye:before { content: '\e807'; } /* '' */
|
||||
.icon-share:before { content: '\e808'; } /* '' */
|
||||
.icon-share:before { content: '\e808'; } /* '' */
|
||||
.icon-clipboard:before { content: '\e809'; } /* '' */
|
||||
Vendored
+8
-7
File diff suppressed because one or more lines are too long
Vendored
+2
-1
@@ -7,4 +7,5 @@
|
||||
.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-eye { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-clipboard { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
Vendored
+2
-1
@@ -18,4 +18,5 @@
|
||||
.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spinner { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-eye { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-clipboard { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
Vendored
+8
-7
@@ -1,10 +1,10 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.eot?47015351');
|
||||
src: url('../font/fontello.eot?47015351#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?47015351') format('woff'),
|
||||
url('../font/fontello.ttf?47015351') format('truetype'),
|
||||
url('../font/fontello.svg?47015351#fontello') format('svg');
|
||||
src: url('../font/fontello.eot?5320554');
|
||||
src: url('../font/fontello.eot?5320554#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?5320554') format('woff'),
|
||||
url('../font/fontello.ttf?5320554') format('truetype'),
|
||||
url('../font/fontello.svg?5320554#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.svg?47015351#fontello') format('svg');
|
||||
src: url('../font/fontello.svg?5320554#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -62,4 +62,5 @@
|
||||
.icon-download:before { content: '\e805'; } /* '' */
|
||||
.icon-spinner:before { content: '\e806'; } /* '' */
|
||||
.icon-eye:before { content: '\e807'; } /* '' */
|
||||
.icon-share:before { content: '\e808'; } /* '' */
|
||||
.icon-share:before { content: '\e808'; } /* '' */
|
||||
.icon-clipboard:before { content: '\e809'; } /* '' */
|
||||
@@ -48,3 +48,6 @@ label.always-encrypt {
|
||||
#install-app {
|
||||
display: none;
|
||||
}
|
||||
.form-control[readonly] {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
@@ -28,3 +28,12 @@ Font license info
|
||||
Homepage: http://www.mfglabs.com/
|
||||
|
||||
|
||||
## Typicons
|
||||
|
||||
(c) Stephen Hutchings 2012
|
||||
|
||||
Author: Stephen Hutchings
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://typicons.com/
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -15,6 +15,7 @@
|
||||
<glyph glyph-name="spinner" unicode="" d="m469 614v204q129 0 237-61t169-170 62-237h-204q0 72-36 133t-95 96-133 35z" horiz-adv-x="937.5" />
|
||||
<glyph glyph-name="eye" unicode="" d="m929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="share" unicode="" d="m679 279q74 0 126-53t52-126-52-126-126-53-127 53-52 126q0 7 1 19l-201 100q-51-48-121-48-75 0-127 53t-52 126 52 126 127 53q70 0 121-48l201 100q-1 12-1 19 0 74 52 126t127 53 126-53 52-126-52-126-126-53q-71 0-122 48l-201-100q1-12 1-19t-1-19l201-100q51 48 122 48z" horiz-adv-x="857.1" />
|
||||
<glyph glyph-name="clipboard" unicode="" d="m678 819q65 0 110-46t46-110l0-625q0-65-46-111t-110-46l-522 0q-65 0-110 46t-46 111l0 625q0 65 46 110t110 46l522 0z m-418-104l0-52q0-21 16-37t37-16l208 0q22 0 37 16t15 37l0 52-313 0z m469-677l0 625q0 21-15 37t-36 15l-53 0 0-52q0-43-30-73t-74-31l-208 0q-43 0-74 31t-30 73l0 52-53 0q-21 0-37-15t-15-37l0-625q0-21 15-37t37-16l522 0q21 0 36 16t15 37z m-104 52l-416 0q-26 0-26 25 0 12 7 19t19 8l416 0q11 0 19-8t7-19q0-25-26-25z m0 157l-416 0q-11 0-19 7t-7 19q0 25 26 25l416 0q26 0 26-25 0-11-7-19t-19-7z m0 156l-416 0q-26 0-26 25 0 11 7 19t19 7l416 0q11 0 19-7t7-19q0-25-26-25z" horiz-adv-x="834" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
$('document').ready(function() {
|
||||
$('.jsonly').show();
|
||||
$('.input-group-addon.jsonly').css('display', 'table-cell');
|
||||
// Are we in a mozilla navigator? (well, are we in a navigator which can handle webapps?)
|
||||
if (navigator.mozApps !== undefined) {
|
||||
var installCheck = navigator.mozApps.checkInstalled(manifestUrl);
|
||||
|
||||
+76
-36
@@ -10,39 +10,79 @@
|
||||
% }
|
||||
% if (defined(stash('short'))) {
|
||||
<div class="alert alert-success">
|
||||
<div class="row">
|
||||
% if (defined(stash('short'))) {
|
||||
<img class="pull-left thumbnail" alt="<%= stash('filename') %> thumbnail" src="<%= stash('thumb') %>">
|
||||
% }
|
||||
<div>
|
||||
% # Display image informations
|
||||
% my $url = url_for('/'.stash('short'))->to_abs();
|
||||
<strong><%= stash('filename') %></strong>
|
||||
<a title="<%= l('Tweet it!') %>" target="_blank" href="https://twitter.com/share?url=<%= $url %>?t"><span class="icon icon-twitter"></span></a>
|
||||
<ul class="list-unstyled">
|
||||
% my $delete_url = url_for('delete', {short => stash('real_short'), token => stash('token')})->to_abs();
|
||||
<li><i class="icon icon-eye" title =" <%= l('View link') %>"></i> <%= link_to $url => begin %> <%= $url %> <%= end %></li>
|
||||
<li><i class="markdown-mark-solid" title =" <%= l('Markdown syntax') %>"></i> </li>
|
||||
<li><i class="icon icon-download" title =" <%= l('Download link') %>"></i> <%= link_to $url.'?dl' => begin %> <%= $url.'?dl' %> <%= end %></li>
|
||||
<li><i class="icon icon-share" title =" <%= l('Link for share on social networks') %>"></i> <%= link_to $url.'?t' => begin %> <%= $url.'?t' %> <%= end %></li>
|
||||
<li><i class="icon icon-trash" title =" <%= l('Deletion link') %>"></i> <%= link_to $delete_url => begin %> <%= $delete_url %> <%= end %></li>
|
||||
</ul>
|
||||
</div>
|
||||
% # Delay modification form
|
||||
% my $modify_url = url_for('modify', {short => stash('real_short'), token => stash('token')})->to_abs();
|
||||
<form class="form" role="form" method="POST" action="<%== $modify_url %>">
|
||||
<div class="form-group form-inline">
|
||||
<input name="image_url" type="hidden" value="<%= $url %>">
|
||||
<select name="delete-day" class="form-control">
|
||||
%= include 'partial/for_my_delay', d => \%d
|
||||
</select>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="first-view"> <%= l('Delete at first view?') %>
|
||||
</label>
|
||||
</div>
|
||||
<%= submit_button l('Let\'s go!'), class => 'btn btn-sm btn-default btn-primary', id => 'submitbutton' %>
|
||||
<div class="col-sm-1">
|
||||
<img class="thumbnail img-responsive" alt="<%= stash('filename') %> thumbnail" src="<%= stash('thumb') %>">
|
||||
</div>
|
||||
</form>
|
||||
% }
|
||||
<div class="col-sm-11">
|
||||
% # Display image informations
|
||||
% my $url = url_for('/'.stash('short'))->to_abs();
|
||||
<h4>
|
||||
<%= stash('filename') %>
|
||||
<a title="<%= l('Tweet it!') %>" target="_blank" href="https://twitter.com/share?url=<%= $url %>?t"><span class="icon icon-twitter"></span></a>
|
||||
</h4>
|
||||
% my $delete_url = url_for('delete', {short => stash('real_short'), token => stash('token')})->to_abs();
|
||||
<form class="form">
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="view"><%= l('View link') %></label>
|
||||
<div class="input-group col-sm-6">
|
||||
<div class="input-group-addon"><span class="icon icon-eye" title =" <%= l('View link') %>"></span></div>
|
||||
<input type="text" class="form-control" id="view" value="<%= $url %>" readonly>
|
||||
<a href="#" onClick="copyToClipboard($(this));" class="input-group-addon jsonly" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="markdown"><%= l('Markdown syntax') %></label>
|
||||
<div class="input-group col-sm-6">
|
||||
<div class="input-group-addon"><span class="markdown-mark-solid" title ="<%= l('Markdown syntax') %>"></span></div>
|
||||
<input type="text" class="form-control" id="markdown" value="" readonly>
|
||||
<a href="#" onClick="copyToClipboard($(this));" class="input-group-addon jsonly" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="download"><%= l('Download link') %></label>
|
||||
<div class="input-group col-sm-6">
|
||||
<div class="input-group-addon"><span class="icon icon-download" title ="<%= l('Download link') %>"></span></div>
|
||||
<input type="text" class="form-control" id="download" value="<%= $url %>?dl" readonly>
|
||||
<a href="#" onClick="copyToClipboard($(this));" class="input-group-addon jsonly" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="share"><%= l('Link for share on social networks') %></label>
|
||||
<div class="input-group col-sm-6">
|
||||
<div class="input-group-addon"><span class="icon icon-share" title ="<%= l('Link for share on social networks') %>"></span></div>
|
||||
<input type="text" class="form-control" id="share" value="<%= $url %>?t" readonly>
|
||||
<a href="#" onClick="copyToClipboard($(this));" class="input-group-addon jsonly" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group col-sm-6 col-xs-12">
|
||||
<span class="form-control-static"><%= link_to $delete_url => ( class => "btn btn-default col-xs-12 text-left", title => l('Deletion link') ) => begin %><span class="icon icon-trash"></span> <%= $delete_url %> <%= end %></span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
% # Delay modification form
|
||||
% my $modify_url = url_for('modify', {short => stash('real_short'), token => stash('token')})->to_abs();
|
||||
<form class="form col-sm-11 col-sm-offset-1" method="POST" action="<%== $modify_url %>">
|
||||
<div class="form-group form-inline">
|
||||
<input name="image_url" type="hidden" value="<%= $url %>">
|
||||
<select name="delete-day" class="form-control">
|
||||
%= include 'partial/for_my_delay', d => \%d
|
||||
</select>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="first-view"> <%= l('Delete at first view?') %>
|
||||
</label>
|
||||
</div>
|
||||
<%= submit_button l('Let\'s go!'), class => 'btn btn-sm btn-default btn-primary', id => 'submitmodbutton' %>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
% if (defined(flash('success'))) {
|
||||
@@ -61,7 +101,7 @@
|
||||
</div>
|
||||
|
||||
<noscript>
|
||||
<form class="form" role="form" method="POST" action="<%= url_for('/') %>" enctype="multipart/form-data">
|
||||
<form class="form" method="POST" action="<%= url_for('/') %>" enctype="multipart/form-data">
|
||||
<div class="form-group form-inline">
|
||||
<select name="delete-day" class="form-control">
|
||||
%= include 'partial/for_my_delay', d => \%d
|
||||
@@ -75,7 +115,7 @@
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="keep-exif"> <%= l('Keep EXIF tags') %>
|
||||
<label>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -106,7 +146,7 @@
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" id="keep-exif"> <%= l('Keep EXIF tags') %>
|
||||
<label>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="drag-and-drop-zone" class="uploader">
|
||||
@@ -120,9 +160,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<p class="help-block"><%= l('Only images are allowed') %></p>
|
||||
<form class="form-horizontal" role="form" method="POST" action="<%== url_for('add') %>">
|
||||
<form class="form-horizontal" method="POST" action="<%== url_for('add') %>">
|
||||
<div class="form-group">
|
||||
<span class="col-sm-3 col-xs-12"><span class="hidden-spin" style="font-size:200%; display:none;" > <i class="icon-spinner animate-spin pull-right"></i></span><label for="lutim-file-url" class="control-label pull-right"><%= l('Upload an image with its URL') %></label></span>
|
||||
<span class="col-sm-3 col-xs-12"><span class="hidden-spin" style="font-size:200%; display:none;" > <span class="icon-spinner animate-spin pull-right"></span></span><label for="lutim-file-url" class="control-label pull-right"><%= l('Upload an image with its URL') %></label></span>
|
||||
<div class="col-sm-9 col-xs-12">
|
||||
<input type="url" name="lutim-file-url" class="form-control" id="lutim-file-url" placeholder="<%= l('Image URL') %>">
|
||||
</div>
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
if (token !== undefined) {
|
||||
if (modify !== undefined && modify === true) {
|
||||
return '<%== url_for('/m/')->to_abs() %>'+url+'/'+token;
|
||||
} else {
|
||||
url = 'd/'+url+'/'+token;
|
||||
}
|
||||
url = 'd/'+url+'/'+token;
|
||||
return '<a class="btn btn-default col-xs-12 text-left" href="<%== url_for('/')->to_abs() %>'+url+'" title="<%= l('Deletion link') %>"><span class="icon icon-trash"></span> <%== url_for('/')->to_abs() %>'+url+'</a>';
|
||||
} else if (dl !== '') {
|
||||
url = url+'?'+dl;
|
||||
}
|
||||
return '<a href="<%== url_for('/')->to_abs() %>'+url+'"><%== url_for('/')->to_abs() %>'+url+'</a>';
|
||||
return '<%== url_for('/')->to_abs() %>'+url;
|
||||
}
|
||||
function share(url) {
|
||||
console.log(url);
|
||||
@@ -48,25 +48,91 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
function copyToClipboard(el) {
|
||||
el = el.siblings('input');
|
||||
var textArea = document.createElement("textarea");
|
||||
textArea.style.position = 'fixed';
|
||||
textArea.style.top = 0;
|
||||
textArea.style.left = 0;
|
||||
textArea.style.width = '2em';
|
||||
textArea.style.height = '2em';
|
||||
textArea.style.padding = 0;
|
||||
textArea.style.border = 'none';
|
||||
textArea.style.outline = 'none';
|
||||
textArea.style.boxShadow = 'none';
|
||||
textArea.style.background = 'transparent';
|
||||
textArea.value = el.val();
|
||||
|
||||
document.body.appendChild(textArea);
|
||||
textArea.select();
|
||||
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'successful' : 'unsuccessful';
|
||||
console.log('Copying text command was ' + msg);
|
||||
} catch (err) {
|
||||
el.focus();
|
||||
var len = el.val().length * 2;
|
||||
el.setSelectionRange(len, len);
|
||||
alert('<%= l('Hit Enter, then Ctrl+C to copy the short link') %>');
|
||||
}
|
||||
|
||||
document.body.removeChild(textArea);
|
||||
}
|
||||
function copyAllToClipboard() {
|
||||
var text = new Array();
|
||||
$('.view-link-input').each(function(index) {
|
||||
text.push($(this).val());
|
||||
});
|
||||
var textArea = document.createElement("textarea");
|
||||
textArea.style.position = 'fixed';
|
||||
textArea.style.top = 0;
|
||||
textArea.style.left = 0;
|
||||
textArea.style.width = '2em';
|
||||
textArea.style.height = '2em';
|
||||
textArea.style.padding = 0;
|
||||
textArea.style.border = 'none';
|
||||
textArea.style.outline = 'none';
|
||||
textArea.style.boxShadow = 'none';
|
||||
textArea.style.background = 'transparent';
|
||||
textArea.value = text.join("\n");
|
||||
|
||||
document.body.appendChild(textArea);
|
||||
textArea.select();
|
||||
|
||||
try {
|
||||
var successful = document.execCommand('copy');
|
||||
var msg = successful ? 'successful' : 'unsuccessful';
|
||||
console.log('Copying text command was ' + msg);
|
||||
} catch (err) {
|
||||
textArea.style.width = '';
|
||||
textArea.style.height = '';
|
||||
textArea.style.background = '#FFFFFF';
|
||||
alert('<%= l('Hit Enter, then Ctrl+C to copy the short link') %>');
|
||||
}
|
||||
|
||||
document.body.removeChild(textArea);
|
||||
}
|
||||
function build_message(success, msg) {
|
||||
if(success) {
|
||||
var thumb = (msg.thumb !== null) ? '<img class="pull-left thumbnail" alt="'+msg.filename+' thumbnail" src="'+msg.thumb+'">' : ''
|
||||
return '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>'
|
||||
var thumb = (msg.thumb !== null) ? '<div class="col-sm-1"><img class="thumbnail img-responsive" alt="'+msg.filename+' thumbnail" src="'+msg.thumb+'"></div>' : ''
|
||||
return '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><div class="row">'
|
||||
+thumb
|
||||
+'<div><strong>'
|
||||
+'<div class="col-sm-11"><h4>'
|
||||
+msg.filename
|
||||
+'</strong>'
|
||||
+tw_url(msg.short)
|
||||
+'<ul class="list-unstyled"><li><i class="icon icon-eye" title="<%= l('View link') %>"></i> '
|
||||
+'</h4>'
|
||||
+'<form class="form"><div class="form-group"><label class="sr-only" for="view'+msg.real_short+'"><%= l('View link') %></label><div class="input-group col-sm-6"><div class="input-group-addon"><span class="icon icon-eye" title =" <%= l('View link') %>"></span></div><input type="text" class="form-control view-link-input" id="view'+msg.real_short+'" value="'
|
||||
+link(msg.short, '')
|
||||
+'</li><li><i class="markdown-mark-solid" title="<%= l('Markdown syntax') %>"></i> ->to_abs() %>'+msg.short+')'
|
||||
+'</li><li><i class="icon icon-download" title="<%= l('Download link') %>"></i> '
|
||||
+'" readonly><a href="#" onClick="copyToClipboard($(this));" class="input-group-addon" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a></div></div><div class="form-group"><label class="sr-only" for="markdown'+msg.real_short+'"><%= l('Markdown syntax') %></label><div class="input-group col-sm-6"><div class="input-group-addon"><span class="markdown-mark-solid" title ="<%= l('Markdown syntax') %>"></span></div><input type="text" class="form-control" id="markdown'+msg.real_short+'" value="
|
||||
+')" readonly><a href="#" onClick="copyToClipboard($(this));" class="input-group-addon" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a></div></div><div class="form-group"><label class="sr-only" for="download'+msg.real_short+'"><%= l('Download link') %></label><div class="input-group col-sm-6"><div class="input-group-addon"><span class="icon icon-download" title ="<%= l('Download link') %>"></span></div><input type="text" class="form-control" id="download'+msg.real_short+'" value="'
|
||||
+link(msg.short, 'dl')
|
||||
+'</li><li><i class="icon icon-share" title="<%= l('Link for share on social networks') %>"></i> '
|
||||
+'" readonly><a href="#" onClick="copyToClipboard($(this));" class="input-group-addon" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a></div></div><div class="form-group"><label class="sr-only" for="share'+msg.real_short+'"><%= l('Link for share on social networks') %></label><div class="input-group col-sm-6"><div class="input-group-addon"><span class="icon icon-share" title ="<%= l('Link for share on social networks') %>"></span></div><input type="text" class="form-control" id="share'+msg.real_short+'" value="'
|
||||
+link(msg.short, 't')
|
||||
+'</li><li><i class="icon icon-trash" title="<%= l('Deletion link') %>"></i> '
|
||||
+'" readonly><a href="#" onClick="copyToClipboard($(this));" class="input-group-addon" title="<%= l('Copy to clipboard') %>"><span class="icon icon-clipboard"></span></a></div></div><div class="form-group"><div class="input-group col-sm-6 col-xs-12"><span class="form-control-static">'
|
||||
+link(msg.real_short, '', msg.token)
|
||||
+'</li></ul><form class="form" role="form" method="POST" action="'
|
||||
+'</span></div></div></form></div></div><div class="row"><form class="form col-sm-11 col-sm-offset-1" role="form" method="POST" action="'
|
||||
+link(msg.real_short, '', msg.token, true)
|
||||
+'"><div class="form-group form-inline"><select id="day-'+msg.real_short+'" name="delete-day" class="form-control">'
|
||||
% for my $delay (qw/0 1 7 30 365/) {
|
||||
@@ -91,7 +157,7 @@
|
||||
+'</select> <div class="checkbox"><label><input id="first-view-'+msg.real_short+'" type="checkbox" name="first-view"> <%= l('Delete at first view?') %></label>'
|
||||
+'</div> '
|
||||
+'<a href="#" onclick="modify(\''+link(msg.real_short, '', msg.token, true)+'\', \''+msg.real_short+'\');return false;" class="btn btn-sm btn-default btn-primary"><%= l('Let\'s go!') %></a></div></form>'
|
||||
+'</div>';
|
||||
+'</div></div>';
|
||||
} else {
|
||||
return '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong><%= l('Something bad happened') %></strong><br>'
|
||||
+msg.filename
|
||||
@@ -117,6 +183,9 @@
|
||||
},
|
||||
onUploadSuccess: function(id, data){
|
||||
$('#'+id+'-div').remove();
|
||||
if ($("#copy-all").length === 0) {
|
||||
$(".messages").append('<div class="col-xs-12 col-sm-11 col-sm-offset-1"><a id="copy-all" href="#" class="btn btn-info" onClick="copyAllToClipboard();"><%= l('Copy all view links to clipboard') %></a></div>');
|
||||
}
|
||||
$(".messages").append(build_message(data.success, data.msg));
|
||||
},
|
||||
onUploadError: function(id, message){
|
||||
|
||||
Reference in New Issue
Block a user