package mods.eln.i18n;
import java.util.Properties;
class TranslationItem implements Comparable<TranslationItem> {
private final String key;
private String text;
public TranslationItem(String text) {
this.key = I18N.encodeLangKey(text);
this.text = text;
}
public TranslationItem(String key, String text) {
this.key = key;
this.text = text;
}
public String getKey() {
return key;
}
public String getText() {
return text;
}
public boolean isValid() {
return key != null;
}
public void applyExistingTranslationIfPresent(final Properties existing) {
if (existing != null) {
String text = existing.getProperty(key);
if (text != null) {
this.text = text;
}
}
}
@Override
public int compareTo(TranslationItem other) throws NullPointerException {
return key.compareTo(other.key);
}
@Override
public boolean equals(Object object) {
return object instanceof TranslationItem && compareTo((TranslationItem) object) == 0 ||
object instanceof String && key.compareTo((String) object) == 0;
}
@Override
public String toString() {
return (new StringBuilder(key)).append("=").append(text.replace("\\\"", "\"")).append("\n").toString();
}
}