#include "components/translate/core/browser/translate_ui_languages_manager.h"
#include <algorithm>
#include "base/i18n/string_compare.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/language/core/browser/pref_names.h"
#include "components/language/core/common/language_experiments.h"
#include "components/strings/grit/components_strings.h"
#include "components/translate/core/browser/language_state.h"
#include "components/translate/core/browser/translate_client.h"
#include "components/translate/core/browser/translate_download_manager.h"
#include "components/translate/core/browser/translate_driver.h"
#include "components/translate/core/browser/translate_manager.h"
#include "components/translate/core/browser/translate_prefs.h"
#include "components/translate/core/common/translate_constants.h"
#include "components/translate/core/common/translate_util.h"
#include "components/variations/variations_associated_data.h"
#include "net/base/url_util.h"
#include "ui/base/l10n/l10n_util.h"
namespace translate {
TranslateUILanguagesManager::TranslateUILanguagesManager(
const base::WeakPtr<TranslateManager>& translate_manager,
const std::vector<std::string>& language_codes,
const std::string& source_language,
const std::string& target_language)
: … { … }
TranslateUILanguagesManager::~TranslateUILanguagesManager() = default;
std::unique_ptr<icu::Collator> TranslateUILanguagesManager::CreateCollator(
const std::string& locale) { … }
size_t TranslateUILanguagesManager::GetNumberOfLanguages() const { … }
std::string TranslateUILanguagesManager::GetSourceLanguageCode() const { … }
std::string TranslateUILanguagesManager::GetTargetLanguageCode() const { … }
std::string TranslateUILanguagesManager::GetLanguageCodeAt(size_t index) const { … }
std::u16string TranslateUILanguagesManager::GetLanguageNameAt(
size_t index) const { … }
bool TranslateUILanguagesManager::UpdateSourceLanguageIndex(
size_t language_index) { … }
bool TranslateUILanguagesManager::UpdateSourceLanguage(
const std::string& language_code) { … }
bool TranslateUILanguagesManager::UpdateTargetLanguageIndex(
size_t language_index) { … }
bool TranslateUILanguagesManager::UpdateTargetLanguage(
const std::string& language_code) { … }
std::u16string TranslateUILanguagesManager::GetUnknownLanguageDisplayName() { … }
}