package net.sf.openrocket.l10n;
/**
* A translator implementation that returns the logical key in brackets instead
* of an actual translation. The class optionally verifies that the translation
* is actually obtainable from some other translator.
*
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
*/
public class DebugTranslator implements Translator {
private final Translator translator;
/**
* Sole constructor.
*
* @param translator the translator to verify the translation exists, or <code>null</code> not to verify.
*/
public DebugTranslator(Translator translator) {
this.translator = translator;
}
@Override
public String get(String key) {
if (translator != null) {
translator.get(key);
}
return "[" + key + "]";
}
@Override
public String get(String base, String text) {
return "[" + base + ":" + text + "]";
}
@Override
public String getBaseText(String base, String translation) {
if (translation.startsWith("[" + base + ":") && translation.endsWith("]")) {
return translation.substring(base.length() + 2, translation.length() - 1);
}
return translation;
}
}