package com.cookbook.localization;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.I18NBundle;
import com.badlogic.gdx.utils.ObjectMap;
import java.util.Locale;
public class LanguageManager {
private ObjectMap<String, I18NBundle> languages;
private String currentLanguage;
public LanguageManager() {
languages = new ObjectMap<String, I18NBundle>();
currentLanguage = null;
}
public void loadLanguage(String name, I18NBundle bundle) {
if(name!=null && !name.isEmpty() && bundle != null)
languages.put(name.toLowerCase(), bundle);
}
public void loadLanguage(String name, FileHandle fileHandle, Locale locale) {
if(name!=null && !name.isEmpty() && fileHandle != null && locale != null)
languages.put(name.toLowerCase(), I18NBundle.createBundle(fileHandle, locale));
}
public void loadLanguage(String name, FileHandle fileHandle) {
if(name!=null && !name.isEmpty() && fileHandle != null)
languages.put(name.toLowerCase(), I18NBundle.createBundle(fileHandle));
}
public void removeLanguage(String name, I18NBundle bundle) {
if(name!=null && !name.isEmpty() && bundle != null)
languages.remove(name.toLowerCase());
}
public void setCurrentLanguage(String name) {
if(languages.containsKey(name.toLowerCase()))
currentLanguage = name;
}
public String getCurrentLanguage() {
return currentLanguage;
}
public I18NBundle getCurrentBundle() {
return languages.get(currentLanguage);
}
}