Merge branch '10.0' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2019-08-30 04:18:23 +02:00
commit 210effc742
22 changed files with 95 additions and 24 deletions

View File

@ -419,7 +419,11 @@ class DoliDBMssql extends DoliDB
}
//print "<!--".$query."-->";
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK'))) dol_syslog('sql='.$query, LOG_DEBUG);
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK')))
{
$SYSLOG_SQL_LIMIT = 10000; // limit log to 10kb per line to limit DOS attacks
dol_syslog('sql='.substr($query, 0, $SYSLOG_SQL_LIMIT), LOG_DEBUG);
}
if (! $this->database_name)
{

View File

@ -522,7 +522,11 @@ class DoliDBPgsql extends DoliDB
@pg_query($this->db, 'SAVEPOINT mysavepoint');
}
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK'))) dol_syslog('sql='.$query, LOG_DEBUG);
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK')))
{
$SYSLOG_SQL_LIMIT = 10000; // limit log to 10kb per line to limit DOS attacks
dol_syslog('sql='.substr($query, 0, $SYSLOG_SQL_LIMIT), LOG_DEBUG);
}
$ret = @pg_query($this->db, $query);

View File

@ -453,7 +453,11 @@ class DoliDBSqlite3 extends DoliDB
}
//print "After convertSQLFromMysql:\n".$query."<br>\n";
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK'))) dol_syslog('sql='.$query, LOG_DEBUG);
if (! in_array($query, array('BEGIN','COMMIT','ROLLBACK')))
{
$SYSLOG_SQL_LIMIT = 10000; // limit log to 10kb per line to limit DOS attacks
dol_syslog('sql='.substr($query, 0, $SYSLOG_SQL_LIMIT), LOG_DEBUG);
}
if (empty($query)) return false; // Return false = error if empty request
// Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE)

View File

@ -186,7 +186,13 @@ class modExpenseReport extends DolibarrModules
'u.lastname'=>'Lastname','u.firstname'=>'Firstname','u.login'=>"Login",'ed.rowid'=>'LineId','tf.code'=>'Type','ed.date'=>'Date','ed.tva_tx'=>'VATRate',
'ed.total_ht'=>'TotalHT','ed.total_tva'=>'TotalVAT','ed.total_ttc'=>'TotalTTC','ed.comments'=>'Comment','p.rowid'=>'ProjectId','p.ref'=>'Ref'
);
$this->export_entities_array[$r]=array(
$this->export_TypeFields_array[$r]=array(
'd.rowid'=>"Numeric",'d.ref'=>'Text','d.date_debut'=>'Date','d.date_fin'=>'Date','d.date_create'=>'Date','d.date_approve'=>'Date',
'd.total_ht'=>"Numeric",'d.total_tva'=>'Numeric','d.total_ttc'=>'Numeric','d.note_private'=>'Text','d.note_public'=>'Text',
'u.lastname'=>'Text','u.firstname'=>'Text','u.login'=>"Text",'ed.rowid'=>'Numeric','tf.code'=>'Code','ed.date'=>'Date','ed.tva_tx'=>'Numeric',
'ed.total_ht'=>'Numeric','ed.total_tva'=>'Numeric','ed.total_ttc'=>'Numeric','ed.comments'=>'Text','p.rowid'=>'Numeric','p.ref'=>'Text'
);
$this->export_entities_array[$r]=array(
'u.lastname'=>'user','u.firstname'=>'user','u.login'=>'user','ed.rowid'=>'expensereport_line','ed.date'=>'expensereport_line',
'ed.tva_tx'=>'expensereport_line','ed.total_ht'=>'expensereport_line','ed.total_tva'=>'expensereport_line','ed.total_ttc'=>'expensereport_line',
'ed.comments'=>'expensereport_line','tf.code'=>'expensereport_line','p.project_ref'=>'expensereport_line','p.rowid'=>'project','p.ref'=>'project'

View File

@ -206,6 +206,12 @@ class modHoliday extends DolibarrModules
'd.date_valid'=>'DateApprove','d.fk_validator'=>"UserForApprovalID",'ua.lastname'=>"UserForApprovalLastname",'ua.firstname'=>"UserForApprovalFirstname",
'ua.login'=>"UserForApprovalLogin",'d.description'=>'Description','d.statut'=>'Status'
);
$this->export_TypeFields_array[$r]=array(
'd.rowid'=>"Numeric",'t.code'=>'Text', 't.label'=>'Text','d.fk_user'=>'Numeric',
'u.lastname'=>'Text','u.firstname'=>'Text','u.login'=>"Text",'d.date_debut'=>'Date','d.date_fin'=>'Date',
'd.date_valid'=>'Date','d.fk_validator'=>"Numeric",'ua.lastname'=>"Text",'ua.firstname'=>"Text",
'ua.login'=>"Text",'d.description'=>'Text','d.statut'=>'Numeric'
);
$this->export_entities_array[$r]=array(
'u.lastname'=>'user','u.firstname'=>'user','u.login'=>'user','ua.lastname'=>'user','ua.firstname'=>'user','ua.login'=>'user'
);

View File

@ -18,6 +18,7 @@ ValidatorCP=Approbator
ListeCP=List of leave
LeaveId=Leave ID
ReviewedByCP=Will be approved by
UserID=User ID
UserForApprovalID=User for approval ID
UserForApprovalFirstname=First name of approval user
UserForApprovalLastname=Last name of approval user

View File

@ -400,6 +400,7 @@ OldVATRates=Ancien taux de TVA
NewVATRates=Nouveau taux de TVA
PriceBaseTypeToChange=Modifier sur les prix dont la référence de base est le
MassConvert=Convertir en masse
PriceFormatInCurrentLanguage=Format de prix dans la langue actuelle
String=Chaîne
TextLong=Texte long
HtmlText=Texte HTML
@ -431,7 +432,7 @@ ExtrafieldParamHelpradio=La liste doit être de la forme clef,valeur (où la cl
ExtrafieldParamHelpsellist=Les paramètres de la liste viennent d'une table<br>Syntax : table_name:label_field:id_field::filter<br>Exemple : c_typent:libelle:id::filter<br><br>-idfilter est nécessairement une clé primaire int<br>- filter peut être un simple test (e.g. active=1) pour seulement montrer les valeurs actives<br>Vous pouvez aussi utiliser $ID$ dans le filtre qui est le ID actuel de l'objet<br>Pour faire un SELECT dans le filtre, utilisez $SEL$<br>Si vous voulez filtrer sur un extrafield, utilisez la syntaxe extra.fieldcode=... (ou fieldcode est le code de l'extrafield)<br><br>Pour avoir une liste qui dépend d'un autre attribut complémentaire:<br>c_typent:libelle:id:options_<i>parent_list_code</i>|parent_column:filter <br><br>Pour avoir une liste qui dépend d'une autre liste:<br>c_typent:libelle:id:<i>parent_list_code</i>|parent_column:filter
ExtrafieldParamHelpchkbxlst=Les paramètres de la liste proviennent d'une table<br>:Syntaxe : nom_de_la_table:libelle_champ:id_champ::filtre<br>Exemple : c_typent:libelle:id::filter<br><br>le filtre peut n'est qu'un test (ex : active=1) pour n'afficher que les valeurs actives.<br>Vous pouvez aussi utiliser $ID$ dans les filtres pour indiquer l'ID de l'élément courant.<br>Pour utiliser un SELECT dans un filtre, utilisez $SEL$<br>Pour filtrer sur un attribut supplémentaire, utilisez la syntaxeextra.fieldcode=... (ou fieldcode est le code de l'attribut supplémentaire)<br><br>Pour afficher une liste dépendant d'un autre attribut supplémentaire : <br>c_typent:libelle:id:options_<i>code_liste_parente</i>|colonne_parente:filtre <br><br>Pour afficher une liste dépendant d'une autre liste : <br>c_typent:libelle:id:<i>code_liste_parente</i>|colonne_parente:filter
ExtrafieldParamHelplink=Les paramètres doivent être ObjectName:Classpath <br> Syntaxe: ObjectName:Classpath <br> Exemples: <br> Société:societe/class/societe.class.php <br> Contact:contact/class/contact.class.php
ExtrafieldParamHelpSeparator=Garder vide pour un simple séparateur <br> Définissez-le sur 1 pour un séparateur accordéon (ouvert par défaut) <br> Définissez-le sur 2 pour un séparateur accordéon (réduit par défaut)
ExtrafieldParamHelpSeparator=Garder vide pour un simple séparateur <br> Définissez-le sur 1 pour un séparateur auto-déroulant (ouvert par défaut pour une nouvelle session, puis le statut est conservé pour la session de l'utilisateur) <br> Définissez ceci sur 2 pour un séparateur auto-déroulant (réduit par défaut pour une nouvelle session, puis l'état est conservé pour chaque session d'utilisateur).
LibraryToBuildPDF=Bibliothèque utilisée pour la génération des PDF
LocalTaxDesc=Certains pays appliquent 2 voire 3 taux sur chaque ligne de facture. Si c'est le cas, choisissez le type du deuxième et troisième taux et sa valeur. Les types possibles sont:<br>1 : taxe locale sur les produits et services hors tva (la taxe locale est calculée sur le montant hors taxe)<br>2 : taxe locale sur les produits et services avant tva (la taxe locale est calculée sur le montant + tva)<br>3 : taxe locale uniquement sur les produits hors tva (la taxe locale est calculée sur le montant hors taxe)<br>4 : taxe locale uniquement sur les produits avant tva (la taxe locale est calculée sur le montant + tva)<br>5 : taxe locale uniquement sur les services hors tva (la taxe locale est calculée sur le montant hors taxe)<br>6 : taxe locale uniquement sur les service avant tva (la taxe locale est calculée sur le montant + tva)
SMS=SMS
@ -1695,7 +1696,7 @@ SuppliersInvoiceNumberingModel=Modèles de numérotation des factures fournisseu
IfSetToYesDontForgetPermission=Si positionné sur Oui, n'oubliez pas de donner les permissions aux groupes ou utilisateurs qui auront le droit de cette action.
##### GeoIPMaxmind #####
GeoIPMaxmindSetup=Configuration du module GeoIP Maxmind
PathToGeoIPMaxmindCountryDataFile=Chemin du fichier Maxmind contenant les conversions IP->Pays.<br>Exemples<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat
PathToGeoIPMaxmindCountryDataFile=Chemin du fichier Maxmind contenant les conversions IP->Pays.<br>Exemples<br>/usr/local/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoIP.dat<br>/usr/share/GeoIP/GeoLite2-Country.mmdb
NoteOnPathLocation=Notez que ce fichier doit être dans un répertoire accessible à votre PHP (Vérifiez le paramètre open_basedir de votre PHP et les permissions du fichier/répertoires).
YouCanDownloadFreeDatFileTo=Vous pouvez télécharger une <b>version démo gratuite</b> de la base Maxmind à l'adresse %s.
YouCanDownloadAdvancedDatFileTo=Vous pouvez aussi télécharger une <b>version plus complète avec mise à jours</b> de la base Maxmind à l'adresse %s.
@ -1926,14 +1927,13 @@ SmallerThan=Plus petit que
LargerThan=Plus grand que
IfTrackingIDFoundEventWillBeLinked=Notez que si un ID de suivi est trouvé dans le courrier électronique entrant, l'événement sera automatiquement lié aux bons objets.
WithGMailYouCanCreateADedicatedPassword=Avec un compte GMail, si vous avez activé la validation en 2 étapes, il est recommandé de créer un deuxième mot de passe dédié à l'application, au lieu d'utiliser votre propre mot de passe de compte, à partir de https://myaccount.google.com/.
IFTTTSetup=Configuration du module IFTTT
IFTTT_SERVICE_KEY=Clé de service IFTTT
IFTTT_DOLIBARR_ENDPOINT_SECUREKEY=Clé de sécurité pour sécuriser l'URL du point de terminaison utilisé par IFTTT pour envoyer des messages à votre Dolibarr.
IFTTTDesc=Ce module est conçu pour déclencher des événements sur IFTTT et/ou pour exécuter une action sur des déclencheurs IFTTT externes.
UrlForIFTTT=URL endpoint pour IFTTT
YouWillFindItOnYourIFTTTAccount=Vous le trouverez sur votre compte IFTTT
EndPointFor=Endpoint pour %s: %s
DeleteEmailCollector=Supprimer le collecteur d'email
ConfirmDeleteEmailCollector=Êtes-vous sûr de vouloir supprimer ce collecteur d'email ?
RecipientEmailsWillBeReplacedWithThisValue=Les emails des destinataires seront toujours remplacés par cette valeur
AtLeastOneDefaultBankAccountMandatory=Au moins 1 compte bancaire par défaut doit être défini
RESTRICT_API_ON_IP=Autoriser les API disponibles sur certaines adresses IP uniquement (les caractères génériques ne sont pas autorisés, utilisez un espace entre les valeurs). Vide signifie que tous les hôtes peuvent utiliser les API disponibles.
RESTRICT_ON_IP=Autoriser l'accès à certaines adresses IP d'hôte uniquement (les caractères génériques ne sont pas autorisés, utilisez un espace entre les valeurs). Vide signifie que tous les hôtes peuvent accéder.
BaseOnSabeDavVersion=Basé sur la version de bibliothèque SabreDAV
NotAPublicIp=Pas une IP publique
MakeAnonymousPing=Effectuez un ping «+1» anonyme sur le serveur de la fondation Dolibarr (une seule fois après linstallation) pour permettre à la fondation de compter le nombre dinstallations de Dolibarr.

View File

@ -73,6 +73,7 @@ BankTransaction=Écriture bancaire
ListTransactions=Liste écritures
ListTransactionsByCategory=Liste écritures/catégories
TransactionsToConciliate=Écritures à rapprocher
TransactionsToConciliateShort=A rapprocher
Conciliable=Rapprochable
Conciliate=Rapprocher
Conciliation=Rapprochement
@ -116,6 +117,7 @@ DeleteCheckReceipt=Supprimer ce bordereau de remise ?
ConfirmDeleteCheckReceipt=Êtes-vous sûr de vouloir supprimer ce bordereau ?
BankChecks=Chèques
BankChecksToReceipt=Chèques à déposer
BankChecksToReceiptShort=Chèques à déposer
ShowCheckReceipt=Afficher bordereau remise chèque
NumberOfCheques=Nombre de chèques
DeleteTransaction=Supprimer l'écriture

View File

@ -142,7 +142,7 @@ BillShortStatusStarted=Commencée
BillShortStatusNotPaid=Impayée
BillShortStatusNotRefunded=Non remboursé
BillShortStatusClosedUnpaid=Fermée
BillShortStatusClosedPaidPartially=Payée
BillShortStatusClosedPaidPartially=Payée (partiellement)
PaymentStatusToValidShort=A valider
ErrorVATIntraNotConfigured=Numéro de TVA intracommunautaire non encore défini
ErrorNoPaiementModeConfigured=Aucun mode de règlement défini par défaut. Allez corriger dans la configuration du module facture.

View File

@ -38,7 +38,7 @@ CloseBill=Fermer la facture
Floors=Etages
Floor=Etage
AddTable=Ajouter une table
Place=Marché
Place=Emplacement
TakeposConnectorNecesary='Connecteur TakePOS' requis
OrderPrinters=Commande imprimantes
SearchProduct=Rechercher un produit
@ -62,6 +62,7 @@ TicketVatGrouped=Grouper la TVA par taux sur les tickets
AutoPrintTickets=Imprimer automatiquement les tickets
EnableBarOrRestaurantFeatures=Activer les fonctionnalités pour bar ou restaurant
ConfirmDeletionOfThisPOSSale=Confirmez-vous la suppression de cette vente en cours?
ConfirmDiscardOfThisPOSSale=Voulez-vous vous écarter cette vente en cours?
History=Historique
ValidateAndClose=Valider et fermer
Terminal=Terminal
@ -69,3 +70,8 @@ NumberOfTerminals=Nombre de terminaux
TerminalSelect=Sélectionnez le terminal que vous souhaitez utiliser:
POSTicket=Ticket POS
BasicPhoneLayout=Utiliser une interface basique pour les smartphones
SetupOfTerminalNotComplete=La configuration du terminal %s n'est pas terminée
DirectPayment=Paiement direct
DirectPaymentButton=Bouton de paiement direct en espèces
InvoiceIsAlreadyValidated=La facture est déjà validée
NoLinesToBill=Aucune ligne à facturer

View File

@ -54,6 +54,7 @@ Firstname=Prénom
PostOrFunction=Poste/fonction
UserTitle=Titre civilité
NatureOfThirdParty=Nature de tiers
NatureOfContact=Nature du contact
Address=Adresse
State=Département / Canton
StateShort=Département

View File

@ -206,7 +206,7 @@ DescSellsJournal=Journal des ventes
DescPurchasesJournal=Journal des achats
CodeNotDef=Non défini
WarningDepositsNotIncluded=Les factures d'acomptes ne sont pas encore prises en compte dans cette version avec ce module de comptabilité.
DatePaymentTermCantBeLowerThanObjectDate=La date limite de règlement ne peut être inférieure à la date de l'object
DatePaymentTermCantBeLowerThanObjectDate=La date limite de règlement ne peut être inférieure à la date de l'objet
Pcg_version=Modèle de plan de compte
Pcg_type=Classe de compte
Pcg_subtype=Sous classe de compte

View File

@ -51,6 +51,7 @@ ListOfClosedServices=Liste des services fermés
ListOfRunningServices=Liste des services actifs
NotActivatedServices=Services non activés (parmi les contrats validés)
BoardNotActivatedServices=Services à activer en contrat validé
BoardNotActivatedServicesShort=Services à activer
LastContracts=Les %s derniers contrats
LastModifiedServices=Les %s derniers produits/services modifiés
ContractStartDate=Date début
@ -65,7 +66,9 @@ DateEndReal=Date effective fin de service
DateEndRealShort=Date effective fin
CloseService=Fermer service
BoardRunningServices=Services actifs
BoardRunningServicesShort=Services actifs
BoardExpiredServices=Services expirés
BoardExpiredServicesShort=Services expirés
ServiceStatus=Statut du service
DraftContracts=Contrats brouillons
CloseRefusedBecauseOneServiceActive=Le contrat ne peut pas être fermé car il y a au moins un service ouvert dessus

View File

@ -218,6 +218,7 @@ ErrorVariableKeyForContentMustBeSet=Erreur, la constante nommée %s (avec le con
ErrorURLMustStartWithHttp=L'URL %s doit commencer par http:// ou https://
ErrorNewRefIsAlreadyUsed=Erreur, la nouvelle référence est déjà utilisée
ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Erreur, supprimer le paiement lié à une facture clôturée n'est pas possible.
ErrorSearchCriteriaTooSmall=Critère de recherche trop petit.
# Warnings
WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Votre paramètre PHP upload_max_filesize (%s) est supérieur au paramètre PHP post_max_size (%s). Ceci n'est pas une configuration cohérente.
WarningPasswordSetWithNoAccount=Un mot de passe a été fixé pour cet adhérent. Cependant, aucun compte d'utilisateur n'a été créé. Donc, ce mot de passe est stocké, mais ne peut être utilisé pour accéder à Dolibarr. Il peut être utilisé par un module/interface externe, mais si vous n'avez pas besoin de définir ni login ni mot de passe pour un adhérent, vous pouvez désactiver l'option «Gérer un login pour chaque adhérent" depuis la configuration du module Adhérents. Si vous avez besoin de gérer un login, mais pas de mot de passe, vous pouvez laisser ce champ vide pour éviter cet avertissement. Remarque: L'email peut également être utilisé comme login si l'adhérent est lié à un utilisateur.

View File

@ -28,6 +28,7 @@ NoTemplateDefined=Pas de modèle défini pour ce type d'email
AvailableVariables=Variables de substitution disponibles
NoTranslation=Pas de traduction
Translation=Traduction
EmptySearchString=Entrez une chaîne de recherche non vide
NoRecordFound=Aucun enregistrement trouvé
NoRecordDeleted=Aucun enregistrement supprimé
NotEnoughDataYet=Pas assez de données
@ -706,6 +707,7 @@ DateOfSignature=Date de signature
HidePassword=Afficher commande avec mot de passe masqué
UnHidePassword=Afficher commande réelle avec mot de passe en clair
Root=Racine
RootOfMedias=Racine des médias publics (/medias)
Informations=Information
Page=Page
Notes=Notes
@ -983,3 +985,10 @@ PaymentInformation=Information de paiement
ValidFrom=Valide à partir de
ValidUntil=Valide jusqu'au
NoRecordedUsers=Aucun utilisateur
ToClose=A fermer
ToProcess=À traiter
ToApprove=A approuver
GlobalOpenedElemView=Vue globale
NoArticlesFoundForTheKeyword=Aucun article trouvé pour le mot clé '<strong>%s</strong>'
NoArticlesFoundForTheCategory=Aucun article trouvé pour la catégorie
ToAcceptRefuse=Accepter | Refuser

View File

@ -29,6 +29,7 @@ MenuMembersUpToDate=Adhérents à jour
MenuMembersNotUpToDate=Adhérents non à jour
MenuMembersResiliated=Adhérents résiliés
MembersWithSubscriptionToReceive=Adhérents avec cotisation à recevoir
MembersWithSubscriptionToReceiveShort=Cotisations à recevoir
DateSubscription=Date adhésion
DateEndSubscription=Date fin adhésion
EndSubscription=Fin adhésion

View File

@ -29,12 +29,12 @@ ProductOrService=Produit ou Service
ProductsAndServices=Produits et Services
ProductsOrServices=Produits ou Services
ProductsPipeServices=Produits | Services
ProductsOnSaleOnly=Uniquement produits en vente
ProductsOnSaleOnly=Produits en vente uniquement
ProductsOnPurchaseOnly=Produits seulement en achat
ProductsNotOnSell=Produits hors vente et hors achat
ProductsOnSellAndOnBuy=Produits en vente et en achat
ServicesOnSaleOnly=Uniquement services en vente
ServicesOnPurchaseOnly=Uniquement services à acheter
ServicesOnSaleOnly=Services en vente uniquement
ServicesOnPurchaseOnly=Services en achat uniquement
ServicesNotOnSell=Services hors vente et hors achat
ServicesOnSellAndOnBuy=Services en vente et en achat
LastModifiedProductsAndServices=Les %s derniers produits/services modifiés

View File

@ -76,7 +76,13 @@ MyProjects=Mes projets
MyProjectsArea=Espace Mes projets
DurationEffective=Durée effective
ProgressDeclared=Progression déclarée
TaskProgressSummary=Progression de tâche
CurentlyOpenedTasks=Tâches actuellement ouvertes
TheReportedProgressIsLessThanTheCalculatedProgressionByX=La progression déclarée est inférieure à %s à la progression calculée.
TheReportedProgressIsMoreThanTheCalculatedProgressionByX=La progression déclarée est plus %s que la progression calculée
ProgressCalculated=Progression calculée
WhichIamLinkedTo=dont je suis contact
WhichIamLinkedToProject=dont je suis contact de projet
Time=Temps
ListOfTasks=Liste de tâches
GoToListOfTimeConsumed=Aller à la liste des temps consommés

View File

@ -2,7 +2,7 @@
Shortname=Code
WebsiteSetupDesc=Créez ici les sites Web que vous souhaitez utiliser. Ensuite, allez dans le menu Sites Web pour les éditer.
DeleteWebsite=Effacer site web
ConfirmDeleteWebsite=Êtes-vous sûr de vouloir supprimer ce site web. Toutes les pages et le contenu seront également supprimés.
ConfirmDeleteWebsite=Êtes-vous sûr de vouloir supprimer ce site web. Toutes les pages et le contenu seront également supprimés. Les fichiers téléversés (comme ceux dans le répertoire medias, dans le module GED, ...) seront conservés.
WEBSITE_TYPE_CONTAINER=Type de page / container
WEBSITE_PAGE_EXAMPLE=Page Web à utiliser comme exemple
WEBSITE_PAGENAME=Nom/alias de la page
@ -14,6 +14,9 @@ WEBSITE_JS_INLINE=Contenu du fichier Javascript (commun à toutes les pages)
WEBSITE_HTML_HEADER=Ajout en bas de l'en-tête HTML (commun à toutes les pages)
WEBSITE_ROBOT=Fichier robot (robots.txt)
WEBSITE_HTACCESS=Fichier .htaccess du site web
WEBSITE_MANIFEST_JSON=Fichier manifest.json de site Web
WEBSITE_README=Fichier README.md
EnterHereLicenseInformation=Entrez ici les métadonnées ou les informations de licence pour créer un fichier README.md. Si vous distribuez votre site Web en tant que modèle, le fichier sera inclus dans le package.
HtmlHeaderPage=En-tête HTML (spécifique pour la page uniquement)
PageNameAliasHelp=Nom ou alias de la page. <br>Cet alias est également utilisé pour forger une URL SEO lorsque le site Web est exécuté à partir d'un hôte virtuel d'un serveur Web (comme Apache, Nginx, ...). Utilisez le bouton "<strong>%s</strong>" pour modifier cet alias.
EditTheWebSiteForACommonHeader=Remarque: Si vous souhaitez définir un en-tête personnalisé pour toutes les pages, modifiez l'en-tête au niveau du site plutôt qu'au niveau page/container.
@ -41,6 +44,7 @@ RealURL=URL réelle
ViewWebsiteInProduction=Pré-visualiser le site web en utilisant l'URL de la page d'accueil
SetHereVirtualHost=<u> Utilisation avec Apache/NGinx/...</u> <br> Si vous pouvez créer sur votre serveur Web (Apache, Nginx, ...) un hôte virtuel dédié avec PHP activé et un répertoire racine sur <br> <strong> %s </strong> <br> alors entrez le nom de l'hôte virtuel que vous avez créé dans les propriétés du site, ainsi l'aperçu pourra être fait en utilisant cette URL pour un accès via le serveur Web dédié plutôt que via le serveur interne Dolibarr.
YouCanAlsoTestWithPHPS=<u> Utilisation avec un serveur PHP incorporé </u> <br> Sous environnement de développement, vous pouvez préférer tester le site avec le serveur Web PHP intégré (PHP 5.5 requis) en exécutant <br> <strong> php -S 0.0.0.0:8080 -t %s </strong>
YouCanAlsoDeployToAnotherWHP=<u>Exécutez votre site Web avec un autre fournisseur d'hébergement Dolibarr</u> <br> Si vous ne disposez pas d'un serveur Web tel qu'Apache ou NGinx sur Internet, vous pouvez exporter et importer votre site Web vers une autre instance de Dolibarr fournie par un autre fournisseur d'hébergement Dolibarr offrant une intégration complète avec le module de site Web. Vous pouvez trouver une liste de certains hébergeurs Dolibarr sur <a href="https://saas.dolibarr.org" target="_blank">https://saas.dolibarr.org</a>
CheckVirtualHostPerms=Vérifiez également que le virtual host a la permission <strong> %s </strong> sur les fichiers dans <strong> %s </strong>
ReadPerm=Lire
WritePerm=Écrire
@ -75,7 +79,8 @@ AddWebsiteAccount=Créer un compte de site web
BackToListOfThirdParty=Retour à la liste pour le Tiers
DisableSiteFirst=Désactiver le site Web d'abord
MyContainerTitle=Titre de mon site web
AnotherContainer=Un autre container
AnotherContainer=Voici comment inclure le contenu d'une autre page/conteneur (vous pouvez avoir une erreur ici si vous activez le code dynamique car le sous-conteneur incorporé peut ne pas exister)
SorryWebsiteIsCurrentlyOffLine=Désolé, ce site est actuellement hors ligne. Merci de revenir plus tard ...
WEBSITE_USE_WEBSITE_ACCOUNTS=Activer la table des comptes du site Web
WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Activer la table pour stocker les comptes de site Web (login / pass) pour chaque site web / tiers
YouMustDefineTheHomePage=Vous devez d'abord définir la page d'accueil par défaut
@ -89,7 +94,8 @@ AliasPageAlreadyExists=L'alias de page <strong> %s </strong> existe déjà
CorporateHomePage=Page d'accueil Entreprise
EmptyPage=Page vide
ExternalURLMustStartWithHttp=l'URL externe doit commencer par http:// ou https://
ZipOfWebsitePackageToImport=Fichier zip du package site Web
ZipOfWebsitePackageToImport=Téléverser le fichier Zip du package de modèles de site Web
ZipOfWebsitePackageToLoad=ou Choisissez un modèle de site Web fourni disponible
ShowSubcontainers=Inclure contenu dynamique
InternalURLOfPage=URL interne de la page
ThisPageIsTranslationOf=Cette page/container est la traduction de
@ -101,5 +107,10 @@ NotAllowedToAddDynamicContent=Vous n'êtes pas autorisé à ajouter ou modifier
ReplaceWebsiteContent=Rechercher ou remplacer un contenu du site
DeleteAlsoJs=Supprimer également tous les fichiers javascript spécifiques à ce site?
DeleteAlsoMedias=Supprimer également tous les fichiers médias spécifiques à ce site?
# Export
MyWebsitePages=Mes pages de site web
SearchReplaceInto=Rechercher | Remplacer dans
ReplaceString=Nouvelle chaîne
CSSContentTooltipHelp=Entrez ici le contenu CSS. Pour éviter tout conflit avec le CSS de l'application, veillez à ajouter toutes les déclarations avec la classe .bodywebsite. Par exemple: <br><br> #mycssselector, input.myclass: survol {...} <br> doit être <br> .bodywebsite #mycssselector, .bodywebsite input.myclass: hover {...} <br><br> Remarque: Si vous avez un fichier volumineux sans ce préfixe, vous pouvez utiliser 'lessc' pour le convertir afin d'ajouter le préfixe .bodywebsite partout.
LinkAndScriptsHereAreNotLoadedInEditor=Avertissement: Ce contenu est affiché uniquement lorsque le site est accessible depuis un serveur. Il n'est pas utilisé en mode édition. Par conséquent, si vous devez charger des fichiers javascript également en mode édition, ajoutez simplement la balise 'script src=...' dans la page.
Dynamiccontent=Exemple de page à contenu dynamique
ImportSite=Importer modèle de site web

View File

@ -132,7 +132,7 @@ if (($id > 0 && is_numeric($id)) || ! empty($ref))
print '<div class="fichehalfleft">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
print '<table class="border tableforfield centpercent">';
// Visibility
print '<tr><td class="titlefield">'.$langs->trans("Visibility").'</td><td>';
@ -166,7 +166,7 @@ if (($id > 0 && is_numeric($id)) || ! empty($ref))
print '<div class="ficheaddleft">';
print '<div class="underbanner clearboth"></div>';
print '<table class="border" width="100%">';
print '<table class="border tableforfield centpercent">';
// Description
print '<td class="titlefield tdtop">'.$langs->trans("Description").'</td><td>';

View File

@ -3463,6 +3463,9 @@ div.dolgraph div.legend, div.dolgraph div.legend div { background-color: rgba(25
div.dolgraph div.legend table tbody tr { height: auto; }
td.legendColorBox { padding: 2px 2px 2px 0 !important; }
td.legendLabel { padding: 2px 2px 2px 0 !important; }
td.legendLabel {
text-align: <?php echo $left; ?>;
}
label.radioprivate {
white-space: nowrap;

View File

@ -3494,6 +3494,9 @@ div.dolgraph div.legend, div.dolgraph div.legend div { background-color: rgba(25
div.dolgraph div.legend table tbody tr { height: auto; }
td.legendColorBox { padding: 2px 2px 2px 0 !important; }
td.legendLabel { padding: 2px 2px 2px 0 !important; }
td.legendLabel {
text-align: <?php echo $left; ?>;
}
label.radioprivate {
white-space: nowrap;