// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_ #define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_ #include <stddef.h> #include <string> #include <utility> #include <vector> #include "base/memory/weak_ptr.h" #include "third_party/icu/source/i18n/unicode/coll.h" namespace translate { class TranslateManager; class TranslatePrefs; // Handles index management and querying functions for language lists used in // the Full Page Translate and Partial Translate UIs. // Note that the API offers a way to read/set language values through array // indices. Such indices are only valid as long as the visual representation // (infobar, bubble...) is in sync with the underlying language list which // can actually change at run time (see translate_language_list.h). // It is recommended that languages are only updated by language code to // avoid bugs like crbug.com/555124 class TranslateUILanguagesManager { … }; } // namespace translate #endif // COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_