package fi.utu.ville.exercises.stub;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import fi.utu.ville.standardutils.Localizer;
/**
* Stub-version implementor of {@link Localizer}. Translations found in .trl-files in {@link VilleExerStubUI #getStubResourceBaseDir()}/lang/ will be available.
*
* @author Riku Haavisto
*
*/
final class StubResourceGiverImpl implements Localizer {
/**
*
*/
private static final long serialVersionUID = 9062818693540069962L;
private final Locale currLocale;
/**
* Constructs a new {@link StubResourceGiverImpl} that uses given {@link Locale}
*/
public StubResourceGiverImpl(Locale currLocale) {
this.currLocale = currLocale;
}
@Override
public String getUIText(String constant) {
String res = UILanguageGiver.getUILanguage(currLocale).getTranslation(
constant);
if (res == null) {
res = UILanguageGiver.getUILanguage(Locale.ENGLISH).getTranslation(
constant);
}
if (res == null) {
res = constant;
}
return res;
}
@Override
public String getUIText(String key, String... params) {
return UILanguageStub.constructLine(getUIText(key), params);
}
@Override
public Locale getCurrentLocale() {
return currLocale;
}
@Override
public String getUIText(String key, Map<String, String> params) {
return UILanguageStub.constructLine(getUIText(key), params);
}
@Override
public String getLocalizedNumber(double number) {
return (number + "").replace('.', getDecimalSeparator());
}
@Override
public char getDecimalSeparator() {
if (currLocale == Locale.ENGLISH ||
currLocale == Locale.US ||
currLocale == Locale.UK) {
return '.';
}
return ',';
}
@Override
public String getDateFormat() {
return "mm-dd-yyyy";
}
@Override
public TimeZone getCurrentTimeZone() {
return TimeZone.getDefault();
}
}