Home | History | Annotate | Download | only in l10n
      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