/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see .
*/
package com.l2jserver.tools.ngl;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
/**
* @author mrTJO
*/
public class LocaleCodes
{
Map _locales = new HashMap();
public static LocaleCodes getInstance()
{
return SingletonHolder._instance;
}
protected LocaleCodes()
{
loadCodes();
}
private void loadCodes()
{
for (Locale locale : Locale.getAvailableLocales())
{
String language = locale.getLanguage();
// String script = locale.getScript();
String country = locale.getCountry();
String variant = locale.getVariant();
if (language.isEmpty() && country.isEmpty() && variant.isEmpty())
{
continue;
}
StringBuilder lang = new StringBuilder();
lang.append(language);
if (!country.isEmpty())
{
lang.append(country);
}
if (!variant.isEmpty())
{
lang.append('_' + variant);
}
/*
* if (script != "") lang.append('_'+script);
*/
_locales.put(lang.toString(), locale);
}
}
public Locale getLanguage(String lang)
{
return _locales.get(lang);
}
private static class SingletonHolder
{
protected static final LocaleCodes _instance = new LocaleCodes();
}
}