diff options
author | Steve Block <steveblock@google.com> | 2011-05-06 11:45:16 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-05-12 13:44:10 +0100 |
commit | cad810f21b803229eb11403f9209855525a25d57 (patch) | |
tree | 29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp | |
parent | 121b0cf4517156d0ac5111caf9830c51b69bae8f (diff) | |
download | external_webkit-cad810f21b803229eb11403f9209855525a25d57.zip external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2 |
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp')
-rw-r--r-- | Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp | 635 |
1 files changed, 635 insertions, 0 deletions
diff --git a/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp b/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp new file mode 100644 index 0000000..65e8852 --- /dev/null +++ b/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp @@ -0,0 +1,635 @@ +/* + * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. + * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com + * Copyright (C) 2007 Holger Hans Peter Freyther + * Copyright (C) 2008 Christian Dywan <christian@imendio.com> + * Copyright (C) 2008 Nuanti Ltd. + * Copyright (C) 2010 Igalia S.L + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" + +#include "LocalizedStrings.h" +#include "GOwnPtr.h" +#include "IntSize.h" +#include "NotImplemented.h" +#include "PlatformString.h" +#include <wtf/text/CString.h> + +#include <glib/gi18n-lib.h> +#include <gtk/gtk.h> +#include <math.h> + +namespace WebCore { + +static const char* gtkStockLabel(const char* stockID) +{ + GtkStockItem item; + if (!gtk_stock_lookup(stockID, &item)) + return stockID; + return item.label; +} + +String submitButtonDefaultLabel() +{ + return String::fromUTF8(_("Submit")); +} + +String inputElementAltText() +{ + return String::fromUTF8(_("Submit")); +} + +String resetButtonDefaultLabel() +{ + return String::fromUTF8(_("Reset")); +} + +String searchableIndexIntroduction() +{ + return String::fromUTF8(_("This is a searchable index. Enter search keywords: ")); +} + +String fileButtonChooseFileLabel() +{ + return String::fromUTF8(_("Choose File")); +} + +String fileButtonNoFileSelectedLabel() +{ + return String::fromUTF8(_("(None)")); +} + +String contextMenuItemTagOpenLinkInNewWindow() +{ + return String::fromUTF8(_("Open Link in New _Window")); +} + +String contextMenuItemTagDownloadLinkToDisk() +{ + return String::fromUTF8(_("_Download Linked File")); +} + +String contextMenuItemTagCopyLinkToClipboard() +{ + return String::fromUTF8(_("Copy Link Loc_ation")); +} + +String contextMenuItemTagOpenImageInNewWindow() +{ + return String::fromUTF8(_("Open _Image in New Window")); +} + +String contextMenuItemTagDownloadImageToDisk() +{ + return String::fromUTF8(_("Sa_ve Image As")); +} + +String contextMenuItemTagCopyImageToClipboard() +{ + return String::fromUTF8(_("Cop_y Image")); +} + +String contextMenuItemTagOpenVideoInNewWindow() +{ + return String::fromUTF8(_("Open _Video in New Window")); +} + +String contextMenuItemTagOpenAudioInNewWindow() +{ + return String::fromUTF8(_("Open _Audio in New Window")); +} + +String contextMenuItemTagCopyVideoLinkToClipboard() +{ + return String::fromUTF8(_("Cop_y Video Link Location")); +} + +String contextMenuItemTagCopyAudioLinkToClipboard() +{ + return String::fromUTF8(_("Cop_y Audio Link Location")); +} + +String contextMenuItemTagToggleMediaControls() +{ + return String::fromUTF8(_("_Toggle Media Controls")); +} + +String contextMenuItemTagToggleMediaLoop() +{ + return String::fromUTF8(_("Toggle Media _Loop Playback")); +} + +String contextMenuItemTagEnterVideoFullscreen() +{ + return String::fromUTF8(_("Switch Video to _Fullscreen")); +} + +String contextMenuItemTagMediaPlay() +{ + return String::fromUTF8(_("_Play")); +} + +String contextMenuItemTagMediaPause() +{ + return String::fromUTF8(_("_Pause")); +} + +String contextMenuItemTagMediaMute() +{ + return String::fromUTF8(_("_Mute")); +} + +String contextMenuItemTagOpenFrameInNewWindow() +{ + return String::fromUTF8(_("Open _Frame in New Window")); +} + +String contextMenuItemTagCopy() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_COPY)); + return stockLabel; +} + +String contextMenuItemTagDelete() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_DELETE)); + return stockLabel; +} + +String contextMenuItemTagSelectAll() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_SELECT_ALL)); + return stockLabel; +} + +String contextMenuItemTagUnicode() +{ + return String::fromUTF8(_("_Insert Unicode Control Character")); +} + +String contextMenuItemTagInputMethods() +{ + return String::fromUTF8(_("Input _Methods")); +} + +String contextMenuItemTagGoBack() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_BACK)); + return stockLabel; +} + +String contextMenuItemTagGoForward() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_FORWARD)); + return stockLabel; +} + +String contextMenuItemTagStop() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_STOP)); + return stockLabel; +} + +String contextMenuItemTagReload() +{ + return String::fromUTF8(_("_Reload")); +} + +String contextMenuItemTagCut() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_CUT)); + return stockLabel; +} + +String contextMenuItemTagPaste() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_PASTE)); + return stockLabel; +} + +String contextMenuItemTagNoGuessesFound() +{ + return String::fromUTF8(_("No Guesses Found")); +} + +String contextMenuItemTagIgnoreSpelling() +{ + return String::fromUTF8(_("_Ignore Spelling")); +} + +String contextMenuItemTagLearnSpelling() +{ + return String::fromUTF8(_("_Learn Spelling")); +} + +String contextMenuItemTagSearchWeb() +{ + return String::fromUTF8(_("_Search the Web")); +} + +String contextMenuItemTagLookUpInDictionary() +{ + return String::fromUTF8(_("_Look Up in Dictionary")); +} + +String contextMenuItemTagOpenLink() +{ + return String::fromUTF8(_("_Open Link")); +} + +String contextMenuItemTagIgnoreGrammar() +{ + return String::fromUTF8(_("Ignore _Grammar")); +} + +String contextMenuItemTagSpellingMenu() +{ + return String::fromUTF8(_("Spelling and _Grammar")); +} + +String contextMenuItemTagShowSpellingPanel(bool show) +{ + return String::fromUTF8(show ? _("_Show Spelling and Grammar") : _("_Hide Spelling and Grammar")); +} + +String contextMenuItemTagCheckSpelling() +{ + return String::fromUTF8(_("_Check Document Now")); +} + +String contextMenuItemTagCheckSpellingWhileTyping() +{ + return String::fromUTF8(_("Check Spelling While _Typing")); +} + +String contextMenuItemTagCheckGrammarWithSpelling() +{ + return String::fromUTF8(_("Check _Grammar With Spelling")); +} + +String contextMenuItemTagFontMenu() +{ + return String::fromUTF8(_("_Font")); +} + +String contextMenuItemTagBold() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_BOLD)); + return stockLabel; +} + +String contextMenuItemTagItalic() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_ITALIC)); + return stockLabel; +} + +String contextMenuItemTagUnderline() +{ + static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_UNDERLINE)); + return stockLabel; +} + +String contextMenuItemTagOutline() +{ + return String::fromUTF8(_("_Outline")); +} + +String contextMenuItemTagInspectElement() +{ + return String::fromUTF8(_("Inspect _Element")); +} + +String searchMenuNoRecentSearchesText() +{ + return String::fromUTF8(_("No recent searches")); +} + +String searchMenuRecentSearchesText() +{ + return String::fromUTF8(_("Recent searches")); +} + +String searchMenuClearRecentSearchesText() +{ + return String::fromUTF8(_("_Clear recent searches")); +} + +String AXDefinitionListTermText() +{ + return String::fromUTF8(_("term")); +} + +String AXDefinitionListDefinitionText() +{ + return String::fromUTF8(_("definition")); +} + +String AXButtonActionVerb() +{ + return String::fromUTF8(_("press")); +} + +String AXRadioButtonActionVerb() +{ + return String::fromUTF8(_("select")); +} + +String AXTextFieldActionVerb() +{ + return String::fromUTF8(_("activate")); +} + +String AXCheckedCheckBoxActionVerb() +{ + return String::fromUTF8(_("uncheck")); +} + +String AXUncheckedCheckBoxActionVerb() +{ + return String::fromUTF8(_("check")); +} + +String AXLinkActionVerb() +{ + return String::fromUTF8(_("jump")); +} + +String AXMenuListPopupActionVerb() +{ + return String(); +} + +String AXMenuListActionVerb() +{ + return String(); +} + +String missingPluginText() +{ + return String::fromUTF8(_("Missing Plug-in")); +} + +String crashedPluginText() +{ + notImplemented(); + return String::fromUTF8(_("Plug-in Failure")); +} + +String multipleFileUploadText(unsigned numberOfFiles) +{ + // FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number. + return String::number(numberOfFiles) + String::fromUTF8(_(" files")); +} + +String unknownFileSizeText() +{ + return String::fromUTF8(_("Unknown")); +} + +String imageTitle(const String& filename, const IntSize& size) +{ + GOwnPtr<gchar> string(g_strdup_printf(C_("Title string for images", "%s (%dx%d pixels)"), + filename.utf8().data(), + size.width(), size.height())); + + return String::fromUTF8(string.get()); +} + + +#if ENABLE(VIDEO) + +String mediaElementLoadingStateText() +{ + return String::fromUTF8(_("Loading...")); +} + +String mediaElementLiveBroadcastStateText() +{ + return String::fromUTF8(_("Live Broadcast")); +} + +String localizedMediaControlElementString(const String& name) +{ + if (name == "AudioElement") + return String::fromUTF8(_("audio element controller")); + if (name == "VideoElement") + return String::fromUTF8(_("video element controller")); + if (name == "MuteButton") + return String::fromUTF8(_("mute")); + if (name == "UnMuteButton") + return String::fromUTF8(_("unmute")); + if (name == "PlayButton") + return String::fromUTF8(_("play")); + if (name == "PauseButton") + return String::fromUTF8(_("pause")); + if (name == "Slider") + return String::fromUTF8(_("movie time")); + if (name == "SliderThumb") + return String::fromUTF8(_("timeline slider thumb")); + if (name == "RewindButton") + return String::fromUTF8(_("back 30 seconds")); + if (name == "ReturnToRealtimeButton") + return String::fromUTF8(_("return to realtime")); + if (name == "CurrentTimeDisplay") + return String::fromUTF8(_("elapsed time")); + if (name == "TimeRemainingDisplay") + return String::fromUTF8(_("remaining time")); + if (name == "StatusDisplay") + return String::fromUTF8(_("status")); + if (name == "FullscreenButton") + return String::fromUTF8(_("fullscreen")); + if (name == "SeekForwardButton") + return String::fromUTF8(_("fast forward")); + if (name == "SeekBackButton") + return String::fromUTF8(_("fast reverse")); + if (name == "ShowClosedCaptionsButton") + return String::fromUTF8(_("show closed captions")); + if (name == "HideClosedCaptionsButton") + return String::fromUTF8(_("hide closed captions")); + + ASSERT_NOT_REACHED(); + return String(); +} + +String localizedMediaControlElementHelpText(const String& name) +{ + if (name == "AudioElement") + return String::fromUTF8(_("audio element playback controls and status display")); + if (name == "VideoElement") + return String::fromUTF8(_("video element playback controls and status display")); + if (name == "MuteButton") + return String::fromUTF8(_("mute audio tracks")); + if (name == "UnMuteButton") + return String::fromUTF8(_("unmute audio tracks")); + if (name == "PlayButton") + return String::fromUTF8(_("begin playback")); + if (name == "PauseButton") + return String::fromUTF8(_("pause playback")); + if (name == "Slider") + return String::fromUTF8(_("movie time scrubber")); + if (name == "SliderThumb") + return String::fromUTF8(_("movie time scrubber thumb")); + if (name == "RewindButton") + return String::fromUTF8(_("seek movie back 30 seconds")); + if (name == "ReturnToRealtimeButton") + return String::fromUTF8(_("return streaming movie to real time")); + if (name == "CurrentTimeDisplay") + return String::fromUTF8(_("current movie time in seconds")); + if (name == "TimeRemainingDisplay") + return String::fromUTF8(_("number of seconds of movie remaining")); + if (name == "StatusDisplay") + return String::fromUTF8(_("current movie status")); + if (name == "SeekBackButton") + return String::fromUTF8(_("seek quickly back")); + if (name == "SeekForwardButton") + return String::fromUTF8(_("seek quickly forward")); + if (name == "FullscreenButton") + return String::fromUTF8(_("Play movie in fullscreen mode")); + if (name == "ShowClosedCaptionsButton") + return String::fromUTF8(_("start displaying closed captions")); + if (name == "HideClosedCaptionsButton") + return String::fromUTF8(_("stop displaying closed captions")); + + ASSERT_NOT_REACHED(); + return String(); +} + +String localizedMediaTimeDescription(float time) +{ + if (!isfinite(time)) + return String::fromUTF8(_("indefinite time")); + + int seconds = (int)fabsf(time); + int days = seconds / (60 * 60 * 24); + int hours = seconds / (60 * 60); + int minutes = (seconds / 60) % 60; + seconds %= 60; + + if (days) { + GOwnPtr<gchar> string(g_strdup_printf("%d days %d hours %d minutes %d seconds", days, hours, minutes, seconds)); + return String::fromUTF8(string.get()); + } + + if (hours) { + GOwnPtr<gchar> string(g_strdup_printf("%d hours %d minutes %d seconds", hours, minutes, seconds)); + return String::fromUTF8(string.get()); + } + + if (minutes) { + GOwnPtr<gchar> string(g_strdup_printf("%d minutes %d seconds", minutes, seconds)); + return String::fromUTF8(string.get()); + } + + GOwnPtr<gchar> string(g_strdup_printf("%d seconds", seconds)); + return String::fromUTF8(string.get()); +} +#endif // ENABLE(VIDEO) + +String validationMessageValueMissingText() +{ + return String::fromUTF8(_("value missing")); +} + +String validationMessageValueMissingForCheckboxText() +{ + notImplemented(); + return validationMessageValueMissingText(); +} + +String validationMessageValueMissingForFileText() +{ + notImplemented(); + return validationMessageValueMissingText(); +} + +String validationMessageValueMissingForMultipleFileText() +{ + notImplemented(); + return validationMessageValueMissingText(); +} + +String validationMessageValueMissingForRadioText() +{ + notImplemented(); + return validationMessageValueMissingText(); +} + +String validationMessageValueMissingForSelectText() +{ + notImplemented(); + return validationMessageValueMissingText(); +} + +String validationMessageTypeMismatchText() +{ + notImplemented(); + return String::fromUTF8(_("type mismatch")); +} + +String validationMessageTypeMismatchForEmailText() +{ + notImplemented(); + return validationMessageTypeMismatchText(); +} + +String validationMessageTypeMismatchForMultipleEmailText() +{ + notImplemented(); + return validationMessageTypeMismatchText(); +} + +String validationMessageTypeMismatchForURLText() +{ + notImplemented(); + return validationMessageTypeMismatchText(); +} + +String validationMessagePatternMismatchText() +{ + return String::fromUTF8(_("pattern mismatch")); +} + +String validationMessageTooLongText(int, int) +{ + return String::fromUTF8(_("too long")); +} + +String validationMessageRangeUnderflowText(const String&) +{ + return String::fromUTF8(_("range underflow")); +} + +String validationMessageRangeOverflowText(const String&) +{ + return String::fromUTF8(_("range overflow")); +} + +String validationMessageStepMismatchText(const String&, const String&) +{ + return String::fromUTF8(_("step mismatch")); +} + +} |