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_base_export.h" 14 15#ifdef __OBJC__ 16@class NSString; 17#else 18class NSString; 19#endif 20 21namespace 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. 26UI_BASE_EXPORT NSString* FixUpWindowsStyleLabel(const base::string16& label); 27 28// Pulls resource string from the string bundle and returns it. 29UI_BASE_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 $. 33UI_BASE_EXPORT NSString* GetNSStringF(int message_id, const base::string16& a); 34UI_BASE_EXPORT NSString* GetNSStringF(int message_id, 35 const base::string16& a, 36 const base::string16& b); 37UI_BASE_EXPORT NSString* GetNSStringF(int message_id, 38 const base::string16& a, 39 const base::string16& b, 40 const base::string16& c); 41UI_BASE_EXPORT NSString* GetNSStringF(int message_id, 42 const base::string16& a, 43 const base::string16& b, 44 const base::string16& c, 45 const base::string16& d); 46 47// Variants that return the offset(s) of the replaced parameters. (See 48// app/l10n_util.h for more details.) 49UI_BASE_EXPORT NSString* GetNSStringF(int message_id, 50 const base::string16& a, 51 const base::string16& b, 52 std::vector<size_t>* offsets); 53 54// Same as GetNSString, but runs the result through FixUpWindowsStyleLabel 55// before returning it. 56UI_BASE_EXPORT NSString* GetNSStringWithFixup(int message_id); 57 58// Same as GetNSStringF, but runs the result through FixUpWindowsStyleLabel 59// before returning it. 60UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id, 61 const base::string16& a); 62UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id, 63 const base::string16& a, 64 const base::string16& b); 65UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id, 66 const base::string16& a, 67 const base::string16& b, 68 const base::string16& c); 69UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id, 70 const base::string16& a, 71 const base::string16& b, 72 const base::string16& c, 73 const base::string16& d); 74 75// Support the override of the locale with the value from Cocoa. 76UI_BASE_EXPORT void OverrideLocaleWithCocoaLocale(); 77UI_BASE_EXPORT const std::string& GetLocaleOverride(); 78 79} // namespace l10n_util 80 81#endif // UI_BASE_L10N_L10N_UTIL_MAC_H_ 82