use of org.cubeengine.i18n.language.Language in project core by CubeEngine.
the class I18n method getLanguage.
public Language getLanguage(Locale locale) {
try {
Language language = this.service.getLanguage(locale);
if (language != null) {
this.languageLookupMap.put(language.getName().toLowerCase(language.getLocale()), language);
this.languageLookupMap.put(language.getLocalName().toLowerCase(language.getLocale()), language);
}
return language;
} catch (TranslationLoadingException | DefinitionLoadingException e) {
log.error(e, "Error while getting Language!");
return null;
}
}
use of org.cubeengine.i18n.language.Language in project core by CubeEngine.
the class I18n method searchLanguages.
public Set<Language> searchLanguages(String name, int maxDistance) {
Locale locale = I18nUtil.stringToLocale(name.toLowerCase());
Language language = this.getLanguage(locale);
if (language != null) {
HashSet<Language> lang = new HashSet<>();
lang.add(language);
return lang;
}
Set<String> matches = stringMatcher.getBestMatches(name.toLowerCase(), this.languageLookupMap.keySet(), maxDistance);
Set<Language> languages = new HashSet<>(matches.size());
for (String match : matches) {
languages.add(this.languageLookupMap.get(match));
}
return languages;
}
use of org.cubeengine.i18n.language.Language in project core by CubeEngine.
the class I18n method registerPlugin.
public void registerPlugin(PluginContainer plugin) {
String name = plugin.getName();
for (Language language : getLanguages()) {
String lang = language.getLocale().getLanguage();
String full = lang + "_ " + language.getLocale().getCountry();
Optional<Asset> asset = getAssetManager().getAsset(plugin, "translations/" + lang + "_" + name + ".po");
asset.map(Asset::getUrl).ifPresent(poFiles::add);
asset = getAssetManager().getAsset(plugin, "translations/" + full + "_" + name + ".po");
asset.map(Asset::getUrl).ifPresent(poFiles::add);
}
}
Aggregations