';
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