Skip to content

Commit 0c88f91

Browse files
anizmodsyer
authored andcommitted
Adding strings for all other languages
- Added WebConfiguration class to change language using url param - Added text from messages to html files wherever required - Added String to all other languages Closes #1854 Signed-off-by: anizmo <[email protected]>
1 parent 332abbc commit 0c88f91

File tree

16 files changed

+302
-48
lines changed

16 files changed

+302
-48
lines changed

src/main/java/org/springframework/samples/petclinic/owner/Owner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public class Owner extends Person {
5757

5858
@Column(name = "telephone")
5959
@NotBlank
60-
@Pattern(regexp = "\\d{10}", message = "Telephone must be a 10-digit number")
60+
@Pattern(regexp = "\\d{10}", message = "{telephone.invalid}")
6161
private String telephone;
6262

6363
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package org.springframework.samples.petclinic.system;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.web.servlet.LocaleResolver;
6+
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
7+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8+
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
9+
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
10+
11+
import java.util.Locale;
12+
13+
/**
14+
* Configures internationalization (i18n) support for the application.
15+
*
16+
* <p>
17+
* Handles loading language-specific messages, tracking the user's language, and allowing
18+
* language changes via the URL parameter (e.g., <code>?lang=de</code>).
19+
* </p>
20+
*
21+
* @author Anuj Ashok Potdar
22+
*/
23+
@Configuration
24+
@SuppressWarnings("unused")
25+
public class WebConfiguration implements WebMvcConfigurer {
26+
27+
/**
28+
* Uses session storage to remember the user’s language setting across requests.
29+
* Defaults to English if nothing is specified.
30+
* @return session-based {@link LocaleResolver}
31+
*/
32+
@Bean
33+
public LocaleResolver localeResolver() {
34+
SessionLocaleResolver resolver = new SessionLocaleResolver();
35+
resolver.setDefaultLocale(Locale.ENGLISH);
36+
return resolver;
37+
}
38+
39+
/**
40+
* Allows the app to switch languages using a URL parameter like
41+
* <code>?lang=es</code>.
42+
* @return a {@link LocaleChangeInterceptor} that handles the change
43+
*/
44+
@Bean
45+
public LocaleChangeInterceptor localeChangeInterceptor() {
46+
LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
47+
interceptor.setParamName("lang");
48+
return interceptor;
49+
}
50+
51+
/**
52+
* Registers the locale change interceptor so it can run on each request.
53+
* @param registry where interceptors are added
54+
*/
55+
@Override
56+
public void addInterceptors(InterceptorRegistry registry) {
57+
registry.addInterceptor(localeChangeInterceptor());
58+
}
59+
60+
}

src/main/resources/messages/messages.properties

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,28 @@ nonNumeric=must be all numeric
66
duplicateFormSubmission=Duplicate form submission is not allowed
77
typeMismatch.date=invalid date
88
typeMismatch.birthDate=invalid date
9+
owner=Owner
10+
firstName=First Name
11+
lastName=Last Name
12+
address=Address
13+
city=City
14+
telephone=Telephone
15+
owners=Owners
16+
addOwner=Add Owner
17+
findOwner=Find Owner
18+
findOwners=Find Owners
19+
updateOwner=Update Owner
20+
vets=Veterinarians
21+
name=Name
22+
specialties=Specialties
23+
none=none
24+
pages=pages
25+
first=First
26+
next=Next
27+
previous=Previous
28+
last=Last
29+
somethingHappened=Something happened...
30+
pets=Pets
31+
home=Home
32+
error=Error
33+
telephone.invalid=Telephone must be a 10-digit number

src/main/resources/messages/messages_de.properties

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,28 @@ nonNumeric=darf nur numerisch sein
66
duplicateFormSubmission=Wiederholtes Absenden des Formulars ist nicht erlaubt
77
typeMismatch.date=ung�ltiges Datum
88
typeMismatch.birthDate=ung�ltiges Datum
9-
9+
owner=Besitzer
10+
firstName=Vorname
11+
lastName=Nachname
12+
address=Adresse
13+
city=Stadt
14+
telephone=Telefon
15+
owners=Besitzer
16+
addOwner=Besitzer hinzufügen
17+
findOwner=Besitzer finden
18+
findOwners=Besitzer suchen
19+
updateOwner=Besitzer aktualisieren
20+
vets=Tierärzte
21+
name=Name
22+
specialties=Fachgebiete
23+
none=keine
24+
pages=Seiten
25+
first=Erste
26+
next=Nächste
27+
previous=Vorherige
28+
last=Letzte
29+
somethingHappened=Etwas ist passiert...
30+
pets=Haustiere
31+
home=Startseite
32+
error=Fehler
33+
telephone.invalid=Telefonnummer muss aus 10 Ziffern bestehen

src/main/resources/messages/messages_es.properties

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,28 @@ nonNumeric=Sólo debe contener numeros
66
duplicateFormSubmission=No se permite el envío de formularios duplicados
77
typeMismatch.date=Fecha invalida
88
typeMismatch.birthDate=Fecha invalida
9-
9+
owner=Propietario
10+
firstName=Nombre
11+
lastName=Apellido
12+
address=Dirección
13+
city=Ciudad
14+
telephone=Teléfono
15+
owners=Propietarios
16+
addOwner=Añadir propietario
17+
findOwner=Buscar propietario
18+
findOwners=Buscar propietarios
19+
updateOwner=Actualizar propietario
20+
vets=Veterinarios
21+
name=Nombre
22+
specialties=Especialidades
23+
none=ninguno
24+
pages=páginas
25+
first=Primero
26+
next=Siguiente
27+
previous=Anterior
28+
last=Último
29+
somethingHappened=Algo pasó...
30+
pets=Mascotas
31+
home=Inicio
32+
error=Error
33+
telephone.invalid=El número de teléfono debe tener 10 dígitos

src/main/resources/messages/messages_fa.properties

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,28 @@ nonNumeric=باید عددی باشد
66
duplicateFormSubmission=ارسال تکراری فرم مجاز نیست
77
typeMismatch.date=تاریخ نامعتبر
88
typeMismatch.birthDate=تاریخ تولد نامعتبر
9-
9+
owner=مالک
10+
firstName=نام
11+
lastName=نام خانوادگی
12+
address=آدرس
13+
city=شهر
14+
telephone=تلفن
15+
owners=مالکان
16+
addOwner=افزودن مالک
17+
findOwner=یافتن مالک
18+
findOwners=یافتن مالکان
19+
updateOwner=ویرایش مالک
20+
vets=دامپزشکان
21+
name=نام
22+
specialties=تخصص‌ها
23+
none=هیچ‌کدام
24+
pages=صفحات
25+
first=اول
26+
next=بعدی
27+
previous=قبلی
28+
last=آخر
29+
somethingHappened=مشکلی پیش آمد...
30+
pets=حیوانات خانگی
31+
home=خانه
32+
error=خطا
33+
telephone.invalid=شماره تلفن باید ۱۰ رقمی باشد

src/main/resources/messages/messages_ko.properties

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,28 @@ nonNumeric=모두 숫자로 입력해야 합니다
66
duplicateFormSubmission=중복 제출은 허용되지 않습니다
77
typeMismatch.date=잘못된 날짜입니다
88
typeMismatch.birthDate=잘못된 날짜입니다
9+
owner=소유자
10+
firstName=이름
11+
lastName=성
12+
address=주소
13+
city=도시
14+
telephone=전화번호
15+
owners=소유자 목록
16+
addOwner=소유자 추가
17+
findOwner=소유자 찾기
18+
findOwners=소유자들 찾기
19+
updateOwner=소유자 수정
20+
vets=수의사
21+
name=이름
22+
specialties=전문 분야
23+
none=없음
24+
pages=페이지
25+
first=첫 번째
26+
next=다음
27+
previous=이전
28+
last=마지막
29+
somethingHappened=문제가 발생했습니다...
30+
pets=반려동물
31+
home=홈
32+
error=오류
33+
telephone.invalid=전화번호는 10자리 숫자여야 합니다

src/main/resources/messages/messages_pt.properties

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,28 @@ nonNumeric=Deve ser tudo numerico
66
duplicateFormSubmission=O envio duplicado de formulario nao e permitido
77
typeMismatch.date=Data invalida
88
typeMismatch.birthDate=Data de nascimento invalida
9+
owner=Proprietário
10+
firstName=Primeiro Nome
11+
lastName=Sobrenome
12+
address=Endereço
13+
city=Cidade
14+
telephone=Telefone
15+
owners=Proprietários
16+
addOwner=Adicionar proprietário
17+
findOwner=Encontrar proprietário
18+
findOwners=Encontrar proprietários
19+
updateOwner=Atualizar proprietário
20+
vets=Veterinários
21+
name=Nome
22+
specialties=Especialidades
23+
none=nenhum
24+
pages=páginas
25+
first=Primeiro
26+
next=Próximo
27+
previous=Anterior
28+
last=Último
29+
somethingHappened=Algo aconteceu...
30+
pets=Animais de estimação
31+
home=Início
32+
error=Erro
33+
telephone.invalid=O número de telefone deve conter 10 dígitos

src/main/resources/messages/messages_ru.properties

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,28 @@ nonNumeric=должно быть все числовое значение
66
duplicateFormSubmission=Дублирование формы не допускается
77
typeMismatch.date=неправильная даные
88
typeMismatch.birthDate=неправильная дата
9-
9+
owner=Владелец
10+
firstName=Имя
11+
lastName=Фамилия
12+
address=Адрес
13+
city=Город
14+
telephone=Телефон
15+
owners=Владельцы
16+
addOwner=Добавить владельца
17+
findOwner=Найти владельца
18+
findOwners=Найти владельцев
19+
updateOwner=Обновить владельца
20+
vets=Ветеринары
21+
name=Имя
22+
specialties=Специальности
23+
none=нет
24+
pages=страницы
25+
first=Первый
26+
next=Следующий
27+
previous=Предыдущий
28+
last=Последний
29+
somethingHappened=Что-то пошло не так...
30+
pets=Питомцы
31+
home=Главная
32+
error=Ошибка
33+
telephone.invalid=Телефон должен содержать 10 цифр

src/main/resources/messages/messages_tr.properties

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,28 @@ nonNumeric=sadece sayısal olmalıdır
66
duplicateFormSubmission=Formun tekrar gönderilmesine izin verilmez
77
typeMismatch.date=geçersiz tarih
88
typeMismatch.birthDate=geçersiz tarih
9-
9+
owner=Sahip
10+
firstName=Ad
11+
lastName=Soyad
12+
address=Adres
13+
city=Şehir
14+
telephone=Telefon
15+
owners=Sahipler
16+
addOwner=Sahip Ekle
17+
findOwner=Sahip Bul
18+
findOwners=Sahipleri Bul
19+
updateOwner=Sahip Güncelle
20+
vets=Veterinerler
21+
name=İsim
22+
specialties=Uzmanlıklar
23+
none=yok
24+
pages=sayfalar
25+
first=İlk
26+
next=Sonraki
27+
previous=Önceki
28+
last=Son
29+
somethingHappened=Bir şey oldu...
30+
pets=Evcil Hayvanlar
31+
home=Ana Sayfa
32+
error=Hata
33+
telephone.invalid=Telefon numarası 10 basamaklı olmalıdır

0 commit comments

Comments
 (0)