18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007 Holger Hans Peter Freyther
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2008 Nuanti Ltd.
7bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen * Copyright (C) 2010 Igalia S.L
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h"
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "LocalizedStrings.h"
345f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#include "GOwnPtr.h"
355f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#include "IntSize.h"
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "NotImplemented.h"
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "PlatformString.h"
38dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <wtf/text/CString.h>
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
405f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#include <glib/gi18n-lib.h>
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <gtk/gtk.h>
42d0825bca7fe65beaee391d30da42e937db621564Steve Block#include <math.h>
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatic const char* gtkStockLabel(const char* stockID)
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    GtkStockItem item;
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!gtk_stock_lookup(stockID, &item))
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return stockID;
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return item.label;
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString submitButtonDefaultLabel()
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Submit"));
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString inputElementAltText()
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Submit"));
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString resetButtonDefaultLabel()
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Reset"));
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochString defaultDetailsSummaryText()
7081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
7181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return String::fromUTF8(_("Details"));
7281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
7381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString searchableIndexIntroduction()
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
76dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    return String::fromUTF8(_("This is a searchable index. Enter search keywords: "));
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString fileButtonChooseFileLabel()
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Choose File"));
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString fileButtonNoFileSelectedLabel()
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("(None)"));
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagOpenLinkInNewWindow()
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Open Link in New _Window"));
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagDownloadLinkToDisk()
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Download Linked File"));
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCopyLinkToClipboard()
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Copy Link Loc_ation"));
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagOpenImageInNewWindow()
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Open _Image in New Window"));
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagDownloadImageToDisk()
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Sa_ve Image As"));
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCopyImageToClipboard()
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Cop_y Image"));
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
11981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochString contextMenuItemTagCopyImageUrlToClipboard()
12081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
12181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return String::fromUTF8(_("Copy Image _Address"));
12281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
12381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
124bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagOpenVideoInNewWindow()
125bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
126bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Open _Video in New Window"));
127bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
128bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
129bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagOpenAudioInNewWindow()
130bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
131bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Open _Audio in New Window"));
132bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
133bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
134bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagCopyVideoLinkToClipboard()
135bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
136bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Cop_y Video Link Location"));
137bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
138bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
139bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagCopyAudioLinkToClipboard()
140bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
141bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Cop_y Audio Link Location"));
142bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
143bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
144bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagToggleMediaControls()
145bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
146bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("_Toggle Media Controls"));
147bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
148bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
149bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagToggleMediaLoop()
150bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
151bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Toggle Media _Loop Playback"));
152bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
153bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
154bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagEnterVideoFullscreen()
155bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
156bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("Switch Video to _Fullscreen"));
157bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
158bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
159bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagMediaPlay()
160bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
161bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("_Play"));
162bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
163bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
164bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagMediaPause()
165bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
166bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("_Pause"));
167bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
168bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
169bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian MonsenString contextMenuItemTagMediaMute()
170bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen{
171bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return String::fromUTF8(_("_Mute"));
172bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen}
173bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagOpenFrameInNewWindow()
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Open _Frame in New Window"));
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCopy()
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_COPY));
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagDelete()
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_DELETE));
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagSelectAll()
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_SELECT_ALL));
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagUnicode()
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Insert Unicode Control Character"));
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagInputMethods()
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Input _Methods"));
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagGoBack()
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_BACK));
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagGoForward()
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_GO_FORWARD));
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagStop()
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_STOP));
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagReload()
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Reload"));
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCut()
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_CUT));
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagPaste()
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_PASTE));
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagNoGuessesFound()
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("No Guesses Found"));
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagIgnoreSpelling()
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Ignore Spelling"));
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagLearnSpelling()
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Learn Spelling"));
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagSearchWeb()
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Search the Web"));
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2622bde8e466a4451c7319e3a072d118917957d6554Steve BlockString contextMenuItemTagLookUpInDictionary(const String&)
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Look Up in Dictionary"));
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagOpenLink()
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Open Link"));
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagIgnoreGrammar()
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Ignore _Grammar"));
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagSpellingMenu()
2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Spelling and _Grammar"));
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagShowSpellingPanel(bool show)
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(show ? _("_Show Spelling and Grammar") : _("_Hide Spelling and Grammar"));
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCheckSpelling()
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Check Document Now"));
2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCheckSpellingWhileTyping()
2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Check Spelling While _Typing"));
2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagCheckGrammarWithSpelling()
2988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Check _Grammar With Spelling"));
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagFontMenu()
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Font"));
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagBold()
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_BOLD));
3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagItalic()
3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_ITALIC));
3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagUnderline()
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    static String stockLabel = String::fromUTF8(gtkStockLabel(GTK_STOCK_UNDERLINE));
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return stockLabel;
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagOutline()
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Outline"));
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString contextMenuItemTagInspectElement()
3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Inspect _Element"));
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString searchMenuNoRecentSearchesText()
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("No recent searches"));
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString searchMenuRecentSearchesText()
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Recent searches"));
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString searchMenuClearRecentSearchesText()
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("_Clear recent searches"));
3488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXDefinitionListTermText()
3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("term"));
3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXDefinitionListDefinitionText()
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("definition"));
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXButtonActionVerb()
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("press"));
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXRadioButtonActionVerb()
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("select"));
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXTextFieldActionVerb()
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("activate"));
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXCheckedCheckBoxActionVerb()
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("uncheck"));
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXUncheckedCheckBoxActionVerb()
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("check"));
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString AXLinkActionVerb()
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("jump"));
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
390d0825bca7fe65beaee391d30da42e937db621564Steve BlockString AXMenuListPopupActionVerb()
391d0825bca7fe65beaee391d30da42e937db621564Steve Block{
392d0825bca7fe65beaee391d30da42e937db621564Steve Block    return String();
393d0825bca7fe65beaee391d30da42e937db621564Steve Block}
394d0825bca7fe65beaee391d30da42e937db621564Steve Block
395d0825bca7fe65beaee391d30da42e937db621564Steve BlockString AXMenuListActionVerb()
396d0825bca7fe65beaee391d30da42e937db621564Steve Block{
397d0825bca7fe65beaee391d30da42e937db621564Steve Block    return String();
398d0825bca7fe65beaee391d30da42e937db621564Steve Block}
399dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
400dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockString missingPluginText()
401dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
402dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    return String::fromUTF8(_("Missing Plug-in"));
403dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
404dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
405dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve BlockString crashedPluginText()
406dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
407dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    notImplemented();
408dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    return String::fromUTF8(_("Plug-in Failure"));
409dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
410d0825bca7fe65beaee391d30da42e937db621564Steve Block
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString multipleFileUploadText(unsigned numberOfFiles)
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number.
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::number(numberOfFiles) + String::fromUTF8(_(" files"));
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString unknownFileSizeText()
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String::fromUTF8(_("Unknown"));
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString imageTitle(const String& filename, const IntSize& size)
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4245f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian    GOwnPtr<gchar> string(g_strdup_printf(C_("Title string for images", "%s  (%dx%d pixels)"),
4255f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                          filename.utf8().data(),
4265f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                          size.width(), size.height()));
4275f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
4285f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian    return String::fromUTF8(string.get());
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
431231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
432231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if ENABLE(VIDEO)
433231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
4340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString mediaElementLoadingStateText()
4350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return String::fromUTF8(_("Loading..."));
4370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString mediaElementLiveBroadcastStateText()
4400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return String::fromUTF8(_("Live Broadcast"));
4420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
444231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockString localizedMediaControlElementString(const String& name)
445231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{
446231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "AudioElement")
447231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("audio element controller"));
448231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "VideoElement")
449231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("video element controller"));
450231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "MuteButton")
451231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("mute"));
452231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "UnMuteButton")
453231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("unmute"));
454231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "PlayButton")
455231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("play"));
456231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "PauseButton")
457231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("pause"));
458231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "Slider")
459231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("movie time"));
460231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SliderThumb")
461231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("timeline slider thumb"));
462231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "RewindButton")
463231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("back 30 seconds"));
464231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "ReturnToRealtimeButton")
465231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("return to realtime"));
466231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "CurrentTimeDisplay")
467231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("elapsed time"));
468231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "TimeRemainingDisplay")
469231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("remaining time"));
470231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "StatusDisplay")
471231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("status"));
472231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "FullscreenButton")
473231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("fullscreen"));
474231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SeekForwardButton")
475231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("fast forward"));
476231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SeekBackButton")
477231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("fast reverse"));
478643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (name == "ShowClosedCaptionsButton")
479643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return String::fromUTF8(_("show closed captions"));
480643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (name == "HideClosedCaptionsButton")
481643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return String::fromUTF8(_("hide closed captions"));
482231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
483231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    ASSERT_NOT_REACHED();
484231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    return String();
485231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block}
486231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
487231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockString localizedMediaControlElementHelpText(const String& name)
488231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{
489231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "AudioElement")
490231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("audio element playback controls and status display"));
491231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "VideoElement")
492231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("video element playback controls and status display"));
493231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "MuteButton")
494231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("mute audio tracks"));
495231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "UnMuteButton")
496231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("unmute audio tracks"));
497231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "PlayButton")
498231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("begin playback"));
499231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "PauseButton")
500231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("pause playback"));
501231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "Slider")
502231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("movie time scrubber"));
503231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SliderThumb")
504231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("movie time scrubber thumb"));
505231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "RewindButton")
506231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("seek movie back 30 seconds"));
507231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "ReturnToRealtimeButton")
508231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("return streaming movie to real time"));
509231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "CurrentTimeDisplay")
510231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("current movie time in seconds"));
511231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "TimeRemainingDisplay")
512231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("number of seconds of movie remaining"));
513231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "StatusDisplay")
514231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("current movie status"));
515231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SeekBackButton")
516231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("seek quickly back"));
517231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "SeekForwardButton")
518231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("seek quickly forward"));
519231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (name == "FullscreenButton")
520231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("Play movie in fullscreen mode"));
521643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (name == "ShowClosedCaptionsButton")
522643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return String::fromUTF8(_("start displaying closed captions"));
523643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (name == "HideClosedCaptionsButton")
524643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return String::fromUTF8(_("stop displaying closed captions"));
525231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
526231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    ASSERT_NOT_REACHED();
527231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    return String();
528231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block}
529231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
530231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockString localizedMediaTimeDescription(float time)
531231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{
532231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!isfinite(time))
533231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(_("indefinite time"));
534231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
535231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    int seconds = (int)fabsf(time);
536231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    int days = seconds / (60 * 60 * 24);
537231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    int hours = seconds / (60 * 60);
538231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    int minutes = (seconds / 60) % 60;
539231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    seconds %= 60;
540231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
541231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (days) {
542231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        GOwnPtr<gchar> string(g_strdup_printf("%d days %d hours %d minutes %d seconds", days, hours, minutes, seconds));
543231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(string.get());
544231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    }
545231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
546231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (hours) {
547231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        GOwnPtr<gchar> string(g_strdup_printf("%d hours %d minutes %d seconds", hours, minutes, seconds));
548231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(string.get());
549231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    }
550231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
551231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (minutes) {
552231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        GOwnPtr<gchar> string(g_strdup_printf("%d minutes %d seconds", minutes, seconds));
553231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return String::fromUTF8(string.get());
554231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    }
555231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
556231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    GOwnPtr<gchar> string(g_strdup_printf("%d seconds", seconds));
557231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    return String::fromUTF8(string.get());
558231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block}
559231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif  // ENABLE(VIDEO)
560231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
561643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockString validationMessageValueMissingText()
562643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
563643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("value missing"));
564643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
565643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
5664576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangString validationMessageValueMissingForCheckboxText()
5674576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
5684576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    notImplemented();
5694576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return validationMessageValueMissingText();
5704576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
5714576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
5724576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangString validationMessageValueMissingForFileText()
5734576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
5744576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    notImplemented();
5754576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return validationMessageValueMissingText();
5764576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
5774576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
5784576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangString validationMessageValueMissingForMultipleFileText()
5794576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
5804576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    notImplemented();
5814576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return validationMessageValueMissingText();
5824576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
5834576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
5844576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangString validationMessageValueMissingForRadioText()
5854576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
5864576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    notImplemented();
5874576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return validationMessageValueMissingText();
5884576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
5894576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
5904576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangString validationMessageValueMissingForSelectText()
5914576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
5924576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    notImplemented();
5934576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return validationMessageValueMissingText();
5944576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
5954576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
596643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockString validationMessageTypeMismatchText()
597643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
598643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    notImplemented();
599643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("type mismatch"));
600643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
601643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6026b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageTypeMismatchForEmailText()
6036b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner{
6046b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    notImplemented();
6056b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    return validationMessageTypeMismatchText();
6066b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner}
6076b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner
6086b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageTypeMismatchForMultipleEmailText()
6096b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner{
6106b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    notImplemented();
6116b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    return validationMessageTypeMismatchText();
6126b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner}
6136b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner
6146b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageTypeMismatchForURLText()
6156b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner{
6166b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    notImplemented();
6176b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    return validationMessageTypeMismatchText();
6186b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner}
6196b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner
620643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockString validationMessagePatternMismatchText()
621643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
622643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("pattern mismatch"));
623643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
624643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6256b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageTooLongText(int, int)
626643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
627643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("too long"));
628643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
629643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6306b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageRangeUnderflowText(const String&)
631643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
632643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("range underflow"));
633643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
634643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6356b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageRangeOverflowText(const String&)
636643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
637643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("range overflow"));
638643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
639643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6406b70adc33054f8aee8c54d0f460458a9df11b8a5Russell BrennerString validationMessageStepMismatchText(const String&, const String&)
641643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
642643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return String::fromUTF8(_("step mismatch"));
643643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
644643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
6452daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben MurdochString localizedString(const char* key)
6462daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch{
6472daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    return String::fromUTF8(key, strlen(key));
6482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch}
6492daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch
6508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
651