Si les aparece obsoleto el uso de la clase de Locale en: slr.setDefaultLocale(new Locale("es")); es porque tienen una versión de Java 19 o superior. Ahora esta clase se usa diferente: public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); Locale spanishLocale = new Locale.Builder() .setLanguage("es") .build(); slr.setDefaultLocale(spanishLocale); return slr; }
hace 0 segundos hola, amigo me ha servido mucho el curso, gracias por compartir tu conocimiento. seria genial que realizaras videos sobre un login con springboot y que no deje registrar un usuario, si ya esta registrado en la base datos. temas de validación y eso.
Hola, al hacer click sobre el idioma me genera error: HTTP Status 500 - Internal Server Error Type Exception Report Message Request processing failed: java.lang.UnsupportedOperationException: Cannot change HTTP Accept-Language header - use a different locale resolution strategy Description The server encountered an unexpected condition that prevented it from fulfilling the request. Segui todo sus pasos y no puedo solucionarlo
Hola, justa al hacer el curso y lo mencionaba en el video, errores de dedo al escribir en la plantilla donde repetia idioma, no cerraba bien el parentesis o llaves y me marcaba ese error, habra que validar si no sucede lo mismo.
1 año tarde pero para los nuevos que vean el curso, pude solucionar este error colocando tal cual el nombre del Bean localeResolver, no localResolver como lo tenía, ya que Spring si no le indicamos que será un Bean con ID localeResolver lo registrará con su valor Default AcceptHeaderLocaleResolver, el cual no permite cambiar de idioma de forma dinámica mediante la URL, la clase debe quedar así @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); /* //For jdk-19 on onwards Locale spanishLocale = new Locale.Builder() .setLanguage("es") .build(); slr.setDefaultLocale(spanishLocale); */ slr.setDefaultLocale(new Locale("es")); return slr; } El comentario es por si usan el jdk-19 para arriba y les da error el SessionLocaleResolver, si no sólo bórrenlo
cuando entro a la pagina principal en el titulo tengo esto ??pagina.titulo_es??, y luego cuando le doy a traducir al ingles tampoco me va sale el error 404
si ha alguien le aparece "Cannot change HTTP accept header - use a different locale resolution strategy" los metodos que se realizaron en este video deben ser nombrados tal cual si se te olvido una letra o escribiste una mayuscula o miniscula en un lugar incorrectos pude darte este error: @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr=new SessionLocaleResolver(); slr.setDefaultLocale(new Locale("es")); return slr; } @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci=new LocaleChangeInterceptor(); lci.setParamName("lang"); return lci; } @Override public void addInterceptors(InterceptorRegistry intercepto){ intercepto.addInterceptor(localeChangeInterceptor()); }
Si les aparece obsoleto el uso de la clase de Locale en: slr.setDefaultLocale(new Locale("es")); es porque tienen una versión de Java 19 o superior. Ahora esta clase se usa diferente:
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
Locale spanishLocale = new Locale.Builder()
.setLanguage("es")
.build();
slr.setDefaultLocale(spanishLocale);
return slr;
}
Gracias por compartir!
hace 0 segundos
hola, amigo me ha servido mucho el curso, gracias por compartir tu conocimiento. seria genial que realizaras videos sobre un login con springboot y que no deje registrar un usuario, si ya esta registrado en la base datos. temas de validación y eso.
Gracias por comentar, y justo ese video lo subiré la próxima semana (ya lo tengo listo)
Aca se termina el curso?
No, estamos preparando los siguientes videos, al curso aun le falta mucho por concluir
No, estamos preparando los siguientes videos, al curso aun le falta mucho por concluir
Hola, al hacer click sobre el idioma me genera error:
HTTP Status 500 - Internal Server Error
Type Exception Report
Message Request processing failed: java.lang.UnsupportedOperationException: Cannot change HTTP Accept-Language header - use a different locale resolution strategy
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Segui todo sus pasos y no puedo solucionarlo
Hola, justa al hacer el curso y lo mencionaba en el video, errores de dedo al escribir en la plantilla donde repetia idioma, no cerraba bien el parentesis o llaves y me marcaba ese error, habra que validar si no
sucede lo mismo.
1 año tarde pero para los nuevos que vean el curso, pude solucionar este error colocando tal cual el nombre del Bean localeResolver, no localResolver como lo tenía, ya que Spring si no le indicamos que será un Bean con ID localeResolver lo registrará con su valor Default AcceptHeaderLocaleResolver, el cual no permite cambiar de idioma de forma dinámica mediante la URL, la clase debe quedar así
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
/*
//For jdk-19 on onwards
Locale spanishLocale = new Locale.Builder()
.setLanguage("es")
.build();
slr.setDefaultLocale(spanishLocale);
*/
slr.setDefaultLocale(new Locale("es"));
return slr;
}
El comentario es por si usan el jdk-19 para arriba y les da error el SessionLocaleResolver, si no sólo bórrenlo
cuando entro a la pagina principal en el titulo tengo esto ??pagina.titulo_es??, y luego cuando le doy a traducir al ingles tampoco me va sale el error 404
con gusto lo vemos, solo me puedes indicar en que momento te muestra este mensaje ¿? al hacer que ¿?
Ami me salio eso porque yo tenia un error en las messages.propiertes, la key estaba mal configurada
si ha alguien le aparece "Cannot change HTTP accept header - use a different locale resolution strategy" los metodos que se realizaron en este video deben ser nombrados tal cual si se te olvido una letra o escribiste una mayuscula o miniscula en un lugar incorrectos pude darte este error:
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr=new SessionLocaleResolver();
slr.setDefaultLocale(new Locale("es"));
return slr;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor lci=new LocaleChangeInterceptor();
lci.setParamName("lang");
return lci;
}
@Override
public void addInterceptors(InterceptorRegistry intercepto){
intercepto.addInterceptor(localeChangeInterceptor());
}
gracias por compartir!