• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
3  * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com
4  * Copyright (C) 2007 Holger Hans Peter Freyther
5  * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
6  * Copyright (C) 2008 Nuanti Ltd.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
21  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
25  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29 
30 #include "config.h"
31 
32 #include "LocalizedStrings.h"
33 #include "CString.h"
34 #include "GOwnPtr.h"
35 #include "IntSize.h"
36 #include "NotImplemented.h"
37 #include "PlatformString.h"
38 
39 #include <glib/gi18n-lib.h>
40 #include <gtk/gtk.h>
41 
42 namespace WebCore {
43 
gtkStockLabel(const char * stockID)44 static const char* gtkStockLabel(const char* stockID)
45 {
46     GtkStockItem item;
47     if (!gtk_stock_lookup(stockID, &item))
48         return stockID;
49     return item.label;
50 }
51 
submitButtonDefaultLabel()52 String submitButtonDefaultLabel()
53 {
54     return String::fromUTF8(_("Submit"));
55 }
56 
inputElementAltText()57 String inputElementAltText()
58 {
59     return String::fromUTF8(_("Submit"));
60 }
61 
resetButtonDefaultLabel()62 String resetButtonDefaultLabel()
63 {
64     return String::fromUTF8(_("Reset"));
65 }
66 
searchableIndexIntroduction()67 String searchableIndexIntroduction()
68 {
69     return String::fromUTF8(_("_Searchable Index"));
70 }
71 
fileButtonChooseFileLabel()72 String fileButtonChooseFileLabel()
73 {
74     return String::fromUTF8(_("Choose File"));
75 }
76 
fileButtonNoFileSelectedLabel()77 String fileButtonNoFileSelectedLabel()
78 {
79     return String::fromUTF8(_("(None)"));
80 }
81 
contextMenuItemTagOpenLinkInNewWindow()82 String contextMenuItemTagOpenLinkInNewWindow()
83 {
84     return String::fromUTF8(_("Open Link in New _Window"));
85 }
86 
contextMenuItemTagDownloadLinkToDisk()87 String contextMenuItemTagDownloadLinkToDisk()
88 {
89     return String::fromUTF8(_("_Download Linked File"));
90 }
91 
contextMenuItemTagCopyLinkToClipboard()92 String contextMenuItemTagCopyLinkToClipboard()
93 {
94     return String::fromUTF8(_("Copy Link Loc_ation"));
95 }
96 
contextMenuItemTagOpenImageInNewWindow()97 String contextMenuItemTagOpenImageInNewWindow()
98 {
99     return String::fromUTF8(_("Open _Image in New Window"));
100 }
101 
contextMenuItemTagDownloadImageToDisk()102 String contextMenuItemTagDownloadImageToDisk()
103 {
104     return String::fromUTF8(_("Sa_ve Image As"));
105 }
106 
contextMenuItemTagCopyImageToClipboard()107 String contextMenuItemTagCopyImageToClipboard()
108 {
109     return String::fromUTF8(_("Cop_y Image"));
110 }
111 
contextMenuItemTagOpenFrameInNewWindow()112 String contextMenuItemTagOpenFrameInNewWindow()
113 {
114     return String::fromUTF8(_("Open _Frame in New Window"));
115 }
116 
contextMenuItemTagCopy()117 String contextMenuItemTagCopy()
118 {
119     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_COPY));
120     return stockLabel;
121 }
122 
contextMenuItemTagDelete()123 String contextMenuItemTagDelete()
124 {
125     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_DELETE));
126     return stockLabel;
127 }
128 
contextMenuItemTagSelectAll()129 String contextMenuItemTagSelectAll()
130 {
131     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_SELECT_ALL));
132     return stockLabel;
133 }
134 
contextMenuItemTagUnicode()135 String contextMenuItemTagUnicode()
136 {
137     return String::fromUTF8(_("_Insert Unicode Control Character"));
138 }
139 
contextMenuItemTagInputMethods()140 String contextMenuItemTagInputMethods()
141 {
142     return String::fromUTF8(_("Input _Methods"));
143 }
144 
contextMenuItemTagGoBack()145 String contextMenuItemTagGoBack()
146 {
147     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_BACK));
148     return stockLabel;
149 }
150 
contextMenuItemTagGoForward()151 String contextMenuItemTagGoForward()
152 {
153     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_FORWARD));
154     return stockLabel;
155 }
156 
contextMenuItemTagStop()157 String contextMenuItemTagStop()
158 {
159     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_STOP));
160     return stockLabel;
161 }
162 
contextMenuItemTagReload()163 String contextMenuItemTagReload()
164 {
165     return String::fromUTF8(_("_Reload"));
166 }
167 
contextMenuItemTagCut()168 String contextMenuItemTagCut()
169 {
170     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_CUT));
171     return stockLabel;
172 }
173 
contextMenuItemTagPaste()174 String contextMenuItemTagPaste()
175 {
176     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_PASTE));
177     return stockLabel;
178 }
179 
contextMenuItemTagNoGuessesFound()180 String contextMenuItemTagNoGuessesFound()
181 {
182     return String::fromUTF8(_("No Guesses Found"));
183 }
184 
contextMenuItemTagIgnoreSpelling()185 String contextMenuItemTagIgnoreSpelling()
186 {
187     return String::fromUTF8(_("_Ignore Spelling"));
188 }
189 
contextMenuItemTagLearnSpelling()190 String contextMenuItemTagLearnSpelling()
191 {
192     return String::fromUTF8(_("_Learn Spelling"));
193 }
194 
contextMenuItemTagSearchWeb()195 String contextMenuItemTagSearchWeb()
196 {
197     return String::fromUTF8(_("_Search the Web"));
198 }
199 
contextMenuItemTagLookUpInDictionary()200 String contextMenuItemTagLookUpInDictionary()
201 {
202     return String::fromUTF8(_("_Look Up in Dictionary"));
203 }
204 
contextMenuItemTagOpenLink()205 String contextMenuItemTagOpenLink()
206 {
207     return String::fromUTF8(_("_Open Link"));
208 }
209 
contextMenuItemTagIgnoreGrammar()210 String contextMenuItemTagIgnoreGrammar()
211 {
212     return String::fromUTF8(_("Ignore _Grammar"));
213 }
214 
contextMenuItemTagSpellingMenu()215 String contextMenuItemTagSpellingMenu()
216 {
217     return String::fromUTF8(_("Spelling and _Grammar"));
218 }
219 
contextMenuItemTagShowSpellingPanel(bool show)220 String contextMenuItemTagShowSpellingPanel(bool show)
221 {
222     return String::fromUTF8(show ? _("_Show Spelling and Grammar") : _("_Hide Spelling and Grammar"));
223 }
224 
contextMenuItemTagCheckSpelling()225 String contextMenuItemTagCheckSpelling()
226 {
227     return String::fromUTF8(_("_Check Document Now"));
228 }
229 
contextMenuItemTagCheckSpellingWhileTyping()230 String contextMenuItemTagCheckSpellingWhileTyping()
231 {
232     return String::fromUTF8(_("Check Spelling While _Typing"));
233 }
234 
contextMenuItemTagCheckGrammarWithSpelling()235 String contextMenuItemTagCheckGrammarWithSpelling()
236 {
237     return String::fromUTF8(_("Check _Grammar With Spelling"));
238 }
239 
contextMenuItemTagFontMenu()240 String contextMenuItemTagFontMenu()
241 {
242     return String::fromUTF8(_("_Font"));
243 }
244 
contextMenuItemTagBold()245 String contextMenuItemTagBold()
246 {
247     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_BOLD));
248     return stockLabel;
249 }
250 
contextMenuItemTagItalic()251 String contextMenuItemTagItalic()
252 {
253     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_ITALIC));
254     return stockLabel;
255 }
256 
contextMenuItemTagUnderline()257 String contextMenuItemTagUnderline()
258 {
259     static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_UNDERLINE));
260     return stockLabel;
261 }
262 
contextMenuItemTagOutline()263 String contextMenuItemTagOutline()
264 {
265     return String::fromUTF8(_("_Outline"));
266 }
267 
contextMenuItemTagInspectElement()268 String contextMenuItemTagInspectElement()
269 {
270     return String::fromUTF8(_("Inspect _Element"));
271 }
272 
searchMenuNoRecentSearchesText()273 String searchMenuNoRecentSearchesText()
274 {
275     return String::fromUTF8(_("No recent searches"));
276 }
277 
searchMenuRecentSearchesText()278 String searchMenuRecentSearchesText()
279 {
280     return String::fromUTF8(_("Recent searches"));
281 }
282 
searchMenuClearRecentSearchesText()283 String searchMenuClearRecentSearchesText()
284 {
285     return String::fromUTF8(_("_Clear recent searches"));
286 }
287 
AXDefinitionListTermText()288 String AXDefinitionListTermText()
289 {
290     return String::fromUTF8(_("term"));
291 }
292 
AXDefinitionListDefinitionText()293 String AXDefinitionListDefinitionText()
294 {
295     return String::fromUTF8(_("definition"));
296 }
297 
AXButtonActionVerb()298 String AXButtonActionVerb()
299 {
300     return String::fromUTF8(_("press"));
301 }
302 
AXRadioButtonActionVerb()303 String AXRadioButtonActionVerb()
304 {
305     return String::fromUTF8(_("select"));
306 }
307 
AXTextFieldActionVerb()308 String AXTextFieldActionVerb()
309 {
310     return String::fromUTF8(_("activate"));
311 }
312 
AXCheckedCheckBoxActionVerb()313 String AXCheckedCheckBoxActionVerb()
314 {
315     return String::fromUTF8(_("uncheck"));
316 }
317 
AXUncheckedCheckBoxActionVerb()318 String AXUncheckedCheckBoxActionVerb()
319 {
320     return String::fromUTF8(_("check"));
321 }
322 
AXLinkActionVerb()323 String AXLinkActionVerb()
324 {
325     return String::fromUTF8(_("jump"));
326 }
327 
multipleFileUploadText(unsigned numberOfFiles)328 String multipleFileUploadText(unsigned numberOfFiles)
329 {
330     // FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number.
331     return String::number(numberOfFiles) + String::fromUTF8(_(" files"));
332 }
333 
unknownFileSizeText()334 String unknownFileSizeText()
335 {
336     return String::fromUTF8(_("Unknown"));
337 }
338 
imageTitle(const String & filename,const IntSize & size)339 String imageTitle(const String& filename, const IntSize& size)
340 {
341     GOwnPtr<gchar> string(g_strdup_printf(C_("Title string for images", "%s  (%dx%d pixels)"),
342                                           filename.utf8().data(),
343                                           size.width(), size.height()));
344 
345     return String::fromUTF8(string.get());
346 }
347 
mediaElementLoadingStateText()348 String mediaElementLoadingStateText()
349 {
350     return String::fromUTF8(_("Loading..."));
351 }
352 
mediaElementLiveBroadcastStateText()353 String mediaElementLiveBroadcastStateText()
354 {
355     return String::fromUTF8(_("Live Broadcast"));
356 }
357 
358 }
359