All checks were successful
Deploy Production Server / if_merged (pull_request) Successful in 7m23s
42 lines
1.2 KiB
Java
42 lines
1.2 KiB
Java
package fr.titionfire.ffsaf.domain.service;
|
|
|
|
import jakarta.enterprise.context.RequestScoped;
|
|
import jakarta.enterprise.inject.Instance;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.ws.rs.container.ContainerRequestContext;
|
|
|
|
import java.util.Locale;
|
|
import java.util.MissingResourceException;
|
|
import java.util.ResourceBundle;
|
|
|
|
@RequestScoped
|
|
public class TradService {
|
|
|
|
@Inject
|
|
Instance<ContainerRequestContext> requestContextInstance;
|
|
|
|
public static final Locale fallbackLocale = Locale.FRANCE;
|
|
|
|
public String t(String key) {
|
|
return translate(key);
|
|
}
|
|
|
|
public String translate(String key) {
|
|
ContainerRequestContext requestContext = requestContextInstance.get();
|
|
Locale userLocale = (Locale) requestContext.getProperty("userLocale");
|
|
|
|
|
|
try {
|
|
ResourceBundle messages = ResourceBundle.getBundle("lang.messages", userLocale);
|
|
return messages.getString(key);
|
|
} catch (MissingResourceException e) {
|
|
try {
|
|
ResourceBundle fallbackMessages = ResourceBundle.getBundle("lang.messages", fallbackLocale);
|
|
return fallbackMessages.getString(key);
|
|
} catch (MissingResourceException ex) {
|
|
return key;
|
|
}
|
|
}
|
|
}
|
|
}
|