i18n: adds a check on missing translation keys in locale/*.json file

This commit adds a script to check all keys from translation files to
make sure no missing keys / no translation files are incorrect.

Even if missing keys should not happen (because we use a script to add
keys automatically) this script made helped to understand that all
three `ar`, `eo` and `fr_FR` translation files were completly off
compared to the `en.json` file.

I believe we can safely delete `ar`, `eo` and `fr_FR` locales from
Zanata (because those languages are not set in the ALLOWED_LANGUAGES
config array). ⚠️ this needs to be check in the production `config.php`
file ⚠️.

Deleting the `fr_FR` locale file should solve both !358 and #395

closes !358 #395
This commit is contained in:
Paul B 2019-04-16 14:46:59 +02:00
parent 80336b431e
commit 64f086c04f
No known key found for this signature in database
GPG Key ID: DE331B23748D3A27
5 changed files with 58 additions and 1451 deletions

View File

@ -17,6 +17,11 @@ test:
paths: paths:
- vendor/ - vendor/
check:missing:trads:
stage: test
script:
- ./scripts/check-translations.py
# check-trad: # check-trad:
# stage: test # stage: test
# allow_failure: true # allow_failure: true

View File

@ -1,454 +0,0 @@
{
"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": "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:",
"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": "Actions",
"Administration": "Administration",
"Author": "Author",
"Back to administration": "Back to administration",
"Change the poll": "Change the poll",
"Confirm removal of the poll": "Confirm removal of the poll ",
"Deleted the poll": "Deleted the poll",
"Email": "Email",
"Expiration date": "Expiry date",
"Fail": "Fail",
"Failed:": "Failed:",
"Format": "Format",
"Installation": "Installation",
"Logs": "Logs",
"Migration": "Migration",
"Nothing": "Nothing",
"Pages:": "الصفحات :",
"Poll ID": "Poll ID",
"Polls": "إستطلاعات الرأي",
"Purge": "Purge",
"Purge the polls": "Purge the polls",
"Purged:": "Purged:",
"See the poll": "See the poll",
"Skipped:": "Skipped:",
"Succeeded:": "Succeeded:",
"Success": "Success",
"Summary": "الملخص",
"Title": "Title",
"Votes": "الأصوات",
"polls in the database at this time": "polls in the database at this time"
},
"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": "مواصلة التنصيب",
"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 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": "إضافة تعليق إلى إستطلاع الرأي",
"Comment added": "تم حفظ التعليق",
"Comments of polled people": "التعليقات",
"Remove the comment": "حذف التعليق",
"Send the comment": "إرسال التعليق",
"Your comment": "تعليق",
"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": "yyyy-mm-dd"
},
"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": "تذكير",
"Send": "إرسال",
"The email address is not correct.": "عنوان البريد الإلكتروني غير صحيح.",
"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 votes limitation: Value must be an integer greater than 0",
"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!": "ممنوع !",
"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": "كلمة السر فارغة.",
"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 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!": "طاب نهارك !",
"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 at %s.",
"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": "Polls sent",
"Send me my polls": "Send me my polls"
},
"Generic": {
"(in the format name@mail.com)": "(على نسق name@mail.com)",
"ASTERISK": "*",
"Add": "إضافة",
"Back": "العودة",
"Back to the homepage of": "العودة إلى صفحة",
"Cancel": "إلغاء",
"Caption": "Information",
"Choice": "الخَيار",
"Classic": "عادي",
"Close": "إغلاق",
"Creation date:": "تاريخ الإنشاء :",
"Date": "التاريخ",
"Day": "يوم",
"Description": "الوصف",
"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.",
"Home": "الرئيسية",
"Ifneedbe": "Under reserve",
"Legend:": "Legend:",
"Link": "الرابط",
"Make your polls": "Create your polls",
"Markdown": "Markdown",
"Next": "التالي",
"No": "لا",
"Page generated in": "تم توليد الصفحة في",
"Poll": "Poll",
"Remove": "حذف",
"Save": "حفظ",
"Search": "البحث",
"Time": "الوقت",
"Validate": "Validate",
"Yes": "نعم",
"Your email address": "عنوان بريدك الإلكتروني",
"Your name": "إسمك",
"days": "أيام",
"for": "for",
"months": "أشهر",
"seconds": "ثواني",
"vote": "vote",
"votes": "أصوات",
"with": "with"
},
"Homepage": {
"Make a classic poll": "Make a standard poll",
"Schedule an event": "Schedule an event",
"Where are my polls": "Where are my polls?"
},
"Installation": {
"AppMail": "عنوان البريد الإلكتروني الخاص بالمدير",
"AppName": "إسم التطبيق",
"CleanUrl": "Clean URL",
"Database": "إسم قاعدة البيانات",
"DbConnectionString": "Connection string",
"DbPassword": "كلمة السر",
"DbPrefix": "Prefix",
"DbUser": "المستخدم",
"DefaultLanguage": "اللغة الإفتراضية",
"General": "General",
"Install": "تنصيب",
"MigrationTable": "Migration table",
"ResponseMail": "Respond-to mail address"
},
"Language selector": {
"Change the language": "تغيير اللغة",
"Select the language": "إختيار لغة"
},
"Mail": {
"Author's message": "Message for the author",
"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",
"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": "Thank you for participating in the poll at the following link",
"Thanks 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 following link",
"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.": "نشكرك على تفهمك.",
"The application": "التطبيق",
"is currently under maintenance.": "حاليا تجرى عليها عملية صيانة."
},
"Password": {
"Password": "كلمة السر",
"Submit access": "Submit access",
"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": "العدد الإجمالي",
"Best choice": "Best choice",
"Best choices": "Best choices",
"Chart": "المنحنى البياني",
"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": "Votes under reserve for",
"Vote no for": "Vote \"no\" for",
"Vote yes for": "Vote \"yes\" for",
"Votes of the poll": "الأصوات",
"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 email adress": "تعديل عنوان البريد الإلكتروني",
"Edit the expiration date": "تعديل تاريخ النهاية",
"Edit the name": "تعديل الإسم",
"Edit the poll rules": "Edit the poll rules",
"Edit the title": "تعديل العنوان",
"Email": "البريد الإلكتروني",
"Expiration date": "Expiry date",
"Export to CSV": "Export to CSV",
"Initiator of the poll": "Creator of the poll",
"No password": "No password",
"Only votes are protected": "Only votes are protected",
"Password protected": "Password protected",
"Poll rules": "Poll rules",
"Print": "طباعة",
"Public link of the poll": "Public link to the poll",
"Remove all the comments": "إزالة كافة التعليقات",
"Remove all the votes": "إزالة كافة التصويتات",
"Remove password": "Remove password",
"Remove the poll": "حذف إستطلاع الرأي",
"Results are hidden": "النتائج مخفية",
"Results are visible": "Results are visible",
"Rich editor": "Rich editor",
"Save the description": "حفظ الوصف",
"Save the email address": "حفظ عنوان البريد الإلكتروني",
"Save the new expiration date": "Save the new expiration date",
"Save the new name": "حفظ الإسم الجديد",
"Save the new rules": "حفظ القواعد الجديدة",
"Save the new title": "حفظ العنوان الجديد",
"Simple editor": "محرر بسيط",
"Title": "عنوان موضوع إستطلاع الرأي",
"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": "الإنتقال إلى الخطوة 2",
"Limit the amount of voters per option": "Limit the amount of voters per option",
"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": "التصريحات",
"Poll creation (1 on 3)": "Poll creation (1 of 3)",
"Poll id": "رابط إستطلاع الرأي",
"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": "كلمة السر",
"Poll title": "عنوان موضوع إستطلاع الرأي",
"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": "votes 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": "العودة إلى المرحلة 1",
"Go to step 3": "الإنتقال إلى الخطوة 3"
},
"Step 2 classic": {
"Add a choice": "إضافة خيار",
"Add a link or an image": "إضافة رابط أو صورة",
"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": "حذف خيار",
"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": "عنوان رابط الصورة",
"You can add or remove additional choices with the buttons": "بإمكانك إضافة أو حذف خيارات بالنقر على الأزرار",
"the Markdown syntax": "Markdown syntax"
},
"Step 2 date": {
"Add a day": "إضافة يوم",
"Add an hour": "إضافة مدة زمنية",
"Choose the dates of 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": "قائمة الخيارات",
"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",
"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": "إضافة عمود",
"All comments 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": "العودة إلى إستطلاع الرأي",
"Choice added": "Choice added",
"Column removed": "تم حذف العمود",
"Column's adding": "Adding a column",
"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": "حذف إستطلاع الرأي",
"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 the comments": "الإحتفاظ بالتعليقات",
"Keep the poll": "الإحتفاظ باستطلاع الرأي",
"Keep the votes": "الإحتفاظ على الأصوات",
"Keep this poll": "Keep this poll",
"Keep votes": "Keep votes",
"Poll fully deleted": "تم حذف إستطلاع الرأي بالكامل",
"Poll saved": "تم حفظ إستطلاع الرأي",
"Remove the column": "حذف عمود",
"Remove the comments": "إزالة التعليقات",
"Remove the votes": "حذف الأصوات",
"The poll is created.": "The poll was created.",
"Vote added": "Vote added",
"Vote deleted": "Vote deleted",
"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 by selecting the save 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

@ -1,487 +0,0 @@
{
"1st section": {
"Create a poll": "Create a poll",
"Define dates or subjects to choose from": "Define dates or subjects to choose from",
"Discuss and make a decision": "Discuss and make a decision",
"Do you want to": "Ĉu vi volas",
"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 making a decision quickly and easily. No registration is required.",
"Here is how it works:": "Here is how it works:",
"Send the poll link to your friends or colleagues": "Send the poll link to your friends or colleagues",
"What is Framadate?": "What is Framadate?",
"view an example?": "vidi ekzemplon?"
},
"2nd section": {
"CeCILL-B license": "CeCILL-B license",
"Framadate is licensed under the": "Framadate is licensed under the",
"Framadate was initially based on": "Framadate was initially based on",
"The software": "The software",
"software developed by the University of Strasbourg. These days, it is developed by the Framasoft association.": "software developed by the University of Strasbourg. These days, it is developed by the Framasoft association."
},
"3rd section": {
"Grow your own": "Grow your own",
"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 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": "Actions",
"Administration": "Administration",
"Author": "Author",
"Back to administration": "Back to administration",
"Change the poll": "Change the poll",
"Email": "Email",
"Executed": "Executed",
"Expiry date": "Expiry date",
"Fail": "Fail",
"Failed:": "Failed:",
"Format": "Format",
"Installation": "Installation",
"Logs": "Logs",
"Migration": "Migration",
"Nothing": "Nothing",
"Pages:": "Pages:",
"Poll ID": "Poll ID",
"Poll deleted": "Poll deleted",
"Polls": "Polls",
"Purge": "Purge",
"Purge the polls": "Purge the polls",
"Purged:": "Purged:",
"See the poll": "See the poll",
"Skipped:": "Skipped:",
"Status": "Status",
"Succeeded:": "Succeeded:",
"Success": "Success",
"Summary": "Summary",
"Title": "Title",
"Votes": "Votes",
"Waiting": "Waiting",
"polls in the database at this time": "polls in the database at this time"
},
"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": "Comment",
"Comment saved": "Comment saved",
"Comments": "Comments",
"Enter your name and comment prior to submitting the form": "Enter your name and comment prior to submitting the form",
"Remove comment": "Remove comment",
"Submit comment": "Submit comment"
},
"Date": {
"%A %e %B %Y": "%A %e %B %Y",
"%A, %B %e, %Y": "%A, %B %e, %Y",
"%B %Y": "%B %Y",
"%Y-%m-%d": "%Y-%m-%d",
"%a %e": "%a %e",
"%m/%d/%Y %H:%M": "%m/%d/%Y %H:%M",
"Add range dates": "Add range dates",
"End date": "End date",
"Start date": "Start date",
"Y-m-d": "Y-m-d",
"You can select at most 4 months": "You can select at most 4 months",
"yyyy-mm-dd": "yyyy-mm-dd"
},
"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 you by email.": "If you don't want to lose your personalized link, we can send it to you by 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",
"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. They are required to be able 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 votes limitation: Value must be an integer greater than 0": "Error on amount of votes 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!",
"Identifier is already used": "Identifier is already used",
"JavaScript is disabled on your browser. It 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",
"Something has gone 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 exists 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 identifier is not allowed": "This identifier is not allowed",
"This poll doesn't exist!": "This poll doesn't exist!",
"Unable to connect to database": "Unable to connect to database",
"Update vote failed": "Update vote failed",
"You already voted": "You already voted",
"You can't create a poll with hidden results with the following 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, or your session has expired.": "You haven't filled the first section of the poll creation, or your session has expired.",
"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": {
"Address": "Address",
"Created polls": "Created polls",
"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 at %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 at %s.",
"Its address": "Its address",
"Last access date": "Last access date",
"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 saved inside this browser": "Polls saved inside this browser",
"Polls sent": "Polls sent",
"Remove all my polls from this browser's index": "Remove all my polls from this browser's index",
"Remove poll from index": "Remove poll from index",
"Send me my polls": "Send me my polls",
"Send my polls by email": "Send my polls by email",
"The date you created or last accessed the poll": "The date you created or last accessed the poll",
"The title of the poll": "The title of the poll",
"There are no polls saved inside your browser yet": "There are no polls saved inside your browser yet",
"Title": "Title",
"To delete this data click the trashcan on the according line or click the « delete my polls index » option. This won't delete your polls.": "To delete this data click the trashcan on the according line or click the « delete my polls index » option. This won't delete your polls.",
"To help you find your previous polls, we save each poll you create or access inside your browser. This data is saved inside this browser only. The following data will be saved:": "To help you find your previous polls, we save each poll you create or access inside your browser. This data is saved inside this browser only. The following data will be saved:",
"Visited polls": "Visited polls"
},
"Generic": {
"(in the format name@mail.com)": "(in the format name@mail.com)",
"Add": "Add",
"Back": "Back",
"Back to the homepage of": "Back to the homepage of",
"Cancel": "Cancel",
"Choice": "Choice",
"Classic": "Classic",
"Close": "Close",
"Create your own polls": "Create your own polls",
"Creation date:": "Creation date:",
"Date": "Date",
"Day": "Day",
"Description": "Description",
"Edit": "Edit",
"Framadate is an online service for planning an appointment or making a decision quickly and easily.": "Framadate is an online service for planning an appointment or making a decision quickly and easily.",
"Home": "Home",
"Information": "Information",
"Legend:": "Legend:",
"Link": "Link",
"Markdown": "Markdown",
"Next": "Next",
"No": "No",
"Page generated in": "Page generated in",
"Poll": "Poll",
"Remove": "Remove",
"Save": "Save",
"Search": "Search",
"Time": "Time",
"Under reserve": "Under reserve",
"Validate": "Validate",
"Yes": "Yes",
"Your email address": "Your email address",
"Your name": "Your name",
"days": "days",
"for": "for",
"months": "months",
"seconds": "seconds",
"vote": "vote",
"votes": "votes",
"with": "with"
},
"Homepage": {
"Make a standard poll": "Make a standard poll",
"Schedule an event": "Schedule an event",
"Where are my polls?": "Where are my polls?"
},
"Installation": {
"Administrator mail address": "Administrator mail address",
"Application name": "Application name",
"Clean URL": "Clean URL",
"Database driver": "Database driver",
"Database hostname": "Database hostname",
"Database name": "Database name",
"Database port": "Database port",
"Default language": "Default language",
"General": "General",
"Install": "Install",
"Migration table": "Migration table",
"Password": "Password",
"Prefix": "Prefix",
"Respond-to mail address": "Respond-to mail address",
"User": "User"
},
"Language selector": {
"Change language": "Change language",
"Select language": "Select language"
},
"Mail": {
"\"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": "\"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": "Message for the author",
"Notification of poll: %s": "Notification of poll: %s",
"Participant link": "Participant link",
"Poll participation: %s": "Poll participation: %s",
"Someone just changed your poll at the following link <a href=\"%1$s\">%1$s</a>.": "Someone just changed your poll at the following link <a href=\"%1$s\">%1$s</a>.",
"Someone just deleted your poll \"%s\".": "Someone just deleted your poll \"%s\".",
"Thank you for participating in the poll at the following link": "Thank you for participating in the poll at the following link",
"Thank you for your trust.": "Thank you for your trust.",
"This is the message to forward to the poll participants.": "This is the message to forward to the poll participants.",
"This message should NOT be sent to the poll participants. You should keep it private. <br/><br/>You can modify your poll at the following link": "This message should NOT be sent to the poll participants. You should keep it private. <br/><br/>You can modify your poll at the following link",
"added a vote.<br/>You can visit your poll at the link": "added a vote.<br/>You can visit your poll at the link",
"has just created a poll called": "has just created a poll called",
"updated a vote.<br/>You can visit your poll at the link": "updated a vote.<br/>You can visit your poll at the link",
"wrote a comment.<br/>You can visit your poll at the link": "wrote a comment.<br/>You can visit your poll at the link"
},
"Maintenance": {
"Thank you for your understanding.": "Thank you for your understanding.",
"The application": "The application",
"is currently under maintenance.": "is currently under maintenance."
},
"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": {
"%s option": "%s option",
"Anyone will be able to see your email address after you voted": "Anyone will be able to see your email address after you voted",
"Best choice": "Best choice",
"Best choices": "Best choices",
"Chart": "Chart",
"Display the chart of the results": "Display the chart of the results",
"Edit line: %s": "Edit line: %s",
"Link to edit this particular line": "Link to edit this particular line",
"Remove line:": "Remove line:",
"Save choices": "Save choices",
"Scroll to the left": "Scroll to the left",
"Scroll to the right": "Scroll to the right",
"The current best choice is:": "The current best choice is:",
"The current best choices are:": "The current best choices are:",
"The link to edit this particular line has been copied to the clipboard!": "The link to edit this particular line has been copied to the clipboard!",
"Total": "Total",
"Vote \"no\" for": "Vote \"no\" for",
"Vote \"yes\" for": "Vote \"yes\" for",
"Votes": "Votes",
"Votes under reserve for": "Votes under reserve for",
"polled user": "polled user",
"polled users": "polled users"
},
"PollInfo": {
"Admin link for 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",
"Creator of the poll": "Creator of the poll",
"Edit name": "Edit name",
"Edit the description": "Edit the description",
"Edit the email address": "Edit the email address",
"Edit the expiry date": "Edit the expiry date",
"Edit the poll rules": "Edit the poll rules",
"Edit title": "Edit title",
"Email": "Email",
"Export to CSV": "Export to CSV",
"No password": "No password",
"Only votes are protected": "Only votes are protected",
"Password protected": "Password protected",
"Poll rules": "Poll rules",
"Print": "Print",
"Public link to the poll": "Public link to the poll",
"Remove all comments": "Remove all comments",
"Remove all votes": "Remove all 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 of the poll": "Title of the poll",
"Voters' email addresses are collected": "Voters' email addresses are collected",
"Voters' email addresses are collected and required": "Voters' email addresses are collected and required",
"Voters' email addresses are collected, required and verified": "Voters' email addresses are collected, required and verified",
"Voters' email addresses are not collected": "Voters' email addresses are not collected",
"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",
"By defining an identifier that can facilitate access to the poll for unwanted people. It is recommended to protect it with a password.": "By defining an identifier that can facilitate access to the poll for unwanted people. It is recommended to protect it with a password.",
"Choice": "Choice",
"Collect voters' email addresses": "Collect voters' email addresses",
"Confirmation": "Confirmation",
"Customize the URL": "Customize the URL",
"Email addresses are collected but not required": "Email addresses are collected but not required",
"Email addresses are not collected": "Email addresses are not collected",
"Email addresses are required": "Email addresses are required",
"Email addresses are required and verified": "Email addresses are required and verified",
"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 results": "Only the poll maker can see the poll results",
"Optional parameters": "Optional parameters",
"Password": "Password",
"Permissions": "Permissions",
"Poll creation (1 of 3)": "Poll creation (1 of 3)",
"Poll id": "Poll link",
"Poll title": "Poll title",
"Receive an email for each new comment": "Receive an email for each new comment",
"Receive an email for each new vote": "Receive an email for each new vote",
"Required fields cannot be left blank.": "Required fields cannot be left blank.",
"The identifier can contain letters, numbers and dashes \"-\".": "The identifier can contain letters, numbers and dashes \"-\".",
"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.",
"Use a password to restrict access": "Use a password to restrict access",
"Value Max": "Value Max",
"Voters can modify their vote themselves": "Voters can modify their vote themselves",
"Votes cannot be modified": "Votes cannot be modified",
"Warning: Anyone can see the polled users' email addresses since all voters can modify any vote. You should restrict permission rules.": "Warning: Anyone can see the polled users' email addresses since all voters can modify any vote. You should restrict permission rules.",
"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.",
"votes per option": "votes per option"
},
"Step 2": {
"Go to step 3": "Go to step 3",
"Return to step 1": "Return to step 1"
},
"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",
"Links or images can be included using": "Links or images can be included using",
"Markdown syntax": "Markdown syntax",
"Poll options (2 of 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 create a poll you should provide at least two different choices.": "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 choices with the buttons": "You can add or remove choices with the buttons"
},
"Step 2 date": {
"Add a day": "Add a day",
"Add a time slot": "Add a time slot",
"Choose dates for your poll": "Choose dates for your poll",
"Copy times from the first day": "Copy times from the first day",
"For each selected day, you are free to suggest meeting times (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 of 3)": "Poll dates (2 of 3)",
"Remove a day": "Remove a day",
"Remove a time slot": "Remove a time slot",
"Remove all days": "Remove all days",
"Remove all times": "Remove all times",
"Remove this day": "Remove this day",
"To schedule an event you need to provide at least two choices (e.g., two time slots on 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 additional days and times with the buttons": "You can add or remove additional days and times with the buttons"
},
"Step 3": {
"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",
"Expiry date:": "Expiry date:",
"List of options": "List of options",
"Once you have confirmed the creation of your poll, you will automatically be redirected to the poll's administration page.": "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 of 3)": "Removal date and confirmation (3 of 3)",
"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.": "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 specific expiry date for the poll.": "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."
},
"Version": {
"Version: %s": ""
},
"adminstuds": {
"Add a column": "Add a column",
"Adding a column": "Adding 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",
"Collect the emails of the polled users for the choice": "Collect the emails of the polled users for the choice",
"Column deleted": "Column deleted",
"Comment deleted": "Comment deleted",
"Confirm removal of all comments": "Confirm removal of all comments",
"Confirm removal of all votes": "Confirm removal of all votes",
"Confirm removal of the column.": "Confirm removal of the column.",
"Confirm removal of your poll": "Confirm removal of your poll",
"Delete poll": "Delete poll",
"Finally, you can change the properties of this poll such as 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.",
"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 column": "Remove column",
"Remove the comments": "Remove the comments",
"Remove the votes": "Remove the votes",
"The poll was 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"
},
"display_mails": {
"Users who voted \"If need be\" for this option have left those email addresses:": "Users who voted \"If need be\" for this option have left those email addresses:",
"Users who voted \"No\" for this option have left those email addresses:": "Users who voted \"No\" for this option have left those email addresses:",
"Users who voted \"Yes\" for this option have left those email addresses:": "Users who voted \"Yes\" for this option have left those email addresses:"
},
"studs": {
"Deletion date:": "Deletion date:",
"If you want to vote in this poll, you have to give your name, make your choice, and submit it by selecting the save 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 by selecting the save button at the end of the line.",
"The administrator locked this poll. Votes and comments are frozen, it is no longer possible to participate": "The administrator locked this poll. Votes and comments are frozen, it is no longer possible to participate",
"The poll has expired, it will soon be deleted.": "The poll has expired, it will soon be deleted.",
"Vote added": "Vote added",
"Vote updated": "Vote updated",
"Your vote has been saved, but please note: you need to keep this personalised link to be able to edit your 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

@ -1,510 +0,0 @@
{
"1st section": {
"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.",
"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",
"What is that?": "Prise en main",
"view an example?": "voir un exemple ?"
},
"2nd section": {
"CeCILL-B license": "licence CeCILL-B",
"Framadate was initially based on ": "Framadate est 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 :",
"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 :",
"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"
},
"Admin": {
"Actions": "Actions",
"Administration": "Administration",
"Author": "Auteur·rice",
"Back to administration": "Retour à l'administration",
"Change the poll": "Modifier le sondage",
"Confirm removal of the poll": "Confirmer la suppression du sondage",
"Deleted the poll": "Supprimer le sondage",
"Email": "Courriel",
"Executed": "Exécutées",
"Expiration date": "Expiration",
"Fail": "Échec",
"Failed:": "Échec :",
"Format": "Format",
"Installation": "Installation",
"Logs": "Historique",
"Migration": "Migration",
"Nothing": "Rien",
"Pages:": "Pages :",
"Poll ID": "ID sondage",
"Polls": "Sondages",
"Purge": "Purge",
"Purge the polls": "Purger les sondages",
"Purged:": "Purgés :",
"See the poll": "Voir le sondage",
"Skipped:": "Passé :",
"Status": "Statut",
"Succeeded:": "Succès :",
"Success": "Réussite",
"Summary": "Résumé",
"Title": "Titre",
"Votes": "Votes",
"Waiting": "En attente",
"polls in the database at this time": "sondages dans la base actuellement"
},
"Check": {
"Check again": "Vérifier à nouveau",
"Consider enabling the PHP extension OpenSSL for increased security.": "Veuillez considérer l'activation de l'extension PHP OpenSSL pour améliorer la sécurité.",
"Consider setting the date.timezone in php.ini.": "Veuillez considérer la définition de date.timezone dans le 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.": "Pensez à définir « session.cookie_httponly = 1 » dans votre fichier php.ini ou bien ajouter « php_value session.cookie_httponly 1 » à votre fichier .htaccess de telle sorte que les cookies ne puissent pas être accessibles depuis Javascript.",
"Continue the installation": "Continuer l'installation",
"Cookies are served from HTTP only.": "Les cookies sont accessibles uniquement via HTTP.",
"Installation checking": "Vérifications de l'installation",
"OpenSSL extension loaded.": "L'extension PHP OpenSSL est chargée.",
"PHP Intl extension is enabled.": "L'extension PHP Intl est activée.",
"PHP version %s is enough (needed at least PHP %s).": "Version de PHP %s suffisante (nécessite au moins PHP %s).",
"The config file directory (%s) is not writable and the config file (%s) does not exists.": "Le dossier du fichier de configuration (%s) n'est pas accessible en écriture et le fichier de configuration (%s) n'existe pas.",
"The config file directory (%s) is writable.": "Le dossier du fichier de configuration (%s) est accessible en écriture.",
"The config file exists.": "Le fichier de configuration existe.",
"The template compile directory (%s) doesn't exist in \"%s\". Retry the installation process.": "Le dossier de compilation des templates (%s) n'existe pas dans \"%s\". Essayez de relancer l'installation.",
"The template compile directory (%s) is not writable.": "Le dossier de compilation des templates (%s) n'est pas accessible en écriture.",
"The template compile directory (%s) is writable.": "Le dossier de compilation des templates (%s) est accessible en écriture.",
"You need to enable the PHP Intl extension.": "Vous devez activer l'extension PHP Intl.",
"Your PHP version (%s) is too old. This application needs at least PHP %s.": "Votre version de PHP (%s) est trop vieille. Cette application a besoin de PHP %s au moins.",
"date.timezone is set.": "date.timezone est défini."
},
"Comments": {
"Add a comment to the poll": "Ajouter un commentaire au sondage",
"Comment added": "Commentaire ajouté",
"Comments of polled people": "Commentaires de sondé·e·s",
"Remove the comment": "Supprimer le commentaire",
"Send the comment": "Envoyer le commentaire",
"Type your name and a comment to send it": "Entrez votre nom et commentaire avant de soumettre le formulaire",
"Your comment": "Votre commentaire",
"anonyme": "anonyme"
},
"Date": {
"Add range dates": "Ajout d'un intervalle de dates",
"DATE": "%d/%m/%Y",
"DATETIME": "%d-%m-%Y %H:%M",
"DAY": "%a %e",
"End date": "Date de fin",
"FULL": "%A %e %B %Y",
"MONTH_YEAR": "%B %Y",
"Max dates count": "Vous pouvez sélectionner au maximum 4 mois",
"SHORT": "%A %e %B %Y",
"Start date": "Date de début",
"datepicker": "dd/mm/yyyy",
"datetime_parseformat": "d/m/Y",
"dd/mm/yyyy": "jj/mm/aaaa"
},
"EditLink": {
"Edit link for poll \"%s\"": "Lien d'édition du sondage \"%s\"",
"Here is the link for editing your vote:": "Voici le lien pour éditer votre vote :",
"If you don't want to lose your personalized link, we can send it to your email.": "Si vous ne voulez pas oublier votre lien personnalisé, nous pouvons vous l'envoyer par email.",
"Please wait %d seconds before we can send an email to you then try again.": "Veuillez patienter encore %d secondes avant que nous puissions vous envoyer un email, puis réessayez.",
"REMINDER": "RAPPEL",
"Send": "Envoyer",
"The email address is not correct.": "Courriel incorrect.",
"Your reminder has been successfully sent!": "Votre rappel a été envoyé avec succès !"
},
"Error": {
"Adding vote failed": "Échec de l'ajout d'un vote",
"CANT_CONNECT_TO_DATABASE": "Impossible de se connecter à la base de données",
"Can't create an empty column.": "Impossible de créer une colonne vide.",
"Can't create the config.php file in '%s'.": "Impossible de créer le fichier config.php dans '%s'.",
"Comment failed": "Échec du commentaire",
"Cookies are disabled on your browser. Theirs activation is required to create a poll.": "Les cookies sont désactivés sur votre navigateur. Leur activation est requise pour la création d'un sondage.",
"Enter a name": "Vous n'avez pas saisi de nom !",
"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": "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",
"Failed to delete column": "Échec de la suppression de colonne",
"Failed to delete the comment": "Impossible de supprimer le commentaire",
"Failed to delete the poll": "Impossible de supprimer le sondage",
"Failed to delete the vote!": "Échec de la suppression du vote !",
"Failed to insert the comment!": "Échec à l'insertion du commentaire !",
"Failed to save poll": "Échec de la sauvegarde du sondage",
"Forbidden!": "Interdit !",
"Framadate is not properly installed, please check the \"INSTALL\" to setup the database before continuing.": "Framadate n'est pas installé correctement, lisez le fichier INSTALL pour configurer la base de données avant de continuer.",
"Javascript is disabled on your browser. Its activation is required to create a poll.": "JavaScript est désactivé sur votre navigateur. Son activation est requise pour la création d'un sondage.",
"MISSING_VALUES": "Il manque des valeurs",
"No polls found": "Aucun sondage n'a été trouvé",
"Password is empty": "Le mot de passe est vide.",
"Passwords do not match": "Les mots de passe ne correspondent pas.",
"Poll has been updated before you vote": "Le sondage a été mis à jour avant votre vote",
"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.": "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à",
"The name is invalid.": "Le nom n'est pas valide.",
"The name you've chosen already exist in this poll!": "Le nom que vous avez choisi existe déjà !",
"There is a problem with your choices": "Il y a un problème avec vos choix",
"This id is not allowed": "This identifier is not allowed",
"This poll doesn't exist !": "Ce sondage n'existe pas !",
"Update vote failed": "Échec de de la mise à jour du vote",
"You already voted": "Vous avez déjà voté",
"You can't create a poll with hidden results with the following edition option:": "Vous ne pouvez pas créer de sondage avec résulats cachés avec les options d'édition suivantes : ",
"You can't select more than %d dates": "Vous ne pouvez pas choisir plus de %d dates",
"You haven't filled the first section of the poll creation, or your session has expired.": "Vous n'avez pas renseigné la première page du sondage, ou bien votre session a expiré.",
"You haven't filled the first section of the poll creation.": "Vous n'avez pas renseigné la première page du sondage",
"Your vote wasn't counted, because someone voted in the meantime and it conflicted with your choices and the poll conditions. Please retry.": "Votre vote n'a pas été pris en compte, car quelqu'un a voté entre temps et cela entre en conflit avec vos choix et les conditions du sondage. Merci de réessayer."
},
"FindPolls": {
"Address": "Adresse",
"Created polls": "Sondages créés",
"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.",
"Last access date": "Date de dernier accès",
"List of your polls": "Liste de vos sondages",
"Local Storage Help": "Pour vous aider à trouver vos sondages précédents, nous enregistrons des informations sur chaque sondage que vous effectuez ou auquel vous accédez dans votre navigateur. Ces données sont sauvegardées uniquement dans votre navigateur. Les données suivantes seront enregistrées:",
"Local Storage Help Delete": "Pour supprimer ces données, cliquez sur l'icône en forme de poubelle en face de chaque ligne ou cliquez sur le bouton « Supprimer l'index de mes sondages ». Cela ne supprimera pas vos sondages.",
"Local Storage Help Information Accessed": "La date à laquelle vous avez créé ou accédé en dernier le sondage",
"Local Storage Help Information Address": "Son adresse",
"Local Storage Help Information Title": "Le titre du sondage",
"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 saved inside this browser": "Sondages stockés dans ce navigateur",
"Polls sent": "Sondages envoyés",
"Remove all polls from this browser": "Supprimer tous mes sondages de l'index de ce navigateur",
"Remove poll from index": "Supprimer le sondage de l'index",
"Send me my polls": "Envoyer mes sondages",
"Send my polls by email": "Envoyer mes sondages par courriel",
"There are no polls saved inside your browser yet": "Il n'y a pas encore de sondages sauvegardés dans votre navigateur",
"Title": "Titre",
"Visited polls": "Sondages accédés"
},
"Generic": {
"(in the format name@mail.com)": "(au format nom@mail.com)",
"ASTERISK": "*",
"Add": "Ajouter",
"Back": "Précédent",
"Back to the homepage of": "Retourner à la page d'accueil de",
"Cancel": "Annuler",
"Caption": "Légende",
"Choice": "Choix",
"Classic": "Classique",
"Close": "Fermer",
"Creation date:": "Date de création :",
"Date": "Date",
"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.",
"Home": "Accueil",
"Ifneedbe": "Si nécessaire",
"Legend:": "Légende :",
"Link": "Lien",
"Make your polls": "Créez vos propres sondages",
"Markdown": "Markdown",
"Next": "Continuer",
"No": "Non",
"Page generated in": "Page générée en",
"Poll": "Sondage",
"Remove": "Effacer",
"Save": "Enregistrer",
"Search": "Chercher",
"Time": "Horaire",
"Validate": "Valider",
"Yes": "Oui",
"Your email address": "Votre courriel",
"Your name": "Votre nom",
"days": "jours",
"for": "à",
"months": "mois",
"seconds": "secondes",
"vote": "vote",
"votes": "votes",
"with": "avec"
},
"Homepage": {
"Make a classic poll": "Créer un sondage classique",
"Schedule an event": "Créer un sondage spécial dates",
"Where are my polls": "Où sont mes sondages ?"
},
"Installation": {
"AppMail": "Adresse mail de l'application",
"AppName": "Nom de l'application",
"CleanUrl": "URL propres",
"Database": "Base de données",
"DbDriver": "Pilote de la base de données",
"DbHost": "Nom d'hôte",
"DbName": "Nom de la base de données",
"DbPassword": "Mot de passe",
"DbPort": "Port de la base de données",
"DbPrefix": "Préfixe",
"DbUser": "Utilisateur·rice",
"DefaultLanguage": "Langue par défaut",
"General": "Général",
"Install": "Installer",
"MigrationTable": "Table de migration",
"ResponseMail": "Mail de réponse"
},
"Language selector": {
"Change the language": "Changer la langue",
"Select the language": "Choisir la langue"
},
"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.",
"For sending to the polled users": "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>.",
"Someone just delete your poll %s.": "Quelqu'un·e vient de supprimer votre sondage \"%s\".",
"Thanks for filling the poll at the link above": "Merci de bien vouloir participer au sondage à l'adresse suivante ",
"Thanks for your trust.": "Merci de votre confiance.",
"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.": "Ceci est le message qui doit être envoyé aux sondé·e·s.<br/>Vous pouvez maintenant transmettre ce message à toutes les personnes susceptibles de participer au vote.",
"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": "Ce message ne doit PAS être diffusé aux sondé·e·s. Il est réservé à l'auteur·rice du sondage.<br/><br/>Vous pouvez modifier ce sondage à l'adresse suivante ",
"You have changed the settings of your poll. \nYou can modify this poll with this link": "Vous avez modifié la configuration de votre sondage.<br/>Vous pouvez modifier ce sondage avec le lien suivant",
"[ADMINISTRATOR] New settings for your poll": "[ADMINISTRATEUR] Changement de configuration du sondage",
"filled a vote.\nYou can find your poll at the link": "vient de voter.<br/>Vous pouvez retrouver votre sondage avec le lien suivant",
"hast just created a poll called": " vient de créer un sondage intitulé ",
"updated a vote.\nYou can find your poll at the link": "vient de mettre à jour un vote.<br/>Vous pouvez retrouver votre sondage avec le lien suivant",
"wrote a comment.\nYou can find your poll at the link": "vient de rédiger un commentaire.<br/>Vous pouvez retrouver votre sondage avec le lien suivant"
},
"Maintenance": {
"Thank you for your understanding.": "Merci de votre compréhension.",
"The application": "L'application",
"is currently under maintenance.": "est en cours de maintenance."
},
"Password": {
"Password": "Mot de passe",
"Submit access": "Accéder",
"Wrong password": "Mot de passe incorrect.",
"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": {
"%s option": "%s option",
"Addition": "Somme",
"Anyone will be able to access your email address after your vote": "Tout le monde pourra accéder à votre courriel après que vous ayez voté",
"Best choice": "Meilleur choix",
"Best choices": "Meilleurs choix",
"Chart": "Graphique",
"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!": "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",
"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": "Si nécessaire",
"Vote no for": "Voter « non » pour",
"Vote yes for": "Voter « oui » pour",
"Votes of the poll": "Votes du sondage",
"Warning : anyone can access to your email address after voting": "Warning: Anyone can see your email address after voting",
"polled user": "votant·e",
"polled users": "votant·e·s"
},
"PollInfo": {
"Admin link of the poll": "Lien d'administration du sondage",
"Cancel the description edit": "Annuler le changement de description",
"Cancel the email address edit": "Annuler le changement de courriel",
"Cancel the expiration date edit": "Annuler le changement de date d'expiration",
"Cancel the name edit": "Annuler le changement d'auteur·rice",
"Cancel the rules edit": "Annuler le changement de permissions",
"Cancel the title edit": "Annuler le changement de titre",
"Collect of the polled users email addresses": "Collec the polled users' email addresses",
"Collecting the polled users emails": "Collecting the polled users email addresses",
"Edit the description": "Modifier la description",
"Edit the email adress": "Modifier le courriel",
"Edit the expiration date": "Modifier la date d'expiration",
"Edit the name": "Modification de l'auteur·rice",
"Edit the poll rules": "Modifier les permissions du sondage",
"Edit the title": "Modifier le titre",
"Email": "Courriel",
"Expiration date": "Date d'expiration",
"Export to CSV": "Export Tableur (CSV)",
"Initiator of the poll": "Auteur·rice du sondage",
"No collect of the polled users email addresses": "The polled users' email addresses are not collected",
"No password": "Pas de mot de passe",
"Only votes are protected": "Seul les votes sont protégés",
"Password protected": "Protégé par mot de passe",
"Poll rules": "Permissions du sondage",
"Print": "Imprimer",
"Public link of the poll": "Lien public du sondage",
"Remove all the comments": "Supprimer tous les commentaires",
"Remove all the votes": "Supprimer tous les votes",
"Remove password": "Supprimer le mot de passe",
"Remove the poll": "Supprimer le sondage",
"Results are hidden": "Les résultats sont cachés",
"Results are visible": "Les résultats sont visibles",
"Rich editor": "Editeur avancé",
"Save the description": "Enregistrer la description",
"Save the email address": "Enregistrer le courriel",
"Save the new expiration date": "Enregistrer la date d'expiration",
"Save the new name": "Enregistrer l'auteur·rice",
"Save the new rules": "Enregistrer les nouvelles permissions",
"Save the new title": "Enregistrer le nouveau titre",
"Simple editor": "Editeur simple",
"Title": "Titre du sondage",
"Voters email adresses are collected": "Voters' email adresses are collected",
"Voters email adresses are collected and required": "Voters' email adresses are collected and required",
"Voters email adresses are collected, required and verified": "Voters' email adresses are collected, required and verified",
"Voters email adresses are not collected": "Voters' email adresses are not collected",
"Votes and comments are locked": "Il n'est plus possible de voter",
"Votes protected by password": "Votes protégés par mot de passe"
},
"Step 1": {
"All voters can modify any vote": "Tou·te·s les sondé·e·s peuvent modifier tous les votes",
"Collect the polled users email addresses": "Collecting the polled users' email addresses",
"Collect users email": "Récolter les courriels des utilisateurs",
"Collect voters email": "Collect voters' email addresses",
"Customize the URL": "Personnaliser le lien",
"Email addresses are collected but not required": "Email addresses are collected but not required",
"Email addresses are not collected": "Email addresses are not collected",
"Email addresses are required": "Email addresses are required",
"Email addresses are required and verified": "Email addresses are required and verified",
"Go to step 2": "Aller à l'étape 2",
"Limit the amount of voters per option": "Limiter le nombre de votant·e·s par option",
"More informations here:": "Plus d'informations ici :",
"Only the poll maker can see the poll's results": "Seul·e le ou la créateur·rice du sondage peut voir les résultats",
"Optional parameters": "Paramètres facultatifs",
"Password choice": "Choix",
"Password confirmation": "Confirmation",
"Permissions": "Permissions",
"Poll creation (1 on 3)": "Création de sondage (1 sur 3)",
"Poll id": "Lien du sondage",
"Poll id rules": "(peut contenir des lettres, des chiffres et des tirets \"-\")",
"Poll id warning": "La modification du lien du sondage peut faciliter l'accès à ce sondage pour des personnes non désirées. Il est recommandé de le protéger par mot de passe.",
"Poll password": "Mot de passe",
"Poll title": "Titre du sondage",
"Required fields cannot be left blank.": "Merci de remplir les champs obligatoires, marqués d'une *.",
"The results are publicly visible": "Les résultats sont visibles sans mot de passe",
"To make the description more attractive, you can use the Markdown format.": "Afin de rendre le descriptif de ce sondage plus attractif, vous pouvez utiliser le formatage Markdown.",
"To receive an email for each new comment": "Recevoir un courriel à chaque commentaire",
"To receive an email for each new vote": "Recevoir un courriel à chaque participation",
"Use a password to restrict access": "Restreindre l'accès au sondage par mot de passe",
"Value Max": "Valeur Maximale",
"ValueMax instructions": "votes par choix",
"Voters can modify their vote themselves": "Chaque sondé·e peut modifier son propre vote",
"Votes cannot be modified": "Aucun vote ne peut être modifié",
"Warning : anyone can access to the polled users's email addresses.": "Warning: Anyone can see the polled users' email addresses.",
"Warning: anyone can access the polled users email addresses since all voters can modify any vote. You should restrict permission rules.": "Warning: Anyone can see the polled users' email addresses since all voters can modify any vote. You should restrict permission rules.",
"You are in the poll creation section.": "Vous avez choisi de créer un nouveau sondage.",
"You can enable or disable the editor at will.": "Vous pouvez activer ou désactiver l'éditeur à votre guise."
},
"Step 2": {
"Back to step 1": "Revenir à létape 1",
"Go to step 3": "Aller à létape 3"
},
"Step 2 classic": {
"Add a choice": "Ajouter un choix",
"Add a link or an image": "Ajouter un lien ou une image",
"Alternative text": "Texte alternatif",
"It's possible to propose links or images by using": "Il est possible dinsérer des liens ou des images en utilisant ",
"Poll subjects (2 on 3)": "Choix des sujets (2 sur 3)",
"Remove a choice": "Supprimer le dernier choix",
"These fields are optional. You can add a link, an image or both.": "Ces champs sont facultatifs. Vous pouvez ajouter un lien, une image ou les deux.",
"To make a generic poll you need to propose at least two choices between differents subjects.": "Pour créer un sondage classique, vous devez proposer au moins deux choix différents.",
"URL of the image": "URL de l'image",
"You can add or remove additional choices with the buttons": "Vous pouvez ajouter ou supprimer des choix supplémentaires avec les boutons",
"the Markdown syntax": "la syntaxe Markdown"
},
"Step 2 date": {
"Add a day": "Ajouter un jour",
"Add an hour": "Ajouter un horaire",
"Choose the dates of your poll": "Choisissez les dates de votre sondage",
"Copy hours of the first day": "Reporter les horaires du premier jour sur les autres jours",
"For each selected day, you can choose, or not, meeting hours (e.g.: \"8h\", \"8:30\", \"8h-10h\", \"evening\", etc.)": "Pour chacun des jours sélectionnés, vous avez la possibilité de choisir ou non, des heures de réunion (par exemple : \"8h\", \"8:30\", \"8h-10h\", \"soir\", etc.)",
"Poll dates (2 on 3)": "Choix des dates (2 sur 3)",
"Remove a day": "Supprimer le dernier jour",
"Remove all days": "Effacer tous les jours",
"Remove all hours": "Effacer tous les horaires",
"Remove an hour": "Supprimer le dernier horaire",
"Remove this day": "Supprimer ce jour",
"To schedule an event you need to propose at least two choices (two hours for one day or two days).": "Pour créer un sondage spécial dates vous devez proposer au moins deux choix (deux horaires pour une même journée ou deux jours).",
"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 :",
"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",
"List of your choices": "Liste de vos choix",
"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é",
"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."
},
"Version": {
"Version: %s": ""
},
"adminstuds": {
"Add a column": "Ajouter une colonne",
"All comments deleted": "Tous les commentaires ont été supprimés",
"All votes deleted": "Tous les votes ont été supprimés",
"As poll administrator, you can change all the lines of this poll with this button": "En tant qu'administrateur·rice, vous pouvez modifier toutes les lignes de ce sondage avec ce bouton",
"Back to the poll": "Retour au sondage",
"Choice added": "Choix ajouté",
"Collect the emails of the polled users for the choice": "Collecte les courriels des utilisateurs pour ce choix",
"Collect the emails of the polled users for this column": "Collect the email addresses of the polled users for this column",
"Column removed": "Colonne supprimée",
"Column's adding": "Ajout de colonne",
"Comment deleted": "Commentaire supprimé",
"Confirm removal of all comments of the poll": "Confirmer la suppression de tous les commentaires de ce sondage",
"Confirm removal of all votes of the poll": "Confirmer la suppression de tous les votes de ce sondage",
"Confirm removal of the column.": "Confirmer la supression de cette colonne.",
"Confirm removal of the poll": "Confirmer la suppression du sondage",
"Delete the poll": "Je supprime le sondage",
"Finally, you can change the informations of this poll like the title, the comments or your email address.": "Vous pouvez enfin également modifier les informations relatives à ce sondage comme le titre, les commentaires ou encore votre courriel.",
"If you just want to add a new hour to an existant date, put the same date and choose a new hour.": "Si vous voulez juste ajouter un horaire à une date existante, mettez la même date et choisissez un autre horaire. Il sera intégré normalement au sondage existant.",
"Keep comments": "Garder les commentaires",
"Keep the comments": "Garder les commentaires",
"Keep the poll": "Je garde le sondage",
"Keep the votes": "Garder les votes",
"Keep this poll": "Garder ce sondage",
"Keep votes": "Garder les votes",
"Poll fully deleted": "Sondage complètement supprimé",
"Poll saved": "Sondage sauvegardé",
"Remove the column": "Effacer la colonne",
"Remove the comments": "Supprimer les commentaires",
"Remove the votes": "Supprimer les votes",
"The poll is created.": "Le sondage a été créé",
"Vote added": "Vote ajouté",
"Vote deleted": "Vote supprimé",
"Vote updated": "Vote mis à jour",
"You can add a new scheduling date to your poll.": "Vous pouvez ajouter une date à votre sondage.",
"Your poll has been removed!": "Votre sondage a été supprimé !",
"and add a new column with": "et si vous avez oublié de saisir un choix, vous pouvez rajouter une colonne en cliquant sur",
"remove a column or a line with": "effacer une colonne ou une ligne avec"
},
"display_mails": {
"People who have answered 'If need be' to this option have left those email addresses :": "Users who voted 'If need be' for this option have left those email addresses:",
"People who have answered 'If need be' to this option have not left any email addresses.": "Users who voted 'If need be' for this option have not left any email addresses:",
"People who have answered 'No' to this option have left those email addresses :": "Users who voted 'No' for this option have left those email addresses:",
"People who have answered 'No' to this option have not left any email addresses.": "Users who voted 'No' for this option have not left any email addresses.",
"People who have answered 'Yes' to this option have left those email addresses :": "Users who voted 'Yes' for this option have left those email addresses:",
"People who have answered 'Yes' to this option have not left any email addresses.": "Users who voted 'Yes' for this option have not left any email addresses."
},
"studs": {
"Adding the vote succeeded": "Ajout du vote réussi",
"Deletion date:": "Date de suppression :",
"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.": "Pour participer à ce sondage, veuillez entrer votre nom, choisir toutes les valeurs qui vous conviennent et valider votre choix avec le bouton en bout de ligne.",
"POLL_LOCKED_WARNING": "L'administrateur·rice a verrouillé ce sondage. Les votes et commentaires sont gelés, il n'est plus possible de participer",
"The poll is expired, it will be deleted soon.": "Le sondage a expiré, il sera bientôt supprimé.",
"Update vote succeeded": "Mise à jour du vote réussi",
"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:": "Votre vote a bien été pris en compte, mais faites attention : ce sondage n'autorise l'édition de votre vote qu'avec le lien personnalisé suivant ; conservez-le précieusement ! "
}
}

53
scripts/check-translations.py Executable file
View File

@ -0,0 +1,53 @@
#!/usr/bin/env python
import json
import glob
def get_all_keys(jsons_dict):
all_keys = set()
for json_dict in jsons_dict.values():
all_keys |= flatten_keys(json_dict)
return all_keys
def flatten_keys(json_dict):
all_keys = set()
for key in json_dict.keys():
el = json_dict[key]
if isinstance(el, dict):
flatten = flatten_keys(el)
for flat_key in flatten:
all_keys.add("%s.%s" % (key, flat_key))
else:
all_keys.add(key)
return all_keys
def check_files_share_same_keys(all_keys, jsons):
exit_code = 0
for locale in jsons.keys():
difference = all_keys - flatten_keys(jsons[locale])
if bool(difference):
print("%s has missing translation keys:" % (locale))
for el in difference:
print(" - %s" % (el))
exit_code = 1
return exit_code
def main():
locales_dir = "locale/*.json"
jsons = {}
for json_file in glob.iglob(locales_dir):
with open(json_file) as f:
jsons[json_file] = json.load(f)
all_keys = get_all_keys(jsons)
return check_files_share_same_keys(all_keys, jsons)
main()