mirror of
https://framagit.org/fiat-tux/hat-softwares/lutim.git
synced 2026-03-28 17:42:54 +01:00
Compare commits
87 Commits
0.11.3
...
swift-stor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1633a0b0ed | ||
|
|
95745c83d1 | ||
|
|
32dff45a52 | ||
|
|
1a83ebc0d0 | ||
|
|
721ad30058 | ||
|
|
8ec459bdde | ||
|
|
688293481a | ||
|
|
ad2f4bb724 | ||
|
|
fe286c947b | ||
|
|
1bf33e5d3b | ||
|
|
72a5e2a543 | ||
|
|
2ee0d9d9d1 | ||
|
|
90fd6ee30f | ||
|
|
acc4c5849b | ||
|
|
7a14ad11e8 | ||
|
|
17f0beb7cf | ||
|
|
c12977b0c0 | ||
|
|
e5740c820f | ||
|
|
045f4ae5ea | ||
|
|
521245ce87 | ||
|
|
226cb56b6f | ||
|
|
63d7e1cbe8 | ||
|
|
5a79b4ced2 | ||
|
|
0aafa19cf7 | ||
|
|
b078707ddf | ||
|
|
f0254a9247 | ||
|
|
acf91e799f | ||
|
|
56dea43802 | ||
|
|
08d301688f | ||
|
|
79835941a5 | ||
|
|
1efae05eda | ||
|
|
3a3e42b352 | ||
|
|
dbfaab5f7e | ||
|
|
b7edbc73cd | ||
|
|
a416a8ad07 | ||
|
|
2071a84ff1 | ||
|
|
4ed87a082f | ||
|
|
fcba4f25b5 | ||
|
|
eacce37d88 | ||
|
|
e075543a0b | ||
|
|
4e9169d5f1 | ||
|
|
8d7f3d18e1 | ||
|
|
e1f62f9d46 | ||
|
|
366bd28e5d | ||
|
|
7884280a46 | ||
|
|
678eb86b27 | ||
|
|
891c0fc0c2 | ||
|
|
8701c1a99e | ||
|
|
12901f00d2 | ||
|
|
0973ca335d | ||
|
|
8c2996fb31 | ||
|
|
0ddf81573c | ||
|
|
442c2c35ed | ||
|
|
1d9c1d9d95 | ||
|
|
b701575e03 | ||
|
|
8bc6157325 | ||
|
|
ef8bdb6c83 | ||
|
|
e0feb50dec | ||
|
|
787193a1f3 | ||
|
|
453b476b6a | ||
|
|
420c726258 | ||
|
|
0f31fe9bd1 | ||
|
|
2fa9da7fa7 | ||
|
|
6ba40384bd | ||
|
|
d5d2720719 | ||
|
|
0627a3708d | ||
|
|
ce2af1df23 | ||
|
|
1ebe905e3b | ||
|
|
eed9bccd45 | ||
|
|
87e0e4e28e | ||
|
|
dc3735b31b | ||
|
|
56e0849533 | ||
|
|
a262ed325d | ||
|
|
56ffd65fe8 | ||
|
|
b65f37293b | ||
|
|
4a37e722fe | ||
|
|
55dec02d71 | ||
|
|
78da85115c | ||
|
|
d709a607af | ||
|
|
dee0101496 | ||
|
|
6cdcd9a88d | ||
|
|
8994ceb405 | ||
|
|
ffcb48ba84 | ||
|
|
285e3a0811 | ||
|
|
998db0cb90 | ||
|
|
0cfd5b2533 | ||
|
|
a03e3549a8 |
8
.dockerignore
Normal file
8
.dockerignore
Normal file
@@ -0,0 +1,8 @@
|
||||
.ash_history
|
||||
.git
|
||||
.cpan
|
||||
.cpanm
|
||||
/files/
|
||||
/local/
|
||||
/lutim.conf
|
||||
/lutim.db
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -7,6 +7,7 @@ script/hypnotoad.pid
|
||||
local/*
|
||||
files/*
|
||||
stop-upload
|
||||
tap.xml
|
||||
themes/*
|
||||
!themes/default
|
||||
!themes/default/*
|
||||
@@ -18,3 +19,7 @@ tmp/*
|
||||
.zanata-cache/*
|
||||
cover_db/*
|
||||
*.passwd
|
||||
.ash_history
|
||||
.vscode/
|
||||
.DS_Store
|
||||
.cpanm/
|
||||
|
||||
128
.gitlab-ci.yml
128
.gitlab-ci.yml
@@ -1,5 +1,7 @@
|
||||
image: hatsoftwares/lutim-test-ci:latest
|
||||
stages:
|
||||
- publish_changelog
|
||||
- pouet_it
|
||||
- podcheck
|
||||
- carton
|
||||
- carton_bdd
|
||||
@@ -15,38 +17,60 @@ variables:
|
||||
### Jobs templates
|
||||
##
|
||||
#
|
||||
.carton_bdd_template: &carton_bdd_definition
|
||||
stage: carton_bdd
|
||||
.retry: &retry
|
||||
retry: 2
|
||||
except:
|
||||
- tags
|
||||
|
||||
.carton_bdd_template: &carton_bdd_definition
|
||||
<<: *retry
|
||||
stage: carton_bdd
|
||||
artifacts:
|
||||
paths:
|
||||
- local/
|
||||
dependencies:
|
||||
needs:
|
||||
- carton
|
||||
|
||||
.test_template: &test_definition
|
||||
<<: *retry
|
||||
stage: tests
|
||||
script:
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make test
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make watch
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make stats
|
||||
- MOJO_CONFIG=t/$CI_JOB_NAME.conf make test-junit-output
|
||||
artifacts:
|
||||
paths:
|
||||
- tap.xml
|
||||
- cover_db/
|
||||
|
||||
.sqlite_template: &sqlite_definition
|
||||
stage: tests
|
||||
retry: 2
|
||||
artifacts:
|
||||
paths:
|
||||
- cover_db/
|
||||
dependencies:
|
||||
<<: *test_definition
|
||||
needs:
|
||||
- carton_sqlite
|
||||
|
||||
.pg_template: &pg_definition
|
||||
stage: tests
|
||||
retry: 2
|
||||
artifacts:
|
||||
paths:
|
||||
- cover_db/
|
||||
dependencies:
|
||||
<<: *test_definition
|
||||
needs:
|
||||
- carton_postgresql
|
||||
services:
|
||||
- name: postgres:9.6
|
||||
alias: postgres
|
||||
|
||||
### Publish tag changelog and create a toot
|
||||
##
|
||||
#
|
||||
include:
|
||||
- 'https://framagit.org/fiat-tux/gitlabci-snippets/raw/4e4e03322e95e9b0124c714456ebf1bdc02ad43f/publish_changelog.gitlab-ci.yml'
|
||||
- 'https://framagit.org/fiat-tux/gitlabci-snippets/raw/4e4e03322e95e9b0124c714456ebf1bdc02ad43f/pouet-it-from-ci.gitlab-ci.yml'
|
||||
|
||||
### Podcheck
|
||||
##
|
||||
#
|
||||
podcheck:
|
||||
<<: *retry
|
||||
stage: podcheck
|
||||
script:
|
||||
- make podcheck
|
||||
@@ -55,6 +79,7 @@ podcheck:
|
||||
##
|
||||
#
|
||||
carton:
|
||||
<<: *retry
|
||||
stage: carton
|
||||
artifacts:
|
||||
paths:
|
||||
@@ -63,7 +88,6 @@ carton:
|
||||
script:
|
||||
- carton install --deployment --without=sqlite --without=postgresql --without=minion --without=cache --without=memcached
|
||||
when: always
|
||||
retry: 2
|
||||
|
||||
### Install DB related dependencies
|
||||
##
|
||||
@@ -82,75 +106,37 @@ carton_postgresql:
|
||||
#
|
||||
sqlite1:
|
||||
<<: *sqlite_definition
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=postgresql --without=minion --without=cache --without=memcached
|
||||
- MOJO_CONFIG=t/sqlite1.conf make test-sqlite
|
||||
- MOJO_CONFIG=t/sqlite1.conf make watch
|
||||
- MOJO_CONFIG=t/sqlite1.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/sqlite1.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/sqlite1.conf make stats
|
||||
sqlite2:
|
||||
<<: *sqlite_definition
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=postgresql --without=cache --without=memcached
|
||||
- MOJO_CONFIG=t/sqlite2.conf make minion &
|
||||
- sleep 3
|
||||
- MOJO_CONFIG=t/sqlite2.conf make test-sqlite
|
||||
- MOJO_CONFIG=t/sqlite2.conf make watch
|
||||
- MOJO_CONFIG=t/sqlite2.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/sqlite2.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/sqlite2.conf make stats
|
||||
sqlite3:
|
||||
<<: *sqlite_definition
|
||||
services:
|
||||
- name: postgres:9.6
|
||||
alias: postgres
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=cache --without=memcached
|
||||
- export PGPASSWORD=lutim_pwd; echo 'CREATE DATABASE lutim_minion WITH OWNER lutim;' | psql -h postgres -U lutim lutim_db
|
||||
- MOJO_CONFIG=t/sqlite3.conf make minion &
|
||||
- sleep 3
|
||||
- MOJO_CONFIG=t/sqlite3.conf make test-sqlite
|
||||
- MOJO_CONFIG=t/sqlite3.conf make watch
|
||||
- MOJO_CONFIG=t/sqlite3.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/sqlite3.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/sqlite3.conf make stats
|
||||
|
||||
### PostgreSQL tests
|
||||
##
|
||||
#
|
||||
postgresql1:
|
||||
<<: *pg_definition
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=sqlite --without=minion --without=cache --without=memcached
|
||||
- MOJO_CONFIG=t/postgresql1.conf make test-pg
|
||||
- MOJO_CONFIG=t/postgresql1.conf make watch
|
||||
- MOJO_CONFIG=t/postgresql1.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/postgresql1.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/postgresql1.conf make stats
|
||||
postgresql2:
|
||||
<<: *pg_definition
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=cache --without=memcached
|
||||
- MOJO_CONFIG=t/postgresql2.conf make minion &
|
||||
- sleep 3
|
||||
- MOJO_CONFIG=t/postgresql2.conf make test-pg
|
||||
- MOJO_CONFIG=t/postgresql2.conf make watch
|
||||
- MOJO_CONFIG=t/postgresql2.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/postgresql2.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/postgresql2.conf make stats
|
||||
postgresql3:
|
||||
<<: *pg_definition
|
||||
script:
|
||||
before_script:
|
||||
- carton install --deployment --without=sqlite --without=cache --without=memcached
|
||||
- export PGPASSWORD=lutim_pwd; echo 'CREATE DATABASE lutim_minion WITH OWNER lutim;' | psql -h postgres -U lutim lutim_db
|
||||
- MOJO_CONFIG=t/postgresql3.conf make minion &
|
||||
- sleep 3
|
||||
- MOJO_CONFIG=t/postgresql3.conf make test-pg
|
||||
- MOJO_CONFIG=t/postgresql3.conf make watch
|
||||
- MOJO_CONFIG=t/postgresql3.conf make cleanbdd
|
||||
- MOJO_CONFIG=t/postgresql3.conf make cleanfiles
|
||||
- MOJO_CONFIG=t/postgresql3.conf make stats
|
||||
|
||||
### Code coverage
|
||||
##
|
||||
@@ -159,19 +145,9 @@ cover:
|
||||
stage: cover
|
||||
script:
|
||||
- make cover
|
||||
coverage: '/Total .*\d+\.\d+$/'
|
||||
|
||||
### Push new translations strings to https://trad.framasoft.org
|
||||
##
|
||||
#
|
||||
trads:
|
||||
stage: cover
|
||||
image: framasoft/push-trad:latest
|
||||
dependencies: []
|
||||
script:
|
||||
- sed -e "s@<project-version>.*</project-version>@<project-version>$CI_COMMIT_REF_SLUG</project-version>@" -i zanata.xml
|
||||
- if [ ! -z ${ZANATA_CONFIG+x} ]; then mkdir -p ${HOME}/.config; echo -e "${ZANATA_CONFIG}" > ${HOME}/.config/zanata.ini; fi
|
||||
- if [ ! -z ${ZANATA_CONFIG+x} ]; then make push-locales; fi
|
||||
only:
|
||||
- development
|
||||
- master
|
||||
coverage: '/Total.* (\d+\.\d+)$/'
|
||||
artifacts:
|
||||
reports:
|
||||
junit: tap.xml
|
||||
except:
|
||||
- tags
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[lutim.enpo]
|
||||
source_file = lib/Lutim/I18N/en.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
file_filter = lib/Lutim/I18N/<lang>.po
|
||||
3
.weblate
Normal file
3
.weblate
Normal file
@@ -0,0 +1,3 @@
|
||||
[weblate]
|
||||
url = https://weblate.framasoft.org/api/
|
||||
translation = lutim/development
|
||||
@@ -17,3 +17,5 @@
|
||||
* Alexis Clairet (<https://github.com/Turboconnard>), paste image to upload ability
|
||||
* ButterflyOfFire (<https://mastodon.tetaneutral.net/@BoF>), arabic translation
|
||||
* Alexander Sapozhnikov (<http://shoorick.ru>), russian translation
|
||||
* Arnaud de Mouhy, Docker support
|
||||
* Armando Lüscher (<https://noplanman.ch/>)
|
||||
|
||||
22
CHANGELOG
22
CHANGELOG
@@ -1,5 +1,27 @@
|
||||
Revision history for Lutim
|
||||
|
||||
0.13.0 ????-??-??
|
||||
|
||||
0.12.0 2020-04-17
|
||||
- Add watermarking feature (#112)
|
||||
|
||||
0.11.6 2019-11-16
|
||||
- Remove the "Support the author" dropdown
|
||||
- Add a "select all" checkbox on /myfiles (#105)
|
||||
- Update arabic translation
|
||||
- Group button links fixed to make the whole button a link (Armando Lüscher)
|
||||
- Docker support (Arnaud de Mouhy)
|
||||
- Bump toastify-js to version 1.4.0 (Armando Lüscher)
|
||||
|
||||
0.11.5 2019-04-19
|
||||
- Revert catching Image::Magick problems
|
||||
- In gallery, use JS to find image's width and height if not provided by image's infos
|
||||
|
||||
0.11.4 2018-11-18
|
||||
- Catch Image::Magick problems
|
||||
- Update arabic translation
|
||||
- Add italian translation
|
||||
|
||||
0.11.3 2018-07-31
|
||||
- Fix gallery bug
|
||||
|
||||
|
||||
23
Dockerfile
Normal file
23
Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
FROM alpine:3.9
|
||||
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG VERSION
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name="Let's Upload That Image" \
|
||||
org.label-schema.url="https://lut.im/" \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url="https://git.framasoft.org/luc/lutim" \
|
||||
org.label-schema.vendor="Luc Didry" \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.schema-version="1.0"
|
||||
|
||||
RUN adduser -D lutim
|
||||
COPY --chown=lutim:lutim . /home/lutim
|
||||
|
||||
WORKDIR /home/lutim
|
||||
RUN /bin/sh /home/lutim/docker/build.sh
|
||||
|
||||
USER lutim
|
||||
|
||||
ENTRYPOINT ["/bin/sh", "/home/lutim/docker/entrypoint.sh"]
|
||||
33
Makefile
33
Makefile
@@ -1,9 +1,11 @@
|
||||
EXTRACTDIR=-D lib -D themes/default/templates
|
||||
POT=themes/default/lib/Lutim/I18N/lutim.pot
|
||||
ENPO=themes/default/lib/Lutim/I18N/en.po
|
||||
XGETTEXT=carton exec local/bin/xgettext.pl -u
|
||||
CARTON=carton exec
|
||||
LUTIM=script/lutim
|
||||
REAL_LUTIM=script/application
|
||||
HARNESS_PERL_SWITCHES=-MDevel::Cover=+ignore,local
|
||||
HEAD := $(shell git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
minify:
|
||||
@@ -15,35 +17,28 @@ minify:
|
||||
|
||||
locales:
|
||||
$(XGETTEXT) $(EXTRACTDIR) -o $(POT) 2>/dev/null
|
||||
|
||||
push-locales:
|
||||
ifeq ($(HEAD),$(filter $(HEAD),master development))
|
||||
sed -e 's@<project-version>.*</project-version>@<project-version>$(HEAD)</project-version>@' -i zanata.xml && \
|
||||
zanata-cli -q -B push
|
||||
endif
|
||||
|
||||
pull-locales:
|
||||
ifeq ($(HEAD),$(filter $(HEAD),master development))
|
||||
sed -e 's@<project-version>.*</project-version>@<project-version>$(HEAD)</project-version>@' -i zanata.xml && \
|
||||
zanata-cli -q -B pull
|
||||
endif
|
||||
$(XGETTEXT) $(EXTRACTDIR) -o $(ENPO) 2>/dev/null
|
||||
|
||||
stats-locales:
|
||||
zanata-cli -q stats
|
||||
wlc stats
|
||||
|
||||
podcheck:
|
||||
podchecker lib/Lutim/DB/Image.pm
|
||||
|
||||
check-syntax:
|
||||
find lib/ themes/ -name \*.pm -exec $(CARTON) perl -Ilib -c {} \;
|
||||
find t/ -name \*.t -exec $(CARTON) perl -Ilib -c {} \;
|
||||
|
||||
cover:
|
||||
PERL5OPT='-Ilib/' HARNESS_PERL_SWITCHES='-MDevel::Cover' $(CARTON) cover --ignore_re '^local'
|
||||
PERL5OPT='-Ilib' $(CARTON) cover --ignore_re '^local'
|
||||
|
||||
test-sqlite:
|
||||
@PERL5OPT='-Ilib/' HARNESS_PERL_SWITCHES='-MDevel::Cover' $(CARTON) $(REAL_LUTIM) test
|
||||
test:
|
||||
@PERL5OPT='-Ilib/' HARNESS_PERL_SWITCHES='$(HARNESS_PERL_SWITCHES)' $(CARTON) -- prove -l --failures
|
||||
|
||||
test-pg:
|
||||
@PERL5OPT='-Ilib/' HARNESS_PERL_SWITCHES='-MDevel::Cover' $(CARTON) $(REAL_LUTIM) test
|
||||
test-junit-output:
|
||||
@PERL5OPT='-Ilib/' HARNESS_PERL_SWITCHES='$(HARNESS_PERL_SWITCHES)' $(CARTON) -- prove -l --failures --formatter TAP::Formatter::JUnit > tap.xml
|
||||
|
||||
test: podcheck test-sqlite test-pg
|
||||
full-test: podcheck just-test
|
||||
|
||||
clean:
|
||||
rm -rf lutim.db files/
|
||||
|
||||
@@ -43,7 +43,7 @@ See [AUTHORS.md](AUTHORS.md) file.
|
||||
|
||||
## Contribute!
|
||||
|
||||
Please consider contributing, either by [reporting issues](https://framagit.org/luc/lutim/issues) or by helping the [internationalization](https://trad.framasoft.org/project/view/lutim). And of course, code contribution are welcome!
|
||||
Please consider contributing, either by [reporting issues](https://framagit.org/luc/lutim/issues) or by helping the [internationalization](https://weblate.framasoft.org/projects/lutim/). And of course, code contribution are welcome!
|
||||
|
||||
The details on how to contribute are on the [wiki](https://framagit.org/luc/lutim/wikis/contribute).
|
||||
|
||||
@@ -67,3 +67,4 @@ It uses:
|
||||
* [PhotoSwipe](http://photoswipe.com/) for the gallery
|
||||
* [JSZip](https://stuk.github.io/jszip/) for generating a zip containing all the images in the gallery
|
||||
* [FileSaver.js](https://github.com/eligrey/FileSaver.js/) for saving the zip
|
||||
* [Toastify JS](https://apvarun.github.io/toastify-js/) for notifications
|
||||
|
||||
3
cpanfile
3
cpanfile
@@ -53,6 +53,9 @@ feature 'htpasswd', 'Htpasswd authentication support' => sub {
|
||||
requires 'Apache::Htpasswd';
|
||||
requires 'Mojolicious::Plugin::Authentication';
|
||||
};
|
||||
feature 'swift-storage', 'Openstack Swift object storage support' => sub {
|
||||
requires 'Net::OpenStack::Swift';
|
||||
};
|
||||
feature 'test' => sub {
|
||||
requires 'Devel::Cover';
|
||||
};
|
||||
|
||||
@@ -9,6 +9,23 @@ DISTRIBUTIONS
|
||||
Digest::SHA 2
|
||||
ExtUtils::MakeMaker 0
|
||||
MIME::Base64 0
|
||||
App-Rad-1.05
|
||||
pathname: G/GA/GARU/App-Rad-1.05.tar.gz
|
||||
provides:
|
||||
App::Rad 1.05
|
||||
App::Rad::Config undef
|
||||
App::Rad::Exclude 0.01
|
||||
App::Rad::Help 0.03
|
||||
App::Rad::Include 0.01
|
||||
requirements:
|
||||
Attribute::Handlers 0
|
||||
B::Deparse 0
|
||||
Carp 0
|
||||
ExtUtils::MakeMaker 0
|
||||
File::Temp 0
|
||||
FindBin 0
|
||||
Getopt::Long 2.36
|
||||
Test::More 0
|
||||
Archive-Zip-1.60
|
||||
pathname: P/PH/PHRED/Archive-Zip-1.60.tar.gz
|
||||
provides:
|
||||
@@ -173,6 +190,12 @@ DISTRIBUTIONS
|
||||
strict 0
|
||||
vars 0
|
||||
warnings 0
|
||||
Class-Accessor-Lite-0.08
|
||||
pathname: K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz
|
||||
provides:
|
||||
Class::Accessor::Lite 0.08
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 6.36
|
||||
Class-Data-Inheritable-0.08
|
||||
pathname: T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz
|
||||
provides:
|
||||
@@ -537,6 +560,23 @@ DISTRIBUTIONS
|
||||
Data::Validate::Domain 0
|
||||
Data::Validate::IP 0
|
||||
ExtUtils::MakeMaker 0
|
||||
Data-Validator-1.07
|
||||
pathname: G/GF/GFUJI/Data-Validator-1.07.tar.gz
|
||||
provides:
|
||||
Data::Validator 1.07
|
||||
Data::Validator::Role::AllowExtra undef
|
||||
Data::Validator::Role::Croak undef
|
||||
Data::Validator::Role::Method undef
|
||||
Data::Validator::Role::NoRestricted undef
|
||||
Data::Validator::Role::NoThrow undef
|
||||
Data::Validator::Role::Sequenced undef
|
||||
Data::Validator::Role::SmartSequenced undef
|
||||
Data::Validator::Role::StrictSequenced undef
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 6.59
|
||||
Module::Build 0.38
|
||||
Mouse 0.93
|
||||
perl 5.008001
|
||||
DateTime-1.48
|
||||
pathname: D/DR/DROLSKY/DateTime-1.48.tar.gz
|
||||
provides:
|
||||
@@ -995,6 +1035,19 @@ DISTRIBUTIONS
|
||||
perl 5.008004
|
||||
strict 0
|
||||
warnings 0
|
||||
Devel-CheckCompiler-0.07
|
||||
pathname: S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz
|
||||
provides:
|
||||
Devel::AssertC99 undef
|
||||
Devel::CheckCompiler 0.07
|
||||
requirements:
|
||||
Exporter 0
|
||||
ExtUtils::CBuilder 0
|
||||
File::Temp 0
|
||||
Module::Build::Tiny 0.035
|
||||
Test::More 0.98
|
||||
parent 0
|
||||
perl 5.008001
|
||||
Devel-Cover-1.29
|
||||
pathname: P/PJ/PJCJ/Devel-Cover-1.29.tar.gz
|
||||
provides:
|
||||
@@ -1077,6 +1130,13 @@ DISTRIBUTIONS
|
||||
perl 5.006
|
||||
strict 0
|
||||
warnings 0
|
||||
Devel-PPPort-3.57
|
||||
pathname: A/AT/ATOOMIC/Devel-PPPort-3.57.tar.gz
|
||||
provides:
|
||||
Devel::PPPort 3.57
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 0
|
||||
FindBin 0
|
||||
Devel-StackTrace-2.03
|
||||
pathname: D/DR/DROLSKY/Devel-StackTrace-2.03.tar.gz
|
||||
provides:
|
||||
@@ -1329,6 +1389,27 @@ DISTRIBUTIONS
|
||||
Test::More 0
|
||||
Test::Warn 0
|
||||
perl 5.006
|
||||
Furl-3.13
|
||||
pathname: T/TO/TOKUHIROM/Furl-3.13.tar.gz
|
||||
provides:
|
||||
Furl 3.13
|
||||
Furl::ConnectionCache undef
|
||||
Furl::HTTP 3.13
|
||||
Furl::Headers undef
|
||||
Furl::Request undef
|
||||
Furl::Response undef
|
||||
Furl::ZlibStream undef
|
||||
requirements:
|
||||
Class::Accessor::Lite 0
|
||||
Encode 0
|
||||
HTTP::Parser::XS 0.11
|
||||
MIME::Base64 0
|
||||
Module::Build::Tiny 0.035
|
||||
Mozilla::CA 0
|
||||
Scalar::Util 0
|
||||
Socket 0
|
||||
Time::HiRes 0
|
||||
perl 5.008001
|
||||
HTML-Parser-3.72
|
||||
pathname: G/GA/GAAS/HTML-Parser-3.72.tar.gz
|
||||
provides:
|
||||
@@ -1447,6 +1528,14 @@ DISTRIBUTIONS
|
||||
ExtUtils::MakeMaker 0
|
||||
HTTP::Headers 6
|
||||
perl 5.008001
|
||||
HTTP-Parser-XS-0.17
|
||||
pathname: K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz
|
||||
provides:
|
||||
HTTP::Parser::XS 0.17
|
||||
HTTP::Parser::XS::PP undef
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 6.36
|
||||
Test::More 0.96
|
||||
Hash-Merge-0.300
|
||||
pathname: R/RE/REHSACK/Hash-Merge-0.300.tar.gz
|
||||
provides:
|
||||
@@ -1802,6 +1891,18 @@ DISTRIBUTIONS
|
||||
constant 0
|
||||
strict 0
|
||||
warnings 0
|
||||
Log-Minimal-0.19
|
||||
pathname: K/KA/KAZEBURO/Log-Minimal-0.19.tar.gz
|
||||
provides:
|
||||
Log::Minimal 0.19
|
||||
requirements:
|
||||
CPAN::Meta 0
|
||||
CPAN::Meta::Prereqs 0
|
||||
Data::Dumper 0
|
||||
ExtUtils::CBuilder 0
|
||||
Module::Build 0.38
|
||||
Scalar::Util 0
|
||||
Term::ANSIColor 0
|
||||
MRO-Compat-0.13
|
||||
pathname: H/HA/HAARG/MRO-Compat-0.13.tar.gz
|
||||
provides:
|
||||
@@ -1918,6 +2019,21 @@ DISTRIBUTIONS
|
||||
perl 5.006
|
||||
strict 0
|
||||
warnings 0
|
||||
Module-Build-XSUtil-0.19
|
||||
pathname: H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz
|
||||
provides:
|
||||
Module::Build::XSUtil 0.19
|
||||
requirements:
|
||||
Devel::CheckCompiler 0
|
||||
Devel::PPPort 0
|
||||
Exporter 0
|
||||
ExtUtils::CBuilder 0
|
||||
File::Basename 0
|
||||
File::Path 0
|
||||
Module::Build 0.4005
|
||||
XSLoader 0
|
||||
parent 0
|
||||
perl 5.008001
|
||||
Module-Implementation-0.09
|
||||
pathname: D/DR/DROLSKY/Module-Implementation-0.09.tar.gz
|
||||
provides:
|
||||
@@ -2082,7 +2198,6 @@ DISTRIBUTIONS
|
||||
Mojolicious::Lite undef
|
||||
Mojolicious::Plugin undef
|
||||
Mojolicious::Plugin::Config undef
|
||||
Mojolicious::Plugin::Config::Sandbox undef
|
||||
Mojolicious::Plugin::DefaultHelpers undef
|
||||
Mojolicious::Plugin::EPLRenderer undef
|
||||
Mojolicious::Plugin::EPRenderer undef
|
||||
@@ -2605,6 +2720,44 @@ DISTRIBUTIONS
|
||||
parent 0.223
|
||||
strict 1.03
|
||||
warnings 1.03
|
||||
Mouse-v2.5.9
|
||||
pathname: S/SK/SKAJI/Mouse-v2.5.9.tar.gz
|
||||
provides:
|
||||
Mouse v2.5.9
|
||||
Mouse::Exporter undef
|
||||
Mouse::Meta::Attribute undef
|
||||
Mouse::Meta::Class undef
|
||||
Mouse::Meta::Method undef
|
||||
Mouse::Meta::Method::Accessor undef
|
||||
Mouse::Meta::Method::Constructor undef
|
||||
Mouse::Meta::Method::Delegation undef
|
||||
Mouse::Meta::Method::Destructor undef
|
||||
Mouse::Meta::Module undef
|
||||
Mouse::Meta::Role undef
|
||||
Mouse::Meta::Role::Application undef
|
||||
Mouse::Meta::Role::Application::RoleSummation undef
|
||||
Mouse::Meta::Role::Composite undef
|
||||
Mouse::Meta::Role::Method undef
|
||||
Mouse::Meta::TypeConstraint undef
|
||||
Mouse::Object undef
|
||||
Mouse::PurePerl undef
|
||||
Mouse::Role v2.5.9
|
||||
Mouse::Spec v2.5.9
|
||||
Mouse::TypeRegistry undef
|
||||
Mouse::Util v2.5.9
|
||||
Mouse::Util::MetaRole undef
|
||||
Mouse::Util::TypeConstraints undef
|
||||
Squirrel undef
|
||||
Squirrel::Role undef
|
||||
Test::Mouse undef
|
||||
ouse undef
|
||||
requirements:
|
||||
ExtUtils::CBuilder 0
|
||||
Module::Build 0.4005
|
||||
Module::Build::XSUtil 0.19
|
||||
Scalar::Util 1.14
|
||||
XSLoader 0.02
|
||||
perl 5.008005
|
||||
Mozilla-CA-20180117
|
||||
pathname: A/AB/ABH/Mozilla-CA-20180117.tar.gz
|
||||
provides:
|
||||
@@ -2640,6 +2793,31 @@ DISTRIBUTIONS
|
||||
strict 0
|
||||
vars 0
|
||||
warnings 0
|
||||
Net-OpenStack-Swift-0.15
|
||||
pathname: M/MA/MASAKYST/Net-OpenStack-Swift-0.15.tar.gz
|
||||
provides:
|
||||
Net::OpenStack::Swift 0.15
|
||||
Net::OpenStack::Swift::InnerKeystone::Base undef
|
||||
Net::OpenStack::Swift::InnerKeystone::V1_0 undef
|
||||
Net::OpenStack::Swift::InnerKeystone::V2_0 undef
|
||||
Net::OpenStack::Swift::InnerKeystone::V3_0 undef
|
||||
Net::OpenStack::Swift::Util undef
|
||||
requirements:
|
||||
App::Rad 0
|
||||
Data::Validator 0
|
||||
Furl 0
|
||||
IO::Socket::SSL 0
|
||||
JSON 0
|
||||
Log::Minimal 0
|
||||
Module::Build::Tiny 0.035
|
||||
Mouse 0
|
||||
Parallel::Fork::BossWorkerAsync 0
|
||||
Path::Tiny 0
|
||||
Sys::CPU 0
|
||||
Text::ASCIITable 0
|
||||
URI::Escape 0
|
||||
namespace::clean 0
|
||||
perl 5.010_001
|
||||
Net-SSLeay-1.85
|
||||
pathname: M/MI/MIKEM/Net-SSLeay-1.85.tar.gz
|
||||
provides:
|
||||
@@ -2707,6 +2885,12 @@ DISTRIBUTIONS
|
||||
XSLoader 0
|
||||
strict 0
|
||||
warnings 0
|
||||
Parallel-Fork-BossWorkerAsync-0.09
|
||||
pathname: J/JV/JVANNUCCI/Parallel-Fork-BossWorkerAsync-0.09.tar.gz
|
||||
provides:
|
||||
Parallel::Fork::BossWorkerAsync 0.09
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 0
|
||||
Params-Classify-0.015
|
||||
pathname: Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz
|
||||
provides:
|
||||
@@ -2749,6 +2933,32 @@ DISTRIBUTIONS
|
||||
overload 0
|
||||
strict 0
|
||||
warnings 0
|
||||
Path-Tiny-0.112
|
||||
pathname: D/DA/DAGOLDEN/Path-Tiny-0.112.tar.gz
|
||||
provides:
|
||||
Path::Tiny 0.112
|
||||
Path::Tiny::Error 0.112
|
||||
requirements:
|
||||
Carp 0
|
||||
Cwd 0
|
||||
Digest 1.03
|
||||
Digest::SHA 5.45
|
||||
Encode 0
|
||||
Exporter 5.57
|
||||
ExtUtils::MakeMaker 6.17
|
||||
Fcntl 0
|
||||
File::Copy 0
|
||||
File::Glob 0
|
||||
File::Path 2.07
|
||||
File::Spec 0.86
|
||||
File::Temp 0.19
|
||||
File::stat 0
|
||||
constant 0
|
||||
overload 0
|
||||
perl 5.008001
|
||||
strict 0
|
||||
warnings 0
|
||||
warnings::register 0
|
||||
Role-Tiny-2.000006
|
||||
pathname: H/HA/HAARG/Role-Tiny-2.000006.tar.gz
|
||||
provides:
|
||||
@@ -2774,17 +2984,6 @@ DISTRIBUTIONS
|
||||
Sub::Quote 2.000001
|
||||
Text::Balanced 2.00
|
||||
perl 5.006
|
||||
Scalar-List-Utils-1.50
|
||||
pathname: P/PE/PEVANS/Scalar-List-Utils-1.50.tar.gz
|
||||
provides:
|
||||
List::Util 1.50
|
||||
List::Util::XS 1.50
|
||||
Scalar::Util 1.50
|
||||
Sub::Util 1.50
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 0
|
||||
Test::More 0
|
||||
perl 5.006
|
||||
Specio-0.42
|
||||
pathname: D/DR/DROLSKY/Specio-0.42.tar.gz
|
||||
provides:
|
||||
@@ -2948,6 +3147,12 @@ DISTRIBUTIONS
|
||||
Text::Balanced 2
|
||||
if 0
|
||||
perl 5.005
|
||||
Sys-CPU-0.52
|
||||
pathname: M/MK/MKODERER/Sys-CPU-0.52.tar.gz
|
||||
provides:
|
||||
Sys::CPU 0.52
|
||||
requirements:
|
||||
ExtUtils::MakeMaker 0
|
||||
Task-Weaken-1.06
|
||||
pathname: E/ET/ETHER/Task-Weaken-1.06.tar.gz
|
||||
provides:
|
||||
@@ -2993,6 +3198,16 @@ DISTRIBUTIONS
|
||||
Test::Builder 0.13
|
||||
Test::Builder::Tester 1.02
|
||||
perl 5.006
|
||||
Text-ASCIITable-0.22
|
||||
pathname: L/LU/LUNATIC/Text-ASCIITable-0.22.tar.gz
|
||||
provides:
|
||||
Text::ASCIITable 0.22
|
||||
Text::ASCIITable::Wrap 0.2
|
||||
requirements:
|
||||
Carp 0
|
||||
Encode 0
|
||||
List::Util 0
|
||||
perl v5.6.0
|
||||
Text-Soundex-3.05
|
||||
pathname: R/RJ/RJBS/Text-Soundex-3.05.tar.gz
|
||||
provides:
|
||||
|
||||
22
docker-compose.dev.yml
Normal file
22
docker-compose.dev.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
app_dev:
|
||||
build: .
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- .:/home/lutim
|
||||
command: dev
|
||||
postgres_dev:
|
||||
image: postgres:11.2-alpine
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_USER: lutim
|
||||
POSTGRES_DB: lutim
|
||||
memcached:
|
||||
image: memcached:1.5-alpine
|
||||
adminer:
|
||||
image: dehy/adminer
|
||||
ports:
|
||||
- 8081:80
|
||||
28
docker-compose.yml
Normal file
28
docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
app:
|
||||
build: .
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- ./lutim.conf:/home/lutim/lutim.conf:ro
|
||||
db:
|
||||
image: postgres:11.2-alpine
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_USER: lutim
|
||||
POSTGRES_DB: lutim
|
||||
cache:
|
||||
image: memcached:1.5-alpine
|
||||
minion:
|
||||
build: .
|
||||
command: minion
|
||||
volumes:
|
||||
- ./lutim.conf:/home/lutim/lutim.conf:ro
|
||||
minion_db:
|
||||
image: postgres:11.2-alpine
|
||||
environment:
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_USER: lutim_minion
|
||||
POSTGRES_DB: lutim_minion
|
||||
39
docker-stack.yml
Normal file
39
docker-stack.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
app:
|
||||
image: aquinum/lutim
|
||||
configs:
|
||||
- source: lutim.conf
|
||||
target: /home/lutim/lutim.conf
|
||||
uid: '1000'
|
||||
gid: '1000'
|
||||
mode: 0440
|
||||
deploy:
|
||||
replicas: 1
|
||||
db:
|
||||
image: postgres:11.2-alpine
|
||||
environment:
|
||||
POSTGRES_PASSWORD: <changeme>
|
||||
POSTGRES_USER: lutim
|
||||
POSTGRES_DB: lutim
|
||||
cache:
|
||||
image: memcached:1.5-alpine
|
||||
minion:
|
||||
image: aquinum/lutim
|
||||
command: minion
|
||||
configs:
|
||||
- source: lutim.conf
|
||||
target: /home/lutim/lutim.conf
|
||||
uid: '1000'
|
||||
gid: '1000'
|
||||
mode: 0440
|
||||
minion_db:
|
||||
image: mariadb:10.3
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: <changeme>
|
||||
MYSQL_DATABASE: lutim_minion
|
||||
|
||||
configs:
|
||||
lutim.conf:
|
||||
file: ./lutim.conf
|
||||
16
docker/build.sh
Normal file
16
docker/build.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -eu
|
||||
|
||||
apk update
|
||||
apk add perl libpq perl-crypt-rijndael perl-io-socket-ssl perl-net-ssleay su-exec shared-mime-info libressl
|
||||
sh $(dirname $0)/install-dev-env.sh
|
||||
|
||||
sh $(dirname $0)/install-imagemagick.sh
|
||||
|
||||
cpan notest Carton Config::FromHash
|
||||
carton install --without test
|
||||
|
||||
# Remove dev env
|
||||
apk del .build-deps
|
||||
rm -rf /var/cache/apk/* /root/.cpan*
|
||||
44
docker/entrypoint.sh
Normal file
44
docker/entrypoint.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
cd ~lutim
|
||||
|
||||
if [ "${1:-}" == "dev" ]
|
||||
then
|
||||
echo ""
|
||||
echo ""
|
||||
echo "Container started in dev mode. Connect to the container with the following command:"
|
||||
echo " docker-compose -f docker-compose.dev.yml exec -u root app_dev sh"
|
||||
echo ""
|
||||
echo ""
|
||||
echo "You can then install the build dependencies with this command"
|
||||
echo " sh ~lutim/docker/install-dev-env.sh"
|
||||
|
||||
tail -f /dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If MySQL/PostgreSQL, wait for database to be up
|
||||
DB_TYPE=$(perl utilities/read_conf.pl dbtype sqlite)
|
||||
DB_HOST=
|
||||
DB_PORT=
|
||||
if [ "$DB_TYPE" == "postgresql" ]
|
||||
then
|
||||
DB_HOST=$(perl utilities/read_conf.pl pgdb/host db)
|
||||
DB_PORT=$(perl utilities/read_conf.pl pgdb/port 5432)
|
||||
fi
|
||||
if [ -n "$DB_HOST" -a -n "$DB_PORT" ]
|
||||
then
|
||||
while ! nc -vz "${DB_HOST}" "${DB_PORT}"; do
|
||||
echo "Waiting for database..."
|
||||
sleep 1;
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "${1:-}" == "minion" ]
|
||||
then
|
||||
exec carton exec script/application minion worker
|
||||
fi
|
||||
|
||||
exec carton exec hypnotoad -f script/lutim
|
||||
3
docker/install-dev-env.sh
Normal file
3
docker/install-dev-env.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
apk --update add --virtual .build-deps build-base perl-utils perl-dev postgresql-dev vim wget zlib-dev
|
||||
40
docker/install-imagemagick.sh
Normal file
40
docker/install-imagemagick.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Instructions from https://imagemagick.org/script/perl-magick.php
|
||||
|
||||
set -eu
|
||||
|
||||
IM_VERSION=7.0.8-41
|
||||
SHA256_DIGEST=93f73a245c25194f757c075df9f2ec40010376200cc664c21646565b8690112c
|
||||
|
||||
IM_DIR="ImageMagick-$IM_VERSION"
|
||||
TARBALL="$IM_DIR.tar.gz"
|
||||
|
||||
ORIG_DIR="$(pwd)"
|
||||
|
||||
apk add libgomp libgcc libmagic \
|
||||
libjpeg libjpeg-turbo-dev \
|
||||
libpng libpng-dev \
|
||||
tiff tiff-dev \
|
||||
libwebp libwebp-dev
|
||||
|
||||
mkdir -p /tmp/im-build
|
||||
cd /tmp/im-build
|
||||
|
||||
echo "$SHA256_DIGEST *$TARBALL" > SHA256SUM
|
||||
|
||||
wget https://imagemagick.org/download/$TARBALL -O $TARBALL
|
||||
sha256sum -c SHA256SUM
|
||||
|
||||
tar xvf $TARBALL
|
||||
cd $IM_DIR
|
||||
./configure --with-perl --with-jpeg --with-png --with-tiff --with-webp
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
ldconfig /usr/local/lib
|
||||
perl -MImage::Magick -le 'print Image::Magick->QuantumDepth'
|
||||
|
||||
cd "$ORIG_DIR"
|
||||
apk del libjpeg-turbo-dev libpng-dev tiff-dev libwebp-dev
|
||||
rm -rf /tmp/im-build
|
||||
79
lib/Lutim.pm
79
lib/Lutim.pm
@@ -3,6 +3,7 @@ package Lutim;
|
||||
use Mojo::Base 'Mojolicious';
|
||||
use Mojo::IOLoop;
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
|
||||
use vars qw($im_loaded);
|
||||
BEGIN {
|
||||
@@ -28,41 +29,32 @@ sub startup {
|
||||
$self->plugin('DebugDumperHelper');
|
||||
|
||||
my $config = $self->plugin('Config', {
|
||||
default => {
|
||||
provisioning => 100,
|
||||
provis_step => 5,
|
||||
length => 8,
|
||||
always_encrypt => 0,
|
||||
anti_flood_delay => 5,
|
||||
max_file_size => 10*1024*1024,
|
||||
https => 0,
|
||||
proposed_delays => '0,1,7,30,365',
|
||||
default_delay => 0,
|
||||
max_delay => 0,
|
||||
token_length => 24,
|
||||
crypto_key_length => 8,
|
||||
thumbnail_size => 100,
|
||||
theme => 'default',
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'lutim.db',
|
||||
max_files_in_zip => 15,
|
||||
prefix => '/',
|
||||
minion => {
|
||||
enabled => 0,
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'minion.db'
|
||||
},
|
||||
session_duration => 3600,
|
||||
cache_max_size => 0,
|
||||
memcached_servers => [],
|
||||
quiet_logs => 0,
|
||||
disable_img_stats => 0,
|
||||
x_frame_options => 'DENY',
|
||||
x_content_type_options => 'nosniff',
|
||||
x_xss_protection => '1; mode=block',
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
if ($config->{watermark_path}) {
|
||||
die sprintf('%s does not exist or is not readable.', $config->{watermark_path}) unless -r $config->{watermark_path};
|
||||
my $valid = {
|
||||
center => 1,
|
||||
north => 1,
|
||||
northeast => 1,
|
||||
east => 1,
|
||||
southeast => 1,
|
||||
south => 1,
|
||||
southwest => 1,
|
||||
west => 1,
|
||||
northwest => 1
|
||||
};
|
||||
die sprintf('%s is not a valid value for watermark_placement.', $config->{watermark_placement}) unless $valid->{lc($config->{watermark_placement})};
|
||||
$valid = {
|
||||
'tiling' => 1,
|
||||
'single' => 1,
|
||||
'none' => 1
|
||||
};
|
||||
die sprintf('%s is not a valid value for watermark_default.', $config->{watermark_default}) unless $valid->{lc($config->{watermark_default})};
|
||||
die sprintf('%s is not a valid value for watermark_enforce.', $config->{watermark_enforce}) unless $valid->{lc($config->{watermark_enforce})};
|
||||
}
|
||||
|
||||
if (scalar(@{$config->{memcached_servers}})) {
|
||||
$self->plugin(CHI => {
|
||||
lutim_images_cache => {
|
||||
@@ -117,11 +109,16 @@ sub startup {
|
||||
$self->plugin('Lutim::Plugin::Helpers');
|
||||
$self->plugin('Lutim::Plugin::Lang');
|
||||
|
||||
# Now helpers has been loaded, time to check Swift container
|
||||
if ($config->{swift}) {
|
||||
$self->check_swift_container();
|
||||
}
|
||||
|
||||
# Minion
|
||||
if ($config->{minion}->{enabled}) {
|
||||
$self->config->{minion}->{dbtype} = 'sqlite' unless defined $config->{minion}->{dbtype};
|
||||
if ($config->{minion}->{dbtype} eq 'sqlite') {
|
||||
$self->config('minion')->{db_path} = 'minion.db' unless defined $config->{minion}->{db_path};
|
||||
$config->{minion}->{db_path} = 'minion.db' unless defined $config->{minion}->{db_path};
|
||||
$self->plugin('Minion' => { SQLite => 'sqlite:'.$config->{minion}->{db_path} });
|
||||
} elsif ($config->{minion}->{dbtype} eq 'postgresql') {
|
||||
$self->plugin('PgURLHelper');
|
||||
@@ -178,14 +175,14 @@ sub startup {
|
||||
});
|
||||
|
||||
# Authentication (if configured)
|
||||
if (defined($self->config('ldap')) || defined($self->config('htpasswd'))) {
|
||||
if (defined($self->config('ldap'))) {
|
||||
if (defined($config->{ldap}) || defined($config->{htpasswd})) {
|
||||
if (defined($config->{ldap})) {
|
||||
require Net::LDAP;
|
||||
}
|
||||
if (defined($self->config('htpasswd'))) {
|
||||
if (defined($config->{htpasswd})) {
|
||||
require Apache::Htpasswd;
|
||||
}
|
||||
die 'Unable to read '.$self->config('htpasswd') if (defined($self->config('htpasswd')) && !-r $self->config('htpasswd'));
|
||||
die sprintf('Unable to read %s', $config->{htpasswd}) if (defined($config->{htpasswd}) && !-r $config->{htpasswd});
|
||||
$self->plugin('Authentication' =>
|
||||
{
|
||||
autoload_user => 1,
|
||||
@@ -274,7 +271,7 @@ sub startup {
|
||||
}
|
||||
}
|
||||
);
|
||||
$self->app->sessions->default_expiration($self->config('session_duration'));
|
||||
$self->app->sessions->default_expiration($config->{session_duration});
|
||||
}
|
||||
|
||||
$self->defaults(layout => 'default');
|
||||
@@ -287,7 +284,7 @@ sub startup {
|
||||
$r->add_condition(authorized => sub {
|
||||
my ($r, $c, $captures) = @_;
|
||||
|
||||
return 1 unless (defined($self->config('ldap')) || defined($self->config('htpasswd')));
|
||||
return 1 unless (defined($config->{ldap}) || defined($config->{htpasswd}));
|
||||
|
||||
return $c->is_user_authenticated;
|
||||
});
|
||||
@@ -306,7 +303,7 @@ sub startup {
|
||||
to('Authent#index');
|
||||
|
||||
|
||||
if (defined $self->config('ldap') || defined $self->config('htpasswd')) {
|
||||
if (defined $config->{ldap} || defined $config->{htpasswd}) {
|
||||
# Login page
|
||||
$r->get('/login')
|
||||
->to('Authent#index')
|
||||
|
||||
@@ -3,6 +3,7 @@ package Lutim::Command::cron::cleanbdd;
|
||||
use Mojo::Base 'Mojolicious::Command';
|
||||
use Mojo::File;
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
use FindBin qw($Bin);
|
||||
use File::Spec qw(catfile);
|
||||
|
||||
@@ -21,10 +22,7 @@ sub run {
|
||||
}
|
||||
my $config = $c->app->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => {
|
||||
keep_ip_during => 365,
|
||||
dbtype => 'sqlite',
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
my $separation = time() - $config->{keep_ip_during} * 86400;
|
||||
|
||||
@@ -3,6 +3,7 @@ package Lutim::Command::cron::cleanfiles;
|
||||
use Mojo::Base 'Mojolicious::Command';
|
||||
use Mojo::File;
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
use Lutim;
|
||||
use FindBin qw($Bin);
|
||||
use File::Spec qw(catfile);
|
||||
@@ -22,9 +23,7 @@ sub run {
|
||||
}
|
||||
my $config = $c->app->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => {
|
||||
dbtype => 'sqlite',
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
my $l = Lutim->new;
|
||||
@@ -34,7 +33,7 @@ sub run {
|
||||
$dbi->get_images_to_clean()->each(
|
||||
sub {
|
||||
my ($img, $num) = @_;
|
||||
$l->app->delete_image($img);
|
||||
$img->delete();
|
||||
}
|
||||
);
|
||||
|
||||
@@ -43,7 +42,7 @@ sub run {
|
||||
$dbi->get_no_longer_viewed_files($time)->each(
|
||||
sub {
|
||||
my ($img, $num) = @_;
|
||||
$l->app->delete_image($img);
|
||||
$img->delete();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ use Mojo::Util qw(encode);
|
||||
use Mojo::File;
|
||||
use Mojo::JSON qw(encode_json);
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
use DateTime;
|
||||
use FindBin qw($Bin);
|
||||
use File::Spec qw(catfile);
|
||||
@@ -26,11 +27,7 @@ sub run {
|
||||
}
|
||||
my $config = $c->app->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => {
|
||||
theme => 'default',
|
||||
stats_day_num => 365,
|
||||
dbtype => 'sqlite'
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
my $template = 'themes/'.$config->{theme}.'/templates/data.html.ep.template';
|
||||
|
||||
@@ -3,6 +3,7 @@ package Lutim::Command::cron::watch;
|
||||
use Mojo::Base 'Mojolicious::Command';
|
||||
use Filesys::DiskUsage qw/du/;
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
use Lutim;
|
||||
use Mojo::File;
|
||||
use Switch;
|
||||
@@ -24,10 +25,7 @@ sub run {
|
||||
}
|
||||
my $config = $c->app->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => {
|
||||
policy_when_full => 'warn',
|
||||
dbtype => 'sqlite',
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
if (defined($config->{max_total_size})) {
|
||||
@@ -52,7 +50,7 @@ sub run {
|
||||
$dbi->get_50_oldest()->each(
|
||||
sub {
|
||||
my ($img, $num) = @_;
|
||||
$l->app->delete_image($img);
|
||||
$img->delete();
|
||||
}
|
||||
);
|
||||
} while (du(qw/files/) > $config->{max_total_size});
|
||||
|
||||
@@ -4,6 +4,7 @@ use Mojo::Base 'Mojolicious::Command';
|
||||
use Mojo::Util qw(getopt);
|
||||
use Mojo::Collection 'c';
|
||||
use Lutim::DB::Image;
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
use FindBin qw($Bin);
|
||||
use File::Spec qw(catfile);
|
||||
|
||||
@@ -25,38 +26,7 @@ sub run {
|
||||
}
|
||||
my $config = $c->app->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => {
|
||||
provisioning => 100,
|
||||
provis_step => 5,
|
||||
length => 8,
|
||||
always_encrypt => 0,
|
||||
anti_flood_delay => 5,
|
||||
max_file_size => 10*1024*1024,
|
||||
https => 0,
|
||||
proposed_delays => '0,1,7,30,365',
|
||||
default_delay => 0,
|
||||
max_delay => 0,
|
||||
token_length => 24,
|
||||
crypto_key_length => 8,
|
||||
thumbnail_size => 100,
|
||||
theme => 'default',
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'lutim.db',
|
||||
max_files_in_zip => 15,
|
||||
prefix => '/',
|
||||
minion => {
|
||||
enabled => 0,
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'minion.db'
|
||||
},
|
||||
cache_max_size => 0,
|
||||
memcached_servers => [],
|
||||
quiet_logs => 0,
|
||||
disable_img_stats => 0,
|
||||
x_frame_options => 'DENY',
|
||||
x_content_type_options => 'nosniff',
|
||||
x_xss_protection => '1; mode=block',
|
||||
}
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
if (scalar(@{$config->{memcached_servers}})) {
|
||||
@@ -203,7 +173,7 @@ sub delete_short {
|
||||
chomp $confirm;
|
||||
}
|
||||
if ($confirm =~ m/^y(es)?$/i) {
|
||||
$c->app->delete_image($i);
|
||||
$i->delete();
|
||||
} else {
|
||||
say 'Answer was not "y" or "yes". Aborting deletion.';
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ sub modify {
|
||||
$image->delete_at_first_view(($c->param('first-view')) ? 1 : 0);
|
||||
$image->write;
|
||||
|
||||
$msg = $c->l('The image\'s delay has been successfully modified');
|
||||
$msg = $c->l('The image’s delay has been successfully modified');
|
||||
if (defined($c->param('format')) && $c->param('format') eq 'json') {
|
||||
return $c->render(
|
||||
json => {
|
||||
@@ -196,7 +196,7 @@ sub modify {
|
||||
return $c->redirect_to('/');
|
||||
}
|
||||
} else {
|
||||
$c->app->log->info('[UNSUCCESSFUL] someone tried to modify '.$short.' but it does\'nt exist.') unless $c->config('quiet_logs');
|
||||
$c->app->log->info('[UNSUCCESSFUL] someone tried to modify '.$short.' but it doesn’t exist.') unless $c->config('quiet_logs');
|
||||
|
||||
# Image never existed
|
||||
my $msg = $c->l('Unable to find the image %1.', $short);
|
||||
@@ -231,7 +231,7 @@ sub delete {
|
||||
} else {
|
||||
$c->app->log->info('[DELETION] someone made '.$image->filename.' removed with token method (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
return $c->respond_to(
|
||||
json => {
|
||||
json => {
|
||||
@@ -263,7 +263,7 @@ sub delete {
|
||||
}
|
||||
);
|
||||
} else {
|
||||
$c->app->log->info('[UNSUCCESSFUL] someone tried to delete '.$short.' but it does\'nt exist.') unless $c->config('quiet_logs');
|
||||
$c->app->log->info('[UNSUCCESSFUL] someone tried to delete '.$short.' but it doesn’t exist.') unless $c->config('quiet_logs');
|
||||
|
||||
# Image never existed
|
||||
return $c->respond_to(
|
||||
@@ -285,6 +285,7 @@ sub add {
|
||||
my $upload = $c->param('file');
|
||||
my $file_url = $c->param('lutim-file-url');
|
||||
my $keep_exif = $c->param('keep-exif');
|
||||
my $wm = $c->param('watermark');
|
||||
|
||||
if(!defined($c->stash('stop_upload'))) {
|
||||
if (defined($file_url) && $file_url) {
|
||||
@@ -396,7 +397,8 @@ sub add {
|
||||
# Save file and create record
|
||||
my $filename = unidecode($upload->filename);
|
||||
my $ext = ($filename =~ m/([^.]+)$/)[0];
|
||||
my $path = 'files/'.$record->short.'.'.$ext;
|
||||
my $path = $record->short.'.'.$ext;
|
||||
$path = Mojo::File->new('files', $path)->to_string unless ($c->app->config('swift'));
|
||||
|
||||
my ($width, $height);
|
||||
if ($im_loaded && $mediatype ne 'image/svg+xml' && $mediatype !~ m#image/(x-)?xcf# && $mediatype ne 'image/webp') { # ImageMagick don't work in Debian with svg (for now?)
|
||||
@@ -406,14 +408,56 @@ sub add {
|
||||
# Automatic rotation from EXIF tag
|
||||
$im->AutoOrient();
|
||||
|
||||
# Update the uploaded file with it's auto-rotated clone
|
||||
# Get dimensions
|
||||
$width = $im->Get('width');
|
||||
$height = $im->Get('height');
|
||||
|
||||
# Optionally add watermark
|
||||
if ($c->config('watermark_path') && (
|
||||
($wm && $wm ne 'none') ||
|
||||
$c->config('watermark_enforce') ne 'none'
|
||||
)) {
|
||||
my $watermarkim = Image::Magick->new;
|
||||
$watermarkim->ReadImage($c->config('watermark_path'));
|
||||
$watermarkim->Evaluate(
|
||||
operator => 'Multiply',
|
||||
value => 0.25,
|
||||
channel => 'Alpha'
|
||||
);
|
||||
if ($height <= 80) {
|
||||
$watermarkim->Resize(geometry => 'x10');
|
||||
} else {
|
||||
$watermarkim->Resize(geometry => 'x80');
|
||||
}
|
||||
|
||||
# Add one watermark or repeat it all over the image?
|
||||
my $tilingw = 1 if ($c->config('watermark_enforce') eq 'tiling' || $wm eq 'tiling');
|
||||
my $singlew = 1 if ($c->config('watermark_enforce') eq 'single' || $wm eq 'single');
|
||||
if ($tilingw) {
|
||||
$im->Composite(
|
||||
image => $watermarkim,
|
||||
compose => 'Dissolve',
|
||||
tile => 'True',
|
||||
gravity => 'Center'
|
||||
);
|
||||
} elsif ($singlew) {
|
||||
$im->Composite(
|
||||
image => $watermarkim,
|
||||
compose => 'Dissolve',
|
||||
tile => 'False',
|
||||
x => '20',
|
||||
y => '20',
|
||||
gravity => $c->config('watermark_placement')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
# Update the uploaded file with it's auto-rotated/watermarked clone
|
||||
my $asset = Mojo::Asset::Memory->new->add_chunk($im->ImageToBlob());
|
||||
$upload->asset($asset);
|
||||
|
||||
# Create the thumbnail
|
||||
$width = $im->Get('width');
|
||||
$height = $im->Get('height');
|
||||
$im->Resize(geometry=>'x85');
|
||||
$im->Resize(geometry => 'x85');
|
||||
|
||||
$thumb = 'data:'.$mediatype.';base64,';
|
||||
if ($mediatype eq 'image/gif') {
|
||||
@@ -450,12 +494,11 @@ sub add {
|
||||
if ($c->param('crypt') || $c->config('always_encrypt')) {
|
||||
($upload, $key, $iv) = $c->crypt($upload, $filename);
|
||||
}
|
||||
$upload->move_to($path);
|
||||
|
||||
$record->path($path)
|
||||
->filename($filename)
|
||||
->mediatype($mediatype)
|
||||
->footprint(digest_file_hex($path, 'SHA-512'))
|
||||
->footprint(digest_file_hex($upload->asset->to_file->path, 'SHA-512'))
|
||||
->enabled(1)
|
||||
->delete_at_day(($c->param('delete-day') && ($c->param('delete-day') <= $c->max_delay || $c->max_delay == 0)) ? $c->param('delete-day') : $c->max_delay)
|
||||
->delete_at_first_view(($c->param('first-view'))? 1 : 0)
|
||||
@@ -464,7 +507,8 @@ sub add {
|
||||
->width($width)
|
||||
->height($height)
|
||||
->iv($iv)
|
||||
->write;
|
||||
->write
|
||||
->store($upload);
|
||||
|
||||
# Log image creation
|
||||
$c->app->log->info('[CREATION] '.$ip.' pushed '.$filename.' (path: '.$path.')') unless $c->config('quiet_logs');
|
||||
@@ -562,12 +606,13 @@ sub short {
|
||||
|
||||
my $image = Lutim::DB::Image->new(app => $c->app, short => $short);
|
||||
if ($image->enabled && $image->path) {
|
||||
# Image deleted
|
||||
if($image->delete_at_day && $image->created_at + $image->delete_at_day * 86400 <= time()) {
|
||||
# Log deletion
|
||||
$c->app->log->info('[DELETION] someone tried to view '.$image->filename.' but it has been removed by expiration (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
# Delete image
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
|
||||
# Warn user
|
||||
$c->flash(
|
||||
@@ -577,6 +622,7 @@ sub short {
|
||||
}
|
||||
|
||||
my $test;
|
||||
# Twitter page
|
||||
if (defined($touit) && $image->mediatype !~ m/svg/) {
|
||||
$test = 1;
|
||||
my $short = $image->short;
|
||||
@@ -586,11 +632,11 @@ sub short {
|
||||
if (defined($image->width) && defined($image->height)) {
|
||||
($width, $height) = ($image->width, $image->height);
|
||||
} elsif ($im_loaded) {
|
||||
my $upload = $c->decrypt($key, $image->path, $image->iv);
|
||||
my $im = Image::Magick->new;
|
||||
$im->BlobToImage($upload->slurp);
|
||||
$width = $im->Get('width');
|
||||
$height = $im->Get('height');
|
||||
my $tmp = $image->decrypt($key);
|
||||
my $im = Image::Magick->new;
|
||||
$im->BlobToImage($tmp->slurp);
|
||||
$width = $im->Get('width');
|
||||
$height = $im->Get('height');
|
||||
|
||||
$image->width($width)
|
||||
->height($height)
|
||||
@@ -613,7 +659,7 @@ sub short {
|
||||
$c->app->log->info('[DELETION] someone made '.$image->filename.' removed (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
# Delete image
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
|
||||
$c->flash(
|
||||
msg => $c->l('Unable to find the image: it has been deleted.')
|
||||
@@ -645,15 +691,15 @@ sub short {
|
||||
$c->app->log->info('[DELETION] someone made '.$image->filename.' removed (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
# Delete image
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$c->app->log->error('[ERROR] Can\'t render '.$image->short);
|
||||
$c->app->log->error('[ERROR] Can’t render '.$image->short);
|
||||
}
|
||||
} elsif ($image->path && !$image->enabled) {
|
||||
# Log access try
|
||||
$c->app->log->info('[NOT FOUND] someone tried to view '.$short.' but it does\'nt exist anymore.') unless $c->config('quiet_logs');
|
||||
$c->app->log->info('[NOT FOUND] someone tried to view '.$short.' but it doesn’t exist anymore.') unless $c->config('quiet_logs');
|
||||
|
||||
# Warn user
|
||||
$c->flash(
|
||||
@@ -697,7 +743,7 @@ sub zip {
|
||||
$c->app->log->info('[DELETION] someone tried to view '.$image->filename.' but it has been removed by expiration (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
# Delete image
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
|
||||
# Warn user
|
||||
$zip->addString(encode('UTF-8', $c->l('Unable to find the image: it has been deleted.')), 'images/'.$filename.'.txt');
|
||||
@@ -710,7 +756,7 @@ sub zip {
|
||||
$c->app->log->info('[DELETION] someone made '.$image->filename.' removed (path: '.$image->path.')') unless $c->config('quiet_logs');
|
||||
|
||||
# Delete image
|
||||
$c->delete_image($image);
|
||||
$image->delete();
|
||||
|
||||
$zip->addString(encode('UTF-8', $c->l('Unable to find the image: it has been deleted.')), 'images/'.$filename.'.txt');
|
||||
next;
|
||||
@@ -721,16 +767,18 @@ sub zip {
|
||||
$expires = $dt->strftime("%a, %d %b %Y %H:%M:%S GMT");
|
||||
|
||||
my $path = $image->path;
|
||||
unless ( -f $path && -r $path ) {
|
||||
$c->app->log->error("Cannot read file [$path]. error [$!]");
|
||||
$zip->addString(encode('UTF-8', $c->l('Unable to find the image: it has been deleted.')), 'images/'.$filename.'.txt');
|
||||
next;
|
||||
unless ($c->app->config('swift')) {
|
||||
unless ( -f $path && -r $path ) {
|
||||
$c->app->log->error("Cannot read file [$path]. error [$!]");
|
||||
$zip->addString(encode('UTF-8', $c->l('Unable to find the image: it has been deleted.')), 'images/'.$filename.'.txt');
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
if ($key) {
|
||||
$zip->addString($c->decrypt($key, $path, $image->iv), "images/$filename");
|
||||
$zip->addString($image->decrypt($key), "images/$filename");
|
||||
} else {
|
||||
$zip->addFile($path, "images/$filename");
|
||||
$zip->addString($image->retrieve, "images/$filename");
|
||||
}
|
||||
|
||||
# Log access
|
||||
@@ -747,7 +795,7 @@ sub zip {
|
||||
}
|
||||
} elsif ($image->path && !$image->enabled) {
|
||||
# Log access try
|
||||
$c->app->log->info('[NOT FOUND] someone tried to view '.$short.' but it does\'nt exist anymore.') unless $c->config('quiet_logs');
|
||||
$c->app->log->info('[NOT FOUND] someone tried to view '.$short.' but it doesn’t exist anymore.') unless $c->config('quiet_logs');
|
||||
|
||||
# Warn user
|
||||
$zip->addString(encode('UTF-8', $c->l('Unable to find the image: it has been deleted.')), 'images/'.$image->filename.'.txt');
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# vim:set sw=4 ts=4 sts=4 ft=perl expandtab:
|
||||
package Lutim::DB::Image;
|
||||
use bytes;
|
||||
use Mojo::Base -base;
|
||||
use Mojo::File;
|
||||
use Crypt::CBC;
|
||||
use File::Temp qw(tempfile);
|
||||
|
||||
has 'short';
|
||||
has 'path';
|
||||
@@ -20,6 +24,8 @@ has 'height';
|
||||
has 'iv';
|
||||
has 'app';
|
||||
|
||||
=encoding utf8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Lutim::DB::Image - DB abstraction layer for Lutim images
|
||||
@@ -129,7 +135,7 @@ sub to_hash {
|
||||
mod_token => $c->mod_token,
|
||||
width => $c->width,
|
||||
height => $c->height,
|
||||
height => $c->iv
|
||||
iv => $c->iv
|
||||
};
|
||||
}
|
||||
|
||||
@@ -151,13 +157,11 @@ sub to_hash {
|
||||
|
||||
=over 1
|
||||
|
||||
=item B<Usage> : C<$c-E<gt>count_delete_at_day_endis($delete_at_day, $enabled[, $time])>
|
||||
=item B<Usage> : C<$c-E<gt>count_delete_at_day_endis($delete_at_day, $enabled, [$time])>
|
||||
|
||||
=item B<Arguments> : two mandatory parameters: one integer, the delete_at_day attribute, a boolean (0 or 1), the enabled attribute
|
||||
an optional parameter: an unix timestamp
|
||||
=item B<Arguments> : two mandatory parameters: one integer, the delete_at_day attribute, a boolean (0 or 1), the enabled attribute and an optional parameter: an unix timestamp.
|
||||
|
||||
=item B<Purpose> : count how many images there is with the given delete_at_day attribute, and enabled or disabled, depending on the given enabled attribute
|
||||
if the optional parameter is given, count only images according to the given mandatory parameters that were created before the timestamp
|
||||
=item B<Purpose> : count how many images there are with the given delete_at_day attribute, and enabled or disabled, depending on the given enabled attribute. If the optional parameter is given, count only images according to the given mandatory parameters that were created before the timestamp
|
||||
|
||||
=item B<Returns> : integer
|
||||
|
||||
@@ -241,7 +245,7 @@ sub to_hash {
|
||||
|
||||
=item B<Arguments> : none
|
||||
|
||||
=item B<Purpose> : counts the number of record which path is null
|
||||
=item B<Purpose> : counts the number of records whose path is null
|
||||
|
||||
=item B<Returns> : integer
|
||||
|
||||
@@ -255,7 +259,7 @@ sub to_hash {
|
||||
|
||||
=item B<Arguments> : none
|
||||
|
||||
=item B<Purpose> : counts the number of record which path is not null
|
||||
=item B<Purpose> : counts the number of records whose path is not null
|
||||
|
||||
=item B<Returns> : integer
|
||||
|
||||
@@ -345,6 +349,158 @@ sub to_hash {
|
||||
|
||||
=back
|
||||
|
||||
=head2 store
|
||||
|
||||
=over 1
|
||||
|
||||
=item B<Usage> : C<$c-E<gt>store($upload)>
|
||||
|
||||
=item B<Arguments> : a Mojo::Upload object
|
||||
|
||||
=item B<Purpose> : will store the content to the object’s path, either on filesystem or on Swift object storage
|
||||
|
||||
=item B<Returns> : the db accessor object
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub store {
|
||||
my $c = shift;
|
||||
my $upload = shift;
|
||||
|
||||
if ($c->app->config('swift')) {
|
||||
$c->app->swift->put_object(
|
||||
container_name => $c->app->config('swift')->{container},
|
||||
object_name => $c->path,
|
||||
content_length => $upload->size,
|
||||
content => $upload->slurp
|
||||
);
|
||||
} else {
|
||||
$upload->move_to($c->path);
|
||||
}
|
||||
|
||||
return $c;
|
||||
}
|
||||
|
||||
=head2 retrieve
|
||||
|
||||
=over 1
|
||||
|
||||
=item B<Usage> : C<$c-E<gt>retrieve>
|
||||
|
||||
=item B<Arguments> : none
|
||||
|
||||
=item B<Purpose> : get file from storage, either filesystem or Swift object storage
|
||||
|
||||
=item B<Returns> : the data from the file
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub retrieve {
|
||||
my $c = shift;
|
||||
my $upload = shift;
|
||||
|
||||
if ($c->app->config('swift')) {
|
||||
my $file;
|
||||
$c->app->swift->get_object(
|
||||
container_name => $c->app->config('swift')->{container},
|
||||
object_name => $c->path,
|
||||
write_code => sub {
|
||||
my ($status, $message, $headers, $chunk) = @_;
|
||||
$file .= $chunk;
|
||||
}
|
||||
);
|
||||
return $file;
|
||||
} else {
|
||||
return Mojo::File->new($c->path)->slurp;
|
||||
}
|
||||
}
|
||||
|
||||
=head2 decrypt
|
||||
|
||||
=over 1
|
||||
|
||||
=item B<Usage> : C<$c-E<gt>decrypt($key)>
|
||||
|
||||
=item B<Arguments> : the decryption key
|
||||
|
||||
=item B<Purpose> : decrypt the image
|
||||
|
||||
=item B<Returns> : a Mojo::Asset::File object
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub decrypt {
|
||||
my $c = shift;
|
||||
my $key = shift;
|
||||
$c->iv = 'dupajasi' unless $c->iv;
|
||||
|
||||
my $cipher = Crypt::CBC->new(
|
||||
-key => $key,
|
||||
-cipher => 'Blowfish',
|
||||
-header => 'none',
|
||||
-iv => $c->iv
|
||||
);
|
||||
|
||||
$cipher->start('decrypting');
|
||||
|
||||
my $decrypt_asset = Mojo::Asset::File->new;
|
||||
|
||||
if ($c->app->config('swift')) {
|
||||
$c->app->swift->get_object(
|
||||
container_name => $c->app->config('swift')->{container},
|
||||
object_name => $c->path,
|
||||
write_code => sub {
|
||||
my ($status, $message, $headers, $chunk) = @_;
|
||||
$decrypt_asset->add_chunk($cipher->crypt($chunk));
|
||||
}
|
||||
);
|
||||
} else {
|
||||
open(my $f, "<", $c->path) or die "Unable to read encrypted file: $!";
|
||||
binmode $f;
|
||||
while (read($f, my $buffer, 1024)) {
|
||||
$decrypt_asset->add_chunk($cipher->crypt($buffer));
|
||||
}
|
||||
$decrypt_asset->add_chunk($cipher->finish);
|
||||
|
||||
}
|
||||
return $decrypt_asset->slurp;
|
||||
}
|
||||
|
||||
=head2 delete
|
||||
|
||||
=over 1
|
||||
|
||||
=item B<Usage> : C<$c-E<gt>delete>
|
||||
|
||||
=item B<Arguments> : none
|
||||
|
||||
=item B<Purpose> : delete the file on filesystem or Swift object storage and disable the image in database
|
||||
|
||||
=item B<Returns> : the db accessor object
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub delete {
|
||||
my $c = shift;
|
||||
if ($c->app->config('cache_max_size') != 0 || scalar(@{$c->app->config('memcached_servers')})) {
|
||||
$c->app->chi('lutim_images_cache')->remove($c->short);
|
||||
}
|
||||
if ($c->app->config('swift')) {
|
||||
$c->app->swift->delete_object({
|
||||
container_name => $c->app->config('swift')->{container},
|
||||
object_name => $c->path
|
||||
});
|
||||
} else {
|
||||
unlink $c->path or warn "Could not unlink ".$c->path.": $!";
|
||||
}
|
||||
return $c->disable();
|
||||
}
|
||||
1;
|
||||
|
||||
47
lib/Lutim/DefaultConfig.pm
Normal file
47
lib/Lutim/DefaultConfig.pm
Normal file
@@ -0,0 +1,47 @@
|
||||
# vim:set sw=4 ts=4 sts=4 ft=perl expandtab:
|
||||
package Lutim::DefaultConfig;
|
||||
require Exporter;
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT_OK = qw($default_config);
|
||||
our $default_config = {
|
||||
provisioning => 100,
|
||||
provis_step => 5,
|
||||
length => 8,
|
||||
always_encrypt => 0,
|
||||
anti_flood_delay => 5,
|
||||
max_file_size => 10*1024*1024,
|
||||
https => 0,
|
||||
proposed_delays => '0,1,7,30,365',
|
||||
default_delay => 0,
|
||||
max_delay => 0,
|
||||
token_length => 24,
|
||||
crypto_key_length => 8,
|
||||
thumbnail_size => 100,
|
||||
watermark_path => '',
|
||||
watermark_placement => 'SouthEast',
|
||||
watermark_default => 'none',
|
||||
watermark_enforce => 'none',
|
||||
theme => 'default',
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'lutim.db',
|
||||
max_files_in_zip => 15,
|
||||
prefix => '/',
|
||||
minion => {
|
||||
enabled => 0,
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'minion.db'
|
||||
},
|
||||
session_duration => 3600,
|
||||
cache_max_size => 0,
|
||||
memcached_servers => [],
|
||||
quiet_logs => 0,
|
||||
disable_img_stats => 0,
|
||||
x_frame_options => 'DENY',
|
||||
x_content_type_options => 'nosniff',
|
||||
x_xss_protection => '1; mode=block',
|
||||
stats_day_num => 365,
|
||||
keep_ip_during => 365,
|
||||
policy_when_full => 'warn',
|
||||
};
|
||||
|
||||
1;
|
||||
@@ -47,27 +47,63 @@ sub register {
|
||||
$app->helper(max_delay => \&_max_delay);
|
||||
$app->helper(default_delay => \&_default_delay);
|
||||
$app->helper(is_selected => \&_is_selected);
|
||||
$app->helper(is_wm_selected => \&_is_wm_selected);
|
||||
$app->helper(crypt => \&_crypt);
|
||||
$app->helper(decrypt => \&_decrypt);
|
||||
$app->helper(delete_image => \&_delete_image);
|
||||
$app->helper(iso639_native_name => \&_iso639_native_name);
|
||||
$app->helper(prefix => \&_prefix);
|
||||
if ($app->config('swift')) {
|
||||
use Net::OpenStack::Swift;
|
||||
$app->helper(swift => \&_swift);
|
||||
$app->helper(check_swift_container => \&_check_swift_container);
|
||||
$app->helper(find_swift_container => \&_find_swift_container);
|
||||
}
|
||||
}
|
||||
|
||||
sub _pg {
|
||||
my $c = shift;
|
||||
my $c = shift;
|
||||
|
||||
state $pg = Mojo::Pg->new($c->app->pg_url($c->app->config('pgdb')));
|
||||
return $pg;
|
||||
}
|
||||
|
||||
sub _sqlite {
|
||||
my $c = shift;
|
||||
my $c = shift;
|
||||
|
||||
state $sqlite = Mojo::SQLite->new('sqlite:'.$c->app->config('db_path'));
|
||||
return $sqlite;
|
||||
}
|
||||
|
||||
sub _swift {
|
||||
my $c = shift;
|
||||
|
||||
state $swift = Net::OpenStack::Swift->new($c->app->config('swift'));
|
||||
return $swift;
|
||||
}
|
||||
|
||||
sub _check_swift_container {
|
||||
my $c = shift;
|
||||
|
||||
my ($storage_url, $token) = $c->swift->get_auth();
|
||||
my ($headers, $containers) = $c->swift->get_account(url => $storage_url, token => $token);
|
||||
unless ($c->find_swift_container($containers)) {
|
||||
$c->swift->put_container(container_name => $c->app->config('swift')->{container});
|
||||
my ($headers, $containers) = $c->swift->get_account(url => $storage_url, token => $token);
|
||||
die sprintf("Swift container %s not found, and unable to create it.", $c->app->config('swift')->{container}) unless $c->find_swift_container($containers);
|
||||
}
|
||||
}
|
||||
|
||||
sub _find_swift_container {
|
||||
my $c = shift;
|
||||
my $containers = shift;
|
||||
|
||||
my $found_container = 0;
|
||||
foreach my $container (@{$containers}) {
|
||||
$found_container = 1 if $container->{name} eq $c->app->config('swift')->{container};
|
||||
}
|
||||
|
||||
return $found_container;
|
||||
}
|
||||
|
||||
sub _render_file {
|
||||
my $c = shift;
|
||||
my ($im_loaded, $img, $dl, $key, $thumb) = @_;
|
||||
@@ -82,12 +118,15 @@ sub _render_file {
|
||||
$dl = 'attachment' if ($mediatype =~ m/svg/);
|
||||
$filename = quote($filename);
|
||||
|
||||
unless (-f $path && -r $path) {
|
||||
$c->app->log->error("Cannot read file [$path]. error [$!]");
|
||||
$c->flash(
|
||||
msg => $c->l('Unable to find the image: it has been deleted.')
|
||||
);
|
||||
return 500;
|
||||
unless ($c->app->config('swift')) {
|
||||
# Do we have the file on disk?
|
||||
unless (-f $path && -r $path) {
|
||||
$c->app->log->error("Cannot read file [$path]. error [$!]");
|
||||
$c->flash(
|
||||
msg => $c->l('Unable to find the image: it has been deleted.')
|
||||
);
|
||||
return 500;
|
||||
}
|
||||
}
|
||||
|
||||
$mediatype =~ s/x-//;
|
||||
@@ -103,21 +142,22 @@ sub _render_file {
|
||||
$c->res->content->headers($headers);
|
||||
|
||||
my $cache;
|
||||
# Do we have the file in cache?
|
||||
if ($c->config('cache_max_size') != 0 || scalar(@{$c->config('memcached_servers')})) {
|
||||
$cache = $c->chi('lutim_images_cache')->compute($img->short, undef, sub {
|
||||
if ($key) {
|
||||
return {
|
||||
asset => $c->decrypt($key, $path, $iv),
|
||||
asset => $img->decrypt($key),
|
||||
key => $key
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
asset => Mojo::File->new($path)->slurp,
|
||||
asset => $img->retrieve
|
||||
};
|
||||
}
|
||||
});
|
||||
if ($key && $key ne $cache->{key}) {
|
||||
my $tmp = $c->decrypt($key, $path, $iv);
|
||||
my $tmp = $img->decrypt($key);
|
||||
$cache->{asset} = $tmp;
|
||||
$c->chi('lutim_images_cache')->replace(
|
||||
$img->short,
|
||||
@@ -130,18 +170,18 @@ sub _render_file {
|
||||
} else {
|
||||
if ($key) {
|
||||
$cache = {
|
||||
asset => $c->decrypt($key, $path, $iv),
|
||||
asset => $img->decrypt($key),
|
||||
};
|
||||
} else {
|
||||
$cache = {
|
||||
asset => Mojo::File->new($path)->slurp,
|
||||
asset => $img->retrieve,
|
||||
};
|
||||
}
|
||||
}
|
||||
# Extend expiration time
|
||||
my $asset = Mojo::Asset::Memory->new;
|
||||
$asset->add_chunk($cache->{asset});
|
||||
|
||||
# Do we need to create a thumbnail?
|
||||
if (defined $thumb && $im_loaded && $mediatype ne 'image/svg+xml' && $mediatype !~ m#image/(x-)?xcf# && $mediatype ne 'image/webp') { # ImageMagick don't work in Debian with svg (for now?)
|
||||
my $im = Image::Magick->new;
|
||||
$im->BlobToImage($asset->slurp);
|
||||
@@ -250,6 +290,13 @@ sub _is_selected {
|
||||
return ($num == $c->default_delay) ? 'selected="selected"' : '';
|
||||
}
|
||||
|
||||
sub _is_wm_selected {
|
||||
my $c = shift;
|
||||
my $wm = shift;
|
||||
|
||||
return ($wm eq $c->config('watermark_default')) ? 'selected="selected"' : '';
|
||||
}
|
||||
|
||||
sub _crypt {
|
||||
my $c = shift;
|
||||
my $upload = shift;
|
||||
@@ -279,44 +326,6 @@ sub _crypt {
|
||||
return ($crypt_upload, $key, $iv);
|
||||
}
|
||||
|
||||
sub _decrypt {
|
||||
my $c = shift;
|
||||
my $key = shift;
|
||||
my $file = shift;
|
||||
my $iv = shift;
|
||||
$iv = 'dupajasi' unless $iv;
|
||||
|
||||
my $cipher = Crypt::CBC->new(
|
||||
-key => $key,
|
||||
-cipher => 'Blowfish',
|
||||
-header => 'none',
|
||||
-iv => $iv
|
||||
);
|
||||
|
||||
$cipher->start('decrypting');
|
||||
|
||||
my $decrypt_asset = Mojo::Asset::File->new;
|
||||
|
||||
open(my $f, "<",$file) or die "Unable to read encrypted file: $!";
|
||||
binmode $f;
|
||||
while (read($f, my $buffer, 1024)) {
|
||||
$decrypt_asset->add_chunk($cipher->crypt($buffer));
|
||||
}
|
||||
$decrypt_asset->add_chunk($cipher->finish) ;
|
||||
|
||||
return $decrypt_asset->slurp;
|
||||
}
|
||||
|
||||
sub _delete_image {
|
||||
my $c = shift;
|
||||
my $img = shift;
|
||||
if ($c->config('cache_max_size') != 0 || scalar(@{$c->config('memcached_servers')})) {
|
||||
$c->chi('lutim_images_cache')->remove($img->short);
|
||||
}
|
||||
unlink $img->path or warn "Could not unlink ".$img->path.": $!";
|
||||
$img->disable();
|
||||
}
|
||||
|
||||
sub _iso639_native_name {
|
||||
my $c = shift;
|
||||
return ucfirst(decode 'UTF-8', get_iso639_1(shift)->{nativeName});
|
||||
|
||||
@@ -4,6 +4,7 @@ use Mojo::Base 'Mojolicious';
|
||||
use Mojo::File;
|
||||
use FindBin qw($Bin);
|
||||
use File::Spec qw(catfile);
|
||||
use Lutim::DefaultConfig qw($default_config);
|
||||
|
||||
# This method will run once at server start
|
||||
sub startup {
|
||||
@@ -18,43 +19,10 @@ sub startup {
|
||||
$cfile = Mojo::File->new($Bin, '..', $ENV{MOJO_CONFIG});
|
||||
}
|
||||
}
|
||||
my $config = $self->plugin('Config' =>
|
||||
{
|
||||
file => $cfile,
|
||||
default => {
|
||||
provisioning => 100,
|
||||
provis_step => 5,
|
||||
length => 8,
|
||||
always_encrypt => 0,
|
||||
anti_flood_delay => 5,
|
||||
max_file_size => 10*1024*1024,
|
||||
https => 0,
|
||||
proposed_delays => '0,1,7,30,365',
|
||||
default_delay => 0,
|
||||
max_delay => 0,
|
||||
token_length => 24,
|
||||
crypto_key_length => 8,
|
||||
thumbnail_size => 100,
|
||||
theme => 'default',
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'lutim.db',
|
||||
max_files_in_zip => 15,
|
||||
prefix => '/',
|
||||
minion => {
|
||||
enabled => 0,
|
||||
dbtype => 'sqlite',
|
||||
db_path => 'minion.db'
|
||||
},
|
||||
cache_max_size => 0,
|
||||
memcached_servers => [],
|
||||
quiet_logs => 0,
|
||||
disable_img_stats => 0,
|
||||
x_frame_options => 'DENY',
|
||||
x_content_type_options => 'nosniff',
|
||||
x_xss_protection => '1; mode=block',
|
||||
}
|
||||
}
|
||||
);
|
||||
my $config = $self->plugin('Config', {
|
||||
file => $cfile,
|
||||
default => $default_config
|
||||
});
|
||||
|
||||
$config->{prefix} = $config->{url_sub_dir} if (defined($config->{url_sub_dir}) && $config->{prefix} eq '/');
|
||||
|
||||
|
||||
@@ -102,6 +102,29 @@
|
||||
# optional, default is 0
|
||||
#always_encrypt => 0,
|
||||
|
||||
# you can allow to use a watermark on the uploaded images (or enforce its use)
|
||||
# define a path to the watermark image (provide an image with alpha channel)
|
||||
# you can define the path relative to lutim directory or set an absolute path
|
||||
# to disable the usage of a watermark, leave it blank or commented
|
||||
# optional, no default
|
||||
#watermark_path => '',
|
||||
|
||||
# the watermark can be a tiling one or a single one
|
||||
# when using a small one, you can choose where to place it
|
||||
# valid values are 'Center', 'North', 'NorthEast', 'East', 'SouthEast', 'South', 'SouthWest', 'West' and 'NorthWest' (case insensitive)
|
||||
# optional, default is 'SouthEast'
|
||||
#watermark_placement => 'SouthEast',
|
||||
|
||||
# choose which watermark (tiling, single or none) should be used by default
|
||||
# valid values are 'tiling', 'single' or 'none' (case insensitive)
|
||||
# optional, default is 'none'
|
||||
#watermark_default => 'none',
|
||||
|
||||
# choose which watermark (tiling, single or none) should be enforced (users will always have a watermark and won’t be able to disable it)
|
||||
# valid values are 'tiling', 'single' or 'none' (case insensitive)
|
||||
# optional, default is 'none'
|
||||
#watermark_enforce => 'none',
|
||||
|
||||
# length of the image's delete token
|
||||
# optional, default is 24
|
||||
#token_length => 24,
|
||||
@@ -182,6 +205,18 @@
|
||||
# optional, default is 3600
|
||||
#session_duration => 3600,
|
||||
|
||||
# you can store images on Swift object storage (https://en.wikipedia.org/wiki/OpenStack#Swift) instead of filesystem
|
||||
# please read https://metacpan.org/pod/Net::OpenStack::Swift#SYNOPSIS to know how to configure this setting
|
||||
# IMPORTANT: add a `container` key in it, to let Lutim know which container to use. This is not a regular Net::OpenStack::Swift setting, but Lutim need it.
|
||||
# optional, no default
|
||||
#swift => {
|
||||
# auth_url => 'https://auth-endpoint-url/v2.0',
|
||||
# user => 'userid',
|
||||
# password => 'password',
|
||||
# tenant_name => 'project_id',
|
||||
# container => 'lutim'
|
||||
#},
|
||||
|
||||
# disable counters of images
|
||||
# set to 1 to disable counters
|
||||
# optional, counters are enabled by default
|
||||
|
||||
3
t/test.t
3
t/test.t
@@ -150,8 +150,7 @@ $t->get_ok('/d/'.$rshort.'/'.$token, form => { format => 'json' })
|
||||
$t->get_ok('/'.$rshort)
|
||||
->status_is(302);
|
||||
|
||||
# Needed if we use Minion with sqlite for increasing counters
|
||||
sleep 8;
|
||||
$t->app->minion->perform_jobs if $t->app->config('minion')->{enabled};
|
||||
|
||||
# Get image counter
|
||||
$t->post_ok('/c', form => { short => $rshort, token => $token })
|
||||
|
||||
@@ -10,23 +10,24 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:23+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: Arabic <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/ar/>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Arabic <butterflyoffire+lutim@protonmail.com>\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5);\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
"n%100<=10 ? 3: n%100>=11 ? 4 : 5);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 أيام"
|
||||
|
||||
@@ -39,11 +40,11 @@ msgstr "تم إرسال %1 صورة على مثيل الخادوم هذا منذ
|
||||
msgid "-or-"
|
||||
msgstr "-أو-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "سنة واحدة"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 ساعة"
|
||||
|
||||
@@ -55,11 +56,11 @@ msgstr ": طرأ هناك خطأ أثناء محاولة إستعادة العد
|
||||
msgid "About"
|
||||
msgstr "عن البرنامج"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "الصور النشطة"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "طرأ هناك خطأ أثناء عملية تنزيل الصورة."
|
||||
|
||||
@@ -77,7 +78,7 @@ msgstr "إضغط لفتح مدير الملفات"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:51
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "إغلاق"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:29
|
||||
msgid "Close (Esc)"
|
||||
@@ -89,7 +90,7 @@ msgstr "المساهمون"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
msgstr "تم نسخه إلى الحافظة"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
@@ -109,17 +110,17 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/stats.html.ep:15
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr ""
|
||||
msgstr "المنحنى البياني للتوزيع الزمني للصور النشطة"
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr "هل تود حذف الصورة مباشرة بعد أول عرض ؟"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "الصور المحذوفة"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "الصور المحذوفة منذ 30 يوما"
|
||||
|
||||
@@ -151,8 +152,8 @@ msgid ""
|
||||
"to delete the image when you want."
|
||||
msgstr ""
|
||||
"إسحب ثم القي صورة ما على المساحة المخصصة لذلك أو قم باستخدام الأسلوب المعتاد "
|
||||
"لإرسال الملفات و سيقوم لوتان بعدها بتوفير أربع روابط. رابط لعرض الصورة و "
|
||||
"آخر لتنزيل الصورة مباشرة و آخر يمكنكم إستخدامه على شبكات التواصل الإجتماعي و "
|
||||
"لإرسال الملفات و سيقوم لوتان بعدها بتوفير أربع روابط. رابط لعرض الصورة و آخر "
|
||||
"لتنزيل الصورة مباشرة و آخر يمكنكم إستخدامه على شبكات التواصل الإجتماعي و "
|
||||
"أخيرا رابط آخر يمكّنكم من حذف الصورة إن شئتم."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
@@ -173,7 +174,7 @@ msgstr "تنتهي مدة صلاحيتها في"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
msgid "Export localStorage data"
|
||||
msgstr ""
|
||||
msgstr "تصدير بيانات localStorage"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
msgid "File name"
|
||||
@@ -227,21 +228,21 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "رابط الصورة"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "تأجيل الصورة"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
msgstr "تم حذف الصورة"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "الصورة غير موجودة."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
msgid "Import localStorage data"
|
||||
msgstr ""
|
||||
msgstr "استيراد بيانات localStorage"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
msgid "Informations"
|
||||
@@ -293,11 +294,11 @@ msgstr "رابط للمشاركة على شبكات التواصل الإجتم
|
||||
|
||||
#: themes/default/templates/login.html.ep:8
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "تسجيل الدخول"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:33
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
msgstr "الخروج"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid ""
|
||||
@@ -313,6 +314,8 @@ msgid ""
|
||||
"also the name of the free (as in free speech) software which provides this "
|
||||
"service."
|
||||
msgstr ""
|
||||
"لوتيم أو Lutim خدمة مجانية ومجهولة لاستضافة الصور. ويعني كذلك اسم البرنامج "
|
||||
"الحر الموفّر لهذه الخدمة."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
@@ -320,11 +323,11 @@ msgstr "المطورون الرئيسيون"
|
||||
|
||||
#: themes/default/templates/index.html.ep:91 themes/default/templates/index.html.ep:93 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
msgid "Markdown syntax"
|
||||
msgstr ""
|
||||
msgstr "صيغة ماركداون"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
msgid "Modify expiration delay"
|
||||
msgstr ""
|
||||
msgstr "تعديل تاريخ نهاية الصلاحية"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
@@ -332,7 +335,7 @@ msgstr "صوري"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:45
|
||||
msgid "Next (arrow right)"
|
||||
msgstr ""
|
||||
msgstr "التالي (السهم إلى اليمين)"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:105 themes/default/templates/partial/myfiles.js.ep:132
|
||||
msgid "No limit"
|
||||
@@ -357,11 +360,11 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "الكلمة السرية"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr ""
|
||||
msgstr "يُرجى النقر على كل عنوان لتنزيل الملفات المضغوطة zip المختلفة."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
@@ -370,7 +373,7 @@ msgstr "يرجى الإتصال بالمدير : %1"
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr ""
|
||||
msgstr "يرجى التحقق مِن مُعرّفاتك : تعذر الإستيثاق."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
@@ -378,7 +381,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
msgid "Random image link"
|
||||
msgstr ""
|
||||
msgstr "رابط إلى صورة عشوائية"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
@@ -386,7 +389,7 @@ msgstr "الإحصائيات الخامة"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
msgstr "حفظ التعديلات"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
msgid "Send an image"
|
||||
@@ -394,14 +397,14 @@ msgstr "إرسال صورة"
|
||||
|
||||
#: themes/default/templates/login.html.ep:16 themes/default/templates/logout.html.ep:5 themes/default/templates/partial/navbar.html.ep:37
|
||||
msgid "Signin"
|
||||
msgstr ""
|
||||
msgstr "انشاء حساب"
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "طرأ هناك خلل"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -434,9 +437,9 @@ msgid ""
|
||||
"licenses/agpl-3.0.html\">AGPL</a> to see what you can do."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr ""
|
||||
msgstr "الرابط غير صالح."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:16
|
||||
msgid ""
|
||||
@@ -446,45 +449,42 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
msgstr "تم استيراد البيانات بنجاح."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr ""
|
||||
msgstr "رمز الحذف غير صالح."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr ""
|
||||
msgstr "الملف %1 ليس صورة."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr ""
|
||||
msgstr "لقد تجاوز حجم الملف حد (%1)"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:12
|
||||
msgid "The graph's datas are not updated in real-time."
|
||||
msgstr ""
|
||||
msgstr "المنحنيات البيانية للبيانات لا يتم تحديثها آنيا."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr ""
|
||||
msgstr "لقد تم حذف الصورة %1 مِن قَبل."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr ""
|
||||
msgstr "تم حذف الصورة %1 بنجاح"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
"إنّ الصور مشفّرة ومُعمّاة على الخادم (لا يقوم Lutim بالإحتفاظ بالمفتاح)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
msgid ""
|
||||
@@ -492,45 +492,50 @@ msgid ""
|
||||
"first view or after a delay selected from those proposed."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "تم تعديل مهلة الصورة بنجاح"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"لم يعد هناك أي رابط متوفّر. الرجاء إعادة المحاولة أو الإتصال بالمدير. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr ""
|
||||
msgstr "الإنتقال إلى وضع الشاشة الكامل"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
msgstr "توسيع شريط التصفّح"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "العدد الإجمالي"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr "غرِّد الرابط"
|
||||
msgstr "غرِّد الرابط!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr ""
|
||||
msgstr "لم يمكن النسخ إلى الحافطة"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "تعذر العثور على الصورة %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "تعذر العثور على الصورة : لقد تم حذفها."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "تعذر جلب التعداد"
|
||||
|
||||
@@ -558,6 +563,8 @@ msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr ""
|
||||
"لقد تمّ تعليق تحميل الصور حاليا ، يرجى إعادة المحاولة لاحقا أو الإتصال "
|
||||
"بالمدير (%1)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:83 themes/default/templates/index.html.ep:85 themes/default/templates/myfiles.html.ep:122 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
@@ -565,11 +572,11 @@ msgstr "عرض الرابط"
|
||||
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "What about the software which provides the service?"
|
||||
msgstr ""
|
||||
msgstr "عن البرنامج الذي يقدم هذه الخدمة؟"
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "What is Lutim?"
|
||||
msgstr "ماذا نقصد بـ Lutim ؟"
|
||||
msgstr "ماذا نقصد بـ Lutim؟"
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "Who owns rights on images uploaded on Lutim?"
|
||||
@@ -601,11 +608,11 @@ msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr ""
|
||||
msgstr "تم تسجيل دخولك بنجاح."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
msgstr "تم تسجيل خروجك بنجاح."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
@@ -613,7 +620,7 @@ msgstr "تكبير/تصغير"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
msgstr ""
|
||||
msgstr "وكذا على"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
@@ -623,9 +630,9 @@ msgstr "الترجمة إلى العربية"
|
||||
msgid "core developer"
|
||||
msgstr "المطور الرئيسي"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr ""
|
||||
msgstr "من دون قيد زمني"
|
||||
|
||||
#: themes/default/templates/about.html.ep:38
|
||||
msgid "occitan translation"
|
||||
@@ -633,11 +640,11 @@ msgstr "الترجمة إلى الأوكستانية"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
msgstr "على"
|
||||
|
||||
#: themes/default/templates/about.html.ep:39
|
||||
msgid "paste image to upload ability"
|
||||
msgstr ""
|
||||
msgstr "إمكانية لصق الصورة قصد إرسالها"
|
||||
|
||||
#: themes/default/templates/about.html.ep:41
|
||||
msgid "russian translation"
|
||||
|
||||
@@ -6,25 +6,28 @@
|
||||
# Translators:
|
||||
# Thor77 <thor77@thor77.org>, 2015
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# frju365 <abld@abld.info>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:23+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: German <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/de/>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: German (http://www.transifex.com/fiat-tux/lutim/language/de/)\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 Tage"
|
||||
|
||||
@@ -37,11 +40,11 @@ msgstr "%1 Bilder wurden bisher über diese Instanz versendet."
|
||||
msgid "-or-"
|
||||
msgstr "-oder-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 Jahr"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 Stunden"
|
||||
|
||||
@@ -51,19 +54,20 @@ msgstr ":Fehler beim Abrufen des Zählers."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
msgstr "Über"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr ""
|
||||
msgstr "Aktive Bilder"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Beim Herunterladen des Bildes ist ein Fehler aufgetreten."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:2
|
||||
#, fuzzy
|
||||
msgid "Archives download"
|
||||
msgstr ""
|
||||
msgstr "Archiv-Download"
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:135 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
@@ -87,7 +91,7 @@ msgstr "Mitwirkende"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
msgstr "in die Zwischenablage kopiert"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
@@ -113,13 +117,13 @@ msgstr ""
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Nach erstem Aufruf löschen?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr ""
|
||||
msgstr "Gelöschte Bilder"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr ""
|
||||
msgstr "Gelöschte Bilder in 30 Tagen"
|
||||
|
||||
#: themes/default/templates/index.html.ep:116 themes/default/templates/myfiles.html.ep:127 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
@@ -154,7 +158,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Verschlüssle das Bild (Lutim behält den Key nicht)"
|
||||
msgstr "Verschlüssle das Bild (Lutim behält den Key nicht)."
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:113
|
||||
msgid "Error while trying to modify the image."
|
||||
@@ -194,7 +198,7 @@ msgstr "Link zur Galerie"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:116 themes/default/templates/partial/common.js.ep:134
|
||||
msgid "Hit Ctrl+C, then Enter to copy the short link"
|
||||
msgstr "Drücke STRG+C und dann Enter um den Kurz-Link zu kopieren."
|
||||
msgstr "Drücke STRG+C und dann Enter um den Kurz-Link zu kopieren"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:47
|
||||
msgid "Homepage"
|
||||
@@ -224,17 +228,17 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "Bild-URL"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
msgstr "Bild gelöscht"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Bild nicht gefunden"
|
||||
msgstr "Bild nicht gefunden."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
msgid "Import localStorage data"
|
||||
@@ -250,7 +254,7 @@ msgstr "Installiere die Webapp"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:21
|
||||
msgid "Instance's statistics"
|
||||
msgstr ""
|
||||
msgstr "Statistik der Instanz"
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "Is it really anonymous?"
|
||||
@@ -301,6 +305,8 @@ msgid ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"Lutim kann nicht so viele Bilder auf einmal zippen, daher hat es Ihren "
|
||||
"Bedarf in mehrere URLs aufgeteilt."
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid ""
|
||||
@@ -308,8 +314,8 @@ msgid ""
|
||||
"also the name of the free (as in free speech) software which provides this "
|
||||
"service."
|
||||
msgstr ""
|
||||
"Lutim ist ein freier und anonymer Bilder-Upload-Service.\n"
|
||||
"Es ist auch der Name der freien Software, die diesen Service bietet."
|
||||
"Lutim ist ein freier und anonymer Bilder-Upload-Service. Es ist auch der "
|
||||
"Name der freien Software, die diesen Service bietet."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
@@ -321,7 +327,7 @@ msgstr "Markdown Syntax"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
msgid "Modify expiration delay"
|
||||
msgstr ""
|
||||
msgstr "Ablaufverzögerung verändern"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
@@ -364,6 +370,8 @@ msgstr "Passwort"
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr ""
|
||||
"Bitte klicken Sie auf die jeweilige URL, um die verschiedenen Zip-Dateien "
|
||||
"herunterzuladen."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
@@ -373,6 +381,8 @@ msgstr "Kontaktiere den Administrator: %1"
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr ""
|
||||
"Bitte überprüfen Sie Ihre Anmeldeinformationen: Die Anmeldung kann nicht "
|
||||
"erfolgen."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
@@ -380,7 +390,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
msgid "Random image link"
|
||||
msgstr ""
|
||||
msgstr "Zufälliger Bildlink"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
@@ -388,7 +398,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
msgstr "Änderungen speichern"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
msgid "Send an image"
|
||||
@@ -403,7 +413,7 @@ msgid "Something bad happened"
|
||||
msgstr "Es ist ein Fehler aufgetreten"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -413,15 +423,15 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
msgstr ""
|
||||
msgstr "Unterstützen Sie den Autor"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "Support the author on Liberapay"
|
||||
msgstr ""
|
||||
msgstr "Unterstützen den Autor bei Liberapay"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "Support the author on Tipeee"
|
||||
msgstr ""
|
||||
msgstr "Unterstützen den Autor bei Tipeee"
|
||||
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
msgid ""
|
||||
@@ -431,7 +441,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Die IP-Adresse des Nutzers wird für eine bestimmte Zeit gespeichert. Diese "
|
||||
"kann der Administrator frei wählen (für die offizielle Instanz, die in "
|
||||
"Frankreich gehostet ist, liegt diese Zeit bei einem Jahr)"
|
||||
"Frankreich gehostet ist, liegt diese Zeit bei einem Jahr)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
msgid ""
|
||||
@@ -445,7 +455,7 @@ msgstr ""
|
||||
"Server zu installieren. Schau dir die <a href=\"https://www.gnu.org/licenses/"
|
||||
"agpl-3.0.html\">AGPL</a> an um deine Recht zu sehen."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "Die URL ist nicht gültig."
|
||||
|
||||
@@ -459,19 +469,19 @@ msgstr ""
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Das Token zum Löschen ist ungültig."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Die Datei %1 ist kein Bild."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Die Datei überschreitet die Größenbeschränkung (%1)"
|
||||
|
||||
@@ -480,23 +490,19 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Die Daten des Graphs werden nicht in Echtzeit aktualisiert."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "Das Bild %1 wurde schon gelöscht."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "Das Bild %1 wurde erfolgreich gelöscht."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Die Zeit bis zum Löschen des Bildes wurde erfolgreich geändert."
|
||||
msgstr "Das Bild %1 wurde erfolgreich gelöscht"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
"Die Bilder werden auf dem Server verschlüsselt (Lutim behält den Key nicht)"
|
||||
"Die Bilder werden auf dem Server verschlüsselt (Lutim behält den Key nicht)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:5
|
||||
msgid ""
|
||||
@@ -506,12 +512,16 @@ msgstr ""
|
||||
"Die Bilder, die du auf Lutim hochlädst, können entweder nie, nach dem ersten "
|
||||
"Aufruf oder nach einer bestimmten Zeit gelöscht werden."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Die Zeit bis zum Löschen des Bildes wurde erfolgreich geändert"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"Es sind keine URLs mehr verfügbar. Versuche es erneut oder kontaktiere den "
|
||||
@@ -525,9 +535,9 @@ msgstr ""
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Gesamtzahl"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
@@ -535,18 +545,18 @@ msgstr "Twittere es!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Kopieren in die Zwischenablage nicht möglich"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Konnte das Bild %1 nicht finden."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Dieses Bild wurde gelöscht."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Konnte den Zähler nicht abrufen"
|
||||
|
||||
@@ -618,6 +628,7 @@ msgstr ""
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr ""
|
||||
"Du hast darum gebeten, ein Zip-Archiv für zu viele Dateien herunterzuladen."
|
||||
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
msgid ""
|
||||
@@ -630,15 +641,15 @@ msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr ""
|
||||
msgstr "Sie wurden erfolgreich angemeldet."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
msgstr "Sie wurden erfolgreich abgemeldet."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
msgstr ""
|
||||
msgstr "Vergrößern/verkleinern"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
@@ -646,13 +657,13 @@ msgstr "und auf"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
msgstr ""
|
||||
msgstr "Arabische Übersetzung"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr "Haupt-Entwickler"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "keine Zeit-Begrenzung"
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
@@ -6,18 +7,18 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"PO-Revision-Date: 2019-05-13 08:43+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: English\n"
|
||||
"Language: en\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"X-Generator: Zanata 4.6.2\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:170 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:187 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 days"
|
||||
|
||||
@@ -26,31 +27,31 @@ msgstr "%1 days"
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr "%1 sent images on this instance from beginning."
|
||||
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
#: themes/default/templates/index.html.ep:228
|
||||
msgid "-or-"
|
||||
msgstr "-or-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:347 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 year"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:346 lib/Lutim/Command/cron/stats.pm:155 lib/Lutim/Command/cron/stats.pm:169 lib/Lutim/Command/cron/stats.pm:186 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 hours"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:180
|
||||
#: themes/default/templates/partial/myfiles.js.ep:210
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr ": Error while trying to get the counter."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "About"
|
||||
msgstr "About"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:151 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Active images"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:329
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "An error occured while downloading the image."
|
||||
|
||||
@@ -58,11 +59,11 @@ msgstr "An error occured while downloading the image."
|
||||
msgid "Archives download"
|
||||
msgstr "Archives download"
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:135 themes/default/templates/stats.html.ep:25
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:129 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
msgstr "Back to homepage"
|
||||
|
||||
#: themes/default/templates/index.html.ep:211 themes/default/templates/index.html.ep:212
|
||||
#: themes/default/templates/index.html.ep:231 themes/default/templates/index.html.ep:232
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Click to open the file browser"
|
||||
|
||||
@@ -86,11 +87,11 @@ msgstr "Copied to clipboard"
|
||||
msgid "Copy all view links to clipboard"
|
||||
msgstr "Copy all view links to clipboard"
|
||||
|
||||
#: themes/default/templates/index.html.ep:103 themes/default/templates/index.html.ep:111 themes/default/templates/index.html.ep:18 themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:54 themes/default/templates/index.html.ep:87 themes/default/templates/index.html.ep:95 themes/default/templates/myfiles.html.ep:104 themes/default/templates/myfiles.html.ep:68 themes/default/templates/myfiles.html.ep:86 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:142
|
||||
#: themes/default/templates/index.html.ep:105 themes/default/templates/index.html.ep:16 themes/default/templates/index.html.ep:32 themes/default/templates/index.html.ep:48 themes/default/templates/index.html.ep:81 themes/default/templates/index.html.ep:89 themes/default/templates/index.html.ep:97 themes/default/templates/myfiles.html.ep:66 themes/default/templates/myfiles.html.ep:82 themes/default/templates/myfiles.html.ep:98 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:172
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copy to clipboard"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:123
|
||||
#: themes/default/templates/myfiles.html.ep:117
|
||||
msgid "Counter"
|
||||
msgstr "Counter"
|
||||
|
||||
@@ -102,19 +103,19 @@ msgstr "Delay repartition chart for disabled images"
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr "Delay repartition chart for enabled images"
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
#: themes/default/templates/index.html.ep:127 themes/default/templates/index.html.ep:159 themes/default/templates/index.html.ep:203 themes/default/templates/myfiles.html.ep:118 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Delete at first view?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:152 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Deleted images"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Deleted images in 30 days"
|
||||
|
||||
#: themes/default/templates/index.html.ep:116 themes/default/templates/myfiles.html.ep:127 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
#: themes/default/templates/index.html.ep:110 themes/default/templates/myfiles.html.ep:121 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
msgstr "Deletion link"
|
||||
|
||||
@@ -122,35 +123,27 @@ msgstr "Deletion link"
|
||||
msgid "Download all images"
|
||||
msgstr "Download all images"
|
||||
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:99 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
#: themes/default/templates/index.html.ep:93 themes/default/templates/index.html.ep:95 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
msgid "Download link"
|
||||
msgstr "Download link"
|
||||
|
||||
#: themes/default/templates/index.html.ep:28 themes/default/templates/index.html.ep:31 themes/default/templates/myfiles.html.ep:78 themes/default/templates/myfiles.html.ep:81
|
||||
#: themes/default/templates/index.html.ep:26 themes/default/templates/index.html.ep:28 themes/default/templates/myfiles.html.ep:76 themes/default/templates/myfiles.html.ep:78
|
||||
msgid "Download zip link"
|
||||
msgstr "Download zip link"
|
||||
|
||||
#: themes/default/templates/index.html.ep:207
|
||||
#: themes/default/templates/index.html.ep:227
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Drag & drop images here"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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."
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
#: themes/default/templates/index.html.ep:162 themes/default/templates/index.html.ep:206
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Encrypt the image (Lutim does not keep the key)."
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:113
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:128
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr "Error while trying to modify the image."
|
||||
|
||||
@@ -158,31 +151,27 @@ msgstr "Error while trying to modify the image."
|
||||
msgid "Evolution of total files"
|
||||
msgstr "Evolution of total files"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:126
|
||||
#: themes/default/templates/myfiles.html.ep:120
|
||||
msgid "Expires at"
|
||||
msgstr "Expires at"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
#: themes/default/templates/myfiles.html.ep:106
|
||||
msgid "Export localStorage data"
|
||||
msgstr "Export localStorage data"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
#: themes/default/templates/myfiles.html.ep:115
|
||||
msgid "File name"
|
||||
msgstr "File name"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid ""
|
||||
"For more details, see the <a href=\"https://framagit.org/luc/"
|
||||
"lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"For more details, see the <a href=\"https://framagit.org/luc/"
|
||||
"lutim\">homepage of the project</a>."
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:80
|
||||
#: themes/default/templates/partial/navbar.html.ep:66
|
||||
msgid "Fork me!"
|
||||
msgstr "Fork me!"
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:13 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:63
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:12 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:62
|
||||
msgid "Gallery link"
|
||||
msgstr "Gallery link"
|
||||
|
||||
@@ -207,18 +196,14 @@ msgid "How to report an image?"
|
||||
msgstr "How to report an image?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
msgid ""
|
||||
"If the files are deleted if you ask it while posting it, their SHA512 "
|
||||
"footprint are retained."
|
||||
msgstr ""
|
||||
"If the files are deleted if you ask it while posting it, their SHA512 "
|
||||
"footprint are retained."
|
||||
msgid "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
msgstr "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
|
||||
#: themes/default/templates/index.html.ep:181 themes/default/templates/index.html.ep:221
|
||||
#: themes/default/templates/index.html.ep:188 themes/default/templates/index.html.ep:241
|
||||
msgid "Image URL"
|
||||
msgstr "Image URL"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Image delay"
|
||||
|
||||
@@ -226,15 +211,15 @@ msgstr "Image delay"
|
||||
msgid "Image deleted"
|
||||
msgstr "Image deleted"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:804
|
||||
msgid "Image not found."
|
||||
msgstr "Image not found."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
#: themes/default/templates/myfiles.html.ep:107
|
||||
msgid "Import localStorage data"
|
||||
msgstr "Import localStorage data"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Informations"
|
||||
msgstr "Informations"
|
||||
|
||||
@@ -255,14 +240,10 @@ msgid "Is it really free (as in free beer)?"
|
||||
msgstr "Is it really free (as in free beer)?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/"
|
||||
"wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgid "Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgstr "Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:202
|
||||
#: themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:209
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Keep EXIF tags"
|
||||
|
||||
@@ -270,15 +251,15 @@ msgstr "Keep EXIF tags"
|
||||
msgid "Language"
|
||||
msgstr "Language"
|
||||
|
||||
#: themes/default/templates/index.html.ep:136 themes/default/templates/index.html.ep:184 themes/default/templates/index.html.ep:224 themes/default/templates/partial/lutim.js.ep:165
|
||||
#: themes/default/templates/index.html.ep:130 themes/default/templates/index.html.ep:191 themes/default/templates/index.html.ep:244 themes/default/templates/partial/lutim.js.ep:165
|
||||
msgid "Let's go!"
|
||||
msgstr "Let's go!"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:74
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "License:"
|
||||
msgstr "License:"
|
||||
|
||||
#: themes/default/templates/index.html.ep:107 themes/default/templates/index.html.ep:109 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:103 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
msgid "Link for share on social networks"
|
||||
msgstr "Link for share on social networks"
|
||||
|
||||
@@ -291,32 +272,22 @@ msgid "Logout"
|
||||
msgstr "Logout"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgid "Lutim can't zip so many images at once, so it splitted your demand in multiple URLs."
|
||||
msgstr "Lutim can't zip so many images at once, so it splitted your demand in multiple URLs."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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."
|
||||
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 "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."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
msgstr "Main developers"
|
||||
|
||||
#: themes/default/templates/index.html.ep:91 themes/default/templates/index.html.ep:93 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
#: themes/default/templates/index.html.ep:85 themes/default/templates/index.html.ep:87 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Markdown syntax"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
#: themes/default/templates/partial/myfiles.js.ep:179
|
||||
msgid "Modify expiration delay"
|
||||
msgstr "Modify expiration delay"
|
||||
|
||||
@@ -328,31 +299,25 @@ msgstr "My images"
|
||||
msgid "Next (arrow right)"
|
||||
msgstr "Next (arrow right)"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:105 themes/default/templates/partial/myfiles.js.ep:132
|
||||
#: themes/default/templates/partial/myfiles.js.ep:120 themes/default/templates/partial/myfiles.js.ep:162
|
||||
msgid "No limit"
|
||||
msgstr "No limit"
|
||||
|
||||
#: themes/default/templates/index.html.ep:183 themes/default/templates/index.html.ep:216
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "No watermark"
|
||||
|
||||
#: themes/default/templates/index.html.ep:190 themes/default/templates/index.html.ep:236
|
||||
msgid "Only images are allowed"
|
||||
msgstr "Only images are allowed"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:11
|
||||
msgid ""
|
||||
"Only the images sent with this browser will be listed here. The details are "
|
||||
"stored in localStorage: if you delete your localStorage data, you'll loose "
|
||||
"these details."
|
||||
msgstr ""
|
||||
"Only the images sent with this browser will be listed here. The details are "
|
||||
"stored in localStorage: if you delete your localStorage data, you'll loose "
|
||||
"these details."
|
||||
msgid "Only the images sent with this browser will be listed here. The details are stored in localStorage: if you delete your localStorage data, you'll loose these details."
|
||||
msgstr "Only the images sent with this browser will be listed here. The details are stored in localStorage: if you delete your localStorage data, you'll loose these details."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Only the uploader! (well, only if he's the only owner of the images' rights "
|
||||
"before the upload)"
|
||||
msgid "Only the uploader! (well, only if he's the only owner of the images' rights before the upload)"
|
||||
msgstr "Only the uploader! (well, only if he's the only owner of the images' rights before the upload)"
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
@@ -375,7 +340,7 @@ msgstr "Please, check your credentials: unable to authenticate."
|
||||
msgid "Previous (arrow left)"
|
||||
msgstr "Previous (arrow left)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
#: themes/default/templates/index.html.ep:42 themes/default/templates/index.html.ep:44 themes/default/templates/myfiles.html.ep:92 themes/default/templates/myfiles.html.ep:94
|
||||
msgid "Random image link"
|
||||
msgstr "Random image link"
|
||||
|
||||
@@ -387,7 +352,7 @@ msgstr "Raw stats"
|
||||
msgid "Save changes"
|
||||
msgstr "Save changes"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
#: themes/default/templates/index.html.ep:183
|
||||
msgid "Send an image"
|
||||
msgstr "Send an image"
|
||||
|
||||
@@ -395,82 +360,52 @@ msgstr "Send an image"
|
||||
msgid "Signin"
|
||||
msgstr "Signin"
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Single watermark"
|
||||
|
||||
#: themes/default/templates/index.html.ep:145 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "Something bad happened"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
msgstr ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
msgstr "Support the author"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "Support the author on Liberapay"
|
||||
msgstr "Support the author on Liberapay"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "Support the author on Tipeee"
|
||||
msgstr "Support the author on Tipeee"
|
||||
#: lib/Lutim/Controller/Image.pm:811
|
||||
msgid "Something went wrong when creating the zip file. Try again later or contact the administrator (%1)."
|
||||
msgstr "Something went wrong when creating the zip file. Try again later or contact the administrator (%1)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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)."
|
||||
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 "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)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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."
|
||||
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 "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/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:348
|
||||
msgid "The URL is not valid."
|
||||
msgstr "The URL is not valid."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:16
|
||||
msgid ""
|
||||
"The automatic download process will open a tab in your browser for each link."
|
||||
" You need to allow popups for Lutim."
|
||||
msgstr ""
|
||||
"The automatic download process will open a tab in your browser for each link."
|
||||
" You need to allow popups for Lutim."
|
||||
msgid "The automatic download process will open a tab in your browser for each link. You need to allow popups for Lutim."
|
||||
msgstr "The automatic download process will open a tab in your browser for each link. You need to allow popups for Lutim."
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "The data has been successfully imported."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "The delete token is invalid."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:532
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "The file %1 is not an image."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:312 lib/Lutim/Controller/Image.pm:381 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "The file exceed the size limit (%1)"
|
||||
|
||||
@@ -479,40 +414,39 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "The graph's datas are not updated in real-time."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "The image %1 has already been deleted."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "The image %1 has been successfully deleted"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "The image's delay has been successfully modified"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
#: themes/default/templates/index.html.ep:57
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"The images you post on Lutim can be stored indefinitely or be deleted at "
|
||||
"first view or after a delay selected from those proposed."
|
||||
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 "The images you post on Lutim can be stored indefinitely or be deleted at first view or after a delay selected from those proposed."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "The image’s delay has been successfully modified"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "There is XXXX image(s) in the gallery"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:529
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr "There is no more available URL. Retry or contact the administrator. %1"
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Tiling watermark"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
@@ -522,11 +456,11 @@ msgstr "Toggle fullscreen"
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Toggle navigation"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
#: themes/default/templates/index.html.ep:72 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr "Tweet it!"
|
||||
|
||||
@@ -535,31 +469,27 @@ msgid "Unable to copy to clipboard"
|
||||
msgstr "Unable to copy to clipboard"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Unable to find the image %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:665 lib/Lutim/Controller/Image.pm:706 lib/Lutim/Controller/Image.pm:749 lib/Lutim/Controller/Image.pm:761 lib/Lutim/Controller/Image.pm:773 lib/Lutim/Controller/Image.pm:801 lib/Lutim/Plugin/Helpers.pm:126
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Unable to find the image: it has been deleted."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Unable to get counter"
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
msgid ""
|
||||
"Unlike many image sharing services, you don't give us rights on uploaded "
|
||||
"images."
|
||||
msgstr ""
|
||||
"Unlike many image sharing services, you don't give us rights on uploaded "
|
||||
"images."
|
||||
msgid "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
msgstr "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
|
||||
#: themes/default/templates/index.html.ep:180 themes/default/templates/index.html.ep:219
|
||||
#: themes/default/templates/index.html.ep:187 themes/default/templates/index.html.ep:239
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr "Upload an image with its URL"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:125
|
||||
#: themes/default/templates/myfiles.html.ep:119
|
||||
msgid "Uploaded at"
|
||||
msgstr "Uploaded at"
|
||||
|
||||
@@ -568,15 +498,11 @@ msgid "Uploaded files by days"
|
||||
msgstr "Uploaded files by days"
|
||||
|
||||
#. ($c->app->config('contact')
|
||||
#: lib/Lutim/Plugin/Helpers.pm:221
|
||||
msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
#: lib/Lutim/Plugin/Helpers.pm:261
|
||||
msgid "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
msgstr "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:83 themes/default/templates/index.html.ep:85 themes/default/templates/myfiles.html.ep:122 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
#: themes/default/templates/index.html.ep:77 themes/default/templates/index.html.ep:79 themes/default/templates/myfiles.html.ep:116 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
msgstr "View link"
|
||||
|
||||
@@ -593,36 +519,20 @@ msgid "Who owns rights on images uploaded on Lutim?"
|
||||
msgstr "Who owns rights on images uploaded on Lutim?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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!"
|
||||
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 "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!"
|
||||
|
||||
#: themes/default/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://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a "
|
||||
"href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgstr ""
|
||||
"Yes, it is! On the other side, if you want to support the developer, you can "
|
||||
"do it via <a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a "
|
||||
"href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgid "Yes, it is! On the other side, if you want to support the developer, you can do it via <a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgstr "Yes, it is! On the other side, if you want to support the developer, you can do it via <a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr "You asked to download a zip archive for too much files."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"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."
|
||||
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 "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."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
@@ -648,7 +558,7 @@ msgstr "arabic translation"
|
||||
msgid "core developer"
|
||||
msgstr "core developer"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:345 lib/Lutim/Command/cron/stats.pm:154 lib/Lutim/Command/cron/stats.pm:168 lib/Lutim/Command/cron/stats.pm:185 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "no time limit"
|
||||
|
||||
|
||||
@@ -6,26 +6,27 @@
|
||||
# Translators:
|
||||
# Luc Didry <luc@didry.org>, 2015
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:23+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: Spanish <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/es/>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/fiat-tux/lutim/language/es/"
|
||||
")\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 días"
|
||||
|
||||
@@ -38,11 +39,11 @@ msgstr "%1 imágenes enviadas a esta instancia desde el inicio."
|
||||
msgid "-or-"
|
||||
msgstr "-o-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 año"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 horas"
|
||||
|
||||
@@ -52,19 +53,19 @@ msgstr ": Error al intentar obtener el contador."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
msgstr "Acerca de"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr ""
|
||||
msgstr "Imágenes activas"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Error al intentar modificar la imagen."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:2
|
||||
msgid "Archives download"
|
||||
msgstr ""
|
||||
msgstr "Descarga de archivos"
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:135 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
@@ -88,11 +89,11 @@ msgstr "Contribuidores"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Copiado al portapapeles"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
msgstr "Copiar todos los enlaces de visualización al portapapeles"
|
||||
msgstr "Copiar todos los enlaces de visualización al portapapeles"
|
||||
|
||||
#: themes/default/templates/index.html.ep:103 themes/default/templates/index.html.ep:111 themes/default/templates/index.html.ep:18 themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:54 themes/default/templates/index.html.ep:87 themes/default/templates/index.html.ep:95 themes/default/templates/myfiles.html.ep:104 themes/default/templates/myfiles.html.ep:68 themes/default/templates/myfiles.html.ep:86 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:142
|
||||
msgid "Copy to clipboard"
|
||||
@@ -104,23 +105,23 @@ msgstr "Contador"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:18
|
||||
msgid "Delay repartition chart for disabled images"
|
||||
msgstr ""
|
||||
msgstr "Tabla de reparto de retardos para imágenes deshabilitadas"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:15
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr ""
|
||||
msgstr "Tabla de reparto de retardos para imágenes habilitadas"
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr "¿Borrar en la primera vista?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr ""
|
||||
msgstr "Imágenes borradas"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr ""
|
||||
msgstr "Imágenes borradas en 30 días"
|
||||
|
||||
#: themes/default/templates/index.html.ep:116 themes/default/templates/myfiles.html.ep:127 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
@@ -172,7 +173,7 @@ msgstr "Expira"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
msgid "Export localStorage data"
|
||||
msgstr ""
|
||||
msgstr "Exportar datos de almacenamiento local"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
msgid "File name"
|
||||
@@ -226,21 +227,21 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "URL de la imagen"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr ""
|
||||
msgstr "Retardo de imagen"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
msgstr "Imagen eliminada"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Imagen no encontrada."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
msgid "Import localStorage data"
|
||||
msgstr ""
|
||||
msgstr "Importar datos de almacenamiento local"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
msgid "Informations"
|
||||
@@ -252,7 +253,7 @@ msgstr "Instalar webapp"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:21
|
||||
msgid "Instance's statistics"
|
||||
msgstr ""
|
||||
msgstr "Estadísticas de la instancia"
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "Is it really anonymous?"
|
||||
@@ -303,6 +304,8 @@ msgid ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"Lutim no puede comprimir tantas imágenes a la vez, por lo que dividió tu "
|
||||
"solicitud en varias URL."
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid ""
|
||||
@@ -323,7 +326,7 @@ msgstr "Sintaxis de Markdown"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
msgid "Modify expiration delay"
|
||||
msgstr ""
|
||||
msgstr "Modificar el retardo de expiración"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
@@ -331,7 +334,7 @@ msgstr "Mis Imágenes"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:45
|
||||
msgid "Next (arrow right)"
|
||||
msgstr ""
|
||||
msgstr "Siguiente (flecha derecha)"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:105 themes/default/templates/partial/myfiles.js.ep:132
|
||||
msgid "No limit"
|
||||
@@ -365,7 +368,7 @@ msgstr "Contraseña"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr ""
|
||||
msgstr "Haga clic en cada URL para descargar los diferentes archivos zip."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
@@ -374,19 +377,19 @@ msgstr "Por favor, contacte con el administrador: %1"
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr ""
|
||||
msgstr "Por favor, verifique sus credenciales: no se puede autenticar."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
msgstr ""
|
||||
msgstr "Anterior (flecha izquierda)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
msgid "Random image link"
|
||||
msgstr ""
|
||||
msgstr "Enlace de imagen aleatoria"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
msgstr ""
|
||||
msgstr "Estadísticas sin procesar"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
@@ -398,14 +401,14 @@ msgstr "Enviar una imagen"
|
||||
|
||||
#: themes/default/templates/login.html.ep:16 themes/default/templates/logout.html.ep:5 themes/default/templates/partial/navbar.html.ep:37
|
||||
msgid "Signin"
|
||||
msgstr ""
|
||||
msgstr "Acceder"
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "Algo malo ha pasado"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -415,15 +418,15 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
msgstr ""
|
||||
msgstr "Apoya al autor"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "Support the author on Liberapay"
|
||||
msgstr ""
|
||||
msgstr "Apoya al autor en Liberapay"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "Support the author on Tipeee"
|
||||
msgstr ""
|
||||
msgstr "Apoya al autor en Tipeee"
|
||||
|
||||
#: themes/default/templates/about.html.ep:13
|
||||
msgid ""
|
||||
@@ -448,7 +451,7 @@ msgstr ""
|
||||
"\"https://www.gnu.org/licenses/agpl-3.0.html\">AGPL</a> para ver qué puede "
|
||||
"hacer."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "La URL no es válida."
|
||||
|
||||
@@ -457,24 +460,26 @@ msgid ""
|
||||
"The automatic download process will open a tab in your browser for each link."
|
||||
" You need to allow popups for Lutim."
|
||||
msgstr ""
|
||||
"El proceso de descarga automática abrirá una pestaña en su navegador para "
|
||||
"cada enlace. Debe permitir ventanas emergentes para Lutim."
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
msgstr "Los datos se han importado correctamente."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "El código de borrado no es válido."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "El archivo %1 no es una imagen."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "El archivo supera el límite de tamaño (%1)"
|
||||
|
||||
@@ -483,19 +488,15 @@ 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/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "La imagen %1 ya se ha borrado."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "La imagen %1 se ha borrado correctamente"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Se ha modificado correctamente el tiempo de la imagen"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr "Las imágenes se cifran en el servidor (Lutim no guarda la clave)."
|
||||
@@ -509,12 +510,16 @@ msgstr ""
|
||||
"con la primera vista (o descarga) o tras un tiempo seleccionado de entre "
|
||||
"varios propuestos."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Se ha modificado correctamente el tiempo de la imagen"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
msgstr "Hay imágenes XXXX en la galería"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
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. "
|
||||
@@ -522,15 +527,15 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Bascular la pantalla completa"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
msgstr "Extiender la barra de navegación"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Total"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
@@ -538,18 +543,18 @@ msgstr "¡Tuitéalo!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr ""
|
||||
msgstr "imposible copiar al portapapeles"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "No se ha podido encontrar la imagen %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "No se ha podido encontrar la imagen: ha sido borrada."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Imposible recuperar el contador"
|
||||
|
||||
@@ -620,7 +625,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr ""
|
||||
msgstr "Solicitó descargar un archivo zip para demasiados archivos."
|
||||
|
||||
#: themes/default/templates/about.html.ep:8
|
||||
msgid ""
|
||||
@@ -633,15 +638,15 @@ msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr ""
|
||||
msgstr "Te has identificado con éxito."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
msgstr "Ha sido desconectado con éxito."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
msgstr ""
|
||||
msgstr "Zoom in/out"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
@@ -649,13 +654,13 @@ msgstr "y en"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
msgstr ""
|
||||
msgstr "Traducción al árabe"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr "desarrollador principal"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "Sin tiempo límite"
|
||||
|
||||
@@ -669,11 +674,11 @@ msgstr "en"
|
||||
|
||||
#: themes/default/templates/about.html.ep:39
|
||||
msgid "paste image to upload ability"
|
||||
msgstr ""
|
||||
msgstr "posibilidad de pegar una imagen para subirla (upload)"
|
||||
|
||||
#: themes/default/templates/about.html.ep:41
|
||||
msgid "russian translation"
|
||||
msgstr ""
|
||||
msgstr "traducción rusa"
|
||||
|
||||
#: themes/default/templates/about.html.ep:36
|
||||
msgid "spanish translation"
|
||||
@@ -682,3 +687,9 @@ msgstr "traducción al español"
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "desarrollador de la webapp"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Para más detalles, vea la <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">página del proyecto</a>."
|
||||
|
||||
@@ -6,25 +6,27 @@
|
||||
# Translators:
|
||||
# Luc Didry <luc@didry.org>, 2015
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-04-04 10:08+0000\n"
|
||||
"Last-Translator: spf <spf@framasoft.org>\n"
|
||||
"Language-Team: French <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/fr/>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: French (http://www.transifex.com/fiat-tux/lutim/language/fr/)\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 jours"
|
||||
|
||||
@@ -37,11 +39,11 @@ msgstr "%1 images envoyées sur cette instance depuis le début."
|
||||
msgid "-or-"
|
||||
msgstr "-ou-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 an"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 heures"
|
||||
|
||||
@@ -53,11 +55,11 @@ msgstr " : Erreur en essayant de récupérer le compteur."
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Images actives"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Une erreur est survenue lors du téléchargement de l’image."
|
||||
|
||||
@@ -113,11 +115,11 @@ msgstr "Graphe de répartition des délais pour les images actives"
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Supprimer au premier accès ?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Images supprimées"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Images supprimées dans 30 jours"
|
||||
|
||||
@@ -150,9 +152,9 @@ msgid ""
|
||||
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"
|
||||
"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."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
@@ -226,7 +228,7 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "URL de l’image"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Durée de rétention de l’image"
|
||||
|
||||
@@ -234,7 +236,7 @@ msgstr "Durée de rétention de l’image"
|
||||
msgid "Image deleted"
|
||||
msgstr "Image supprimée"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Image non trouvée."
|
||||
|
||||
@@ -350,7 +352,7 @@ msgid ""
|
||||
"these details."
|
||||
msgstr ""
|
||||
"Seules les images envoyées avec ce navigateur seront listées ici. Les "
|
||||
"détails sont stockées en localStorage•: si vous supprimez vos données "
|
||||
"détails sont stockés en localStorage : si vous supprimez vos données "
|
||||
"localStorage, vous perdrez ces détails."
|
||||
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
@@ -409,7 +411,7 @@ msgid "Something bad happened"
|
||||
msgstr "Un problème est survenu"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -437,8 +439,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"L’IP de la personne ayant déposé l’image est stockée pendant un délai "
|
||||
"dépendant de l’administrateur de l’instance (pour l’instance officielle, "
|
||||
"dont le serveur est en France, c’est un délai\n"
|
||||
" d’un an)."
|
||||
"dont le serveur est en France, c’est un délai d’un an)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
msgid ""
|
||||
@@ -449,11 +450,11 @@ msgid ""
|
||||
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"
|
||||
"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/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "L’URL n’est pas valide."
|
||||
|
||||
@@ -470,19 +471,19 @@ msgstr ""
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "Les données ont été importées avec succès."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Le jeton de suppression est invalide."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Le fichier %1 n’est pas une image."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Le fichier dépasse la limite de taille (%1)"
|
||||
|
||||
@@ -491,18 +492,14 @@ 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/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "L’image %1 a déjà été supprimée."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "L’image %1 a été supprimée avec succès."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Le délai de l’image a été modifié avec succès."
|
||||
msgstr "L’image %1 a été supprimée avec succès"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
@@ -518,26 +515,30 @@ msgstr ""
|
||||
"s’effacer dès le premier affichage ou au bout du délai choisi parmi ceux "
|
||||
"proposés."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Le délai de l’image a été modifié avec succès"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "Il y a XXXX image(s) dans la galerie"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
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."
|
||||
"Il n’y a plus d’URL disponible. Veuillez réessayer ou contacter l’"
|
||||
"administrateur. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr "Basculler le plein écran"
|
||||
msgstr "Basculer le plein écran"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Étendre la barre de navigation"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
@@ -550,15 +551,15 @@ msgid "Unable to copy to clipboard"
|
||||
msgstr "Impossible de copier dans le presse-papier"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Impossible de trouver l’image %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Impossible de trouver l’image : elle a été supprimée."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Impossible de récupérer le compteur"
|
||||
|
||||
@@ -667,7 +668,7 @@ msgstr "traduction en arabe"
|
||||
msgid "core developer"
|
||||
msgstr "développeur principal"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "Pas de limitation de durée"
|
||||
|
||||
@@ -694,3 +695,21 @@ msgstr "traduction espagnole"
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "développeur de la webapp"
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Filigrane en tuile"
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Filigrane simple"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Pas de filigrane"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Pour plus de détails, consultez la <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">page du projet</a>."
|
||||
|
||||
@@ -6,25 +6,27 @@
|
||||
# Translators:
|
||||
# Luc Didry <luc@didry.org>, 2015
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:23+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: French (France) <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/fr_FR/>\n"
|
||||
"Language: fr_FR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: French (http://www.transifex.com/fiat-tux/lutim/language/fr/)\n"
|
||||
"Language: fr_FR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 jours"
|
||||
|
||||
@@ -37,11 +39,11 @@ msgstr "%1 images envoyées sur cette instance depuis le début."
|
||||
msgid "-or-"
|
||||
msgstr "-ou-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 an"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 heures"
|
||||
|
||||
@@ -53,11 +55,11 @@ msgstr " : Erreur en essayant de récupérer le compteur."
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Images actives"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Une erreur est survenue lors du téléchargement de l’image."
|
||||
|
||||
@@ -113,11 +115,11 @@ msgstr "Graphe de répartition des délais pour les images actives"
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Supprimer au premier accès ?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Images supprimées"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Images supprimées dans 30 jours"
|
||||
|
||||
@@ -150,9 +152,9 @@ msgid ""
|
||||
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"
|
||||
"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."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
@@ -226,7 +228,7 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "URL de l’image"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Durée de rétention de l’image"
|
||||
|
||||
@@ -234,7 +236,7 @@ msgstr "Durée de rétention de l’image"
|
||||
msgid "Image deleted"
|
||||
msgstr "Image supprimée"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Image non trouvée."
|
||||
|
||||
@@ -409,7 +411,7 @@ msgid "Something bad happened"
|
||||
msgstr "Un problème est survenu"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -437,8 +439,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"L’IP de la personne ayant déposé l’image est stockée pendant un délai "
|
||||
"dépendant de l’administrateur de l’instance (pour l’instance officielle, "
|
||||
"dont le serveur est en France, c’est un délai\n"
|
||||
" d’un an)."
|
||||
"dont le serveur est en France, c’est un délai d’un an)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
msgid ""
|
||||
@@ -449,11 +450,11 @@ msgid ""
|
||||
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"
|
||||
"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/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "L’URL n’est pas valide."
|
||||
|
||||
@@ -470,19 +471,19 @@ msgstr ""
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "Les données ont été importées avec succès."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Le jeton de suppression est invalide."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Le fichier %1 n’est pas une image."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Le fichier dépasse la limite de taille (%1)"
|
||||
|
||||
@@ -491,18 +492,14 @@ 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/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "L’image %1 a déjà été supprimée."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "L’image %1 a été supprimée avec succès."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Le délai de l’image a été modifié avec succès."
|
||||
msgstr "L’image %1 a été supprimée avec succès"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
@@ -518,26 +515,30 @@ msgstr ""
|
||||
"s’effacer dès le premier affichage ou au bout du délai choisi parmi ceux "
|
||||
"proposés."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Le délai de l’image a été modifié avec succès"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "Il y a XXXX image(s) dans la galerie"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
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."
|
||||
"Il n’y a plus d’URL disponible. Veuillez réessayer ou contacter l’"
|
||||
"administrateur. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr "Basculler le plein écran"
|
||||
msgstr "Basculer le plein écran"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Étendre la barre de navigation"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
@@ -550,15 +551,15 @@ msgid "Unable to copy to clipboard"
|
||||
msgstr "Impossible de copier dans le presse-papier"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Impossible de trouver l’image %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Impossible de trouver l’image : elle a été supprimée."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Impossible de récupérer le compteur"
|
||||
|
||||
@@ -667,7 +668,7 @@ msgstr "traduction en arabe"
|
||||
msgid "core developer"
|
||||
msgstr "développeur principal"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "Pas de limitation de durée"
|
||||
|
||||
@@ -694,3 +695,21 @@ msgstr "traduction espagnole"
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "développeur de la webapp"
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Filigrane en tuile"
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Filigrane simple"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Pas de filigrane"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Pour plus de détails, consultez la <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">page du projet</a>."
|
||||
|
||||
@@ -3,15 +3,16 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-04-10 17:08+0000\n"
|
||||
"Last-Translator: Balázs Meskó <mesko.balazs@fsf.hu>\n"
|
||||
"Language-Team: Hungarian <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/hu/>\n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-06-01 09:17+0000\n"
|
||||
"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: hu\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
@@ -24,11 +25,11 @@ msgstr "%1 nap"
|
||||
#. ($total)
|
||||
#: themes/default/templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr ""
|
||||
msgstr "%1 kép elküldve ezen a példányon a kezdetek óta."
|
||||
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
msgid "-or-"
|
||||
msgstr ""
|
||||
msgstr "-vagy-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
@@ -40,7 +41,7 @@ msgstr "24 óra"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:180
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr ""
|
||||
msgstr ": Hiba a számláló lekérésekor."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
msgid "About"
|
||||
@@ -52,7 +53,7 @@ msgstr "Aktív képek"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Hiba történt a kép letöltése közben"
|
||||
msgstr "Hiba történt a kép letöltése közben."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:2
|
||||
msgid "Archives download"
|
||||
@@ -68,7 +69,7 @@ msgstr "Kattints a fájlböngésző megnyitásához"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:51
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:29
|
||||
msgid "Close (Esc)"
|
||||
@@ -80,7 +81,7 @@ msgstr "Közreműködők"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Vágólapra másolva"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
@@ -96,11 +97,11 @@ msgstr "Számláló"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:18
|
||||
msgid "Delay repartition chart for disabled images"
|
||||
msgstr ""
|
||||
msgstr "Lejárat felosztási diagramja a letiltott képekhez"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:15
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr ""
|
||||
msgstr "Lejárat felosztási diagramja az engedélyezett képekhez"
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
@@ -132,7 +133,7 @@ msgstr "Zip letöltési hivatkozás"
|
||||
|
||||
#: themes/default/templates/index.html.ep:207
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Húzd és ejtsd ide a képeket"
|
||||
msgstr "Húzza és ejtse ide a képeket"
|
||||
|
||||
#: themes/default/templates/about.html.ep:7
|
||||
msgid ""
|
||||
@@ -141,6 +142,10 @@ msgid ""
|
||||
"other to directly download it, one you can use on social networks and a last "
|
||||
"to delete the image when you want."
|
||||
msgstr ""
|
||||
"Húzza és ejtse a képet a megfelelő területre, vagy küldje el a fájlokat a "
|
||||
"hagyományos módon, és a Lutim négy URL-t fog biztosítani. Egyet a kép "
|
||||
"megtekintéséhez, egyet a közvetlen letöltéséhez, egyet amelyet a közösségi "
|
||||
"hálózatokon használhat, illetve egyet, amellyel ha akarja, törölheti a képet."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
@@ -160,7 +165,7 @@ msgstr "Lejárat:"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
msgid "Export localStorage data"
|
||||
msgstr ""
|
||||
msgstr "A helyi tárolóban lévő adatok exportálása"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
msgid "File name"
|
||||
@@ -176,15 +181,15 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:80
|
||||
msgid "Fork me!"
|
||||
msgstr "Forkolj le!"
|
||||
msgstr "Forkolja le!"
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:13 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:63
|
||||
msgid "Gallery link"
|
||||
msgstr "Galéria hivatkozás"
|
||||
msgstr "Galériahivatkozás"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:116 themes/default/templates/partial/common.js.ep:134
|
||||
msgid "Hit Ctrl+C, then Enter to copy the short link"
|
||||
msgstr ""
|
||||
msgstr "Nyomjon Ctrl+C-t, majd Entert a rövid hivatkozás másolásához"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:47
|
||||
msgid "Homepage"
|
||||
@@ -207,6 +212,8 @@ msgid ""
|
||||
"If the files are deleted if you ask it while posting it, their SHA512 "
|
||||
"footprint are retained."
|
||||
msgstr ""
|
||||
"Ha a fájlok törlésre fognak kerülni, mert így kérte feltöltéskor, akkor az "
|
||||
"SHA512-ujjlenyomat megmarad."
|
||||
|
||||
#: themes/default/templates/index.html.ep:181 themes/default/templates/index.html.ep:221
|
||||
msgid "Image URL"
|
||||
@@ -214,11 +221,11 @@ msgstr "Kép URL"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr ""
|
||||
msgstr "Kép lejárata"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
msgstr "Kép törölve"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
msgid "Image not found."
|
||||
@@ -226,7 +233,7 @@ msgstr "A kép nem található."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
msgid "Import localStorage data"
|
||||
msgstr ""
|
||||
msgstr "Helyi tároló adatainak importálása"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
msgid "Informations"
|
||||
@@ -278,17 +285,19 @@ msgstr "Közösségi média megosztási hivatkozások"
|
||||
|
||||
#: themes/default/templates/login.html.ep:8
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Bejelentkezés"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:33
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
msgstr "Kijelentkezés"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"A Lutim nem tud ennyi fájlt összecsomagolni, így felosztotta a kérését több "
|
||||
"URL-re."
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid ""
|
||||
@@ -296,6 +305,8 @@ msgid ""
|
||||
"also the name of the free (as in free speech) software which provides this "
|
||||
"service."
|
||||
msgstr ""
|
||||
"A Lutim egy ingyenes és anonim képmegosztó-szolgáltatás. Ez a szolgáltatás "
|
||||
"mögött álló szabad szoftver neve is."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
@@ -307,7 +318,7 @@ msgstr "Markdown szintaxis"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
msgid "Modify expiration delay"
|
||||
msgstr ""
|
||||
msgstr "Lejárati dátum módosítása"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
@@ -331,6 +342,9 @@ msgid ""
|
||||
"stored in localStorage: if you delete your localStorage data, you'll loose "
|
||||
"these details."
|
||||
msgstr ""
|
||||
"Csak az ezzel a böngészővel elküldött képek fognak itt megjelenni. A "
|
||||
"részletek a helyi tárolóban tároltak: ha törli a helyi tároló adatait, akkor "
|
||||
"elveszíti ezeket a részleteket."
|
||||
|
||||
#: themes/default/templates/about.html.ep:16
|
||||
msgid ""
|
||||
@@ -342,20 +356,20 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "Jelszó"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr ""
|
||||
msgstr "Kattintson az egyes URL-ekre, hogy letöltse a különböző ZIP-fájlokat."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Vedd fel a kapcsolatot az adminisztrátorral: %1"
|
||||
msgstr "Vegye fel a kapcsolatot a rendszergazdával: %1"
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr ""
|
||||
msgstr "Ellenőrizze a hitelesítő adatait: a hitelesítés sikertelen."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
@@ -363,7 +377,7 @@ msgstr "Előző (balra nyíl)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
msgid "Random image link"
|
||||
msgstr ""
|
||||
msgstr "Előző képhivatkozás"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
@@ -371,7 +385,7 @@ msgstr "Nyers statisztikák"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
msgstr "Változtatások mentése"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
msgid "Send an image"
|
||||
@@ -379,11 +393,11 @@ msgstr "Kép küldése"
|
||||
|
||||
#: themes/default/templates/login.html.ep:16 themes/default/templates/logout.html.ep:5 themes/default/templates/partial/navbar.html.ep:37
|
||||
msgid "Signin"
|
||||
msgstr ""
|
||||
msgstr "Bejelentkezés"
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "Valami rossz történt"
|
||||
msgstr "Valami elromlott"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
@@ -391,6 +405,8 @@ msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
msgstr ""
|
||||
"Valami elromlott a ZIP-fájl létrehozásakor. Próbálja újra később, vagy "
|
||||
"lépjen kapcsolatba a rendszergazdával (%1)."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
@@ -410,6 +426,9 @@ msgid ""
|
||||
"of the administrator's choice (for the official instance, which is located "
|
||||
"in France, it's one year)."
|
||||
msgstr ""
|
||||
"A képküldő IP-címének tárolási ideje a rendszergazda által megadott "
|
||||
"beállítástól függ (a Franciaországban található hivatalos példánynál ez egy "
|
||||
"év)."
|
||||
|
||||
#: themes/default/templates/about.html.ep:23
|
||||
msgid ""
|
||||
@@ -432,10 +451,12 @@ msgid ""
|
||||
"The automatic download process will open a tab in your browser for each link."
|
||||
" You need to allow popups for Lutim."
|
||||
msgstr ""
|
||||
"Az automatikus letöltési folyamat új böngészőlapot fog megnyitni minden "
|
||||
"hivatkozáshoz. Engedélyeznie kell a felugró ablakokat a Lutim számára."
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
msgstr "Az adatok sikeresen importálva lettek."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
msgid "The delete token is invalid."
|
||||
@@ -473,73 +494,79 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
msgstr "A képek a kiszolgálón titkosítottak (a Lutim nem tárolja a kulcsot)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"A Lutimra feltöltött képek korlátlan ideig tárolhatók, illetve első "
|
||||
"megtekintés vagy bizonyos késleltetés után törölhetők."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
msgstr "XXXX kép szerepel a galériában"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"Nincs több elérhető URL. Próbálja újra, vagy lépjen kapcsolatba a "
|
||||
"rendszergazdával. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr ""
|
||||
msgstr "Teljes képernyő be/ki"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
msgstr "Navigációs panel be/ki"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Összesen"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr ""
|
||||
msgstr "Tweet közzététele!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Nem másolható a vágólapra"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr ""
|
||||
msgstr "A(z) %1 kép nem található."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr ""
|
||||
msgstr "A kép nem található: törölték."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
msgid "Unable to get counter"
|
||||
msgstr ""
|
||||
msgstr "A számláló nem kérhető le"
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
msgid ""
|
||||
"Unlike many image sharing services, you don't give us rights on uploaded "
|
||||
"images."
|
||||
msgstr ""
|
||||
"Számos más képmegosztó-szolgáltatással ellentétben, Ön nem ad nekünk jogokat "
|
||||
"a feltöltött képekhez."
|
||||
|
||||
#: themes/default/templates/index.html.ep:180 themes/default/templates/index.html.ep:219
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr ""
|
||||
msgstr "Képek feltöltése URL alapján"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:125
|
||||
msgid "Uploaded at"
|
||||
msgstr ""
|
||||
msgstr "Feltöltés ideje:"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:6
|
||||
msgid "Uploaded files by days"
|
||||
msgstr ""
|
||||
msgstr "Feltöltött fájlok napok szerint"
|
||||
|
||||
#. ($c->app->config('contact')
|
||||
#: lib/Lutim/Plugin/Helpers.pm:221
|
||||
@@ -547,22 +574,24 @@ msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr ""
|
||||
"A feltöltés jelenleg ki van kapcsolva, próbálja újra később, vagy lépjen "
|
||||
"kapcsolatba a rendszergazdával (%1)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:83 themes/default/templates/index.html.ep:85 themes/default/templates/myfiles.html.ep:122 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
msgstr ""
|
||||
msgstr "Hivatkozás megtekintése"
|
||||
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "What about the software which provides the service?"
|
||||
msgstr ""
|
||||
msgstr "Mi a helyzet a szolgáltatást biztosító szoftverrel?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "What is Lutim?"
|
||||
msgstr ""
|
||||
msgstr "Mi a Lutim?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "Who owns rights on images uploaded on Lutim?"
|
||||
msgstr ""
|
||||
msgstr "Ki a feltöltött képek jogtulajdonosa a Lutimon?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:12
|
||||
msgid ""
|
||||
@@ -570,6 +599,8 @@ msgid ""
|
||||
"stored when you send an image. Don't panic, it is normally the case of all "
|
||||
"sites on which you send files!"
|
||||
msgstr ""
|
||||
"Igen, tényleg. Viszont jogi okokból az IP-címét tároljuk, ha képet küld. Ne "
|
||||
"aggódjon, általában ez a helyzet az oldalakon, ahová képeket küld."
|
||||
|
||||
#: themes/default/templates/about.html.ep:10
|
||||
msgid ""
|
||||
@@ -577,65 +608,93 @@ msgid ""
|
||||
"do it via <a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a "
|
||||
"href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgstr ""
|
||||
"Igen, tényleg. Viszont ha szeretné támogatni a fejlesztőt, akkor megteheti a "
|
||||
"<a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> vagy a <a href=\""
|
||||
"https://liberapay.com/sky/\">Liberapay</a> segítségével."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr ""
|
||||
msgstr "Túl sok fájl letöltését kérte ZIP-archívumként."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Azt is kérheti, hogy a közzétett képek az első megtekintéskor (vagy "
|
||||
"letöltéskor) vagy a felajánlottak közül kiválasztott idő múlva törölve "
|
||||
"legyenek."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr ""
|
||||
msgstr "Sikeresen bejelentkezett."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
msgstr "Sikeresen kijelentkezett."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
msgstr ""
|
||||
msgstr "Nagyítás/kicsinyítés"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
msgstr ""
|
||||
msgstr "és"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
msgstr ""
|
||||
msgstr "arab fordítás"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr ""
|
||||
msgstr "fő fejlesztő"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr ""
|
||||
msgstr "nincs időkorlát"
|
||||
|
||||
#: themes/default/templates/about.html.ep:38
|
||||
msgid "occitan translation"
|
||||
msgstr ""
|
||||
msgstr "okcitán fordítás"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
msgstr "be"
|
||||
|
||||
#: themes/default/templates/about.html.ep:39
|
||||
msgid "paste image to upload ability"
|
||||
msgstr ""
|
||||
msgstr "kép beillesztése a feltöltéshez"
|
||||
|
||||
#: themes/default/templates/about.html.ep:41
|
||||
msgid "russian translation"
|
||||
msgstr ""
|
||||
msgstr "orosz fordítás"
|
||||
|
||||
#: themes/default/templates/about.html.ep:36
|
||||
msgid "spanish translation"
|
||||
msgstr ""
|
||||
msgstr "spanyol fordítás"
|
||||
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "webalkalmazás-fejlesztő"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"További részletekért lásd a <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">projekt weboldalát</a>."
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Mozaikos vízjel"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "A kép lejárata sikeresen módosítva"
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Egy vízjel"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Nincs vízjel"
|
||||
|
||||
705
themes/default/lib/Lutim/I18N/it.po
Normal file
705
themes/default/lib/Lutim/I18N/it.po
Normal file
@@ -0,0 +1,705 @@
|
||||
# Paolo Mauri <paolo@paolomauri.it>, 2018. #zanata
|
||||
# roberto marcolin <nilogadda@gmail.com>, 2018. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-06-09 19:24+0000\n"
|
||||
"Last-Translator: roberto marcolin <nilogadda@gmail.com>\n"
|
||||
"Language-Team: Italian <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/it/>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 giorni"
|
||||
|
||||
#. ($total)
|
||||
#: themes/default/templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr "%1 immagini inviate su questa istanza dall'inizio."
|
||||
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
msgid "-or-"
|
||||
msgstr "o"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 anno"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 ore"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:180
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr ": Errore durante il tentativo di ottenere il conteggio."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
msgid "About"
|
||||
msgstr "Info"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Immagini attive"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "È avvenuto un errore durante il download dell'immagine."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:2
|
||||
msgid "Archives download"
|
||||
msgstr "Download archivi"
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:135 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
msgstr "Torna alla home page"
|
||||
|
||||
#: themes/default/templates/index.html.ep:211 themes/default/templates/index.html.ep:212
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Clicca per aprire il browser dei file"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:51
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:29
|
||||
msgid "Close (Esc)"
|
||||
msgstr "Chiudi (Esc)"
|
||||
|
||||
#: themes/default/templates/about.html.ep:30
|
||||
msgid "Contributors"
|
||||
msgstr "Collaboratori"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copia in appunti"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
msgstr "Copia in appunti tutti i link di visualizzazione"
|
||||
|
||||
#: themes/default/templates/index.html.ep:103 themes/default/templates/index.html.ep:111 themes/default/templates/index.html.ep:18 themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:54 themes/default/templates/index.html.ep:87 themes/default/templates/index.html.ep:95 themes/default/templates/myfiles.html.ep:104 themes/default/templates/myfiles.html.ep:68 themes/default/templates/myfiles.html.ep:86 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:142
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copia in appunti"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:123
|
||||
msgid "Counter"
|
||||
msgstr "Contatore"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:18
|
||||
msgid "Delay repartition chart for disabled images"
|
||||
msgstr "Grafico di ripartizione dei periodi per le immagini disabilitate"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:15
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr "Grafico di ripartizione dei periodi per le immagini abilitate"
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Cancella alla prima visualizzazione?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Immagini cancellate"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Immagini cancellate entro 30 giorni"
|
||||
|
||||
#: themes/default/templates/index.html.ep:116 themes/default/templates/myfiles.html.ep:127 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
msgstr "Link per la cancellazione"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:10
|
||||
msgid "Download all images"
|
||||
msgstr "Fai il download di tutte le immagini"
|
||||
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:99 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
msgid "Download link"
|
||||
msgstr "Link per il download"
|
||||
|
||||
#: themes/default/templates/index.html.ep:28 themes/default/templates/index.html.ep:31 themes/default/templates/myfiles.html.ep:78 themes/default/templates/myfiles.html.ep:81
|
||||
msgid "Download zip link"
|
||||
msgstr "Link all'archivio delle immagini in formato zip"
|
||||
|
||||
#: themes/default/templates/index.html.ep:207
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Rilascia qui le immagini"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Trascina e rilascia l'immagine nell'area prevista o seleziona i file nel "
|
||||
"modo classico per inviare i file e Lutim provvederà a creare quattro URL. "
|
||||
"Una per visualizzare l'immagine, un'altra per il download diretto, una per "
|
||||
"poterla utilizzare nei social network e l'ultima per eliminare l'immagine "
|
||||
"quando vorrai."
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Crittografare l'immagine (Lutim non memorizza la chiave)."
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:113
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr "Errore durante la modifica dell'immagine."
|
||||
|
||||
#: themes/default/templates/stats.html.ep:10
|
||||
msgid "Evolution of total files"
|
||||
msgstr "Evoluzione del numero totale di file"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:126
|
||||
msgid "Expires at"
|
||||
msgstr "Scade il"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
msgid "Export localStorage data"
|
||||
msgstr "Esportare i dati del localStorage"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
msgid "File name"
|
||||
msgstr "Nome file"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid ""
|
||||
"For more details, see the <a href=\"https://framagit.org/luc/"
|
||||
"lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Per altre informazioni, vedi la <a href=\"https://framagit.org/luc/"
|
||||
"lutim\">homepage del progetto</a>."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:80
|
||||
msgid "Fork me!"
|
||||
msgstr "Crea un fork del progetto !"
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:13 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:63
|
||||
msgid "Gallery link"
|
||||
msgstr "Link alla galleria"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:116 themes/default/templates/partial/common.js.ep:134
|
||||
msgid "Hit Ctrl+C, then Enter to copy the short link"
|
||||
msgstr "Premi Ctrl+C, poi Invio per copiare lo short link"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:47
|
||||
msgid "Homepage"
|
||||
msgstr "Home page"
|
||||
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
msgid "How do you pronounce Lutim?"
|
||||
msgstr "Come si pronuncia Lutim?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
msgid "How does it work?"
|
||||
msgstr "Come funziona?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:18
|
||||
msgid "How to report an image?"
|
||||
msgstr "Come segnalare un'immagine?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
msgid ""
|
||||
"If the files are deleted if you ask it while posting it, their SHA512 "
|
||||
"footprint are retained."
|
||||
msgstr ""
|
||||
"Se i file vengono eliminati, se lo hai richiesto, la loro impronta SHA512 "
|
||||
"viene conservata."
|
||||
|
||||
#: themes/default/templates/index.html.ep:181 themes/default/templates/index.html.ep:221
|
||||
msgid "Image URL"
|
||||
msgstr "URL immagine"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Durata dell' immagine"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr "Immagine cancellata"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
msgid "Image not found."
|
||||
msgstr "Immagine non trovata."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
msgid "Import localStorage data"
|
||||
msgstr "Importa i dati di localStorage"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
msgid "Informations"
|
||||
msgstr "Informazioni"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:25
|
||||
msgid "Install webapp"
|
||||
msgstr "Installa webapp"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:21
|
||||
msgid "Instance's statistics"
|
||||
msgstr "Statistiche dell'istanza"
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "Is it really anonymous?"
|
||||
msgstr "È veramente anonimo?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
msgid "Is it really free (as in free beer)?"
|
||||
msgstr "È veramente gratuita (come in birra gratis)?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Come si pronuncia la parola francese <a href=\"https://fr.wikipedia.org/wiki/"
|
||||
"Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:202
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Mantieni i tag EXIF"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:43
|
||||
msgid "Language"
|
||||
msgstr "Lingua"
|
||||
|
||||
#: themes/default/templates/index.html.ep:136 themes/default/templates/index.html.ep:184 themes/default/templates/index.html.ep:224 themes/default/templates/partial/lutim.js.ep:165
|
||||
msgid "Let's go!"
|
||||
msgstr "Si parte!"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:74
|
||||
msgid "License:"
|
||||
msgstr "Licenza :"
|
||||
|
||||
#: themes/default/templates/index.html.ep:107 themes/default/templates/index.html.ep:109 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
msgid "Link for share on social networks"
|
||||
msgstr "Link da condividere nei social network"
|
||||
|
||||
#: themes/default/templates/login.html.ep:8
|
||||
msgid "Login"
|
||||
msgstr "Connetti"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:33
|
||||
msgid "Logout"
|
||||
msgstr "Disconnetti"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid ""
|
||||
"Lutim can't zip so many images at once, so it splitted your demand in "
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"Lutin non può zippare così tante immagini in una volta sola, così la tua "
|
||||
"richiesta è stata suddivida in diverse URL."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Lutim è un servizio di host per immagini gratuito (come in birra gratis) e "
|
||||
"anonimo.È anche il nome del software libero (come in libertà di parola) che "
|
||||
"fornisce questo servizio."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
msgstr "Principali sviluppatori"
|
||||
|
||||
#: themes/default/templates/index.html.ep:91 themes/default/templates/index.html.ep:93 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Sintassi Markdown"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
msgid "Modify expiration delay"
|
||||
msgstr "Modifica periodo di scadenza"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
msgstr "Le mie immagini"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:45
|
||||
msgid "Next (arrow right)"
|
||||
msgstr "Prossima (freccia destra)"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:105 themes/default/templates/partial/myfiles.js.ep:132
|
||||
msgid "No limit"
|
||||
msgstr "Nessun limite"
|
||||
|
||||
#: themes/default/templates/index.html.ep:183 themes/default/templates/index.html.ep:216
|
||||
msgid "Only images are allowed"
|
||||
msgstr "Sono accettate solo immagini"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:11
|
||||
msgid ""
|
||||
"Only the images sent with this browser will be listed here. The details are "
|
||||
"stored in localStorage: if you delete your localStorage data, you'll loose "
|
||||
"these details."
|
||||
msgstr ""
|
||||
"Solo le immagini inviate con questo browser saranno elencate qui. I dettagli "
|
||||
"sono salvati in localStorage: se cancelli i tuoi dati localStorage perderai "
|
||||
"questi dettagli."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Solo chi ha caricato le immagini! ( cioè solo se è l'unico proprietario dei "
|
||||
"diritti delle immagini prima dell'upload)"
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr "Clicca su ciascuna URL per scaricare i diversi file zip."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Contatta l'amministratore: %1"
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr "Controlla le tue credenziali: impossibile autenticarti."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
msgstr "Precedente (freccia sinistra)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
msgid "Random image link"
|
||||
msgstr "Link a un'immagine random"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
msgstr "Statistiche grezze"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr "Salva modifiche"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
msgid "Send an image"
|
||||
msgstr "Invia un'immagine"
|
||||
|
||||
#: themes/default/templates/login.html.ep:16 themes/default/templates/logout.html.ep:5 themes/default/templates/partial/navbar.html.ep:37
|
||||
msgid "Signin"
|
||||
msgstr "Connessione"
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "Si è verificato un problema"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
msgstr ""
|
||||
"Si è verificato un problema durante la creazione del file zip. Riprova più "
|
||||
"tardi o contatta l'amministratore (%1)."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
msgstr "Sostieni l'autore"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "Support the author on Liberapay"
|
||||
msgstr "Sostieni l'autore su Liberapay"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "Support the author on Tipeee"
|
||||
msgstr "Sostieni l'autore su Tipeee"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"L'indirizzo IP di chi ha inviato l'immagine viene conservata per un periodo "
|
||||
"che dipende dalla scelta dell'amministratore (per l'istanza ufficiale che si "
|
||||
"trova in Francia, il periodo è di un anno)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Il software Lutim è un <a href=\"http://en.wikipedia.org/wiki/Free_software\""
|
||||
"> software libero</a>, che ti permette di scaricarlo e installarlo sul tuo "
|
||||
"server. Dai un'occhiata a <a href=\"https://www.gnu.org/licenses/agpl-3.0."
|
||||
"html\">AGPL</a> per vedere cosa puoi fare."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
msgid "The URL is not valid."
|
||||
msgstr "L'URL non è valida."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:16
|
||||
msgid ""
|
||||
"The automatic download process will open a tab in your browser for each link."
|
||||
" You need to allow popups for Lutim."
|
||||
msgstr ""
|
||||
"Il procedimento di download automatico aprirà sul tuo browser una scheda per "
|
||||
"ciascun link. Devi acconsentire all'apertura di finestre popup per Lutim."
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "I dati sono stati importati con successo."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Il token cancellato non è valido."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Il file %1 non è un'immagine."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Il file supera il limite delle dimensioni (%1)"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:12
|
||||
msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "I dati del grafico non sono aggiornati in tempo reale."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "L'immagine %1 è già stata cancellata."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "L'immagine %1 è stata cancellata con successo"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "La durata dell'immagine è stata modificata con successo"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr "Le immagini sono criptate sul server (Lutim non possiede la chiave)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Le immagini che tu invii su Lutim possono essere conservate a tempo "
|
||||
"indefinito oppure essere cancellate dopo la prima visualizzazione oppure "
|
||||
"dopo un periodo scelto tra quelli proposti."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "Ci sono XXXX immagini nella gallery"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"Non c'è più una URL disponibile. Riprova o contatta l'amministratore. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr "Passa a schermo intero"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Passa a barra di navigazione"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Totale"
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr "Twitta!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr "Impossibile copiare negli appunti"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Impossibile trovare l'immagine %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Impossibile trovare l'immagine: è già stata cancellata."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Impossibile recuperare il contatore"
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
msgid ""
|
||||
"Unlike many image sharing services, you don't give us rights on uploaded "
|
||||
"images."
|
||||
msgstr ""
|
||||
"A differenza di molti servizi di condivisione di immagini, non ci cedi i "
|
||||
"diritti sulle immagini che carichi."
|
||||
|
||||
#: themes/default/templates/index.html.ep:180 themes/default/templates/index.html.ep:219
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr "Carica un'immagine con la sua URL"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:125
|
||||
msgid "Uploaded at"
|
||||
msgstr "Caricato il"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:6
|
||||
msgid "Uploaded files by days"
|
||||
msgstr "File inviati per giorno"
|
||||
|
||||
#. ($c->app->config('contact')
|
||||
#: lib/Lutim/Plugin/Helpers.pm:221
|
||||
msgid ""
|
||||
"Uploading is currently disabled, please try later or contact the "
|
||||
"administrator (%1)."
|
||||
msgstr ""
|
||||
"Il caricamento (upload) è al momento disabilitato, prova più tardi o "
|
||||
"contatta l'amministratore (%1)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:83 themes/default/templates/index.html.ep:85 themes/default/templates/myfiles.html.ep:122 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
msgstr "Visualizza link"
|
||||
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "What about the software which provides the service?"
|
||||
msgstr "E a proposito del software che fornisce il servizio?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "What is Lutim?"
|
||||
msgstr "Che cos'è Lutim?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "Who owns rights on images uploaded on Lutim?"
|
||||
msgstr "Chi possiede i diritti sulle immagini caricate su Lutim?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Sì, è così. D'altra parte, per motivi legali, il tuo indirizzo IP viene "
|
||||
"registrato quando invii un'immagine. Niente paura, è la procedura usata da "
|
||||
"tutti i siti in cui puoi inviare dei file !"
|
||||
|
||||
#: themes/default/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://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a "
|
||||
"href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgstr ""
|
||||
"Sì, è così. D'altra parte se vuoi sostenere lo sviluppatore, puoi farlo con "
|
||||
"<a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> o con <a href=\"https:"
|
||||
"//liberapay.com/sky/\">Liberapay</a>."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr ""
|
||||
"Hai chiesto di fare il download di un archivio zip che contiene troppi file."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Come opzione, puoi richiedere che le immagini inviate a Lutim siano "
|
||||
"cancellate alla prima visualizzazione (o download) o dopo il periodo scelto "
|
||||
"tra quelli proposti."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr "Ti sei connesso con successo."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr "Ti sei disconnesso con successo."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
msgstr "Aumenta lozoom/diminuisci lo zoom"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
msgstr "e su"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
msgstr "traduzione in arabo"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr "sviluppatore principale"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "nessun limite di tempo"
|
||||
|
||||
#: themes/default/templates/about.html.ep:38
|
||||
msgid "occitan translation"
|
||||
msgstr "traduzione in occitano"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "on"
|
||||
msgstr "su"
|
||||
|
||||
#: themes/default/templates/about.html.ep:39
|
||||
msgid "paste image to upload ability"
|
||||
msgstr "possibilità di incollare l'immagine per caricarla"
|
||||
|
||||
#: themes/default/templates/about.html.ep:41
|
||||
msgid "russian translation"
|
||||
msgstr "traduzione in russo"
|
||||
|
||||
#: themes/default/templates/about.html.ep:36
|
||||
msgid "spanish translation"
|
||||
msgstr "traduzione in spagnolo"
|
||||
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "sviluppatore della webapp"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "La durata dell’immagine è stata modificata con successo"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Per altre informazioni, vedi la <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">homepage del progetto</a>."
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Filigrana ripetuta"
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Filigrana semplice"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Nessuna filigrana"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:170 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:187 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr ""
|
||||
|
||||
@@ -28,31 +28,31 @@ msgstr ""
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:208
|
||||
#: themes/default/templates/index.html.ep:228
|
||||
msgid "-or-"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:347 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:346 lib/Lutim/Command/cron/stats.pm:155 lib/Lutim/Command/cron/stats.pm:169 lib/Lutim/Command/cron/stats.pm:186 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:180
|
||||
#: themes/default/templates/partial/myfiles.js.ep:210
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:151 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
#: lib/Lutim/Controller/Image.pm:329
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr ""
|
||||
|
||||
@@ -60,11 +60,11 @@ msgstr ""
|
||||
msgid "Archives download"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:135 themes/default/templates/stats.html.ep:25
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:129 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:211 themes/default/templates/index.html.ep:212
|
||||
#: themes/default/templates/index.html.ep:231 themes/default/templates/index.html.ep:232
|
||||
msgid "Click to open the file browser"
|
||||
msgstr ""
|
||||
|
||||
@@ -88,11 +88,11 @@ msgstr ""
|
||||
msgid "Copy all view links to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:103 themes/default/templates/index.html.ep:111 themes/default/templates/index.html.ep:18 themes/default/templates/index.html.ep:36 themes/default/templates/index.html.ep:54 themes/default/templates/index.html.ep:87 themes/default/templates/index.html.ep:95 themes/default/templates/myfiles.html.ep:104 themes/default/templates/myfiles.html.ep:68 themes/default/templates/myfiles.html.ep:86 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:142
|
||||
#: themes/default/templates/index.html.ep:105 themes/default/templates/index.html.ep:16 themes/default/templates/index.html.ep:32 themes/default/templates/index.html.ep:48 themes/default/templates/index.html.ep:81 themes/default/templates/index.html.ep:89 themes/default/templates/index.html.ep:97 themes/default/templates/myfiles.html.ep:66 themes/default/templates/myfiles.html.ep:82 themes/default/templates/myfiles.html.ep:98 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:172
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:123
|
||||
#: themes/default/templates/myfiles.html.ep:117
|
||||
msgid "Counter"
|
||||
msgstr ""
|
||||
|
||||
@@ -104,19 +104,19 @@ msgstr ""
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:133 themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196 themes/default/templates/myfiles.html.ep:124 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
#: themes/default/templates/index.html.ep:127 themes/default/templates/index.html.ep:159 themes/default/templates/index.html.ep:203 themes/default/templates/myfiles.html.ep:118 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:152 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:116 themes/default/templates/myfiles.html.ep:127 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
#: themes/default/templates/index.html.ep:110 themes/default/templates/myfiles.html.ep:121 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
msgstr ""
|
||||
|
||||
@@ -124,15 +124,15 @@ msgstr ""
|
||||
msgid "Download all images"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:99 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
#: themes/default/templates/index.html.ep:93 themes/default/templates/index.html.ep:95 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
msgid "Download link"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:28 themes/default/templates/index.html.ep:31 themes/default/templates/myfiles.html.ep:78 themes/default/templates/myfiles.html.ep:81
|
||||
#: themes/default/templates/index.html.ep:26 themes/default/templates/index.html.ep:28 themes/default/templates/myfiles.html.ep:76 themes/default/templates/myfiles.html.ep:78
|
||||
msgid "Download zip link"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:207
|
||||
#: themes/default/templates/index.html.ep:227
|
||||
msgid "Drag & drop images here"
|
||||
msgstr ""
|
||||
|
||||
@@ -140,11 +140,11 @@ msgstr ""
|
||||
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 ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:168 themes/default/templates/index.html.ep:199
|
||||
#: themes/default/templates/index.html.ep:162 themes/default/templates/index.html.ep:206
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:113
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:128
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr ""
|
||||
|
||||
@@ -152,27 +152,27 @@ msgstr ""
|
||||
msgid "Evolution of total files"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:126
|
||||
#: themes/default/templates/myfiles.html.ep:120
|
||||
msgid "Expires at"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:112
|
||||
#: themes/default/templates/myfiles.html.ep:106
|
||||
msgid "Export localStorage data"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:121
|
||||
#: themes/default/templates/myfiles.html.ep:115
|
||||
msgid "File name"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/luc/lutim\">homepage of the project</a>."
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:80
|
||||
#: themes/default/templates/partial/navbar.html.ep:66
|
||||
msgid "Fork me!"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:13 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:63
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:12 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:62
|
||||
msgid "Gallery link"
|
||||
msgstr ""
|
||||
|
||||
@@ -200,11 +200,11 @@ msgstr ""
|
||||
msgid "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:181 themes/default/templates/index.html.ep:221
|
||||
#: themes/default/templates/index.html.ep:188 themes/default/templates/index.html.ep:241
|
||||
msgid "Image URL"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr ""
|
||||
|
||||
@@ -212,15 +212,15 @@ msgstr ""
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
#: lib/Lutim/Controller/Image.pm:804
|
||||
msgid "Image not found."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:113
|
||||
#: themes/default/templates/myfiles.html.ep:107
|
||||
msgid "Import localStorage data"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:69
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Informations"
|
||||
msgstr ""
|
||||
|
||||
@@ -244,7 +244,7 @@ msgstr ""
|
||||
msgid "Juste like you pronounce the French word <a href=\"https://fr.wikipedia.org/wiki/Lutin\">lutin</a> (/ly.tɛ̃/)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:202
|
||||
#: themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:209
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr ""
|
||||
|
||||
@@ -252,15 +252,15 @@ msgstr ""
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:136 themes/default/templates/index.html.ep:184 themes/default/templates/index.html.ep:224 themes/default/templates/partial/lutim.js.ep:165
|
||||
#: themes/default/templates/index.html.ep:130 themes/default/templates/index.html.ep:191 themes/default/templates/index.html.ep:244 themes/default/templates/partial/lutim.js.ep:165
|
||||
msgid "Let's go!"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:74
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "License:"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:107 themes/default/templates/index.html.ep:109 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:103 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
msgid "Link for share on social networks"
|
||||
msgstr ""
|
||||
|
||||
@@ -284,11 +284,11 @@ msgstr ""
|
||||
msgid "Main developers"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:91 themes/default/templates/index.html.ep:93 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
#: themes/default/templates/index.html.ep:85 themes/default/templates/index.html.ep:87 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
msgid "Markdown syntax"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:149
|
||||
#: themes/default/templates/partial/myfiles.js.ep:179
|
||||
msgid "Modify expiration delay"
|
||||
msgstr ""
|
||||
|
||||
@@ -300,11 +300,15 @@ msgstr ""
|
||||
msgid "Next (arrow right)"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:105 themes/default/templates/partial/myfiles.js.ep:132
|
||||
#: themes/default/templates/partial/myfiles.js.ep:120 themes/default/templates/partial/myfiles.js.ep:162
|
||||
msgid "No limit"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:183 themes/default/templates/index.html.ep:216
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:190 themes/default/templates/index.html.ep:236
|
||||
msgid "Only images are allowed"
|
||||
msgstr ""
|
||||
|
||||
@@ -337,7 +341,7 @@ msgstr ""
|
||||
msgid "Previous (arrow left)"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:46 themes/default/templates/index.html.ep:49 themes/default/templates/myfiles.html.ep:96 themes/default/templates/myfiles.html.ep:99
|
||||
#: themes/default/templates/index.html.ep:42 themes/default/templates/index.html.ep:44 themes/default/templates/myfiles.html.ep:92 themes/default/templates/myfiles.html.ep:94
|
||||
msgid "Random image link"
|
||||
msgstr ""
|
||||
|
||||
@@ -349,7 +353,7 @@ msgstr ""
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
#: themes/default/templates/index.html.ep:183
|
||||
msgid "Send an image"
|
||||
msgstr ""
|
||||
|
||||
@@ -357,27 +361,19 @@ msgstr ""
|
||||
msgid "Signin"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:151 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:145 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr ""
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
#: lib/Lutim/Controller/Image.pm:811
|
||||
msgid "Something went wrong when creating the zip file. Try again later or contact the administrator (%1)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Support the author"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "Support the author on Liberapay"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "Support the author on Tipeee"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/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 ""
|
||||
@@ -386,7 +382,7 @@ msgstr ""
|
||||
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 ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
#: lib/Lutim/Controller/Image.pm:348
|
||||
msgid "The URL is not valid."
|
||||
msgstr ""
|
||||
|
||||
@@ -403,14 +399,14 @@ msgid "The delete token is invalid."
|
||||
msgstr ""
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
#: lib/Lutim/Controller/Image.pm:532
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr ""
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:312 lib/Lutim/Controller/Image.pm:381 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr ""
|
||||
|
||||
@@ -428,11 +424,7 @@ msgstr ""
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
#: themes/default/templates/index.html.ep:57
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr ""
|
||||
|
||||
@@ -440,15 +432,23 @@ msgstr ""
|
||||
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 ""
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
#: lib/Lutim/Controller/Image.pm:529
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr ""
|
||||
@@ -457,11 +457,11 @@ msgstr ""
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:78 themes/default/templates/partial/lutim.js.ep:17
|
||||
#: themes/default/templates/index.html.ep:72 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr ""
|
||||
|
||||
@@ -474,7 +474,7 @@ msgstr ""
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:665 lib/Lutim/Controller/Image.pm:706 lib/Lutim/Controller/Image.pm:749 lib/Lutim/Controller/Image.pm:761 lib/Lutim/Controller/Image.pm:773 lib/Lutim/Controller/Image.pm:801 lib/Lutim/Plugin/Helpers.pm:126
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr ""
|
||||
|
||||
@@ -486,11 +486,11 @@ msgstr ""
|
||||
msgid "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:180 themes/default/templates/index.html.ep:219
|
||||
#: themes/default/templates/index.html.ep:187 themes/default/templates/index.html.ep:239
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:125
|
||||
#: themes/default/templates/myfiles.html.ep:119
|
||||
msgid "Uploaded at"
|
||||
msgstr ""
|
||||
|
||||
@@ -499,11 +499,11 @@ msgid "Uploaded files by days"
|
||||
msgstr ""
|
||||
|
||||
#. ($c->app->config('contact')
|
||||
#: lib/Lutim/Plugin/Helpers.pm:221
|
||||
#: lib/Lutim/Plugin/Helpers.pm:261
|
||||
msgid "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/index.html.ep:83 themes/default/templates/index.html.ep:85 themes/default/templates/myfiles.html.ep:122 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
#: themes/default/templates/index.html.ep:77 themes/default/templates/index.html.ep:79 themes/default/templates/myfiles.html.ep:116 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
msgstr ""
|
||||
|
||||
@@ -559,7 +559,7 @@ msgstr ""
|
||||
msgid "core developer"
|
||||
msgstr ""
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:345 lib/Lutim/Command/cron/stats.pm:154 lib/Lutim/Command/cron/stats.pm:168 lib/Lutim/Command/cron/stats.pm:185 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -4,26 +4,27 @@
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Quentí, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:30+0000\n"
|
||||
"Last-Translator: Quentin PAGÈS <quentinantonin@free.fr>\n"
|
||||
"Language-Team: Occitan <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/oc/>\n"
|
||||
"Language: oc\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: Occitan (http://www.transifex.com/fiat-tux/lutim/language/oc/"
|
||||
")\n"
|
||||
"Language: oc\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 jorns"
|
||||
|
||||
@@ -36,27 +37,27 @@ msgstr "%1 imatges mandats sus aquesta instància dempuèi lo començament."
|
||||
msgid "-or-"
|
||||
msgstr "-o-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 an"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 oras"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:180
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr " : Error al moment de recuperar lo comptador."
|
||||
msgstr ": Error al moment de recuperar lo comptador."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:77
|
||||
msgid "About"
|
||||
msgstr "A prepaus"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Imatges actius"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Una error es apareguda pendent lo telecargament de l'imatge."
|
||||
|
||||
@@ -112,11 +113,11 @@ msgstr "Grafic de despartiment dels delais pels imatges activats"
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Suprimir al primièr accès ?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Imatges suprimits"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Imatges per èsser suprimits dins 30 jorns"
|
||||
|
||||
@@ -191,7 +192,7 @@ msgstr "Tustatz-me !"
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:13 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:63
|
||||
msgid "Gallery link"
|
||||
msgstr "Ligam cap a la galariá"
|
||||
msgstr "Ligam cap a la galariá"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:116 themes/default/templates/partial/common.js.ep:134
|
||||
msgid "Hit Ctrl+C, then Enter to copy the short link"
|
||||
@@ -225,7 +226,7 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "URL de l'imatge"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Delai de l'imatge"
|
||||
|
||||
@@ -233,7 +234,7 @@ msgstr "Delai de l'imatge"
|
||||
msgid "Image deleted"
|
||||
msgstr "Imatge suprimit"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Imatge pas trobat."
|
||||
|
||||
@@ -304,7 +305,7 @@ msgid ""
|
||||
"multiple URLs."
|
||||
msgstr ""
|
||||
"Lutim pòt pas comprimir tan d'imatge d'un còp, a doncas trocejat vòstra "
|
||||
"demanda en multiplas URLs"
|
||||
"demanda en multiplas URLs."
|
||||
|
||||
#: themes/default/templates/about.html.ep:4
|
||||
msgid ""
|
||||
@@ -409,7 +410,7 @@ msgid "Something bad happened"
|
||||
msgstr "Un problèma es aparegut"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -447,11 +448,11 @@ msgid ""
|
||||
"licenses/agpl-3.0.html\">AGPL</a> to see what you can do."
|
||||
msgstr ""
|
||||
"Lo logicial Lutim es un <a href=\"https://oc.wikipedia.org/wiki/"
|
||||
"Logicial_liure\">logicial liure</a>, que permet de lo telecargar e de "
|
||||
"l’installar sus vòstre pròpri servidor. Gaitatz l’<a href=\"https://www.gnu."
|
||||
"org/licenses/agpl-3.0.html\">AGPL</a> per veire que son vòstres dreits"
|
||||
"Logicial_liure\">logicial liure</a>, que permet de lo telecargar e de l’"
|
||||
"installar sus vòstre pròpri servidor. Gaitatz l’<a href=\"https://www.gnu."
|
||||
"org/licenses/agpl-3.0.html\">AGPL</a> per veire que son vòstres dreits."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "L'URL n'es pas valida."
|
||||
|
||||
@@ -467,19 +468,19 @@ msgstr ""
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "Las donadas son ben estadas importadas."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Lo geton de supression es invalid."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Lo fichièr %1 es pas un imatge."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Lo fichièr depassa lo limit de talha (%1)"
|
||||
|
||||
@@ -488,18 +489,14 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Las donadas del grafic son pas mesas a jorn en temps real."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "L'imatge %1 es ja estat suprimit."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "L'imatge %1 es estat suprimit amb succès."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Lo delai de l'imatge es plan estat modificat."
|
||||
msgstr "L'imatge %1 es estat suprimit amb succès"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
@@ -513,16 +510,20 @@ msgstr ""
|
||||
"Los imatges depausats sus Lutim pòdon èsser gardats sens fin, o s’escafar "
|
||||
"tre lo primièr afichatge o al cap d'un delai causit entre los prepausats."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Lo delai de l'imatge es plan estat modificat"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "I a XXXX imatge(s) dins la galariá"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"I a pas mai d'URL disponiblas. Mercés de tornar ensajar o de contactar "
|
||||
"l'administrator. %1."
|
||||
"l'administrator. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
@@ -532,7 +533,7 @@ msgstr "Passar al plen ecran"
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Passar en navigacion"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
@@ -545,15 +546,15 @@ msgid "Unable to copy to clipboard"
|
||||
msgstr "Fracàs de la còpia al quichapapièrs"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Impossible de trobar l'imatge %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Impossible de trobar l'imatge : es estat suprimit."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Impossible de recuperar lo comptador"
|
||||
|
||||
@@ -660,7 +661,7 @@ msgstr "traduccion en arabi"
|
||||
msgid "core developer"
|
||||
msgstr "desvolopaire màger"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "Pas cap de limitacion de durada"
|
||||
|
||||
@@ -687,3 +688,21 @@ msgstr "traduccion en espanhòl"
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "desvolopaire de la webapp"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Per mai de detalhs, consultatz la <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">pagina del projècte</a>."
|
||||
|
||||
#: themes/default/templates/index.html.ep:171 themes/default/templates/index.html.ep:215
|
||||
msgid "Tiling watermark"
|
||||
msgstr "Filigrana en teule"
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:218
|
||||
msgid "Single watermark"
|
||||
msgstr "Filigrana simpla"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Cap de filigrana"
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
# Luc Didry <luc@framasoft.org>, 2018. #zanata
|
||||
# Luc Didry <luc@framasoft.org>, 2019. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-06-16 20:24+0000\n"
|
||||
"Last-Translator: Konstantin Timashov <ktimashov@hse.ru>\n"
|
||||
"Language-Team: Russian <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/ru/>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2018-07-29 08:17+0000\n"
|
||||
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru\n"
|
||||
"X-Generator: Zanata 4.5.0\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
|
||||
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:147 lib/Lutim/Command/cron/stats.pm:148 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:162 lib/Lutim/Command/cron/stats.pm:178 lib/Lutim/Command/cron/stats.pm:179 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 дней"
|
||||
|
||||
@@ -31,11 +33,11 @@ msgstr "%1 изображений загружено в этот экземпл
|
||||
msgid "-or-"
|
||||
msgstr "-или-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:149 lib/Lutim/Command/cron/stats.pm:163 lib/Lutim/Command/cron/stats.pm:180 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 год"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:146 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:177 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 часа"
|
||||
|
||||
@@ -47,11 +49,11 @@ msgstr ": Error while trying to get the counter."
|
||||
msgid "About"
|
||||
msgstr "О Lutim"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:142 themes/default/templates/raw.html.ep:3
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Активные изображения"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:327
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Произошла ошибка при скачивании изображения."
|
||||
|
||||
@@ -81,7 +83,7 @@ msgstr "Участники"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Скопировано в буфер обмена"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
@@ -107,11 +109,11 @@ msgstr "Распределение сроков хранения доступн
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Удалить после первого просмотра?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:143 themes/default/templates/raw.html.ep:4
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Удалённые изображения"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:144 themes/default/templates/raw.html.ep:5
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "Удалить изображения через 30 дней"
|
||||
|
||||
@@ -219,15 +221,15 @@ msgstr ""
|
||||
msgid "Image URL"
|
||||
msgstr "URL изображения"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:141 themes/default/templates/raw.html.ep:2
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Срок хранения"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr ""
|
||||
msgstr "Изображение удалено"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:753
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Изображение не найдено."
|
||||
|
||||
@@ -285,11 +287,11 @@ msgstr "Ссылка для того, чтоб поделиться в соци
|
||||
|
||||
#: themes/default/templates/login.html.ep:8
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:33
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
msgstr "Выйти"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid ""
|
||||
@@ -357,7 +359,7 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "Пароль"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
@@ -387,7 +389,7 @@ msgstr "Сырые статистические данные"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
msgstr "Сохранить изменения"
|
||||
|
||||
#: themes/default/templates/index.html.ep:176
|
||||
msgid "Send an image"
|
||||
@@ -402,7 +404,7 @@ msgid "Something bad happened"
|
||||
msgstr "Произошло что-то плохое"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:760
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid ""
|
||||
"Something went wrong when creating the zip file. Try again later or contact "
|
||||
"the administrator (%1)."
|
||||
@@ -444,7 +446,7 @@ msgstr ""
|
||||
"сервер. Посмотрите <a href=\"https://www.gnu.org/licenses/agpl-3.0."
|
||||
"html\">AGPL</a>, чтоб увидеть, что вы можете делать."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:346
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "Недопустимый URL."
|
||||
|
||||
@@ -458,21 +460,21 @@ msgstr ""
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr ""
|
||||
msgstr "Данные были успешно импортированы."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:159 lib/Lutim/Controller/Image.pm:227
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Неправильный ключ для удаления."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:487
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Файл %1 — не изображение."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:310 lib/Lutim/Controller/Image.pm:379 themes/default/templates/partial/lutim.js.ep:249
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Размер файла превосходит ограничение (%1)"
|
||||
|
||||
@@ -481,19 +483,15 @@ msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Данные графиков не обновляются в реальном времени."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:229
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "Изображение %1 уже было удалено."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:238 lib/Lutim/Controller/Image.pm:243
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "Изображение %1 успешно удалено"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:167
|
||||
msgid "The image's delay has been successfully modified"
|
||||
msgstr "Срок хранения изображения успешно изменён"
|
||||
|
||||
#: themes/default/templates/index.html.ep:63
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr "Изображения зашифрованы на сервере (Lutim не хранит ключ)."
|
||||
@@ -507,12 +505,16 @@ msgstr ""
|
||||
"быть удалёнными после первого просмотра или по истечении определённого "
|
||||
"промежутка времени."
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:257
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Срок хранения изображения успешно изменён"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr ""
|
||||
msgstr "В галерее есть изображения для взрослых"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:484
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"Больше нет доступных URL. Попробуйте снова или свяжитесь с администратором. "
|
||||
@@ -526,7 +528,7 @@ msgstr "Переключить полноэкранный режим"
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Переключить навигацию"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:150 themes/default/templates/raw.html.ep:11
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Итого"
|
||||
|
||||
@@ -536,18 +538,18 @@ msgstr "Твитнуть!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr ""
|
||||
msgstr "Не удается скопировать в буфер обмена"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:107 lib/Lutim/Controller/Image.pm:201 lib/Lutim/Controller/Image.pm:272
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Невозможно найти изображение %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:573 lib/Lutim/Controller/Image.pm:618 lib/Lutim/Controller/Image.pm:657 lib/Lutim/Controller/Image.pm:700 lib/Lutim/Controller/Image.pm:712 lib/Lutim/Controller/Image.pm:723 lib/Lutim/Controller/Image.pm:750 lib/Lutim/Plugin/Helpers.pm:88
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Невозможно найти изображение: оно было удалено."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:144
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Невозможно получить счётчик"
|
||||
|
||||
@@ -631,11 +633,11 @@ msgstr ""
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr ""
|
||||
msgstr "Вы успешно вошли в учетную запись."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr ""
|
||||
msgstr "Вы успешно вышли из учетной записи."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
@@ -653,7 +655,7 @@ msgstr "арабский перевод"
|
||||
msgid "core developer"
|
||||
msgstr "разработчик ядра"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:145 lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:176 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "без ограничения времени"
|
||||
|
||||
@@ -680,3 +682,13 @@ msgstr "испанский перевод"
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "разработчик веб-приложения"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Чтоб узнать больше, посетите <a href=\"https://framagit.org/fiat-tux/"
|
||||
"hat-softwares/lutim\">главную страницу проекта</a>."
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:221
|
||||
msgid "No watermark"
|
||||
msgstr "Без водного знака"
|
||||
|
||||
627
themes/default/lib/Lutim/I18N/sv.po
Normal file
627
themes/default/lib/Lutim/I18N/sv.po
Normal file
@@ -0,0 +1,627 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2020-03-09 16:23+0000\n"
|
||||
"Last-Translator: Luc Didry <luc@framasoft.org>\n"
|
||||
"Language-Team: Swedish <https://weblate.framasoft.org/projects/lutim/"
|
||||
"default-theme/sv/>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.11.2\n"
|
||||
|
||||
#. (7)
|
||||
#. (30)
|
||||
#. ($delay)
|
||||
#. (config('max_delay')
|
||||
#: lib/Lutim/Command/cron/stats.pm:159 lib/Lutim/Command/cron/stats.pm:160 lib/Lutim/Command/cron/stats.pm:173 lib/Lutim/Command/cron/stats.pm:174 lib/Lutim/Command/cron/stats.pm:190 lib/Lutim/Command/cron/stats.pm:191 themes/default/templates/myfiles.html.ep:24 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:34 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/for_my_delay.html.ep:14 themes/default/templates/partial/for_my_delay.html.ep:4 themes/default/templates/partial/lutim.js.ep:140 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/lutim.js.ep:150 themes/default/templates/partial/raw.js.ep:23 themes/default/templates/partial/raw.js.ep:24 themes/default/templates/partial/raw.js.ep:6 themes/default/templates/partial/raw.js.ep:7 themes/default/templates/raw.html.ep:8 themes/default/templates/raw.html.ep:9
|
||||
msgid "%1 days"
|
||||
msgstr "%1 dagar"
|
||||
|
||||
#. ($total)
|
||||
#: themes/default/templates/stats.html.ep:2
|
||||
msgid "%1 sent images on this instance from beginning."
|
||||
msgstr "%1 bilder har skickats från den här instansen sedan starten."
|
||||
|
||||
#: themes/default/templates/index.html.ep:202
|
||||
msgid "-or-"
|
||||
msgstr "-eller-"
|
||||
|
||||
#: lib/Lutim.pm:350 lib/Lutim/Command/cron/stats.pm:161 lib/Lutim/Command/cron/stats.pm:175 lib/Lutim/Command/cron/stats.pm:192 themes/default/templates/index.html.ep:5 themes/default/templates/myfiles.html.ep:5 themes/default/templates/partial/raw.js.ep:25 themes/default/templates/partial/raw.js.ep:8 themes/default/templates/raw.html.ep:10
|
||||
msgid "1 year"
|
||||
msgstr "1 år"
|
||||
|
||||
#: lib/Lutim.pm:349 lib/Lutim/Command/cron/stats.pm:158 lib/Lutim/Command/cron/stats.pm:172 lib/Lutim/Command/cron/stats.pm:189 themes/default/templates/index.html.ep:4 themes/default/templates/myfiles.html.ep:33 themes/default/templates/myfiles.html.ep:4 themes/default/templates/partial/for_my_delay.html.ep:13 themes/default/templates/partial/lutim.js.ep:149 themes/default/templates/partial/raw.js.ep:22 themes/default/templates/partial/raw.js.ep:5 themes/default/templates/raw.html.ep:7
|
||||
msgid "24 hours"
|
||||
msgstr "24 timmar"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:210
|
||||
msgid ": Error while trying to get the counter."
|
||||
msgstr ": Kunde inte hämta räknaren."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:63
|
||||
msgid "About"
|
||||
msgstr "Om"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:154 themes/default/templates/raw.html.ep:3
|
||||
msgid "Active images"
|
||||
msgstr "Aktiva bilder"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:328
|
||||
msgid "An error occured while downloading the image."
|
||||
msgstr "Ett fel inträffade när bilden laddades ner."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:2
|
||||
msgid "Archives download"
|
||||
msgstr "Nerladdningsarkiv"
|
||||
|
||||
#: themes/default/templates/about.html.ep:44 themes/default/templates/myfiles.html.ep:129 themes/default/templates/stats.html.ep:25
|
||||
msgid "Back to homepage"
|
||||
msgstr "Tillbaka till hemsidan"
|
||||
|
||||
#: themes/default/templates/index.html.ep:205 themes/default/templates/index.html.ep:206
|
||||
msgid "Click to open the file browser"
|
||||
msgstr "Klicka för att öppna filhanteraren"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:51
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:29
|
||||
msgid "Close (Esc)"
|
||||
msgstr "Stäng (Esc)"
|
||||
|
||||
#: themes/default/templates/about.html.ep:30
|
||||
msgid "Contributors"
|
||||
msgstr "Bidragsgivare"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:113 themes/default/templates/partial/common.js.ep:93
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopierat till urklipp"
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:215 themes/default/templates/partial/lutim.js.ep:278 themes/default/templates/partial/lutim.js.ep:364
|
||||
msgid "Copy all view links to clipboard"
|
||||
msgstr "Kopiera alla visningslänkar till urklipp"
|
||||
|
||||
#: themes/default/templates/index.html.ep:105 themes/default/templates/index.html.ep:16 themes/default/templates/index.html.ep:32 themes/default/templates/index.html.ep:48 themes/default/templates/index.html.ep:81 themes/default/templates/index.html.ep:89 themes/default/templates/index.html.ep:97 themes/default/templates/myfiles.html.ep:66 themes/default/templates/myfiles.html.ep:82 themes/default/templates/myfiles.html.ep:98 themes/default/templates/partial/common.js.ep:186 themes/default/templates/partial/lutim.js.ep:106 themes/default/templates/partial/lutim.js.ep:121 themes/default/templates/partial/lutim.js.ep:80 themes/default/templates/partial/lutim.js.ep:92 themes/default/templates/partial/myfiles.js.ep:172
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Kopiera till urklipp"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:117
|
||||
msgid "Counter"
|
||||
msgstr "Räknare"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:18
|
||||
msgid "Delay repartition chart for disabled images"
|
||||
msgstr "Intervall för omfördelning av inaktiva bilder"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:15
|
||||
msgid "Delay repartition chart for enabled images"
|
||||
msgstr "Intervall för omfördelning av inaktiva bilder"
|
||||
|
||||
#: themes/default/templates/index.html.ep:127 themes/default/templates/index.html.ep:159 themes/default/templates/index.html.ep:190 themes/default/templates/myfiles.html.ep:118 themes/default/templates/myfiles.html.ep:45 themes/default/templates/partial/lutim.js.ep:161
|
||||
msgid "Delete at first view?"
|
||||
msgstr "Radera efter första visningen?"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:155 themes/default/templates/raw.html.ep:4
|
||||
msgid "Deleted images"
|
||||
msgstr "Raderade bilder"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:156 themes/default/templates/raw.html.ep:5
|
||||
msgid "Deleted images in 30 days"
|
||||
msgstr "30 dagars raderade bilder"
|
||||
|
||||
#: themes/default/templates/index.html.ep:110 themes/default/templates/myfiles.html.ep:121 themes/default/templates/partial/common.js.ep:178 themes/default/templates/partial/common.js.ep:181
|
||||
msgid "Deletion link"
|
||||
msgstr "Raderingslänk"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:10
|
||||
msgid "Download all images"
|
||||
msgstr "Ladda ner alla bilder"
|
||||
|
||||
#: themes/default/templates/index.html.ep:93 themes/default/templates/index.html.ep:95 themes/default/templates/partial/lutim.js.ep:102 themes/default/templates/partial/lutim.js.ep:98
|
||||
msgid "Download link"
|
||||
msgstr "Nerladdningslänk"
|
||||
|
||||
#: themes/default/templates/index.html.ep:26 themes/default/templates/index.html.ep:28 themes/default/templates/myfiles.html.ep:76 themes/default/templates/myfiles.html.ep:78
|
||||
msgid "Download zip link"
|
||||
msgstr "Nerladdningslänk (zip)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:201
|
||||
msgid "Drag & drop images here"
|
||||
msgstr "Drag och släpp bilder här"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Drag och släpp en bild i rutan eller använd det vanliga sättet att skicka "
|
||||
"filer. Lutim kommer då ge dig fyra länkar: en för att visa bilden, en annan "
|
||||
"för att ladda ner den, en för att använda på sociala nätverk och en sista "
|
||||
"för att radera bilden när du vill."
|
||||
|
||||
#: themes/default/templates/index.html.ep:162 themes/default/templates/index.html.ep:193
|
||||
msgid "Encrypt the image (Lutim does not keep the key)."
|
||||
msgstr "Kryptera bilden (Lutim behåller inte nyckeln)."
|
||||
|
||||
#: themes/default/templates/partial/lutim.js.ep:45 themes/default/templates/partial/myfiles.js.ep:128
|
||||
msgid "Error while trying to modify the image."
|
||||
msgstr "Ett fel inträffade när bilden redigerades."
|
||||
|
||||
#: themes/default/templates/stats.html.ep:10
|
||||
msgid "Evolution of total files"
|
||||
msgstr "Antal filer (totalt) över tid"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:120
|
||||
msgid "Expires at"
|
||||
msgstr "Förfaller"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:106
|
||||
msgid "Export localStorage data"
|
||||
msgstr "Exportera localStorage-data"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:115
|
||||
msgid "File name"
|
||||
msgstr "Filnamn"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/luc/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Se <a href=\"https://framagit.org/luc/lutim\">projektets hemsida</a> för mer "
|
||||
"information."
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:66
|
||||
msgid "Fork me!"
|
||||
msgstr "Grena mig!"
|
||||
|
||||
#: themes/default/templates/index.html.ep:10 themes/default/templates/index.html.ep:12 themes/default/templates/myfiles.html.ep:60 themes/default/templates/myfiles.html.ep:62
|
||||
msgid "Gallery link"
|
||||
msgstr "Länk till galleri"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:116 themes/default/templates/partial/common.js.ep:134
|
||||
msgid "Hit Ctrl+C, then Enter to copy the short link"
|
||||
msgstr "Tryck Ctrl+C och sedan Enter för att kopiera den nerkortade länken"
|
||||
|
||||
#: themes/default/templates/layouts/default.html.ep:47
|
||||
msgid "Homepage"
|
||||
msgstr "Hemsida"
|
||||
|
||||
#: themes/default/templates/about.html.ep:20
|
||||
msgid "How do you pronounce Lutim?"
|
||||
msgstr "Hur uttalar man Lutim?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:6
|
||||
msgid "How does it work?"
|
||||
msgstr "Hur fungerar det?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:18
|
||||
msgid "How to report an image?"
|
||||
msgstr "Kan jag anmäla en bild?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:14
|
||||
msgid "If the files are deleted if you ask it while posting it, their SHA512 footprint are retained."
|
||||
msgstr "Om du vill, kan bildernas SHA512-profil behållas när filerna raderats."
|
||||
|
||||
#: themes/default/templates/index.html.ep:175 themes/default/templates/index.html.ep:215
|
||||
msgid "Image URL"
|
||||
msgstr "Bildlänk"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:153 themes/default/templates/raw.html.ep:2
|
||||
msgid "Image delay"
|
||||
msgstr "Bildfördröjning"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:157
|
||||
msgid "Image deleted"
|
||||
msgstr "Bild raderad"
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:756
|
||||
msgid "Image not found."
|
||||
msgstr "Bilden kunde inte hittas."
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:107
|
||||
msgid "Import localStorage data"
|
||||
msgstr "Importera localStorage-data"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:55
|
||||
msgid "Informations"
|
||||
msgstr "Information"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:25
|
||||
msgid "Install webapp"
|
||||
msgstr "Installera webapp"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:21
|
||||
msgid "Instance's statistics"
|
||||
msgstr "Statistik för instansen"
|
||||
|
||||
#: themes/default/templates/about.html.ep:11
|
||||
msgid "Is it really anonymous?"
|
||||
msgstr "Är det verkligen anonymt?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:9
|
||||
msgid "Is it really free (as in free beer)?"
|
||||
msgstr "Är det verkligen gratis?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Precis som du uttalar ordet <a href=\"https://fr.wikipedia.org/wiki/Lutin\""
|
||||
">lutin</a> på franska ([ly.tɛ̃])."
|
||||
|
||||
#: themes/default/templates/index.html.ep:165 themes/default/templates/index.html.ep:196
|
||||
msgid "Keep EXIF tags"
|
||||
msgstr "Behåll EXIF-taggar"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:43
|
||||
msgid "Language"
|
||||
msgstr "Språk"
|
||||
|
||||
#: themes/default/templates/index.html.ep:130 themes/default/templates/index.html.ep:178 themes/default/templates/index.html.ep:218 themes/default/templates/partial/lutim.js.ep:165
|
||||
msgid "Let's go!"
|
||||
msgstr "Nu kör vi!"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:60
|
||||
msgid "License:"
|
||||
msgstr "Licens:"
|
||||
|
||||
#: themes/default/templates/index.html.ep:101 themes/default/templates/index.html.ep:103 themes/default/templates/partial/lutim.js.ep:112 themes/default/templates/partial/lutim.js.ep:116
|
||||
msgid "Link for share on social networks"
|
||||
msgstr "Länk för delning på sociala nätverk"
|
||||
|
||||
#: themes/default/templates/login.html.ep:8
|
||||
msgid "Login"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:33
|
||||
msgid "Logout"
|
||||
msgstr "Logga ut"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:7
|
||||
msgid "Lutim can't zip so many images at once, so it splitted your demand in multiple URLs."
|
||||
msgstr ""
|
||||
"Lutim kan inte komprimera så många bilder samtidigt, så de delades upp på "
|
||||
"flera länkar."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Lutim är en gratis och helt anonym bilddelningstjänst. Det är även namnet på "
|
||||
"den fria mjukvara som står bakom tjänsten."
|
||||
|
||||
#: themes/default/templates/about.html.ep:25
|
||||
msgid "Main developers"
|
||||
msgstr "Huvudutvecklare"
|
||||
|
||||
#: themes/default/templates/index.html.ep:85 themes/default/templates/index.html.ep:87 themes/default/templates/partial/lutim.js.ep:86 themes/default/templates/partial/lutim.js.ep:89
|
||||
msgid "Markdown syntax"
|
||||
msgstr "Markdown-syntax"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:179
|
||||
msgid "Modify expiration delay"
|
||||
msgstr "Ändra utgångsdatum"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:7 themes/default/templates/partial/navbar.html.ep:18
|
||||
msgid "My images"
|
||||
msgstr "Mina bilder"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:45
|
||||
msgid "Next (arrow right)"
|
||||
msgstr "Nästa (pil höger)"
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:120 themes/default/templates/partial/myfiles.js.ep:162
|
||||
msgid "No limit"
|
||||
msgstr "Ingen gräns"
|
||||
|
||||
#: themes/default/templates/index.html.ep:177 themes/default/templates/index.html.ep:210
|
||||
msgid "Only images are allowed"
|
||||
msgstr "Endast bilder tillåts"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:11
|
||||
msgid "Only the images sent with this browser will be listed here. The details are stored in localStorage: if you delete your localStorage data, you'll loose these details."
|
||||
msgstr ""
|
||||
"Det är bara de bilderna som laddats upp från den här webbläsaren som listas "
|
||||
"här. Informationen sparas i localStorage: om du raderar din localStorage-"
|
||||
"data kommer den här informationen försvinna."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Endast uppladdaren! (alltså, bara om han eller hon är bildernas enda "
|
||||
"upphovsrättsinnehavare innan uppladdningen)"
|
||||
|
||||
#: themes/default/templates/login.html.ep:12
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: themes/default/templates/zip.html.ep:12
|
||||
msgid "Please click on each URL to download the different zip files."
|
||||
msgstr "Klicka på respektive länk för att ladda ner de olika zip-filerna."
|
||||
|
||||
#. (config('contact')
|
||||
#: themes/default/templates/about.html.ep:19
|
||||
msgid "Please contact the administrator: %1"
|
||||
msgstr "Kontakta gärna administratören: %1"
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:36
|
||||
msgid "Please, check your credentials: unable to authenticate."
|
||||
msgstr "Kunde inte logga in dig, kontrollera gärna dina uppgifter."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:43
|
||||
msgid "Previous (arrow left)"
|
||||
msgstr "Föregående (pil vänster)"
|
||||
|
||||
#: themes/default/templates/index.html.ep:42 themes/default/templates/index.html.ep:44 themes/default/templates/myfiles.html.ep:92 themes/default/templates/myfiles.html.ep:94
|
||||
msgid "Random image link"
|
||||
msgstr "Slumpmässig bildlänk"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:22
|
||||
msgid "Raw stats"
|
||||
msgstr "Rå statistik"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:52
|
||||
msgid "Save changes"
|
||||
msgstr "Spara ändringar"
|
||||
|
||||
#: themes/default/templates/index.html.ep:170
|
||||
msgid "Send an image"
|
||||
msgstr "Skicka en bild"
|
||||
|
||||
#: themes/default/templates/login.html.ep:16 themes/default/templates/logout.html.ep:5 themes/default/templates/partial/navbar.html.ep:37
|
||||
msgid "Signin"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: themes/default/templates/index.html.ep:145 themes/default/templates/partial/gallery.js.ep:211 themes/default/templates/partial/lutim.js.ep:176
|
||||
msgid "Something bad happened"
|
||||
msgstr "Någonting har gått riktigt illa"
|
||||
|
||||
#. ($c->config('contact')
|
||||
#: lib/Lutim/Controller/Image.pm:763
|
||||
msgid "Something went wrong when creating the zip file. Try again later or contact the administrator (%1)."
|
||||
msgstr ""
|
||||
"Någonting gick snett när ZIP-arkivet skapades. Försök igen senare eller "
|
||||
"kontakta administratören (%1)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"IP-adressen som laddade upp bilden kommer sparas en tid som administratören "
|
||||
"bestämmer (för den officiella instansen, som drivs från Frankrike, är det "
|
||||
"ett år)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Lutim är en <a href=\"https://sv.wikipedia.org/wiki/Fri_programvara\">fri "
|
||||
"mjukvara</a>, vilket innebär att du kan ladda ner och installera den på din "
|
||||
"egen server. Ta en titt på licensen <a href=\"https://www.gnu.org/licenses/"
|
||||
"agpl-3.0.html\">AGPL</a> för att se vad du kan göra."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:347
|
||||
msgid "The URL is not valid."
|
||||
msgstr "Länken är ogiltig."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:16
|
||||
msgid "The automatic download process will open a tab in your browser for each link. You need to allow popups for Lutim."
|
||||
msgstr ""
|
||||
"Den automatiska nerladdningen kommer påbörjas i en ny flik för varje länk. "
|
||||
"Du måste tillåta att Lutim öppnar nya flikar."
|
||||
|
||||
#: themes/default/templates/partial/myfiles.js.ep:32
|
||||
msgid "The data has been successfully imported."
|
||||
msgstr "All data har importerats."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:160 lib/Lutim/Controller/Image.pm:228
|
||||
msgid "The delete token is invalid."
|
||||
msgstr "Raderings-token är ogiltig."
|
||||
|
||||
#. ($upload->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:488
|
||||
msgid "The file %1 is not an image."
|
||||
msgstr "Filen %1 är inte en bild."
|
||||
|
||||
#. ($tx->res->max_message_size)
|
||||
#. ($c->req->max_message_size)
|
||||
#. (config('max_file_size')
|
||||
#: lib/Lutim/Controller/Image.pm:311 lib/Lutim/Controller/Image.pm:380 themes/default/templates/partial/lutim.js.ep:249
|
||||
msgid "The file exceed the size limit (%1)"
|
||||
msgstr "Filen överskrider storleksgränsen (%1)"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:12
|
||||
msgid "The graph's datas are not updated in real-time."
|
||||
msgstr "Diagrammet uppdateras inte i realtid."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:230
|
||||
msgid "The image %1 has already been deleted."
|
||||
msgstr "Bilden %1 har redan raderats."
|
||||
|
||||
#. ($image->filename)
|
||||
#: lib/Lutim/Controller/Image.pm:239 lib/Lutim/Controller/Image.pm:244
|
||||
msgid "The image %1 has been successfully deleted"
|
||||
msgstr "Bilden %1 har raderats"
|
||||
|
||||
#: themes/default/templates/index.html.ep:57
|
||||
msgid "The images are encrypted on the server (Lutim does not keep the key)."
|
||||
msgstr "Bilderna krypteras på servern (Lutim behåller inte nyckeln)."
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Bilderna du laddar upp till Lutim kan sparas för alltid, raderas efter "
|
||||
"första visningen eller efter en förutbestämd tid."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:168
|
||||
msgid "The image’s delay has been successfully modified"
|
||||
msgstr "Bildens livstid har uppdaterats"
|
||||
|
||||
#: themes/default/templates/partial/gallery.js.ep:277
|
||||
msgid "There is XXXX image(s) in the gallery"
|
||||
msgstr "Det finns XXXX bilder i galleriet"
|
||||
|
||||
#. ($c->config->{contact})
|
||||
#: lib/Lutim/Controller/Image.pm:485
|
||||
msgid "There is no more available URL. Retry or contact the administrator. %1"
|
||||
msgstr ""
|
||||
"Det finns inga fler länkar att tillgå. Försök igen eller kontakta "
|
||||
"administratören. %1"
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:30
|
||||
msgid "Toggle fullscreen"
|
||||
msgstr "Växla mellan fullskärmsläge"
|
||||
|
||||
#: themes/default/templates/partial/navbar.html.ep:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Slå av eller på navigationsmenyn"
|
||||
|
||||
#: lib/Lutim/Command/cron/stats.pm:162 themes/default/templates/raw.html.ep:11
|
||||
msgid "Total"
|
||||
msgstr "Sammanlagt"
|
||||
|
||||
#: themes/default/templates/index.html.ep:72 themes/default/templates/partial/lutim.js.ep:17
|
||||
msgid "Tweet it!"
|
||||
msgstr "Twittra det!"
|
||||
|
||||
#: themes/default/templates/partial/common.js.ep:110 themes/default/templates/partial/common.js.ep:90
|
||||
msgid "Unable to copy to clipboard"
|
||||
msgstr "Kunde inte kopiera till urklipp"
|
||||
|
||||
#. ($short)
|
||||
#: lib/Lutim/Controller/Image.pm:108 lib/Lutim/Controller/Image.pm:202 lib/Lutim/Controller/Image.pm:273
|
||||
msgid "Unable to find the image %1."
|
||||
msgstr "Kunde inte hitta bilden %1."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:574 lib/Lutim/Controller/Image.pm:619 lib/Lutim/Controller/Image.pm:660 lib/Lutim/Controller/Image.pm:703 lib/Lutim/Controller/Image.pm:715 lib/Lutim/Controller/Image.pm:726 lib/Lutim/Controller/Image.pm:753 lib/Lutim/Plugin/Helpers.pm:88
|
||||
msgid "Unable to find the image: it has been deleted."
|
||||
msgstr "Kunde inte hitta bilden eftersom den har raderats."
|
||||
|
||||
#: lib/Lutim/Controller/Image.pm:145
|
||||
msgid "Unable to get counter"
|
||||
msgstr "Kunde inte ladda in räknaren"
|
||||
|
||||
#: themes/default/templates/about.html.ep:17
|
||||
msgid "Unlike many image sharing services, you don't give us rights on uploaded images."
|
||||
msgstr ""
|
||||
"Till skillnad från många andra bilddelningstjänster, ger du inte oss några "
|
||||
"rättigheter till de uppladdade bilderna."
|
||||
|
||||
#: themes/default/templates/index.html.ep:174 themes/default/templates/index.html.ep:213
|
||||
msgid "Upload an image with its URL"
|
||||
msgstr "Ladda upp en bild från en länk"
|
||||
|
||||
#: themes/default/templates/myfiles.html.ep:119
|
||||
msgid "Uploaded at"
|
||||
msgstr "Uppladdad"
|
||||
|
||||
#: themes/default/templates/stats.html.ep:6
|
||||
msgid "Uploaded files by days"
|
||||
msgstr "Uppladdade filer per dag"
|
||||
|
||||
#. ($c->app->config('contact')
|
||||
#: lib/Lutim/Plugin/Helpers.pm:221
|
||||
msgid "Uploading is currently disabled, please try later or contact the administrator (%1)."
|
||||
msgstr ""
|
||||
"Det går inte att ladda upp bilder för tillfället. Försök igen senare eller "
|
||||
"kontakta administratören (%1)."
|
||||
|
||||
#: themes/default/templates/index.html.ep:77 themes/default/templates/index.html.ep:79 themes/default/templates/myfiles.html.ep:116 themes/default/templates/partial/lutim.js.ep:72 themes/default/templates/partial/lutim.js.ep:76
|
||||
msgid "View link"
|
||||
msgstr "Visa länk"
|
||||
|
||||
#: themes/default/templates/about.html.ep:22
|
||||
msgid "What about the software which provides the service?"
|
||||
msgstr "Vilken mjukvara används av den här tjänsten?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:3
|
||||
msgid "What is Lutim?"
|
||||
msgstr "Vad är Lutim?"
|
||||
|
||||
#: themes/default/templates/about.html.ep:15
|
||||
msgid "Who owns rights on images uploaded on Lutim?"
|
||||
msgstr "Vem äger rättigheterna till de bilder som laddas upp med Lutim?"
|
||||
|
||||
#: themes/default/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 ""
|
||||
"Ja, det är det! Men, av juridiska skäl, sparas din IP-adress när du laddar "
|
||||
"upp en bild. Du behöver inte drabbas av panik för det – det är hur det "
|
||||
"vanligen görs på alla webbplatser som kan skicka filer!"
|
||||
|
||||
#: themes/default/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://www.tipeee.com/fiat-tux\">Tipeee</a> or via <a href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
msgstr ""
|
||||
"Ja, det är det! Men, å andra sidan, får du gärna stötta utvecklaren med en "
|
||||
"gåva via <a href=\"https://www.tipeee.com/fiat-tux\">Tipeee</a> eller <a "
|
||||
"href=\"https://liberapay.com/sky/\">Liberapay</a>."
|
||||
|
||||
#: themes/default/templates/zip.html.ep:6
|
||||
msgid "You asked to download a zip archive for too much files."
|
||||
msgstr "Du försökte ladda ner en zip-fil som innehöll för många filer."
|
||||
|
||||
#: themes/default/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 ""
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:27
|
||||
msgid "You have been successfully logged in."
|
||||
msgstr "Du har loggats in."
|
||||
|
||||
#: lib/Lutim/Controller/Authent.pm:66 themes/default/templates/logout.html.ep:3
|
||||
msgid "You have been successfully logged out."
|
||||
msgstr "Du har loggats ut."
|
||||
|
||||
#: themes/default/templates/gallery.html.ep:31
|
||||
msgid "Zoom in/out"
|
||||
msgstr "Zooma in eller ut"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "and on"
|
||||
msgstr "och på"
|
||||
|
||||
#: themes/default/templates/about.html.ep:40
|
||||
msgid "arabic translation"
|
||||
msgstr "översättning till arabiska"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "core developer"
|
||||
msgstr "huvudutvecklare"
|
||||
|
||||
#: lib/Lutim.pm:348 lib/Lutim/Command/cron/stats.pm:157 lib/Lutim/Command/cron/stats.pm:171 lib/Lutim/Command/cron/stats.pm:188 themes/default/templates/index.html.ep:3 themes/default/templates/myfiles.html.ep:3 themes/default/templates/partial/raw.js.ep:21 themes/default/templates/partial/raw.js.ep:4 themes/default/templates/raw.html.ep:6
|
||||
msgid "no time limit"
|
||||
msgstr "ingen tidsbegränsning"
|
||||
|
||||
#: themes/default/templates/about.html.ep:38
|
||||
msgid "occitan translation"
|
||||
msgstr "översättning till occitanska"
|
||||
|
||||
#: themes/default/templates/about.html.ep:27
|
||||
msgid "on"
|
||||
msgstr "på"
|
||||
|
||||
#: themes/default/templates/about.html.ep:39
|
||||
msgid "paste image to upload ability"
|
||||
msgstr ""
|
||||
|
||||
#: themes/default/templates/about.html.ep:41
|
||||
msgid "russian translation"
|
||||
msgstr "översättning till ryska"
|
||||
|
||||
#: themes/default/templates/about.html.ep:36
|
||||
msgid "spanish translation"
|
||||
msgstr "översättning till spanska"
|
||||
|
||||
#: themes/default/templates/about.html.ep:28
|
||||
msgid "webapp developer"
|
||||
msgstr "utvecklare av webbappen"
|
||||
|
||||
#: themes/default/templates/about.html.ep:24
|
||||
msgid "For more details, see the <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">homepage of the project</a>."
|
||||
msgstr ""
|
||||
"Se <a href=\"https://framagit.org/fiat-tux/hat-softwares/lutim\">projektets "
|
||||
"hemsida</a> för mer information."
|
||||
14
themes/default/public/css/common.min.css
vendored
14
themes/default/public/css/common.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -1,60 +1,70 @@
|
||||
/*!
|
||||
* Toastify js 1.2.0
|
||||
* https://github.com/apvarun/toastify-js
|
||||
* @license MIT licensed
|
||||
*
|
||||
* Copyright (C) 2018 Varun A P
|
||||
*/
|
||||
.toastify {
|
||||
padding: 12px 20px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
|
||||
background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
|
||||
background: linear-gradient(135deg, #73a5ff, #5477f5);
|
||||
position: fixed;
|
||||
opacity: 0;
|
||||
transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
max-width: calc(50% - 20px);
|
||||
}
|
||||
.toastify.on {
|
||||
opacity: 1;
|
||||
}
|
||||
.toast-close {
|
||||
opacity: 0.4;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.right {
|
||||
right: 15px;
|
||||
}
|
||||
.left {
|
||||
left: 15px;
|
||||
}
|
||||
.top {
|
||||
top: -150px;
|
||||
}
|
||||
.bottom {
|
||||
bottom: -150px;
|
||||
}
|
||||
.rounded {
|
||||
border-radius: 25px;
|
||||
}
|
||||
.avatar{
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
margin: 0 5px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
@media only screen and (max-width: 360px){
|
||||
.right, .left{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-width: fit-content;
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* Toastify js 1.4.0
|
||||
* https://github.com/apvarun/toastify-js
|
||||
* @license MIT licensed
|
||||
*
|
||||
* Copyright (C) 2018 Varun A P
|
||||
*/
|
||||
|
||||
.toastify {
|
||||
padding: 12px 20px;
|
||||
color: #ffffff;
|
||||
display: inline-block;
|
||||
box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);
|
||||
background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);
|
||||
background: linear-gradient(135deg, #73a5ff, #5477f5);
|
||||
position: fixed;
|
||||
opacity: 0;
|
||||
transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
max-width: calc(50% - 20px);
|
||||
z-index: 2147483647;
|
||||
}
|
||||
|
||||
.toastify.on {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.toast-close {
|
||||
opacity: 0.4;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.toastify-right {
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
.toastify-left {
|
||||
left: 15px;
|
||||
}
|
||||
|
||||
.toastify-top {
|
||||
top: -150px;
|
||||
}
|
||||
|
||||
.toastify-bottom {
|
||||
bottom: -150px;
|
||||
}
|
||||
|
||||
.toastify-rounded {
|
||||
border-radius: 25px;
|
||||
}
|
||||
|
||||
.toastify-avatar {
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
margin: 0 5px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 360px) {
|
||||
.toastify-right, .toastify-left {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-width: fit-content;
|
||||
}
|
||||
}
|
||||
@@ -203,6 +203,7 @@
|
||||
fd.append('crypt', ($("#crypt").prop('checked')) ? 1 : 0);
|
||||
fd.append('keep-exif', ($("#keep-exif").prop('checked')) ? 1 : 0);
|
||||
fd.append('delete-day', ($("#delete-day").val()));
|
||||
fd.append('watermark', ($("#watermark").val()));
|
||||
|
||||
widget.settings.onBeforeUpload.call(widget.element, widget.queuePos);
|
||||
|
||||
|
||||
1
themes/default/public/js/dmuploader.min.js
vendored
1
themes/default/public/js/dmuploader.min.js
vendored
@@ -11,6 +11,7 @@
|
||||
f.append('format', 'json');
|
||||
f.append('first-view', ($("#first-view").prop('checked')) ? 1 : 0);
|
||||
f.append('delete-day', ($("#delete-day").val()));
|
||||
f.append('watermark', ($("#watermark").val()));
|
||||
f.append('crypt', ($("#crypt").prop('checked')) ? 1 : 0);
|
||||
f.append('keep-exif', ($("#keep-exif").prop('checked')) ? 1 : 0);
|
||||
h.settings.onBeforeUpload.call(h.element,h.queuePos);h.queueRunning=true;c.ajax({url:h.settings.url,type:h.settings.method,dataType:h.settings.dataType,data:f,cache:false,contentType:false,processData:false,forceSync:false,xhr:function(){var i=c.ajaxSettings.xhr();if(i.upload){i.upload.addEventListener("progress",function(m){var l=0;var j=m.loaded||m.position;var k=m.total||e.totalSize;if(m.lengthComputable){l=Math.ceil(j/k*100)}h.settings.onUploadProgress.call(h.element,h.queuePos,l)},false)}return i},success:function(j,i,k){h.settings.onUploadSuccess.call(h.element,h.queuePos,j)},error:function(k,i,j){h.settings.onUploadError.call(h.element,h.queuePos,j)},complete:function(i,j){h.processQueue()}})};c.fn.dmUploader=function(f){return this.each(function(){if(!c.data(this,b)){c.data(this,b,new a(this,f))}})};c(document).on("dragenter",function(f){f.stopPropagation();f.preventDefault()});c(document).on("dragover",function(f){f.stopPropagation();f.preventDefault()});c(document).on("drop",function(f){f.stopPropagation();f.preventDefault()})})(jQuery);
|
||||
|
||||
@@ -109,6 +109,7 @@ $('document').ready(function() {
|
||||
$('#json-import').on('click', function() { $('#import').click(); });
|
||||
$('#import').on('change', function() { importStorage(this.files); })
|
||||
$('#mod-delay').on('click', modifyDelay);
|
||||
$('#check-all').on('click', checkAll)
|
||||
}
|
||||
$('.copy-to-clipboard-link').on('click', clickOnCopyLink);
|
||||
$('.copy-all-to-clipboard-link').on('click', copyAllToClipboard);
|
||||
|
||||
@@ -1,315 +1,319 @@
|
||||
/*!
|
||||
* Toastify js 1.2.0
|
||||
* https://github.com/apvarun/toastify-js
|
||||
* @license MIT licensed
|
||||
*
|
||||
* Copyright (C) 2018 Varun A P
|
||||
*/
|
||||
;
|
||||
(function (root, factory) {
|
||||
if(typeof module === "object" && module.exports) {
|
||||
require('./toastify.css');
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.Toastify = factory();
|
||||
}
|
||||
}(this, function (global) {
|
||||
|
||||
// Object initialization
|
||||
var Toastify = function (options) {
|
||||
|
||||
// Returning a new init object
|
||||
return new Toastify.lib.init(options);
|
||||
},
|
||||
// Library version
|
||||
version = "1.2.0";
|
||||
|
||||
// Defining the prototype of the object
|
||||
Toastify.lib = Toastify.prototype = {
|
||||
|
||||
toastify: version,
|
||||
|
||||
constructor: Toastify,
|
||||
|
||||
// Initializing the object with required parameters
|
||||
init: function (options) {
|
||||
|
||||
// Verifying and validating the input object
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
// Creating the options object
|
||||
this.options = {};
|
||||
|
||||
// Validating the options
|
||||
this.options.text = options.text || 'Hi there!'; // Display message
|
||||
this.options.duration = options.duration || 3000; // Display duration
|
||||
this.options.selector = options.selector; // Parent selector
|
||||
this.options.callback = options.callback || function () { }; // Callback after display
|
||||
this.options.destination = options.destination; // On-click destination
|
||||
this.options.newWindow = options.newWindow || false; // Open destination in new window
|
||||
this.options.close = options.close || false; // Show toast close icon
|
||||
this.options.gravity = (options.gravity == "bottom") ? "bottom" : "top"; // toast position - top or bottom
|
||||
this.options.positionLeft = options.positionLeft || false; // toast position - left or right
|
||||
this.options.backgroundColor = options.backgroundColor || "linear-gradient(135deg, #73a5ff, #5477f5)"; // toast position - left or right
|
||||
this.options.avatar = options.avatar || ""; // toast position - left or right
|
||||
|
||||
// Returning the current object for chaining functions
|
||||
return this;
|
||||
},
|
||||
|
||||
// Building the DOM element
|
||||
buildToast: function () {
|
||||
|
||||
// Validating if the options are defined
|
||||
if (!this.options) {
|
||||
throw "Toastify is not initialized";
|
||||
}
|
||||
|
||||
// Creating the DOM object
|
||||
var divElement = document.createElement("div");
|
||||
divElement.className = 'toastify on';
|
||||
|
||||
// Positioning toast to left or right
|
||||
if (this.options.positionLeft === true) {
|
||||
divElement.className += " left";
|
||||
} else {
|
||||
divElement.className += " right";
|
||||
}
|
||||
|
||||
// Assigning gravity of element
|
||||
divElement.className += " " + this.options.gravity;
|
||||
|
||||
divElement.style.background = this.options.backgroundColor;
|
||||
|
||||
// Adding the toast message
|
||||
divElement.innerHTML = this.options.text;
|
||||
|
||||
if (this.options.avatar !== "") {
|
||||
var avatarElement = document.createElement("img");
|
||||
avatarElement.src = this.options.avatar;
|
||||
|
||||
avatarElement.className = "avatar";
|
||||
|
||||
if (this.options.positionLeft === true) {
|
||||
|
||||
// Adding close icon on the left of content
|
||||
divElement.appendChild(avatarElement);
|
||||
|
||||
} else {
|
||||
|
||||
// Adding close icon on the right of content
|
||||
divElement.insertAdjacentElement('beforeend', avatarElement);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Adding a close icon to the toast
|
||||
if (this.options.close === true) {
|
||||
|
||||
// Create a span for close element
|
||||
var closeElement = document.createElement("span");
|
||||
closeElement.innerHTML = "✖";
|
||||
|
||||
closeElement.className = 'toast-close';
|
||||
|
||||
// Triggering the removal of toast from DOM on close click
|
||||
closeElement.addEventListener('click', function (event) {
|
||||
|
||||
event.stopPropagation();
|
||||
this.removeElement(event.target.parentElement);
|
||||
window.clearTimeout(event.target.parentElement.timeOutValue);
|
||||
|
||||
}.bind(this));
|
||||
|
||||
//Calculating screen width
|
||||
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
|
||||
|
||||
// Adding the close icon to the toast element
|
||||
// Display on the right if screen width is less than or equal to 360px
|
||||
if (this.options.positionLeft === true && width > 360) {
|
||||
|
||||
// Adding close icon on the left of content
|
||||
divElement.insertAdjacentElement('afterbegin', closeElement);
|
||||
|
||||
} else {
|
||||
|
||||
// Adding close icon on the right of content
|
||||
divElement.appendChild(closeElement);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Adding an on-click destination path
|
||||
if (typeof this.options.destination !== 'undefined') {
|
||||
|
||||
divElement.addEventListener('click', function (event) {
|
||||
|
||||
event.stopPropagation();
|
||||
if(this.options.newWindow === true){
|
||||
window.open(this.options.destination, '_blank')
|
||||
} else {
|
||||
window.location = this.options.destination;
|
||||
}
|
||||
|
||||
}.bind(this));
|
||||
|
||||
}
|
||||
|
||||
// Returning the generated element
|
||||
return divElement;
|
||||
},
|
||||
|
||||
// Displaying the toast
|
||||
showToast: function () {
|
||||
|
||||
// Creating the DOM object for the toast
|
||||
var toastElement = this.buildToast();
|
||||
|
||||
// Getting the root element to with the toast needs to be added
|
||||
var rootElement;
|
||||
if (typeof this.options.selector === "undefined") {
|
||||
rootElement = document.body;
|
||||
} else {
|
||||
rootElement = document.getElementById(this.options.selector);
|
||||
}
|
||||
|
||||
// Validating if root element is present in DOM
|
||||
if (!rootElement) {
|
||||
throw "Root element is not defined";
|
||||
}
|
||||
|
||||
// Adding the DOM element
|
||||
rootElement.insertBefore(toastElement, rootElement.firstChild);
|
||||
|
||||
// Repositioning the toasts in case multiple toasts are present
|
||||
Toastify.reposition();
|
||||
|
||||
toastElement.timeOutValue = window.setTimeout(function () {
|
||||
|
||||
// Remove the toast from DOM
|
||||
this.removeElement(toastElement);
|
||||
|
||||
}.bind(this), this.options.duration); // Binding `this` for function invocation
|
||||
|
||||
// Supporting function chaining
|
||||
return this;
|
||||
|
||||
},
|
||||
|
||||
// Removing the element from the DOM
|
||||
removeElement: function (toastElement) {
|
||||
|
||||
// Hiding the element
|
||||
// toastElement.classList.remove("on");
|
||||
toastElement.className = toastElement.className.replace(" on","");
|
||||
|
||||
// Removing the element from DOM after transition end
|
||||
window.setTimeout(function () {
|
||||
|
||||
// Remove the elemenf from the DOM
|
||||
toastElement.parentNode.removeChild(toastElement);
|
||||
|
||||
// Calling the callback function
|
||||
this.options.callback.call(toastElement);
|
||||
|
||||
// Repositioning the toasts again
|
||||
Toastify.reposition();
|
||||
|
||||
}.bind(this), 400); // Binding `this` for function invocation
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Positioning the toasts on the DOM
|
||||
Toastify.reposition = function () {
|
||||
|
||||
// Top margins with gravity
|
||||
var topLeftOffsetSize = {
|
||||
top: 15,
|
||||
bottom: 15
|
||||
};
|
||||
var topRightOffsetSize = {
|
||||
top: 15,
|
||||
bottom: 15
|
||||
};
|
||||
var offsetSize = {
|
||||
top: 15,
|
||||
bottom: 15
|
||||
};
|
||||
|
||||
// Get all toast messages on the DOM
|
||||
var allToasts = document.getElementsByClassName('toastify');
|
||||
|
||||
var classUsed;
|
||||
|
||||
// Modifying the position of each toast element
|
||||
for (var i = 0; i < allToasts.length; i++) {
|
||||
|
||||
// Getting the applied gravity
|
||||
if (containsClass(allToasts[i], 'top') === true) {
|
||||
classUsed = "top";
|
||||
} else {
|
||||
classUsed = "bottom";
|
||||
}
|
||||
|
||||
var height = allToasts[i].offsetHeight;
|
||||
|
||||
// Spacing between toasts
|
||||
var offset = 15;
|
||||
|
||||
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
|
||||
|
||||
// Show toast in center if screen with less than or qual to 360px
|
||||
if (width <= 360) {
|
||||
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = offsetSize[classUsed] + 'px';
|
||||
|
||||
offsetSize[classUsed] += height + offset;
|
||||
|
||||
} else {
|
||||
|
||||
if (containsClass(allToasts[i], 'left') === true) {
|
||||
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + 'px';
|
||||
|
||||
topLeftOffsetSize[classUsed] += height + offset;
|
||||
|
||||
} else {
|
||||
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + 'px';
|
||||
|
||||
topRightOffsetSize[classUsed] += height + offset;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Supporting function chaining
|
||||
return this;
|
||||
}
|
||||
|
||||
function containsClass(elem, yourClass) {
|
||||
if(!elem || typeof yourClass !== 'string') {
|
||||
return false;
|
||||
} else if(elem.className && elem.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Setting up the prototype for the init object
|
||||
Toastify.lib.init.prototype = Toastify.lib;
|
||||
|
||||
// Returning the Toastify function to be assigned to the window object/module
|
||||
return Toastify;
|
||||
|
||||
}));
|
||||
/*!
|
||||
* Toastify js 1.4.0
|
||||
* https://github.com/apvarun/toastify-js
|
||||
* @license MIT licensed
|
||||
*
|
||||
* Copyright (C) 2018 Varun A P
|
||||
*/
|
||||
(function(root, factory) {
|
||||
if (typeof module === "object" && module.exports) {
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.Toastify = factory();
|
||||
}
|
||||
})(this, function(global) {
|
||||
// Object initialization
|
||||
var Toastify = function(options) {
|
||||
// Returning a new init object
|
||||
return new Toastify.lib.init(options);
|
||||
},
|
||||
// Library version
|
||||
version = "1.4.0";
|
||||
|
||||
// Defining the prototype of the object
|
||||
Toastify.lib = Toastify.prototype = {
|
||||
toastify: version,
|
||||
|
||||
constructor: Toastify,
|
||||
|
||||
// Initializing the object with required parameters
|
||||
init: function(options) {
|
||||
// Verifying and validating the input object
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
// Creating the options object
|
||||
this.options = {};
|
||||
|
||||
// Validating the options
|
||||
this.options.text = options.text || "Hi there!"; // Display message
|
||||
this.options.duration = options.duration || 3000; // Display duration
|
||||
this.options.selector = options.selector; // Parent selector
|
||||
this.options.callback = options.callback || function() {}; // Callback after display
|
||||
this.options.destination = options.destination; // On-click destination
|
||||
this.options.newWindow = options.newWindow || false; // Open destination in new window
|
||||
this.options.close = options.close || false; // Show toast close icon
|
||||
this.options.gravity = options.gravity == "bottom" ? "toastify-bottom" : "toastify-top"; // toast position - top or bottom
|
||||
this.options.positionLeft = options.positionLeft || false; // toast position - left or right
|
||||
this.options.backgroundColor = options.backgroundColor; // toast background color
|
||||
this.options.avatar = options.avatar || ""; // img element src - url or a path
|
||||
this.options.className = options.className || ""; // additional class names for the toast
|
||||
this.options.stopOnFocus = options.stopOnFocus || true; // stop timeout on focus
|
||||
|
||||
// Returning the current object for chaining functions
|
||||
return this;
|
||||
},
|
||||
|
||||
// Building the DOM element
|
||||
buildToast: function() {
|
||||
// Validating if the options are defined
|
||||
if (!this.options) {
|
||||
throw "Toastify is not initialized";
|
||||
}
|
||||
|
||||
// Creating the DOM object
|
||||
var divElement = document.createElement("div");
|
||||
divElement.className = "toastify on " + this.options.className;
|
||||
|
||||
// Positioning toast to left or right
|
||||
if (this.options.positionLeft === true) {
|
||||
divElement.className += " toastify-left";
|
||||
} else {
|
||||
divElement.className += " toastify-right";
|
||||
}
|
||||
|
||||
// Assigning gravity of element
|
||||
divElement.className += " " + this.options.gravity;
|
||||
|
||||
if (this.options.backgroundColor) {
|
||||
divElement.style.background = this.options.backgroundColor;
|
||||
}
|
||||
|
||||
// Adding the toast message
|
||||
divElement.innerHTML = this.options.text;
|
||||
|
||||
if (this.options.avatar !== "") {
|
||||
var avatarElement = document.createElement("img");
|
||||
avatarElement.src = this.options.avatar;
|
||||
|
||||
avatarElement.className = "toastify-avatar";
|
||||
|
||||
if (this.options.positionLeft === true) {
|
||||
// Adding close icon on the left of content
|
||||
divElement.appendChild(avatarElement);
|
||||
} else {
|
||||
// Adding close icon on the right of content
|
||||
divElement.insertAdjacentElement("beforeend", avatarElement);
|
||||
}
|
||||
}
|
||||
|
||||
// Adding a close icon to the toast
|
||||
if (this.options.close === true) {
|
||||
// Create a span for close element
|
||||
var closeElement = document.createElement("span");
|
||||
closeElement.innerHTML = "✖";
|
||||
|
||||
closeElement.className = "toast-close";
|
||||
|
||||
// Triggering the removal of toast from DOM on close click
|
||||
closeElement.addEventListener(
|
||||
"click",
|
||||
function(event) {
|
||||
event.stopPropagation();
|
||||
this.removeElement(event.target.parentElement);
|
||||
window.clearTimeout(event.target.parentElement.timeOutValue);
|
||||
}.bind(this)
|
||||
);
|
||||
|
||||
// Clear timeout while toast is focused
|
||||
if (this.options.stopOnFocus) {
|
||||
const self = this;
|
||||
// stop countdown
|
||||
divElement.addEventListener(
|
||||
"mouseover",
|
||||
function(event) {
|
||||
window.clearTimeout(event.target.timeOutValue);
|
||||
}
|
||||
)
|
||||
// add back the timeout
|
||||
divElement.addEventListener(
|
||||
"mouseleave",
|
||||
function() {
|
||||
divElement.timeOutValue = window.setTimeout(
|
||||
function() {
|
||||
// Remove the toast from DOM
|
||||
self.removeElement(divElement);
|
||||
},
|
||||
self.options.duration
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
//Calculating screen width
|
||||
var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
|
||||
|
||||
// Adding the close icon to the toast element
|
||||
// Display on the right if screen width is less than or equal to 360px
|
||||
if (this.options.positionLeft === true && width > 360) {
|
||||
// Adding close icon on the left of content
|
||||
divElement.insertAdjacentElement("afterbegin", closeElement);
|
||||
} else {
|
||||
// Adding close icon on the right of content
|
||||
divElement.appendChild(closeElement);
|
||||
}
|
||||
}
|
||||
|
||||
// Adding an on-click destination path
|
||||
if (typeof this.options.destination !== "undefined") {
|
||||
divElement.addEventListener(
|
||||
"click",
|
||||
function(event) {
|
||||
event.stopPropagation();
|
||||
if (this.options.newWindow === true) {
|
||||
window.open(this.options.destination, "_blank");
|
||||
} else {
|
||||
window.location = this.options.destination;
|
||||
}
|
||||
}.bind(this)
|
||||
);
|
||||
}
|
||||
|
||||
// Returning the generated element
|
||||
return divElement;
|
||||
},
|
||||
|
||||
// Displaying the toast
|
||||
showToast: function() {
|
||||
// Creating the DOM object for the toast
|
||||
var toastElement = this.buildToast();
|
||||
|
||||
// Getting the root element to with the toast needs to be added
|
||||
var rootElement;
|
||||
if (typeof this.options.selector === "undefined") {
|
||||
rootElement = document.body;
|
||||
} else {
|
||||
rootElement = document.getElementById(this.options.selector);
|
||||
}
|
||||
|
||||
// Validating if root element is present in DOM
|
||||
if (!rootElement) {
|
||||
throw "Root element is not defined";
|
||||
}
|
||||
|
||||
// Adding the DOM element
|
||||
rootElement.insertBefore(toastElement, rootElement.firstChild);
|
||||
|
||||
// Repositioning the toasts in case multiple toasts are present
|
||||
Toastify.reposition();
|
||||
|
||||
toastElement.timeOutValue = window.setTimeout(
|
||||
function() {
|
||||
// Remove the toast from DOM
|
||||
this.removeElement(toastElement);
|
||||
}.bind(this),
|
||||
this.options.duration
|
||||
); // Binding `this` for function invocation
|
||||
|
||||
// Supporting function chaining
|
||||
return this;
|
||||
},
|
||||
|
||||
// Removing the element from the DOM
|
||||
removeElement: function(toastElement) {
|
||||
// Hiding the element
|
||||
// toastElement.classList.remove("on");
|
||||
toastElement.className = toastElement.className.replace(" on", "");
|
||||
|
||||
// Removing the element from DOM after transition end
|
||||
window.setTimeout(
|
||||
function() {
|
||||
// Remove the elemenf from the DOM
|
||||
toastElement.parentNode.removeChild(toastElement);
|
||||
|
||||
// Calling the callback function
|
||||
this.options.callback.call(toastElement);
|
||||
|
||||
// Repositioning the toasts again
|
||||
Toastify.reposition();
|
||||
}.bind(this),
|
||||
400
|
||||
); // Binding `this` for function invocation
|
||||
},
|
||||
};
|
||||
|
||||
// Positioning the toasts on the DOM
|
||||
Toastify.reposition = function() {
|
||||
// Top margins with gravity
|
||||
var topLeftOffsetSize = {
|
||||
top: 15,
|
||||
bottom: 15,
|
||||
};
|
||||
var topRightOffsetSize = {
|
||||
top: 15,
|
||||
bottom: 15,
|
||||
};
|
||||
var offsetSize = {
|
||||
top: 15,
|
||||
bottom: 15,
|
||||
};
|
||||
|
||||
// Get all toast messages on the DOM
|
||||
var allToasts = document.getElementsByClassName("toastify");
|
||||
|
||||
var classUsed;
|
||||
|
||||
// Modifying the position of each toast element
|
||||
for (var i = 0; i < allToasts.length; i++) {
|
||||
// Getting the applied gravity
|
||||
if (containsClass(allToasts[i], "toastify-top") === true) {
|
||||
classUsed = "toastify-top";
|
||||
} else {
|
||||
classUsed = "toastify-bottom";
|
||||
}
|
||||
|
||||
var height = allToasts[i].offsetHeight;
|
||||
classUsed = classUsed.substr(9, classUsed.length-1)
|
||||
// Spacing between toasts
|
||||
var offset = 15;
|
||||
|
||||
var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
|
||||
|
||||
// Show toast in center if screen with less than or qual to 360px
|
||||
if (width <= 360) {
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = offsetSize[classUsed] + "px";
|
||||
|
||||
offsetSize[classUsed] += height + offset;
|
||||
} else {
|
||||
if (containsClass(allToasts[i], "toastify-left") === true) {
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px";
|
||||
|
||||
topLeftOffsetSize[classUsed] += height + offset;
|
||||
} else {
|
||||
// Setting the position
|
||||
allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px";
|
||||
|
||||
topRightOffsetSize[classUsed] += height + offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Supporting function chaining
|
||||
return this;
|
||||
};
|
||||
|
||||
function containsClass(elem, yourClass) {
|
||||
if (!elem || typeof yourClass !== "string") {
|
||||
return false;
|
||||
} else if (
|
||||
elem.className &&
|
||||
elem.className
|
||||
.trim()
|
||||
.split(/\s+/gi)
|
||||
.indexOf(yourClass) > -1
|
||||
) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Setting up the prototype for the init object
|
||||
Toastify.lib.init.prototype = Toastify.lib;
|
||||
|
||||
// Returning the Toastify function to be assigned to the window object/module
|
||||
return Toastify;
|
||||
});
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<p><%== l('Juste like you pronounce the French word <a href="https://fr.wikipedia.org/wiki/Lutin">lutin</a> (/ly.tɛ̃/).') %></p>
|
||||
<h4><%= l('What about the software which provides the service?') %></h4>
|
||||
<p><%== l('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.') %></p>
|
||||
<p><%== l('For more details, see the <a href="https://framagit.org/luc/lutim">homepage of the project</a>.') %></p>
|
||||
<p><%== l('For more details, see the <a href="https://framagit.org/fiat-tux/hat-softwares/lutim">homepage of the project</a>.') %></p>
|
||||
<h4><%= l('Main developers') %></h4>
|
||||
<ul>
|
||||
<li>Luc Didry, aka Sky (<a href="https://fiat-tux.fr">https://fiat-tux.fr</a>), <%= l('core developer') %>, @framasky <%= l('on') %> <a href="https://framasphere.org/people/b13eb6b0beac0131e7e32a0000053625">Diaspora*</a> <%= l('and on') %> <a href="https://framapiaf.org/@framasky">Mastodon</a></li>
|
||||
|
||||
@@ -9,11 +9,9 @@
|
||||
<div class="form-group">
|
||||
<label for="gallery-url-input"><%= l('Gallery link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="gallery-url-link" href="#" target="_blank" title="<%= l('Gallery link') %>">
|
||||
<span class="icon icon-picture"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="gallery-url-link" href="#" target="_blank" title="<%= l('Gallery link') %>">
|
||||
<span class="icon icon-picture"></span>
|
||||
</a>
|
||||
<input class="form-control" name="gallery-url-input" type="text" id="gallery-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -27,11 +25,9 @@
|
||||
<div class="form-group">
|
||||
<label for="zip-url-input"><%= l('Download zip link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="zip-url-link" href="#" target="_blank" title="<%= l('Download zip link') %>">
|
||||
<span class="icon icon-file-archive"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="zip-url-link" href="#" target="_blank" title="<%= l('Download zip link') %>">
|
||||
<span class="icon icon-file-archive"></span>
|
||||
</a>
|
||||
<input class="form-control" name="zip-url-input" type="text" id="zip-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -45,11 +41,9 @@
|
||||
<div class="form-group">
|
||||
<label for="random-url-input"><%= l('Random image link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="random-url-link" href="#" target="_blank" title="<%= l('Random image link') %>">
|
||||
<span class="icon icon-shuffle"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="random-url-link" href="#" target="_blank" title="<%= l('Random image link') %>">
|
||||
<span class="icon icon-shuffle"></span>
|
||||
</a>
|
||||
<input class="form-control" name="random-url-input" type="text" id="random-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -171,6 +165,19 @@
|
||||
<input type="checkbox" name="keep-exif"> <%= l('Keep EXIF tags') %>
|
||||
</label>
|
||||
</div>
|
||||
% if ($c->config('watermark_path') && $c->config('watermark_enforce') eq 'none') {
|
||||
<select name="watermark" class="form-control">
|
||||
<option value="tiling" <%== is_wm_selected('tiling') %>>
|
||||
<%= l('Tiling watermark') %>
|
||||
</option>
|
||||
<option value="single" <%== is_wm_selected('single') %>>
|
||||
<%= l('Single watermark') %>
|
||||
</option>
|
||||
<option value="none" <%== is_wm_selected('none') %>>
|
||||
<%= l('No watermark') %>
|
||||
</option>
|
||||
</select>
|
||||
% }
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="lutim-file"><%= l('Send an image') %></label>
|
||||
@@ -202,6 +209,19 @@
|
||||
<input type="checkbox" id="keep-exif"> <%= l('Keep EXIF tags') %>
|
||||
</label>
|
||||
</div>
|
||||
% if ($c->config('watermark_path') && $c->config('watermark_enforce') eq 'none') {
|
||||
<select id="watermark" class="form-control">
|
||||
<option value="tiling" <%== is_wm_selected('tiling') %>>
|
||||
<%= l('Tiling watermark') %>
|
||||
</option>
|
||||
<option value="single" <%== is_wm_selected('single') %>>
|
||||
<%= l('Single watermark') %>
|
||||
</option>
|
||||
<option value="none" <%== is_wm_selected('none') %>>
|
||||
<%= l('No watermark') %>
|
||||
</option>
|
||||
</select>
|
||||
% }
|
||||
</div>
|
||||
<div id="drag-and-drop-zone" class="uploader">
|
||||
<div><%= l('Drag & drop images here') %></div>
|
||||
|
||||
@@ -59,11 +59,9 @@
|
||||
<div class="form-group">
|
||||
<label for="gallery-url-input"><%= l('Gallery link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="gallery-url-link" href="#" target="_blank" title="<%= l('Gallery link') %>">
|
||||
<span class="icon icon-picture"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="gallery-url-link" href="#" target="_blank" title="<%= l('Gallery link') %>">
|
||||
<span class="icon icon-picture"></span>
|
||||
</a>
|
||||
<input class="form-control" name="gallery-url-input" type="text" id="gallery-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -77,11 +75,9 @@
|
||||
<div class="form-group">
|
||||
<label for="zip-url-input"><%= l('Download zip link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="zip-url-link" href="#" target="_blank" title="<%= l('Download zip link') %>">
|
||||
<span class="icon icon-file-archive"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="zip-url-link" href="#" target="_blank" title="<%= l('Download zip link') %>">
|
||||
<span class="icon icon-file-archive"></span>
|
||||
</a>
|
||||
<input class="form-control" name="zip-url-input" type="text" id="zip-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -95,11 +91,9 @@
|
||||
<div class="form-group">
|
||||
<label for="random-url-input"><%= l('Random image link') %></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<a id="random-url-link" href="#" target="_blank" title="<%= l('Random image link') %>">
|
||||
<span class="icon icon-shuffle"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="input-group-addon" id="random-url-link" href="#" target="_blank" title="<%= l('Random image link') %>">
|
||||
<span class="icon icon-shuffle"></span>
|
||||
</a>
|
||||
<input class="form-control" name="random-url-input" type="text" id="random-url-input" readonly></input>
|
||||
<a href="#" class="input-group-addon jsonly copy-to-clipboard-link" title="<%= l('Copy to clipboard') %>">
|
||||
<span class="icon icon-clipboard"></span>
|
||||
@@ -117,7 +111,7 @@
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center"></th>
|
||||
<th class="text-center"><span class="checkbox"><label><input type="checkbox" id="check-all"><label></span></th>
|
||||
<th class="text-center"><%= l('File name') %></th>
|
||||
<th class="text-center"><%= l('View link') %></th>
|
||||
<th class="text-center"><%= l('Counter') %></th>
|
||||
|
||||
@@ -177,7 +177,7 @@ function link(url, dl, token, modify, only_url) {
|
||||
return [
|
||||
'<label class="sr-only" for="link-del-', url, '"><%= l('Deletion link') %></label>',
|
||||
'<div class="input-group input-group-sm">',
|
||||
'<div class="input-group-btn">',
|
||||
'<div class="input-group-btn adjust-addon">',
|
||||
'<a class="btn btn-default text-danger" href="#" title="<%= l('Deletion link') %>" id="del-', url, '" data-short="', url, '" data-token="', token, '">',
|
||||
'<span class="icon icon-trash"></span> ',
|
||||
'</a>',
|
||||
|
||||
@@ -214,6 +214,26 @@ function addAlert(e) {
|
||||
].join(''));
|
||||
}
|
||||
|
||||
function appendToGallery(url, width, height) {
|
||||
$('.gallery').append(
|
||||
[
|
||||
'<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">',
|
||||
' <a href="', url, '" itemprop="contentUrl" data-size="', width, 'x', height, '">',
|
||||
' <img src="', url, '?width=275" itemprop="thumbnail" alt="" class="img-responsive"/>',
|
||||
' </a>',
|
||||
'</figure>'
|
||||
].join('')
|
||||
);
|
||||
}
|
||||
|
||||
function nextOrInitGallery(keys) {
|
||||
if (keys.length > 0) {
|
||||
addElement(keys);
|
||||
} else {
|
||||
initPhotoSwipeFromDOM('.gallery');
|
||||
}
|
||||
}
|
||||
|
||||
function addElement(keys) {
|
||||
element = keys.shift();
|
||||
if (!element.match('xcf')) {
|
||||
@@ -223,29 +243,29 @@ function addElement(keys) {
|
||||
dataType: 'json',
|
||||
success: function(data, textStatus, jqXHR) {
|
||||
if (data.success) {
|
||||
$('.gallery').append(
|
||||
[
|
||||
'<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">',
|
||||
' <a href="', absUrl+element, '" itemprop="contentUrl" data-size="', data.data.width, 'x', data.data.height, '">',
|
||||
' <img src="', absUrl+element, '?width=275" itemprop="thumbnail" alt="" class="img-responsive"/>',
|
||||
' </a>',
|
||||
'</figure>'
|
||||
].join('')
|
||||
);
|
||||
if (data.data.width && data.data.height) {
|
||||
appendToGallery(absUrl+element, data.data.width, data.data.height);
|
||||
nextOrInitGallery(keys);
|
||||
} else {
|
||||
var img = new Image();
|
||||
img.onload = function(){
|
||||
appendToGallery(absUrl+element, img.width, img.height);
|
||||
nextOrInitGallery(keys);
|
||||
}
|
||||
img.src = absUrl+element;
|
||||
}
|
||||
} else {
|
||||
addAlert(data.msg);
|
||||
nextOrInitGallery(keys);
|
||||
}
|
||||
},
|
||||
complete: function() {
|
||||
if (keys.length > 0) {
|
||||
addElement(keys);
|
||||
} else {
|
||||
initPhotoSwipeFromDOM('.gallery');
|
||||
}
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
nextOrInitGallery(keys);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var key = window.location.hash.substring(1); // Get key
|
||||
// First, strip everything after the equal sign (=) which signals end of base64 string.
|
||||
|
||||
@@ -60,12 +60,27 @@ function onCheck(e) {
|
||||
addToShortHash(short+'.'+ext);
|
||||
addToZipHash(short);
|
||||
addToRandomHash(short);
|
||||
if (!$('#check-all').is(':checked') && isAllChecked()) {
|
||||
$('#check-all').prop('checked', true);
|
||||
}
|
||||
} else {
|
||||
if ($('#check-all').is(':checked')) {
|
||||
$('#check-all').prop('checked', false);
|
||||
}
|
||||
rmFromShortHash(short+'.'+ext);
|
||||
rmFromZipHash(short);
|
||||
rmFromRandomHash(short);
|
||||
}
|
||||
}
|
||||
function isAllChecked() {
|
||||
var allChecked = true;
|
||||
$('.ckbx').each(function(index) {
|
||||
if (!$(this).is(':checked')) {
|
||||
allChecked = false;
|
||||
}
|
||||
});
|
||||
return allChecked;
|
||||
}
|
||||
function delView(del_at_view) {
|
||||
return (del_at_view) ? '<span class="icon icon-ok"></span>' : '<span class="icon icon-cancel"></span>';
|
||||
}
|
||||
@@ -117,6 +132,21 @@ function modifyDelay() {
|
||||
}
|
||||
});
|
||||
}
|
||||
function checkAll(e) {
|
||||
var checked = $('#check-all').is(':checked');
|
||||
$('.ckbx').each(function(index) {
|
||||
var element = $(this);
|
||||
if (checked) {
|
||||
if (!element.is(':checked')) {
|
||||
element.click();
|
||||
}
|
||||
} else {
|
||||
if (element.is(':checked')) {
|
||||
element.click();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function populateFilesTable() {
|
||||
var localImages = localStorage.getItem('images');
|
||||
if (localImages === null) {
|
||||
|
||||
@@ -50,20 +50,6 @@
|
||||
% }
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<%= l('Support the author') %>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<%= link_to 'https://tipeee.com/fiat-tux' => begin %><%= l('Support the author on Tipeee') %><% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to 'https://liberapay.com/sky' => begin %><%= l('Support the author on Liberapay') %><% end %>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<%= l('Informations') %>
|
||||
|
||||
53
utilities/read_conf.pl
Executable file
53
utilities/read_conf.pl
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
# read_conf.pl - Outputs lutim's config value for given keypath
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use FindBin;
|
||||
use Cwd qw(realpath);
|
||||
use Config::FromHash;
|
||||
|
||||
sub print_help {
|
||||
print <<END;
|
||||
Usage:
|
||||
$0 [-h] KEYPATH [DEFAULT] -- reads the lutim.conf file and outputs value at KEYPATH, or prints DEFAULT value
|
||||
|
||||
where:
|
||||
-h prints this help message and exit
|
||||
KEYPATH refers to the path in the hash, slash-separated (ie. mysqldb/host)
|
||||
DEFAULT if keypath is undefined, return this value (ie. localhost)
|
||||
END
|
||||
return;
|
||||
}
|
||||
|
||||
if (defined $ARGV[0] and $ARGV[0] eq "-h") {
|
||||
print_help();
|
||||
exit 0;
|
||||
}
|
||||
|
||||
if (not defined $ARGV[0]) {
|
||||
print_help();
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $filename = realpath("$FindBin::Bin/../lutim.conf");
|
||||
if (! -r $filename) {
|
||||
print STDERR "Error: unable to read config file \"$filename\"\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $config = Config::FromHash->new(filename => $filename);
|
||||
my $value = $config->get($ARGV[0]);
|
||||
|
||||
if (defined $value) {
|
||||
print $value;
|
||||
exit 0;
|
||||
}
|
||||
if (not defined $value and defined $ARGV[1]) {
|
||||
print $ARGV[1];
|
||||
exit 0;
|
||||
}
|
||||
print STDERR "Error: keypath \"$ARGV[0]\" not found in config, and no default value provided.\n";
|
||||
exit 1;
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<config xmlns="http://zanata.org/namespace/config/">
|
||||
<url>https://trad.framasoft.org/</url>
|
||||
<project-version>master</project-version>
|
||||
<project>lutim</project>
|
||||
<project-type>gettext</project-type>
|
||||
<src-dir>themes/default/lib/Lutim/I18N/</src-dir>
|
||||
<trans-dir>themes/default/lib/Lutim/I18N/</trans-dir>
|
||||
</config>
|
||||
Reference in New Issue
Block a user