From 850fb3cb158a0986c15f49ab3a22b0792827a277 Mon Sep 17 00:00:00 2001 From: Sebastien DOIDO Date: Mon, 24 Apr 2017 10:31:26 +0200 Subject: [PATCH 1/4] Fix typo to have correct translation (#516) --- client/modules/crm/src/views/mass-email/detail.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/modules/crm/src/views/mass-email/detail.js b/client/modules/crm/src/views/mass-email/detail.js index f761ab4c8c..cba2d8b014 100644 --- a/client/modules/crm/src/views/mass-email/detail.js +++ b/client/modules/crm/src/views/mass-email/detail.js @@ -35,7 +35,7 @@ Espo.define('crm:views/mass-email/detail', 'views/detail', function (Dep) { if (~['Draft', 'Pending'].indexOf(this.model.get('status'))) { if (this.getAcl().checkModel(this.model, 'edit')) { this.menu.buttons.push({ - 'label': 'Sent Test', + 'label': 'Send Test', 'action': 'sendTest', 'acl': 'edit' }); From 484ffa071cdaf095bb859c874d664e5d93ff67d9 Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 24 Apr 2017 11:40:13 +0300 Subject: [PATCH 2/4] label fix --- application/Espo/Resources/i18n/en_US/Global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/Espo/Resources/i18n/en_US/Global.json b/application/Espo/Resources/i18n/en_US/Global.json index 811f837020..f8ccca7acc 100644 --- a/application/Espo/Resources/i18n/en_US/Global.json +++ b/application/Espo/Resources/i18n/en_US/Global.json @@ -521,10 +521,10 @@ "is": "Is", "isEmpty": "Is Empty", "isNotEmpty": "Is Not Empty", - "isOneOf": "Is One Of", + "isOneOf": "Any Of", "isFromTeams": "Is From Team", "isNot": "Is Not", - "isNotOneOf": "Is Not One Of", + "isNotOneOf": "None Of", "anyOf": "Any Of", "noneOf": "None Of" }, From 624f76b1a04e936c2eaf871c88ba9e2972372046 Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 24 Apr 2017 12:22:42 +0300 Subject: [PATCH 3/4] clear local cache improvements --- .../Espo/Resources/i18n/en_US/Global.json | 1 + client/res/templates/clear-cache.tpl | 22 +++++++ client/src/controllers/base.js | 14 ++-- client/src/views/clear-cache.js | 66 +++++++++++++++++++ 4 files changed, 94 insertions(+), 9 deletions(-) create mode 100644 client/res/templates/clear-cache.tpl create mode 100644 client/src/views/clear-cache.js diff --git a/application/Espo/Resources/i18n/en_US/Global.json b/application/Espo/Resources/i18n/en_US/Global.json index f8ccca7acc..54e9995eb0 100644 --- a/application/Espo/Resources/i18n/en_US/Global.json +++ b/application/Espo/Resources/i18n/en_US/Global.json @@ -97,6 +97,7 @@ "Cache is not enabled": "Cache is not enabled", "Cache has been cleared": "Cache has been cleared", "Rebuild has been done": "Rebuild has been done", + "Return to Application": "Return to Application", "Saving...": "Saving...", "Modified": "Modified", "Created": "Created", diff --git a/client/res/templates/clear-cache.tpl b/client/res/templates/clear-cache.tpl new file mode 100644 index 0000000000..abf15333ba --- /dev/null +++ b/client/res/templates/clear-cache.tpl @@ -0,0 +1,22 @@ +
+
+
+
+ {{#if cacheIsEnabled}} + + {{else}} +
+ + {{translate 'Cache is not enabled'}} + +
+ {{/if}} + + +
+ +
+
+
+
+
\ No newline at end of file diff --git a/client/src/controllers/base.js b/client/src/controllers/base.js index 41eefaa22c..96add33b4f 100644 --- a/client/src/controllers/base.js +++ b/client/src/controllers/base.js @@ -43,15 +43,11 @@ Espo.define('controllers/base', 'controller', function (Dep) { }, clearCache: function (options) { - var cache = this.getCache(); - if (cache) { - cache.clear(); - this.getRouter().navigateBack(); - window.location.reload(); - } else { - Espo.Ui.notify('Cache is not enabled', 'error', 3000); - this.getRouter().navigateBack(); - } + this.entire('views/clear-cache', { + cache: this.getCache() + }, function (view) { + view.render(); + }); }, error404: function () { diff --git a/client/src/views/clear-cache.js b/client/src/views/clear-cache.js new file mode 100644 index 0000000000..d2bcf92748 --- /dev/null +++ b/client/src/views/clear-cache.js @@ -0,0 +1,66 @@ +/************************************************************************ + * This file is part of EspoCRM. + * + * EspoCRM - Open Source CRM application. + * Copyright (C) 2014-2017 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko + * Website: http://www.espocrm.com + * + * EspoCRM is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * EspoCRM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with EspoCRM. If not, see http://www.gnu.org/licenses/. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU General Public License version 3. + * + * In accordance with Section 7(b) of the GNU General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +Espo.define('views/clear-cache', 'view', function (Dep) { + + return Dep.extend({ + + template: 'clear-cache', + + el: '> body', + + events: { + 'click .action[data-action="clearLocalCache"]': function () { + this.clearLocalCache(); + }, + 'click .action[data-action="rerurnToApplication"]': function () { + this.rerurnToApplication(); + } + }, + + data: function () { + return { + cacheIsEnabled: !!this.options.cache + }; + }, + + clearLocalCache: function () { + this.options.cache.clear(); + this.$el.find('.action[data-action="clearLocalCache"]').remove(); + this.$el.find('.message-container').removeClass('hidden'); + this.$el.find('.message-container span').html(this.translate('Cache has been cleared')); + this.$el.find('.action[data-action="rerurnToApplication"]').removeClass('hidden'); + }, + + rerurnToApplication: function () { + this.getRouter().navigate('', {trigger: true}); + } + + }); +}); + From f3a7003444c7b6bca56e2c093997ee07f7c806c9 Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 24 Apr 2017 12:32:05 +0300 Subject: [PATCH 4/4] fr_FR lang --- .../Espo/Core/Templates/i18n/fr_FR/Base.json | 8 +- .../Core/Templates/i18n/fr_FR/BasePlus.json | 13 +- .../Core/Templates/i18n/fr_FR/Company.json | 18 ++- .../Espo/Core/Templates/i18n/fr_FR/Event.json | 37 +++++- .../Core/Templates/i18n/fr_FR/Person.json | 16 ++- .../Crm/Resources/i18n/fr_FR/Account.json | 31 ++++- .../Crm/Resources/i18n/fr_FR/Call.json | 3 +- .../Crm/Resources/i18n/fr_FR/Campaign.json | 8 +- .../Crm/Resources/i18n/fr_FR/Contact.json | 8 +- .../Crm/Resources/i18n/fr_FR/Document.json | 3 +- .../Crm/Resources/i18n/fr_FR/Email.json | 4 +- .../Resources/i18n/fr_FR/EmailQueueItem.json | 3 +- .../Crm/Resources/i18n/fr_FR/Global.json | 6 +- .../i18n/fr_FR/KnowledgeBaseArticle.json | 12 +- .../Crm/Resources/i18n/fr_FR/Lead.json | 5 +- .../Crm/Resources/i18n/fr_FR/MassEmail.json | 4 + .../Crm/Resources/i18n/fr_FR/Meeting.json | 6 +- .../Crm/Resources/i18n/fr_FR/Opportunity.json | 7 +- .../Crm/Resources/i18n/fr_FR/TargetList.json | 4 +- .../Crm/Resources/i18n/fr_FR/Task.json | 6 +- .../Crm/Resources/i18n/fr_FR/User.json | 3 + .../i18n/fr_FR/ActionHistoryRecord.json | 27 +++++ .../Espo/Resources/i18n/fr_FR/Admin.json | 38 +++++- .../Espo/Resources/i18n/fr_FR/AuthToken.json | 17 ++- .../Resources/i18n/fr_FR/DashletOptions.json | 11 +- .../Resources/i18n/fr_FR/DynamicLogic.json | 28 +++++ .../Espo/Resources/i18n/fr_FR/Email.json | 26 +++- .../Resources/i18n/fr_FR/EmailAccount.json | 17 ++- .../Resources/i18n/fr_FR/EmailFilter.json | 19 ++- .../Resources/i18n/fr_FR/EmailFolder.json | 10 ++ .../Resources/i18n/fr_FR/EmailTemplate.json | 3 + .../Resources/i18n/fr_FR/EntityManager.json | 25 +++- .../Espo/Resources/i18n/fr_FR/Export.json | 6 + .../Resources/i18n/fr_FR/FieldManager.json | 75 ++++++++++++ .../Espo/Resources/i18n/fr_FR/Global.json | 111 +++++++++++++++--- .../Espo/Resources/i18n/fr_FR/Import.json | 17 ++- .../Resources/i18n/fr_FR/InboundEmail.json | 13 +- .../Resources/i18n/fr_FR/Integration.json | 9 +- .../Resources/i18n/fr_FR/LayoutManager.json | 13 +- .../Espo/Resources/i18n/fr_FR/Note.json | 12 +- .../Espo/Resources/i18n/fr_FR/Portal.json | 3 +- .../Espo/Resources/i18n/fr_FR/PortalUser.json | 5 + .../Resources/i18n/fr_FR/Preferences.json | 9 +- .../Resources/i18n/fr_FR/ScheduledJob.json | 3 +- .../Espo/Resources/i18n/fr_FR/Settings.json | 57 ++++++++- .../Espo/Resources/i18n/fr_FR/Team.json | 3 +- .../Espo/Resources/i18n/fr_FR/Template.json | 6 +- .../Espo/Resources/i18n/fr_FR/User.json | 22 +++- install/core/i18n/fr_FR/install.json | 14 ++- 49 files changed, 695 insertions(+), 109 deletions(-) create mode 100644 application/Espo/Resources/i18n/fr_FR/ActionHistoryRecord.json create mode 100644 application/Espo/Resources/i18n/fr_FR/DynamicLogic.json create mode 100644 application/Espo/Resources/i18n/fr_FR/EmailFolder.json create mode 100644 application/Espo/Resources/i18n/fr_FR/Export.json create mode 100644 application/Espo/Resources/i18n/fr_FR/FieldManager.json create mode 100644 application/Espo/Resources/i18n/fr_FR/PortalUser.json diff --git a/application/Espo/Core/Templates/i18n/fr_FR/Base.json b/application/Espo/Core/Templates/i18n/fr_FR/Base.json index e2d0a6b76a..5d823cd052 100644 --- a/application/Espo/Core/Templates/i18n/fr_FR/Base.json +++ b/application/Espo/Core/Templates/i18n/fr_FR/Base.json @@ -1,5 +1,5 @@ { - "labels": { - "Create {entityType}": "Créer un {entityTypeTranslated}" - } -} + "labels": { + "Create {entityType}": "Créer un {entityTypeTranslated}" + } +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/i18n/fr_FR/BasePlus.json b/application/Espo/Core/Templates/i18n/fr_FR/BasePlus.json index e2d0a6b76a..b8899a0590 100644 --- a/application/Espo/Core/Templates/i18n/fr_FR/BasePlus.json +++ b/application/Espo/Core/Templates/i18n/fr_FR/BasePlus.json @@ -1,5 +1,10 @@ { - "labels": { - "Create {entityType}": "Créer un {entityTypeTranslated}" - } -} + "links": { + "meetings": "Meetings", + "calls": "Calls", + "tasks": "Tasks" + }, + "labels": { + "Create {entityType}": "Créer un {entityTypeTranslated}" + } +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/i18n/fr_FR/Company.json b/application/Espo/Core/Templates/i18n/fr_FR/Company.json index e2d0a6b76a..c81a6763ec 100644 --- a/application/Espo/Core/Templates/i18n/fr_FR/Company.json +++ b/application/Espo/Core/Templates/i18n/fr_FR/Company.json @@ -1,5 +1,15 @@ { - "labels": { - "Create {entityType}": "Créer un {entityTypeTranslated}" - } -} + "fields": { + "billingAddress": "Billing Address", + "shippingAddress": "Shipping Address", + "website": "Website" + }, + "links": { + "meetings": "Meetings", + "calls": "Calls", + "tasks": "Tasks" + }, + "labels": { + "Create {entityType}": "Créer un {entityTypeTranslated}" + } +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/i18n/fr_FR/Event.json b/application/Espo/Core/Templates/i18n/fr_FR/Event.json index e2d0a6b76a..0626fa3004 100644 --- a/application/Espo/Core/Templates/i18n/fr_FR/Event.json +++ b/application/Espo/Core/Templates/i18n/fr_FR/Event.json @@ -1,5 +1,36 @@ { - "labels": { - "Create {entityType}": "Créer un {entityTypeTranslated}" + "fields": { + "parent": "Parent", + "dateStart": "Date Start", + "dateEnd": "Date End", + "duration": "Duration", + "status": "Status", + "reminders": "Reminders" + }, + "links": { + "parent": "Parent" + }, + "options": { + "status": { + "Planned": "Planned", + "Held": "Held", + "Not Held": "Not Held" } -} + }, + "labels": { + "Create {entityType}": "Créer un {entityTypeTranslated}", + "Schedule {entityType}": "Schedule {entityTypeTranslated}", + "Log {entityType}": "Log {entityTypeTranslated}", + "Set Held": "Set Held", + "Set Not Held": "Set Not Held" + }, + "massActions": { + "setHeld": "Set Held", + "setNotHeld": "Set Not Held" + }, + "presetFilters": { + "planned": "Planned", + "held": "Held", + "todays": "Today's" + } +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/i18n/fr_FR/Person.json b/application/Espo/Core/Templates/i18n/fr_FR/Person.json index e2d0a6b76a..35a67af4ca 100644 --- a/application/Espo/Core/Templates/i18n/fr_FR/Person.json +++ b/application/Espo/Core/Templates/i18n/fr_FR/Person.json @@ -1,5 +1,13 @@ { - "labels": { - "Create {entityType}": "Créer un {entityTypeTranslated}" - } -} + "fields": { + "address": "Address" + }, + "links": { + "meetings": "Meetings", + "calls": "Calls", + "tasks": "Tasks" + }, + "labels": { + "Create {entityType}": "Créer un {entityTypeTranslated}" + } +} \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Account.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Account.json index 0286eef813..b4b06b5b06 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Account.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Account.json @@ -13,7 +13,8 @@ "contactRole": "Titre", "campaign": "Campagne", "targetLists": "Listes de cibles", - "targetList": "Liste de cibles" + "targetList": "Liste de cibles", + "originalLead": "Original Lead" }, "links": { "contacts": "Contacts", @@ -27,7 +28,8 @@ "targetLists": "Listes de cible", "campaignLogRecords": "Log de campagne", "campaign": "Campagne", - "portalUsers": "Utilisateurs Portail" + "portalUsers": "Utilisateurs Portail", + "originalLead": "Original Lead" }, "options": { "type": { @@ -66,7 +68,27 @@ "Telecommunications": "Télécommunications", "Television": "Télévision", "Transportation": "Transport", - "Venture Capital": "Investissement" + "Venture Capital": "Investissement", + "Aerospace": "Aerospace", + "Architecture": "Architecture", + "Construction": "Construction", + "Defense": "Defense", + "Creative": "Creative", + "Culture": "Culture", + "Consulting": "Consulting", + "Electric Power": "Electric Power", + "Hospitality": "Hospitality", + "Mass Media": "Mass Media", + "Mining": "Mining", + "Music": "Music", + "Marketing": "Marketing", + "Petroleum": "Petroleum", + "Retail": "Retail", + "Shipping": "Shipping", + "Support": "Support", + "Testing, Inspection & Certification": "Testing, Inspection & Certification", + "Wholesale": "Wholesale", + "Water": "Water" } }, "labels": { @@ -75,6 +97,7 @@ }, "presetFilters": { "customers": "Clients", - "partners": "Partenaires" + "partners": "Partenaires", + "recentlyCreated": "Recently Created" } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Call.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Call.json index 76eaaee847..6722f97af0 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Call.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Call.json @@ -12,7 +12,8 @@ "contacts": "Contacts", "leads": "Prospects", "reminders": "Notifications", - "account": "Compte" + "account": "Compte", + "acceptanceStatus": "Acceptance Status" }, "options": { "status": { diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Campaign.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Campaign.json index ab16787e82..92ea4e3cef 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Campaign.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Campaign.json @@ -56,13 +56,17 @@ "soft": "faible", "Unsubscribe": "Se désinscrire", "Mass Emails": "Emails groupés", - "Email Templates": "Modèles d'email" + "Email Templates": "Modèles d'email", + "Unsubscribe again": "Unsubscribe again", + "Subscribe again": "Subscribe again", + "Create Target List": "Create Target List" }, "presetFilters": { "active": "Actif" }, "messages": { - "unsubscribed": "Vous avez été désinscrit de notre liste d'envoi" + "unsubscribed": "Vous avez été désinscrit de notre liste d'envoi", + "subscribedAgain": "You are subscribed again." }, "tooltips": { "targetLists": "Cibles devant recevoir les messages", diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Contact.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Contact.json index 386916e62e..f786e069ec 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Contact.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Contact.json @@ -15,7 +15,9 @@ "campaign": "Campagne", "targetLists": "Listes de cibles", "targetList": "Liste de cibles", - "portalUser": "Utilisateur Portail" + "portalUser": "Utilisateur Portail", + "originalLead": "Original Lead", + "acceptanceStatus": "Acceptance Status" }, "links": { "opportunities": "Opportunités", @@ -26,7 +28,9 @@ "account": "Compte (principal)", "accounts": "Comptes", "casesPrimary": "Tickets (principal)", - "portalUser": "Utilisateur Portail" + "portalUser": "Utilisateur Portail", + "originalLead": "Original Lead", + "documents": "Documents" }, "labels": { "Create Contact": "Créer un Contact" diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Document.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Document.json index 23466d9836..f0b4772c44 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Document.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Document.json @@ -18,7 +18,8 @@ "accounts": "Comptes", "opportunities": "Opportunités", "folder": "Dossier", - "leads": "Prospects" + "leads": "Prospects", + "contacts": "Contacts" }, "options": { "status": { diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Email.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Email.json index b8a2923c61..df1b23f42e 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Email.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Email.json @@ -3,6 +3,8 @@ "Create Lead": "Créer un Prospect", "Create Contact": "Créer un Contact", "Create Task": "Créer une tâche", - "Create Case": "Créer un Ticket" + "Create Case": "Créer un Ticket", + "Add to Contact": "Add to Contact", + "Add to Lead": "Add to Lead" } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/EmailQueueItem.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/EmailQueueItem.json index 762a15d341..7bf13471c7 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/EmailQueueItem.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/EmailQueueItem.json @@ -17,7 +17,8 @@ "status": { "Pending": "En cours", "Sent": "Envoyé", - "Failed": "Echec" + "Failed": "Echec", + "Sending": "Sending" } }, "presetFilters": { diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Global.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Global.json index 6a6211fe23..49be209bd0 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Global.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Global.json @@ -35,7 +35,8 @@ "CampaignTrackingUrl": "Tracking URL", "Activities": "Activités", "KnowledgeBaseArticle": "Article de la base de connaissance", - "KnowledgeBaseCategory": "Catégorie de la base de connaissance" + "KnowledgeBaseCategory": "Catégorie de la base de connaissance", + "CampaignLogRecord": "Campaign Log Record" }, "scopeNamesPlural": { "Account": "Comptes", @@ -57,7 +58,8 @@ "CampaignTrackingUrl": "Tracking URLs", "Activities": "Activités", "KnowledgeBaseArticle": "Base de connaissance", - "KnowledgeBaseCategory": "Catégories de la base de connaissance" + "KnowledgeBaseCategory": "Catégories de la base de connaissance", + "CampaignLogRecord": "Campaign Log Records" }, "dashlets": { "Leads": "Mes prospects", diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/KnowledgeBaseArticle.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/KnowledgeBaseArticle.json index 8d3b7c776d..44fa747eb3 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/KnowledgeBaseArticle.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/KnowledgeBaseArticle.json @@ -2,7 +2,11 @@ "labels": { "Create KnowledgeBaseArticle": "Créer un article", "Any": "Any", - "Send in Email": "Send in Email" + "Send in Email": "Send in Email", + "Move Up": "Move Up", + "Move Down": "Move Down", + "Move to Top": "Move to Top", + "Move to Bottom": "Move to Bottom" }, "fields": { "name": "Nom", @@ -33,11 +37,11 @@ "type": { "Article": "Article" } - }, - "tooltips": { - }, "presetFilters": { "published": "Publié" + }, + "tooltips": { + "portals": "Article will be available only in specified portals." } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Lead.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Lead.json index a175118e47..8af3d5c9d2 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Lead.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Lead.json @@ -23,7 +23,10 @@ "createdOpportunity": "Opportunité", "campaign": "Campagne", "targetLists": "Listes de cibles", - "targetList": "Liste de cibles" + "targetList": "Liste de cibles", + "industry": "Industry", + "acceptanceStatus": "Acceptance Status", + "opportunityAmountCurrency": "Opportunity Amount Currency" }, "links": { "targetLists": "Listes de cibles", diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/MassEmail.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/MassEmail.json index d53114b247..33f5eb3144 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/MassEmail.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/MassEmail.json @@ -45,5 +45,9 @@ "optOutEntirely": "Email addresses of recipients that unsubscribed will be marked as opted out and they will not receive any mass emails anymore.", "targetLists": "Targets that should receive messages.", "excludingTargetLists": "Targets that should not receive messages." + }, + "presetFilters": { + "actual": "Actual", + "complete": "Complete" } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Meeting.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Meeting.json index 9cb28ab77b..2d585b6339 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Meeting.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Meeting.json @@ -11,7 +11,8 @@ "contacts": "Contacts", "leads": "Prospects", "reminders": "Notifications", - "account": "Compte" + "account": "Compte", + "acceptanceStatus": "Acceptance Status" }, "options": { "status": { @@ -42,5 +43,8 @@ "planned": "Prévu", "held": "Effectué", "todays": "Aujourd'hui" + }, + "messages": { + "nothingHasBeenSent": "Nothing were sent" } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Opportunity.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Opportunity.json index 9f886850b6..d779eceaef 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Opportunity.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Opportunity.json @@ -12,12 +12,15 @@ "description": "Description", "amountConverted": "Montant (converti)", "amountWeightedConverted": "Montant pondéré", - "campaign": "Campagne" + "campaign": "Campagne", + "originalLead": "Original Lead", + "amountCurrency": "Amount Currency" }, "links": { "contacts": "Contacts", "documents": "Documents", - "campaign": "Campagne" + "campaign": "Campagne", + "originalLead": "Original Lead" }, "options": { "stage": { diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/TargetList.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/TargetList.json index 091f723aa6..d25f6f087c 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/TargetList.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/TargetList.json @@ -5,7 +5,9 @@ "entryCount": "Compteur d'entrées", "campaigns": "Campagnes", "endDate": "Date de fin", - "targetLists": "Listes de cibles" + "targetLists": "Listes de cibles", + "includingActionList": "Including", + "excludingActionList": "Excluding" }, "links": { "accounts": "Comptes", diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Task.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Task.json index 9f6c717ac0..2952b9357d 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Task.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/Task.json @@ -12,7 +12,8 @@ "isOverdue": "En retard", "account": "Compte", "dateCompleted": "Date de Clôture", - "attachments": "Pièces jointes" + "attachments": "Pièces jointes", + "reminders": "Reminders" }, "links": { "attachments": "Pièces jointes" @@ -40,6 +41,7 @@ "actual": "En cours", "completed": "Terminés", "todays": "Aujourd'hui", - "overdue": "En retard" + "overdue": "En retard", + "deferred": "Deferred" } } \ No newline at end of file diff --git a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/User.json b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/User.json index 3f0ff5d60e..20c8460e61 100644 --- a/application/Espo/Modules/Crm/Resources/i18n/fr_FR/User.json +++ b/application/Espo/Modules/Crm/Resources/i18n/fr_FR/User.json @@ -1,5 +1,8 @@ { "links": { "targetLists": "Listes de cibles" + }, + "fields": { + "acceptanceStatus": "Acceptance Status" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/ActionHistoryRecord.json b/application/Espo/Resources/i18n/fr_FR/ActionHistoryRecord.json new file mode 100644 index 0000000000..6ff174a391 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/ActionHistoryRecord.json @@ -0,0 +1,27 @@ +{ + "fields": { + "user": "User", + "action": "Action", + "createdAt": "Date", + "target": "Target", + "targetType": "Target Type", + "authToken": "Auth Token", + "ipAddress": "IP Address" + }, + "links": { + "authToken": "Auth Token", + "user": "User", + "target": "Target" + }, + "presetFilters": { + "onlyMy": "Only My" + }, + "options": { + "action": { + "read": "Read", + "update": "Update", + "delete": "Delete", + "create": "Create" + } + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Admin.json b/application/Espo/Resources/i18n/fr_FR/Admin.json index 7d95e340f0..dce3bd9650 100644 --- a/application/Espo/Resources/i18n/fr_FR/Admin.json +++ b/application/Espo/Resources/i18n/fr_FR/Admin.json @@ -53,7 +53,9 @@ "Notifications": "Notifications", "Jobs": "Travaux", "Reset to Default": "Valeurs par défaut", - "Email Filters": "Filtres email" + "Email Filters": "Filtres email", + "Portal Users": "Portal Users", + "Action History": "Action History" }, "layouts": { "list": "Liste", @@ -61,7 +63,12 @@ "listSmall": "Liste (réduite)", "detailSmall": "Détail (réduit)", "filters": "Filtres de recherche", - "massUpdate": "Mise à jour groupée" + "massUpdate": "Mise à jour groupée", + "relationships": "Relationship Panels", + "sidePanelsDetail": "Side Panels (Detail)", + "sidePanelsEdit": "Side Panels (Edit)", + "sidePanelsDetailSmall": "Side Panels (Detail Small)", + "sidePanelsEditSmall": "Side Panels (Edit Small)" }, "fieldTypes": { "address": "Adresse", @@ -98,7 +105,9 @@ "rangeFloat": "Intervalle réel", "rangeCurrency": "Plage de devises", "wysiwyg": "Wysiwyg", - "map": "Carte" + "map": "Carte", + "currencyConverted": "Currency (Converted)", + "number": "Number" }, "fields": { "type": "Type", @@ -129,7 +138,18 @@ "typeList": "Liste de types", "rows": "Nombre de lignes de la zone de texte", "lengthOfCut": "Longueur de coupe", - "sourceList": "Liste des sources" + "sourceList": "Liste des sources", + "tooltipText": "Tooltip Text", + "prefix": "Prefix", + "nextNumber": "Next Number", + "padLength": "Pad Length", + "disableFormatting": "Disable Formatting", + "dynamicLogicVisible": "Conditions making field visible", + "dynamicLogicReadOnly": "Conditions making field read-only", + "dynamicLogicRequired": "Conditions making field required", + "dynamicLogicOptions": "Conditional options", + "probabilityMap": "Stage Probabilities (%)", + "readOnly": "Read-only" }, "messages": { "upgradeVersion": "EspoCRM va être mis à jour vers la version {version}. Cette opération peut prendre un moment.", @@ -171,7 +191,10 @@ "integrations": "Intégration avec des services tiers.", "notifications": "Paramètres des notifications emails et internes au CRM.", "inboundEmails": "Group IMAP email accouts. Email import and Email-to-Case.", - "emailFilters": "Les messages correspondant au filtre ne seront pas importé" + "emailFilters": "Les messages correspondant au filtre ne seront pas importé", + "portalUsers": "Users of portal.", + "entityManager": "Create custom entities, edit existing ones. Manage fields and relationships.", + "actionHistory": "Log of actions done by users." }, "options": { "previewSize": { @@ -180,5 +203,10 @@ "medium": "Moyen", "large": "Large" } + }, + "logicalOperators": { + "and": "AND", + "or": "OR", + "not": "NOT" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/AuthToken.json b/application/Espo/Resources/i18n/fr_FR/AuthToken.json index 3a50b8d64f..623036de9c 100644 --- a/application/Espo/Resources/i18n/fr_FR/AuthToken.json +++ b/application/Espo/Resources/i18n/fr_FR/AuthToken.json @@ -3,6 +3,21 @@ "user": "Utilisateur", "ipAddress": "Adresse IP", "lastAccess": "Dernière date d'accès", - "createdAt": "Date de connexion" + "createdAt": "Date de connexion", + "isActive": "Is Active", + "portal": "Portal" + }, + "links": { + "actionHistoryRecords": "Action History" + }, + "presetFilters": { + "active": "Active", + "inactive": "Inactive" + }, + "labels": { + "Set Inactive": "Set Inactive" + }, + "massActions": { + "setInactive": "Set Inactive" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/DashletOptions.json b/application/Espo/Resources/i18n/fr_FR/DashletOptions.json index 92e6d2ad1c..ce29e64d71 100644 --- a/application/Espo/Resources/i18n/fr_FR/DashletOptions.json +++ b/application/Espo/Resources/i18n/fr_FR/DashletOptions.json @@ -8,7 +8,13 @@ "isDoubleHeight": "Hauteur 2x", "mode": "Mode", "enabledScopeList": "Afficher", - "users": "Utilisateurs" + "users": "Utilisateurs", + "entityType": "Entity Type", + "primaryFilter": "Primary Filter", + "boolFilterList": "Additional Filters", + "sortBy": "Order (field)", + "sortDirection": "Order (direction)", + "expandedLayout": "Layout" }, "options": { "mode": { @@ -19,5 +25,8 @@ "agendaDay": "Jour (calendrier)", "timeline": "Plage de temps" } + }, + "messages": { + "selectEntityType": "Select Entity Type in dashlet options." } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/DynamicLogic.json b/application/Espo/Resources/i18n/fr_FR/DynamicLogic.json new file mode 100644 index 0000000000..3a38475392 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/DynamicLogic.json @@ -0,0 +1,28 @@ +{ + "label": { + "Field": "Field" + }, + "options": { + "operators": { + "equals": "Equals", + "notEquals": "Not Equals", + "greaterThan": "Greater Than", + "lessThan": "Less Than", + "greaterThanOrEquals": "Greater Than Or Equals", + "lessThanOrEquals": "Less Than Or Equals", + "in": "In", + "notIn": "Not In", + "inPast": "In Past", + "inFuture": "Is Future", + "isToday": "Is Today", + "isTrue": "Is True", + "isFalse": "Is False", + "isEmpty": "Is Empty", + "isNotEmpty": "Is Not Empty", + "contains": "Contains", + "has": "Contains", + "notContains": "Not Contains", + "notHas": "Not Contains" + } + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Email.json b/application/Espo/Resources/i18n/fr_FR/Email.json index 6513aacc98..19b4de8f20 100644 --- a/application/Espo/Resources/i18n/fr_FR/Email.json +++ b/application/Espo/Resources/i18n/fr_FR/Email.json @@ -26,11 +26,21 @@ "isNotRead": "Non lu", "isImportant": "Important", "isUsers": "Utilisateurs", - "inTrash": "Supprimé" + "inTrash": "Supprimé", + "name": "Name (Subject)", + "isReplied": "Is Replied", + "isNotReplied": "Is Not Replied", + "sentBy": "Sent by (User)", + "folder": "Folder", + "inboundEmails": "Group Accounts", + "emailAccounts": "Personal Accounts", + "hasAttachment": "Has Attachment" }, "links": { "replied": "Répondu", - "replies": "Réponses" + "replies": "Réponses", + "inboundEmails": "Group Accounts", + "emailAccounts": "Personal Accounts" }, "options": { "status": { @@ -65,7 +75,10 @@ "Mark as Important": "Marquer comme important", "Unmark Importance": "Marquer comme non important", "Move to Trash": "Mettre à la corbeille", - "Retrieve from Trash": "Enlever de la corbeille" + "Retrieve from Trash": "Enlever de la corbeille", + "Move to Folder": "Move to Folder", + "Filters": "Filters", + "Folders": "Folders" }, "messages": { "noSmtpSetup": "Aucun compte SMTP n'a été installé. {link}.", @@ -78,13 +91,16 @@ "archived": "Archivé", "inbox": "Boite de réception", "drafts": "Brouillons", - "trash": "Corbeille" + "trash": "Corbeille", + "important": "Important" }, "massActions": { "markAsRead": "Marquer commer lu", "markAsNotRead": "Marquer comme non-lu", "markAsImportant": "Marquer comme important", "markAsNotImportant": "Marquer comme non important", - "moveToTrash": "Mettre à la corbeille" + "moveToTrash": "Mettre à la corbeille", + "moveToFolder": "Move to Folder", + "retrieveFromTrash": "Retrieve from Trash" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/EmailAccount.json b/application/Espo/Resources/i18n/fr_FR/EmailAccount.json index e13d462cbf..17345c27b6 100644 --- a/application/Espo/Resources/i18n/fr_FR/EmailAccount.json +++ b/application/Espo/Resources/i18n/fr_FR/EmailAccount.json @@ -12,10 +12,19 @@ "emailAddress": "Adresse email", "sentFolder": "Dossier d'envoi", "storeSentEmails": "Conserver les emails envoyés", - "keepFetchedEmailsUnread": "Conserver les emails reçu non lus" + "keepFetchedEmailsUnread": "Conserver les emails reçu non lus", + "emailFolder": "Put in Folder", + "useSmtp": "Use SMTP", + "smtpHost": "SMTP Host", + "smtpPort": "SMTP Port", + "smtpAuth": "SMTP Auth", + "smtpSecurity": "SMTP Security", + "smtpUsername": "SMTP Username", + "smtpPassword": "SMTP Password" }, "links": { - "filters": "Filtres" + "filters": "Filtres", + "emails": "Emails" }, "options": { "status": { @@ -27,7 +36,9 @@ "Create EmailAccount": "Créer un compte email", "IMAP": "IMAP", "Main": "Principal", - "Test Connection": "Tester la connexion" + "Test Connection": "Tester la connexion", + "Send Test Email": "Send Test Email", + "SMTP": "SMTP" }, "messages": { "couldNotConnectToImap": "Impossible de se connecter au serveur IMAP", diff --git a/application/Espo/Resources/i18n/fr_FR/EmailFilter.json b/application/Espo/Resources/i18n/fr_FR/EmailFilter.json index cf90cd48a5..60ac883e35 100644 --- a/application/Espo/Resources/i18n/fr_FR/EmailFilter.json +++ b/application/Espo/Resources/i18n/fr_FR/EmailFilter.json @@ -3,16 +3,27 @@ "from": "De", "to": "A", "subject": "Objet", - "bodyContains": "Corps de texte contient" + "bodyContains": "Corps de texte contient", + "action": "Action", + "isGlobal": "Is Global", + "emailFolder": "Folder" }, "labels": { - "Create EmailFilter": "Créer un filtre email" + "Create EmailFilter": "Créer un filtre email", + "Emails": "Emails" }, "tooltips": { + "from": "Emails envoyés de cette adresse. Laisser vide si inutile. Vous pouvez utiliser des caractères de substitution: *", + "to": "Emails envoyés de cette adresse. Laisser vide si inutile. Vous pouvez utiliser des caractères de substitution: *", "name": "Juste un nom de filtre", "subject": "Utilisez un caractère générique [ * ]:\n\ntexte* = commence par \"texte\"\n*texte* = contient \"texte\"\n*texte = fini par \"texte\"", "bodyContains": "Le corps de l'email contient l'un des mots ou phrases", - "from": "Emails envoyés de cette adresse. Laisser vide si inutile. Vous pouvez utiliser des caractères de substitution: *", - "to": "Emails envoyés de cette adresse. Laisser vide si inutile. Vous pouvez utiliser des caractères de substitution: *" + "isGlobal": "Applies this filter to all emails incoming to system." + }, + "options": { + "action": { + "Skip": "Ignore", + "Move to Folder": "Put in Folder" + } } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/EmailFolder.json b/application/Espo/Resources/i18n/fr_FR/EmailFolder.json new file mode 100644 index 0000000000..156f191dc3 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/EmailFolder.json @@ -0,0 +1,10 @@ +{ + "fields": { + "skipNotifications": "Skip Notifications" + }, + "labels": { + "Create EmailFolder": "Create Folder", + "Manage Folders": "Manage Folders", + "Emails": "Emails" + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/EmailTemplate.json b/application/Espo/Resources/i18n/fr_FR/EmailTemplate.json index cfcca489fe..ded7619929 100644 --- a/application/Espo/Resources/i18n/fr_FR/EmailTemplate.json +++ b/application/Espo/Resources/i18n/fr_FR/EmailTemplate.json @@ -18,5 +18,8 @@ }, "presetFilters": { "actual": "Réel" + }, + "messages": { + "infoText": "Available variables:\n\n{optOutUrl} – URL for an unsubsbribe link;\n\n{optOutLink} – an unsubscribe link." } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/EntityManager.json b/application/Espo/Resources/i18n/fr_FR/EntityManager.json index 849684b46b..7f2ec74b0d 100644 --- a/application/Espo/Resources/i18n/fr_FR/EntityManager.json +++ b/application/Espo/Resources/i18n/fr_FR/EntityManager.json @@ -1,7 +1,10 @@ { "labels": { "Fields": "Champs", - "Relationships": "Relations" + "Relationships": "Relations", + "Schedule": "Schedule", + "Log": "Log", + "Formula": "Formula" }, "fields": { "name": "Nom", @@ -21,14 +24,21 @@ "linkMultipleField": "Lier un champ multiple", "linkMultipleFieldForeign": "Lier un champ multiple étranger", "disabled": "Désactivé", - "textFilterFields": "Champs de filtre textuel" + "textFilterFields": "Champs de filtre textuel", + "audited": "Audited", + "auditedForeign": "Foreign Audited", + "statusField": "Status Field", + "beforeSaveCustomScript": "Before Save Custom Script" }, "options": { "type": { "": "Aucun", "Base": "Base", "Person": "Personne", - "CategoryTree": "Arborescence catégories" + "CategoryTree": "Arborescence catégories", + "Event": "Event", + "BasePlus": "Base Plus", + "Company": "Company" }, "linkType": { "manyToMany": "Plusieurs-à-Plusieurs", @@ -46,5 +56,14 @@ "entityCreated": "L'entité a bien été créée", "linkAlreadyExists": "Conflit: lien déjà existant.", "linkConflict": "Conflit de nom : un lien ou un champ portant ce nom existe déjà. " + }, + "tooltips": { + "statusField": "Updates of this field are logged in stream.", + "textFilterFields": "Fields used by text search.", + "stream": "Whether entity has a Stream.", + "disabled": "Check if you don't need this entity in your system.", + "linkAudited": "Creating related record and linking with existing record will be logged in Stream.", + "linkMultipleField": "Link Multiple field provides a handy way to edit relations. Don't use it if you can have a large number of related records.", + "entityType": "Base Plus - has Activities, History and Tasks panels.\n\nEvent - available in Calendar and Activities panel." } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Export.json b/application/Espo/Resources/i18n/fr_FR/Export.json new file mode 100644 index 0000000000..3873f27de0 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/Export.json @@ -0,0 +1,6 @@ +{ + "fields": { + "useCustomFieldList": "Custom Field List", + "fieldList": "Field List" + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/FieldManager.json b/application/Espo/Resources/i18n/fr_FR/FieldManager.json new file mode 100644 index 0000000000..36466d0e97 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/FieldManager.json @@ -0,0 +1,75 @@ +{ + "labels": { + "Dynamic Logic": "Dynamic Logic" + }, + "options": { + "dateTimeDefault": { + "": "None", + "javascript: return this.dateTime.getNow(1);": "Now", + "javascript: return this.dateTime.getNow(5);": "Now (5m)", + "javascript: return this.dateTime.getNow(15);": "Now (15m)", + "javascript: return this.dateTime.getNow(30);": "Now (30m)", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(1, 'hours', 15);": "+1 hour", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(2, 'hours', 15);": "+2 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(3, 'hours', 15);": "+3 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(4, 'hours', 15);": "+4 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(5, 'hours', 15);": "+5 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(6, 'hours', 15);": "+6 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(7, 'hours', 15);": "+7 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(8, 'hours', 15);": "+8 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(9, 'hours', 15);": "+9 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(10, 'hours', 15);": "+10 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(11, 'hours', 15);": "+11 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(12, 'hours', 15);": "+12 hours", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(1, 'days', 15);": "+1 day", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(2, 'days', 15);": "+2 days", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(3, 'days', 15);": "+3 days", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(4, 'days', 15);": "+4 days", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(5, 'days', 15);": "+5 days", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(6, 'days', 15);": "+6 days", + "javascript: return this.dateTime.getDateTimeShiftedFromNow(1, 'week', 15);": "+1 week" + }, + "dateDefault": { + "": "None", + "javascript: return this.dateTime.getToday();": "Today", + "javascript: return this.dateTime.getDateShiftedFromToday(1, 'days');": "+1 day", + "javascript: return this.dateTime.getDateShiftedFromToday(2, 'days');": "+2 days", + "javascript: return this.dateTime.getDateShiftedFromToday(3, 'days');": "+3 days", + "javascript: return this.dateTime.getDateShiftedFromToday(4, 'days');": "+4 days", + "javascript: return this.dateTime.getDateShiftedFromToday(5, 'days');": "+5 days", + "javascript: return this.dateTime.getDateShiftedFromToday(6, 'days');": "+6 days", + "javascript: return this.dateTime.getDateShiftedFromToday(7, 'days');": "+7 days", + "javascript: return this.dateTime.getDateShiftedFromToday(8, 'days');": "+8 days", + "javascript: return this.dateTime.getDateShiftedFromToday(9, 'days');": "+9 days", + "javascript: return this.dateTime.getDateShiftedFromToday(10, 'days');": "+10 days", + "javascript: return this.dateTime.getDateShiftedFromToday(1, 'weeks');": "+1 week", + "javascript: return this.dateTime.getDateShiftedFromToday(2, 'weeks');": "+2 weeks", + "javascript: return this.dateTime.getDateShiftedFromToday(3, 'weeks');": "+3 weeks", + "javascript: return this.dateTime.getDateShiftedFromToday(1, 'months');": "+1 month", + "javascript: return this.dateTime.getDateShiftedFromToday(2, 'months');": "+2 months", + "javascript: return this.dateTime.getDateShiftedFromToday(3, 'months');": "+3 months", + "javascript: return this.dateTime.getDateShiftedFromToday(4, 'months');": "+4 months", + "javascript: return this.dateTime.getDateShiftedFromToday(5, 'months');": "+5 months", + "javascript: return this.dateTime.getDateShiftedFromToday(6, 'months');": "+6 months", + "javascript: return this.dateTime.getDateShiftedFromToday(7, 'months');": "+7 months", + "javascript: return this.dateTime.getDateShiftedFromToday(8, 'months');": "+8 months", + "javascript: return this.dateTime.getDateShiftedFromToday(9, 'months');": "+9 months", + "javascript: return this.dateTime.getDateShiftedFromToday(10, 'months');": "+10 months", + "javascript: return this.dateTime.getDateShiftedFromToday(11, 'months');": "+11 months", + "javascript: return this.dateTime.getDateShiftedFromToday(1, 'year');": "+1 year" + } + }, + "tooltips": { + "audited": "Updates will be logged in stream.", + "required": "Field will be mandatory. Can't be left empty.", + "default": "Value will be set by default upon creating.", + "min": "Min acceptable value.", + "max": "Max acceptable value.", + "seeMoreDisabled": "If not checked then long texts will be shortened.", + "lengthOfCut": "How long text can be before it will be cut.", + "maxLength": "Max acceptable length of text.", + "before": "The date value should be before the date value of the specified field.", + "after": "The date value should be after the date value of the specified field.", + "readOnly": "Field value can't be specified by user. But can be calculated by formula." + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Global.json b/application/Espo/Resources/i18n/fr_FR/Global.json index 92e0cd0016..c88dcdaa14 100644 --- a/application/Espo/Resources/i18n/fr_FR/Global.json +++ b/application/Espo/Resources/i18n/fr_FR/Global.json @@ -20,7 +20,15 @@ "EmailFilter": "Filtre email", "Portal": "Portail", "PortalRole": "Rôle Portail", - "Attachment": "Pièce jointe" + "Attachment": "Pièce jointe", + "EmailFolder": "Email Folder", + "PortalUser": "Portal User", + "ScheduledJobLogRecord": "Scheduled Job Log Record", + "PasswordChangeRequest": "Password Change Request", + "ActionHistoryRecord": "Action History Record", + "AuthToken": "Auth Token", + "UniqueId": "Unique ID", + "LastViewed": "Last Viewed" }, "scopeNamesPlural": { "Email": "Emails", @@ -43,7 +51,15 @@ "EmailFilter": "Filtres Email", "Portal": "Portails", "PortalRole": "Roles Portail", - "Attachment": "Pièces jointes" + "Attachment": "Pièces jointes", + "EmailFolder": "Email Folders", + "PortalUser": "Portal Users", + "ScheduledJobLogRecord": "Scheduled Job Log Records", + "PasswordChangeRequest": "Password Change Requests", + "ActionHistoryRecord": "Action History", + "AuthToken": "Auth Tokens", + "UniqueId": "Unique IDs", + "LastViewed": "Last Viewed" }, "labels": { "Misc": "Divers", @@ -165,7 +181,6 @@ "Close": "Fermer", "Yes": "Oui", "No": "Non", - "Select All Results": "Sélectionner tous les résultats", "Value": "Valeur", "Current version": "Version actuelle", "List View": "Vue en liste", @@ -181,7 +196,14 @@ "Previous Entry": "Précédent", "Next Entry": "Suivant", "View List": "Vue en liste", - "Attach File": "Attacher un fichier" + "Attach File": "Attacher un fichier", + "Skip": "Skip", + "Attribute": "Attribute", + "Function": "Function", + "Self-Assign": "Self-Assign", + "Self-Assigned": "Self-Assigned", + "Return to Application": "Return to Application", + "Select All Results": "Select All Results" }, "messages": { "pleaseWait": "Veuillez patienter...", @@ -189,11 +211,6 @@ "confirmLeaveOutMessage": "Êtes-vous sûr de vouloir quitter le formulaire?", "notModified": "Vous n'avez pas modifié l'enregistrement", "fieldIsRequired": "{field} est requis", - "fieldShouldBeEmail": "{field} doit être un email valide", - "fieldShouldBeFloat": "{field} doit être un nombre décimal valide", - "fieldShouldBeInt": "{field} doit être un nombre entier valide", - "fieldShouldBeDate": "{field} doit être une date valide", - "fieldShouldBeDatetime": "{field} doit être une date et heure valide", "fieldShouldAfter": "{field} doit être après {otherField}", "fieldShouldBefore": "{field} doit être avant {otherField}", "fieldShouldBeBetween": "{field} doit être compris entre {min} et {max}", @@ -217,7 +234,28 @@ "writeYourCommentHere": "Écrivez votre commentaire ici", "writeMessageToUser": "Écrire un message à {user}", "typeAndPressEnter": "Écrivez puis appuyez sur la touche Entrée", - "checkForNewNotifications": "Vérifier les nouvelles notifications" + "checkForNewNotifications": "Vérifier les nouvelles notifications", + "duplicate": "The record you are creating might already exist", + "dropToAttach": "Drop to attach", + "streamPostInfo": "Type @username to mention users in the post.\n\nAvailable markdown syntax:\n`code`\n**strong text**\n*emphasized text*\n~deleted text~\n> blockquote\n[link text](url)", + "writeMessageToSelf": "Write a message on your stream", + "checkForNewNotes": "Check for stream updates", + "internalPost": "Post will be seen only by internal users", + "done": "Done", + "confirmMassFollow": "Are you sure you want to follow selected records?", + "confirmMassUnfollow": "Are you sure you want to unfollow selected records?", + "massFollowResult": "{count} records now are followed", + "massUnfollowResult": "{count} records now are not followed", + "massFollowResultSingle": "{count} record now is followed", + "massUnfollowResultSingle": "{count} record now is not followed", + "massFollowZeroResult": "Nothing got followed", + "massUnfollowZeroResult": "Nothing got unfollowed", + "fieldShouldBeEmail": "{field} should be a valid email", + "fieldShouldBeFloat": "{field} should be a valid float", + "fieldShouldBeInt": "{field} should be a valid integer", + "fieldShouldBeDate": "{field} should be a valid date", + "fieldShouldBeDatetime": "{field} should be a valid date/time", + "internalPostTitle": "Post is seen only by internal users" }, "boolFilters": { "onlyMy": "Perso", @@ -231,7 +269,9 @@ "remove": "Supprimer", "merge": "Fusionner", "massUpdate": "Mise à jour groupée", - "export": "Export" + "export": "Export", + "follow": "Follow", + "unfollow": "Unfollow" }, "fields": { "name": "Nom", @@ -257,7 +297,8 @@ "phoneNumberOther": "Téléphone (Autre)", "order": "Tri", "parent": "Parent", - "children": "Enfants" + "children": "Enfants", + "id": "ID" }, "links": { "assignedUser": "Utilisateur assigné", @@ -272,7 +313,8 @@ }, "dashlets": { "Stream": "Flux", - "Emails": "Ma boite de réception" + "Emails": "Ma boite de réception", + "Records": "Record List" }, "notificationMessages": { "assign": "{entityType} {entity} vous a été assigné", @@ -322,7 +364,17 @@ "emailReceived": "Email reçu relié à {entityType} {entity}", "emailReceivedInitial": "Email reçu: {entityType} {entity} créé", "emailSent": "{by} a envoyé un email lié à {entityType} {entity}", - "emailSentThis": "{by} a envoyé un email" + "emailSentThis": "{by} a envoyé un email", + "postTargetSelf": "{user} self-posted", + "postTargetSelfAndOthers": "{user} posted to {target} and themself", + "createAssignedYou": "{user} created {entityType} {entity} assigned to you", + "createAssignedThisSelf": "{user} created this {entityType} self-assigned", + "createAssignedSelf": "{user} created {entityType} {entity} self-assigned", + "assignYou": "{user} assigned {entityType} {entity} to you", + "assignThisVoid": "{user} unassigned this {entityType}", + "assignVoid": "{user} unassigned {entityType} {entity}", + "assignThisSelf": "{user} self-assigned this {entityType}", + "assignSelf": "{user} self-assigned {entityType} {entity}" }, "lists": { "monthNames": [ @@ -479,14 +531,21 @@ "lastSevenDays": "7 derniers jours", "lastXDays": "Derniers X jours", "nextXDays": "Prochains X jours", - "ever": "Toujours" + "ever": "Toujours", + "isEmpty": "Is Empty", + "olderThanXDays": "Older Than X Days", + "afterXDays": "After X Days" }, "searchRanges": { "is": "Est", "isEmpty": "Est vide", "isNotEmpty": "Non vide", - "isOneOf": "Fait partie de", - "isFromTeams": "Provient de l’équipe" + "isFromTeams": "Provient de l’équipe", + "isOneOf": "Any Of", + "anyOf": "Any Of", + "isNot": "Is Not", + "isNotOneOf": "None Of", + "noneOf": "None Of" }, "varcharSearchRanges": { "equals": "Égale", @@ -504,7 +563,9 @@ "lessThan": "Moins grand que", "greaterThanOrEquals": "Plus grand que ou égale", "lessThanOrEquals": "Moins grand que ou égale", - "between": "Entre" + "between": "Entre", + "isEmpty": "Is Empty", + "isNotEmpty": "Is Not Empty" }, "autorefreshInterval": { "0": "Aucun", @@ -628,6 +689,18 @@ "themes": { "Espo": "Espo", "Sakura": "Sakura", - "Violet": "Violet" + "Violet": "Violet", + "EspoRtl": "RTL Espo", + "EspoVertical": "Espo w/ sidebar", + "SakuraVertical": "Sakura w/ sidebar", + "VioletVertical": "Violet w/ sidebar", + "Hazyblue": "Hazyblue", + "HazyblueVertical": "Hazyblue w/ sidebar" + }, + "streamMessagesMale": { + "postTargetSelfAndOthers": "{user} posted to {target} and himself" + }, + "streamMessagesFemale": { + "postTargetSelfAndOthers": "{user} posted to {target} and herself" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Import.json b/application/Espo/Resources/i18n/fr_FR/Import.json index ec37905769..dbec32d6aa 100644 --- a/application/Espo/Resources/i18n/fr_FR/Import.json +++ b/application/Espo/Resources/i18n/fr_FR/Import.json @@ -47,17 +47,28 @@ "Double Quote": "Guillemet", "Single Quote": "Apostrophe", "Imported": "Importé", - "Duplicates": "Doublons" + "Duplicates": "Doublons", + "Skip searching for duplicates": "Skip searching for duplicates", + "Timezone": "Timezone" }, "messages": { "utf8": "Devrait être en UTF-8", - "duplicatesRemoved": "Doublons supprimés" + "duplicatesRemoved": "Doublons supprimés", + "inIdle": "Execute in idle (for big data; via cron)" }, "fields": { "file": "Fichier", "entityType": "Type d'entité", "imported": "Enregistrements importés", "duplicates": "Enregistrements doublons", - "updated": "Enregistrements mis à jour" + "updated": "Enregistrements mis à jour", + "status": "Status" + }, + "options": { + "status": { + "Failed": "Failed", + "In Process": "In Process", + "Complete": "Complete" + } } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/InboundEmail.json b/application/Espo/Resources/i18n/fr_FR/InboundEmail.json index 53e113163c..f620996c32 100644 --- a/application/Espo/Resources/i18n/fr_FR/InboundEmail.json +++ b/application/Espo/Resources/i18n/fr_FR/InboundEmail.json @@ -20,17 +20,24 @@ "replyFromName": "Reply From Name", "targetUserPosition": "Target User Position", "fetchSince": "Fetch Since", - "addAllTeamUsers": "Pour tous les membres de l'équipe" + "addAllTeamUsers": "Pour tous les membres de l'équipe", + "team": "Target Team", + "teams": "Teams" }, "tooltips": { "reply": "Notify email senders that their emails has been received.\n\n Only one email will be sent to a particular recipient during some period of time to prevent looping.", "createCase": "Création automatique de tickets à partir des emails entrant", "replyToAddress": "Specify email address of this mailbox to make responses come here.", "caseDistribution": "How cases will be assigned to. Assigned directly to the user or among the team.", - "targetUserPosition": "Define the position of users which will be destributed with cases." + "assignToUser": "User cases will be assigned to.", + "team": "Team cases will be assigned to.", + "teams": "Teams emails will be assigned to.", + "addAllTeamUsers": "Emails will be appearing in Inbox of all users of specified teams.", + "targetUserPosition": "Users with specified position will be distributed with cases." }, "links": { - "filters": "Filtre" + "filters": "Filtre", + "emails": "Emails" }, "options": { "status": { diff --git a/application/Espo/Resources/i18n/fr_FR/Integration.json b/application/Espo/Resources/i18n/fr_FR/Integration.json index 425cfb96ff..c05cdd8f88 100644 --- a/application/Espo/Resources/i18n/fr_FR/Integration.json +++ b/application/Espo/Resources/i18n/fr_FR/Integration.json @@ -3,13 +3,18 @@ "enabled": "Activé", "clientId": "Client ID", "clientSecret": "Client Secret", - "redirectUri": "Redirect URI" + "redirectUri": "Redirect URI", + "apiKey": "API Key" }, "messages": { "selectIntegration": "Sélectionnez une intégration à partir du menu.", "noIntegrations": "Aucune intégration n'est disponible." }, "help": { - "Google": "

Obtain OAuth 2.0 credentials from the Google Developers Console.

Visit Google Developers Console to obtain OAuth 2.0 credentials such as a Client ID and Client Secret that are known to both Google and EspoCRM application.

" + "Google": "

Obtain OAuth 2.0 credentials from the Google Developers Console.

Visit Google Developers Console to obtain OAuth 2.0 credentials such as a Client ID and Client Secret that are known to both Google and EspoCRM application.

", + "GoogleMaps": "

Obtain API key here.

" + }, + "titles": { + "GoogleMaps": "Google Maps" } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/LayoutManager.json b/application/Espo/Resources/i18n/fr_FR/LayoutManager.json index 772022f3ad..6ea7c45007 100644 --- a/application/Espo/Resources/i18n/fr_FR/LayoutManager.json +++ b/application/Espo/Resources/i18n/fr_FR/LayoutManager.json @@ -3,12 +3,23 @@ "width": "Largeur (%)", "link": "Lien", "notSortable": "Not Sortable", - "align": "Align" + "align": "Align", + "panelName": "Panel Name", + "style": "Style", + "sticked": "Sticked" }, "options": { "align": { "left": "Gauche", "right": "Droite" + }, + "style": { + "default": "Default", + "success": "Success", + "danger": "Danger", + "info": "Info", + "warning": "Warning", + "primary": "Primary" } } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Note.json b/application/Espo/Resources/i18n/fr_FR/Note.json index ecc4fd629e..02f4be060b 100644 --- a/application/Espo/Resources/i18n/fr_FR/Note.json +++ b/application/Espo/Resources/i18n/fr_FR/Note.json @@ -5,7 +5,8 @@ "targetType": "Cible", "teams": "Équipes", "users": "Utilisateurs", - "portals": "Portails" + "portals": "Portails", + "type": "Type" }, "filters": { "all": "Tous", @@ -14,5 +15,14 @@ }, "messages": { "writeMessage": "Écrivez votre message ici" + }, + "options": { + "targetType": { + "self": "to myself", + "users": "to particular user(s)", + "teams": "to particular team(s)", + "all": "to all internal users", + "portals": "to portal users" + } } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Portal.json b/application/Espo/Resources/i18n/fr_FR/Portal.json index b69b9b2c69..9e3071f134 100644 --- a/application/Espo/Resources/i18n/fr_FR/Portal.json +++ b/application/Espo/Resources/i18n/fr_FR/Portal.json @@ -17,7 +17,8 @@ "timeZone": "Fuseau", "weekStart": "Premier jour de la semaine", "defaultCurrency": "Devise par défaut", - "customUrl": "Lien personnalisé" + "customUrl": "Lien personnalisé", + "customId": "Custom ID" }, "links": { "users": "Utilisateurs", diff --git a/application/Espo/Resources/i18n/fr_FR/PortalUser.json b/application/Espo/Resources/i18n/fr_FR/PortalUser.json new file mode 100644 index 0000000000..221eb7c8b1 --- /dev/null +++ b/application/Espo/Resources/i18n/fr_FR/PortalUser.json @@ -0,0 +1,5 @@ +{ + "labels": { + "Create PortalUser": "Create Portal User" + } +} \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Preferences.json b/application/Espo/Resources/i18n/fr_FR/Preferences.json index 5de8d07951..103902ef4f 100644 --- a/application/Espo/Resources/i18n/fr_FR/Preferences.json +++ b/application/Espo/Resources/i18n/fr_FR/Preferences.json @@ -25,7 +25,14 @@ "defaultReminders": "Notifications par défaut", "theme": "Thème", "useCustomTabList": "Liste d'onglets personnalisé", - "emailReplyToAllByDefault": "Répondre à tous par défaut dans les Emails" + "emailReplyToAllByDefault": "Répondre à tous par défaut dans les Emails", + "receiveAssignmentEmailNotifications": "Email notifications upon assignment", + "receiveMentionEmailNotifications": "Email notifications about mentions in posts", + "receiveStreamEmailNotifications": "Email notifications about posts and status updates", + "dashboardLayout": "Dashboard Layout", + "emailReplyForceHtml": "Email Reply in HTML", + "doNotFillAssignedUserIfNotRequired": "Do not fill Assigned User if not required", + "followEntityOnStreamPost": "Auto-follow entity after posting in Stream" }, "options": { "weekStart": { diff --git a/application/Espo/Resources/i18n/fr_FR/ScheduledJob.json b/application/Espo/Resources/i18n/fr_FR/ScheduledJob.json index 0f5519bc60..904864378d 100644 --- a/application/Espo/Resources/i18n/fr_FR/ScheduledJob.json +++ b/application/Espo/Resources/i18n/fr_FR/ScheduledJob.json @@ -17,7 +17,8 @@ "CheckInboundEmails": "Vérifier les emails entrants", "CheckEmailAccounts": "Vérifier ses comptes emails personnels", "SendEmailReminders": "Envoyer des notifications par email", - "AuthTokenControl": "Auth Token Control" + "AuthTokenControl": "Auth Token Control", + "SendEmailNotifications": "Send Email Notifications" }, "cronSetup": { "linux": "Note: Ajoutez cette ligne dans le fichier crontab pour lancer les tâches planifiées:", diff --git a/application/Espo/Resources/i18n/fr_FR/Settings.json b/application/Espo/Resources/i18n/fr_FR/Settings.json index 5bc75199cf..1192115caf 100644 --- a/application/Espo/Resources/i18n/fr_FR/Settings.json +++ b/application/Espo/Resources/i18n/fr_FR/Settings.json @@ -61,7 +61,30 @@ "addressPreview": "Address Preview", "addressFormat": "Address Format", "notificationSoundsDisabled": "Disable Notification Sounds", - "applicationName": "Application Name" + "applicationName": "Application Name", + "ldapUsername": "Full User DN", + "ldapBindRequiresDn": "Bind Requires DN", + "ldapBaseDn": "Base DN", + "ldapUserNameAttribute": "Username Attribute", + "ldapUserObjectClass": "User ObjectClass", + "ldapUserTitleAttribute": "User Title Attribute", + "ldapUserFirstNameAttribute": "User First Name Attribute", + "ldapUserLastNameAttribute": "User Last Name Attribute", + "ldapUserEmailAddressAttribute": "User Email Address Attribute", + "ldapUserTeams": "User Teams", + "ldapUserDefaultTeam": "User Default Team", + "ldapUserPhoneNumberAttribute": "User Phone Number Attribute", + "assignmentNotificationsEntityList": "Entities to notify about upon assignment", + "assignmentEmailNotifications": "Notifications upon assignment", + "assignmentEmailNotificationsEntityList": "Assignment email notifications scopes", + "streamEmailNotifications": "Notifications about updates in Stream for internal users", + "portalStreamEmailNotifications": "Notifications about updates in Stream for portal users", + "streamEmailNotificationsEntityList": "Stream email notifications scopes", + "calendarEntityList": "Calendar Entity List", + "mentionEmailNotifications": "Send email notifications about mentions in posts", + "massEmailDisableMandatoryOptOutLink": "Disable mandatory opt-out link", + "activitiesEntityList": "Activities Entity List", + "historyEntityList": "History Entity List" }, "options": { "weekStart": { @@ -77,7 +100,29 @@ "emailMessageMaxSize": "All inbound emails exceeding a specified size will be fetched w/o body and attachments.", "authTokenLifetime": "Defines how long tokens can exist.\n0 - means no expiration.", "authTokenMaxIdleTime": "Defines how long since the last access tokens can exist.\n0 - means no expiration.", - "userThemesDisabled": "Si coché alors les utilisateurs ne pourront pas sélectionner un autre thème" + "userThemesDisabled": "Si coché alors les utilisateurs ne pourront pas sélectionner un autre thème", + "ldapUsername": "The full system user DN which allows to search other users. E.g. \"CN=LDAP System User,OU=users,OU=espocrm, DC=test,DC=lan\".", + "ldapPassword": "The password to access to LDAP server.", + "ldapAuth": "Access credentials for the LDAP server.", + "ldapUserNameAttribute": "The attribute to identify the user. \nE.g. \"userPrincipalName\" or \"sAMAccountName\" for Active Directory, \"uid\" for OpenLDAP.", + "ldapUserObjectClass": "ObjectClass attribute for searching users. E.g. \"person\" for AD, \"inetOrgPerson\" for OpenLDAP.", + "ldapAccountCanonicalForm": "The type of your account canonical form. There are 4 options:
- 'Dn' - the form in the format 'CN=tester,OU=espocrm,DC=test, DC=lan'.
- 'Username' - the form 'tester'.
- 'Backslash' - the form 'COMPANY\\tester'.
- 'Principal' - the form 'tester@company.com'.", + "ldapBindRequiresDn": "The option to format the username in the DN form.", + "ldapBaseDn": "The default base DN used for searching users. E.g. \"OU=users,OU=espocrm,DC=test, DC=lan\".", + "ldapTryUsernameSplit": "The option to split a username with the domain.", + "ldapOptReferrals": "if referrals should be followed to the LDAP client.", + "ldapCreateEspoUser": "This option allows EspoCRM to create a user from the LDAP.", + "ldapUserFirstNameAttribute": "LDAP attribute which is used to determine the user first name. E.g. \"givenname\".", + "ldapUserLastNameAttribute": "LDAP attribute which is used to determine the user last name. E.g. \"sn\".", + "ldapUserTitleAttribute": "LDAP attribute which is used to determine the user title. E.g. \"title\".", + "ldapUserEmailAddressAttribute": "LDAP attribute which is used to determine the user email address. E.g. \"mail\".", + "ldapUserPhoneNumberAttribute": "LDAP attribute which is used to determine the user phone number. E.g. \"telephoneNumber\".", + "ldapUserLoginFilter": "The filter which allows to restrict users who able to use EspoCRM. E.g. \"memberOf=CN=espoGroup, OU=groups,OU=espocrm, DC=test,DC=lan\".", + "ldapAccountDomainName": "The domain which is used for authorization to LDAP server.", + "ldapAccountDomainNameShort": "The short domain which is used for authorization to LDAP server.", + "ldapUserTeams": "Teams for created user. For more, see user profile.", + "ldapUserDefaultTeam": "Default team for created user. For more, see user profile.", + "b2cMode": "By default EspoCRM is adapted for B2B. You can switch it to B2C." }, "labels": { "System": "Système", @@ -88,6 +133,12 @@ "Email Notifications": "Notifications par email", "Currency Settings": "Paramètres de devises", "Currency Rates": "Taux des devises", - "Mass Email": "Emails groupés" + "Mass Email": "Emails groupés", + "Test Connection": "Test Connection", + "Connecting": "Connecting...", + "Activities": "Activities" + }, + "messages": { + "ldapTestConnection": "The connection successfully established." } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/Team.json b/application/Espo/Resources/i18n/fr_FR/Team.json index ee300b6379..875603c7c8 100644 --- a/application/Espo/Resources/i18n/fr_FR/Team.json +++ b/application/Espo/Resources/i18n/fr_FR/Team.json @@ -7,7 +7,8 @@ "links": { "users": "Utilisateurs", "notes": "Notes", - "roles": "Rôles" + "roles": "Rôles", + "inboundEmails": "Group Email Accounts" }, "tooltips": { "roles": "Permissions. Les utilisateurs de cette équipe obtiennent le niveau d'accès des rôles sélectionnés.", diff --git a/application/Espo/Resources/i18n/fr_FR/Template.json b/application/Espo/Resources/i18n/fr_FR/Template.json index 4a3db34b3b..e47831b511 100644 --- a/application/Espo/Resources/i18n/fr_FR/Template.json +++ b/application/Espo/Resources/i18n/fr_FR/Template.json @@ -10,12 +10,14 @@ "rightMargin": "Marge droite", "bottomMargin": "Marge du bas", "printFooter": "Imprimer les pieds de page", - "footerPosition": "Position des pieds de page" + "footerPosition": "Position des pieds de page", + "variables": "Available Placeholders" }, "labels": { "Create Template": "Créer un modèle" }, "tooltips": { - "footer": "Utiliser {pageNumber} pour imprimer la page." + "footer": "Utiliser {pageNumber} pour imprimer la page.", + "variables": "Copy-paste needed placeholder to Header, Body or Footer." } } \ No newline at end of file diff --git a/application/Espo/Resources/i18n/fr_FR/User.json b/application/Espo/Resources/i18n/fr_FR/User.json index 65bdcb4eac..8446707f03 100644 --- a/application/Espo/Resources/i18n/fr_FR/User.json +++ b/application/Espo/Resources/i18n/fr_FR/User.json @@ -23,7 +23,10 @@ "accounts": "Comptes", "account": "Compte (principal)", "sendAccessInfo": "Envoyer un email avec ses accès à l'utilisateur", - "portal": "Portail" + "portal": "Portail", + "gender": "Gender", + "position": "Position in Team", + "ipAddress": "IP Address" }, "links": { "teams": "Équipes", @@ -33,7 +36,8 @@ "portalRoles": "Rôles Portail", "contact": "Contact", "accounts": "Comptes", - "account": "Compte (principal)" + "account": "Compte (principal)", + "tasks": "Tasks" }, "labels": { "Create User": "Créer un utilisateur", @@ -48,7 +52,8 @@ "External Accounts": "Comptes externes", "Email Accounts": "Comptes email", "Portal": "Portail", - "Create Portal User": "Créer un utilisateur de Portail" + "Create Portal User": "Créer un utilisateur de Portail", + "Proceed w/o Contact": "Proceed w/o Contact" }, "tooltips": { "defaultTeam": "Toutes les données créées par cet utilisateur seront liés à cette équipe par défaut.", @@ -73,7 +78,8 @@ "forbidden": "Erreur, veuillez réessayer plus tard.", "uniqueLinkHasBeenSent": "Un lien unique et temporaire a été envoyé à votre adresse email.", "passwordChangedByRequest": "Le mot de passe a été modifié.", - "setupSmtpBefore": "You need to setup SMTP settings to make the system be able to send password in email." + "setupSmtpBefore": "You need to setup SMTP settings to make the system be able to send password in email.", + "passwordChangeLinkEmailBody": "You can change your password by following this link {link}. This unique URL will be expired soon." }, "boolFilters": { "onlyMyTeam": "De mon équipe" @@ -81,5 +87,13 @@ "presetFilters": { "active": "Actif", "activePortal": "Portail actif" + }, + "options": { + "gender": { + "": "Not Set", + "Male": "Male", + "Female": "Female", + "Neutral": "Neutral" + } } } \ No newline at end of file diff --git a/install/core/i18n/fr_FR/install.json b/install/core/i18n/fr_FR/install.json index 2010b02ca7..d38c475037 100644 --- a/install/core/i18n/fr_FR/install.json +++ b/install/core/i18n/fr_FR/install.json @@ -76,6 +76,7 @@ "emailAddress": "Email" }, "messages": { + "1045": "Access denied for the user", "1049": "Base de donnée inconnue", "2005": "Hôte du server MYSQL est inconnu", "Bad init Permission": "Permission denied for \"{*}\" directory. Please set 775 for \"{*}\" or just execute this command in the terminal
{C}
\n\tOperation not permitted? Try this one: {CSU}", @@ -114,8 +115,19 @@ }, "modRewriteInstruction": { "apache": { - "windows": "
1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)
\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)
\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n
" + "windows": "
1. Find the httpd.conf file (usually you will find it in a folder called conf, config or something along those lines)
\n2. Inside the httpd.conf file uncomment the line LoadModule rewrite_module modules/mod_rewrite.so (remove the pound '#' sign from in front of the line)
\n3. Also find the line ClearModuleList is uncommented then find and make sure that the line AddModule mod_rewrite.c is not commented out.\n
", + "linux": "

1. Enable \"mod_rewrite\". To do it run those commands in a Terminal:
{APACHE1}

2. Enable .htaccess support. Add/edit the Server configuration settings (/etc/apache/apache2.conf, /etc/httpd/conf/httpd.conf):
{APACHE2}
\n Afterwards run this command in a Terminal:
{APACHE3}

3. Try to add the RewriteBase path, open a file {API_PATH}.htaccess and replace the following line:
{APACHE4}
To
{APACHE5}

For more information please visit the guideline Apache server configuration for EspoCRM.

" + }, + "nginx": { + "linux": "
\n
\n{NGINX}\n

For more information please visit the guideline Nginx server configuration for EspoCRM.

", + "windows": "
\n
\n{NGINX}\n

For more information please visit the guideline Nginx server configuration for EspoCRM.

" } + }, + "modRewriteTitle": { + "apache": "API Error: EspoCRM API is unavailable.
Possible problems: disabled \"mod_rewrite\" in Apache server, disabled .htaccess support or RewriteBase issue.
Do only necessary steps. After each step check if the issue is solved.", + "nginx": "API Error: EspoCRM API is unavailable.
Add this code to your Nginx server block config file (/etc/nginx/sites-available/YOUR_SITE) inside \"server\" section:", + "microsoft-iis": "API Error: EspoCRM API is unavailable.
Possible problem: disabled \"URL Rewrite\". Please check and enable \"URL Rewrite\" Module in IIS server", + "default": "API Error: EspoCRM API is unavailable.
Possible problem: disabled Rewrite Module. Please check and enable Rewrite Module in your server (e.g. mod_rewrite in Apache) and .htaccess support." } } } \ No newline at end of file