summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_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.cpp635
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"));
+}
+
+}