1 // Copyright (c) 2011 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 #ifndef UI_BASE_L10N_L10N_UTIL_MAC_H_ 6 #define UI_BASE_L10N_L10N_UTIL_MAC_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "base/basictypes.h" 12 #include "base/strings/string16.h" 13 #include "ui/base/ui_export.h" 14 15 #ifdef __OBJC__ 16 @class NSString; 17 #else 18 class NSString; 19 #endif 20 21 namespace l10n_util { 22 23 // Remove the Windows-style accelerator marker (for labels, menuitems, etc.) 24 // and change "..." into an ellipsis. 25 // Returns the result in an autoreleased NSString. 26 UI_EXPORT NSString* FixUpWindowsStyleLabel(const string16& label); 27 28 // Pulls resource string from the string bundle and returns it. 29 UI_EXPORT NSString* GetNSString(int message_id); 30 31 // Get a resource string and replace $1-$2-$3 with |a| and |b| 32 // respectively. Additionally, $$ is replaced by $. 33 UI_EXPORT NSString* GetNSStringF(int message_id, 34 const string16& a); 35 UI_EXPORT NSString* GetNSStringF(int message_id, 36 const string16& a, 37 const string16& b); 38 UI_EXPORT NSString* GetNSStringF(int message_id, 39 const string16& a, 40 const string16& b, 41 const string16& c); 42 UI_EXPORT NSString* GetNSStringF(int message_id, 43 const string16& a, 44 const string16& b, 45 const string16& c, 46 const string16& d); 47 48 // Variants that return the offset(s) of the replaced parameters. (See 49 // app/l10n_util.h for more details.) 50 UI_EXPORT NSString* GetNSStringF(int message_id, 51 const string16& a, 52 const string16& b, 53 std::vector<size_t>* offsets); 54 55 // Same as GetNSString, but runs the result through FixUpWindowsStyleLabel 56 // before returning it. 57 UI_EXPORT NSString* GetNSStringWithFixup(int message_id); 58 59 // Same as GetNSStringF, but runs the result through FixUpWindowsStyleLabel 60 // before returning it. 61 UI_EXPORT NSString* GetNSStringFWithFixup(int message_id, 62 const string16& a); 63 UI_EXPORT NSString* GetNSStringFWithFixup(int message_id, 64 const string16& a, 65 const string16& b); 66 UI_EXPORT NSString* GetNSStringFWithFixup(int message_id, 67 const string16& a, 68 const string16& b, 69 const string16& c); 70 UI_EXPORT NSString* GetNSStringFWithFixup(int message_id, 71 const string16& a, 72 const string16& b, 73 const string16& c, 74 const string16& d); 75 76 // Support the override of the locale with the value from Cocoa. 77 UI_EXPORT void OverrideLocaleWithCocoaLocale(); 78 UI_EXPORT const std::string& GetLocaleOverride(); 79 80 } // namespace l10n_util 81 82 #endif // UI_BASE_L10N_L10N_UTIL_MAC_H_ 83