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

Unified Diff: chrome/renderer/translate_helper.cc

Issue 11358121: support common content-language mistakes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove unnecessary braces Created 8 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/translate_helper.cc
diff --git a/chrome/renderer/translate_helper.cc b/chrome/renderer/translate_helper.cc
index e2d23bf25baec9cc2e0073ddbbb04ff4a782ede6..70dd5ddefc0e7fbb12fc432d331277b47cef6cf8 100644
--- a/chrome/renderer/translate_helper.cc
+++ b/chrome/renderer/translate_helper.cc
@@ -78,7 +78,20 @@ void TranslateHelper::PageCaptured(const string16& contents) {
language = language.substr(0, coma_index);
}
TrimWhitespaceASCII(language, TRIM_ALL, &language);
- language = StringToLowerASCII(language);
+
+ // An underscore instead of a dash is a frequent mistake.
+ size_t underscore_index = language.find('_');
+ if (underscore_index != std::string::npos)
+ language[underscore_index] = '-';
+
+ // Change everything up to a dash to lower-case and everything after to upper.
+ size_t dash_index = language.find('-');
+ if (dash_index != std::string::npos) {
+ language = StringToLowerASCII(language.substr(0, dash_index)) +
+ StringToUpperASCII(language.substr(dash_index));
+ } else {
+ language = StringToLowerASCII(language);
+ }
if (language.empty()) {
base::TimeTicks begin_time = base::TimeTicks::Now();
« no previous file with comments | « no previous file | chrome/renderer/translate_helper_browsertest.cc » ('j') | chrome/renderer/translate_helper_browsertest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698