Establecido locale de los componentes datepicker de la interfaz a españa

(es).
*Inlcuido javascript para traducción de los textos del componente
datepicker a español.
This commit is contained in:
Marcos Garcia Nuñez
2020-01-02 10:52:06 +01:00
parent 24617e7451
commit 2fbd8cb08f
7 changed files with 113 additions and 16 deletions

View File

@@ -69,7 +69,7 @@
<div class="ui-g-3">Fecha:</div>
<div class="ui-g-9">
<h:outputText value="#{mt.selected.date}">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" timeStyle="short" />
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" timeStyle="short" locale="es" />
</h:outputText>
</div>
<div class="ui-g-3">Hora:</div>
@@ -136,7 +136,7 @@
<div class="ui-g-2">Fecha:</div>
<div class="ui-g-3">
<p:datePicker id="fecha" value="#{mt.testDate}" pattern="dd/MM/yyyy" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="fecha" value="#{mt.testDate}" pattern="dd/MM/yyyy" locale="es" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la fecha de la prueba médica">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" timeStyle="short" />
</p:datePicker>
@@ -148,7 +148,7 @@
<div class="ui-g-2">Hora:</div>
<div class="ui-g-3">
<p:datePicker id="hora" value="#{mt.testTime}" timeOnly="true" pattern="HH:mm" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="hora" value="#{mt.testTime}" timeOnly="true" pattern="HH:mm" locale="es" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la hora de la prueba médica">
<f:convertDateTime type="localTime" pattern="HH:mm" />
</p:datePicker>

View File

@@ -3,6 +3,102 @@
*
*
*/
PrimeFaces.locales['es'] = {
closeText : 'Cerrar',
prevText : 'Anterior',
nextText : 'Siguiente',
monthNames : [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ],
monthNamesShort : [ 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' ],
dayNames : [ 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo' ],
dayNamesShort : [ 'Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab' ],
dayNamesMin : [ 'D', 'L', 'M', 'X', 'J', 'V', 'S' ],
weekHeader : 'Semana',
firstDayOfWeek : 1,
firstDay : 1,
isRTL : false,
showMonthAfterYear : false,
yearSuffix : '',
timeOnlyTitle : 'Sólo hora',
timeText : 'Tiempo',
hourText : 'Hora',
minuteText : 'Minuto',
secondText : 'Segundo',
currentText : 'Fecha actual',
today : "Hoy",
clear : "Limpiar",
ampm : false,
month : 'Mes',
week : 'Semana',
day : 'Día',
allDayText : 'Todo el día',
messages : { // optional for Client Side Validation
'javax.faces.component.UIInput.REQUIRED' : '{0}: Error de validación: se necesita un valor.',
'javax.faces.converter.IntegerConverter.INTEGER' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos.',
'javax.faces.converter.IntegerConverter.INTEGER_detail' : '{2}: \'{0}\' debe ser un número entre -2147483648 y 2147483647. Ejemplo: {1}',
'javax.faces.converter.DoubleConverter.DOUBLE' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos.',
'javax.faces.converter.DoubleConverter.DOUBLE_detail' : '{2}: \'{0}\' debe ser un número entre 4.9E-324 y 1.7976931348623157E308 Ejemplo: {1}',
'javax.faces.converter.BigDecimalConverter.DECIMAL' : '{2}: \'{0}\' debe ser un número decimal positivo o negativo.',
'javax.faces.converter.BigDecimalConverter.DECIMAL_detail' : '{2}: \'{0}\' debe ser un número decimal positivo o negativo formado por cero o más dígitos, que pueden incluir a continuación una coma decimal y una fracción. Ejemplo: {1}',
'javax.faces.converter.BigIntegerConverter.BIGINTEGER' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos.',
'javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos. Ejemplo: {1}',
'javax.faces.converter.ByteConverter.BYTE' : '{2}: \'{0}\' debe ser un número entre 0 y 255.',
'javax.faces.converter.ByteConverter.BYTE_detail' : '{2}: \'{0}\' debe ser un número entre 0 y 255. Ejemplo: {1}',
'javax.faces.converter.CharacterConverter.CHARACTER' : '{1}: \'{0}\' debe ser un carácter válido.',
'javax.faces.converter.CharacterConverter.CHARACTER_detail' : '{1}: \'{0}\' debe ser un carácter ASCII válido.',
'javax.faces.converter.ShortConverter.SHORT' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos.',
'javax.faces.converter.ShortConverter.SHORT_detail' : '{2}: \'{0}\' debe ser un número entre -32768 y 32767 Ejemplo: {1}',
'javax.faces.converter.BooleanConverter.BOOLEAN' : '{1}: \'{0}\' debe ser \'true\' o \'false\'',
'javax.faces.converter.BooleanConverter.BOOLEAN_detail' : '{1}: \'{0}\' debe ser \'true\' o \'false\'. Cualquier valor diferente a \'true\' se evaluará como \'false\'.',
'javax.faces.validator.LongRangeValidator.MAXIMUM' : '{1}: Error de validación: el valor es mayor que el máximo permitido de \'{0}\'',
'javax.faces.validator.LongRangeValidator.MINIMUM' : '{1}: Error de validación: el valor es inferior que el mínimo permitido de \'{0}\'',
'javax.faces.validator.LongRangeValidator.NOT_IN_RANGE' : '{2}: Error de validación: el atributo especificado no está entre los valores esperados {0} y {1}.',
'javax.faces.validator.LongRangeValidator.TYPE={0}' : 'Error de validación: el valor no tiene el tipo correcto.',
'javax.faces.validator.DoubleRangeValidator.MAXIMUM' : '{1}: Error de validación: el valor es mayor que el máximo permitido de \'{0}\'',
'javax.faces.validator.DoubleRangeValidator.MINIMUM' : '{1}: Error de validación: el valor es inferior que el mínimo permitido de \'{0}\'',
'javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE' : '{2}: Error de validación: el atributo especificado no está entre los valores esperados {0} y {1}',
'javax.faces.validator.DoubleRangeValidator.TYPE={0}' : 'Error de validación: el valor no tiene el tipo correcto.',
'javax.faces.converter.FloatConverter.FLOAT' : '{2}: \'{0}\' debe ser un número formado por uno o varios dígitos.',
'javax.faces.converter.FloatConverter.FLOAT_detail' : '{2}: \'{0}\' debe ser un número entre 1.4E-45 y 3.4028235E38 Ejemplo: {1}',
'javax.faces.converter.DateTimeConverter.DATE' : '{2}: \'{0}\' no se ha podido reconocer como fecha.',
'javax.faces.converter.DateTimeConverter.DATE_detail' : '{2}: \'{0}\' no se ha podido reconocer como fecha. Ejemplo: {1}',
'javax.faces.converter.DateTimeConverter.TIME' : '{2}: \'{0}\' no se ha podido reconocer como hora.',
'javax.faces.converter.DateTimeConverter.TIME_detail' : '{2}: \'{0}\' no se ha podido reconocer como hora. Ejemplo: {1}',
'javax.faces.converter.DateTimeConverter.DATETIME' : '{2}: \'{0}\' no se ha podido reconocer como fecha y hora.',
'javax.faces.converter.DateTimeConverter.DATETIME_detail' : '{2}: \'{0}\' no se ha podido reconocer como fecha y hora. Ejemplo: {1}',
'javax.faces.converter.DateTimeConverter.PATTERN_TYPE' : '{1}: debe especificarse el atributo \'pattern\' o \'type\' para convertir el valor \'{0}\'',
'javax.faces.converter.NumberConverter.CURRENCY' : '{2}: \'{0}\' no se ha podido reconocer como un valor de divisa.',
'javax.faces.converter.NumberConverter.CURRENCY_detail' : '{2}: \'{0}\' no se ha podido reconocer como un valor de divisa. Ejemplo: {1}',
'javax.faces.converter.NumberConverter.PERCENT' : '{2}: \'{0}\' no se ha podido reconocer como porcentaje.',
'javax.faces.converter.NumberConverter.PERCENT_detail' : '{2}: \'{0}\' no se ha podido reconocer como porcentaje. Ejemplo: {1}',
'javax.faces.converter.NumberConverter.NUMBER' : '{2}: \'{0}\' no se ha podido reconocer como fecha.',
'javax.faces.converter.NumberConverter.NUMBER_detail' : '{2}: \'{0}\' no es un número. Ejemplo: {1}',
'javax.faces.converter.NumberConverter.PATTERN' : '{2}: \'{0}\' no es un patrón numérico.',
'javax.faces.converter.NumberConverter.PATTERN_detail' : '{2}: \'{0}\' no es un patrón numérico. Ejemplo: {1}',
'javax.faces.validator.LengthValidator.MINIMUM' : '{1}: Error de validación: el largo es inferior que el mínimo permitido de \'{0}\'',
'javax.faces.validator.LengthValidator.MAXIMUM' : '{1}: Error de validación: el largo es mayor que el máximo permitido de \'{0}\'',
'javax.faces.validator.RegexValidator.PATTERN_NOT_SET' : 'Se debe establecer el patrón de Regex.',
'javax.faces.validator.RegexValidator.PATTERN_NOT_SET_detail' : 'El patrón Regex debe establecerse en un valor no vacío.',
'javax.faces.validator.RegexValidator.NOT_MATCHED' : 'El patrón Regex no coincide',
'javax.faces.validator.RegexValidator.NOT_MATCHED_detail' : 'El patrón Regex de \'{0}\' no coincide',
'javax.faces.validator.RegexValidator.MATCH_EXCEPTION' : 'Error en expresión regular.',
'javax.faces.validator.RegexValidator.MATCH_EXCEPTION_detail' : 'Error en expresión regular, \'{0}\'',
// optional for bean validation integration in client side validation
'javax.faces.validator.BeanValidator.MESSAGE' : '{0}',
'javax.validation.constraints.AssertFalse.message' : 'debe ser falso',
'javax.validation.constraints.AssertTrue.message' : 'debe ser verdadero',
'javax.validation.constraints.DecimalMax.message' : 'debe ser menor que o igual a {0}',
'javax.validation.constraints.DecimalMin.message' : 'debe ser mayor que o igual a {0}',
'javax.validation.constraints.Digits.message' : 'valor numérico fuera de los límites (se esperaba (<{0} digitos>.<{1} digitos>)',
'javax.validation.constraints.Future.message' : 'debe ser una fecha futura',
'javax.validation.constraints.Max.message' : 'debe ser menor que o igual a {0}',
'javax.validation.constraints.Min.message' : 'debe ser mayor que o igual a {0}',
'javax.validation.constraints.NotNull.message' : 'no debe ser nulo',
'javax.validation.constraints.Null.message' : 'debe ser nulo',
'javax.validation.constraints.Past.message' : 'debe ser una fecha pasada',
'javax.validation.constraints.Pattern.message' : 'debe coincidir con "{0}"',
'javax.validation.constraints.Size.message' : 'el tamaño debe estar entre {0} y {1}'
}
};
// Gestiona la ventana de login
function handleLoginRequest(xhr, status, args) {
@@ -17,7 +113,8 @@ function handleLoginRequest(xhr, status, args) {
}
}
// Tras empezar la petición AJAX de login desabilita el botón para evitar doble login
// Tras empezar la petición AJAX de login desabilita el botón para evitar doble
// login
function startLogin() {
PF('btnLogin').disable();
}
@@ -31,12 +128,12 @@ function nifCheckClick() {
function handleNIFResponse(xhr, status, args) {
var isValid = false;
return;
if (typeof args.validationFailed != "undefined")
isValid = !args.validationFailed;
else if (typeof args.NIFisValid != "undefined")
isValid = args.NIFisValid;
if (args.formattedNIF) {
var nif = PF('nif');
nif.jq.val(args.formattedNIF);

View File

@@ -36,7 +36,7 @@
</div>
<div class="ui-g-2">
<div class="ui-inputgroup">
<p:datePicker id="fecha" widgetVar="fecha" value="#{AddVisit.date}" pattern="dd/MM/yyyy" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="fecha" widgetVar="fecha" value="#{AddVisit.date}" pattern="dd/MM/yyyy" locale="es" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la fecha de la visita.">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" />
</p:datePicker>
@@ -50,7 +50,7 @@
<p:outputLabel for="hora" value="Hora:" />
</div>
<div class="ui-g-2">
<p:datePicker id="hora" value="#{AddVisit.time}" timeOnly="true" pattern="HH:mm" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="hora" value="#{AddVisit.time}" timeOnly="true" pattern="HH:mm" locale="es" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la hora de la visita." validatorMessage="Especifique una hora en el rango de las 06:00 a las 22:00 horas">
<f:convertDateTime type="localTime" pattern="HH:mm" />
</p:datePicker>

View File

@@ -8,7 +8,7 @@
<ui:define name="content">
<h:form id="frmPatientVisitList">
<p:growl id="mesgs" showDetail="true" closable="true" autoupdate="true" />
<p:panel id="PanelUnderConstruction" header="Próximas visitas agendadas">
<p:panel id="panelAgenda" header="Próximas visitas agendadas">
<div class="ui-g ui-fluid">
<div class="ui-g-2">
@@ -16,7 +16,7 @@
</div>
<div class="ui-g-3">
<div class="ui-inputgroup">
<p:datePicker id="fecha" value="#{PatientVisitList.selectedDate}" pattern="dd/MM/yyyy" showIcon="true" showButtonBar="true" autocomplete="true">
<p:datePicker id="fecha" value="#{PatientVisitList.selectedDate}" pattern="dd/MM/yyyy" locale="es" showIcon="true" showButtonBar="true" autocomplete="true">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" />
<p:ajax event="dateSelect" listener="#{PatientVisitList.showData}" update="frmPatientVisitList" />
</p:datePicker>

View File

@@ -37,7 +37,7 @@
</div>
<div class="ui-g-2">
<div class="ui-inputgroup">
<p:datePicker id="fecha" value="#{UpdateVisit.date}" pattern="dd/MM/yyyy" disabled="#{UpdateVisit.onlyResult}" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="fecha" value="#{UpdateVisit.date}" pattern="dd/MM/yyyy" locale="es" disabled="#{UpdateVisit.onlyResult}" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la fecha de la visita." readonly="#{UpdateVisit.onlyResult}">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" timeStyle="short" />
</p:datePicker>
@@ -51,7 +51,7 @@
<p:outputLabel for="hora" value="Hora:" />
</div>
<div class="ui-g-2">
<p:datePicker id="hora" value="#{UpdateVisit.time}" timeOnly="true" pattern="HH:mm" disabled="#{UpdateVisit.onlyResult}" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="hora" value="#{UpdateVisit.time}" timeOnly="true" pattern="HH:mm" locale="es" disabled="#{UpdateVisit.onlyResult}" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la hora de la visita." readonly="#{UpdateVisit.onlyResult}">
<f:convertDateTime type="localTime" pattern="HH:mm" timeStyle="Short" />
</p:datePicker>

View File

@@ -8,7 +8,7 @@
<ui:define name="content">
<h:form id="frmVisitList">
<p:growl id="mesgs" showDetail="true" closable="true" autoupdate="true" />
<p:panel id="PanelUnderConstruction" header="Consultar agenda del día">
<p:panel id="panelAngenda" header="Consultar agenda del día">
<div class="ui-g ui-fluid">
<div class="ui-g-2">
@@ -16,7 +16,7 @@
</div>
<div class="ui-g-3">
<div class="ui-inputgroup">
<p:datePicker id="fecha" value="#{VisitList.selectedDate}" pattern="dd/MM/yyyy" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="fecha" value="#{VisitList.selectedDate}" pattern="dd/MM/yyyy" locale="es" showIcon="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique una fecha para realizar la consulta.">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" />
<p:ajax event="dateSelect" listener="#{VisitList.showData}" update="frmVisitList" />

View File

@@ -37,7 +37,7 @@
</div>
<div class="ui-g-2">
<div class="ui-inputgroup">
<p:datePicker id="fecha" value="#{VisitView.date}" pattern="dd/MM/yyyy" showIcon="true" disabled="true" showButtonBar="true" autocomplete="true" required="true"
<p:datePicker id="fecha" value="#{VisitView.date}" pattern="dd/MM/yyyy" locale="es" showIcon="true" disabled="true" showButtonBar="true" autocomplete="true" required="true"
requiredMessage="Especifique la fecha de la visita.">
<f:convertDateTime type="localDate" pattern="dd/MM/yyyy" />
</p:datePicker>
@@ -51,7 +51,7 @@
<p:outputLabel for="hora" value="Hora:" />
</div>
<div class="ui-g-2">
<p:datePicker id="hora" value="#{VisitView.time}" timeOnly="true" pattern="HH:mm" showIcon="true" showButtonBar="true" autocomplete="true" disabled="true" required="true"
<p:datePicker id="hora" value="#{VisitView.time}" timeOnly="true" locale="es" pattern="HH:mm" showIcon="true" showButtonBar="true" autocomplete="true" disabled="true" required="true"
requiredMessage="Especifique la hora de la visita.">
<f:convertDateTime type="localTime" pattern="HH:mm" />
</p:datePicker>