package com.imyeyu.lang.mapper; import com.imyeyu.java.bean.Language; import com.imyeyu.java.bean.LanguageMapping; import com.imyeyu.utils.StringInterpolator; import java.util.Map; /** * @author 夜雨 * @version 2024-04-01 16:25 */ public abstract class AbstractLanguageMapper implements LanguageMapping { protected final StringInterpolator INTERPOLATOR = StringInterpolator.createDollarInterpolator(); protected final Language language; protected boolean isDebugging = false; public AbstractLanguageMapper(Language language) { this.language = language; } public Language getLanguage() { return language; } public void setDebugging(boolean debugging) { isDebugging = debugging; } @Override public String text(String key, String def) { String result = text(key); return result.equals(key) ? def : result; } @Override public String textArgs(String key, Map args) { return INTERPOLATOR.inject(text(key), args); } }