c2116f2f7751991b54f84c6dc810c6edeaf9ef96
[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
227     String multipleFileUploadText(unsigned numberOfFiles);
228     String unknownFileSizeText();
229
230 #if PLATFORM(WIN)
231     String uploadFileText();
232     String allFilesText();
233 #endif
234
235 #if PLATFORM(COCOA)
236     WEBCORE_EXPORT String builtInPDFPluginName();
237     WEBCORE_EXPORT String pdfDocumentTypeDescription();
238     WEBCORE_EXPORT String postScriptDocumentTypeDescription();
239     String keygenMenuItem2048();
240     String keygenKeychainItemName(const String& host);
241 #endif
242
243 #if PLATFORM(IOS)
244     String htmlSelectMultipleItems(size_t num);
245     String fileButtonChooseMediaFileLabel();
246     String fileButtonChooseMultipleMediaFilesLabel();
247     String fileButtonNoMediaFileSelectedLabel();
248     String fileButtonNoMediaFilesSelectedLabel();
249 #endif
250
251     String imageTitle(const String& filename, const IntSize& size);
252
253     String mediaElementLoadingStateText();
254     String mediaElementLiveBroadcastStateText();
255     String localizedMediaControlElementString(const String&);
256     String localizedMediaControlElementHelpText(const String&);
257     String localizedMediaTimeDescription(float);
258
259     String validationMessageValueMissingText();
260     String validationMessageValueMissingForCheckboxText();
261     String validationMessageValueMissingForFileText();
262     String validationMessageValueMissingForMultipleFileText();
263     String validationMessageValueMissingForRadioText();
264     String validationMessageValueMissingForSelectText();
265     String validationMessageTypeMismatchText();
266     String validationMessageTypeMismatchForEmailText();
267     String validationMessageTypeMismatchForMultipleEmailText();
268     String validationMessageTypeMismatchForURLText();
269     String validationMessagePatternMismatchText();
270     String validationMessageTooShortText(int valueLength, int minLength);
271     String validationMessageTooLongText(int valueLength, int maxLength);
272     String validationMessageRangeUnderflowText(const String& minimum);
273     String validationMessageRangeOverflowText(const String& maximum);
274     String validationMessageStepMismatchText(const String& base, const String& step);
275     String validationMessageBadInputForNumberText();
276 #if USE(SOUP)
277     String unacceptableTLSCertificate();
278 #endif
279
280     String clickToExitFullScreenText();
281
282 #if ENABLE(VIDEO_TRACK)
283     String textTrackSubtitlesText();
284     String textTrackOffMenuItemText();
285     String textTrackAutomaticMenuItemText();
286     String textTrackNoLabelText();
287     String audioTrackNoLabelText();
288 #if PLATFORM(COCOA) || PLATFORM(WIN)
289     String textTrackCountryAndLanguageMenuItemText(const String& title, const String& country, const String& language);
290     String textTrackLanguageMenuItemText(const String& title, const String& language);
291     String closedCaptionTrackMenuItemText(const String&);
292     String sdhTrackMenuItemText(const String&);
293     String easyReaderTrackMenuItemText(const String&);
294     String forcedTrackMenuItemText(const String&);
295     String audioDescriptionTrackSuffixText(const String&);
296 #endif
297 #endif
298
299     String snapshottedPlugInLabelTitle();
300     String snapshottedPlugInLabelSubtitle();
301
302     WEBCORE_EXPORT String useBlockedPlugInContextMenuTitle();
303
304 #if ENABLE(SUBTLE_CRYPTO)
305     String webCryptoMasterKeyKeychainLabel(const String& localizedApplicationName);
306     String webCryptoMasterKeyKeychainComment();
307 #endif
308
309 #if PLATFORM(MAC)
310     WEBCORE_EXPORT String insertListTypeNone();
311     WEBCORE_EXPORT String insertListTypeBulleted();
312     WEBCORE_EXPORT String insertListTypeBulletedAccessibilityTitle();
313     WEBCORE_EXPORT String insertListTypeNumbered();
314     WEBCORE_EXPORT String insertListTypeNumberedAccessibilityTitle();
315     WEBCORE_EXPORT String exitFullScreenButtonAccessibilityTitle();
316 #endif
317
318 #if ENABLE(EXTRA_ZOOM_MODE)
319     WEBCORE_EXPORT String formControlCancelButtonTitle();
320     WEBCORE_EXPORT String formControlSubmitButtonTitle();
321     WEBCORE_EXPORT String formControlHideButtonTitle();
322     WEBCORE_EXPORT String formControlGoButtonTitle();
323     WEBCORE_EXPORT String formControlSearchButtonTitle();
324     WEBCORE_EXPORT String textInputModeWriteButton();
325     WEBCORE_EXPORT String textInputModeSpeechButton();
326 #endif
327
328 #if USE(GLIB) && defined(GETTEXT_PACKAGE)
329 #define WEB_UI_STRING(string, description) WebCore::localizedString(_(string))
330 #define WEB_UI_STRING_KEY(string, key, description) WebCore::localizedString(C_(key, string))
331 #define WEB_UI_STRING_WITH_MNEMONIC(string, mnemonic, description) WebCore::localizedString(_(mnemonic))
332 #else
333 #define WEB_UI_STRING(string, description) WebCore::localizedString(string)
334 #define WEB_UI_STRING_KEY(string, key, description) WebCore::localizedString(key)
335 #define WEB_UI_STRING_WITH_MNEMONIC(string, mnemonic, description) WebCore::localizedString(string)
336 #endif
337
338 #if USE(CF)
339 // This is exactly as WEB_UI_STRING, but renamed to ensure the string is not scanned by non-CF ports.
340 #define WEB_UI_CFSTRING(string, description) WebCore::localizedString(string)
341 #endif
342
343     WEBCORE_EXPORT String localizedString(const char* key);
344     String formatLocalizedString(String format, ...);
345
346 #ifdef __OBJC__
347 #define WEB_UI_NSSTRING(string, description) WebCore::localizedNSString(string)
348     WEBCORE_EXPORT NSString *localizedNSString(NSString *key) NS_FORMAT_ARGUMENT(1);
349 #endif
350
351 } // namespace WebCore
352
353 #endif // LocalizedStrings_h