I18nConverter.java
package io.featureprobe.api.component;
import io.featureprobe.api.base.enums.ResourceType;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@AllArgsConstructor
public class I18nConverter {
private MessageSource messageSource;
public String get(String msgKey) {
try {
return messageSource.getMessage(msgKey, null, LocaleContextHolder.getLocale());
} catch (Exception e) {
log.error("i18n language conversion failed", e);
return msgKey;
}
}
public String get(String msgKey, Object[] args) {
try {
return messageSource.getMessage(msgKey, args, LocaleContextHolder.getLocale());
} catch (Exception e) {
log.error("i18n language conversion failed", e);
return msgKey;
}
}
public String getResourceNameMessage(ResourceType resourceType) {
return get("resource." + resourceType.name().toLowerCase());
}
}