Compare commits
2 Commits
f6c0097110
...
10bf20bac0
| Author | SHA1 | Date | |
|---|---|---|---|
| 10bf20bac0 | |||
| 0112349bd3 |
3
.env
3
.env
@ -1,4 +1,5 @@
|
|||||||
NODE_ENV=development
|
NODE_ENV=development
|
||||||
API_URL=http://localhost:3001/api/
|
API_URL=http://localhost:3001/api/
|
||||||
EXTERNAL_LOGIN=true
|
EXTERNAL_LOGIN=true
|
||||||
CKEDITOR_LICENSE_KEY=GPL
|
CKEDITOR_LICENSE_KEY=GPL
|
||||||
|
STICKER_TEXT=Source
|
||||||
@ -1,3 +0,0 @@
|
|||||||
NODE_ENV=development
|
|
||||||
API_URL=http://localhost:3001/api/
|
|
||||||
EXTERNAL_LOGIN=true
|
|
||||||
0
public/locales/es-ES/.gitkeep
Normal file
0
public/locales/es-ES/.gitkeep
Normal file
206
public/locales/es-ES/common.json
Normal file
206
public/locales/es-ES/common.json
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
{
|
||||||
|
"SaveChangesToLinkSSOAccount": "Guarda los cambios para iniciar el proceso que vinculará tu cuenta SSO.",
|
||||||
|
"Account": "Cuenta",
|
||||||
|
"Activate": "Activar",
|
||||||
|
"Active": "Activo",
|
||||||
|
"Add": "Añadir",
|
||||||
|
"AddDomain": "Añadir dominio",
|
||||||
|
"Address": "Dirección",
|
||||||
|
"AddUser": "Añadir usuario",
|
||||||
|
"Admin": "Administrador",
|
||||||
|
"Allowed": "Permitido",
|
||||||
|
"AnEmailWithPasswordResetLinkHasBeenSent": "Se ha enviado un correo electrónico con un enlace para restablecer la contraseña.",
|
||||||
|
"AnErrorOccurred": "Se ha producido un error",
|
||||||
|
"Application": "Aplicación",
|
||||||
|
"Applications": "Aplicaciones",
|
||||||
|
"AreYouSure": "¿Estás seguro?",
|
||||||
|
"AuditLog": "Registros de auditoría",
|
||||||
|
"AuditLogs": "Registros de auditoría",
|
||||||
|
"Authenticate": "Autenticar",
|
||||||
|
"AuthenticationCode": "Código de autenticación",
|
||||||
|
"AuthorizationEndpoint": "Punto de autorización",
|
||||||
|
"Blocked": "Bloqueado",
|
||||||
|
"BlockedIPAddresses": "Direcciones IP bloqueadas",
|
||||||
|
"BlockedIPs": "IPs bloqueadas",
|
||||||
|
"Cancel": "Cancelar",
|
||||||
|
"Changes": "Cambios",
|
||||||
|
"ClientDomainManager": "Gestor de dominios del cliente",
|
||||||
|
"ClientDomains": "Dominios del cliente",
|
||||||
|
"ClientId": "ID de cliente",
|
||||||
|
"ClientSecret": "Secreto de cliente",
|
||||||
|
"Close": "Cerrar",
|
||||||
|
"Comment": "Comentario",
|
||||||
|
"Confirm": "Confirmar",
|
||||||
|
"ConfirmEmailResent": "Correo de confirmación reenviado",
|
||||||
|
"ConfirmPassword": "Confirmar contraseña",
|
||||||
|
"Continuous": "Continuo",
|
||||||
|
"Created": "Creado",
|
||||||
|
"CustomField": "Campo personalizado",
|
||||||
|
"CustomFieldEdited": "Campo personalizado editado",
|
||||||
|
"CustomFieldForChildEntries": "Campo personalizado para entradas secundarias",
|
||||||
|
"CustomFieldManager": "Gestor de campos personalizados",
|
||||||
|
"CustomFields": "Campos personalizados",
|
||||||
|
"Day": "Día",
|
||||||
|
"DefaultMustBeGreaterThanOrEqualToMinimumValue": "\"Valor predeterminado\" debe ser mayor o igual que el \"Valor mínimo\"",
|
||||||
|
"DefaultMustBeLessThanOrEqualToMaximumValue": "\"Valor predeterminado\" debe ser menor o igual que el \"Valor máximo\"",
|
||||||
|
"DefaultValue": "Valor predeterminado",
|
||||||
|
"Definition": "Definición",
|
||||||
|
"DisableAuthenticator": "Desactivar autenticador",
|
||||||
|
"Disabled": "Desactivado",
|
||||||
|
"DisplayName": "Nombre visible",
|
||||||
|
"Domain": "Dominio",
|
||||||
|
"DomainEdited": "Dominio editado",
|
||||||
|
"e-print": "e-print",
|
||||||
|
"e-suite": "e-suite",
|
||||||
|
"e-suiteLogo": "Logo de e-suite",
|
||||||
|
"Edit": "Editar",
|
||||||
|
"EditDomain": "Editar dominio",
|
||||||
|
"EditUser": "Editar usuario",
|
||||||
|
"EFlowAppId": "e-flow AppId",
|
||||||
|
"EFlowCategoryId": "e-flow CategoryId",
|
||||||
|
"EFlowHostname": "Nombre de host de e-flow",
|
||||||
|
"Email": "Correo electrónico",
|
||||||
|
"EmailTemplateSaved": "Plantilla de correo guardada",
|
||||||
|
"Enabled": "Habilitado",
|
||||||
|
"EntityDisplayName": "Nombre visible de la entidad",
|
||||||
|
"ErrorLogs": "Registros de errores",
|
||||||
|
"ExceptionJson": "JSON de excepción",
|
||||||
|
"ExceptionLogs": "Registros de excepciones",
|
||||||
|
"FailedToDisableAuthenticator": "No se pudo desactivar el autenticador:",
|
||||||
|
"FailedToSaveFormInstance": "No se pudo guardar la instancia del formulario",
|
||||||
|
"Field": "Campo",
|
||||||
|
"FieldType": "Tipo de campo",
|
||||||
|
"FirstName": "Nombre",
|
||||||
|
"ForgottenPassword": "Contraseña olvidada",
|
||||||
|
"Form": "Formulario",
|
||||||
|
"Forms": "Formularios",
|
||||||
|
"FormTemplate": "Plantilla de formulario",
|
||||||
|
"FormTemplateEdited": "Plantilla de formulario editada",
|
||||||
|
"FormTemplateManager": "Gestor de plantillas de formulario",
|
||||||
|
"General": "General",
|
||||||
|
"Glossaries": "Glosarios",
|
||||||
|
"Glossary": "Glosario",
|
||||||
|
"GlossaryItem": "Elemento del glosario",
|
||||||
|
"GlossaryItemEdited": "Elemento del glosario editado",
|
||||||
|
"GlossaryManager": "Gestor de glosarios",
|
||||||
|
"Group": "Grupo",
|
||||||
|
"Home": "Inicio",
|
||||||
|
"Id": "Id",
|
||||||
|
"Increment": "Incremento",
|
||||||
|
"IPAddress": "Dirección IP",
|
||||||
|
"IPAddressUnblocked": "Dirección IP '{{ip}}' desbloqueada.",
|
||||||
|
"IsPublic": "Es público",
|
||||||
|
"Items": "Elementos",
|
||||||
|
"LastName": "Apellidos",
|
||||||
|
"LastUpdated": "Última actualización",
|
||||||
|
"Loading": "Cargando",
|
||||||
|
"LoginMethod": "Método de inicio de sesión",
|
||||||
|
"LoggingOut": "Cerrando sesión",
|
||||||
|
"Logout": "Cerrar sesión",
|
||||||
|
"Mail": "Correo",
|
||||||
|
"MailTemplates": "Plantillas de correo",
|
||||||
|
"MaxEntriesEmptyUnlimited": "Entradas máximas (vacío = ilimitado)",
|
||||||
|
"MaximumValue": "Valor máximo",
|
||||||
|
"Message": "Mensaje",
|
||||||
|
"MiddleNames": "Segundo nombre",
|
||||||
|
"MinEntries": "Entradas mínimas",
|
||||||
|
"MinimumValue": "Valor mínimo",
|
||||||
|
"Month": "Mes",
|
||||||
|
"MultiLine": "Multilínea",
|
||||||
|
"Name": "Nombre",
|
||||||
|
"NewCustomFieldAdded": "Nuevo campo personalizado añadido",
|
||||||
|
"NewDomainAdded": "Nuevo dominio añadido",
|
||||||
|
"NewFormTemplateAdded": "Nueva plantilla de formulario añadida",
|
||||||
|
"NewGlossaryItemAdded": "Nuevo elemento del glosario añadido",
|
||||||
|
"NewOrganisationAdded": "Nueva organización añadida",
|
||||||
|
"NewPassword": "Nueva contraseña",
|
||||||
|
"NewRoleAdded": "Nuevo rol añadido",
|
||||||
|
"NewSequenceAdded": "Nueva secuencia añadida",
|
||||||
|
"NewSiteAdded": "Nuevo sitio añadido",
|
||||||
|
"NewSpecificationsAdded": "Nuevas especificaciones añadidas",
|
||||||
|
"NewSsoProviderAdded": "Nuevo proveedor SSO añadido",
|
||||||
|
"NewUserAdded": "Nuevo usuario añadido",
|
||||||
|
"NewValue": "Nuevo valor",
|
||||||
|
"NotFound": "No encontrado",
|
||||||
|
"Number": "Número",
|
||||||
|
"NumberOfAttempts": "Número de intentos",
|
||||||
|
"OccuredAt": "Ocurrido en",
|
||||||
|
"OldValue": "Valor anterior",
|
||||||
|
"Organisation": "Organización",
|
||||||
|
"OrganisationEdited": "Organización editada",
|
||||||
|
"Password": "Contraseña",
|
||||||
|
"PasswordIsRequired": "La contraseña es obligatoria",
|
||||||
|
"PasswordMinLength": "La contraseña debe tener al menos {{minPasswordLength}} caracteres",
|
||||||
|
"PasswordMinSymbols": "La contraseña debe contener al menos {{minSymbols}} símbolo(s)",
|
||||||
|
"PasswordMinNumbers": "La contraseña debe contener al menos {{minNumbers}} número(s)",
|
||||||
|
"PasswordMinUppercase": "La contraseña debe contener al menos {{minUppercase}} letra(s) mayúscula(s)",
|
||||||
|
"PasswordMinLowercase": "La contraseña debe contener al menos {{minLowercase}} letra(s) minúscula(s)",
|
||||||
|
"PasswordsMustMatch": "Debes confirmar escribiendo exactamente la misma contraseña nueva",
|
||||||
|
"Pattern": "Patrón",
|
||||||
|
"Pending": "Pendiente",
|
||||||
|
"PressAgainToDelete": "Pulsa de nuevo para eliminar",
|
||||||
|
"PressAgainToUnblock": "Pulsa de nuevo para desbloquear",
|
||||||
|
"PrintSpecification": "Imprimir especificación",
|
||||||
|
"Profile": "Perfil",
|
||||||
|
"ProfileSaved": "Perfil actualizado.",
|
||||||
|
"Required": "Obligatorio",
|
||||||
|
"ResendConfirm": "Reenviar confirmación",
|
||||||
|
"ResetPassword": "Restablecer contraseña",
|
||||||
|
"Role": "Rol",
|
||||||
|
"RoleAccess": "Acceso del rol",
|
||||||
|
"RoleAccessUpdated": "Acceso del rol actualizado correctamente.",
|
||||||
|
"RoleEdited": "Rol editado",
|
||||||
|
"RolloverType": "Tipo de traspaso",
|
||||||
|
"Save": "Guardar",
|
||||||
|
"SaveAndClose": "Guardar y cerrar",
|
||||||
|
"SecurityRoles": "Roles de seguridad",
|
||||||
|
"Seed": "Semilla",
|
||||||
|
"Sequence": "Secuencia",
|
||||||
|
"SequenceEdited": "Secuencia editada",
|
||||||
|
"SequenceFormGlossary": "Secuencia/Formulario/Glosario",
|
||||||
|
"SequenceManager": "Gestor de secuencias",
|
||||||
|
"ShowJSON": "Mostrar JSON",
|
||||||
|
"ShowStackTrace": "Mostrar traza",
|
||||||
|
"SigmaId": "Sigma Id",
|
||||||
|
"Site": "Sitio",
|
||||||
|
"SiteEdited": "Sitio editado",
|
||||||
|
"SiteManager": "Gestor de sitios",
|
||||||
|
"SpecificationManager": "Gestor de especificaciones",
|
||||||
|
"Specifications": "Especificaciones",
|
||||||
|
"SpecificationsEdited": "Especificaciones editadas",
|
||||||
|
"SsoManager": "Gestor SSO",
|
||||||
|
"SsoProvider": "Proveedor SSO",
|
||||||
|
"SsoProviderEdited": "Proveedor SSO editado",
|
||||||
|
"StackTrace": "Traza",
|
||||||
|
"Status": "Estado",
|
||||||
|
"Step": "Paso",
|
||||||
|
"Subject": "Asunto",
|
||||||
|
"Support": "Soporte",
|
||||||
|
"SupportingData": "Datos de soporte",
|
||||||
|
"TemplateIdCannotBeNull": "El ID de plantilla no puede ser nulo",
|
||||||
|
"TemplateUnknown": "Plantilla desconocida",
|
||||||
|
"Text": "Texto",
|
||||||
|
"TheDetailsBelowAreLoadedFromMasterTemplate": "Los detalles a continuación se cargan desde la plantilla maestra. Guardar esta plantilla hará que los cambios futuros en la plantilla maestra no aparezcan automáticamente aquí.",
|
||||||
|
"ThereAreErrorsOnTheForm": "Hay errores en el formulario",
|
||||||
|
"ThisTemplateIsCustomForThisDomainOnly": "Esta plantilla es personalizada solo para este dominio",
|
||||||
|
"Timing": "Temporización",
|
||||||
|
"TokenEndpoint": "Punto de token",
|
||||||
|
"TwoFactorAuthentication": "Autenticación en dos pasos",
|
||||||
|
"Type": "Tipo",
|
||||||
|
"UnblockedInMinutes": "Desbloqueado en (minutos)",
|
||||||
|
"Up": "Arriba",
|
||||||
|
"User": "Usuario",
|
||||||
|
"UserAddedToRole": "Usuario añadido al rol",
|
||||||
|
"UserEdited": "Usuario editado",
|
||||||
|
"UserManager": "Gestor de usuarios",
|
||||||
|
"UserName": "Nombre de usuario",
|
||||||
|
"UsernameIsRequired": "El nombre de usuario es obligatorio",
|
||||||
|
"UsernameMustBeValidEmail": "El nombre de usuario debe ser un correo electrónico válido",
|
||||||
|
"Users": "Usuarios",
|
||||||
|
"UsingTwoFactorAuthentication": "Usando autenticación en dos pasos",
|
||||||
|
"ValidIssuer": "Emisor válido",
|
||||||
|
"Version": "Versión",
|
||||||
|
"VersionCannotBeNull": "La versión no puede ser nula",
|
||||||
|
"Year": "Año",
|
||||||
|
"YourProfileSettingsHaveBeenSaved": "La configuración de tu perfil ha sido guardada"
|
||||||
|
}
|
||||||
8
public/locales/es-ES/htmlIsland.json
Normal file
8
public/locales/es-ES/htmlIsland.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"island": {
|
||||||
|
"loadError": "No se pudo cargar esta sección.",
|
||||||
|
"networkError": "Error de red al guardar.",
|
||||||
|
"serverError": "Error del servidor al guardar.",
|
||||||
|
"saveSuccess": "Guardado correctamente."
|
||||||
|
}
|
||||||
|
}
|
||||||
6
public/locales/es-ES/mailTypes.json
Normal file
6
public/locales/es-ES/mailTypes.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"ConfirmEmailAddress": "Confirmar dirección de correo electrónico",
|
||||||
|
"DisableAuthenticator": "Desactivar la autenticación en dos pasos",
|
||||||
|
"PasswordReset": "Restablecer contraseña",
|
||||||
|
"PasswordResetCompleted": "Confirmación de restablecimiento de contraseña"
|
||||||
|
}
|
||||||
@ -1 +1 @@
|
|||||||
window.__RUNTIME_CONFIG__ = {"NODE_ENV":"development","API_URL":"http://localhost:3001/api/","EXTERNAL_LOGIN":"true","CKEDITOR_LICENSE_KEY":"GPL"};
|
window.__RUNTIME_CONFIG__ = {"NODE_ENV":"development","API_URL":"http://localhost:3001/api/","EXTERNAL_LOGIN":"true","CKEDITOR_LICENSE_KEY":"GPL","STICKER_TEXT":"Source"};
|
||||||
@ -1,22 +1,45 @@
|
|||||||
@import './_esuiteVariables.scss';
|
@import "./_esuiteVariables.scss";
|
||||||
|
|
||||||
.frame {
|
.frame {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
|
.sticker {
|
||||||
|
position: fixed;
|
||||||
|
top: 30px;
|
||||||
|
left: -60px;
|
||||||
|
padding: 4px 0;
|
||||||
|
width: 200px;
|
||||||
|
text-align: center;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 0.875em;
|
||||||
|
line-height: 1em;
|
||||||
|
background: #fffe4e;
|
||||||
|
color: #333;
|
||||||
|
border-top: 2px solid #c9c353;
|
||||||
|
border-bottom: 2px solid #c9c353;
|
||||||
|
-webkit-transform: rotate(-45deg);
|
||||||
|
-moz-transform: rotate(-45deg);
|
||||||
|
-ms-transform: rotate(-45deg);
|
||||||
|
-o-transform: rotate(-45deg);
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.frame-row {
|
.frame-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.frame-leftMenu {
|
.frame-leftMenu {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.frame-workArea {
|
.frame-workArea {
|
||||||
height: calc(100vh - 76px);
|
height: calc(100vh - 76px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: $frameWorkAreaPadding;
|
padding: $frameWorkAreaPadding;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
export const availableLocales = [
|
export const availableLocales = [
|
||||||
"en-GB",
|
"en-GB",
|
||||||
"en-US",
|
"en-US",
|
||||||
|
"es-ES",
|
||||||
"fr-CA",
|
"fr-CA",
|
||||||
"fr-FR",
|
"fr-FR",
|
||||||
"hi-IN",
|
"hi-IN",
|
||||||
@ -38,6 +39,9 @@ export const fallbackLng = {
|
|||||||
"en-US": [
|
"en-US": [
|
||||||
"en"
|
"en"
|
||||||
],
|
],
|
||||||
|
"es-ES": [
|
||||||
|
"en"
|
||||||
|
],
|
||||||
"fr-CA": [
|
"fr-CA": [
|
||||||
"fr",
|
"fr",
|
||||||
"en"
|
"en"
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import TopMenu from "./TopMenu";
|
|||||||
import LeftMenu from "./LeftMenu";
|
import LeftMenu from "./LeftMenu";
|
||||||
|
|
||||||
import "../../../Sass/_frame.scss";
|
import "../../../Sass/_frame.scss";
|
||||||
|
import Sticker from "./Sticker";
|
||||||
|
|
||||||
type MainFrameProps = {
|
type MainFrameProps = {
|
||||||
title?: string | null;
|
title?: string | null;
|
||||||
@ -19,6 +20,7 @@ const Mainframe: React.FC<MainFrameProps> = ({ title, children }) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="frame-workArea">{children}</div>
|
<div className="frame-workArea">{children}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Sticker />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
14
src/modules/frame/components/Sticker.tsx
Normal file
14
src/modules/frame/components/Sticker.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
const isBlank = (value: string | null | undefined) =>
|
||||||
|
!value || value.trim().length === 0;
|
||||||
|
|
||||||
|
const Sticker: React.FC = () => {
|
||||||
|
if (isBlank(window.__RUNTIME_CONFIG__.STICKER_TEXT)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<span className="sticker">{window.__RUNTIME_CONFIG__.STICKER_TEXT}</span>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Sticker;
|
||||||
@ -3,6 +3,7 @@ import React from "react";
|
|||||||
import "../../../Sass/login.scss";
|
import "../../../Sass/login.scss";
|
||||||
|
|
||||||
import Logo from "../../../img/logo";
|
import Logo from "../../../img/logo";
|
||||||
|
import Sticker from "./Sticker";
|
||||||
|
|
||||||
interface LoginFrameProps {
|
interface LoginFrameProps {
|
||||||
children?: JSX.Element;
|
children?: JSX.Element;
|
||||||
@ -10,7 +11,7 @@ interface LoginFrameProps {
|
|||||||
|
|
||||||
const LoginFrame: React.FC<LoginFrameProps> = ({ children }) => {
|
const LoginFrame: React.FC<LoginFrameProps> = ({ children }) => {
|
||||||
return (
|
return (
|
||||||
<div className="container-fluid vh-100">
|
<div className="frame">
|
||||||
<div className="col-md-2">
|
<div className="col-md-2">
|
||||||
<div className="loginFormContainer">
|
<div className="loginFormContainer">
|
||||||
<div className="col-12 logo">
|
<div className="col-12 logo">
|
||||||
@ -21,6 +22,7 @@ const LoginFrame: React.FC<LoginFrameProps> = ({ children }) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="col-md-8"></div>
|
<div className="col-md-8"></div>
|
||||||
|
<Sticker />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -22,6 +22,10 @@ const EnvPage: React.FC = () => {
|
|||||||
? "GPL"
|
? "GPL"
|
||||||
: "hidden"}
|
: "hidden"}
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
window.__RUNTIME_CONFIG__.STICKER_TEXT ={" "}
|
||||||
|
{window.__RUNTIME_CONFIG__.STICKER_TEXT}
|
||||||
|
</p>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,6 +7,7 @@ declare global {
|
|||||||
API_URL: string;
|
API_URL: string;
|
||||||
EXTERNAL_LOGIN: boolean;
|
EXTERNAL_LOGIN: boolean;
|
||||||
CKEDITOR_LICENSE_KEY?: string;
|
CKEDITOR_LICENSE_KEY?: string;
|
||||||
|
STICKER_TEXT: string;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user