Skip to content

Commit

Permalink
[IOS] Show "Detected language" entry even after selecting a language
Browse files Browse the repository at this point in the history
The "Detected language" should be available even if the user selects
another language.
Test the initial_source_language to achieve that.

(cherry picked from commit 186d092)

Bug: 1404945
Change-Id: I55fcd49bab0d3fa11114b55d9fd6b67deb7036b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4135123
Reviewed-by: Anthony Cui <cuianthony@chromium.org>
Reviewed-by: Chris Lu <thegreenfrog@chromium.org>
Commit-Queue: Olivier Robin <olivierrobin@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#1089132}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4143039
Auto-Submit: Olivier Robin <olivierrobin@chromium.org>
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Cr-Commit-Position: refs/branch-heads/5481@{#157}
Cr-Branched-From: 130f3e4-refs/heads/main@{#1084008}
  • Loading branch information
robinolivier authored and Chromium LUCI CQ committed Jan 6, 2023
1 parent 4ba64ca commit 0d85eed
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ std::u16string TranslateInfoBarDelegate::source_language_name() const {
return language_name_at(ui_delegate_.GetSourceLanguageIndex());
}

std::u16string TranslateInfoBarDelegate::initial_source_language_name() const {
return language_name_at(ui_delegate_.GetInitialSourceLanguageIndex());
}

std::u16string TranslateInfoBarDelegate::target_language_name() const {
return language_name_at(ui_delegate_.GetTargetLanguageIndex());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ class TranslateInfoBarDelegate : public infobars::InfoBarDelegate {

virtual std::u16string source_language_name() const;

virtual std::u16string initial_source_language_name() const;

virtual std::u16string unknown_language_name() const;

virtual void UpdateSourceLanguage(const std::string& language_code);
Expand Down
5 changes: 5 additions & 0 deletions components/translate/core/browser/translate_ui_delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ class TranslateUIDelegate {
// Returns the source language index.
size_t GetSourceLanguageIndex() const { return source_language_index_; }

// Returns the initial source language index.
size_t GetInitialSourceLanguageIndex() const {
return initial_source_language_index_;
}

// Returns the source language code.
std::string GetSourceLanguageCode() const;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ class TranslateModalRequestConfig
translate::TranslateStep current_step() const { return current_step_; }
// The source language name.
std::u16string source_language_name() const { return source_language_name_; }
// The initial source language name.
std::u16string initial_source_language_name() const {
return initial_source_language_name_;
}
// A special language name the is used when the source language could not be
// detected.
std::u16string unknown_language_name() const {
Expand Down Expand Up @@ -62,6 +66,7 @@ class TranslateModalRequestConfig
// Configuration data extracted from `infobar_`'s translate delegate.
translate::TranslateStep current_step_;
std::u16string source_language_name_;
std::u16string initial_source_language_name_;
std::u16string unknown_language_name_;
std::u16string target_language_name_;
std::vector<std::u16string> language_names_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

current_step_ = delegate->translate_step();
source_language_name_ = delegate->source_language_name();
initial_source_language_name_ = delegate->initial_source_language_name();
target_language_name_ = delegate->target_language_name();
unknown_language_name_ = delegate->unknown_language_name();
for (size_t i = 0; i < delegate->num_languages(); ++i) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ - (void)setConsumer:(id<InfobarTranslateModalConsumer>)consumer {
self.newTargetLanguageIndex = kInvalidLanguageIndex;
self.sourceLanguageIsUnknown = self.config->unknown_language_name() ==
self.config->source_language_name();
self.sourceLanguageIsInitiallyUnknown = self.sourceLanguageIsUnknown;
self.sourceLanguageIsInitiallyUnknown =
self.config->unknown_language_name() ==
self.config->initial_source_language_name();

// The Translate button should be enabled whenever the page is untranslated,
// which may be before any translation has been triggered or after an error
Expand Down

0 comments on commit 0d85eed

Please sign in to comment.