Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Side by Side Diff: components/translate/core/browser/translate_manager.cc

Issue 2653183009: Revert of Don't offer to translate between Simplified and Traditional Chinese (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | components/translate/core/browser/translate_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "components/translate/core/browser/translate_manager.h" 5 #include "components/translate/core/browser/translate_manager.h"
6 6
7 #include <iostream>
8 #include <map> 7 #include <map>
9 8
10 #include "base/bind.h" 9 #include "base/bind.h"
11 #include "base/command_line.h" 10 #include "base/command_line.h"
12 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
13 #include "base/metrics/field_trial.h" 12 #include "base/metrics/field_trial.h"
14 #include "base/metrics/histogram.h" 13 #include "base/metrics/histogram.h"
15 #include "base/profiler/scoped_tracker.h" 14 #include "base/profiler/scoped_tracker.h"
16 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
17 #include "base/strings/string_split.h" 16 #include "base/strings/string_split.h"
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 std::unique_ptr<TranslatePrefs> translate_prefs( 217 std::unique_ptr<TranslatePrefs> translate_prefs(
219 translate_client_->GetTranslatePrefs()); 218 translate_client_->GetTranslatePrefs());
220 219
221 std::string target_lang = GetTargetLanguage(translate_prefs.get()); 220 std::string target_lang = GetTargetLanguage(translate_prefs.get());
222 std::string language_code = 221 std::string language_code =
223 TranslateDownloadManager::GetLanguageCode(page_lang); 222 TranslateDownloadManager::GetLanguageCode(page_lang);
224 223
225 InitTranslateEvent(language_code, target_lang, *translate_prefs); 224 InitTranslateEvent(language_code, target_lang, *translate_prefs);
226 225
227 // Don't translate similar languages (ex: en-US to en). 226 // Don't translate similar languages (ex: en-US to en).
228 // Also do not offer to translate between Simplified and Traditional Chinese. 227 if (language_code == target_lang) {
229 if (language_code == target_lang ||
230 (language_code == "zh-CN" && target_lang == "zh-TW") ||
231 (language_code == "zh-TW" && target_lang == "zh-CN")) {
232 TranslateBrowserMetrics::ReportInitiationStatus( 228 TranslateBrowserMetrics::ReportInitiationStatus(
233 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); 229 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES);
234 return; 230 return;
235 } 231 }
232
236 // Nothing to do if either the language Chrome is in or the language of the 233 // Nothing to do if either the language Chrome is in or the language of the
237 // page is not supported by the translation server. 234 // page is not supported by the translation server.
238 if (target_lang.empty() || 235 if (target_lang.empty() ||
239 !TranslateDownloadManager::IsSupportedLanguage(language_code)) { 236 !TranslateDownloadManager::IsSupportedLanguage(language_code)) {
240 TranslateBrowserMetrics::ReportInitiationStatus( 237 TranslateBrowserMetrics::ReportInitiationStatus(
241 TranslateBrowserMetrics::INITIATION_STATUS_LANGUAGE_IS_NOT_SUPPORTED); 238 TranslateBrowserMetrics::INITIATION_STATUS_LANGUAGE_IS_NOT_SUPPORTED);
242 TranslateBrowserMetrics::ReportUnsupportedLanguageAtInitiation( 239 TranslateBrowserMetrics::ReportUnsupportedLanguageAtInitiation(
243 language_code); 240 language_code);
244 RecordTranslateEvent(metrics::TranslateEventProto::UNSUPPORTED_LANGUAGE); 241 RecordTranslateEvent(metrics::TranslateEventProto::UNSUPPORTED_LANGUAGE);
245 return; 242 return;
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 void TranslateManager::RecordTranslateEvent(int event_type) { 598 void TranslateManager::RecordTranslateEvent(int event_type) {
602 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type)); 599 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type));
603 translate_event_->set_event_type( 600 translate_event_->set_event_type(
604 static_cast<metrics::TranslateEventProto::EventType>(event_type)); 601 static_cast<metrics::TranslateEventProto::EventType>(event_type));
605 translate_event_->set_event_timestamp_sec( 602 translate_event_->set_event_timestamp_sec(
606 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); 603 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
607 TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_); 604 TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_);
608 } 605 }
609 606
610 } // namespace translate 607 } // namespace translate
OLDNEW
« no previous file with comments | « no previous file | components/translate/core/browser/translate_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698