From debb9cee8a5500a3e5afc6beefbb4046333b4a0b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 May 2008 03:55:09 +0000 Subject: [PATCH] Modules can add menu entries on left menu. --- htdocs/admin/menus/edit.php | 27 +- htdocs/core/menubase.class.php | 91 +- .../menus/barre_left/auguria_backoffice.php | 18 +- .../menus/barre_left/auguria_frontoffice.php | 95 +- .../menus/barre_left/eldy_backoffice.php | 10 +- .../menus/barre_left/eldy_frontoffice.php | 2 +- htdocs/includes/menus/barre_left/empty.php | 4 +- htdocs/includes/menus/barre_left/rodolphe.php | 2 +- .../modules/DolibarrModules.class.php | 11 +- htdocs/includes/modules/modECM.class.php | 41 +- htdocs/langs/en_US/main.lang | 2 + htdocs/langs/es_ES/main.lang | 872 +++++++++--------- htdocs/langs/fr_FR/main.lang | 2 + 13 files changed, 556 insertions(+), 621 deletions(-) diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 886c85bfa62..f0428c3101a 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -318,7 +318,14 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create') // MenuId Parent print ''.$langs->trans('MenuIdParent').''; - print ''; + if ($parent_rowid) + { + print ''.$parent_rowid.''; + } + else + { + print ''; + } print ''.$langs->trans('DetailMenuIdParent').''; // Handler @@ -339,11 +346,19 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create') // Type print ''.$langs->trans('Type').''; - print ''; + if ($parent_rowid) + { + print 'Left'; + print ''; + } + else + { + print ''; + } // print ''; print ''.$langs->trans('DetailType').''; diff --git a/htdocs/core/menubase.class.php b/htdocs/core/menubase.class.php index fe9d14931e2..c20c6fc91ac 100644 --- a/htdocs/core/menubase.class.php +++ b/htdocs/core/menubase.class.php @@ -332,9 +332,10 @@ class Menubase * @param unknown_type $mainmenu Value for mainmenu that defined top menu * @param unknown_type $leftmenu Value for left that defined leftmenu * @param unknown_type $type_user 0=Internal,1=External,2=All + * @param menu_handler Name of menu_handler used (auguria, eldy...) * @return array Menu array completed */ - function menuLeftCharger($newmenu, $mainmenu, $leftmenu, $type_user) + function menuLeftCharger($newmenu, $mainmenu, $leftmenu, $type_user, $menu_handler) { global $langs, $user, $conf; global $rights; // To export to dol_eval function @@ -349,7 +350,7 @@ class Menubase $sql.= " FROM " . MAIN_DB_PREFIX . "menu as m"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."menu_const as mc ON m.rowid = mc.fk_menu"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."menu_constraint as mo ON mc.fk_constraint = mo.rowid"; - $sql.= " WHERE m.menu_handler in('".$this->menu_handler."','all')"; + $sql.= " WHERE m.menu_handler in('".$menu_handler."','all')"; if ($type_user == 0) $sql.= " AND m.user in (0,2)"; if ($type_user == 1) $sql.= " AND m.user in (1,2)"; // If type_user == 2, no test requires @@ -372,15 +373,12 @@ class Menubase // Define $chaine $chaine=""; $title = $langs->trans($menu['titre']); - if (! eregi('\(dotnoloadlang\)$',$title)) + if ($title == $menu['titre'] && ! empty($menu['langs'])) { - if (! empty($menu['langs'])) $langs->load($menu['langs']); + $title = $langs->trans($menu['titre']); + $langs->load($menu['langs']); } - else - { - $title=eregi_replace('\(dotnoloadlang\)$','',$title); - } - if (eregi("/",$title)) + if (eregi("/",$title)) { $tab_titre = explode("/",$title); $chaine = $langs->trans($tab_titre[0])."/".$langs->trans($tab_titre[1]); @@ -412,7 +410,6 @@ class Menubase $tabMenu[$b][1] = $menu['fk_menu']; $tabMenu[$b][2] = $menu['url']; $tabMenu[$b][3] = $chaine; -// $tabMenu[$b][4] = $perms; $tabMenu[$b][5] = $menu['target']; $tabMenu[$b][6] = $menu['leftmenu']; if (! isset($tabMenu[$b][4])) $tabMenu[$b][4] = $perms; @@ -429,24 +426,23 @@ class Menubase dolibarr_print_error($this->db); } - // Get menutopid $sql = "SELECT m.rowid, m.titre, m.type"; $sql.= " FROM " . MAIN_DB_PREFIX . "menu as m"; $sql.= " WHERE m.mainmenu = '".$mainmenu."'"; - $sql.= " AND m.menu_handler= '".$this->menu_handler."'"; + $sql.= " AND m.menu_handler in('".$menu_handler."','all')"; $sql.= " AND type = 'top'"; // It should have only one response $resql = $this->db->query($sql); $menutop = $this->db->fetch_object($resql); $menutopid=$menutop->rowid; $this->db->free($resql); - - // Now edit this->newmenu to add entries in data that are in parent sons + //print "menutopid=".$menutopid." sql=".$sql; + + // Now edit this->newmenu to add entries in tabMenu that are in parent sons $this->recur($tabMenu, $menutopid, 1); return $this->newmenu; - } /** @@ -470,7 +466,6 @@ class Menubase { if ($tab[$x][7]) { - $leftmenuConstraint = true; if ($tab[$x][6]) { @@ -479,6 +474,8 @@ class Menubase if ($leftmenuConstraint) { +// print "x".$pere." ".$tab[$x][6]; + $this->newmenu->add_submenu(DOL_URL_ROOT . $tab[$x][2], $tab[$x][3], $rang -1, $tab[$x][4], $tab[$x][5]); $this->recur($tab, $tab[$x][0], $rang +1); } @@ -487,53 +484,14 @@ class Menubase } } - /** - * Check if constraint defined by rowid is ok or not - * \TODO Avoid call for each - * - * @param unknown_type $rowid - * @param unknown_type $mainmenu - * @param unknown_type $leftmenu - * @return unknown + * Verify if condition in string is ok or not + * + * @param string $strRights + * @return boolean true or false */ - function verifConstraint($rowid, $mainmenu = "", $leftmenu = "") + function verifCond($strRights) { - global $user, $conf, $lang; - global $constraint; // To export to dol_eval function - - include_once(DOL_DOCUMENT_ROOT.'/lib/admin.lib.php'); // Because later some eval try to run dynamic call to dolibarr_get_const - $constraint = true; - - $sql = "SELECT c.rowid, c.action"; - $sql.= " FROM " . MAIN_DB_PREFIX . "menu_constraint as c, " . MAIN_DB_PREFIX . "menu_const as mc"; - $sql.= " WHERE mc.fk_constraint = c.rowid AND mc.fk_menu = '" . $rowid . "'"; - - dolibarr_syslog("Menubase::verifConstraint sql=".$sql); - $result = $this->db->query($sql); - if ($result) - { - //echo $sql; - $num = $this->db->num_rows($result); - $i = 0; - while (($i < $num) && $constraint == true) - { - $obj = $this->db->fetch_object($result); - $strconstraint = 'if(!(' . $obj->action . ')) { $constraint = false; }'; - dol_eval($strconstraint); - $i++; - } - } - else - { - dolibarr_print_error($this->db); - } - - return $constraint; - } - - function verifCond($strRights) { - global $user,$conf,$lang; global $rights; // To export to dol_eval function @@ -560,7 +518,7 @@ class Menubase { $sql = "SELECT DISTINCT m.mainmenu"; $sql.= " FROM " . MAIN_DB_PREFIX . "menu as m"; - $sql.= " WHERE m.menu_handler= '".$this->menu_handler."'"; + $sql.= " WHERE m.menu_handler in ('".$this->menu_handler."','all')"; $res = $this->db->query($sql); if ($res) { @@ -619,14 +577,11 @@ class Menubase // Define $chaine $chaine=""; - $title=$objm->titre; - if (! eregi('\(dotnoloadlang\)$',$title)) + $title=$langs->trans($objm->titre); + if ($title == $objm->titre && ! empty($menu['langs'])) { - if (! empty($objm->langs)) $langs->load($objm->langs); - } - else - { - $title=eregi_replace('\(dotnoloadlang\)$','',$title); + $langs->load($menu['langs']); + $title=$langs->trans($objm->titre); } if (eregi("/",$title)) { diff --git a/htdocs/includes/menus/barre_left/auguria_backoffice.php b/htdocs/includes/menus/barre_left/auguria_backoffice.php index c89505b6e46..74bdf268fcd 100644 --- a/htdocs/includes/menus/barre_left/auguria_backoffice.php +++ b/htdocs/includes/menus/barre_left/auguria_backoffice.php @@ -61,7 +61,6 @@ class MenuLeft { $this->menuArbo = new Menubase($this->db,'auguria','left'); $this->overwritemenufor = $this->menuArbo->listeMainmenu(); - } @@ -105,25 +104,25 @@ class MenuLeft { $this->leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:''; } + //this->menu_array contains menu in pre.inc.php + /** * On definit newmenu en fonction de mainmenu et leftmenu * ------------------------------------------------------ */ if ($mainmenu) { - - - $this->newmenu = $this->menuArbo->menuLeftCharger($this->newmenu,$mainmenu,$this->leftmenu,0); + $this->newmenu = $this->menuArbo->menuLeftCharger($this->newmenu,$mainmenu,$this->leftmenu,0,'auguria'); /* * Menu AUTRES (Pour les menus du haut qui ne serait pas gérés) */ - - if ($mainmenu && ! in_array($mainmenu,$this->overwritemenufor)) { $mainmenu=""; } - + if ($mainmenu && ! in_array($mainmenu,$this->overwritemenufor)) { $mainmenu=""; } } - + //var_dump($this->newmenu->liste); + //var_dump($this->menu_array); + /** * Si on est sur un cas géré de surcharge du menu, on ecrase celui par defaut @@ -133,8 +132,7 @@ class MenuLeft { } - - + // Affichage du menu $alt=0; if (! sizeof($this->menu_array)) diff --git a/htdocs/includes/menus/barre_left/auguria_frontoffice.php b/htdocs/includes/menus/barre_left/auguria_frontoffice.php index 46c2beedb1e..03a28e1286f 100644 --- a/htdocs/includes/menus/barre_left/auguria_frontoffice.php +++ b/htdocs/includes/menus/barre_left/auguria_frontoffice.php @@ -23,11 +23,11 @@ \version $Id$ \remarks La construction d'un gestionnaire pour le menu de gauche est simple: - \remarks A l'aide d'un objet $newmenu=new Menu() et des m�thode add et add_submenu, - \remarks d�finir la liste des entr�es menu � faire apparaitre. + \remarks A l'aide d'un objet $newmenu=new Menu() et des méthode add et add_submenu, + \remarks définir la liste des entrées menu à faire apparaitre. \remarks En fin de code, mettre la ligne $menu=$newmenu->liste. - \remarks Ce qui est d�fini dans un tel gestionnaire sera alors prioritaire sur - \remarks les d�finitions de menu des fichiers pre.inc.php + \remarks Ce qui est défini dans un tel gestionnaire sera alors prioritaire sur + \remarks les définitions de menu des fichiers pre.inc.php */ @@ -38,7 +38,7 @@ class MenuLeft { - var $require_top=array("auguria_backoffice"); // Si doit etre en phase avec un gestionnaire de menu du haut particulier + var $require_top=array("auguria_frontoffice"); // Si doit etre en phase avec un gestionnaire de menu du haut particulier var $newmenu; var $menuArbo; @@ -111,15 +111,12 @@ class MenuLeft { */ if ($mainmenu) { - - $this->newmenu = $this->menuArbo->menuLeftCharger($this->newmenu,$mainmenu,$this->leftmenu,1); + $this->newmenu = $this->menuArbo->menuLeftCharger($this->newmenu,$mainmenu,$this->leftmenu,1,'auguria'); /* * Menu AUTRES (Pour les menus du haut qui ne serait pas g�r�s) */ - if ($mainmenu && ! in_array($mainmenu,$this->overwritemenufor)) { $mainmenu=""; } - } @@ -207,88 +204,8 @@ class MenuLeft { } if ($contenu == 1) print ''; - } - } - - function recur($tab,$pere,$rang) - { - $leftmenu = $this->leftmenu; - //ballayage du tableau - for ($x=0;$xverifConstraint($tab[$x][0],$tab[$x][6],$tab[$x][7]) != 0) - { - - - if ($tab[$x][6]) - { - - $leftmenuConstraint = false; - $str = "if(".$tab[$x][6].") \$leftmenuConstraint = true;"; - - - eval($str); - if ($leftmenuConstraint == true) - { - //echo $tab[$x][0].'-'.$tab[$x][6].'-'.$leftmenu.'
'; - $this->newmenu->add_submenu(DOL_URL_ROOT.$tab[$x][2], $tab[$x][3],$rang-1,$tab[$x][4],$tab[$x][5]); - $this->recur($tab,$tab[$x][0],$rang+1); - } - } - else - { - //echo $tab[$x][0].'-'.$tab[$x][3].'-'.$leftmenu.'
'; - $this->newmenu->add_submenu(DOL_URL_ROOT.$tab[$x][2], $tab[$x][3],$rang-1,$tab[$x][4],$tab[$x][5]); - $this->recur($tab,$tab[$x][0],$rang+1); - } - - //$this->newmenu->add(DOL_URL_ROOT.$tab[$x][2], $tab[$x][3],$rang-1,$tab[$x][4],$tab[$x][5]); - - /*et on recherche ses fils - en rappelant la fonction recur() - (+ incr�mentation du d�callage)*/ - - - } - } - } - } - - - function verifConstraint($rowid,$mainmenu,$leftmenu) - { - global $user,$conf,$user; - - $constraint = true; - - $sql = "SELECT c.rowid, c.action, mc.user FROM ".MAIN_DB_PREFIX."menu_constraint as c, ".MAIN_DB_PREFIX."menu_const as mc WHERE mc.fk_constraint = c.rowid AND (mc.user = 0 OR mc.user = 2 ) AND mc.fk_menu = '".$rowid."'"; - $result = $this->db->query($sql); - - if ($result) - { - $num = $this->db->num_rows($result); - $i = 0; - while (($i < $num) && $constraint == true) - { - - $obj = $this->db->fetch_object($result); - $strconstraint = "if(!(".$obj->action.")) { \$constraint = false;}"; - - eval($strconstraint); - $i++; - } - } - - return $constraint; - } - } ?> diff --git a/htdocs/includes/menus/barre_left/eldy_backoffice.php b/htdocs/includes/menus/barre_left/eldy_backoffice.php index f244d36b370..02f8ca41e49 100644 --- a/htdocs/includes/menus/barre_left/eldy_backoffice.php +++ b/htdocs/includes/menus/barre_left/eldy_backoffice.php @@ -100,7 +100,7 @@ class MenuLeft { } $newmenu = new Menu(); - $overwritemenufor=array('home','companies','members','products','suppliers','commercial','accountancy','agenda','project','tools'); + $overwritemenufor=array('home','companies','members','products','suppliers','commercial','accountancy','agenda','project','tools','ecm'); /** * On definit newmenu en fonction de mainmenu et leftmenu @@ -866,6 +866,13 @@ class MenuLeft { } + + // Affichage des menus personnalises + require_once(DOL_DOCUMENT_ROOT."/core/menubase.class.php"); + + $menuArbo = new Menubase($this->db,'eldy','left'); + $newmenu = $menuArbo->menuLeftCharger($newmenu,$mainmenu,$leftmenu,0,'eldy'); + /* * Menu AUTRES (Pour les menus du haut qui ne serait pas gérés) */ @@ -874,7 +881,6 @@ class MenuLeft { } - /** * Si on est sur un cas géré de surcharge du menu, on ecrase celui par defaut */ diff --git a/htdocs/includes/menus/barre_left/eldy_frontoffice.php b/htdocs/includes/menus/barre_left/eldy_frontoffice.php index e75df322f43..080b38676a9 100644 --- a/htdocs/includes/menus/barre_left/eldy_frontoffice.php +++ b/htdocs/includes/menus/barre_left/eldy_frontoffice.php @@ -99,7 +99,7 @@ class MenuLeft { $newmenu = new Menu(); - $overwritemenufor=array('home','companies','members','products','suppliers','commercial','accountancy','agenda','project','tools'); + $overwritemenufor=array('home','companies','members','products','suppliers','commercial','accountancy','agenda','project','tools','ecm'); /** * On definit newmenu en fonction de mainmenu et leftmenu diff --git a/htdocs/includes/menus/barre_left/empty.php b/htdocs/includes/menus/barre_left/empty.php index aae59caf512..f6d64e9d65e 100644 --- a/htdocs/includes/menus/barre_left/empty.php +++ b/htdocs/includes/menus/barre_left/empty.php @@ -14,14 +14,12 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Id$ */ /** \file htdocs/includes/menus/barre_left/empty.php \brief This is an example of an empty left menu handler - \version $Revision$ + \version $Id$ */ /** diff --git a/htdocs/includes/menus/barre_left/rodolphe.php b/htdocs/includes/menus/barre_left/rodolphe.php index 48cd8219088..63db9a30665 100644 --- a/htdocs/includes/menus/barre_left/rodolphe.php +++ b/htdocs/includes/menus/barre_left/rodolphe.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2008 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php index 6596811ec90..3779b9c5721 100644 --- a/htdocs/includes/modules/DolibarrModules.class.php +++ b/htdocs/includes/modules/DolibarrModules.class.php @@ -739,9 +739,14 @@ class DolibarrModules $menu = new Menubase($this->db); $menu->menu_handler='all'; $menu->module=$this->rights_class; - if ($this->menu[$key]['fk_menu']) + if (! $this->menu[$key]['fk_menu']) + { + $menu->fk_menu=0; + } + else { $numparent=$this->menu[$key]['fk_menu']; + $numparent=eregi_replace('r=','',$numparent); if (isset($this->menu[$numparent]['rowid'])) { $menu->fk_menu=$this->menu[$numparent]['rowid']; @@ -752,10 +757,6 @@ class DolibarrModules $err++; } } - else - { - $menu->fk_menu=0; - } $menu->type=$this->menu[$key]['type']; $menu->mainmenu=$this->menu[$key]['mainmenu']; $menu->titre=$this->menu[$key]['titre']; diff --git a/htdocs/includes/modules/modECM.class.php b/htdocs/includes/modules/modECM.class.php index 7a81fce767e..e2dca4bce90 100644 --- a/htdocs/includes/modules/modECM.class.php +++ b/htdocs/includes/modules/modECM.class.php @@ -123,7 +123,7 @@ class modECM extends DolibarrModules $this->menu[$r]=array('fk_menu'=>0, 'type'=>'top', - 'titre'=>'MenuECM(dotnoloadlang)', + 'titre'=>'MenuECM', 'mainmenu'=>'ecm', 'leftmenu'=>'', 'url'=>'/ecm/index.php', @@ -133,6 +133,45 @@ class modECM extends DolibarrModules 'target'=>'', 'user'=>0); $r++; + + $this->menu[$r]=array('fk_menu'=>'r=0', + 'type'=>'left', + 'titre'=>'MenuECM', + 'mainmenu'=>'ecm', + 'leftmenu'=>'', + 'url'=>'/ecm/index.php', + 'langs'=>'ecm', + 'position'=>100, + 'perms'=>'$user->rights->ecm->read', + 'target'=>'', + 'user'=>0); + $r++; + + $this->menu[$r]=array('fk_menu'=>'r=1', + 'type'=>'left', + 'titre'=>'List', + 'mainmenu'=>'ecm', + 'leftmenu'=>'', + 'url'=>'/ecm/index.php', + 'langs'=>'ecm', + 'position'=>100, + 'perms'=>'$user->rights->ecm->read', + 'target'=>'', + 'user'=>0); + $r++; + + $this->menu[$r]=array('fk_menu'=>'r=1', + 'type'=>'left', + 'titre'=>'ECMNewSection', + 'mainmenu'=>'ecm', + 'leftmenu'=>'', + 'url'=>'/ecm/docdir.php?action=create', + 'langs'=>'ecm', + 'position'=>100, + 'perms'=>'$user->rights->ecm->setup', + 'target'=>'', + 'user'=>0); + $r++; } diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 3f57e229c6e..46d60ba62cf 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -419,7 +419,9 @@ TotalMan=Total YouCanChangeValuesForThisListFromDictionnarySetup=You can change values for this list from menu setup - dictionnary Color=Color MenuECM=Documents +MenuAWStats=AWStats MenuMembers=Members +MenuAgendaGoogle=Google agenda # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index beb0ce4ae19..b565990f9fe 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -1,435 +1,437 @@ -# Dolibarr language file - es_ES - main - - - - -CHARSET=ISO-8859-1 -DatabaseConnection=Conexión a la base de datos -SeparatorDecimal=, -SeparatorThousand= -Error=Error -ErrorFieldRequired=El campo '%s' es obligatorio -ErrorFieldFormat=El campo '%s' tiene un valor incorrecto -ErrorFileDoesNotExists=El archivo %s no existe -ErrorFailedToOpenFile=Imposible abrir el fichero %s -ErrorCanNotCreateDir=Imposible crear la carpeta %s -ErrorCanNotReadDir=Imposible leer la carpeta %s -ErrorConstantNotDefined=Parámetro %s no definido -ErrorUnknown=Error desconocido -ErrorSQL=Error de SQL -ErrorLogoFileNotFound=El archivo logo '%s' no se encuentra -ErrorGoToGlobalSetup=Vaya a la Configuración ' Empresa/Institución ' para corregir -ErrorGoToModuleSetup=Vaya a la configuración del módulo para corregir -ErrorFailedToSendMail=Error en el envío del e-mail (emisor=%s, destinatairo=%s) -ErrorAttachedFilesDisabled=La gestión de los ficheros asociados está desactivada en este servidor -ErrorFileNotUploaded=El archivo no se ha podido transferir -ErrorInternalErrorDetected=Error detectado -ErrorNoRequestRan=Ninguna petición realizada -ErrorWrongHostParameter=Pparámetro Servidor inválido -ErrorYourCountryIsNotDefined=Su país no está definido. Corrígalo yendo a Configuración-General-Editar -ErrorRecordIsUsedByChild=Imposible de suprimir este registro. Esta siendo utilizado como padre por al menos un registro hijo. -ErrorWrongValue=Valor incorrecto -ErrorWrongValueForParameterX=Valor incorrecto del parámetro %s -ErrorNoRequestInError=Ninguna petición en error -ErrorServiceUnavailableTryLater=Servicio no disponible actualmente. Vuélvalo a intentar más tarde. -ErrorDuplicateField=Duplicado en un campo único -ErrorSomeErrorWereFoundRollbackIsDone=Se encontraron algunos errores. Modificaciones deshechas. -ErrorConfigParameterNotDefined=El parámetro %s no está definido en el fichero de configuración Dolibarr conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Imposible encontrar el usuario %s en la base de datos Dolibarr. -ErrorNoVATRateDefinedForSellerCountry=Error, ningún tipo de IVA definido para el país '%s'. -ErrorFailedToSaveFile=Error, el registro del archivo falló. -ErrorOnlyPngJpgSupported=Error, solamente se soportan los formatos de imagen jpg y png. -ErrorImageFormatNotSupported=Su PHP no soporta las funciones de conversión de este formato de imagen. -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr está configurado en modo de autentificación %s en el fichero de configuración conf.php.
Eso significa que la base de datos de las contraseñas es externa a Dolibarr, por eso toda modificación de este campo puede resultar sin efecto alguno. -Administrator=Administrador -Undefined=No definido -PasswordForgotten=¿Olvidó su contraseña? -SeeAbove=Mencionar anteriormente -HomeArea=Area inicio -LastConnexion=Última conexión -PreviousConnexion=Conexión anterior -ConnectedSince=Conectado desde -AuthenticationMode=Modo autentificación -RequestedUrl=Url solicitada -DatabaseTypeManager=Tipo de gestor de base de datos -RequestLastAccess=Petición último acceso a la base de datos -RequestLastAccessInError=Petición último acceso a la base de datos erroneo -ReturnCodeLastAccess=Código devuelto último acceso a la base de datos -InformationLastAccess=Información sobre el último acceso a la base de datos -DolibarrHasDetectedError=Dolibarr ha detectado un error técnico -InformationToHelpDiagnose=He aquí la información que podrá ayudar al diagnóstico -MoreInformation=Más información -NotePublic=Nota (pública) -NotePrivate=Nota (privada) -PrecisionUnitIsLimitedToXDecimals=Dolibarr está configurado para limitar la precisión de los precios unitarios a %s decimales. -DoTest=Probar -yes=sí -Yes=Sí -no=no -No=no -All=Todo -Home=Inicio -Help=Ayuda -Always=Siempre -Never=Nunca -Period=Periodo -Activate=Activar -Activated=Activado -Closed=Cerrado -Closed2=Cerrado -Disable=Desactivar -Disabled=Desactivado -Create=Crear -Add=Añadir -Update=Modificar -AddActionToDo=Añadir acción a realizar -AddActionDone=Añadir acción realizada -Close=Cerrar -Close2=Cerrar -Confirm=Confirmar -ConfirmSendCardByMail=¿Quiere enviar esta ficha por e-mail? -Delete=Eliminar -Remove=Retirar -Resiliate=Cancelar -Cancel=Anular -Modify=Modificar -Edit=Editar -Validate=Validar -ToValidate=A validar -Save=Grabar -SaveAs=Grabar como -TestConnection=Probar la conexión -Show=Ver -Search=Buscar -Valid=Validar -Approve=Aprobar -Upload=Enviar archivo -Select=Seleccionar -Choose=Elegir -ChooseLangage=Elegir su idioma -Author=Autor -User=Usuario -Users=Usuarios -Group=Grupo -Groups=Grupos -Password=Contraseña -PasswordRetype=Repetir contraseña -Name=Nombre -Parameter=Parámetro -Parameters=Parámetros -Value=Valor -GlobalValue=Valor global -PersonalValue=Valor personalizado -NewValue=Nuevo valor -CurrentValue=Valor actual -Code=Código -Type=Tipo -Language=Idioma -MultiLanguage=Multiidioma -Note=Nota -CurrentNote=Nota actual -Title=Título -Label=Etiqueta -RefOrLabel=Ref. o etiqueta -Info=Log -Family=Familia -Description=Descripción -Designation=Designación -Action=Acción -Model=Modelo -DefaultModel=Modelo por defecto -About=Acerca de -WelcomeString=Somos %s, y se conecta como %s -Number=Número -Numero=Número -Limit=Límite -Limits=Límites -DevelopmentTeam=Equipo de desarrollo -Logout=Desconexión -Connection=Conexión -Setup=Configuración -Alert=Alerta -Previous=Anterior -Next=Siguiente -Cards=Fichas -Card=Ficha -Date=Fecha -DateEnd=Fecha fin -DateCreation=Fecha creación -DateModification=Fecha modificación -DateLastModification=Fecha última modificación -DateValidation=Fecha validación -DateClosing=Fecha cierre -DateDue=Fecha vencimiento -DateValue=Fecha valor -DateValueShort=Fecha valor -DateOperation=Fecha operación -DateOperationShort=Fecha op. -DateLimit=Fecha límite -DateRequest=Fecha consulta -DateProcess=Fecha proceso -DatePlanShort=Fecha planif. -DateRealShort=Fecha real -DurationYear=año -DurationMonth=mes -DurationDay=día -DurationYears=años -DurationMonths=meses -DurationDays=días -Year=Año -Month=Mes -Week=Semana -Day=Día -Hour=Hora -Minute=Minuto -Second=Segundo -Years=Años -Months=Meses -Days=Días -days=días -Hours=Horas -Minutes=Minutos -Seconds=Segundos -Today=Hoy -Yesterday=Ayer -Tomorrow=Mañana -Quadri=Trimistre -MonthOfDay=Mes del día -HourShort=H -Rate=Tipo -Bytes=Octetos -Cut=Cortar -Copy=Copiar -Paste=Pegar -Default=Defecto -DefaultValue=Valor por defecto -DefaultGlobalValue=Valor global -Price=Precio -UnitPrice=Precio unitario -UnitPriceHT=Precio base -UnitPriceTTC=Precio unitario total -PriceU=P.U. -PriceUHT=P.U. -PriceUTTC=P.U. Total -Amount=Importe -AmountInvoice=Importe factura -AmountPayment=Importe pago -AmountHT=Importe base -AmountTTC=Importe -AmountVAT=Importe IVA -AmountTotal=Importe total -AmountAverage=Importe medio -Percentage=Porcentaje -Total=Total -SubTotal=Subtotal -TotalHT=Importe -TotalTTC=Totat -TotalVAT=Total IVA -TotalHTAfterDiscounts=Importe con descuentos -TotalTTCAfterDiscounts=Total con descuentos -IncludedVAT=IVA incluido -TTC=Total -HT=Importe -VAT=IVA -Average=Media -Sum=Suma -Delta=Divergencia -Module=Modulo -Option=Opción -List=Listado -FullList=Listado completa -Statistics=Estadísticas -Status=Estado -Ref=Ref. -CommercialProposals=Presupuestos -Comment=Comentario -Comments=Comentarios -ActionsToDo=Acciones a realizar -ActionsDone=Acciones realizadas -ActionsToDoShort=A realizar -ActionsDoneShort=Realizadas -CompanyFundation=Empresa o institución -ContactsForCompany=Contactos de esta empresa -ActionsOnCompany=Acciones frente a esta sociedad -NActions=%s acciones -NActionsLate=%s en retraso -Filter=Filtro -RemoveFilter=Eliminar filtro -ChartGenerated=Gráficos generados -ChartNotGenerated=Gráfico no generado -GeneratedOn=Generado el %s -Generate=Generar -Duration=Duración -TotalDuration=Duración total -Summary=Resumen -MyBookmarks=Mis bookmarks -OtherInformationsBoxes=Otras cajas de información -DolibarrBoard=Indicadores -DolibarrStateBoard=Estadísticas -DolibarrWorkBoard=Indicadores de trabajo -NotYetAvailable=Aún no disponible -NotAvailable=No disponible -Popularity=Popularidad -Categories=Categorías -Category=Categorúia -By=Por -From=De -to=a -To=A -and=y -or=o -Other=Otro -Quantity=Cantidad -Qty=Cant. -ChangedBy=Modificado por -ReCalculate=Recalcular -ResultOk=Éxito -ResultKo=Error -Reporting=Informe -Reportings=Informes -Draft=Borrador -Drafts=Borradores -Validated=Validado -Opened=Abierto -New=Nuevo -Discount=Descuento -Unknown=Desconocido -General=General -Size=Tamaño -Received=Recibido -Payed=Pagado -Topic=Asunto -ByCompanies=Por empresa -ByUsers=Por usuario -Links=Links -Link=Link -Receipts=Recibos -Rejects=Rechazado -Preview=Vista previa -NextStep=Siguiente paso -PreviousStep=Paso anterior -Datas=Datos -None=Nada -Late=Retraso -Photo=Foto -Photos=Fotos -AddPhoto=Añadir foto -CurrentLogin=Login actual -January=enero -February=febrero -March=marzo -April=abril -May=mayo -June=junio -July=julio -August=agosto -September=septiembre -October=octubre -November=noviembre -December=diciembre -AttachedFiles=Archivos y documentos adjuntos -FileTransferComplete=Se transfirió correctamente el archivo -DateFormatYYYYMM=YYYY-MM -DateFormatYYYYMMDD=YYYY-MM-DD -DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Nombre del informe -ReportPeriod=Periodo de análisis -ReportDescription=Descripción -Report=Informe -Keyword=Clave -Legend=Leyenda -FillTownFromZip=Indicar población -ShowLog=Ver histórico -File=Archivo -ReadPermissionNotAllowed=Lectura no autorizada -AmountInCurrency=Importes visualizados en %s -Example=Ejemplo -NoExample=Sin ejemplo -FindBug=Señalar un bug -NbOfThirdParties=Número de terceros -NbOfCustomers=Numero de clientes -NbOfLines=Números de líneas -NbOfObjects=Número de objetos -NbOfReferers=Número de referencias -Referers=Referencias -TotalQuantity=Cantidad todal -DateFromTo=De %s a %s -DateFrom=A partir de %s -DateUntil=Hasta %s -Check=Verificar -Internal=Interno -External=Externo -Internals=Internos -Externals=Externos -Warning=Alerta -Warnings=Alertas -BuildPDF=Generar el PDF -RebuildPDF=Regenerar el PDF -BuildDoc=Generar el doc -RebuildDoc=Regenerar el doc -Entity=Entidad -Entities=Entidades -EventLogs=Log -CustomerPreview=Historial cliente -SupplierPreview=Historial proveedor -AccountancyPreview=Historial contable -ShowCustomerPreview=Ver historial cliente -ShowSupplierPreview=Ver historial proveedor -ShowAccountancyPreview=Ver historial contable -RefCustomer=Ref. client -Currency=Divisa -InfoAdmin=Información para los administradores -Undo=Anular -Redo=Rehacer -ExpandAll=Expandir todo -UndoExpandAll=Anular expansión -Reason=Razon -FeatureNotYetSupported=Funcionalidad aún no soportada -CloseWindow=Cerrar ventana -Question=Pregunta -Response=Respuesta -Priority=Prioridad -MailSentBy=Mail enviado por -TextUsedInTheMessageBody=Texto utilizado en el cuerpo del mensaje -SendAcknowledgementByMail=Envio rec. por e-mail -NoEMail=Sin e-mail -Owner=Propietario -DetectedVersion=Versión detectada -FollowingConstantsWillBeSubstituted=Las siguientes constantes serán substituidas por su valor correspondiente. -Refresh=Refrescar -BackToList=Devolver listado -GoBack=Volver atrás -CanBeModifiedIfOk=Puede modificarse si es valido -CanBeModifiedIfKo=Puede modificarse si no es valido -RecordModifiedSuccessfully=Registro modificado con éxito -AutomaticCode=Creación automática de código -NotManaged=No generado -FeatureDisabled=Función desactivada -MoveBox=Desplazar la caja %s -Offered=Oferta -NotEnoughPermissions=No tiene permisos para esta acción -SessionName=Nombre sesión -Method=Método -Receive=Recepción -PartialWoman=Parcial -PartialMan=Parcial -TotalWoman=Total -TotalMan=Total -YouCanChangeValuesForThisListFromDictionnarySetup=Puede cambiar estos valores en el menú configuración->diccionarios -Color=Color -MenuECM=Documentos -# Week day -Monday=Lunes -Tuesday=Martes -Wednesday=Miercoles -Thursday=Jueves -Friday=Viernes -Saturday=Sábado -Sunday=Domingo -ShortMonday=L -ShortTuesday=Ma -ShortWednesday=M -ShortThursday=J -ShortFriday=V -ShortSaturday=S -ShortSunday=D +# Dolibarr language file - es_ES - main + + + + +CHARSET=ISO-8859-1 +DatabaseConnection=Conexión a la base de datos +SeparatorDecimal=, +SeparatorThousand= +Error=Error +ErrorFieldRequired=El campo '%s' es obligatorio +ErrorFieldFormat=El campo '%s' tiene un valor incorrecto +ErrorFileDoesNotExists=El archivo %s no existe +ErrorFailedToOpenFile=Imposible abrir el fichero %s +ErrorCanNotCreateDir=Imposible crear la carpeta %s +ErrorCanNotReadDir=Imposible leer la carpeta %s +ErrorConstantNotDefined=Parámetro %s no definido +ErrorUnknown=Error desconocido +ErrorSQL=Error de SQL +ErrorLogoFileNotFound=El archivo logo '%s' no se encuentra +ErrorGoToGlobalSetup=Vaya a la Configuración ' Empresa/Institución ' para corregir +ErrorGoToModuleSetup=Vaya a la configuración del módulo para corregir +ErrorFailedToSendMail=Error en el envío del e-mail (emisor=%s, destinatairo=%s) +ErrorAttachedFilesDisabled=La gestión de los ficheros asociados está desactivada en este servidor +ErrorFileNotUploaded=El archivo no se ha podido transferir +ErrorInternalErrorDetected=Error detectado +ErrorNoRequestRan=Ninguna petición realizada +ErrorWrongHostParameter=Pparámetro Servidor inválido +ErrorYourCountryIsNotDefined=Su país no está definido. Corrígalo yendo a Configuración-General-Editar +ErrorRecordIsUsedByChild=Imposible de suprimir este registro. Esta siendo utilizado como padre por al menos un registro hijo. +ErrorWrongValue=Valor incorrecto +ErrorWrongValueForParameterX=Valor incorrecto del parámetro %s +ErrorNoRequestInError=Ninguna petición en error +ErrorServiceUnavailableTryLater=Servicio no disponible actualmente. Vuélvalo a intentar más tarde. +ErrorDuplicateField=Duplicado en un campo único +ErrorSomeErrorWereFoundRollbackIsDone=Se encontraron algunos errores. Modificaciones deshechas. +ErrorConfigParameterNotDefined=El parámetro %s no está definido en el fichero de configuración Dolibarr conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Imposible encontrar el usuario %s en la base de datos Dolibarr. +ErrorNoVATRateDefinedForSellerCountry=Error, ningún tipo de IVA definido para el país '%s'. +ErrorFailedToSaveFile=Error, el registro del archivo falló. +ErrorOnlyPngJpgSupported=Error, solamente se soportan los formatos de imagen jpg y png. +ErrorImageFormatNotSupported=Su PHP no soporta las funciones de conversión de este formato de imagen. +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr está configurado en modo de autentificación %s en el fichero de configuración conf.php.
Eso significa que la base de datos de las contraseñas es externa a Dolibarr, por eso toda modificación de este campo puede resultar sin efecto alguno. +Administrator=Administrador +Undefined=No definido +PasswordForgotten=¿Olvidó su contraseña? +SeeAbove=Mencionar anteriormente +HomeArea=Area inicio +LastConnexion=Última conexión +PreviousConnexion=Conexión anterior +ConnectedSince=Conectado desde +AuthenticationMode=Modo autentificación +RequestedUrl=Url solicitada +DatabaseTypeManager=Tipo de gestor de base de datos +RequestLastAccess=Petición último acceso a la base de datos +RequestLastAccessInError=Petición último acceso a la base de datos erroneo +ReturnCodeLastAccess=Código devuelto último acceso a la base de datos +InformationLastAccess=Información sobre el último acceso a la base de datos +DolibarrHasDetectedError=Dolibarr ha detectado un error técnico +InformationToHelpDiagnose=He aquí la información que podrá ayudar al diagnóstico +MoreInformation=Más información +NotePublic=Nota (pública) +NotePrivate=Nota (privada) +PrecisionUnitIsLimitedToXDecimals=Dolibarr está configurado para limitar la precisión de los precios unitarios a %s decimales. +DoTest=Probar +yes=sí +Yes=Sí +no=no +No=no +All=Todo +Home=Inicio +Help=Ayuda +Always=Siempre +Never=Nunca +Period=Periodo +Activate=Activar +Activated=Activado +Closed=Cerrado +Closed2=Cerrado +Disable=Desactivar +Disabled=Desactivado +Create=Crear +Add=Añadir +Update=Modificar +AddActionToDo=Añadir acción a realizar +AddActionDone=Añadir acción realizada +Close=Cerrar +Close2=Cerrar +Confirm=Confirmar +ConfirmSendCardByMail=¿Quiere enviar esta ficha por e-mail? +Delete=Eliminar +Remove=Retirar +Resiliate=Cancelar +Cancel=Anular +Modify=Modificar +Edit=Editar +Validate=Validar +ToValidate=A validar +Save=Grabar +SaveAs=Grabar como +TestConnection=Probar la conexión +Show=Ver +Search=Buscar +Valid=Validar +Approve=Aprobar +Upload=Enviar archivo +Select=Seleccionar +Choose=Elegir +ChooseLangage=Elegir su idioma +Author=Autor +User=Usuario +Users=Usuarios +Group=Grupo +Groups=Grupos +Password=Contraseña +PasswordRetype=Repetir contraseña +Name=Nombre +Parameter=Parámetro +Parameters=Parámetros +Value=Valor +GlobalValue=Valor global +PersonalValue=Valor personalizado +NewValue=Nuevo valor +CurrentValue=Valor actual +Code=Código +Type=Tipo +Language=Idioma +MultiLanguage=Multiidioma +Note=Nota +CurrentNote=Nota actual +Title=Título +Label=Etiqueta +RefOrLabel=Ref. o etiqueta +Info=Log +Family=Familia +Description=Descripción +Designation=Designación +Action=Acción +Model=Modelo +DefaultModel=Modelo por defecto +About=Acerca de +WelcomeString=Somos %s, y se conecta como %s +Number=Número +Numero=Número +Limit=Límite +Limits=Límites +DevelopmentTeam=Equipo de desarrollo +Logout=Desconexión +Connection=Conexión +Setup=Configuración +Alert=Alerta +Previous=Anterior +Next=Siguiente +Cards=Fichas +Card=Ficha +Date=Fecha +DateEnd=Fecha fin +DateCreation=Fecha creación +DateModification=Fecha modificación +DateLastModification=Fecha última modificación +DateValidation=Fecha validación +DateClosing=Fecha cierre +DateDue=Fecha vencimiento +DateValue=Fecha valor +DateValueShort=Fecha valor +DateOperation=Fecha operación +DateOperationShort=Fecha op. +DateLimit=Fecha límite +DateRequest=Fecha consulta +DateProcess=Fecha proceso +DatePlanShort=Fecha planif. +DateRealShort=Fecha real +DurationYear=año +DurationMonth=mes +DurationDay=día +DurationYears=años +DurationMonths=meses +DurationDays=días +Year=Año +Month=Mes +Week=Semana +Day=Día +Hour=Hora +Minute=Minuto +Second=Segundo +Years=Años +Months=Meses +Days=Días +days=días +Hours=Horas +Minutes=Minutos +Seconds=Segundos +Today=Hoy +Yesterday=Ayer +Tomorrow=Mañana +Quadri=Trimistre +MonthOfDay=Mes del día +HourShort=H +Rate=Tipo +Bytes=Octetos +Cut=Cortar +Copy=Copiar +Paste=Pegar +Default=Defecto +DefaultValue=Valor por defecto +DefaultGlobalValue=Valor global +Price=Precio +UnitPrice=Precio unitario +UnitPriceHT=Precio base +UnitPriceTTC=Precio unitario total +PriceU=P.U. +PriceUHT=P.U. +PriceUTTC=P.U. Total +Amount=Importe +AmountInvoice=Importe factura +AmountPayment=Importe pago +AmountHT=Importe base +AmountTTC=Importe +AmountVAT=Importe IVA +AmountTotal=Importe total +AmountAverage=Importe medio +Percentage=Porcentaje +Total=Total +SubTotal=Subtotal +TotalHT=Importe +TotalTTC=Totat +TotalVAT=Total IVA +TotalHTAfterDiscounts=Importe con descuentos +TotalTTCAfterDiscounts=Total con descuentos +IncludedVAT=IVA incluido +TTC=Total +HT=Importe +VAT=IVA +Average=Media +Sum=Suma +Delta=Divergencia +Module=Modulo +Option=Opción +List=Listado +FullList=Listado completa +Statistics=Estadísticas +Status=Estado +Ref=Ref. +CommercialProposals=Presupuestos +Comment=Comentario +Comments=Comentarios +ActionsToDo=Acciones a realizar +ActionsDone=Acciones realizadas +ActionsToDoShort=A realizar +ActionsDoneShort=Realizadas +CompanyFundation=Empresa o institución +ContactsForCompany=Contactos de esta empresa +ActionsOnCompany=Acciones frente a esta sociedad +NActions=%s acciones +NActionsLate=%s en retraso +Filter=Filtro +RemoveFilter=Eliminar filtro +ChartGenerated=Gráficos generados +ChartNotGenerated=Gráfico no generado +GeneratedOn=Generado el %s +Generate=Generar +Duration=Duración +TotalDuration=Duración total +Summary=Resumen +MyBookmarks=Mis bookmarks +OtherInformationsBoxes=Otras cajas de información +DolibarrBoard=Indicadores +DolibarrStateBoard=Estadísticas +DolibarrWorkBoard=Indicadores de trabajo +NotYetAvailable=Aún no disponible +NotAvailable=No disponible +Popularity=Popularidad +Categories=Categorías +Category=Categorúia +By=Por +From=De +to=a +To=A +and=y +or=o +Other=Otro +Quantity=Cantidad +Qty=Cant. +ChangedBy=Modificado por +ReCalculate=Recalcular +ResultOk=Éxito +ResultKo=Error +Reporting=Informe +Reportings=Informes +Draft=Borrador +Drafts=Borradores +Validated=Validado +Opened=Abierto +New=Nuevo +Discount=Descuento +Unknown=Desconocido +General=General +Size=Tamaño +Received=Recibido +Payed=Pagado +Topic=Asunto +ByCompanies=Por empresa +ByUsers=Por usuario +Links=Links +Link=Link +Receipts=Recibos +Rejects=Rechazado +Preview=Vista previa +NextStep=Siguiente paso +PreviousStep=Paso anterior +Datas=Datos +None=Nada +Late=Retraso +Photo=Foto +Photos=Fotos +AddPhoto=Añadir foto +CurrentLogin=Login actual +January=enero +February=febrero +March=marzo +April=abril +May=mayo +June=junio +July=julio +August=agosto +September=septiembre +October=octubre +November=noviembre +December=diciembre +AttachedFiles=Archivos y documentos adjuntos +FileTransferComplete=Se transfirió correctamente el archivo +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Nombre del informe +ReportPeriod=Periodo de análisis +ReportDescription=Descripción +Report=Informe +Keyword=Clave +Legend=Leyenda +FillTownFromZip=Indicar población +ShowLog=Ver histórico +File=Archivo +ReadPermissionNotAllowed=Lectura no autorizada +AmountInCurrency=Importes visualizados en %s +Example=Ejemplo +NoExample=Sin ejemplo +FindBug=Señalar un bug +NbOfThirdParties=Número de terceros +NbOfCustomers=Numero de clientes +NbOfLines=Números de líneas +NbOfObjects=Número de objetos +NbOfReferers=Número de referencias +Referers=Referencias +TotalQuantity=Cantidad todal +DateFromTo=De %s a %s +DateFrom=A partir de %s +DateUntil=Hasta %s +Check=Verificar +Internal=Interno +External=Externo +Internals=Internos +Externals=Externos +Warning=Alerta +Warnings=Alertas +BuildPDF=Generar el PDF +RebuildPDF=Regenerar el PDF +BuildDoc=Generar el doc +RebuildDoc=Regenerar el doc +Entity=Entidad +Entities=Entidades +EventLogs=Log +CustomerPreview=Historial cliente +SupplierPreview=Historial proveedor +AccountancyPreview=Historial contable +ShowCustomerPreview=Ver historial cliente +ShowSupplierPreview=Ver historial proveedor +ShowAccountancyPreview=Ver historial contable +RefCustomer=Ref. client +Currency=Divisa +InfoAdmin=Información para los administradores +Undo=Anular +Redo=Rehacer +ExpandAll=Expandir todo +UndoExpandAll=Anular expansión +Reason=Razon +FeatureNotYetSupported=Funcionalidad aún no soportada +CloseWindow=Cerrar ventana +Question=Pregunta +Response=Respuesta +Priority=Prioridad +MailSentBy=Mail enviado por +TextUsedInTheMessageBody=Texto utilizado en el cuerpo del mensaje +SendAcknowledgementByMail=Envio rec. por e-mail +NoEMail=Sin e-mail +Owner=Propietario +DetectedVersion=Versión detectada +FollowingConstantsWillBeSubstituted=Las siguientes constantes serán substituidas por su valor correspondiente. +Refresh=Refrescar +BackToList=Devolver listado +GoBack=Volver atrás +CanBeModifiedIfOk=Puede modificarse si es valido +CanBeModifiedIfKo=Puede modificarse si no es valido +RecordModifiedSuccessfully=Registro modificado con éxito +AutomaticCode=Creación automática de código +NotManaged=No generado +FeatureDisabled=Función desactivada +MoveBox=Desplazar la caja %s +Offered=Oferta +NotEnoughPermissions=No tiene permisos para esta acción +SessionName=Nombre sesión +Method=Método +Receive=Recepción +PartialWoman=Parcial +PartialMan=Parcial +TotalWoman=Total +TotalMan=Total +YouCanChangeValuesForThisListFromDictionnarySetup=Puede cambiar estos valores en el menú configuración->diccionarios +Color=Color +MenuECM=Documentos +MenuAWStats=AWStats +MenuMembers=Members +# Week day +Monday=Lunes +Tuesday=Martes +Wednesday=Miercoles +Thursday=Jueves +Friday=Viernes +Saturday=Sábado +Sunday=Domingo +ShortMonday=L +ShortTuesday=Ma +ShortWednesday=M +ShortThursday=J +ShortFriday=V +ShortSaturday=S +ShortSunday=D diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 0f3ccf13138..30c67153615 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -421,7 +421,9 @@ TotalMan=Total YouCanChangeValuesForThisListFromDictionnarySetup=Vous pouvez changer ces valeurs depuis le menu configuration - dictionnaires Color=Couleur MenuECM=Documents +MenuAWStats=AWStats MenuMembers=Adhérents +MenuAgendaGoogle=Agenda Google # Week day Monday=Lundi Tuesday=Mardi