Compare commits

..

No commits in common. "master" and "0.05.16" have entirely different histories.

74 changed files with 1250 additions and 8924 deletions

View File

@ -1,4 +1,4 @@
image: hatsoftwares/lufi-test-ci:bullseye
image: hatsoftwares/lufi-test-ci:buster
stages:
- create_release
- publish_changelog
@ -59,8 +59,8 @@ variables:
services:
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
.pg_template: &pg_definition
<<: *tests_template
needs:
@ -70,8 +70,8 @@ variables:
alias: postgres
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
.mysql_template: &mysql_definition
<<: *tests_template
needs:
@ -81,14 +81,15 @@ variables:
alias: mariadb
- name: rroemhild/test-openldap
alias: rroemhild-test-openldap
# - name: openstackswift/saio
# alias: swiftstack-picoswiftstack
- name: swiftstack/picoswiftstack
alias: swiftstack-picoswiftstack
### Publish tag changelog and create a toot
##
#
include:
- 'https://framagit.org/fiat-tux/gitlabci-snippets/-/raw/2aac6c1f3dd725d9aed57549da67a92759f9f9ec/create-release-from-ci.gitlab-ci.yml'
- 'https://framagit.org/fiat-tux/gitlabci-snippets/-/raw/53cf9e6c8c427ecbff4abb9615347a77f7786806/create-release-from-ci.gitlab-ci.yml'
- '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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,39 +1,6 @@
Revision history for Lufi
0.08.0 ????-??-??
0.07.0 2023-12-25
- ⬆️ — Update jQuery
- 🩹 — Fix a format query parameter
- 🎨 — Use template literals in js
- — Replace moment.js with Date().toLocaleDateString(…)
- 🩹 — Fix Roboto font warnings in js console
- ♿️ — Add autofocus on login input field
- ✨ — Add a `lockfile_dir` setting (fix #242)
- 👷 — Update the create-release snippets URL
0.06.00 2023-12-18
- ⬆️ — Update deps
- 🌐 Update translations
0.05.21 2023-02-21
- ⬆️ — Update deps (still #284)
0.05.20 2023-02-21
- ⬆️ — Update deps (#284)
0.05.19 2023-01-11
- 🌐 Update translations
- 👷 — Deactivate Swift tests in CI
- Terraform and Ansible provisioning (@arunodhayamsam)
- Support for header authentication (@mildis)
0.05.18 2022-03-19
- ✨ Add support for header authentication, thanks to @mildis (!69)
- 🌐 Update translations
0.05.17 2022-03-02
- 🌐 Update translations
?.??.? ????-??-??
0.05.16 2021-11-08
- 👷🐛 Create release in CI before publishing changelog

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2022-02-07 04:27+0000\n"
"Last-Translator: Dimitrios Glentadakis <dglent@free.fr>\n"
"PO-Revision-Date: 2021-10-08 03:05+0000\n"
"Last-Translator: Georgios Pitsiladis <g.v.pitsiladis@gmail.com>\n"
"Language-Team: Greek <https://weblate.framasoft.org/projects/lufi/"
"default-theme/el/>\n"
"Language: el\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.10.1\n"
"X-Generator: Weblate 4.6.2\n"
#. ($delay)
#. (max_delay)
@ -936,22 +936,3 @@ msgstr ""
"Δεν ήταν δυνατόν να κατέβει το αρχείο: έγιναν υπερβολικά πολλές ανεπιτυχείς "
"προσπάθειες για άνοιγμα ενός websocket. Παρακαλούμε, επικοινωνήστε με τον "
"διαχειριστή."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:136
msgid "The invitation %1 cant be deleted: it wasnt created by you (%2)."
msgstr "Αδύνατη η διαγραφή της πρόσκλησης %1: δεν δημιουργήθηκε από εσας (%2)."
#. ($i->token, $c->current_user->{username})
#: lib/Lufi/Controller/Invitation.pm:187
msgid "The invitation %1 cant be resent: it wasnt created by you (%2)."
msgstr ""
"Αδύνατη η εκ νέου αποστολή της πρόσκλησης %1: δεν δημιουργήθηκε από εσάς "
"(%2)."
#. ($orig_uri)
#: lib/Lufi/Controller/Mail.pm:43 lib/Lufi/Controller/Mail.pm:59
msgid "You can't add URLs that are not related to this instance (%1)."
msgstr ""
"Δεν μπορείτε να προσθέσετε URL που δεν σχετίζονται με αυτήν την υπόσταση "
"(%1)."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2022-03-04 11:01+0000\n"
"PO-Revision-Date: 2021-11-08 11:05+0000\n"
"Last-Translator: Berto Te <ateira@3fpj.com>\n"
"Language-Team: Spanish <https://weblate.framasoft.org/projects/lufi/"
"default-theme/es/>\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.10.1\n"
"X-Generator: Weblate 4.8.1\n"
#. ($delay)
#. (max_delay)
@ -168,7 +168,7 @@ msgstr "contador"
#: themes/default/templates/index.html.ep:100
msgid "Create a zip archive with the files before uploading?"
msgstr "¿Crear un archivo zip con los archivos antes de subirlos?"
msgstr "¿Crear un archivo zip con los archivos antes de subir?"
#: themes/default/templates/invitations/my_invitations.html.ep:26
msgid "Created at"
@ -513,7 +513,7 @@ msgstr "Saludos."
#: themes/default/templates/layouts/default.html.ep:31 themes/default/templates/layouts/default.html.ep:64
msgid "Report file"
msgstr "Denunciar archivo"
msgstr "Archivo de informe"
#: themes/default/templates/invitations/my_invitations.html.ep:15
msgid "Resend invitation mail"

View File

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

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2022-01-03 21:23+0000\n"
"Last-Translator: Jorge Paulo Malveira Pimentel Dos Santos <jpmpds@yahoo.fr>\n"
"PO-Revision-Date: 2020-12-07 15:32+0000\n"
"Last-Translator: Framasoft <tech-sys@framalistes.org>\n"
"Language-Team: French <https://weblate.framasoft.org/projects/lufi/"
"default-theme/fr/>\n"
"Language: fr\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.10\n"
"X-Generator: Weblate 4.1\n"
#. ($delay)
#. (max_delay)
@ -668,9 +668,7 @@ msgstr "Le serveur a été incapable de retrouver lenregistrement du fichier
#: lib/Lufi/Controller/Files.pm:289
msgid "This file has been deactivated by the admins. Contact them to know why."
msgstr ""
"Le fichier a été désactivé par les administrateurs ou administratrices. "
"Veuillez les contacter pour savoir pourquoi."
msgstr "The fichier a été désactivé par les administrateurs ou administratrices. Veuillez les contacter pour savoir pourquoi."
#: themes/default/templates/invitations/my_invitations.html.ep:46 themes/default/templates/partial/invitations.js.ep:6
msgid "This invitation is normally hidden"
@ -846,8 +844,3 @@ msgstr "ou"
#: themes/default/templates/invitations/notification_files_sent.mail.ep:12
msgid "— %1 (%2), that will expire on %3"
msgstr "— %1 (%2), qui expirera le %3"
#:
msgid "You can't add URLs that are not related to this instance."
msgstr ""
"Vous ne pouvez pas ajouter d'URL qui ne sont pas liées à cette instance."

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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