Index: ui/base/l10n/formatter.cc |
diff --git a/ui/base/l10n/formatter.cc b/ui/base/l10n/formatter.cc |
index 2764907cc4712a28f4d1da916210ba96ddb9ae0e..486a3a029cbaa859072a691b17a6ab0975f3c6a5 100644 |
--- a/ui/base/l10n/formatter.cc |
+++ b/ui/base/l10n/formatter.cc |
@@ -53,6 +53,10 @@ static const Pluralities IDS_ELAPSED_DAY = { |
"one{# day ago}", |
" other{# days ago}" |
}; |
+static const Pluralities IDS_ELAPSED_MONTH = { |
+ IDS_TIME_ELAPSED_MONTHS, "one{# month ago}", " other{# months ago}"}; |
+static const Pluralities IDS_ELAPSED_YEAR = { |
+ IDS_TIME_ELAPSED_YEARS, "one{# year ago}", " other{# years ago}"}; |
static const Pluralities IDS_REMAINING_SHORT_SEC = { |
IDS_TIME_REMAINING_SECS, |
@@ -85,6 +89,10 @@ static const Pluralities IDS_REMAINING_DAY = { |
"one{# day left}", |
" other{# days left}" |
}; |
+static const Pluralities IDS_REMAINING_MONTH = { |
+ IDS_TIME_REMAINING_MONTHS, "one{# month left}", " other{# months left}"}; |
+static const Pluralities IDS_REMAINING_YEAR = { |
+ IDS_TIME_REMAINING_YEARS, "one{# year left}", " other{# years left}"}; |
static const Pluralities IDS_DURATION_SHORT_SEC = { |
IDS_TIME_SECS, |
@@ -117,6 +125,10 @@ static const Pluralities IDS_DURATION_DAY = { |
"one{# day}", |
" other{# days}" |
}; |
+static const Pluralities IDS_DURATION_MONTH = {IDS_TIME_MONTHS, "one{# month}", |
+ " other{# months}"}; |
+static const Pluralities IDS_DURATION_YEAR = {IDS_TIME_YEARS, "one{# year}", |
+ " other{# years}"}; |
static const Pluralities IDS_LONG_MIN_1ST = { |
IDS_TIME_LONG_MINS_1ST, |
@@ -179,17 +191,23 @@ void FormatNumberInPlural(const icu::MessageFormat& format, int number, |
Formatter::Formatter(const Pluralities& sec_pluralities, |
const Pluralities& min_pluralities, |
const Pluralities& hour_pluralities, |
- const Pluralities& day_pluralities) { |
+ const Pluralities& day_pluralities, |
+ const Pluralities& month_pluralities, |
+ const Pluralities& year_pluralities) { |
simple_format_[UNIT_SEC] = InitFormat(sec_pluralities); |
simple_format_[UNIT_MIN] = InitFormat(min_pluralities); |
simple_format_[UNIT_HOUR] = InitFormat(hour_pluralities); |
simple_format_[UNIT_DAY] = InitFormat(day_pluralities); |
+ simple_format_[UNIT_MONTH] = InitFormat(month_pluralities); |
+ simple_format_[UNIT_YEAR] = InitFormat(year_pluralities); |
} |
Formatter::Formatter(const Pluralities& sec_pluralities, |
const Pluralities& min_pluralities, |
const Pluralities& hour_pluralities, |
const Pluralities& day_pluralities, |
+ const Pluralities& month_pluralities, |
+ const Pluralities& year_pluralities, |
const Pluralities& min_sec_pluralities1, |
const Pluralities& min_sec_pluralities2, |
const Pluralities& hour_min_pluralities1, |
@@ -200,6 +218,8 @@ Formatter::Formatter(const Pluralities& sec_pluralities, |
simple_format_[UNIT_MIN] = InitFormat(min_pluralities); |
simple_format_[UNIT_HOUR] = InitFormat(hour_pluralities); |
simple_format_[UNIT_DAY] = InitFormat(day_pluralities); |
+ simple_format_[UNIT_MONTH] = InitFormat(month_pluralities); |
+ simple_format_[UNIT_YEAR] = InitFormat(year_pluralities); |
detailed_format_[TWO_UNITS_MIN_SEC][0] = InitFormat(min_sec_pluralities1); |
detailed_format_[TWO_UNITS_MIN_SEC][1] = InitFormat(min_sec_pluralities2); |
detailed_format_[TWO_UNITS_HOUR_MIN][0] = InitFormat(hour_min_pluralities1); |
@@ -285,38 +305,30 @@ FormatterContainer::~FormatterContainer() { |
void FormatterContainer::Initialize() { |
formatter_[TimeFormat::FORMAT_ELAPSED][TimeFormat::LENGTH_SHORT].reset( |
- new Formatter(IDS_ELAPSED_SHORT_SEC, |
- IDS_ELAPSED_SHORT_MIN, |
- IDS_ELAPSED_HOUR, |
- IDS_ELAPSED_DAY)); |
+ new Formatter(IDS_ELAPSED_SHORT_SEC, IDS_ELAPSED_SHORT_MIN, |
+ IDS_ELAPSED_HOUR, IDS_ELAPSED_DAY, IDS_ELAPSED_MONTH, |
+ IDS_ELAPSED_YEAR)); |
formatter_[TimeFormat::FORMAT_ELAPSED][TimeFormat::LENGTH_LONG].reset( |
new Formatter(IDS_ELAPSED_LONG_SEC, IDS_ELAPSED_LONG_MIN, |
- IDS_ELAPSED_HOUR, IDS_ELAPSED_DAY)); |
+ IDS_ELAPSED_HOUR, IDS_ELAPSED_DAY, IDS_ELAPSED_MONTH, |
+ IDS_ELAPSED_YEAR)); |
formatter_[TimeFormat::FORMAT_REMAINING][TimeFormat::LENGTH_SHORT].reset( |
- new Formatter(IDS_REMAINING_SHORT_SEC, |
- IDS_REMAINING_SHORT_MIN, |
- IDS_REMAINING_HOUR, |
- IDS_REMAINING_DAY)); |
+ new Formatter(IDS_REMAINING_SHORT_SEC, IDS_REMAINING_SHORT_MIN, |
+ IDS_REMAINING_HOUR, IDS_REMAINING_DAY, IDS_REMAINING_MONTH, |
+ IDS_REMAINING_YEAR)); |
formatter_[TimeFormat::FORMAT_REMAINING][TimeFormat::LENGTH_LONG].reset( |
- new Formatter(IDS_REMAINING_LONG_SEC, |
- IDS_REMAINING_LONG_MIN, |
- IDS_REMAINING_HOUR, |
- IDS_REMAINING_DAY)); |
+ new Formatter(IDS_REMAINING_LONG_SEC, IDS_REMAINING_LONG_MIN, |
+ IDS_REMAINING_HOUR, IDS_REMAINING_DAY, IDS_REMAINING_MONTH, |
+ IDS_REMAINING_YEAR)); |
formatter_[TimeFormat::FORMAT_DURATION][TimeFormat::LENGTH_SHORT].reset( |
- new Formatter(IDS_DURATION_SHORT_SEC, |
- IDS_DURATION_SHORT_MIN, |
- IDS_DURATION_HOUR, |
- IDS_DURATION_DAY)); |
+ new Formatter(IDS_DURATION_SHORT_SEC, IDS_DURATION_SHORT_MIN, |
+ IDS_DURATION_HOUR, IDS_DURATION_DAY, IDS_DURATION_MONTH, |
+ IDS_DURATION_YEAR)); |
formatter_[TimeFormat::FORMAT_DURATION][TimeFormat::LENGTH_LONG].reset( |
- new Formatter(IDS_LONG_SEC, |
- IDS_LONG_MIN, |
- IDS_DURATION_HOUR, |
- IDS_DURATION_DAY, |
- IDS_LONG_MIN_1ST, |
- IDS_LONG_SEC_2ND, |
- IDS_DURATION_HOUR_1ST, |
- IDS_LONG_MIN_2ND, |
- IDS_DURATION_DAY_1ST, |
+ new Formatter(IDS_LONG_SEC, IDS_LONG_MIN, IDS_DURATION_HOUR, |
+ IDS_DURATION_DAY, IDS_DURATION_MONTH, IDS_DURATION_YEAR, |
+ IDS_LONG_MIN_1ST, IDS_LONG_SEC_2ND, IDS_DURATION_HOUR_1ST, |
+ IDS_LONG_MIN_2ND, IDS_DURATION_DAY_1ST, |
IDS_DURATION_HOUR_2ND)); |
} |