Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Side by Side Diff: sky/engine/platform/text/PlatformLocale.h

Issue 706403002: Remove all the now dead Locale code. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/engine/platform/text/LocaleWin.h ('k') | sky/engine/platform/text/PlatformLocale.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE
17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
23 * DAMAGE.
24 */
25
26 #ifndef PlatformLocale_h
27 #define PlatformLocale_h
28
29 #include "platform/DateComponents.h"
30 #include "platform/Language.h"
31 #include "public/platform/WebLocalizedString.h"
32 #include "wtf/PassOwnPtr.h"
33 #include "wtf/text/WTFString.h"
34
35 namespace blink {
36
37 class PLATFORM_EXPORT Locale {
38 WTF_MAKE_NONCOPYABLE(Locale);
39 public:
40 static PassOwnPtr<Locale> create(const String& localeIdentifier);
41 static Locale& defaultLocale();
42
43 String queryString(blink::WebLocalizedString::Name);
44 String queryString(blink::WebLocalizedString::Name, const String& parameter) ;
45 String queryString(blink::WebLocalizedString::Name, const String& parameter1 , const String& parameter2);
46 String validationMessageTooLongText(unsigned valueLength, int maxLength);
47
48 // Converts the specified number string to another number string localized
49 // for this Locale locale. The input string must conform to HTML
50 // floating-point numbers, and is not empty.
51 String convertToLocalizedNumber(const String&);
52
53 // Converts the specified localized number string to a number string in the
54 // HTML floating-point number format. The input string is provided by a end
55 // user, and might not be a number string. It's ok that the function returns
56 // a string which is not conforms to the HTML floating-point number format,
57 // callers of this function are responsible to check the format of the
58 // resultant string.
59 String convertFromLocalizedNumber(const String&);
60
61 // Returns date format in Unicode TR35 LDML[1] containing day of month,
62 // month, and year, e.g. "dd/mm/yyyy"
63 // [1] LDML http://unicode.org/reports/tr35/#Date_Format_Patterns
64 virtual String dateFormat() = 0;
65
66 // Returns a year-month format in Unicode TR35 LDML.
67 virtual String monthFormat() = 0;
68
69 // Returns a year-month format using short month lanel in Unicode TR35 LDML.
70 virtual String shortMonthFormat() = 0;
71
72 // Returns time format in Unicode TR35 LDML[1] containing hour, minute, and
73 // second with optional period(AM/PM), e.g. "h:mm:ss a"
74 // [1] LDML http://unicode.org/reports/tr35/#Date_Format_Patterns
75 virtual String timeFormat() = 0;
76
77 // Returns time format in Unicode TR35 LDML containing hour, and minute
78 // with optional period(AM/PM), e.g. "h:mm a"
79 // Note: Some platforms return same value as timeFormat().
80 virtual String shortTimeFormat() = 0;
81
82 // Returns a date-time format in Unicode TR35 LDML. It should have a seconds
83 // field.
84 virtual String dateTimeFormatWithSeconds() = 0;
85
86 // Returns a date-time format in Unicode TR35 LDML. It should have no second s
87 // field.
88 virtual String dateTimeFormatWithoutSeconds() = 0;
89
90 // weekFormatInLDML() returns week and year format in LDML, Unicode
91 // technical standard 35, Locale Data Markup Language, e.g. "'Week' ww, yyyy "
92 String weekFormatInLDML();
93
94 // Returns a vector of string of which size is 12. The first item is a
95 // localized string of Jan and the last item is a localized string of
96 // Dec. These strings should be short.
97 virtual const Vector<String>& shortMonthLabels() = 0;
98
99 // Returns a vector of string of which size is 12. The first item is a
100 // stand-alone localized string of January and the last item is a
101 // stand-alone localized string of December. These strings should not be
102 // abbreviations.
103 virtual const Vector<String>& standAloneMonthLabels() = 0;
104
105 // Stand-alone month version of shortMonthLabels.
106 virtual const Vector<String>& shortStandAloneMonthLabels() = 0;
107
108 // Returns localized period field(AM/PM) strings.
109 virtual const Vector<String>& timeAMPMLabels() = 0;
110
111 // Returns a vector of string of which size is 12. The first item is a
112 // localized string of January, and the last item is a localized string of
113 // December. These strings should not be abbreviations.
114 virtual const Vector<String>& monthLabels() = 0;
115
116 // Returns a vector of string of which size is 7. The first item is a
117 // localized short string of Monday, and the last item is a localized
118 // short string of Saturday. These strings should be short.
119 virtual const Vector<String>& weekDayShortLabels() = 0;
120
121 // The first day of a week. 0 is Sunday, and 6 is Saturday.
122 virtual unsigned firstDayOfWeek() = 0;
123
124 // Returns true if people use right-to-left writing in the locale for this
125 // object.
126 virtual bool isRTL() = 0;
127
128 enum FormatType { FormatTypeUnspecified, FormatTypeShort, FormatTypeMedium } ;
129
130 // Serializes the specified date into a formatted date string to
131 // display to the user. If an implementation doesn't support
132 // localized dates the function should return an empty string.
133 // FormatType can be used to specify if you want the short format.
134 String formatDateTime(const DateComponents&, FormatType = FormatTypeUnspecif ied);
135
136 virtual ~Locale();
137
138 protected:
139 enum {
140 // 0-9 for digits.
141 DecimalSeparatorIndex = 10,
142 GroupSeparatorIndex = 11,
143 DecimalSymbolsSize
144 };
145
146 Locale() : m_hasLocaleData(false) { }
147 virtual void initializeLocaleData() = 0;
148 void setLocaleData(const Vector<String, DecimalSymbolsSize>&, const String& positivePrefix, const String& positiveSuffix, const String& negativePrefix, cons t String& negativeSuffix);
149
150 private:
151 bool detectSignAndGetDigitRange(const String& input, bool& isNegative, unsig ned& startIndex, unsigned& endIndex);
152 unsigned matchedDecimalSymbolIndex(const String& input, unsigned& position);
153
154 String m_decimalSymbols[DecimalSymbolsSize];
155 String m_positivePrefix;
156 String m_positiveSuffix;
157 String m_negativePrefix;
158 String m_negativeSuffix;
159 bool m_hasLocaleData;
160 };
161
162 }
163 #endif
OLDNEW
« no previous file with comments | « sky/engine/platform/text/LocaleWin.h ('k') | sky/engine/platform/text/PlatformLocale.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698