package com.constellio.model.entities;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
public enum Language {
UNKNOWN("unknown", null),
//Arabic("ar"),
// Armenian,
// Basque,
// Bulgarian,
// Catalan,
// Chinese,
// Japanese,
// Korean,
// Czech,
// Danish,
// Dutch,
English("en", Locale.ENGLISH),
// Finnish,
French("fr", Locale.FRENCH);
// Galician,
// German("de"),
// Greek,
// Hebrew,
// Hindi,
// Hungarian,
// Indonesian,
// Italian,
// Norwegian,
// Persian,
// Polish,
// Portuguese("pt"),
// Romanian,
// Russian,
// Spanish("es"),
// Swedish,
// Thai,
// Turkish;
final Locale locale;
final String code;
Language(String code, Locale locale) {
this.code = code;
this.locale = locale;
}
public static boolean isSupported(String languageCode) {
for (Language language : Language.values()) {
if (language.code.equals(languageCode)) {
return true;
}
}
return false;
}
public String getCode() {
return code;
}
public Locale getLocale() {
return locale;
}
public static Language withCode(String code) {
if (code == null) {
return null;
}
for (Language language : values()) {
if (code.equals(language.getCode())) {
return language;
}
}
return French;
}
public static List<Language> getAvailableLanguages() {
return Arrays.asList(values());
}
public static List<Language> withCodes(List<String> codes) {
List<Language> languages = new ArrayList<>();
for (String code : codes) {
languages.add(withCode(code));
}
return languages;
}
}