
com.github.javaclub.toolbox.conf.i18n.I18nResp Maven / Gradle / Ivy
The newest version!
/*
* @(#)I18nResp.java 2024-02-21 17:41:01
*
* Copyright (c) 2024 - 2099. All Rights Reserved.
*
*/
package com.github.javaclub.toolbox.conf.i18n;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.YamlMapFactoryBean;
import org.springframework.core.io.ClassPathResource;
import com.github.javaclub.toolbox.ToolBox.Maps;
import com.github.javaclub.toolbox.ToolBox.Strings;
/**
* I18nResp
*
* @author Gerald Chen
* @version $Id: I18nResp.java 2024-02-21 17:41:01 Exp $
*/
public class I18nResp {
static final Logger log = LoggerFactory.getLogger(I18nResp.class);
static Map> I18N_MAP = Maps.newHashMap();
static void register(String language, Map codeRespMap) {
I18N_MAP.putIfAbsent(language, codeRespMap);
}
public static String load(String language, String code, String defaultValueIfEmpty) {
try {
if (null != I18N_MAP.get(language)) {
return Strings.noneNull((String) I18N_MAP.get(language).get(code), defaultValueIfEmpty);
}
YamlMapFactoryBean propBean = new YamlMapFactoryBean();
propBean.setResources(new ClassPathResource(respI18nFilePath(language)));
Map propMap = propBean.getObject();
if (Maps.isNotEmpty(propMap)) {
register(language, propMap);
}
return Strings.noneNull((String) propMap.get(code), defaultValueIfEmpty);
} catch (Exception e) {
log.error("Error of I18nResp.load: language={}, code={}, error={}", language, code, e.getMessage());
}
return defaultValueIfEmpty;
}
static String respI18nFilePath(String language) {
return Strings.concat("i18n/result_code.", language, ".txt");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy