Compare commits

...

67 Commits

Author SHA1 Message Date
obitanz
36681dcdea 23-12-2021
- Remove the X-Mailer header in e-mails, as this causes some email servers to see emails sent by Framadate as spam
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEExMITpfxOHHCvHn8FoGG53eDKB3MFAmHElvwACgkQoGG53eDK
 B3PO3w/+LyyC4Y7fDtl4hm9ClIswp62ozhxlIzRDJbza2S2S37A0ssXJMYCf2VOR
 ak+vWFUs9xj3o6G3oGlhLF1KMpWJ/nFVhyhCGgV1mQmUHSX2gnn6S9PBFenOGc9w
 zD2onJhVhJ/tbCJbF0Yl6zPitkfiucJI3FFIauByhkZ8wI3MPIYo/2m+H7KeVwLp
 YgJU0VqUQNMYl1clC+9Vu6gpSk/f6RklEVzJfEgV4MWMfoM6hLFqo0F6IDyWmgKp
 eNi1KHmFBGKFIexQeI+AvDyJyYsZH7uJrB0F7bV4wJGS7MTPOJlOJG5MXlLDcJgK
 EKNFUqrb9pQT5TWkO5FbJjfHwbP5bhO7TAEEvdIzhFqziR6gqdr2uXi+HiwG7yHO
 21YzDMnRZPqiYTBJuP0XIhsJrgpIBQDuQ3u9XJTs4pfyxQDSR8m9sHdiPSEZySRN
 p7XJSsDyLhcjjAobdodLuZLSWqOvZfaHzXEEKZO3HdQmccbwRHvniXDEy0FHEt2A
 L7LVvd4Qpa4wi6T2b3UIK4ubuC4xYdtYBfpzOklcti5TwDT2jbSTJRbv5oGAPX1b
 HfMzMoi/os3ZDSnPPRUaBxxrbjFQ9bX4bdxfQZeC2XIBWMBOcF3SeSbC1vVlcu+3
 bgwo3mehLvBCY0uMCGrjdymcAQq2IwX5Df8dGS7jFWUS5rAUi7s=
 =OVGk
 -----END PGP SIGNATURE-----

Merge tag '1.1.19' into chapril-1.1.19
2023-02-25 12:11:22 +01:00
Thomas Citharel
125045bb74
Release 1.1.19
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-23 16:34:08 +01:00
Thomas Citharel
c2f20b1ab2
Add CHANGELOG entry for 1.1.19
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-23 16:33:55 +01:00
Thomas Citharel
cffbeaf51d Merge branch 'remove-php-mailer-x-mailer-header' into 'v1.1.x'
Remove PHPMailer X-Mailer header

See merge request framasoft/framadate/framadate!500
2021-12-23 15:31:16 +00:00
Thomas Citharel
7343463c74
Remove PHPMailer X-Mailer header
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-23 16:29:31 +01:00
Thomas Citharel
7465852eb4
Merge pull request #71 from damufo/master
Galician translation
2021-12-21 11:23:09 +01:00
Thomas Citharel
f30fe54c4c
Update README.md
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-21 11:18:43 +01:00
Thomas Citharel
ac932e55f6
Add release file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-21 10:53:40 +01:00
Thomas Citharel
fb04860c78 Merge branch 'fixes' into 'v1.1.x'
Release 1.1.18

See merge request framasoft/framadate/framadate!499
2021-12-21 09:51:25 +00:00
Thomas Citharel
9322a41d0c
Release 1.1.18
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-21 10:50:02 +01:00
Thomas Citharel
2995851e2a Merge branch 'fixes' into 'v1.1.x'
Various fixes

Closes #566

See merge request framasoft/framadate/framadate!498
2021-12-17 14:23:42 +00:00
ff62406853 Added version number (#4871). 2021-08-28 18:44:20 +02:00
8d9770c584 Fixed typography. 2021-08-28 16:25:02 +02:00
eed7da32bd Merge tag '1.1.16' into chapril-1.1.16 2021-08-28 15:59:04 +02:00
f1587f7b36 Ajout d'un test pour éliminer les colonnes choices vides dans la table fd_vote (#4617) 2020-08-26 12:00:37 +02:00
9068919c47 Added 3 keys in ../locale/*.json (#4620,#4619,#4618) 2020-08-11 21:53:13 +02:00
c269048008 Modified message in fr_FR.json (#4542) 2020-06-10 15:59:20 +02:00
4ec047218a Added keys for date poll (#3921) 2020-03-11 17:21:37 +01:00
d0ffcd0dba Suppressed comment in index.tpl 2020-03-10 16:52:08 +01:00
fe0558955b Modified again key for messages (#4299) 2020-03-10 14:54:25 +01:00
a48b48abc8 Modified key for messages (#4299) 2020-03-10 14:43:10 +01:00
75ee2ef419 Changed meta description to DateChaprilOrg (#4294) 2020-03-01 16:49:02 +01:00
f6855dce8f Directory tools moved to srv (#4127) 2020-01-31 16:57:12 +01:00
6030c3da3a Corrected bug in rapport_activite.sh (#3528) 2020-01-01 23:07:28 +01:00
163630bc66 renamed date.chapril.org.cron (#4089) 2019-12-27 22:17:52 +01:00
a540df01ef Added check_datechaprilorg_update (#3591) 2019-12-07 19:13:11 +01:00
2db36d63bd Added date.chapril.org.cron (#4087) 2019-12-07 13:03:10 +01:00
415637f4f8 Improved statistics on ip (#3332) 2019-10-01 16:56:10 +02:00
88c62dc13d Added user count with ipv4 or ipv6 2019-09-18 23:03:33 +02:00
51b27b6b73 Normalized Apache access log file. 2019-08-14 17:02:23 +02:00
bbe505ed41 Correction d'un bug dans le script ligne 86 base decimale forcée (#3528) 2019-08-01 22:23:13 +02:00
0bab6f939f Added statistics on users (#3332) 2019-07-12 19:18:23 +02:00
c6fda43581 Merge tag '1.1.10' into chapril-1.1.9 to create chapril-1.1.10. 2019-05-10 18:50:09 +02:00
fd91b558a3 Merge tag '1.1.9' into chapril-1.1.8 to create chapril-1.1.9. 2019-05-10 18:31:03 +02:00
23f933595b Removed list of web browers (#3626) 2019-03-25 17:09:06 +01:00
a75ce8aab5 Improved english translation of FOOTER (#3250) 2019-03-10 17:42:11 +01:00
b108cbbd15 Added directory tools and script rapport_activite.sh (#3592) 2019-02-20 15:29:17 +01:00
4d58bc9371 Updated locale/fr.json and fr_FR.json (#3538,#3493,#3491) 2019-01-13 22:49:04 +01:00
add73d3189 Customization of another text for DateChaprilOrg in locale/en.json (#3538) 2019-01-04 23:22:53 +01:00
80f99c9c68 Customization of text for DateChaprilOrg in locale/en.json (#3538) 2019-01-04 23:17:45 +01:00
f3aab00199 Customization of text for DateChaprilOrg in locale/fr.json (#3538) 2019-01-04 23:06:54 +01:00
b9715d7142 Improved message 'où sont mes sondages?' (#3493) 2019-01-01 22:08:44 +01:00
2c7d79dca2 Modified third section in locale/fr.json (#3491) 2018-12-31 12:42:19 +01:00
4cf50cb7bf modified the mail text of 'where are my polls' (#3493) 2018-12-28 21:51:05 +01:00
1bf1656d87 personalized third section of comment (#3491) 2018-12-28 21:34:53 +01:00
8d76fae8a1 renamed logo-DateChaprilOrg.png (#3478) 2018-12-28 17:52:10 +01:00
4106e2ca96 Changed new logo DateChaprilOrg 2018-12-02 15:34:16 +01:00
cb10c87d07 Added script for automatic poll purge (#3150). 2018-08-15 11:28:41 +02:00
ebe9add057 Fixed mistaken message about expiry date (#3205). 2018-08-13 16:02:06 +02:00
13c2543a7a Updated AdminPollService to correct bug on end_date 2018-08-13 12:19:06 +02:00
c2eb45666a Updated fr.json to suppress <br/> 2018-08-12 16:03:58 +02:00
30c94c7aa1 Merge remote-tracking branch 'origin/master' into chapril-1.1.8
mise à jour vers 1.1.8
2018-08-12 15:00:08 +02:00
4fe0b2097f Updated AdminPollService to limit end_date (#3206). 2018-08-08 22:56:34 +02:00
f4debb7da8 Updated one little mistake. Suppressed one blank character 2018-08-07 23:18:58 +02:00
506c56aa28 Updated one word forgetten 2018-08-07 22:36:08 +02:00
782a42d571 Updated according with agir issue 3205 2018-08-07 22:32:25 +02:00
205c9230ad Updated one word for test 2018-08-07 21:55:21 +02:00
46356b9744 Changed pushline APRIL instead of Framasoft. 2018-08-03 20:33:52 +02:00
25def10867 Improved English translation 2018-08-03 17:26:20 +02:00
fcfc8786fa Updated English punch line 2018-08-03 12:53:57 +02:00
7ba226af4a Removed <br>, custom the email. 2018-08-01 17:39:18 +02:00
07368eb2d5 updated fr_FR.json 2018-08-01 17:29:57 +02:00
9a6784c6a6 Merge remote-tracking branch 'origin/develop' tag1.1.7 into chapril
Conflicts:
	locale/fr.json
2018-07-28 17:57:58 +02:00
damufo
2badf15074 Galician translation 2018-07-10 19:04:34 +02:00
a31dcd60d6 Removed initial htaccess.txt file (previously renamed .htaccess). 2018-05-27 12:37:07 +02:00
7088684b2e Add phpinfo.php file for easy check. 2018-05-27 12:19:28 +02:00
f62e0408de Personnalisation du pied de page de courriel. 2018-05-06 11:50:15 +02:00
27 changed files with 696 additions and 85 deletions

View File

@ -1,5 +1,28 @@
# Changelog de framadate
## 1.1.19
23-12-2021
### Fixed
- Remove the X-Mailer header in e-mails, as this causes some email servers to see emails sent by Framadate as spam
## 1.1.18
20-12-2021
### Changed
- Dependency updates
- Replace abandonned SimpleMDE with EasyMDE fork
### Fixed
- Enforce the instance expiration limits when editing the poll expiration date once created, from poll admin
- Fixed some HTML markup validity
### Translations
- Fixed a missing french language key
- Enable Catalan language
## 1.1.17
18-10-2021
### Added

View File

@ -22,10 +22,10 @@ Follow the instructions on <https://framagit.org/framasoft/framadate/framadate/-
# Used libraries
* PHP [PHP 5.6](http://php.net)
* PHP [PHP 7.3](http://php.net)
* Templating [Smarty](http://www.smarty.net/),
* I18N [o80-i18n](https://github.com/olivierperez/o80-i18n)
* Database: PostgreSQL ou [MySQL 5.5](https://dev.mysql.com/downloads/mysql/5.5.html)
* I18N [o80-i18n](https://framagit.org/framasoft/framadate/o80-i18nn)
* Database: MySQL or MariaDB.
---

91
admin/cron_purge.php Normal file
View File

@ -0,0 +1,91 @@
<?php
/**
* Copyright 2018 Christian P. MOMON <cmomon@april.org>
*
* This software is governed by the CeCILL-B license. If a copy of this license
* is not distributed with this file, you can obtain one at
* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
*
*/
use Framadate\Services\InputService;
use Framadate\Services\LogService;
use Framadate\Services\PurgeService;
use Framadate\Services\SecurityService;
// /////////////////////////////////////////////////
// ////////// include_once __DIR__ . '/../app/inc/init.php';
use Framadate\FramaDB;
use Framadate\Repositories\RepositoryFactory;
define('ROOT_DIR', __DIR__ . '/../');
// Autoloading of dependencies with Composer
require_once ROOT_DIR . '/vendor/autoload.php';
require_once ROOT_DIR . '/vendor/o80/i18n/src/shortcuts.php';
if (ini_get('date.timezone') === '') {
date_default_timezone_set('Europe/Paris');
}
require_once ROOT_DIR . '/app/inc/constants.php';
define('CONF_FILENAME', ROOT_DIR . '/app/inc/config.php');
if (is_file(CONF_FILENAME)) {
@include_once CONF_FILENAME;
// Connection to database
$connect = new FramaDB(DB_CONNECTION_STRING, DB_USER, DB_PASSWORD);
RepositoryFactory::init($connect);
$err = 0;
} else {
define('NOMAPPLICATION', 'Framadate');
define('DEFAULT_LANGUAGE', 'fr');
define('IMAGE_TITRE', 'images/logo-framadate.png');
define('LOG_FILE', 'admin/stdout.log');
}
require_once ROOT_DIR . '/app/inc/i18n.php';
// /////////////////////////////////////////////////
/* Variables */
/* --------- */
/* Services */
/*----------*/
$logService = new LogService();
$purgeService = new PurgeService($connect, $logService);
$securityService = new SecurityService();
$inputService = new InputService();
/* Action */
/* ------ */
$logService->log('CRON PURGE', 'Cron purge starting…');
$ended = false;
$iterationCount = 0;
$totalCount = 0;
while (!$ended)
{
$count = $purgeService->purgeOldPolls();
$logService->log('CRON PURGE', 'count='.$count);
if ($count == 0)
{
$ended = true;
}
else
{
$iterationCount += 1;
$totalCount += $count;
}
}
$logService->log('CRON PURGE', 'Purged '.$totalCount.' poll(s) in '.$iterationCount.' iterations.');
$logService->log('CRON PURGE', 'Cron purge done.');
/* PAGE */
/* ---- */
echo date("Y-m-d H:i:s").": cron purge done.\n"
?>

View File

@ -34,10 +34,16 @@ class AdminPollService {
public function updatePoll($poll): bool
{
global $config;
if ($poll->end_date > $poll->creation_date) {
return $this->pollRepository->update($poll);
}
return false;
$end_date = strtotime($poll->end_date);
if ($end_date < strtotime($poll->creation_date)) {
$poll->end_date = $poll->creation_date;
} elseif ($end_date > $this->pollService->maxExpiryDate()) {
$poll->end_date = utf8_encode(strftime('%Y-%m-%d', $this->pollService->maxExpiryDate()));
}
return $this->pollRepository->update($poll);
}
/**

View File

@ -61,6 +61,7 @@ class MailService {
$mail->CharSet = 'UTF-8';
$mail->addCustomHeader('Auto-Submitted', 'auto-generated');
$mail->addCustomHeader('Return-Path', '<>');
$mail->XMailer = ' ';
// Send mail
$mail->send();

View File

@ -18,7 +18,7 @@
*/
// FRAMADATE version
const VERSION = '1.1.17';
const VERSION = '1.1.19';
// PHP Needed version
const PHP_NEEDED_VERSION = '7.3';

View File

@ -123,3 +123,6 @@ function path_for_datepicker_locale(string $lang): string
{
return __DIR__ . '/../../js/locales/bootstrap-datepicker.' . $lang . '.js';
}
# Customization #4871 par Didier le 28/08/2021.
$smarty->assign('VERSION',VERSION);

View File

@ -1,17 +0,0 @@
######################
# .htaccess example. #
######################
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([a-zA-Z0-9-]+)$ studs.php?poll=$1 [L]
RewriteRule ^([a-zA-Z0-9-]+)/action/([a-zA-Z_-]+)/(.+)$ studs.php?poll=$1&$2=$3
RewriteRule ^([a-zA-Z0-9-]+)/vote/([a-zA-Z0-9]{16})$ studs.php?poll=$1&vote=$2
RewriteRule ^([a-zA-Z0-9-]{24})/admin$ adminstuds.php?poll=$1
RewriteRule ^([a-zA-Z0-9-]{24})/admin/vote/([a-zA-Z0-9]{16})$ adminstuds.php?poll=$1&vote=$2
RewriteRule ^([a-zA-Z0-9-]{24})/admin/action/([a-zA-Z_-]+)(/(.+))?$ adminstuds.php?poll=$1&$2=$4
</IfModule>

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Author's message",
"FOOTER": "\"The road is long, but the way is clear…\"<br/>Framasoft lives only by your donations.<br/>Thank you in advance for your support https://soutenir.framasoft.org",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Participant link",
"Notification of poll: %s": "Notification of poll: %s",
"Poll's participation: %s": "Poll participation: %s",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Evit an aozer hepken",
"FOOTER": "« Hir eo an hent, met frank eo ar roudenn… »<br/>Framasoft a vev gant ho roadoù hepken (didennadus eus an tailhoù).<br/>Trugarez en a-raok evit ho skoazell https://soutenir.framasoft.org.",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Da gas d'an dud sontet",
"Notification of poll: %s": "Rebuziñ ur sontadeg: %s",
"Poll's participation: %s": "Mouezh nevez: %s",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Nachricht vom Autor ",
"FOOTER": "„Die Strecke ist lang, aber der Weg ist frei… \"<br/>Framasoft besteht nur durch Ihre Spenden (in Frankreich von der Steuer absetzbar).<br/>Herzlichen Dank für Ihre Unterstützung https://soutenir.framasoft.org",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Nachricht für die Teilnehmer",
"Notification of poll: %s": "Mitteilung bezüglich der Umfrage: %s",
"Poll's participation: %s": "Beteiligung an der Umfrage: %s",

View File

@ -3,24 +3,24 @@
"Define dates or subjects to choose": "Define dates or subjects to choose from",
"Discuss and make a decision": "Discuss and make a decision",
"Do you want to": "Do you want to",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "Framadate is an online service for planning an appointment or making a decision quickly and easily. No registration is required.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "DateChaprilOrg is an online service for planning an appointment or making a decision quickly and easily. No registration is required.",
"Here is how it works:": "Here is how it works:",
"Make a poll": "Create a poll",
"Send the poll link to your friends or colleagues": "Send the poll link to your friends or colleagues",
"What is that?": "What is Framadate?",
"What is that?": "What is DateChaprilOrg?",
"view an example?": "view an example?"
},
"2nd section": {
"CeCILL-B license": "CeCILL-B license",
"Framadate was initially based on ": "Framadate was initially based on ",
"It is governed by the": "Framadate is licensed under the",
"Framadate was initially based on ": "DateChaprilOrg is a Framadate initially based on ",
"It is governed by the": "It is licensed under the",
"The software": "The software",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "This software needs JavaScript and cookies enabled. It is compatible with the following web browsers:",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "This software needs JavaScript and cookies enabled. It is compatible with the usuals web browsers",
"a software developed by the University of Strasbourg. Today, it is devevoped by the association Framasoft.": "software developed by the University of Strasbourg. These days, it is developed by the Framasoft association."
},
"3rd section": {
"Cultivate your garden": "Grow your own",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "If you want to install the software for your own use and thus increase your independence, we can help you at:",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "If you want to install the software for your own use and thus increase your independence, you will find of the help at:",
"To participate in the software development, suggest improvements or simply download it, please visit ": "To participate in the software development, suggest improvements or simply download it, please visit ",
"the development site": "the development site"
},
@ -187,7 +187,7 @@
"Day": "Day",
"Description": "Description",
"Edit": "Edit",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "Framadate is an online service for planning an appointment or make a decision quickly and easily.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "DateChaprilOrg is an online service for planning an appointment or make a decision quickly and easily. This service is based on framadate",
"Home": "Home",
"Ifneedbe": "Under reserve",
"Legend:": "Legend:",
@ -202,6 +202,7 @@
"Save": "Save",
"Search": "Search",
"Time": "Time",
"Unknown": "",
"Validate": "Validate",
"Yes": "Yes",
"Your email address": "Your email address",
@ -241,8 +242,10 @@
},
"Mail": {
"Author's message": "Author's message",
"FOOTER": "\"The road is long, but the way is clear…\"<br/>Framasoft lives only by your donations.<br/>Thank you in advance for your support https://soutenir.framasoft.org",
"Message for the author": "Author's message",
"FOOTER": "April - Promoting and Protecting Free Software",
"For sending to the polled users": "Participant link",
"Participant link": "Participant link",
"Notification of poll: %s": "Notification of poll: %s",
"Poll's participation: %s": "Poll participation: %s",
"Someone just change your poll available at the following link %s.": "Someone just changed your poll at the following link <a href=\"%1$s\">%1$s</a>.",
@ -270,7 +273,8 @@
"You have to provide a password so you can participate to the poll.": "You have to provide a password so you can participate to the poll.",
"You have to provide a password to access the poll.": "You have to provide a password to access the poll."
},
"Poll results": {
"Poll results": {
"Add a column": "Add a column"
"Addition": "Total",
"Best choice": "Best choice",
"Best choices": "Best choices",
@ -278,6 +282,7 @@
"Display the chart of the results": "Display the chart of the results",
"Edit the line: %s": "Edit line: %s",
"Link to edit this particular line": "Link to edit this particular line",
"Link to edit this particular line has been copied!": "The link to edit this particular line has been copied!",
"Link to edit this particular line has been copied inside the clipboard!": "The link to edit this particular line has been copied to the clipboard!",
"Remove the line:": "Remove line:",
"Save the choices": "Save choices",
@ -405,10 +410,10 @@
"Once you have confirmed the creation of your poll, you will be automatically redirected on the administration page of your poll.": "Once you have confirmed the creation of your poll, you will automatically be redirected to the poll's administration page.",
"Removal date and confirmation (3 on 3)": "Removal date and confirmation (3 of 3)",
"Then, you will receive quickly two emails: one contening the link of your poll for sending it to the voters, the other contening the link to the administration page of your poll.": "Then you will receive two emails: one containing the link of your poll for sending to the participants, the other containing the link to the poll administration page.",
"You can set a closer archiving date for it.": "You can set a specific expiry date for the poll.",
"Your poll will automatically be archived": "Your poll will automatically be archived",
"You can set a closer archiving date for it.": "You can set a closer expiry date for the poll.",
"Your poll will automatically be archived": "Your poll will automatically expired in",
"Your poll will be automatically archived in %d days.": "Your poll will be automatically archived in %d days.",
"after the last date of your poll.": "after the last date of your poll."
"after the last date of your poll.": " from today. It will definitively be deleted 60 days after its expiration."
},
"adminstuds": {
"Add a column": "Add a column",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Author's message",
"FOOTER": "\"The road is long, but the way is clear…\"<br/>Framasoft lives only by your donations.<br/>Thank you in advance for your support https://soutenir.framasoft.org",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Participant link",
"Notification of poll: %s": "Notification of poll: %s",
"Poll's participation: %s": "Poll participation: %s",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Reservado al autor",
"FOOTER": "\"El camino es largo, pero el camino está despejado...\"<br/>Framasoft vive sólo de sus donaciones<br/>Gracias de antemano por su apoyo https://soutenir.framasoft.org",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Para difusión a los votantes",
"Notification of poll: %s": "Notificación de la encuesta: %s",
"Poll's participation: %s": "Participación a la encuesta: %s",

View File

@ -3,7 +3,7 @@
"Define dates or subjects to choose": "Déterminez les dates ou les sujets à choisir",
"Discuss and make a decision": "Discutez et prenez votre décision",
"Do you want to": "Voulez-vous",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "Framadate est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Aucune inscription préalable nest nécessaire.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "DateChaprilOrg est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Aucune inscription préalable nest nécessaire.",
"Here is how it works:": "Voici comment ça fonctionne :",
"Make a poll": "Créez un sondage",
"Send the poll link to your friends or colleagues": "Envoyez le lien du sondage à vos ami·e·s ou collègues",
@ -12,15 +12,15 @@
},
"2nd section": {
"CeCILL-B license": "licence CeCILL-B",
"Framadate was initially based on ": "Framadate est initialement basé sur ",
"Framadate was initially based on ": "DateChaprilOrg est un Framadate initialement basé sur ",
"It is governed by the": "Il est régi par la",
"The software": "Le logiciel",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "Ce logiciel requiert lactivation du JavaScript et des cookies. Il est compatible avec les navigateurs web suivants :",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "Ce logiciel requiert lactivation du JavaScript et des cookies. Il est compatible avec les navigateurs web usuels.",
"a software developed by the University of Strasbourg. Today, it is devevoped by the association Framasoft.": "un logiciel développé par l'Université de Strasbourg. Aujourd'hui, son développement est assuré par lassociation Framasoft."
},
"3rd section": {
"Cultivate your garden": "Cultivez votre jardin",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "Si vous souhaitez installer ce logiciel pour votre propre usage et ainsi gagner en autonomie, nous vous aidons sur :",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "Si vous souhaitez installer ce logiciel pour votre propre usage et ainsi gagner en autonomie, vous trouverez de l'aide sur :",
"To participate in the software development, suggest improvements or simply download it, please visit ": "Pour participer au développement du logiciel, proposer des améliorations ou simplement le télécharger, rendez-vous sur ",
"the development site": "le site de développement"
},
@ -161,7 +161,7 @@
"FindPolls": {
"Have a good day!": "Bonne journée !",
"Here is the list of the polls that you manage on %s:": "Voici la liste des sondages que vous administrez sur %s :",
"If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.": "Si jamais vous n'étiez pas à l'origine de cette action et que vous pensez qu'il s'agit d'un abus, vous pouvez nous le signaler à l'administrateur·rice sur %s.",
"If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.": "Si jamais vous n'étiez pas à l'origine de cette action et que vous pensez qu'il s'agit d'un abus, vous pouvez le signaler à l'administrateur·rice sur %s.",
"List of your polls": "Liste de vos sondages",
"PS: this email has been sent because you or someone else asked to get back the polls created with your email address.": "PS : ce mail a été envoyé parce que vous ou quelqu'un d'autre avez demandé la récupération des sondages créés à l'aide de votre adresse email.",
"Polls sent": "Sondages envoyés",
@ -183,12 +183,12 @@
"Day": "Jour",
"Description": "Description",
"Edit": "Modifier",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "Framadate est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "DateChaprilOrg est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Le service est basé sur framadate",
"Home": "Accueil",
"Ifneedbe": "Si nécessaire",
"Legend:": "Légende :",
"Link": "Lien",
"Make your polls": "Organiser des rendez-vous simplement, librement.",
"Make your polls": "Organiser des rendez-vous et des sondages simplement, librement.",
"Markdown": "Markdown",
"Next": "Continuer",
"No": "Non",
@ -198,6 +198,7 @@
"Save": "Enregistrer",
"Search": "Chercher",
"Time": "Horaire",
"Unknown": "",
"Validate": "Valider",
"Yes": "Oui",
"Your email address": "Votre courriel",
@ -237,8 +238,10 @@
},
"Mail": {
"Author's message": "Réservé à l'auteur·rice",
"FOOTER":  La route est longue, mais la voie est libre… »<br/>Framasoft ne vit que par vos dons (déductibles des impôts).<br/>Merci d'avance pour votre soutien https://soutenir.framasoft.org.",
"Message for the author": "Réservé à l'auteur.rice",
"FOOTER":  April Promouvoir et défendre le logiciel libre »",
"For sending to the polled users": "Pour diffusion aux sondé·e·s",
"Participant link": "Pour diffusion aux sondé.e.s",
"Notification of poll: %s": "Notification d'un sondage : %s",
"Poll's participation: %s": "Participation au sondage : %s",
"Someone just change your poll available at the following link %s.": "Quelqu'un·e vient de modifier votre sondage accessible au lien suivant <a href=\"%1$s\">%1$s</a>.",
@ -266,7 +269,8 @@
"You have to provide a password so you can participate to the poll.": "Vous devez donner le mot de passe pour pouvoir participer à ce sondage.",
"You have to provide a password to access the poll.": "Vous devez donner le mot de passe pour avoir accès à ce sondage."
},
"Poll results": {
"Poll results": {
"Add a column": "Ajouter une colonne",
"Addition": "Somme",
"Best choice": "Meilleur choix",
"Best choices": "Meilleurs choix",
@ -274,6 +278,7 @@
"Display the chart of the results": "Afficher le graphique des résultats",
"Edit the line: %s": "Modifier la ligne : %s",
"Link to edit this particular line": "Lien pour éditer cette ligne",
"Link to edit this particular line has been copied!": "Le lien pour l'édition de cette ligne a été copié",
"Link to edit this particular line has been copied inside the clipboard!": "Le lien pour l'édition de cette ligne a été copié dans le presse-papier !",
"Remove the line:": "Supprimer la ligne :",
"Save the choices": "Enregistrer les choix",
@ -393,7 +398,7 @@
"You can add or remove additionnal days and hours with the buttons": "Vous pouvez ajouter ou supprimer des jours et horaires supplémentaires avec les boutons"
},
"Step 3": {
"Archiving date:": "Date d'archivage :",
"Archiving date:": "Date d'expiration :",
"Back to step 2": "Revenir à létape 2",
"Confirm the creation of your poll": "Confirmez la création de votre sondage",
"Create the poll": "Créer le sondage",
@ -401,10 +406,10 @@
"Once you have confirmed the creation of your poll, you will be automatically redirected on the administration page of your poll.": "Une fois que vous aurez confirmé la création du sondage, vous serez redirigé·e automatiquement vers la page d'administration de votre sondage.",
"Removal date and confirmation (3 on 3)": "Date d'expiration et confirmation (3 sur 3)",
"Then, you will receive quickly two emails: one contening the link of your poll for sending it to the voters, the other contening the link to the administration page of your poll.": "En même temps, vous recevrez deux courriels : l'un contenant le lien vers votre sondage pour le faire suivre aux futur·e·s sondé·e·s, l'autre contenant le lien vers la page d'administration du sondage.",
"You can set a closer archiving date for it.": "Vous pouvez décider d'une date d'archivage plus proche.",
"Your poll will automatically be archived": "Votre sondage sera automatiquement archivé",
"You can set a closer archiving date for it.": "Vous pouvez décider d'une date d'expiration plus proche.",
"Your poll will automatically be archived": "Votre sondage expirera automatiquement dans",
"Your poll will be automatically archived in %d days.": "Votre sondage sera automatiquement archivé dans %d jours.",
"after the last date of your poll.": "après le dernier jour de votre sondage."
"after the last date of your poll.": " à partir d'aujourd'hui. Il sera définitivement supprimé 60 jours après son expiration."
},
"adminstuds": {
"Add a column": "Ajouter une colonne",

View File

@ -3,7 +3,7 @@
"Define dates or subjects to choose": "Déterminez les dates ou les sujets à choisir",
"Discuss and make a decision": "Discutez et prenez votre décision",
"Do you want to": "Voulez-vous",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "Framadate est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Aucune inscription préalable nest nécessaire.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "DateChaprilOrg est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Aucune inscription préalable nest nécessaire.",
"Here is how it works:": "Voici comment ça fonctionne :",
"Make a poll": "Créez un sondage",
"Send the poll link to your friends or colleagues": "Envoyez le lien du sondage à vos ami·e·s ou collègues",
@ -12,15 +12,15 @@
},
"2nd section": {
"CeCILL-B license": "licence CeCILL-B",
"Framadate was initially based on ": "Framadate est initialement basé sur ",
"Framadate was initially based on ": "DateChaprilOrg est un Framadate initialement basé sur ",
"It is governed by the": "Il est régi par la",
"The software": "Le logiciel",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "Ce logiciel requiert lactivation du JavaScript et des cookies. Il est compatible avec les navigateurs web suivants :",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "Ce logiciel requiert lactivation du JavaScript et des cookies. Il est compatible avec les navigateurs web usuels.",
"a software developed by the University of Strasbourg. Today, it is devevoped by the association Framasoft.": "un logiciel développé par l'Université de Strasbourg. Aujourd'hui, son développement est assuré par lassociation Framasoft."
},
"3rd section": {
"Cultivate your garden": "Cultivez votre jardin",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "Si vous souhaitez installer ce logiciel pour votre propre usage et ainsi gagner en autonomie, nous vous aidons sur :",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "Si vous souhaitez installer ce logiciel pour votre propre usage et ainsi gagner en autonomie, vous trouverez de l'aide sur :",
"To participate in the software development, suggest improvements or simply download it, please visit ": "Pour participer au développement du logiciel, proposer des améliorations ou simplement le télécharger, rendez-vous sur ",
"the development site": "le site de développement"
},
@ -124,7 +124,7 @@
"Enter a name and a comment!": "Merci de remplir les deux champs !",
"Enter a title": "Il faut saisir un titre !",
"Enter an email address": "Il faut saisir une adresse électronique !",
"Error on amount of voters limitation : value must be an integer greater than 0": "Error on amount of voters limitation: Value must be an integer greater than 0",
"Error on amount of voters limitation : value must be an integer greater than 0": "Erreur : le nombre de votants doit être une nombre supérieur à 0",
"Error!": "Erreur !",
"Failed to delete all comments": "Impossible de supprimer tous les commentaires",
"Failed to delete all votes": "Impossible de supprimer tous les votes",
@ -146,7 +146,7 @@
"Poll id already used": "L'identifiant est déjà utilisé",
"Something is going wrong...": "Quelque chose ne va pas...",
"Something is wrong with the format": "Quelque chose ne va pas avec le format",
"Something is wrong with the format: customized urls should only consist of alphanumeric characters and hyphens.": "Something is wrong with the format: Customized URLs should only consist of alphanumeric characters and hyphens.",
"Something is wrong with the format: customized urls should only consist of alphanumeric characters and hyphens.": "Format incorrect : seuls les caractères alphabétiques, nombres et tirets sont acceptés dans les URLs personnalisées.",
"Something is wrong with the format: name shouldn't have any spaces before or after": "Quelque chose ne va pas avec le format : le nom ne devrait pas contenir d'espaces avant ou après",
"The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "L'adresse saisie n'est pas correcte ! Il faut une adresse électronique valide (par exemple r.stallman@outlock.com) pour recevoir le lien vers le sondage.",
"The column already exists": "La colonne existe déjà",
@ -164,7 +164,7 @@
"FindPolls": {
"Have a good day!": "Bonne journée !",
"Here is the list of the polls that you manage on %s:": "Voici la liste des sondages que vous administrez sur %s :",
"If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.": "Si jamais vous n'étiez pas à l'origine de cette action et que vous pensez qu'il s'agit d'un abus, vous pouvez nous le signaler à l'administrateur·rice sur %s.",
"If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.": "Si jamais vous n'étiez pas à l'origine de cette action et que vous pensez qu'il s'agit d'un abus, vous pouvez le signaler à l'administrateur·rice sur %s.",
"List of your polls": "Liste de vos sondages",
"PS: this email has been sent because you or someone else asked to get back the polls created with your email address.": "PS : ce mail a été envoyé parce que vous ou quelqu'un d'autre avez demandé la récupération des sondages créés à l'aide de votre adresse email.",
"Polls sent": "Sondages envoyés",
@ -186,12 +186,12 @@
"Day": "Jour",
"Description": "Description",
"Edit": "Modifier",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "Framadate est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement.",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "DateChaprilOrg est un service en ligne permettant de planifier un rendez-vous ou prendre des décisions rapidement et simplement. Le service est basé sur framadate",
"Home": "Accueil",
"Ifneedbe": "Si nécessaire",
"Legend:": "Légende :",
"Link": "Lien",
"Make your polls": "Organiser des rendez-vous simplement, librement.",
"Make your polls": "Organiser des rendez-vous et des sondages simplement, librement.",
"Markdown": "Markdown",
"Next": "Continuer",
"No": "Non",
@ -201,6 +201,7 @@
"Save": "Enregistrer",
"Search": "Chercher",
"Time": "Horaire",
"Unknown": "",
"Validate": "Valider",
"Yes": "Oui",
"Your email address": "Votre courriel",
@ -240,8 +241,10 @@
},
"Mail": {
"Author's message": "Réservé à l'auteur·rice",
"FOOTER":  La route est longue, mais la voie est libre… »<br/>Framasoft ne vit que par vos dons (déductibles des impôts).<br/>Merci d'avance pour votre soutien https://soutenir.framasoft.org.",
"Message for the author": "Réservé à l'auteur.trice",
"FOOTER":  April Promouvoir et défendre le logiciel libre »",
"For sending to the polled users": "Pour diffusion aux sondé·e·s",
"Participant link": "Pour diffusion aux sondé.e.s",
"Notification of poll: %s": "Notification d'un sondage : %s",
"Poll's participation: %s": "Participation au sondage : %s",
"Someone just change your poll available at the following link %s.": "Quelqu'un·e vient de modifier votre sondage accessible au lien suivant <a href=\"%1$s\">%1$s</a>.",
@ -269,7 +272,8 @@
"You have to provide a password so you can participate to the poll.": "Vous devez donner le mot de passe pour pouvoir participer à ce sondage.",
"You have to provide a password to access the poll.": "Vous devez donner le mot de passe pour avoir accès à ce sondage."
},
"Poll results": {
"Poll results": {
"Add a column": "Ajouter une colonne",
"Addition": "Somme",
"Best choice": "Meilleur choix",
"Best choices": "Meilleurs choix",
@ -277,14 +281,15 @@
"Display the chart of the results": "Afficher le graphique des résultats",
"Edit the line: %s": "Modifier la ligne : %s",
"Link to edit this particular line": "Lien pour éditer cette ligne",
"Link to edit this particular line has been copied inside the clipboard!": "The link to edit this particular line has been copied to the clipboard!",
"Link to edit this particular line has been copied inside the clipboard!": "Le lien pour l'édition de cette ligne a été copié dans le presse-papier !",
"Link to edit this particular line has been copied!": "Le lien pour l'édition de cette ligne a été copié!",
"Remove the line:": "Supprimer la ligne :",
"Save the choices": "Enregistrer les choix",
"Scroll to the left": "Faire défiler à gauche",
"Scroll to the right": "Faire défiler à droite",
"The best choice at this time is:": "Pour l'instant, le choix ayant reçu le plus grand nombre de votes est :",
"The bests choices at this time are:": "Pour l'instant, les choix ayant reçu le plus grand nombre de votes sont :",
"Vote ifneedbe for": "Vote under reserve for",
"Vote ifneedbe for": "Si nécessaire",
"Vote no for": "Voter « non » pour",
"Vote yes for": "Voter « oui » pour",
"Votes of the poll": "Votes du sondage",
@ -396,7 +401,7 @@
"You can add or remove additionnal days and hours with the buttons": "Vous pouvez ajouter ou supprimer des jours et horaires supplémentaires avec les boutons"
},
"Step 3": {
"Archiving date:": "Date d'archivage :",
"Archiving date:": "Date d'expiration :",
"Back to step 2": "Revenir à létape 2",
"Confirm the creation of your poll": "Confirmez la création de votre sondage",
"Create the poll": "Créer le sondage",
@ -404,10 +409,10 @@
"Once you have confirmed the creation of your poll, you will be automatically redirected on the administration page of your poll.": "Une fois que vous aurez confirmé la création du sondage, vous serez redirigé·e automatiquement vers la page d'administration de votre sondage.",
"Removal date and confirmation (3 on 3)": "Date d'expiration et confirmation (3 sur 3)",
"Then, you will receive quickly two emails: one contening the link of your poll for sending it to the voters, the other contening the link to the administration page of your poll.": "En même temps, vous recevrez deux courriels : l'un contenant le lien vers votre sondage pour le faire suivre aux futur·e·s sondé·e·s, l'autre contenant le lien vers la page d'administration du sondage.",
"You can set a closer archiving date for it.": "Vous pouvez décider d'une date d'archivage plus proche.",
"Your poll will automatically be archived": "Votre sondage sera automatiquement archivé",
"You can set a closer archiving date for it.": "Vous pouvez décider d'une date d'expiration plus proche.",
"Your poll will automatically be archived": "Votre sondage expirera automatiquement dans",
"Your poll will be automatically archived in %d days.": "Votre sondage sera automatiquement archivé dans %d jours.",
"after the last date of your poll.": "après le dernier jour de votre sondage."
"after the last date of your poll.": " à partir d'aujourd'hui. Il sera définitivement supprimé 60 jours après son expiration."
},
"adminstuds": {
"Add a column": "Ajouter une colonne",

454
locale/gl.json Normal file
View File

@ -0,0 +1,454 @@
{
"1st section": {
"Define dates or subjects to choose": "Define dates or subjects to choose from",
"Discuss and make a decision": "Discuss and make a decision",
"Do you want to": "Do you want to",
"Framadate is an online service for planning an appointment or make a decision quickly and easily. No registration is required.": "Framadate is an online service for planning an appointment or making a decision quickly and easily. No registration is required.",
"Here is how it works:": "Here is how it works:",
"Make a poll": "Create a poll",
"Send the poll link to your friends or colleagues": "Send the poll link to your friends or colleagues",
"What is that?": "What is Framadate?",
"view an example?": "view an example?"
},
"2nd section": {
"CeCILL-B license": "CeCILL-B license",
"Framadate was initially based on ": "Framadate was initially based on ",
"It is governed by the": "Framadate is licensed under the",
"The software": "The software",
"This software needs javascript and cookies enabled. It is compatible with the following web browsers:": "This software needs JavaScript and cookies enabled. It is compatible with the following web browsers:",
"a software developed by the University of Strasbourg. Today, it is devevoped by the association Framasoft.": "software developed by the University of Strasbourg. These days, it is developed by the Framasoft association."
},
"3rd section": {
"Cultivate your garden": "Cultivate your garden",
"If you want to install the software for your own use and thus increase your independence, we help you on:": "If you want to install the software for your own use and thus increase your independence, we can help you at:",
"To participate in the software development, suggest improvements or simply download it, please visit ": "To participate in the software development, suggest improvements or simply download it, please visit ",
"the development site": "the development site"
},
"Admin": {
"Actions": "Accións",
"Administration": "Administración",
"Author": "Autor",
"Back to administration": "Volver á admininistración",
"Change the poll": "Mudar enquisa",
"Confirm removal of the poll": "Confirm removal of your poll",
"Deleted the poll": "Eliminar a enquisa",
"Email": "Email",
"Expiration date": "Expiry date",
"Fail": "Fallo",
"Failed:": "Con fallo:",
"Format": "Formato",
"Installation": "Instalación",
"Logs": "Rexistros",
"Migration": "Migración",
"Nothing": "Nada",
"Pages:": "Páxinas:",
"Poll ID": "ID da enquisa",
"Polls": "Enquisas",
"Purge": "Purgar",
"Purge the polls": "Purgar as enquisas",
"Purged:": "Purgado:",
"See the poll": "Ver a enquisa",
"Skipped:": "Ignorado:",
"Succeeded:": "Con éxito:",
"Success": "Éxito",
"Summary": "Sumario",
"Title": "Title of the poll",
"Votes": "Votos",
"polls in the database at this time": "enquisas na base de datos neste momento"
},
"Check": {
"Check again": "Check again",
"Consider enabling the PHP extension OpenSSL for increased security.": "Consider enabling the PHP extension OpenSSL for increased security.",
"Consider setting the date.timezone in php.ini.": "Consider setting the date.timezone in php.ini.",
"Consider setting « session.cookie_httponly = 1 » inside your php.ini or add « php_value session.cookie_httponly 1 » to your .htaccess so that cookies can't be accessed through Javascript.": "Consider setting « session.cookie_httponly = 1 » inside your php.ini or add « php_value session.cookie_httponly 1 » to your .htaccess so that cookies can't be accessed through Javascript.",
"Continue the installation": "Continue the installation",
"Cookies are served from HTTP only.": "Cookies are served from HTTP only.",
"Installation checking": "Installation checking",
"OpenSSL extension loaded.": "OpenSSL extension loaded.",
"PHP Intl extension is enabled.": "PHP Intl extension is enabled.",
"PHP version %s is enough (needed at least PHP %s).": "PHP version %s is enough (needed at least PHP %s).",
"The config file directory (%s) is not writable and the config file (%s) does not exists.": "The config file directory (%s) is not writable and the config file (%s) does not exists.",
"The config file directory (%s) is writable.": "The config file directory (%s) is writable.",
"The config file exists.": "The config file exists.",
"The template compile directory (%s) doesn't exist in \"%s\". Retry the installation process.": "The template compile directory (%s) doesn't exist in \"%s\". Retry the installation process.",
"The template compile directory (%s) is not writable.": "The template compile directory (%s) is not writable.",
"The template compile directory (%s) is writable.": "The template compile directory (%s) is writable.",
"You need to enable the PHP Intl extension.": "You need to enable the PHP Intl extension.",
"Your PHP version (%s) is too old. This application needs at least PHP %s.": "Your PHP version (%s) is too old. This application needs at least PHP %s.",
"date.timezone is set.": "date.timezone is set."
},
"Comments": {
"Add a comment to the poll": "Add a comment to the poll",
"Comment added": "Comment saved",
"Comments of polled people": "Comments",
"Remove the comment": "Remove comment",
"Send the comment": "Submit comment",
"Your comment": "Comment",
"anonyme": "anonyme"
},
"Date": {
"Add range dates": "Add range dates",
"DATE": "%Y-%m-%d",
"DATETIME": "%m/%d/%Y %H:%M",
"DAY": "%a %e",
"End date": "End date",
"FULL": "%A, %B %e, %Y",
"MONTH_YEAR": "%B %Y",
"Max dates count": "You can select at most 4 months",
"SHORT": "%A %e %B %Y",
"Start date": "Start date",
"datepicker": "yyyy-mm-dd",
"datetime_parseformat": "Y-m-d",
"dd/mm/yyyy": "jj/mm/aaaa"
},
"EditLink": {
"Edit link for poll \"%s\"": "Edit link for poll \"%s\"",
"Here is the link for editing your vote:": "Here is the link for editing your vote:",
"If you don't want to lose your personalized link, we can send it to your email.": "If you don't want to lose your personalized link, we can send it to your email.",
"Please wait %d seconds before we can send an email to you then try again.": "Please wait %d seconds before we can send an email to you then try again.",
"REMINDER": "REMINDER",
"Send": "Send",
"The email address is not correct.": "The email address is not correct.",
"Your reminder has been successfully sent!": "Your reminder has been successfully sent!"
},
"Error": {
"Adding vote failed": "Adding vote failed",
"CANT_CONNECT_TO_DATABASE": "Unable to connect to database",
"Can't create an empty column.": "Can't create an empty column.",
"Can't create the config.php file in '%s'.": "Can't create the config.php file in '%s'.",
"Comment failed": "Comment failed",
"Cookies are disabled on your browser. Theirs activation is required to create a poll.": "Cookies are disabled on your browser. They are required to be able to create a poll.",
"Enter a name": "Enter a name",
"Enter a name and a comment!": "Enter a name and a comment!",
"Enter a title": "Enter a title",
"Enter an email address": "Enter an email address",
"Error on amount of voters limitation : value must be an integer greater than 0": "Error on amount of voters limitation: Value must be an integer greater than 0",
"Error!": "Error!",
"Failed to delete all comments": "Failed to delete all comments",
"Failed to delete all votes": "Failed to delete all votes",
"Failed to delete column": "Failed to delete column",
"Failed to delete the comment": "Failed to delete the comment",
"Failed to delete the poll": "Failed to delete the poll",
"Failed to delete the vote!": "Failed to delete the vote!",
"Failed to insert the comment!": "Failed to insert the comment!",
"Failed to save poll": "Failed to save poll",
"Forbidden!": "Forbidden!",
"Framadate is not properly installed, please check the \"INSTALL\" to setup the database before continuing.": "Framadate is not properly installed, please see the 'INSTALL' file for instructions on setting up the database before continuing.",
"Javascript is disabled on your browser. Its activation is required to create a poll.": "JavaScript is disabled on your browser. It is required to create a poll.",
"MISSING_VALUES": "Missing values",
"No polls found": "No polls found",
"Password is empty": "Password is empty.",
"Passwords do not match": "Passwords do not match.",
"Poll has been updated before you vote": "Poll has been updated before you vote",
"Poll id already used": "Identifier is already used",
"Something is going wrong...": "Something has gone wrong...",
"Something is wrong with the format": "Something is wrong with the format",
"Something is wrong with the format: customized urls should only consist of alphanumeric characters and hyphens.": "Something is wrong with the format: Customized URLs should only consist of alphanumeric characters and hyphens.",
"Something is wrong with the format: name shouldn't have any spaces before or after": "Something is wrong with the format: name shouldn't have any spaces before or after",
"The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.",
"The column already exists": "The column already exists",
"The name is invalid.": "The name is invalid.",
"The name you've chosen already exist in this poll!": "The name you've chosen already exists in this poll!",
"There is a problem with your choices": "There is a problem with your choices",
"This poll doesn't exist !": "This poll doesn't exist!",
"Update vote failed": "Update vote failed",
"You already voted": "You already voted",
"You can't create a poll with hidden results with the following edition option:": "You can't create a poll with hidden results with the following option: ",
"You can't select more than %d dates": "You can't select more than %d dates",
"You haven't filled the first section of the poll creation.": "You haven't filled in the first section of the poll.",
"Your vote wasn't counted, because someone voted in the meantime and it conflicted with your choices and the poll conditions. Please retry.": "Your vote wasn't counted, because someone voted in the meantime and it conflicted with your choices and the poll conditions. Please retry."
},
"FindPolls": {
"Have a good day!": "Have a good day!",
"Here is the list of the polls that you manage on %s:": "Here is the list of the polls that you manage on %s:",
"If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.": "If you weren't the source of this action and if you think this is an abuse of the service, please notify the administrator on %s.",
"List of your polls": "List of your polls",
"PS: this email has been sent because you or someone else asked to get back the polls created with your email address.": "PS: this email has been sent because you or someone else asked to get back the polls created with your email address.",
"Polls sent": "Enquisas enviadas",
"Send me my polls": "Envíame as miñas enquisas"
},
"Generic": {
"(in the format name@mail.com)": "(in the format name@mail.com)",
"ASTERISK": "*",
"Add": "Engadir",
"Back": "Volver",
"Back to the homepage of": "Volver á páxina de inicio de",
"Cancel": "Cancelar",
"Caption": "Caption",
"Choice": "Escolla",
"Classic": "Clásica",
"Close": "Pechar",
"Creation date:": "Data de creación:",
"Date": "Data",
"Day": "Día",
"Description": "Descrición",
"Edit": "Modificar",
"Framadate is an online service for planning an appointment or make a decision quickly and easily.": "Framadate is an online service for planning an appointment or make a decision quickly and easily.",
"Home": "Inicio",
"Ifneedbe": "Se é preciso",
"Legend:": "Lenda:",
"Link": "Ligazón",
"Make your polls": "Fai as túas enquisas",
"Markdown": "Markdown",
"Next": "Seguinte",
"No": "Non",
"Page generated in": "Páxina xerada en",
"Poll": "Enquisa",
"Remove": "Eliminar",
"Save": "Gardar",
"Search": "Buscar",
"Time": "Hora",
"Validate": "Validar",
"Yes": "Si",
"Your email address": "Teu enderezo de correo electrónico",
"Your name": "Teu nome",
"days": "días",
"for": "for",
"months": "meses",
"seconds": "segundos",
"vote": "voto",
"votes": "votos",
"with": "con"
},
"Homepage": {
"Make a classic poll": "Facer unha enquisa clásica",
"Schedule an event": "Programar unha actividade",
"Where are my polls": "Onde están as miñas enquisas?"
},
"Installation": {
"AppMail": "Administrator mail address",
"AppName": "Application name",
"CleanUrl": "Clean URL",
"Database": "Database name",
"DbConnectionString": "Connection string",
"DbPassword": "Password",
"DbPrefix": "Prefix",
"DbUser": "User",
"DefaultLanguage": "Default language",
"General": "General",
"Install": "Install",
"MigrationTable": "Migration table",
"ResponseMail": "Respond-to mail address"
},
"Language selector": {
"Change the language": "Mudar idioma",
"Select the language": "Escoller idioma"
},
"Mail": {
"Author's message": "Author's message",
"FOOTER": "",
"For sending to the polled users": "Participant link",
"Notification of poll: %s": "Notification of poll: %s",
"Poll's participation: %s": "Poll participation: %s",
"Someone just change your poll available at the following link %s.": "Someone just changed your poll at the following link <a href=\"%1$s\">%1$s</a>.",
"Someone just delete your poll %s.": "Someone just deleted your poll \"%s\".",
"Thanks for filling the poll at the link above": "Please fill in the poll at the link above",
"Thanks for your trust.": "Thank you for your trust.",
"This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.": "This is the message to forward to the poll participants.",
"This message should NOT be sent to the polled people. It is private for the poll's creator.\n\nYou can now modify it at the link above": "This message should NOT be sent to the poll participants. You should keep it private. <br/><br/>You can modify your poll at the link above",
"You have changed the settings of your poll. \nYou can modify this poll with this link": "You have changed the settings of your poll.<br/>You can modify this poll with this link",
"[ADMINISTRATOR] New settings for your poll": "[ADMINISTRATOR] New settings for your poll",
"filled a vote.\nYou can find your poll at the link": "added a vote.<br/>You can visit your poll at the link",
"hast just created a poll called": "has just created a poll called",
"updated a vote.\nYou can find your poll at the link": "updated a vote.<br/>You can visit your poll at the link",
"wrote a comment.\nYou can find your poll at the link": "wrote a comment.<br/>You can visit your poll at the link"
},
"Maintenance": {
"Thank you for your understanding.": "Grazas pola túa comprensión.",
"The application": "O aplicativo",
"is currently under maintenance.": "está neste momento en mantemento."
},
"Password": {
"Password": "Password",
"Submit access": "Submit access",
"Wrong password": "Wrong password",
"You have to provide a password so you can participate to the poll.": "You have to provide a password so you can participate to the poll.",
"You have to provide a password to access the poll.": "You have to provide a password to access the poll."
},
"Poll results": {
"Addition": "Total",
"Best choice": "Best choice",
"Best choices": "Best choices",
"Chart": "Chart",
"Display the chart of the results": "Display the chart of the results",
"Edit the line: %s": "Edit line: %s",
"Link to edit this particular line": "Link to edit this particular line",
"Link to edit this particular line has been copied inside the clipboard!": "The link to edit this particular line has been copied to the clipboard!",
"Remove the line:": "Remove line:",
"Save the choices": "Save choices",
"Scroll to the left": "Scroll to the left",
"Scroll to the right": "Scroll to the right",
"The best choice at this time is:": "The current best choice is:",
"The bests choices at this time are:": "The current best choices are:",
"Vote ifneedbe for": "Vote \"ifneedbe\" for",
"Vote no for": "Vote \"no\" for",
"Vote yes for": "Vote \"yes\" for",
"Votes of the poll": "Votes",
"polled user": "polled user",
"polled users": "polled users"
},
"PollInfo": {
"Admin link of the poll": "Admin link for the poll",
"Cancel the description edit": "Cancel the description edit",
"Cancel the email address edit": "Cancel the email address edit",
"Cancel the expiration date edit": "Cancel the expiration date edit",
"Cancel the name edit": "Cancel the name edit",
"Cancel the rules edit": "Cancel the rules edit",
"Cancel the title edit": "Cancel the title edit",
"Edit the description": "Edit the description",
"Edit the email adress": "Edit the email address",
"Edit the expiration date": "Edit the expiry date",
"Edit the name": "Edit name",
"Edit the poll rules": "Edit the poll rules",
"Edit the title": "Edit title",
"Email": "Email",
"Expiration date": "Expiry date",
"Export to CSV": "Export to CSV",
"Initiator of the poll": "Initiator of the poll",
"No password": "No password",
"Only votes are protected": "Only votes are protected",
"Password protected": "Password protected",
"Poll rules": "Poll rules",
"Print": "Print",
"Public link of the poll": "Public link to the poll",
"Remove all the comments": "Remove all the comments",
"Remove all the votes": "Remove all the votes",
"Remove password": "Remove password",
"Remove the poll": "Remove the poll",
"Results are hidden": "Results are hidden",
"Results are visible": "Results are visible",
"Rich editor": "Rich editor",
"Save the description": "Save the description",
"Save the email address": "Save the email address",
"Save the new expiration date": "Save the new expiration date",
"Save the new name": "Save the new name",
"Save the new rules": "Save the new rules",
"Save the new title": "Save the new title",
"Simple editor": "Simple editor",
"Title": "Title of the poll",
"Votes and comments are locked": "Votes and comments are locked",
"Votes protected by password": "Votes protected by password"
},
"Step 1": {
"All voters can modify any vote": "All voters can modify any vote",
"Customize the URL": "Customize the URL",
"Go to step 2": "Go to step 2",
"Limit the amount of voters per option": "Limit the amount of voters per option",
"More informations here:": "More informations here:",
"Only the poll maker can see the poll's results": "Only the poll maker can see the poll results",
"Optional parameters": "Optional parameters",
"Password choice": "Choice",
"Password confirmation": "Confirmation",
"Permissions": "Permissions",
"Poll creation (1 on 3)": "Poll creation (1 of 3)",
"Poll id": "Poll link",
"Poll id rules": "The identifier can contain letters, numbers and dashes \"-\".",
"Poll id warning": "By defining an identifier that can facilitate access to the poll for unwanted people. It is recommended to protect it with a password.",
"Poll password": "Password",
"Poll title": "Poll title",
"Required fields cannot be left blank.": "Required fields cannot be left blank.",
"The results are publicly visible": "The results are publicly visible",
"To make the description more attractive, you can use the Markdown format.": "To make the description more attractive, you can use the Markdown format.",
"To receive an email for each new comment": "Receive an email for each new comment",
"To receive an email for each new vote": "Receive an email for each new vote",
"Use a password to restrict access": "Use a password to restrict access",
"Value Max": "Value Max",
"ValueMax instructions": "voters per options ",
"Voters can modify their vote themselves": "Voters can modify their vote themselves",
"Votes cannot be modified": "Votes cannot be modified",
"You are in the poll creation section.": "You are in the poll creation section.",
"You can enable or disable the editor at will.": "You can enable or disable the editor at will."
},
"Step 2": {
"Back to step 1": "Return to step 1",
"Go to step 3": "Go to step 3"
},
"Step 2 classic": {
"Add a choice": "Add a choice",
"Add a link or an image": "Add a link or an image",
"Alternative text": "Alternative text",
"It's possible to propose links or images by using": "Links or images can be included using",
"Poll subjects (2 on 3)": "Poll options (2 of 3)",
"Remove a choice": "Remove a choice",
"These fields are optional. You can add a link, an image or both.": "These fields are optional. You can add a link, an image or both.",
"To make a generic poll you need to propose at least two choices between differents subjects.": "To create a poll you should provide at least two different choices.",
"URL of the image": "URL of the image",
"You can add or remove additional choices with the buttons": "You can add or remove choices with the buttons",
"the Markdown syntax": "Markdown syntax"
},
"Step 2 date": {
"Add a day": "Add a day",
"Add an hour": "Add a time slot",
"Choose the dates of your poll": "Choose dates for your poll",
"Copy hours of the first day": "Copy times from the first day",
"For each selected day, you can choose, or not, meeting hours (e.g.: \"8h\", \"8:30\", \"8h-10h\", \"evening\", etc.)": "For each selected day, you are free to suggest meeting times (e.g., \"8h\", \"8:30\", \"8h-10h\", \"evening\", etc.)",
"Poll dates (2 on 3)": "Poll dates (2 of 3)",
"Remove a day": "Remove a day",
"Remove all days": "Remove all days",
"Remove all hours": "Remove all times",
"Remove an hour": "Remove a time slot",
"Remove this day": "Remove this day",
"To schedule an event you need to propose at least two choices (two hours for one day or two days).": "To schedule an event you need to provide at least two choices (e.g., two time slots on one day or two days).",
"You can add or remove additionnal days and hours with the buttons": "You can add or remove additional days and times with the buttons"
},
"Step 3": {
"Archiving date:": "Expiry date:",
"Back to step 2": "Back to step 2",
"Confirm the creation of your poll": "Confirm the creation of your poll",
"Create the poll": "Create the poll",
"List of your choices": "List of options",
"Once you have confirmed the creation of your poll, you will be automatically redirected on the administration page of your poll.": "Once you have confirmed the creation of your poll, you will automatically be redirected to the poll's administration page.",
"Removal date and confirmation (3 on 3)": "Removal date and confirmation (1 of 3)",
"Then, you will receive quickly two emails: one contening the link of your poll for sending it to the voters, the other contening the link to the administration page of your poll.": "Then you will receive two emails: one containing the link of your poll for sending to the participants, the other containing the link to the poll administration page.",
"You can set a closer archiving date for it.": "You can set a specific expiry date for the poll.",
"Your poll will automatically be archived": "Your poll will automatically be archived",
"Your poll will be automatically archived in %d days.": "Your poll will be automatically archived in %d days.",
"after the last date of your poll.": "after the last date of your poll."
},
"adminstuds": {
"Add a column": "Add a column",
"All comments deleted": "All comments deleted",
"All votes deleted": "All votes deleted",
"As poll administrator, you can change all the lines of this poll with this button": "As poll administrator, you can change all the lines of this poll with this button",
"Back to the poll": "Back to the poll",
"Choice added": "Choice added",
"Column removed": "Column deleted",
"Column's adding": "Adding a column",
"Comment deleted": "Comment deleted",
"Confirm removal of all comments of the poll": "Confirm removal of all comments",
"Confirm removal of all votes of the poll": "Confirm removal of all votes",
"Confirm removal of the column.": "Confirm removal of the column.",
"Confirm removal of the poll": "Confirm removal of your poll",
"Delete the poll": "Delete the poll",
"Finally, you can change the informations of this poll like the title, the comments or your email address.": "Finally, you can change the properties of this poll such as the title, the comments or your email address.",
"If you just want to add a new hour to an existant date, put the same date and choose a new hour.": "If you just want to add a new time slot to an existing date, add that date here and choose a new time slot.",
"Keep comments": "Keep comments",
"Keep the comments": "Keep the comments",
"Keep the poll": "Keep the poll",
"Keep the votes": "Keep the votes",
"Keep this poll": "Keep this poll",
"Keep votes": "Keep votes",
"Poll fully deleted": "Poll fully deleted",
"Poll saved": "Poll saved",
"Remove the column": "Remove column",
"Remove the comments": "Remove the comments",
"Remove the votes": "Remove the votes",
"The poll is created.": "The poll was created.",
"Vote added": "Vote added",
"Vote deleted": "Vote deleted",
"Vote updated": "Vote updated",
"You can add a new scheduling date to your poll.": "You can add a new scheduling date to your poll.",
"Your poll has been removed!": "Your poll has been removed!",
"and add a new column with": "and add a new column with",
"remove a column or a line with": "remove a column or a line with"
},
"studs": {
"Adding the vote succeeded": "Vote added",
"Deletion date:": "Deletion date:",
"If you want to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line.": "If you want to vote in this poll, you have to give your name, make your choice, and submit it with the plus button at the end of the line.",
"POLL_LOCKED_WARNING": "The administrator locked this poll. Votes and comments are frozen, it is no longer possible to participate",
"The poll is expired, it will be deleted soon.": "The poll has expired, it will soon be deleted.",
"Update vote succeeded": "Vote updated",
"Your vote has been registered successfully, but be careful: regarding this poll options, you need to keep this personal link to edit your own vote:": "Your vote has been saved, but please note: you need to keep this personalised link to be able to edit your vote."
}
}

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Riservato all'autore",
"FOOTER": "« La strada è lunga, ma la via è libera… »<br/> Framasoft vive solo grazie alle vostre donazioni.<br/> Grazie in anticipo per il vostro sostegno https://soutenir.framasoft.org.",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Per diffondere ai partecipanti al sondaggio",
"Notification of poll: %s": "Notifica di sondaggio: %s",
"Poll's participation: %s": "Partecipazione al sondaggio: %s",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Bericht van de auteur",
"FOOTER": "\"The road is long, but the way is clear…\"<br/>Framasoft lives only by your donations.<br/>Thank you in advance for your support https://soutenir.framasoft.org",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Link voor deelnemers",
"Notification of poll: %s": "Bericht van poll: %s",
"Poll's participation: %s": "Poll deelname: %s",

View File

@ -237,7 +237,7 @@
},
"Mail": {
"Author's message": "Reservat a lautor",
"FOOTER": "« La rota es longa, mai lo camin es liure… »<br/>Framasoft viu solament amb vòstres dons (quòm pòt tirar de vòstres impòstes).<br/> Mercé davança pel vòstre sosten https://soutenir.framasoft.org.",
"FOOTER": "April - Promouvoir et défendre le logiciel libre",
"For sending to the polled users": "Per difusion als sondats",
"Notification of poll: %s": "Notificacion dun sondatge:%s",
"Poll's participation: %s": "Participacion al sondatge:%s",

8
phpinfo.php Normal file
View File

@ -0,0 +1,8 @@
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

23
release.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -eu
if [ -z "$1" ]; then
echo "Need version as argument"
exit -1
fi
version="$1"
changelog=$(awk -v version="$version" '/^## / { printit = $2 == version }; printit' CHANGELOG.md | grep -v "## $version" | sed '1{/^$/d}')
printf "Changelog will be:\\n\\n%s\\n\\n" "$changelog"
read -p "Are you sure to release? " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 0
fi
git tag -s -a "$version" -m "$changelog"
git push origin "$version"

View File

@ -15,9 +15,10 @@
{/if}
<h1 class="row col-xs-12 col-sm-10">
<a href="{$SERVER_URL|html}" title="{__('Generic', 'Home')} - {$APPLICATION_NAME|html}" >
<a href="{$SERVER_URL|html}" title="{__('Generic', 'Home')} - {$APPLICATION_NAME|html}" style="float:left;">
<img src="{$TITLE_IMAGE|resource}" alt="{$APPLICATION_NAME|html}" class="img-responsive"/>
</a>
<span style="font-size:small;">&#160;version chapril-{$VERSION|html}</span>
</h1>
{if !empty($title)}<h2 class="lead col-xs-12"><i>{$title|html}</i></h2>{/if}
<div class="trait col-xs-12" role="presentation"></div>

View File

@ -80,13 +80,7 @@
</p>
<p>{__('2nd section', 'This software needs javascript and cookies enabled. It is compatible with the following web browsers:')}</p>
<ul>
<li>Microsoft Internet Explorer 9+</li>
<li>Google Chrome 19+</li>
<li>Firefox 12+</li>
<li>Safari 5+</li>
<li>Opera 11+</li>
</ul>
<p>
{__('2nd section', 'It is governed by the')}
<a href="http://www.cecill.info">{__('2nd section', 'CeCILL-B license')}</a>.

View File

@ -113,8 +113,12 @@
{$k=0}
{foreach $slots as $slot}
{foreach $slot->moments as $moment}
{$choice=$vote->choices[$k]}
{if sizeof($vote->choices)==1 && strlen($vote->choices[0])==0}
{$choice=' '}
{else}
{$choice=$vote->choices[$k]}
{/if}
<td class="bg-info" headers="M{$headersM[$k]} D{$headersD[$k]} H{$headersH[$k]}">
<ul class="list-unstyled choice">
@ -176,7 +180,12 @@
{$k=0}
{foreach $slots as $slot}
{foreach $slot->moments as $moment}
{$choice=$vote->choices[$k]}
{if sizeof($vote->choices)==1 && strlen($vote->choices[0])==0}
{$choice=' '}
{else}
{$choice=$vote->choices[$k]}
{/if}
{if $choice=='2'}
<td class="bg-success text-success" headers="M{$headersM[$k]} D{$headersD[$k]} H{$k}"><i class="glyphicon glyphicon-ok"></i><span class="sr-only">{__('Generic', 'Yes')}</span></td>