| 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 "components/translate/core/browser/translate_manager.h" | 5 #include "components/translate/core/browser/translate_manager.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 std::unique_ptr<TranslatePrefs> translate_prefs( | 217 std::unique_ptr<TranslatePrefs> translate_prefs( |
| 218 translate_client_->GetTranslatePrefs()); | 218 translate_client_->GetTranslatePrefs()); |
| 219 | 219 |
| 220 std::string target_lang = GetTargetLanguage(translate_prefs.get()); | 220 std::string target_lang = GetTargetLanguage(translate_prefs.get()); |
| 221 std::string language_code = | 221 std::string language_code = |
| 222 TranslateDownloadManager::GetLanguageCode(page_lang); | 222 TranslateDownloadManager::GetLanguageCode(page_lang); |
| 223 | 223 |
| 224 InitTranslateEvent(language_code, target_lang, *translate_prefs); | 224 InitTranslateEvent(language_code, target_lang, *translate_prefs); |
| 225 | 225 |
| 226 // Don't translate similar languages (ex: en-US to en). | 226 // Don't translate similar languages (ex: en-US to en). |
| 227 if (language_code == target_lang) { | 227 // Also do not offer to translate between Simplified and Traditional Chinese. |
| 228 if (language_code == target_lang || |
| 229 (language_code == "zh-CN" && target_lang == "zh-TW") || |
| 230 (language_code == "zh-TW" && target_lang == "zh-CN")) { |
| 228 TranslateBrowserMetrics::ReportInitiationStatus( | 231 TranslateBrowserMetrics::ReportInitiationStatus( |
| 229 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); | 232 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); |
| 230 return; | 233 return; |
| 231 } | 234 } |
| 232 | 235 |
| 233 // Nothing to do if either the language Chrome is in or the language of the | 236 // Nothing to do if either the language Chrome is in or the language of the |
| 234 // page is not supported by the translation server. | 237 // page is not supported by the translation server. |
| 235 if (target_lang.empty() || | 238 if (target_lang.empty() || |
| 236 !TranslateDownloadManager::IsSupportedLanguage(language_code)) { | 239 !TranslateDownloadManager::IsSupportedLanguage(language_code)) { |
| 237 TranslateBrowserMetrics::ReportInitiationStatus( | 240 TranslateBrowserMetrics::ReportInitiationStatus( |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 void TranslateManager::RecordTranslateEvent(int event_type) { | 601 void TranslateManager::RecordTranslateEvent(int event_type) { |
| 599 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type)); | 602 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type)); |
| 600 translate_event_->set_event_type( | 603 translate_event_->set_event_type( |
| 601 static_cast<metrics::TranslateEventProto::EventType>(event_type)); | 604 static_cast<metrics::TranslateEventProto::EventType>(event_type)); |
| 602 translate_event_->set_event_timestamp_sec( | 605 translate_event_->set_event_timestamp_sec( |
| 603 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); | 606 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); |
| 604 TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_); | 607 TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_); |
| 605 } | 608 } |
| 606 | 609 |
| 607 } // namespace translate | 610 } // namespace translate |
| OLD | NEW |