1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 // 5 // This file contains helper functions for getting strings that are included in 6 // our DLL for all languages (i.e., does not come from our language DLL). 7 // 8 // These resource strings are organized such that we can get a localized string 9 // by taking the base resource ID and adding a language offset. For example, 10 // to get the resource id for the localized product name in en-US, we take 11 // IDS_PRODUCT_NAME_BASE + IDS_L10N_OFFSET_EN_US. 12 13 #ifndef CHROME_INSTALLER_UTIL_L10N_STRING_UTIL_H_ 14 #define CHROME_INSTALLER_UTIL_L10N_STRING_UTIL_H_ 15 16 #include <string> 17 18 #include "base/strings/string16.h" 19 20 namespace installer { 21 22 class TranslationDelegate { 23 public: 24 virtual ~TranslationDelegate(); 25 virtual base::string16 GetLocalizedString(int installer_string_id) = 0; 26 }; 27 28 // If we're in Chrome, the installer strings aren't in the binary, but are in 29 // the localized pak files. A TranslationDelegate must be provided so we can 30 // load these strings. 31 void SetTranslationDelegate(TranslationDelegate* delegate); 32 33 // Given a string base id, return the localized version of the string based on 34 // the system language. This is used for shortcuts placed on the user's 35 // desktop. The string is retrieved from the TranslationDelegate if one has 36 // been set. Otherwise, the string is read from the binary's string table. 37 std::wstring GetLocalizedString(int base_message_id); 38 39 // Returns the localized version of a string (obtained from GetLocalizedString) 40 // with $1 replaced with |a|. Additionally, $$ is replaced by $. 41 base::string16 GetLocalizedStringF(int base_message_id, 42 const base::string16& a); 43 44 // Given the system language, return a url that points to the localized eula. 45 // The empty string is returned on failure. 46 std::wstring GetLocalizedEulaResource(); 47 48 // Returns the language identifier of the translation currently in use. 49 std::wstring GetCurrentTranslation(); 50 51 } // namespace installer. 52 53 #endif // CHROME_INSTALLER_UTIL_L10N_STRING_UTIL_H_ 54