1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/webui/performance_monitor/performance_monitor_l10n.h"
6
7#include "grit/chromium_strings.h"
8#include "grit/generated_resources.h"
9#include "ui/base/l10n/l10n_util.h"
10
11namespace performance_monitor {
12
13// Aggregation-Related
14string16 GetLocalizedStringFromAggregationMethod(
15    const AggregationMethod method) {
16  int string_id = 0;
17  switch (method) {
18    case AGGREGATION_METHOD_NONE:
19      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_NONE_NAME;
20      break;
21    case AGGREGATION_METHOD_MEDIAN:
22      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_MEDIAN_NAME;
23      break;
24    case AGGREGATION_METHOD_MEAN:
25      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_MEAN_NAME;
26      break;
27    default:
28      NOTREACHED();
29  }
30
31  return l10n_util::GetStringUTF16(string_id);
32}
33
34string16 GetLocalizedStringForAggregationMethodDescription(
35    const AggregationMethod method) {
36  int string_id = 0;
37  switch (method) {
38    case AGGREGATION_METHOD_NONE:
39      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_NONE_DESCRIPTION;
40      break;
41    case AGGREGATION_METHOD_MEDIAN:
42      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_MEDIAN_DESCRIPTION;
43      break;
44    case AGGREGATION_METHOD_MEAN:
45      string_id = IDS_PERFORMANCE_MONITOR_AGGREGATION_MEAN_DESCRIPTION;
46      break;
47    default:
48      NOTREACHED();
49  }
50
51  return l10n_util::GetStringUTF16(string_id);
52}
53
54// Event-Related
55string16 GetLocalizedStringFromEventCategory(const EventCategory category) {
56  int string_id = 0;
57  switch (category) {
58    case EVENT_CATEGORY_CHROME:
59      string_id = IDS_PRODUCT_NAME;
60      break;
61    case EVENT_CATEGORY_EXTENSIONS:
62      string_id = IDS_PERFORMANCE_MONITOR_EXTENSIONS_EVENT_CATEGORY;
63      break;
64    case EVENT_CATEGORY_EXCEPTIONS:
65      string_id = IDS_PERFORMANCE_MONITOR_EXCEPTIONS_EVENT_CATEGORY;
66      break;
67    default:
68      NOTREACHED();
69  }
70
71  return l10n_util::GetStringUTF16(string_id);
72}
73
74string16 GetLocalizedStringForEventCategoryDescription(
75    const EventCategory category) {
76  int string_id = 0;
77  switch (category) {
78    case EVENT_CATEGORY_EXTENSIONS:
79      string_id = IDS_PERFORMANCE_MONITOR_EXTENSIONS_EVENT_CATEGORY_DESCRIPTION;
80      break;
81    case EVENT_CATEGORY_CHROME:
82      string_id = IDS_PERFORMANCE_MONITOR_CHROME_EVENT_CATEGORY_DESCRIPTION;
83      break;
84    case EVENT_CATEGORY_EXCEPTIONS:
85      string_id = IDS_PERFORMANCE_MONITOR_EXCEPTIONS_EVENT_CATEGORY_DESCRIPTION;
86      break;
87    default:
88      NOTREACHED();
89  }
90
91  return l10n_util::GetStringFUTF16(
92      string_id, l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
93}
94
95string16 GetLocalizedStringFromEventType(const EventType type) {
96  int string_id = 0;
97
98  switch (type) {
99    case EVENT_EXTENSION_INSTALL:
100      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT;
101      break;
102    case EVENT_EXTENSION_UNINSTALL:
103      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT;
104      break;
105    case EVENT_EXTENSION_UPDATE:
106      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT;
107      break;
108    case EVENT_EXTENSION_ENABLE:
109      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT;
110      break;
111    case EVENT_EXTENSION_DISABLE:
112      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT;
113      break;
114    case EVENT_CHROME_UPDATE:
115      string_id = IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT;
116      break;
117    case EVENT_RENDERER_HANG:
118      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT;
119      break;
120    case EVENT_RENDERER_CRASH:
121      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT;
122      break;
123    case EVENT_RENDERER_KILLED:
124      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT;
125      break;
126    case EVENT_UNCLEAN_EXIT:
127      string_id = IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT;
128      break;
129    default:
130      NOTREACHED();
131  }
132
133  return l10n_util::GetStringUTF16(string_id);
134}
135
136string16 GetLocalizedStringForEventTypeDescription(const EventType type) {
137  int string_id1 = 0;
138  int string_id2 = 0;
139
140  switch (type) {
141    case EVENT_EXTENSION_INSTALL:
142      string_id1 = IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT_DESCRIPTION;
143      break;
144    case EVENT_EXTENSION_UNINSTALL:
145      string_id1 =
146          IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT_DESCRIPTION;
147      break;
148    case EVENT_EXTENSION_UPDATE:
149      string_id1 = IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT_DESCRIPTION;
150      break;
151    case EVENT_EXTENSION_ENABLE:
152      string_id1 = IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT_DESCRIPTION;
153      break;
154    case EVENT_EXTENSION_DISABLE:
155      string_id1 = IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT_DESCRIPTION;
156      break;
157    case EVENT_CHROME_UPDATE:
158      string_id1 = IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT_DESCRIPTION;
159      string_id2 = IDS_SHORT_PRODUCT_NAME;
160      break;
161    case EVENT_RENDERER_HANG:
162      string_id1 = IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT_DESCRIPTION;
163      break;
164    case EVENT_RENDERER_CRASH:
165      string_id1 = IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT_DESCRIPTION;
166      string_id2 = IDS_SAD_TAB_TITLE;
167      break;
168    case EVENT_RENDERER_KILLED:
169      string_id1 = IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT_DESCRIPTION;
170      string_id2 = IDS_KILLED_TAB_TITLE;
171      break;
172    case EVENT_UNCLEAN_EXIT:
173      string_id1 = IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT_DESCRIPTION;
174      string_id2 = IDS_SHORT_PRODUCT_NAME;
175      break;
176    default:
177      NOTREACHED();
178  }
179
180  return string_id2 ?
181         l10n_util::GetStringFUTF16(
182             string_id1, l10n_util::GetStringUTF16(string_id2)) :
183         l10n_util::GetStringUTF16(string_id1);
184}
185
186string16 GetLocalizedStringForEventTypeMouseover(const EventType type) {
187  if (type == EVENT_CHROME_UPDATE) {
188    return l10n_util::GetStringFUTF16(
189        IDS_PERFORMANCE_MONITOR_CHROME_UPDATE_EVENT_MOUSEOVER,
190        l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
191  }
192
193  int string_id = 0;
194  switch (type) {
195    case EVENT_EXTENSION_INSTALL:
196      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_INSTALL_EVENT_MOUSEOVER;
197      break;
198    case EVENT_EXTENSION_UNINSTALL:
199      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_UNINSTALL_EVENT_MOUSEOVER;
200      break;
201    case EVENT_EXTENSION_UPDATE:
202      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_UPDATE_EVENT_MOUSEOVER;
203      break;
204    case EVENT_EXTENSION_ENABLE:
205      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_ENABLE_EVENT_MOUSEOVER;
206      break;
207    case EVENT_EXTENSION_DISABLE:
208      string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_DISABLE_EVENT_MOUSEOVER;
209      break;
210    case EVENT_RENDERER_HANG:
211      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_HANG_EVENT_MOUSEOVER;
212      break;
213    case EVENT_RENDERER_CRASH:
214      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_CRASH_EVENT_MOUSEOVER;
215      break;
216    case EVENT_RENDERER_KILLED:
217      string_id = IDS_PERFORMANCE_MONITOR_RENDERER_KILLED_EVENT_MOUSEOVER;
218      break;
219    case EVENT_UNCLEAN_EXIT:
220      string_id = IDS_PERFORMANCE_MONITOR_UNCLEAN_EXIT_EVENT_MOUSEOVER;
221      break;
222    default:
223      NOTREACHED();
224  }
225
226  return l10n_util::GetStringUTF16(string_id);
227}
228
229string16 GetLocalizedStringFromEventProperty(const std::string& property) {
230  int string_id = 0;
231
232  if (property == "extensionId")
233    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_ID_MOUSEOVER;
234  else if (property == "extensionName")
235    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_NAME_MOUSEOVER;
236  else if (property == "extensionUrl")
237    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_URL_MOUSEOVER;
238  else if (property == "extensionLocation")
239    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_LOCATION_MOUSEOVER;
240  else if (property == "extensionVersion")
241    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_VERSION_MOUSEOVER;
242  else if (property == "extensionDescription")
243    string_id = IDS_PERFORMANCE_MONITOR_EXTENSION_DESCRIPTION_MOUSEOVER;
244  else if (property == "previousVersion")
245    string_id = IDS_PERFORMANCE_MONITOR_PREVIOUS_VERSION_MOUSEOVER;
246  else if (property == "currentVersion")
247    string_id = IDS_PERFORMANCE_MONITOR_CURRENT_VERSION_MOUSEOVER;
248  else if (property == "url")
249    string_id = IDS_PERFORMANCE_MONITOR_URL_MOUSEOVER;
250  else if (property == "profileName")
251    string_id = IDS_PERFORMANCE_MONITOR_PROFILE_NAME_MOUSEOVER;
252  else
253    NOTREACHED();
254
255  return l10n_util::GetStringUTF16(string_id);
256}
257
258// Metric-Related
259string16 GetLocalizedStringFromMetricCategory(
260    const MetricCategory category) {
261  int string_id = 0;
262
263  switch (category) {
264    case METRIC_CATEGORY_CPU:
265      string_id = IDS_PERFORMANCE_MONITOR_CPU_METRIC_CATEGORY;
266      break;
267    case METRIC_CATEGORY_MEMORY:
268      string_id = IDS_PERFORMANCE_MONITOR_MEMORY_METRIC_CATEGORY;
269      break;
270    case METRIC_CATEGORY_TIMING:
271      string_id = IDS_PERFORMANCE_MONITOR_TIMING_METRIC_CATEGORY;
272      break;
273    case METRIC_CATEGORY_NETWORK:
274      string_id = IDS_PERFORMANCE_MONITOR_NETWORK_METRIC_CATEGORY;
275      break;
276    default:
277      NOTREACHED();
278  }
279
280  return l10n_util::GetStringUTF16(string_id);
281}
282
283string16 GetLocalizedStringForMetricCategoryDescription(
284    const MetricCategory category) {
285  int string_id = 0;
286
287  switch (category) {
288    case METRIC_CATEGORY_CPU:
289      string_id = IDS_PERFORMANCE_MONITOR_CPU_METRIC_CATEGORY_DESCRIPTION;
290      break;
291    case METRIC_CATEGORY_MEMORY:
292      string_id = IDS_PERFORMANCE_MONITOR_MEMORY_METRIC_CATEGORY_DESCRIPTION;
293      break;
294    case METRIC_CATEGORY_TIMING:
295      string_id = IDS_PERFORMANCE_MONITOR_TIMING_METRIC_CATEGORY_DESCRIPTION;
296      break;
297    case METRIC_CATEGORY_NETWORK:
298      string_id = IDS_PERFORMANCE_MONITOR_NETWORK_METRIC_CATEGORY_DESCRIPTION;
299      break;
300    default:
301      NOTREACHED();
302  }
303
304  return l10n_util::GetStringFUTF16(
305      string_id, l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
306}
307
308string16 GetLocalizedStringFromMetricType(const MetricType type) {
309  int string_id = 0;
310
311  switch (type) {
312    case METRIC_CPU_USAGE:
313      string_id = IDS_PERFORMANCE_MONITOR_CPU_USAGE_METRIC;
314      break;
315    case METRIC_PRIVATE_MEMORY_USAGE:
316      string_id = IDS_PERFORMANCE_MONITOR_PRIVATE_MEMORY_USAGE_METRIC;
317      break;
318    case METRIC_SHARED_MEMORY_USAGE:
319      string_id = IDS_PERFORMANCE_MONITOR_SHARED_MEMORY_USAGE_METRIC;
320      break;
321    case METRIC_STARTUP_TIME:
322      string_id = IDS_PERFORMANCE_MONITOR_STARTUP_TIME_METRIC;
323      break;
324    case METRIC_TEST_STARTUP_TIME:
325      string_id = IDS_PERFORMANCE_MONITOR_TEST_STARTUP_TIME_METRIC;
326      break;
327    case METRIC_SESSION_RESTORE_TIME:
328      string_id = IDS_PERFORMANCE_MONITOR_SESSION_RESTORE_TIME_METRIC;
329      break;
330    case METRIC_PAGE_LOAD_TIME:
331      string_id = IDS_PERFORMANCE_MONITOR_PAGE_LOAD_TIME_METRIC;
332      break;
333    case METRIC_NETWORK_BYTES_READ:
334      string_id = IDS_PERFORMANCE_MONITOR_NETWORK_BYTES_READ_METRIC;
335      break;
336    default:
337      NOTREACHED();
338  }
339
340  return l10n_util::GetStringUTF16(string_id);
341}
342
343string16 GetLocalizedStringForMetricTypeDescription(const MetricType type) {
344  int string_id = 0;
345
346  switch (type) {
347    case METRIC_CPU_USAGE:
348      string_id = IDS_PERFORMANCE_MONITOR_CPU_USAGE_METRIC_DESCRIPTION;
349      break;
350    case METRIC_PRIVATE_MEMORY_USAGE:
351      string_id =
352          IDS_PERFORMANCE_MONITOR_PRIVATE_MEMORY_USAGE_METRIC_DESCRIPTION;
353      break;
354    case METRIC_SHARED_MEMORY_USAGE:
355      string_id =
356          IDS_PERFORMANCE_MONITOR_SHARED_MEMORY_USAGE_METRIC_DESCRIPTION;
357      break;
358    case METRIC_STARTUP_TIME:
359      string_id = IDS_PERFORMANCE_MONITOR_STARTUP_TIME_METRIC_DESCRIPTION;
360      break;
361    case METRIC_TEST_STARTUP_TIME:
362      string_id = IDS_PERFORMANCE_MONITOR_TEST_STARTUP_TIME_METRIC_DESCRIPTION;
363      break;
364    default:
365      break;
366  }
367
368  if (string_id) {
369    return l10n_util::GetStringFUTF16(
370        string_id, l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
371  }
372
373  switch (type) {
374    case METRIC_SESSION_RESTORE_TIME:
375      string_id =
376          IDS_PERFORMANCE_MONITOR_SESSION_RESTORE_TIME_METRIC_DESCRIPTION;
377      break;
378    case METRIC_PAGE_LOAD_TIME:
379      string_id = IDS_PERFORMANCE_MONITOR_PAGE_LOAD_TIME_METRIC_DESCRIPTION;
380      break;
381    case METRIC_NETWORK_BYTES_READ:
382      string_id = IDS_PERFORMANCE_MONITOR_NETWORK_BYTES_READ_METRIC_DESCRIPTION;
383      break;
384    default:
385      NOTREACHED();
386  }
387
388  return l10n_util::GetStringUTF16(string_id);
389}
390
391// Miscellaneous
392string16 GetLocalizedStringFromUnit(const Unit unit) {
393  int string_id = 0;
394
395  switch (unit) {
396    case UNIT_BYTES:
397      string_id = IDS_PERFORMANCE_MONITOR_BYTES_UNIT;
398      break;
399    case UNIT_KILOBYTES:
400      string_id = IDS_PERFORMANCE_MONITOR_KILOBYTES_UNIT;
401      break;
402    case UNIT_MEGABYTES:
403      string_id = IDS_PERFORMANCE_MONITOR_MEGABYTES_UNIT;
404      break;
405    case UNIT_GIGABYTES:
406      string_id = IDS_PERFORMANCE_MONITOR_GIGABYTES_UNIT;
407      break;
408    case UNIT_TERABYTES:
409      string_id = IDS_PERFORMANCE_MONITOR_TERABYTES_UNIT;
410      break;
411    case UNIT_MICROSECONDS:
412      string_id = IDS_PERFORMANCE_MONITOR_MICROSECONDS_UNIT;
413      break;
414    case UNIT_MILLISECONDS:
415      string_id = IDS_PERFORMANCE_MONITOR_MILLISECONDS_UNIT;
416      break;
417    case UNIT_SECONDS:
418      string_id = IDS_PERFORMANCE_MONITOR_SECONDS_UNIT;
419      break;
420    case UNIT_MINUTES:
421      string_id = IDS_PERFORMANCE_MONITOR_MINUTES_UNIT;
422      break;
423    case UNIT_HOURS:
424      string_id = IDS_PERFORMANCE_MONITOR_HOURS_UNIT;
425      break;
426    case UNIT_DAYS:
427      string_id = IDS_PERFORMANCE_MONITOR_DAYS_UNIT;
428      break;
429    case UNIT_WEEKS:
430      string_id = IDS_PERFORMANCE_MONITOR_WEEKS_UNIT;
431      break;
432    case UNIT_MONTHS:
433      string_id = IDS_PERFORMANCE_MONITOR_MONTHS_UNIT;
434      break;
435    case UNIT_YEARS:
436      string_id = IDS_PERFORMANCE_MONITOR_YEARS_UNIT;
437      break;
438    case UNIT_PERCENT:
439      string_id = IDS_PERFORMANCE_MONITOR_PERCENT_UNIT;
440      break;
441    default:
442      NOTREACHED();
443  }
444
445  return l10n_util::GetStringUTF16(string_id);
446}
447
448}  // namespace performance_monitor
449