private void initialize(ULocale uloc) { ulocale = uloc; pluralRules = PluralRules.forLocale(uloc); setupCurrencyPluralPattern(uloc); }
private PluralRules createPluralRules() { ULocale locale = ULocale.forLanguageTag(this.locale); PluralType pluralType = "cardinal".equals(type) ? PluralType.CARDINAL : PluralType.ORDINAL; return PluralRules.forLocale(locale, pluralType); }
/** * Provides access to the predefined <code>PluralRules</code> for a given * {@link java.util.Locale} and the plural type. * * <p>ICU defines plural rules for many locales based on CLDR <i>Language Plural Rules</i>. * For these predefined rules, see CLDR page at * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html * * @param locale The locale for which a <code>PluralRules</code> object is * returned. * @param type The plural type (e.g., cardinal or ordinal). * @return The predefined <code>PluralRules</code> object for this locale. * If there's no predefined rules for this locale, the rules * for the closest parent in the locale hierarchy that has one will * be returned. The final fallback always returns the default * rules. * @stable ICU 54 */ public static PluralRules forLocale(Locale locale, PluralType type) { return forLocale(ULocale.forLocale(locale), type); }
/** * Provides access to the predefined cardinal-number <code>PluralRules</code> for a given * {@link java.util.Locale}. * Same as forLocale(locale, PluralType.CARDINAL). * * <p>ICU defines plural rules for many locales based on CLDR <i>Language Plural Rules</i>. * For these predefined rules, see CLDR page at * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html * * @param locale The locale for which a <code>PluralRules</code> object is * returned. * @return The predefined <code>PluralRules</code> object for this locale. * If there's no predefined rules for this locale, the rules * for the closest parent in the locale hierarchy that has one will * be returned. The final fallback always returns the default * rules. * @stable ICU 54 */ public static PluralRules forLocale(Locale locale) { return forLocale(ULocale.forLocale(locale)); }
private void init(PluralRules rules, PluralType type, ULocale locale, NumberFormat numberFormat) { ulocale = locale; pluralRules = (rules == null) ? PluralRules.forLocale(ulocale, type) : rules; resetPattern(); this.numberFormat = (numberFormat == null) ? NumberFormat.getInstance(ulocale) : numberFormat; }
@Override public String select(Object ctx, double number) { if(rules == null) { rules = PluralRules.forLocale(msgFormat.ulocale, type);
SimpleFormatterImpl.compileToStringMinMaxArguments( data.dateTimePattern, new StringBuilder(), 2, 2), PluralRules.forLocale(locale), nf, style,
private void setup() { if (locale == null) { if (format != null) { locale = format.getLocale(null); } else { locale = ULocale.getDefault(Category.FORMAT); } // Needed for getLocale(ULocale.VALID_LOCALE) setLocale(locale, locale); } if (format == null) { format = NumberFormat.getNumberInstance(locale); } pluralRules = PluralRules.forLocale(locale); timeUnitToCountToPatterns = new HashMap<TimeUnit, Map<String, Object[]>>(); Set<String> pluralKeywords = pluralRules.getKeywords(); setup("units/duration", timeUnitToCountToPatterns, FULL_NAME, pluralKeywords); setup("unitsShort/duration", timeUnitToCountToPatterns, ABBREVIATED_NAME, pluralKeywords); isReady = true; }
this.pluralRules = PluralRules.forLocale(locale); DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(locale); CompactDecimalDataCache.Data data = getData(locale, style);
String pluralKeyword = PluralRules.forLocale(locale).select(pluralValue - offset); SoyMsgPluralCaseSpec.Type correctCaseType = new SoyMsgPluralCaseSpec(pluralKeyword).getType();
String pluralKeyword = PluralRules.forLocale(locale).select(pluralValue - offset); SoyMsgPluralCaseSpec.Type correctCaseType = new SoyMsgPluralCaseSpec(pluralKeyword).getType();
String pluralKeyword = PluralRules.forLocale(locale).select(currentPluralRemainderValue); SoyMsgPluralCaseSpec.Type correctCaseType = new SoyMsgPluralCaseSpec(pluralKeyword).getType();
PluralRules rules = PluralRules.forLocale(locale); NumericFormatters formatters = null; MeasureFormatData data = localeMeasureFormatData.get(locale);