42bba25a6c07241b966a784f6a126441cec82fd0
[WebKit-https.git] / Source / WebCore / platform / LocalizedStrings.h
1 /*
2  * Copyright (C) 2003, 2006, 2009, 2011, 2012, 2013 Apple Inc.  All rights reserved.
3  * Copyright (C) 2010 Igalia S.L
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
25  */
26
27 #ifndef LocalizedStrings_h
28 #define LocalizedStrings_h
29
30 #include <wtf/Forward.h>
31
32 #if USE(GLIB) && defined(GETTEXT_PACKAGE)
33 #include <glib/gi18n-lib.h>
34 #endif
35
36 namespace WebCore {
37
38     class IntSize;
39     
40     String inputElementAltText();
41     String resetButtonDefaultLabel();
42     String searchableIndexIntroduction();
43     String submitButtonDefaultLabel();
44     String fileButtonChooseFileLabel();
45     String fileButtonChooseMultipleFilesLabel();
46     String fileButtonNoFileSelectedLabel();
47     String fileButtonNoFilesSelectedLabel();
48     String defaultDetailsSummaryText();
49
50 #if PLATFORM(COCOA)
51     String copyImageUnknownFileLabel();
52 #endif
53
54 #if ENABLE(CONTEXT_MENUS)
55     WEBCORE_EXPORT String contextMenuItemTagOpenLinkInNewWindow();
56     String contextMenuItemTagDownloadLinkToDisk();
57     String contextMenuItemTagCopyLinkToClipboard();
58     String contextMenuItemTagOpenImageInNewWindow();
59     String contextMenuItemTagDownloadImageToDisk();
60     String contextMenuItemTagCopyImageToClipboard();
61 #if PLATFORM(GTK)
62     String contextMenuItemTagCopyImageUrlToClipboard();
63 #endif
64     String contextMenuItemTagOpenFrameInNewWindow();
65     String contextMenuItemTagCopy();
66     String contextMenuItemTagGoBack();
67     String contextMenuItemTagGoForward();
68     String contextMenuItemTagStop();
69     String contextMenuItemTagReload();
70     String contextMenuItemTagCut();
71     String contextMenuItemTagPaste();
72 #if PLATFORM(GTK)
73     String contextMenuItemTagDelete();
74     String contextMenuItemTagInputMethods();
75     String contextMenuItemTagUnicode();
76     String contextMenuItemTagUnicodeInsertLRMMark();
77     String contextMenuItemTagUnicodeInsertRLMMark();
78     String contextMenuItemTagUnicodeInsertLREMark();
79     String contextMenuItemTagUnicodeInsertRLEMark();
80     String contextMenuItemTagUnicodeInsertLROMark();
81     String contextMenuItemTagUnicodeInsertRLOMark();
82     String contextMenuItemTagUnicodeInsertPDFMark();
83     String contextMenuItemTagUnicodeInsertZWSMark();
84     String contextMenuItemTagUnicodeInsertZWJMark();
85     String contextMenuItemTagUnicodeInsertZWNJMark();
86 #endif
87 #if PLATFORM(GTK)
88     String contextMenuItemTagSelectAll();
89 #endif
90     String contextMenuItemTagNoGuessesFound();
91     String contextMenuItemTagIgnoreSpelling();
92     String contextMenuItemTagLearnSpelling();
93     String contextMenuItemTagSearchWeb();
94     String contextMenuItemTagLookUpInDictionary(const String& selectedString);
95     WEBCORE_EXPORT String contextMenuItemTagOpenLink();
96     WEBCORE_EXPORT String contextMenuItemTagIgnoreGrammar();
97     WEBCORE_EXPORT String contextMenuItemTagSpellingMenu();
98     WEBCORE_EXPORT String contextMenuItemTagShowSpellingPanel(bool show);
99     WEBCORE_EXPORT String contextMenuItemTagCheckSpelling();
100     WEBCORE_EXPORT String contextMenuItemTagCheckSpellingWhileTyping();
101     WEBCORE_EXPORT String contextMenuItemTagCheckGrammarWithSpelling();
102     WEBCORE_EXPORT String contextMenuItemTagFontMenu();
103     WEBCORE_EXPORT String contextMenuItemTagBold();
104     WEBCORE_EXPORT String contextMenuItemTagItalic();
105     WEBCORE_EXPORT String contextMenuItemTagUnderline();
106     WEBCORE_EXPORT String contextMenuItemTagOutline();
107     WEBCORE_EXPORT String contextMenuItemTagWritingDirectionMenu();
108     String contextMenuItemTagTextDirectionMenu();
109     WEBCORE_EXPORT String contextMenuItemTagDefaultDirection();
110     WEBCORE_EXPORT String contextMenuItemTagLeftToRight();
111     WEBCORE_EXPORT String contextMenuItemTagRightToLeft();
112 #if PLATFORM(COCOA)
113     String contextMenuItemTagSearchInSpotlight();
114     WEBCORE_EXPORT String contextMenuItemTagShowFonts();
115     WEBCORE_EXPORT String contextMenuItemTagStyles();
116     WEBCORE_EXPORT String contextMenuItemTagShowColors();
117     WEBCORE_EXPORT String contextMenuItemTagSpeechMenu();
118     WEBCORE_EXPORT String contextMenuItemTagStartSpeaking();
119     WEBCORE_EXPORT String contextMenuItemTagStopSpeaking();
120     WEBCORE_EXPORT String contextMenuItemTagCorrectSpellingAutomatically();
121     WEBCORE_EXPORT String contextMenuItemTagSubstitutionsMenu();
122     WEBCORE_EXPORT String contextMenuItemTagShowSubstitutions(bool show);
123     WEBCORE_EXPORT String contextMenuItemTagSmartCopyPaste();
124     WEBCORE_EXPORT String contextMenuItemTagSmartQuotes();
125     WEBCORE_EXPORT String contextMenuItemTagSmartDashes();
126     WEBCORE_EXPORT String contextMenuItemTagSmartLinks();
127     WEBCORE_EXPORT String contextMenuItemTagTextReplacement();
128     WEBCORE_EXPORT String contextMenuItemTagTransformationsMenu();
129     WEBCORE_EXPORT String contextMenuItemTagMakeUpperCase();
130     WEBCORE_EXPORT String contextMenuItemTagMakeLowerCase();
131     WEBCORE_EXPORT String contextMenuItemTagCapitalize();
132     String contextMenuItemTagChangeBack(const String& replacedString);
133 #endif
134     String contextMenuItemTagOpenVideoInNewWindow();
135     String contextMenuItemTagOpenAudioInNewWindow();
136     String contextMenuItemTagDownloadVideoToDisk();
137     String contextMenuItemTagDownloadAudioToDisk();
138     String contextMenuItemTagCopyVideoLinkToClipboard();
139     String contextMenuItemTagCopyAudioLinkToClipboard();
140     String contextMenuItemTagToggleMediaControls();
141     String contextMenuItemTagShowMediaControls();
142     String contextMenuItemTagHideMediaControls();
143     String contextMenuItemTagToggleMediaLoop();
144     String contextMenuItemTagEnterVideoFullscreen();
145     String contextMenuItemTagExitVideoFullscreen();
146 #if PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)
147     String contextMenuItemTagEnterVideoEnhancedFullscreen();
148     String contextMenuItemTagExitVideoEnhancedFullscreen();
149 #endif
150     String contextMenuItemTagMediaPlay();
151     String contextMenuItemTagMediaPause();
152     String contextMenuItemTagMediaMute();
153     WEBCORE_EXPORT String contextMenuItemTagInspectElement();
154 #endif // ENABLE(CONTEXT_MENUS)
155
156 #if !PLATFORM(IOS)
157     String searchMenuNoRecentSearchesText();
158     String searchMenuRecentSearchesText();
159     String searchMenuClearRecentSearchesText();
160 #endif
161
162     String AXWebAreaText();
163     String AXLinkText();
164     String AXListMarkerText();
165     String AXImageMapText();
166     String AXHeadingText();
167     String AXDefinitionText();
168     String AXDescriptionListText();
169     String AXDescriptionListTermText();
170     String AXDescriptionListDetailText();
171     String AXFooterRoleDescriptionText();
172     String AXFileUploadButtonText();
173     String AXOutputText();
174     String AXSearchFieldCancelButtonText();
175     String AXAttachmentRoleText();
176     String AXDetailsText();
177     String AXSummaryText();
178     String AXFeedText();
179     String AXFigureText();
180     String AXEmailFieldText();
181     String AXTelephoneFieldText();
182     String AXURLFieldText();
183     String AXDateFieldText();
184     String AXTimeFieldText();
185     String AXDateTimeFieldText();
186     String AXMonthFieldText();
187     String AXNumberFieldText();
188     String AXWeekFieldText();
189     
190     String AXButtonActionVerb();
191     String AXRadioButtonActionVerb();
192     String AXTextFieldActionVerb();
193     String AXCheckedCheckBoxActionVerb();
194     String AXUncheckedCheckBoxActionVerb();
195     String AXMenuListActionVerb();
196     String AXMenuListPopupActionVerb();
197     String AXLinkActionVerb();
198     String AXListItemActionVerb();
199
200 #if ENABLE(INPUT_TYPE_WEEK)
201     // weekFormatInLDML() returns week and year format in LDML, Unicode
202     // technical standard 35, Locale Data Markup Language, e.g. "'Week' ww, yyyy"
203     String weekFormatInLDML();
204 #endif
205 #if PLATFORM(COCOA)
206     String AXARIAContentGroupText(const String& ariaType);
207     String AXHorizontalRuleDescriptionText();
208     String AXMarkText();
209 #if ENABLE(METER_ELEMENT)
210     String AXMeterGaugeRegionOptimumText();
211     String AXMeterGaugeRegionSuboptimalText();
212     String AXMeterGaugeRegionLessGoodText();
213 #endif
214 #endif
215     
216     String AXAutoFillCredentialsLabel();
217     String AXAutoFillContactsLabel();
218     String AXAutoFillStrongPasswordLabel();
219     String AXAutoFillStrongConfirmationPasswordLabel();
220     String autoFillStrongPasswordLabel();
221
222     String missingPluginText();
223     String crashedPluginText();
224     String blockedPluginByContentSecurityPolicyText();
225     String insecurePluginVersionText();
226     String unsupportedPluginText();
227
228     String multipleFileUploadText(unsigned numberOfFiles);
229     String unknownFileSizeText();
230
231 #if PLATFORM(WIN)
232     String uploadFileText();
233     String allFilesText();
234 #endif
235
236 #if PLATFORM(COCOA)
237     WEBCORE_EXPORT String builtInPDFPluginName();
238     WEBCORE_EXPORT String pdfDocumentTypeDescription();
239     WEBCORE_EXPORT String postScriptDocumentTypeDescription();
240     String keygenMenuItem2048();
241     String keygenKeychainItemName(const String& host);
242 #endif
243
244 #if PLATFORM(IOS)
245     String htmlSelectMultipleItems(size_t num);
246     String fileButtonChooseMediaFileLabel();
247     String fileButtonChooseMultipleMediaFilesLabel();
248     String fileButtonNoMediaFileSelectedLabel();
249     String fileButtonNoMediaFilesSelectedLabel();
250 #endif
251
252     String imageTitle(const String& filename, const IntSize& size);
253
254     String mediaElementLoadingStateText();
255     String mediaElementLiveBroadcastStateText();
256     String localizedMediaControlElementString(const String&);
257     String localizedMediaControlElementHelpText(const String&);
258     String localizedMediaTimeDescription(float);
259
260     String validationMessageValueMissingText();
261     String validationMessageValueMissingForCheckboxText();
262     String validationMessageValueMissingForFileText();
263     String validationMessageValueMissingForMultipleFileText();
264     String validationMessageValueMissingForRadioText();
265     String validationMessageValueMissingForSelectText();
266     String validationMessageTypeMismatchText();
267     String validationMessageTypeMismatchForEmailText();
268     String validationMessageTypeMismatchForMultipleEmailText();
269     String validationMessageTypeMismatchForURLText();
270     String validationMessagePatternMismatchText();
271     String validationMessageTooShortText(int valueLength, int minLength);
272     String validationMessageTooLongText(int valueLength, int maxLength);
273     String validationMessageRangeUnderflowText(const String& minimum);
274     String validationMessageRangeOverflowText(const String& maximum);
275     String validationMessageStepMismatchText(const String& base, const String& step);
276     String validationMessageBadInputForNumberText();
277 #if USE(SOUP)
278     String unacceptableTLSCertificate();
279 #endif
280
281     String clickToExitFullScreenText();
282
283 #if ENABLE(VIDEO_TRACK)
284     String textTrackSubtitlesText();
285     String textTrackOffMenuItemText();
286     String textTrackAutomaticMenuItemText();
287     String textTrackNoLabelText();
288     String audioTrackNoLabelText();
289 #if PLATFORM(COCOA) || PLATFORM(WIN)
290     String textTrackCountryAndLanguageMenuItemText(const String& title, const String& country, const String& language);
291     String textTrackLanguageMenuItemText(const String& title, const String& language);
292     String closedCaptionTrackMenuItemText(const String&);
293     String sdhTrackMenuItemText(const String&);
294     String easyReaderTrackMenuItemText(const String&);
295     String forcedTrackMenuItemText(const String&);
296     String audioDescriptionTrackSuffixText(const String&);
297 #endif
298 #endif
299
300     String snapshottedPlugInLabelTitle();
301     String snapshottedPlugInLabelSubtitle();
302
303     WEBCORE_EXPORT String useBlockedPlugInContextMenuTitle();
304
305 #if ENABLE(SUBTLE_CRYPTO)
306     String webCryptoMasterKeyKeychainLabel(const String& localizedApplicationName);
307     String webCryptoMasterKeyKeychainComment();
308 #endif
309
310 #if PLATFORM(MAC)
311     WEBCORE_EXPORT String insertListTypeNone();
312     WEBCORE_EXPORT String insertListTypeBulleted();
313     WEBCORE_EXPORT String insertListTypeBulletedAccessibilityTitle();
314     WEBCORE_EXPORT String insertListTypeNumbered();
315     WEBCORE_EXPORT String insertListTypeNumberedAccessibilityTitle();
316     WEBCORE_EXPORT String exitFullScreenButtonAccessibilityTitle();
317 #endif
318
319 #if ENABLE(EXTRA_ZOOM_MODE)
320     WEBCORE_EXPORT String formControlCancelButtonTitle();
321     WEBCORE_EXPORT String formControlDoneButtonTitle();
322     WEBCORE_EXPORT String formControlHideButtonTitle();
323     WEBCORE_EXPORT String formControlGoButtonTitle();
324     WEBCORE_EXPORT String formControlSearchButtonTitle();
325     WEBCORE_EXPORT String textInputModeWriteButtonTitle();
326     WEBCORE_EXPORT String textInputModeSpeechButtonTitle();
327     WEBCORE_EXPORT String datePickerDayLabelTitle();
328     WEBCORE_EXPORT String datePickerMonthLabelTitle();
329     WEBCORE_EXPORT String datePickerYearLabelTitle();
330 #endif
331
332 #if USE(GLIB) && defined(GETTEXT_PACKAGE)
333 #define WEB_UI_STRING(string, description) WebCore::localizedString(_(string))
334 #define WEB_UI_STRING_KEY(string, key, description) WebCore::localizedString(C_(key, string))
335 #define WEB_UI_STRING_WITH_MNEMONIC(string, mnemonic, description) WebCore::localizedString(_(mnemonic))
336 #else
337 #define WEB_UI_STRING(string, description) WebCore::localizedString(string)
338 #define WEB_UI_STRING_KEY(string, key, description) WebCore::localizedString(key)
339 #define WEB_UI_STRING_WITH_MNEMONIC(string, mnemonic, description) WebCore::localizedString(string)
340 #endif
341
342 #if USE(CF)
343 // This is exactly as WEB_UI_STRING, but renamed to ensure the string is not scanned by non-CF ports.
344 #define WEB_UI_CFSTRING(string, description) WebCore::localizedString(string)
345 #endif
346
347     WEBCORE_EXPORT String localizedString(const char* key);
348     String formatLocalizedString(String format, ...);
349
350 #ifdef __OBJC__
351 #define WEB_UI_NSSTRING(string, description) WebCore::localizedNSString(string)
352     WEBCORE_EXPORT NSString *localizedNSString(NSString *key) NS_FORMAT_ARGUMENT(1);
353 #endif
354
355 } // namespace WebCore
356
357 #endif // LocalizedStrings_h