• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
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_BASE_EXPORT NSString* FixUpWindowsStyleLabel(const base::string16& label);
27 
28 // Pulls resource string from the string bundle and returns it.
29 UI_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 $.
33 UI_BASE_EXPORT NSString* GetNSStringF(int message_id, const base::string16& a);
34 UI_BASE_EXPORT NSString* GetNSStringF(int message_id,
35                                       const base::string16& a,
36                                       const base::string16& b);
37 UI_BASE_EXPORT NSString* GetNSStringF(int message_id,
38                                       const base::string16& a,
39                                       const base::string16& b,
40                                       const base::string16& c);
41 UI_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.)
49 UI_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.
56 UI_BASE_EXPORT NSString* GetNSStringWithFixup(int message_id);
57 
58 // Same as GetNSStringF, but runs the result through FixUpWindowsStyleLabel
59 // before returning it.
60 UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id,
61                                                const base::string16& a);
62 UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id,
63                                                const base::string16& a,
64                                                const base::string16& b);
65 UI_BASE_EXPORT NSString* GetNSStringFWithFixup(int message_id,
66                                                const base::string16& a,
67                                                const base::string16& b,
68                                                const base::string16& c);
69 UI_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.
76 UI_BASE_EXPORT void OverrideLocaleWithCocoaLocale();
77 UI_BASE_EXPORT const std::string& GetLocaleOverride();
78 
79 }  // namespace l10n_util
80 
81 #endif  // UI_BASE_L10N_L10N_UTIL_MAC_H_
82