OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/l10n/formatter.h" | 5 #include "ui/base/l10n/formatter.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "grit/ui_strings.h" | 10 #include "grit/ui_strings.h" |
11 #include "third_party/icu/source/common/unicode/unistr.h" | 11 #include "third_party/icu/source/common/unicode/unistr.h" |
12 #include "ui/base/l10n/l10n_util_plurals.h" | 12 #include "ui/base/l10n/l10n_util_plurals.h" |
13 | 13 |
14 namespace ui { | 14 namespace ui { |
15 | 15 |
16 UI_BASE_EXPORT bool formatter_force_fallback = false; | 16 UI_BASE_EXPORT bool formatter_force_fallback = false; |
17 | 17 |
18 static const size_t kNumberPluralities = 6; | 18 static const size_t kNumberPluralities = 6; |
19 struct Pluralities { | 19 struct Pluralities { |
20 int ids[kNumberPluralities]; | 20 int ids[kNumberPluralities]; |
21 const char* fallback_one; | 21 const char* fallback_one; |
22 const char* fallback_other; | 22 const char* fallback_other; |
23 }; | 23 }; |
24 | 24 |
25 static const Pluralities IDS_ELAPSED_SHORT_SEC = { | 25 static const Pluralities IDS_ELAPSED_SHORT_SEC = { |
26 { IDS_TIME_ELAPSED_SECS_DEFAULT, IDS_TIME_ELAPSED_SEC_SINGULAR, | 26 { IDS_TIME_ELAPSED_SECS_DEFAULT, IDS_TIME_ELAPSED_SECS_SINGULAR, |
27 IDS_TIME_ELAPSED_SECS_ZERO, IDS_TIME_ELAPSED_SECS_TWO, | 27 IDS_TIME_ELAPSED_SECS_ZERO, IDS_TIME_ELAPSED_SECS_TWO, |
28 IDS_TIME_ELAPSED_SECS_FEW, IDS_TIME_ELAPSED_SECS_MANY }, | 28 IDS_TIME_ELAPSED_SECS_FEW, IDS_TIME_ELAPSED_SECS_MANY }, |
29 "one{# sec ago}", | 29 "one{# sec ago}", |
30 " other{# secs ago}" | 30 " other{# secs ago}" |
31 }; | 31 }; |
32 static const Pluralities IDS_ELAPSED_SHORT_MIN = { | 32 static const Pluralities IDS_ELAPSED_SHORT_MIN = { |
33 { IDS_TIME_ELAPSED_MINS_DEFAULT, IDS_TIME_ELAPSED_MIN_SINGULAR, | 33 { IDS_TIME_ELAPSED_MINS_DEFAULT, IDS_TIME_ELAPSED_MINS_SINGULAR, |
34 IDS_TIME_ELAPSED_MINS_ZERO, IDS_TIME_ELAPSED_MINS_TWO, | 34 IDS_TIME_ELAPSED_MINS_ZERO, IDS_TIME_ELAPSED_MINS_TWO, |
35 IDS_TIME_ELAPSED_MINS_FEW, IDS_TIME_ELAPSED_MINS_MANY }, | 35 IDS_TIME_ELAPSED_MINS_FEW, IDS_TIME_ELAPSED_MINS_MANY }, |
36 "one{# min ago}", | 36 "one{# min ago}", |
37 " other{# mins ago}" | 37 " other{# mins ago}" |
38 }; | 38 }; |
39 static const Pluralities IDS_ELAPSED_HOUR = { | 39 static const Pluralities IDS_ELAPSED_HOUR = { |
40 { IDS_TIME_ELAPSED_HOURS_DEFAULT, IDS_TIME_ELAPSED_HOUR_SINGULAR, | 40 { IDS_TIME_ELAPSED_HOURS_DEFAULT, IDS_TIME_ELAPSED_HOURS_SINGULAR, |
41 IDS_TIME_ELAPSED_HOURS_ZERO, IDS_TIME_ELAPSED_HOURS_TWO, | 41 IDS_TIME_ELAPSED_HOURS_ZERO, IDS_TIME_ELAPSED_HOURS_TWO, |
42 IDS_TIME_ELAPSED_HOURS_FEW, IDS_TIME_ELAPSED_HOURS_MANY }, | 42 IDS_TIME_ELAPSED_HOURS_FEW, IDS_TIME_ELAPSED_HOURS_MANY }, |
43 "one{# hour ago}", | 43 "one{# hour ago}", |
44 " other{# hours ago}" | 44 " other{# hours ago}" |
45 }; | 45 }; |
46 static const Pluralities IDS_ELAPSED_DAY = { | 46 static const Pluralities IDS_ELAPSED_DAY = { |
47 { IDS_TIME_ELAPSED_DAYS_DEFAULT, IDS_TIME_ELAPSED_DAY_SINGULAR, | 47 { IDS_TIME_ELAPSED_DAYS_DEFAULT, IDS_TIME_ELAPSED_DAYS_SINGULAR, |
48 IDS_TIME_ELAPSED_DAYS_ZERO, IDS_TIME_ELAPSED_DAYS_TWO, | 48 IDS_TIME_ELAPSED_DAYS_ZERO, IDS_TIME_ELAPSED_DAYS_TWO, |
49 IDS_TIME_ELAPSED_DAYS_FEW, IDS_TIME_ELAPSED_DAYS_MANY }, | 49 IDS_TIME_ELAPSED_DAYS_FEW, IDS_TIME_ELAPSED_DAYS_MANY }, |
50 "one{# day ago}", | 50 "one{# day ago}", |
51 " other{# days ago}" | 51 " other{# days ago}" |
52 }; | 52 }; |
53 | 53 |
54 static const Pluralities IDS_REMAINING_SHORT_SEC = { | 54 static const Pluralities IDS_REMAINING_SHORT_SEC = { |
55 { IDS_TIME_REMAINING_SECS_DEFAULT, IDS_TIME_REMAINING_SEC_SINGULAR, | 55 { IDS_TIME_REMAINING_SECS_DEFAULT, IDS_TIME_REMAINING_SECS_SINGULAR, |
56 IDS_TIME_REMAINING_SECS_ZERO, IDS_TIME_REMAINING_SECS_TWO, | 56 IDS_TIME_REMAINING_SECS_ZERO, IDS_TIME_REMAINING_SECS_TWO, |
57 IDS_TIME_REMAINING_SECS_FEW, IDS_TIME_REMAINING_SECS_MANY }, | 57 IDS_TIME_REMAINING_SECS_FEW, IDS_TIME_REMAINING_SECS_MANY }, |
58 "one{# sec left}", | 58 "one{# sec left}", |
59 " other{# secs left}" | 59 " other{# secs left}" |
60 }; | 60 }; |
61 static const Pluralities IDS_REMAINING_SHORT_MIN = { | 61 static const Pluralities IDS_REMAINING_SHORT_MIN = { |
62 { IDS_TIME_REMAINING_MINS_DEFAULT, IDS_TIME_REMAINING_MIN_SINGULAR, | 62 { IDS_TIME_REMAINING_MINS_DEFAULT, IDS_TIME_REMAINING_MINS_SINGULAR, |
63 IDS_TIME_REMAINING_MINS_ZERO, IDS_TIME_REMAINING_MINS_TWO, | 63 IDS_TIME_REMAINING_MINS_ZERO, IDS_TIME_REMAINING_MINS_TWO, |
64 IDS_TIME_REMAINING_MINS_FEW, IDS_TIME_REMAINING_MINS_MANY }, | 64 IDS_TIME_REMAINING_MINS_FEW, IDS_TIME_REMAINING_MINS_MANY }, |
65 "one{# min left}", | 65 "one{# min left}", |
66 " other{# mins left}" | 66 " other{# mins left}" |
67 }; | 67 }; |
68 | 68 |
69 static const Pluralities IDS_REMAINING_LONG_SEC = { | 69 static const Pluralities IDS_REMAINING_LONG_SEC = { |
70 { IDS_TIME_REMAINING_LONG_SECS_DEFAULT, IDS_TIME_REMAINING_LONG_SEC_SINGULAR, | 70 { IDS_TIME_REMAINING_LONG_SECS_DEFAULT, IDS_TIME_REMAINING_LONG_SECS_SINGULAR, |
71 IDS_TIME_REMAINING_LONG_SECS_ZERO, IDS_TIME_REMAINING_LONG_SECS_TWO, | 71 IDS_TIME_REMAINING_LONG_SECS_ZERO, IDS_TIME_REMAINING_LONG_SECS_TWO, |
72 IDS_TIME_REMAINING_LONG_SECS_FEW, IDS_TIME_REMAINING_LONG_SECS_MANY }, | 72 IDS_TIME_REMAINING_LONG_SECS_FEW, IDS_TIME_REMAINING_LONG_SECS_MANY }, |
73 "one{# second left}", | 73 "one{# second left}", |
74 " other{# seconds left}" | 74 " other{# seconds left}" |
75 }; | 75 }; |
76 static const Pluralities IDS_REMAINING_LONG_MIN = { | 76 static const Pluralities IDS_REMAINING_LONG_MIN = { |
77 { IDS_TIME_REMAINING_LONG_MINS_DEFAULT, IDS_TIME_REMAINING_LONG_MIN_SINGULAR, | 77 { IDS_TIME_REMAINING_LONG_MINS_DEFAULT, IDS_TIME_REMAINING_LONG_MINS_SINGULAR, |
78 IDS_TIME_REMAINING_LONG_MINS_ZERO, IDS_TIME_REMAINING_LONG_MINS_TWO, | 78 IDS_TIME_REMAINING_LONG_MINS_ZERO, IDS_TIME_REMAINING_LONG_MINS_TWO, |
79 IDS_TIME_REMAINING_LONG_MINS_FEW, IDS_TIME_REMAINING_LONG_MINS_MANY }, | 79 IDS_TIME_REMAINING_LONG_MINS_FEW, IDS_TIME_REMAINING_LONG_MINS_MANY }, |
80 "one{# minute left}", | 80 "one{# minute left}", |
81 " other{# minutes left}" | 81 " other{# minutes left}" |
82 }; | 82 }; |
83 static const Pluralities IDS_REMAINING_HOUR = { | 83 static const Pluralities IDS_REMAINING_HOUR = { |
84 { IDS_TIME_REMAINING_HOURS_DEFAULT, IDS_TIME_REMAINING_HOUR_SINGULAR, | 84 { IDS_TIME_REMAINING_HOURS_DEFAULT, IDS_TIME_REMAINING_HOURS_SINGULAR, |
85 IDS_TIME_REMAINING_HOURS_ZERO, IDS_TIME_REMAINING_HOURS_TWO, | 85 IDS_TIME_REMAINING_HOURS_ZERO, IDS_TIME_REMAINING_HOURS_TWO, |
86 IDS_TIME_REMAINING_HOURS_FEW, IDS_TIME_REMAINING_HOURS_MANY }, | 86 IDS_TIME_REMAINING_HOURS_FEW, IDS_TIME_REMAINING_HOURS_MANY }, |
87 "one{# hour left}", | 87 "one{# hour left}", |
88 " other{# hours left}" | 88 " other{# hours left}" |
89 }; | 89 }; |
90 static const Pluralities IDS_REMAINING_DAY = { | 90 static const Pluralities IDS_REMAINING_DAY = { |
91 { IDS_TIME_REMAINING_DAYS_DEFAULT, IDS_TIME_REMAINING_DAY_SINGULAR, | 91 { IDS_TIME_REMAINING_DAYS_DEFAULT, IDS_TIME_REMAINING_DAYS_SINGULAR, |
92 IDS_TIME_REMAINING_DAYS_ZERO, IDS_TIME_REMAINING_DAYS_TWO, | 92 IDS_TIME_REMAINING_DAYS_ZERO, IDS_TIME_REMAINING_DAYS_TWO, |
93 IDS_TIME_REMAINING_DAYS_FEW, IDS_TIME_REMAINING_DAYS_MANY }, | 93 IDS_TIME_REMAINING_DAYS_FEW, IDS_TIME_REMAINING_DAYS_MANY }, |
94 "one{# day left}", | 94 "one{# day left}", |
95 " other{# days left}" | 95 " other{# days left}" |
96 }; | 96 }; |
97 | 97 |
98 static const Pluralities IDS_DURATION_SHORT_SEC = { | 98 static const Pluralities IDS_DURATION_SHORT_SEC = { |
99 { IDS_TIME_SECS_DEFAULT, IDS_TIME_SEC_SINGULAR, IDS_TIME_SECS_ZERO, | 99 { IDS_TIME_SECS_DEFAULT, IDS_TIME_SECS_SINGULAR, IDS_TIME_SECS_ZERO, |
100 IDS_TIME_SECS_TWO, IDS_TIME_SECS_FEW, IDS_TIME_SECS_MANY }, | 100 IDS_TIME_SECS_TWO, IDS_TIME_SECS_FEW, IDS_TIME_SECS_MANY }, |
101 "one{# sec}", | 101 "one{# sec}", |
102 " other{# secs}" | 102 " other{# secs}" |
103 }; | 103 }; |
104 static const Pluralities IDS_DURATION_SHORT_MIN = { | 104 static const Pluralities IDS_DURATION_SHORT_MIN = { |
105 { IDS_TIME_MINS_DEFAULT, IDS_TIME_MIN_SINGULAR, IDS_TIME_MINS_ZERO, | 105 { IDS_TIME_MINS_DEFAULT, IDS_TIME_MINS_SINGULAR, IDS_TIME_MINS_ZERO, |
106 IDS_TIME_MINS_TWO, IDS_TIME_MINS_FEW, IDS_TIME_MINS_MANY }, | 106 IDS_TIME_MINS_TWO, IDS_TIME_MINS_FEW, IDS_TIME_MINS_MANY }, |
107 "one{# min}", | 107 "one{# min}", |
108 " other{# mins}" | 108 " other{# mins}" |
109 }; | 109 }; |
110 | 110 |
111 static const Pluralities IDS_LONG_SEC = { | 111 static const Pluralities IDS_LONG_SEC = { |
112 { IDS_TIME_LONG_SECS_DEFAULT, IDS_TIME_LONG_SEC_SINGULAR, | 112 { IDS_TIME_LONG_SECS_DEFAULT, IDS_TIME_LONG_SECS_SINGULAR, |
113 IDS_TIME_LONG_SECS_ZERO, IDS_TIME_LONG_SECS_TWO, | 113 IDS_TIME_LONG_SECS_ZERO, IDS_TIME_LONG_SECS_TWO, |
114 IDS_TIME_LONG_SECS_FEW, IDS_TIME_LONG_SECS_MANY }, | 114 IDS_TIME_LONG_SECS_FEW, IDS_TIME_LONG_SECS_MANY }, |
115 "one{# second}", | 115 "one{# second}", |
116 " other{# seconds}" | 116 " other{# seconds}" |
117 }; | 117 }; |
118 static const Pluralities IDS_LONG_MIN = { | 118 static const Pluralities IDS_LONG_MIN = { |
119 { IDS_TIME_LONG_MINS_DEFAULT, IDS_TIME_LONG_MIN_SINGULAR, | 119 { IDS_TIME_LONG_MINS_DEFAULT, IDS_TIME_LONG_MINS_SINGULAR, |
120 IDS_TIME_LONG_MINS_ZERO, IDS_TIME_LONG_MINS_TWO, | 120 IDS_TIME_LONG_MINS_ZERO, IDS_TIME_LONG_MINS_TWO, |
121 IDS_TIME_LONG_MINS_FEW, IDS_TIME_LONG_MINS_MANY }, | 121 IDS_TIME_LONG_MINS_FEW, IDS_TIME_LONG_MINS_MANY }, |
122 "one{# minute}", | 122 "one{# minute}", |
123 " other{# minutes}" | 123 " other{# minutes}" |
124 }; | 124 }; |
125 static const Pluralities IDS_DURATION_HOUR = { | 125 static const Pluralities IDS_DURATION_HOUR = { |
126 { IDS_TIME_HOURS_DEFAULT, IDS_TIME_HOUR_SINGULAR, IDS_TIME_HOURS_ZERO, | 126 { IDS_TIME_HOURS_DEFAULT, IDS_TIME_HOURS_SINGULAR, IDS_TIME_HOURS_ZERO, |
127 IDS_TIME_HOURS_TWO, IDS_TIME_HOURS_FEW, IDS_TIME_HOURS_MANY }, | 127 IDS_TIME_HOURS_TWO, IDS_TIME_HOURS_FEW, IDS_TIME_HOURS_MANY }, |
128 "one{# hour}", | 128 "one{# hour}", |
129 " other{# hours}" | 129 " other{# hours}" |
130 }; | 130 }; |
131 static const Pluralities IDS_DURATION_DAY = { | 131 static const Pluralities IDS_DURATION_DAY = { |
132 { IDS_TIME_DAYS_DEFAULT, IDS_TIME_DAY_SINGULAR, IDS_TIME_DAYS_ZERO, | 132 { IDS_TIME_DAYS_DEFAULT, IDS_TIME_DAYS_SINGULAR, IDS_TIME_DAYS_ZERO, |
133 IDS_TIME_DAYS_TWO, IDS_TIME_DAYS_FEW, IDS_TIME_DAYS_MANY }, | 133 IDS_TIME_DAYS_TWO, IDS_TIME_DAYS_FEW, IDS_TIME_DAYS_MANY }, |
134 "one{# day}", | 134 "one{# day}", |
135 " other{# days}" | 135 " other{# days}" |
136 }; | 136 }; |
137 | 137 |
138 static const Pluralities IDS_LONG_MIN_1ST = { | 138 static const Pluralities IDS_LONG_MIN_1ST = { |
139 { IDS_TIME_LONG_MINS_1ST_DEFAULT, IDS_TIME_LONG_MIN_1ST_SINGULAR, | 139 { IDS_TIME_LONG_MINS_1ST_DEFAULT, IDS_TIME_LONG_MINS_1ST_SINGULAR, |
140 IDS_TIME_LONG_MINS_1ST_ZERO, IDS_TIME_LONG_MINS_1ST_TWO, | 140 IDS_TIME_LONG_MINS_1ST_ZERO, IDS_TIME_LONG_MINS_1ST_TWO, |
141 IDS_TIME_LONG_MINS_1ST_FEW, IDS_TIME_LONG_MINS_1ST_MANY }, | 141 IDS_TIME_LONG_MINS_1ST_FEW, IDS_TIME_LONG_MINS_1ST_MANY }, |
142 "one{# minute }", | 142 "one{# minute }", |
143 " other{# minutes }" | 143 " other{# minutes }" |
144 }; | 144 }; |
145 static const Pluralities IDS_LONG_SEC_2ND = { | 145 static const Pluralities IDS_LONG_SEC_2ND = { |
146 { IDS_TIME_LONG_SECS_2ND_DEFAULT, IDS_TIME_LONG_SEC_2ND_SINGULAR, | 146 { IDS_TIME_LONG_SECS_2ND_DEFAULT, IDS_TIME_LONG_SECS_2ND_SINGULAR, |
147 IDS_TIME_LONG_SECS_2ND_ZERO, IDS_TIME_LONG_SECS_2ND_TWO, | 147 IDS_TIME_LONG_SECS_2ND_ZERO, IDS_TIME_LONG_SECS_2ND_TWO, |
148 IDS_TIME_LONG_SECS_2ND_FEW, IDS_TIME_LONG_SECS_2ND_MANY }, | 148 IDS_TIME_LONG_SECS_2ND_FEW, IDS_TIME_LONG_SECS_2ND_MANY }, |
149 "one{# second}", | 149 "one{# second}", |
150 " other{# seconds}" | 150 " other{# seconds}" |
151 }; | 151 }; |
152 static const Pluralities IDS_DURATION_HOUR_1ST = { | 152 static const Pluralities IDS_DURATION_HOUR_1ST = { |
153 { IDS_TIME_HOURS_1ST_DEFAULT, IDS_TIME_HOUR_1ST_SINGULAR, | 153 { IDS_TIME_HOURS_1ST_DEFAULT, IDS_TIME_HOURS_1ST_SINGULAR, |
154 IDS_TIME_HOURS_1ST_ZERO, IDS_TIME_HOURS_1ST_TWO, | 154 IDS_TIME_HOURS_1ST_ZERO, IDS_TIME_HOURS_1ST_TWO, |
155 IDS_TIME_HOURS_1ST_FEW, IDS_TIME_HOURS_1ST_MANY }, | 155 IDS_TIME_HOURS_1ST_FEW, IDS_TIME_HOURS_1ST_MANY }, |
156 "one{# hour }", | 156 "one{# hour }", |
157 " other{# hours }" | 157 " other{# hours }" |
158 }; | 158 }; |
159 static const Pluralities IDS_LONG_MIN_2ND = { | 159 static const Pluralities IDS_LONG_MIN_2ND = { |
160 { IDS_TIME_LONG_MINS_2ND_DEFAULT, IDS_TIME_LONG_MIN_2ND_SINGULAR, | 160 { IDS_TIME_LONG_MINS_2ND_DEFAULT, IDS_TIME_LONG_MINS_2ND_SINGULAR, |
161 IDS_TIME_LONG_MINS_2ND_ZERO, IDS_TIME_LONG_MINS_2ND_TWO, | 161 IDS_TIME_LONG_MINS_2ND_ZERO, IDS_TIME_LONG_MINS_2ND_TWO, |
162 IDS_TIME_LONG_MINS_2ND_FEW, IDS_TIME_LONG_MINS_2ND_MANY }, | 162 IDS_TIME_LONG_MINS_2ND_FEW, IDS_TIME_LONG_MINS_2ND_MANY }, |
163 "one{# minute}", | 163 "one{# minute}", |
164 " other{# minutes}" | 164 " other{# minutes}" |
165 }; | 165 }; |
166 static const Pluralities IDS_DURATION_DAY_1ST = { | 166 static const Pluralities IDS_DURATION_DAY_1ST = { |
167 { IDS_TIME_DAYS_1ST_DEFAULT, IDS_TIME_DAY_1ST_SINGULAR, | 167 { IDS_TIME_DAYS_1ST_DEFAULT, IDS_TIME_DAYS_1ST_SINGULAR, |
168 IDS_TIME_DAYS_1ST_ZERO, IDS_TIME_DAYS_1ST_TWO, | 168 IDS_TIME_DAYS_1ST_ZERO, IDS_TIME_DAYS_1ST_TWO, |
169 IDS_TIME_DAYS_1ST_FEW, IDS_TIME_DAYS_1ST_MANY }, | 169 IDS_TIME_DAYS_1ST_FEW, IDS_TIME_DAYS_1ST_MANY }, |
170 "one{# day }", | 170 "one{# day }", |
171 " other{# days }" | 171 " other{# days }" |
172 }; | 172 }; |
173 static const Pluralities IDS_DURATION_HOUR_2ND = { | 173 static const Pluralities IDS_DURATION_HOUR_2ND = { |
174 { IDS_TIME_HOURS_2ND_DEFAULT, IDS_TIME_HOUR_2ND_SINGULAR, | 174 { IDS_TIME_HOURS_2ND_DEFAULT, IDS_TIME_HOURS_2ND_SINGULAR, |
175 IDS_TIME_HOURS_2ND_ZERO, IDS_TIME_HOURS_2ND_TWO, | 175 IDS_TIME_HOURS_2ND_ZERO, IDS_TIME_HOURS_2ND_TWO, |
176 IDS_TIME_HOURS_2ND_FEW, IDS_TIME_HOURS_2ND_MANY }, | 176 IDS_TIME_HOURS_2ND_FEW, IDS_TIME_HOURS_2ND_MANY }, |
177 "one{# hour}", | 177 "one{# hour}", |
178 " other{# hours}" | 178 " other{# hours}" |
179 }; | 179 }; |
180 | 180 |
181 Formatter::Formatter(const Pluralities& sec_pluralities, | 181 Formatter::Formatter(const Pluralities& sec_pluralities, |
182 const Pluralities& min_pluralities, | 182 const Pluralities& min_pluralities, |
183 const Pluralities& hour_pluralities, | 183 const Pluralities& hour_pluralities, |
184 const Pluralities& day_pluralities) { | 184 const Pluralities& day_pluralities) { |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 | 318 |
319 void FormatterContainer::Shutdown() { | 319 void FormatterContainer::Shutdown() { |
320 for (int format = 0; format < TimeFormat::FORMAT_COUNT; ++format) { | 320 for (int format = 0; format < TimeFormat::FORMAT_COUNT; ++format) { |
321 for (int length = 0; length < TimeFormat::LENGTH_COUNT; ++length) { | 321 for (int length = 0; length < TimeFormat::LENGTH_COUNT; ++length) { |
322 formatter_[format][length].reset(); | 322 formatter_[format][length].reset(); |
323 } | 323 } |
324 } | 324 } |
325 } | 325 } |
326 | 326 |
327 } // namespace ui | 327 } // namespace ui |
OLD | NEW |