builder.put(TIME_ZONE_FILE_NAME, al.getTimeZone().getID().replace("/", "-"));
builder.put(IS_EASTERN_NAME_STYLE, al.isEasternNameStyle());
// DecimalFormat is expected
DecimalFormat df = (DecimalFormat) DecimalFormat.getNumberInstance(al.getNumberLocale());
builder.put(NUMBER_FORMAT, df.toLocalizedPattern());
DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
builder.put(DECIMAL, dfs.getDecimalSeparator());
builder.put(GROUPING, dfs.getGroupingSeparator());
builder.put(ZERO_DIGIT, dfs.getZeroDigit());
df = (DecimalFormat) DecimalFormat.getPercentInstance(al.getNumberLocale());
builder.put(PERCENT_FORMAT, df.toLocalizedPattern());
df = (DecimalFormat) DecimalFormat.getCurrencyInstance(al.getCurrencyLocale());
builder.put(CURRENCY_FORMAT, df.toLocalizedPattern());
DecimalFormatSymbols cdfs = df.getDecimalFormatSymbols();
Currency cur = cdfs.getCurrency();
builder.put(CURRENCY_CODE, cur != null ? cur.getCurrencyCode() : "");
builder.put(CURRENCY, cdfs.getCurrencySymbol());
data = builder.build();