diff options
Diffstat (limited to 'comm/mail/components/search')
287 files changed, 7803 insertions, 0 deletions
diff --git a/comm/mail/components/search/SearchIntegration.jsm b/comm/mail/components/search/SearchIntegration.jsm new file mode 100644 index 0000000000..4bedb50f58 --- /dev/null +++ b/comm/mail/components/search/SearchIntegration.jsm @@ -0,0 +1,871 @@ +/* -*- Mode: JavaScript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Common, useful functions for desktop search integration components. + * + * The following symbols have to be defined for each component that includes this: + * - gHdrIndexedProperty: the property in the database that indicates whether a message + * has been indexed + * - gFileExt: the file extension to be used for support files + * - gPrefBase: the base for preferences that are stored + * - gStreamListener: an nsIStreamListener to read message text + */ + +/* exported SearchSupport */ + +var EXPORTED_SYMBOLS = ["SearchIntegration"]; + +const { AppConstants } = ChromeUtils.importESModule( + "resource://gre/modules/AppConstants.sys.mjs" +); +const { MailServices } = ChromeUtils.import( + "resource:///modules/MailServices.jsm" +); + +var PERM_DIRECTORY = 0o755; +var PERM_FILE = 0o644; + +var SearchIntegration = null; + +var SearchSupport = { + /** + * URI of last folder indexed. Kept in sync with the pref + */ + __lastFolderIndexedUri: null, + set _lastFolderIndexedUri(uri) { + this._prefBranch.setStringPref("lastFolderIndexedUri", uri); + this.__lastFolderIndexedUri = uri; + }, + get _lastFolderIndexedUri() { + // If we don't know about it, get it from the pref branch + if (this.__lastFolderIndexedUri === null) { + this.__lastFolderIndexedUri = this._prefBranch.getStringPref( + "lastFolderIndexedUri", + "" + ); + } + return this.__lastFolderIndexedUri; + }, + + /** + * Queue of message headers to index, along with reindex times for each header + */ + _msgHdrsToIndex: [], + + /** + * Messenger object, used primarily to get message URIs + */ + __messenger: null, + get _messenger() { + if (!this.__messenger) { + this.__messenger = Cc["@mozilla.org/messenger;1"].createInstance( + Ci.nsIMessenger + ); + } + return this.__messenger; + }, + + // The preferences branch to use + __prefBranch: null, + get _prefBranch() { + if (!this.__prefBranch) { + this.__prefBranch = Services.prefs.getBranch(this._prefBase); + } + return this.__prefBranch; + }, + + /** + * If this is true, we won't show any UI because the OS doesn't have the + * support we need + */ + osVersionTooLow: false, + + /** + * If this is true, we'll show disabled UI, because while the OS does have + * the support we need, not all the OS components we need are running + */ + osComponentsNotRunning: false, + + /** + * Whether the preference is enabled. The module might be in a state where + * the preference is on but "enabled" is false, so take care of that. + */ + get prefEnabled() { + // Don't cache the value + return this._prefBranch.getBoolPref("enable"); + }, + set prefEnabled(aEnabled) { + if (this.prefEnabled != aEnabled) { + this._prefBranch.setBoolPref("enable", aEnabled); + } + }, + + /** + * Whether the first run has occurred. This will be used to determine if + * a dialog box needs to be displayed. + */ + get firstRunDone() { + // Don't cache this value either + return this._prefBranch.getBoolPref("firstRunDone"); + }, + set firstRunDone(aAlwaysTrue) { + this._prefBranch.setBoolPref("firstRunDone", true); + }, + + /** + * Last global reindex time, used to check if reindexing is required. + * Kept in sync with the pref + */ + _globalReindexTime: null, + set globalReindexTime(aTime) { + this._globalReindexTime = aTime; + // Set the pref as well + this._prefBranch.setCharPref("global_reindex_time", "" + aTime); + }, + get globalReindexTime() { + if (!this._globalReindexTime) { + // Try getting the time from the preferences + try { + this._globalReindexTime = parseInt( + this._prefBranch.getCharPref("global_reindex_time") + ); + } catch (e) { + // We don't have it defined, so set it (Unix time, in seconds) + this._globalReindexTime = parseInt(Date.now() / 1000); + this._prefBranch.setCharPref( + "global_reindex_time", + "" + this._globalReindexTime + ); + } + } + return this._globalReindexTime; + }, + + /** + * Amount of time the user is idle before we (re)start an indexing sweep + */ + _idleThresholdSecs: 30, + + /** + * Reference to timer object + */ + __timer: null, + get _timer() { + if (!this.__timer) { + this.__timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + } + return this.__timer; + }, + + _cancelTimer() { + try { + this._timer.cancel(); + } catch (ex) {} + }, + + /** + * Enabled status. + * + * When we're enabled, then we get notifications about every message or folder + * operation, including "message displayed" operations which we bump up in + * priority. We also have a background sweep which we do on idle. + * + * We aren't fully disabled when we're "disabled", though. We still observe + * message and folder moves and deletes, as we don't want to have support + * files for non-existent messages. + */ + _enabled: null, + set enabled(aEnable) { + // Nothing to do if there's no change in state + if (this._enabled == aEnable) { + return; + } + + this._log.info( + "Enabled status changing from " + this._enabled + " to " + aEnable + ); + + this._removeObservers(); + + if (aEnable) { + // This stuff we always need to do. + // This code pre-dates msgsClassified. + // Some events intentionally omitted. + MailServices.mfn.addListener( + this._msgFolderListener, + MailServices.mfn.msgAdded | + MailServices.mfn.msgsDeleted | + MailServices.mfn.msgsMoveCopyCompleted | + MailServices.mfn.folderDeleted | + MailServices.mfn.folderMoveCopyCompleted | + MailServices.mfn.folderRenamed + ); + Services.obs.addObserver(this, "MsgMsgDisplayed"); + let idleService = Cc["@mozilla.org/widget/useridleservice;1"].getService( + Ci.nsIUserIdleService + ); + idleService.addIdleObserver(this, this._idleThresholdSecs); + } else { + // We want to observe moves, deletes and renames in case we're disabled + // If we don't, we'll have no idea the support files exist later + MailServices.mfn.addListener( + this._msgFolderListener, + MailServices.mfn.msgsMoveCopyCompleted | + MailServices.mfn.msgsDeleted | + // folderAdded intentionally omitted + MailServices.mfn.folderDeleted | + MailServices.mfn.folderMoveCopyCompleted | + MailServices.mfn.folderRenamed + ); + } + + this._enabled = aEnable; + }, + get enabled() { + return this._enabled; + }, + + /** + * Remove whatever observers are present. This is done while switching states + */ + _removeObservers() { + if (this.enabled === null) { + return; + } + + MailServices.mfn.removeListener(this._msgFolderListener); + + if (this.enabled) { + Services.obs.removeObserver(this, "MsgMsgDisplayed"); + let idleService = Cc["@mozilla.org/widget/useridleservice;1"].getService( + Ci.nsIUserIdleService + ); + idleService.removeIdleObserver(this, this._idleThresholdSecs); + + // in case there's a background sweep going on + this._cancelTimer(); + } + // We don't need to do anything extra if we're disabled + }, + + /** + * Init function -- this should be called from the component's init function + */ + _initSupport(enabled) { + this._log.info( + "Search integration running in " + + (enabled ? "active" : "backoff") + + " mode" + ); + this.enabled = enabled; + + // Set up a pref observer + this._prefBranch.addObserver("enable", this); + }, + + /** + * Current folder being indexed + */ + _currentFolderToIndex: null, + + /** + * For the current folder being indexed, an enumerator for all the headers in + * the folder + */ + _headerEnumerator: null, + + /* + * These functions are to index already existing messages + */ + + /** + * Generator to look for the next folder to index, and return it + * + * This first looks for folders that have their corresponding search results + * folders missing. If it finds such a folder first, it'll yield return that + * folder. + * + * Next, it looks for the next folder after the lastFolderIndexedUri. If it is + * in such a folder, it'll yield return that folder, then set the + * lastFolderIndexedUrl to the URI of that folder. + * + * It resets lastFolderIndexedUri to an empty string, then yield returns null + * once iteration across all folders is complete. + */ + *_foldersToIndexGenerator() { + // Stores whether we're after the last folder indexed or before that -- + // if the last folder indexed is empty, this needs to be true initially + let afterLastFolderIndexed = this._lastFolderIndexedUri.length == 0; + + for (let server of MailServices.accounts.allServers) { + this._log.debug( + "in find next folder, lastFolderIndexedUri = " + + this._lastFolderIndexedUri + ); + + for (var folder of server.rootFolder.descendants) { + let searchPath = this._getSearchPathForFolder(folder); + searchPath.leafName = searchPath.leafName + ".mozmsgs"; + // If after the last folder indexed, definitely index this + if (afterLastFolderIndexed) { + // Create the folder if it doesn't exist, so that we don't hit the + // condition below later + if (!searchPath.exists()) { + searchPath.create(Ci.nsIFile.DIRECTORY_TYPE, PERM_DIRECTORY); + } + + yield folder; + // We're back after yielding -- set the last folder indexed + this._lastFolderIndexedUri = folder.URI; + } else { + // If a folder's entire corresponding search results folder is + // missing, we need to index it, and force a reindex of all the + // messages in it + if (!searchPath.exists()) { + this._log.debug( + "using folder " + + folder.URI + + " because " + + "corresponding search folder does not exist" + ); + // Create the folder, so that next time we're checking we don't hit + // this + searchPath.create(Ci.nsIFile.DIRECTORY_TYPE, PERM_DIRECTORY); + folder.setStringProperty( + this._hdrIndexedProperty, + "" + Date.now() / 1000 + ); + yield folder; + } else if (this._pathNeedsReindexing(searchPath)) { + // folder may need reindexing for other reasons + folder.setStringProperty( + this._hdrIndexedProperty, + "" + Date.now() / 1000 + ); + yield folder; + } + + // Even if we yielded above, check if this is the last folder + // indexed + if (this._lastFolderIndexedUri == folder.URI) { + afterLastFolderIndexed = true; + } + } + } + } + // We're done with one iteration of all the folders; time to reset the + // lastFolderIndexedUri + this._lastFolderIndexedUri = ""; + yield null; + }, + + __foldersToIndex: null, + get _foldersToIndex() { + if (!this.__foldersToIndex) { + this.__foldersToIndex = this._foldersToIndexGenerator(); + } + return this.__foldersToIndex; + }, + + _findNextHdrToIndex() { + try { + let reindexTime = this._getLastReindexTime(this._currentFolderToIndex); + this._log.debug("Reindex time for this folder is " + reindexTime); + if (!this._headerEnumerator) { + // we need to create search terms for messages to index + let searchSession = Cc[ + "@mozilla.org/messenger/searchSession;1" + ].createInstance(Ci.nsIMsgSearchSession); + let searchTerms = []; + + searchSession.addScopeTerm( + Ci.nsMsgSearchScope.offlineMail, + this._currentFolderToIndex + ); + let nsMsgSearchAttrib = Ci.nsMsgSearchAttrib; + let nsMsgSearchOp = Ci.nsMsgSearchOp; + // first term: (_hdrIndexProperty < reindexTime) + let searchTerm = searchSession.createTerm(); + searchTerm.booleanAnd = false; // actually don't care here + searchTerm.attrib = nsMsgSearchAttrib.Uint32HdrProperty; + searchTerm.op = nsMsgSearchOp.IsLessThan; + let value = searchTerm.value; + value.attrib = searchTerm.attrib; + searchTerm.hdrProperty = this._hdrIndexedProperty; + value.status = reindexTime; + searchTerm.value = value; + searchTerms.push(searchTerm); + this._headerEnumerator = + this._currentFolderToIndex.msgDatabase.getFilterEnumerator( + searchTerms + ); + } + + // iterate over the folder finding the next message to index + for (let msgHdr of this._headerEnumerator) { + // Check if the file exists. If it does, then assume indexing to be + // complete for this file + if (this._getSupportFile(msgHdr).exists()) { + this._log.debug( + "Message time not set but file exists; setting " + + "time to " + + reindexTime + ); + msgHdr.setUint32Property(this._hdrIndexedProperty, reindexTime); + } else { + return [msgHdr, reindexTime]; + } + } + } catch (ex) { + this._log.debug("Error while finding next header: " + ex); + } + + // If we couldn't find any headers to index, null out the enumerator + this._headerEnumerator = null; + if (!(this._currentFolderToIndex.flags & Ci.nsMsgFolderFlags.Inbox)) { + this._currentFolderToIndex.msgDatabase = null; + } + return null; + }, + + /** + * Get the last reindex time for this folder. This will be whichever's + * greater, the global reindex time or the folder reindex time + */ + _getLastReindexTime(aFolder) { + let reindexTime = this.globalReindexTime; + + // Check if this folder has a separate string property set + let folderReindexTime; + try { + folderReindexTime = this._currentFolderToIndex.getStringProperty( + this._hdrIndexedProperty + ); + } catch (e) { + folderReindexTime = ""; + } + + if (folderReindexTime.length > 0) { + let folderReindexTimeInt = parseInt(folderReindexTime); + if (folderReindexTimeInt > reindexTime) { + reindexTime = folderReindexTimeInt; + } + } + return reindexTime; + }, + + /** + * Whether background indexing has been completed + */ + __backgroundIndexingDone: false, + + /** + * The main background sweeping function. It first looks for a folder to + * start or continue indexing in, then for a header. If it can't find anything + * to index, it resets the last folder indexed URI so that the sweep can + * be restarted + */ + _continueSweep() { + let msgHdrAndReindexTime = null; + + if (this.__backgroundIndexingDone) { + return; + } + + // find the current folder we're working on + if (!this._currentFolderToIndex) { + this._currentFolderToIndex = this._foldersToIndex.next().value; + } + + // we'd like to index more than one message on each timer fire, + // but since streaming is async, it's hard to know how long + // it's going to take to stream any particular message. + if (this._currentFolderToIndex) { + msgHdrAndReindexTime = this._findNextHdrToIndex(); + } else { + // We've cycled through all the folders. We should take a break + // from indexing of existing messages. + this.__backgroundIndexingDone = true; + } + + if (!msgHdrAndReindexTime) { + this._log.debug("reached end of folder"); + if (this._currentFolderToIndex) { + this._currentFolderToIndex = null; + } + } else { + this._queueMessage(msgHdrAndReindexTime[0], msgHdrAndReindexTime[1]); + } + + // Restart the timer, and call ourselves + this._cancelTimer(); + this._timer.initWithCallback( + this._wrapContinueSweep, + this._msgHdrsToIndex.length > 1 ? 5000 : 1000, + Ci.nsITimer.TYPE_ONE_SHOT + ); + }, + + /** + * A simple wrapper to make "this" be right for _continueSweep + */ + _wrapContinueSweep() { + SearchIntegration._continueSweep(); + }, + + /** + * Observer implementation. Consists of + * - idle observer; starts running through folders when it receives an "idle" + * notification, and cancels any timers when it receives a "back" notification + * - msg displayed observer, queues the message if necessary + * - pref observer, to see if the preference has been poked + */ + observe(aSubject, aTopic, aData) { + if (aTopic == "idle") { + this._log.debug("Idle detected, continuing sweep"); + this._continueSweep(); + } else if (aTopic == "back") { + this._log.debug("Non-idle, so suspending sweep"); + this._cancelTimer(); + } else if (aTopic == "MsgMsgDisplayed") { + this._log.debug("topic = " + aTopic + " uri = " + aData); + let msgHdr = this._messenger.msgHdrFromURI(aData); + let reindexTime = this._getLastReindexTime(msgHdr.folder); + this._log.debug("Reindex time for this folder is " + reindexTime); + if (msgHdr.getUint32Property(this._hdrIndexedProperty) < reindexTime) { + // Check if the file exists. If it does, then assume indexing to be + // complete for this file + if (this._getSupportFile(msgHdr).exists()) { + this._log.debug( + "Message time not set but file exists; setting " + + " time to " + + reindexTime + ); + msgHdr.setUint32Property(this._hdrIndexedProperty, reindexTime); + } else { + this._queueMessage(msgHdr, reindexTime); + } + } + } else if (aTopic == "nsPref:changed" && aData == "enable") { + let prefEnabled = this.prefEnabled; + // Search integration turned on + if (prefEnabled && this.register()) { + this.enabled = true; + } else if (!prefEnabled && this.deregister()) { + // Search integration turned off + this.enabled = false; + } else { + // The call to register or deregister has failed. + // This is a hack to handle this case + let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + timer.initWithCallback( + function () { + SearchIntegration._handleRegisterFailure(!prefEnabled); + }, + 200, + Ci.nsITimer.TYPE_ONE_SHOT + ); + } + } + }, + + // Handle failure to register or deregister + _handleRegisterFailure(enabled) { + // Remove ourselves from the observer list, flip the pref, + // and add ourselves back + this._prefBranch.removeObserver("enable", this); + this.prefEnabled = enabled; + this._prefBranch.addObserver("enable", this); + }, + + /** + * This object gets notifications for new/moved/copied/deleted messages/folders + */ + _msgFolderListener: { + msgAdded(aMsg) { + SearchIntegration._log.info("in msgAdded"); + // The message already being there is an expected case + let file = SearchIntegration._getSupportFile(aMsg); + if (!file.exists()) { + SearchIntegration._queueMessage( + aMsg, + SearchIntegration._getLastReindexTime(aMsg.folder) + ); + } + }, + + msgsDeleted(aMsgs) { + SearchIntegration._log.info("in msgsDeleted"); + for (let msgHdr of aMsgs) { + let file = SearchIntegration._getSupportFile(msgHdr); + if (file.exists()) { + file.remove(false); + } + } + }, + + msgsMoveCopyCompleted(aMove, aSrcMsgs, aDestFolder) { + SearchIntegration._log.info("in msgsMoveCopyCompleted, aMove = " + aMove); + // Forget about copies if disabled + if (!aMove && !this.enabled) { + return; + } + + let count = aSrcMsgs.length; + for (let i = 0; i < count; i++) { + let srcFile = SearchIntegration._getSupportFile(aSrcMsgs[i]); + if (srcFile && srcFile.exists()) { + let destFile = SearchIntegration._getSearchPathForFolder(aDestFolder); + destFile.leafName = destFile.leafName + ".mozmsgs"; + if (!destFile.exists()) { + try { + // create the directory, if it doesn't exist + destFile.create(Ci.nsIFile.DIRECTORY_TYPE, PERM_DIRECTORY); + } catch (ex) { + SearchIntegration._log.warn(ex); + } + } + SearchIntegration._log.debug("dst file path = " + destFile.path); + SearchIntegration._log.debug("src file path = " + srcFile.path); + // We're not going to copy in case we're not in active mode + if (destFile.exists()) { + if (aMove) { + srcFile.moveTo(destFile, ""); + } else { + srcFile.copyTo(destFile, ""); + } + } + } + } + }, + + folderDeleted(aFolder) { + SearchIntegration._log.info( + "in folderDeleted, folder name = " + aFolder.prettyName + ); + let srcFile = SearchIntegration._getSearchPathForFolder(aFolder); + srcFile.leafName = srcFile.leafName + ".mozmsgs"; + if (srcFile.exists()) { + srcFile.remove(true); + } + }, + + folderMoveCopyCompleted(aMove, aSrcFolder, aDestFolder) { + SearchIntegration._log.info( + "in folderMoveCopyCompleted, aMove = " + aMove + ); + + // Forget about copies if disabled + if (!aMove && !this.enabled) { + return; + } + + let srcFile = SearchIntegration._getSearchPathForFolder(aSrcFolder); + let destFile = SearchIntegration._getSearchPathForFolder(aDestFolder); + srcFile.leafName = srcFile.leafName + ".mozmsgs"; + destFile.leafName += ".sbd"; + SearchIntegration._log.debug("src file path = " + srcFile.path); + SearchIntegration._log.debug("dst file path = " + destFile.path); + if (srcFile.exists()) { + // We're not going to copy if we aren't in active mode + if (aMove) { + srcFile.moveTo(destFile, ""); + } else { + srcFile.copyTo(destFile, ""); + } + } + }, + + folderRenamed(aOrigFolder, aNewFolder) { + SearchIntegration._log.info( + "in folderRenamed, aOrigFolder = " + + aOrigFolder.prettyName + + ", aNewFolder = " + + aNewFolder.prettyName + ); + let srcFile = SearchIntegration._getSearchPathForFolder(aOrigFolder); + srcFile.leafName = srcFile.leafName + ".mozmsgs"; + let destName = aNewFolder.name + ".mozmsgs"; + SearchIntegration._log.debug("src file path = " + srcFile.path); + SearchIntegration._log.debug("dst name = " + destName); + if (srcFile.exists()) { + srcFile.moveTo(null, destName); + } + }, + }, + + /* + * Support functions to queue/generate files + */ + _queueMessage(msgHdr, reindexTime) { + if (this._msgHdrsToIndex.push([msgHdr, reindexTime]) == 1) { + this._log.info("generating support file for id = " + msgHdr.messageId); + this._streamListener.startStreaming(msgHdr, reindexTime); + } else { + this._log.info( + "queueing support file generation for id = " + msgHdr.messageId + ); + } + }, + + /** + * Handle results from the command line. This method is the inverse of the + * _getSupportFile method below. + * + * @param aFile the file passed in by the command line + * @returns the nsIMsgDBHdr corresponding to the file passed in + */ + handleResult(aFile) { + // The file path has two components -- the search path, which needs to be + // converted into a folder, and the message ID. + let searchPath = aFile.parent; + // Strip off ".mozmsgs" from the end (8 characters) + searchPath.leafName = searchPath.leafName.slice(0, -8); + + let folder = this._getFolderForSearchPath(searchPath); + + // Get rid of the file extension at the end (7 characters), and unescape + let messageID = decodeURIComponent(aFile.leafName.slice(0, -7)); + + // Look for the message ID in the folder + return folder.msgDatabase.getMsgHdrForMessageID(messageID); + }, + + _getSupportFile(msgHdr) { + let folder = msgHdr.folder; + if (folder) { + let messageId = encodeURIComponent(msgHdr.messageId); + this._log.debug("encoded message id = " + messageId); + let file = this._getSearchPathForFolder(folder); + file.leafName = file.leafName + ".mozmsgs"; + file.appendRelativePath(messageId + this._fileExt); + this._log.debug("getting support file path = " + file.path); + return file; + } + return null; + }, + + /** + * Base to use for stream listeners, extended by the respective + * implementations + */ + _streamListenerBase: { + // Output file + _outputFile: null, + + // Stream to use to write to the output file + __outputStream: null, + set _outputStream(stream) { + if (this.__outputStream) { + this.__outputStream.close(); + } + this.__outputStream = stream; + }, + get _outputStream() { + return this.__outputStream; + }, + + // Reference to message header + _msgHdr: null, + + // Reindex time for this message header + _reindexTime: null, + + QueryInterface: ChromeUtils.generateQI(["nsIStreamListener"]), + + // "Finish" function, cleans up behind itself if unsuccessful + _onDoneStreaming(successful) { + this._outputStream = null; + if (!successful && this._msgHdr) { + let file = SearchIntegration._getSupportFile(this._msgHdr); + if (file && file.exists()) { + file.remove(false); + } + } + // should we try to delete the file on disk in case not successful? + SearchIntegration._msgHdrsToIndex.shift(); + + if (SearchIntegration._msgHdrsToIndex.length > 0) { + let [msgHdr, reindexTime] = SearchIntegration._msgHdrsToIndex[0]; + this.startStreaming(msgHdr, reindexTime); + } + }, + + // "Start" function + startStreaming(msgHdr, reindexTime) { + try { + let folder = msgHdr.folder; + if (folder) { + let messageId = encodeURIComponent(msgHdr.messageId); + SearchIntegration._log.info( + "generating support file, id = " + messageId + ); + let file = SearchIntegration._getSearchPathForFolder(folder); + + file.leafName = file.leafName + ".mozmsgs"; + SearchIntegration._log.debug("file leafname = " + file.leafName); + if (!file.exists()) { + try { + // create the directory, if it doesn't exist + file.create(Ci.nsIFile.DIRECTORY_TYPE, PERM_DIRECTORY); + } catch (ex) { + this._log.error(ex); + } + } + + file.appendRelativePath(messageId + SearchIntegration._fileExt); + SearchIntegration._log.debug("file path = " + file.path); + file.create(0, PERM_FILE); + let uri = folder.getUriForMsg(msgHdr); + let msgService = MailServices.messageServiceFromURI(uri); + this._msgHdr = msgHdr; + this._outputFile = file; + this._reindexTime = reindexTime; + try { + // XXX For now, try getting the messages from the server. This has + // to be improved so that we don't generate any excess network + // traffic + msgService.streamMessage(uri, this, null, null, false, "", false); + } catch (ex) { + // This is an expected case, in case we're offline + SearchIntegration._log.warn( + "StreamMessage unsuccessful for id = " + messageId + ); + this._onDoneStreaming(false); + } + } + } catch (ex) { + SearchIntegration._log.error(ex); + this._onDoneStreaming(false); + } + }, + }, + + /** + * Logging functionality, shamelessly ripped from gloda + * If enabled, warnings and above are logged to the error console, while dump + * gets everything + */ + _log: null, + _initLogging() { + this._log = console.createInstance({ + prefix: this._prefBase.slice(0, -1), + maxLogLevel: "Warn", + maxLogLevelPref: `${this._prefBase}loglevel`, + }); + this._log.info("Logging initialized"); + }, +}; + +if (AppConstants.platform == "win") { + Services.scriptloader.loadSubScript( + "chrome://messenger/content/WinSearchIntegration.js" + ); +} else if (AppConstants.platform == "macosx") { + Services.scriptloader.loadSubScript( + "chrome://messenger/content/SpotlightIntegration.js" + ); +} diff --git a/comm/mail/components/search/components.conf b/comm/mail/components/search/components.conf new file mode 100644 index 0000000000..f34fbdc04d --- /dev/null +++ b/comm/mail/components/search/components.conf @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. + +Classes = [] + +if buildconfig.substs["OS_ARCH"] == "WINNT": + Classes += [ + { + "cid": "{5dd31c99-08c7-4a3b-aeb3-d2e60665a31a}", + "contract_ids": ["@mozilla.org/mail/windows-search-helper;1"], + "type": "nsMailWinSearchHelper", + "init_method": "Init", + "headers": ["/comm/mail/components/search/nsMailWinSearchHelper.h"], + }, + ] diff --git a/comm/mail/components/search/content/SpotlightIntegration.js b/comm/mail/components/search/content/SpotlightIntegration.js new file mode 100644 index 0000000000..0757800ee6 --- /dev/null +++ b/comm/mail/components/search/content/SpotlightIntegration.js @@ -0,0 +1,240 @@ +/* -*- Mode: JavaScript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// SearchIntegration.jsm +/* globals SearchIntegration, SearchSupport, Services */ + +var { MailUtils } = ChromeUtils.import("resource:///modules/MailUtils.jsm"); + +var MSG_DB_LARGE_COMMIT = 1; +var gFileHeader = + '<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.\ncom/DTDs/PropertyList-1.0.dtd">\n<plist version="1.0">\n<dict>'; + +// eslint-disable-next-line no-global-assign +SearchIntegration = { + __proto__: SearchSupport, + + // The property of the header and (sometimes) folders that's used to check + // if a message is indexed + _hdrIndexedProperty: "spotlight_reindex_time", + + // The file extension that is used for support files of this component + _fileExt: ".mozeml", + + // The Spotlight pref base + _prefBase: "mail.spotlight.", + + // The user's profile dir, which we'll cache and use a lot for path clean-up + get _profileDir() { + delete this._profileDir; + return (this._profileDir = Services.dirsvc.get("ProfD", Ci.nsIFile)); + }, + + get _metadataDir() { + delete this._metadataDir; + let metadataDir = Services.dirsvc.get("Home", Ci.nsIFile); + metadataDir.append("Library"); + metadataDir.append("Caches"); + metadataDir.append("Metadata"); + metadataDir.append("Thunderbird"); + return (this._metadataDir = metadataDir); + }, + + // Spotlight won't index files in the profile dir, but will use ~/Library/Caches/Metadata + _getSearchPathForFolder(aFolder) { + // Swap the metadata dir for the profile dir prefix in the folder's path + let folderPath = aFolder.filePath.path; + let fixedPath = folderPath.replace( + this._profileDir.path, + this._metadataDir.path + ); + let searchPath = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); + searchPath.initWithPath(fixedPath); + return searchPath; + }, + + // Replace ~/Library/Caches/Metadata with the profile directory, then convert + _getFolderForSearchPath(aPath) { + let folderPath = aPath.path.replace( + this._metadataDir.path, + this._profileDir.path + ); + let folderFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); + folderFile.initWithPath(folderPath); + return MailUtils.getFolderForFileInProfile(folderFile); + }, + + _pathNeedsReindexing(aPath) { + // We used to set permissions incorrectly (see bug 670566). + const PERM_DIRECTORY = parseInt("0755", 8); + if (aPath.permissions != PERM_DIRECTORY) { + aPath.permissions = PERM_DIRECTORY; + return true; + } + return false; + }, + + /** + * These two functions won't do anything, as Spotlight integration is handled + * using Info.plist files + */ + register() { + return true; + }, + + deregister() { + return true; + }, + + _init() { + this._initLogging(); + + let enabled = this._prefBranch.getBoolPref("enable", false); + if (enabled) { + this._log.info("Initializing Spotlight integration"); + } + this._initSupport(enabled); + }, + + // The stream listener to read messages + _streamListener: { + __proto__: SearchSupport._streamListenerBase, + + // Buffer to store the message + _message: null, + + // Encodes reserved XML characters + _xmlEscapeString(s) { + return s.replace(/[<>&]/g, function (s) { + switch (s) { + case "<": + return "<"; + case ">": + return ">"; + case "&": + return "&"; + default: + throw new Error("Unexpected match"); + } + }); + }, + + onStartRequest(request) { + try { + let outputFileStream = Cc[ + "@mozilla.org/network/file-output-stream;1" + ].createInstance(Ci.nsIFileOutputStream); + outputFileStream.init(this._outputFile, -1, -1, 0); + this._outputStream = Cc[ + "@mozilla.org/intl/converter-output-stream;1" + ].createInstance(Ci.nsIConverterOutputStream); + this._outputStream.init(outputFileStream, "UTF-8"); + + this._outputStream.writeString(gFileHeader); + this._outputStream.writeString( + "<key>kMDItemLastUsedDate</key><string>" + ); + // need to write the date as a string + let curTimeStr = new Date().toLocaleString(); + this._outputStream.writeString(curTimeStr); + + // need to write the subject in utf8 as the title + this._outputStream.writeString( + "</string>\n<key>kMDItemTitle</key>\n<string>" + ); + + let escapedSubject = this._xmlEscapeString( + this._msgHdr.mime2DecodedSubject + ); + this._outputStream.writeString(escapedSubject); + + this._outputStream.writeString( + "</string>\n<key>kMDItemDisplayName</key>\n<string>" + ); + this._outputStream.writeString(escapedSubject); + + this._outputStream.writeString( + "</string>\n<key>kMDItemTextContent</key>\n<string>" + ); + this._outputStream.writeString( + this._xmlEscapeString(this._msgHdr.mime2DecodedAuthor) + ); + this._outputStream.writeString( + this._xmlEscapeString(this._msgHdr.mime2DecodedRecipients) + ); + + this._outputStream.writeString(escapedSubject); + this._outputStream.writeString(" "); + } catch (ex) { + this._onDoneStreaming(false); + } + }, + + onStopRequest(request, status) { + try { + // we want to write out the from, to, cc, and subject headers into the + // Text Content value, so they'll be indexed. + let stringStream = Cc[ + "@mozilla.org/io/string-input-stream;1" + ].createInstance(Ci.nsIStringInputStream); + stringStream.setData(this._message, this._message.length); + let folder = this._msgHdr.folder; + let text = folder.getMsgTextFromStream( + stringStream, + this._msgHdr.charset, + 20000, + 20000, + false, + true, + {} + ); + text = this._xmlEscapeString(text); + SearchIntegration._log.debug( + "escaped text = *****************\n" + text + ); + this._outputStream.writeString(text); + // close out the content, dict, and plist + this._outputStream.writeString("</string>\n</dict>\n</plist>\n"); + + this._msgHdr.setUint32Property( + SearchIntegration._hdrIndexedProperty, + this._reindexTime + ); + folder.msgDatabase.commit(MSG_DB_LARGE_COMMIT); + + this._message = ""; + } catch (ex) { + SearchIntegration._log.error(ex); + this._onDoneStreaming(false); + return; + } + this._onDoneStreaming(true); + }, + + onDataAvailable(request, inputStream, offset, count) { + try { + let inStream = Cc[ + "@mozilla.org/scriptableinputstream;1" + ].createInstance(Ci.nsIScriptableInputStream); + inStream.init(inputStream); + + // It is necessary to read in data from the input stream + let inData = inStream.read(count); + + // ignore stuff after the first 20K or so + if (this._message && this._message.length > 20000) { + return; + } + + this._message += inData; + } catch (ex) { + SearchIntegration._log.error(ex); + this._onDoneStreaming(false); + } + }, + }, +}; + +SearchIntegration._init(); diff --git a/comm/mail/components/search/content/WinSearchIntegration.js b/comm/mail/components/search/content/WinSearchIntegration.js new file mode 100644 index 0000000000..2f4c51b0e3 --- /dev/null +++ b/comm/mail/components/search/content/WinSearchIntegration.js @@ -0,0 +1,346 @@ +/* -*- Mode: JavaScript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// SearchIntegration.jsm +/* globals SearchIntegration, SearchSupport, Services */ + +var { MailUtils } = ChromeUtils.import("resource:///modules/MailUtils.jsm"); + +var MSG_DB_LARGE_COMMIT = 1; +var CRLF = "\r\n"; + +/** + * Required to access the 64-bit registry, even though we're probably a 32-bit + * program + */ +var ACCESS_WOW64_64KEY = 0x0100; + +/** + * The contract ID for the helper service. + */ +var WINSEARCHHELPER_CONTRACTID = "@mozilla.org/mail/windows-search-helper;1"; + +/** + * All the registry keys required for integration + */ +var gRegKeys = [ + // This is the property handler + { + root: Ci.nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE, + key: "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\PropertySystem\\PropertyHandlers\\.wdseml", + name: "", + value: "{5FA29220-36A1-40f9-89C6-F4B384B7642E}", + }, + // These two are the association with the MIME IFilter + { + root: Ci.nsIWindowsRegKey.ROOT_KEY_CLASSES_ROOT, + key: ".wdseml", + name: "Content Type", + value: "message/rfc822", + }, + { + root: Ci.nsIWindowsRegKey.ROOT_KEY_CLASSES_ROOT, + key: ".wdseml\\PersistentHandler", + name: "", + value: "{5645c8c4-e277-11cf-8fda-00aa00a14f93}", + }, + // This is the association with the Windows mail preview handler + { + root: Ci.nsIWindowsRegKey.ROOT_KEY_CLASSES_ROOT, + key: ".wdseml\\shellex\\{8895B1C6-B41F-4C1C-A562-0D564250836F}", + name: "", + value: "{b9815375-5d7f-4ce2-9245-c9d4da436930}", + }, + // This is the association made to display results under email + { + root: Ci.nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE, + key: "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\explorer\\KindMap", + name: ".wdseml", + value: "email;communication", + }, +]; + +/** + * @namespace Windows Search-specific desktop search integration functionality + */ +// eslint-disable-next-line no-global-assign +SearchIntegration = { + __proto__: SearchSupport, + + // The property of the header and (sometimes) folders that's used to check + // if a message is indexed + _hdrIndexedProperty: "winsearch_reindex_time", + + // The file extension that is used for support files of this component + _fileExt: ".wdseml", + + // The Windows Search pref base + _prefBase: "mail.winsearch.", + + // Helper (native) component + __winSearchHelper: null, + get _winSearchHelper() { + if (!this.__winSearchHelper) { + this.__winSearchHelper = Cc[WINSEARCHHELPER_CONTRACTID].getService( + Ci.nsIMailWinSearchHelper + ); + } + return this.__winSearchHelper; + }, + + // Whether the folders are already in the crawl scope + get _foldersInCrawlScope() { + return this._winSearchHelper.foldersInCrawlScope; + }, + + /** + * Whether all the required registry keys are present + * We'll be optimistic here and assume that once the registry keys have been + * added, they won't be removed, at least while Thunderbird is open + */ + __regKeysPresent: false, + get _regKeysPresent() { + if (!this.__regKeysPresent) { + for (let i = 0; i < gRegKeys.length; i++) { + let regKey = Cc["@mozilla.org/windows-registry-key;1"].createInstance( + Ci.nsIWindowsRegKey + ); + try { + regKey.open( + gRegKeys[i].root, + gRegKeys[i].key, + regKey.ACCESS_READ | ACCESS_WOW64_64KEY + ); + } catch (e) { + return false; + } + let valuePresent = + regKey.hasValue(gRegKeys[i].name) && + regKey.readStringValue(gRegKeys[i].name) == gRegKeys[i].value; + regKey.close(); + if (!valuePresent) { + return false; + } + } + this.__regKeysPresent = true; + } + return true; + }, + + // Use the folder's path (i.e., in profile dir) as is + _getSearchPathForFolder(aFolder) { + return aFolder.filePath; + }, + + // Use the search path as is + _getFolderForSearchPath(aDir) { + return MailUtils.getFolderForFileInProfile(aDir); + }, + + _pathNeedsReindexing(aPath) { + // only needed on MacOSX (see bug 670566). + return false; + }, + + _init() { + this._initLogging(); + // If the helper service isn't present, we weren't compiled with the needed + // support. Mark ourselves null and return + if (!(WINSEARCHHELPER_CONTRACTID in Cc)) { + SearchIntegration = null; // eslint-disable-line no-global-assign + return; + } + + // The search module is currently only enabled on Vista and above, + // and the app can only be installed on Windows 7 and above. + this.osVersionTooLow = false; + + let serviceRunning = false; + try { + serviceRunning = this._winSearchHelper.serviceRunning; + } catch (e) {} + // If the service isn't running, then we should stay in backoff mode + if (!serviceRunning) { + this._log.info("Windows Search service not running"); + this.osComponentsNotRunning = true; + this._initSupport(false); + return; + } + + let enabled = this.prefEnabled; + + if (enabled) { + this._log.info("Initializing Windows Search integration"); + } + this._initSupport(enabled); + }, + + /** + * Add necessary hooks to Windows + * + * @returns false if registration did not succeed, because the elevation + * request was denied + */ + register() { + // If any of the two are not present, we need to elevate. + if (!this._foldersInCrawlScope || !this._regKeysPresent) { + try { + this._winSearchHelper.runSetup(true); + } catch (e) { + return false; + } + } + + if (!this._winSearchHelper.isFileAssociationSet) { + try { + this._winSearchHelper.setFileAssociation(); + } catch (e) { + this._log.warn("File association not set"); + } + } + // Also set the FANCI bit to 0 for the profile directory + let profD = Services.dirsvc.get("ProfD", Ci.nsIFile); + this._winSearchHelper.setFANCIBit(profD, false, true); + + return true; + }, + + /** + * Remove integration from Windows. The only thing removed is the directory + * from the index list. This will ask for elevation. + * + * @returns false if deregistration did not succeed, because the elevation + * request was denied + */ + deregister() { + try { + this._winSearchHelper.runSetup(false); + } catch (e) { + return false; + } + + return true; + }, + + // The stream listener to read messages + _streamListener: { + __proto__: SearchSupport._streamListenerBase, + + // Buffer to store the message + _message: "", + + onStartRequest(request) { + try { + let outputFileStream = Cc[ + "@mozilla.org/network/file-output-stream;1" + ].createInstance(Ci.nsIFileOutputStream); + outputFileStream.init(this._outputFile, -1, -1, 0); + this._outputStream = Cc[ + "@mozilla.org/intl/converter-output-stream;1" + ].createInstance(Ci.nsIConverterOutputStream); + this._outputStream.init(outputFileStream, "UTF-8"); + } catch (ex) { + this._onDoneStreaming(false); + } + }, + + onStopRequest(request, status) { + try { + // XXX Once the JS emitter gets checked in, this code should probably be + // switched over to use that + // Decode using getMsgTextFromStream + let stringStream = Cc[ + "@mozilla.org/io/string-input-stream;1" + ].createInstance(Ci.nsIStringInputStream); + stringStream.setData(this._message, this._message.length); + let contentType = {}; + let folder = this._msgHdr.folder; + let text = folder.getMsgTextFromStream( + stringStream, + this._msgHdr.charset, + 65536, + 50000, + false, + false, + contentType + ); + + // To get the Received header, we need to parse the message headers. + // We only need the first header, which contains the latest received + // date + let headers = this._message.split(/\r\n\r\n|\r\r|\n\n/, 1)[0]; + let mimeHeaders = Cc[ + "@mozilla.org/messenger/mimeheaders;1" + ].createInstance(Ci.nsIMimeHeaders); + mimeHeaders.initialize(headers); + let receivedHeader = mimeHeaders.extractHeader("Received", false); + + this._outputStream.writeString("From: " + this._msgHdr.author + CRLF); + // If we're a newsgroup, then add the name of the folder as the + // newsgroups header + if (folder instanceof Ci.nsIMsgNewsFolder) { + this._outputStream.writeString("Newsgroups: " + folder.name + CRLF); + } else { + this._outputStream.writeString( + "To: " + this._msgHdr.recipients + CRLF + ); + } + this._outputStream.writeString("CC: " + this._msgHdr.ccList + CRLF); + this._outputStream.writeString( + "Subject: " + this._msgHdr.subject + CRLF + ); + if (receivedHeader) { + this._outputStream.writeString("Received: " + receivedHeader + CRLF); + } + this._outputStream.writeString( + "Date: " + new Date(this._msgHdr.date / 1000).toUTCString() + CRLF + ); + this._outputStream.writeString( + "Content-Type: " + contentType.value + "; charset=utf-8" + CRLF + CRLF + ); + + this._outputStream.writeString(text + CRLF + CRLF); + + this._msgHdr.setUint32Property( + SearchIntegration._hdrIndexedProperty, + this._reindexTime + ); + folder.msgDatabase.commit(MSG_DB_LARGE_COMMIT); + + this._message = ""; + SearchIntegration._log.info("Successfully written file"); + } catch (ex) { + SearchIntegration._log.error(ex); + this._onDoneStreaming(false); + return; + } + this._onDoneStreaming(true); + }, + + onDataAvailable(request, inputStream, offset, count) { + try { + let inStream = Cc[ + "@mozilla.org/scriptableinputstream;1" + ].createInstance(Ci.nsIScriptableInputStream); + inStream.init(inputStream); + + // It is necessary to read in data from the input stream + let inData = inStream.read(count); + + // Ignore stuff after the first 50K or so + if (this._message && this._message.length > 50000) { + return; + } + + this._message += inData; + } catch (ex) { + SearchIntegration._log.error(ex); + this._onDoneStreaming(false); + } + }, + }, +}; + +SearchIntegration._init(); diff --git a/comm/mail/components/search/extensions/allaannonser-sv-SE/favicon.ico b/comm/mail/components/search/extensions/allaannonser-sv-SE/favicon.ico Binary files differnew file mode 100644 index 0000000000..3917eaec10 --- /dev/null +++ b/comm/mail/components/search/extensions/allaannonser-sv-SE/favicon.ico diff --git a/comm/mail/components/search/extensions/allaannonser-sv-SE/manifest.json b/comm/mail/components/search/extensions/allaannonser-sv-SE/manifest.json new file mode 100644 index 0000000000..a5b5914634 --- /dev/null +++ b/comm/mail/components/search/extensions/allaannonser-sv-SE/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Allaannonser", + "description": "Allaannonser", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "allaannonser-sv-SE@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Allaannonser", + "encoding": "ISO-8859-1", + "search_url": "https://www.allaannonser.se/hitlist.php", + "search_form": "https://www.allaannonser.se", + "search_url_get_params": "sourceid=Mozilla-search&keyword={searchTerms}&order=date&desc=1" + } + } +} diff --git a/comm/mail/components/search/extensions/allegro-pl/favicon.ico b/comm/mail/components/search/extensions/allegro-pl/favicon.ico Binary files differnew file mode 100644 index 0000000000..42b4f90149 --- /dev/null +++ b/comm/mail/components/search/extensions/allegro-pl/favicon.ico diff --git a/comm/mail/components/search/extensions/allegro-pl/manifest.json b/comm/mail/components/search/extensions/allegro-pl/manifest.json new file mode 100644 index 0000000000..ad38f187dc --- /dev/null +++ b/comm/mail/components/search/extensions/allegro-pl/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Allegro", + "description": "Wyszukiwanie w aukcjach Allegro", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "allegro-pl@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Allegro", + "search_url": "https://allegro.pl/listing/listing.php", + "search_form": "https://allegro.pl", + "search_url_get_params": "string={searchTerms}&sourceid=Mozilla-search" + } + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/au/messages.json b/comm/mail/components/search/extensions/amazon/_locales/au/messages.json new file mode 100644 index 0000000000..c8fbcbcb69 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/au/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.com.au" + }, + "extensionDescription": { + "message": "Amazon.com.au Search" + }, + "searchUrl": { + "message": "https://www.amazon.com.au/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.com.au/exec/obidos/external-search/?field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/ca/messages.json b/comm/mail/components/search/extensions/amazon/_locales/ca/messages.json new file mode 100644 index 0000000000..cb54e55658 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/ca/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.ca" + }, + "extensionDescription": { + "message": "Amazon.ca Search" + }, + "searchUrl": { + "message": "https://www.amazon.ca/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.ca/exec/obidos/external-search/?field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/de/messages.json b/comm/mail/components/search/extensions/amazon/_locales/de/messages.json new file mode 100644 index 0000000000..e9eebaf229 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/de/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.de" + }, + "extensionDescription": { + "message": "Amazon.de Suche" + }, + "searchUrl": { + "message": "https://www.amazon.de/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.de/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/en-GB/messages.json b/comm/mail/components/search/extensions/amazon/_locales/en-GB/messages.json new file mode 100644 index 0000000000..596283dd0d --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/en-GB/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.co.uk" + }, + "extensionDescription": { + "message": "Amazon.co.uk Search" + }, + "searchUrl": { + "message": "https://www.amazon.co.uk/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.co.uk/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/france/messages.json b/comm/mail/components/search/extensions/amazon/_locales/france/messages.json new file mode 100644 index 0000000000..77730b1a40 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/france/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.fr" + }, + "extensionDescription": { + "message": "Recherche Amazon.fr" + }, + "searchUrl": { + "message": "https://www.amazon.fr/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.fr/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/in/messages.json b/comm/mail/components/search/extensions/amazon/_locales/in/messages.json new file mode 100644 index 0000000000..d4f912cc96 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/in/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.in" + }, + "extensionDescription": { + "message": "Amazon.in Search" + }, + "searchUrl": { + "message": "https://www.amazon.in/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.in/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/it/messages.json b/comm/mail/components/search/extensions/amazon/_locales/it/messages.json new file mode 100644 index 0000000000..07382eec95 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/it/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.it" + }, + "extensionDescription": { + "message": "Ricerca Amazon.it" + }, + "searchUrl": { + "message": "https://www.amazon.it/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.it/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/jp/messages.json b/comm/mail/components/search/extensions/amazon/_locales/jp/messages.json new file mode 100644 index 0000000000..b3bebb43c2 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/jp/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.co.jp" + }, + "extensionDescription": { + "message": "Amazon.co.jp Search" + }, + "searchUrl": { + "message": "https://www.amazon.co.jp/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.co.jp/" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/mx/messages.json b/comm/mail/components/search/extensions/amazon/_locales/mx/messages.json new file mode 100644 index 0000000000..a70ed76634 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/mx/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.com.mx" + }, + "extensionDescription": { + "message": "Amazon.com.mx Search" + }, + "searchUrl": { + "message": "https://www.amazon.com.mx/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.com.mx/exec/obidos/external-search/?field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + } +} diff --git a/comm/mail/components/search/extensions/amazon/_locales/nl/messages.json b/comm/mail/components/search/extensions/amazon/_locales/nl/messages.json new file mode 100644 index 0000000000..5d5e62e637 --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/_locales/nl/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Amazon.nl" + }, + "extensionDescription": { + "message": "Amazon.nl Search" + }, + "searchUrl": { + "message": "https://www.amazon.nl/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.nl/exec/obidos/external-search/?field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended" + } +} diff --git a/comm/mail/components/search/extensions/amazon/favicon.ico b/comm/mail/components/search/extensions/amazon/favicon.ico Binary files differnew file mode 100644 index 0000000000..1c39eaf8fe --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/favicon.ico diff --git a/comm/mail/components/search/extensions/amazon/manifest.json b/comm/mail/components/search/extensions/amazon/manifest.json new file mode 100644 index 0000000000..fd44cf29cb --- /dev/null +++ b/comm/mail/components/search/extensions/amazon/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.1", + "applications": { + "gecko": { + "id": "amazon@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "au", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/amazondotcn/favicon.ico b/comm/mail/components/search/extensions/amazondotcn/favicon.ico Binary files differnew file mode 100644 index 0000000000..1c39eaf8fe --- /dev/null +++ b/comm/mail/components/search/extensions/amazondotcn/favicon.ico diff --git a/comm/mail/components/search/extensions/amazondotcn/manifest.json b/comm/mail/components/search/extensions/amazondotcn/manifest.json new file mode 100644 index 0000000000..e6215d9660 --- /dev/null +++ b/comm/mail/components/search/extensions/amazondotcn/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "亚马逊", + "description": "亚马逊搜索", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "amazondotcn@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "亚马逊", + "search_url": "https://www.amazon.cn/mn/searchApp", + "search_form": "https://www.amazon.cn/", + "search_url_get_params": "keywords={searchTerms}&ix=sunray&pageletid=headsearch&searchType=&Go.x=0&Go.y=0&bestSaleNum=0" + } + } +} diff --git a/comm/mail/components/search/extensions/amazondotcom/_locales/en/messages.json b/comm/mail/components/search/extensions/amazondotcom/_locales/en/messages.json new file mode 100644 index 0000000000..e1f3405dab --- /dev/null +++ b/comm/mail/components/search/extensions/amazondotcom/_locales/en/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Amazon.com" + }, + "extensionDescription": { + "message": "Amazon.com Search" + }, + "searchUrl": { + "message": "https://www.amazon.com/exec/obidos/external-search/" + }, + "searchForm": { + "message": "https://www.amazon.com/exec/obidos/external-search/?field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://completion.amazon.com/search/complete?q={searchTerms}&search-alias=aps&mkt=1" + }, + "searchUrlGetParams": { + "message": "field-keywords={searchTerms}&ie={inputEncoding}&mode=blended&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/amazondotcom/favicon.ico b/comm/mail/components/search/extensions/amazondotcom/favicon.ico Binary files differnew file mode 100644 index 0000000000..1c39eaf8fe --- /dev/null +++ b/comm/mail/components/search/extensions/amazondotcom/favicon.ico diff --git a/comm/mail/components/search/extensions/amazondotcom/manifest.json b/comm/mail/components/search/extensions/amazondotcom/manifest.json new file mode 100644 index 0000000000..5def9f413d --- /dev/null +++ b/comm/mail/components/search/extensions/amazondotcom/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.1", + "applications": { + "gecko": { + "id": "amazondotcom@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "en", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "suggest_url": "__MSG_suggestUrl__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/atlas-sk/favicon.ico b/comm/mail/components/search/extensions/atlas-sk/favicon.ico Binary files differnew file mode 100644 index 0000000000..eb4d3ec31a --- /dev/null +++ b/comm/mail/components/search/extensions/atlas-sk/favicon.ico diff --git a/comm/mail/components/search/extensions/atlas-sk/manifest.json b/comm/mail/components/search/extensions/atlas-sk/manifest.json new file mode 100644 index 0000000000..774c021f91 --- /dev/null +++ b/comm/mail/components/search/extensions/atlas-sk/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Atlas", + "description": "Internetovy portal - Atlas.sk", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "atlas-sk@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Atlas", + "search_url": "https://www.atlas.sk/search.php", + "search_form": "https://www.atlas.sk/", + "search_url_get_params": "phrase={searchTerms}&sourceid=firefox" + } + } +} diff --git a/comm/mail/components/search/extensions/azerdict/favicon.ico b/comm/mail/components/search/extensions/azerdict/favicon.ico Binary files differnew file mode 100644 index 0000000000..ba687ca8e7 --- /dev/null +++ b/comm/mail/components/search/extensions/azerdict/favicon.ico diff --git a/comm/mail/components/search/extensions/azerdict/manifest.json b/comm/mail/components/search/extensions/azerdict/manifest.json new file mode 100644 index 0000000000..9454d14600 --- /dev/null +++ b/comm/mail/components/search/extensions/azerdict/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Azerdict", + "description": "Azərbaycanın Online Lüğəti", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "azerdict@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Azerdict", + "search_url": "https://azerdict.com/english/", + "search_form": "https://azerdict.com/", + "search_url_get_params": "word={searchTerms}", + "suggest_url": "https://api.azerdict.com/english/autocomplete", + "suggest_url_get_params": "action=opensearch&query={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/azet-sk/favicon.ico b/comm/mail/components/search/extensions/azet-sk/favicon.ico Binary files differnew file mode 100644 index 0000000000..39ab78bbd9 --- /dev/null +++ b/comm/mail/components/search/extensions/azet-sk/favicon.ico diff --git a/comm/mail/components/search/extensions/azet-sk/manifest.json b/comm/mail/components/search/extensions/azet-sk/manifest.json new file mode 100644 index 0000000000..84b6faa38d --- /dev/null +++ b/comm/mail/components/search/extensions/azet-sk/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Azet", + "description": "Azet - portal, kde je vzdy najviac ludi", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "azet-sk@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Azet", + "search_url": "https://www.azet.sk/katalog/vyhladavanie/firmy/", + "search_form": "https://www.azet.sk/katalog/", + "search_url_get_params": "q={searchTerms}&k=" + } + } +} diff --git a/comm/mail/components/search/extensions/baidu/favicon.ico b/comm/mail/components/search/extensions/baidu/favicon.ico Binary files differnew file mode 100644 index 0000000000..6c27b018c8 --- /dev/null +++ b/comm/mail/components/search/extensions/baidu/favicon.ico diff --git a/comm/mail/components/search/extensions/baidu/manifest.json b/comm/mail/components/search/extensions/baidu/manifest.json new file mode 100644 index 0000000000..a53f905716 --- /dev/null +++ b/comm/mail/components/search/extensions/baidu/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "百度", + "description": "百度网页搜索", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "baidu@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "百度", + "search_url": "https://www.baidu.com/baidu", + "search_form": "https://www.baidu.com/", + "search_url_get_params": "wd={searchTerms}&ie=utf-8", + "suggest_url": "https://www.baidu.com/su", + "suggest_url_get_params": "wd={searchTerms}&ie=utf-8&action=opensearch" + } + } +} diff --git a/comm/mail/components/search/extensions/bbc-alba/favicon.ico b/comm/mail/components/search/extensions/bbc-alba/favicon.ico Binary files differnew file mode 100644 index 0000000000..8f62b07af8 --- /dev/null +++ b/comm/mail/components/search/extensions/bbc-alba/favicon.ico diff --git a/comm/mail/components/search/extensions/bbc-alba/manifest.json b/comm/mail/components/search/extensions/bbc-alba/manifest.json new file mode 100644 index 0000000000..6de91c53c9 --- /dev/null +++ b/comm/mail/components/search/extensions/bbc-alba/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "BBC ┐ BBC Alba", + "description": "Lorg BBC ┐ BBC Alba", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "bbc-alba@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "BBC ┐ BBC Alba", + "search_url": "https://search.bbc.co.uk/search", + "search_form": "https://www.bbc.co.uk/alba/", + "search_url_get_params": "opensearch=all-1&q={searchTerms}", + "suggest_url": "https://search.bbc.co.uk/suggest", + "suggest_url_get_params": "format=opensearch&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/bing/favicon.ico b/comm/mail/components/search/extensions/bing/favicon.ico Binary files differnew file mode 100644 index 0000000000..1e90a10d6e --- /dev/null +++ b/comm/mail/components/search/extensions/bing/favicon.ico diff --git a/comm/mail/components/search/extensions/bing/manifest.json b/comm/mail/components/search/extensions/bing/manifest.json new file mode 100644 index 0000000000..bc0a1060ab --- /dev/null +++ b/comm/mail/components/search/extensions/bing/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Bing", + "description": "Bing. Search by Microsoft.", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "bing@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Bing", + "search_url": "https://www.bing.com/search", + "search_form": "https://www.bing.com/search?q={searchTerms}", + "search_url_get_params": "q={searchTerms}", + "suggest_url": "https://www.bing.com/osjson.aspx", + "suggest_url_get_params": "query={searchTerms}&form=OSDJAS&language={moz:locale}" + } + } +} diff --git a/comm/mail/components/search/extensions/bok-NO/favicon.png b/comm/mail/components/search/extensions/bok-NO/favicon.png Binary files differnew file mode 100644 index 0000000000..c2d46117ef --- /dev/null +++ b/comm/mail/components/search/extensions/bok-NO/favicon.png diff --git a/comm/mail/components/search/extensions/bok-NO/manifest.json b/comm/mail/components/search/extensions/bok-NO/manifest.json new file mode 100644 index 0000000000..fb0138103b --- /dev/null +++ b/comm/mail/components/search/extensions/bok-NO/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Ordbok", + "description": "Norske ordbøker", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "bok-NO@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Ordbok", + "search_url": "https://ordbok.uib.no/perl/ordbok.cgi", + "search_form": "https://ordbok.uib.no/", + "search_url_get_params": "OPP={searchTerms}&sourceid=Mozilla-search" + } + } +} diff --git a/comm/mail/components/search/extensions/bolcom/_locales/fy-NL/messages.json b/comm/mail/components/search/extensions/bolcom/_locales/fy-NL/messages.json new file mode 100644 index 0000000000..252afad896 --- /dev/null +++ b/comm/mail/components/search/extensions/bolcom/_locales/fy-NL/messages.json @@ -0,0 +1,14 @@ +{ + "extensionName": { + "message": "bol.com" + }, + "extensionDescription": { + "message": "Sykje by bol.com" + }, + "searchUrl": { + "message": "https://www.bol.com/nl/s/algemeen/zoekresultaten/Ntt/{searchTerms}/Ntk/media_all/Nty/1/suggestedFor/{searchTerms}/N/0/Ne/0/search/true/searchType/qck/index.html" + }, + "searchForm": { + "message": "https://www.bol.com/" + } +} diff --git a/comm/mail/components/search/extensions/bolcom/_locales/nl/messages.json b/comm/mail/components/search/extensions/bolcom/_locales/nl/messages.json new file mode 100644 index 0000000000..7e9baa8b3b --- /dev/null +++ b/comm/mail/components/search/extensions/bolcom/_locales/nl/messages.json @@ -0,0 +1,14 @@ +{ + "extensionName": { + "message": "bol.com" + }, + "extensionDescription": { + "message": "Zoeken bij bol.com" + }, + "searchUrl": { + "message": "https://www.bol.com/nl/s/algemeen/zoekresultaten/Ntt/{searchTerms}/Ntk/media_all/Nty/1/suggestedFor/{searchTerms}/N/0/Ne/0/search/true/searchType/qck/index.html" + }, + "searchForm": { + "message": "https://www.bol.com/" + } +} diff --git a/comm/mail/components/search/extensions/bolcom/favicon.ico b/comm/mail/components/search/extensions/bolcom/favicon.ico Binary files differnew file mode 100644 index 0000000000..0f0db9b990 --- /dev/null +++ b/comm/mail/components/search/extensions/bolcom/favicon.ico diff --git a/comm/mail/components/search/extensions/bolcom/manifest.json b/comm/mail/components/search/extensions/bolcom/manifest.json new file mode 100644 index 0000000000..25a08232e7 --- /dev/null +++ b/comm/mail/components/search/extensions/bolcom/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "bolcom@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "fy-NL", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__" + } + } +} diff --git a/comm/mail/components/search/extensions/ceneji/favicon.png b/comm/mail/components/search/extensions/ceneji/favicon.png Binary files differnew file mode 100644 index 0000000000..3c77b64d3c --- /dev/null +++ b/comm/mail/components/search/extensions/ceneji/favicon.png diff --git a/comm/mail/components/search/extensions/ceneji/manifest.json b/comm/mail/components/search/extensions/ceneji/manifest.json new file mode 100644 index 0000000000..3c915c8b15 --- /dev/null +++ b/comm/mail/components/search/extensions/ceneji/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Ceneje.si", + "description": "Iskalnik Ceneje.si", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "ceneji@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Ceneje.si", + "search_url": "https://www.ceneje.si/search_new.aspx", + "search_form": "https://www.ceneje.si", + "search_url_get_params": "q={searchTerms}&FF-SearchBox=1" + } + } +} diff --git a/comm/mail/components/search/extensions/chambers-en-GB/favicon.ico b/comm/mail/components/search/extensions/chambers-en-GB/favicon.ico Binary files differnew file mode 100644 index 0000000000..ecea4aac74 --- /dev/null +++ b/comm/mail/components/search/extensions/chambers-en-GB/favicon.ico diff --git a/comm/mail/components/search/extensions/chambers-en-GB/manifest.json b/comm/mail/components/search/extensions/chambers-en-GB/manifest.json new file mode 100644 index 0000000000..17ce83d616 --- /dev/null +++ b/comm/mail/components/search/extensions/chambers-en-GB/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Chambers (UK)", + "description": "Chambers 21st Century Dictionary Search", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "chambers-en-GB@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Chambers (UK)", + "search_url": "https://chambers.co.uk/search/", + "search_form": "https://chambers.co.uk/search/?query={searchTerms}&title=21st&sourceid=Mozilla-search", + "search_url_get_params": "query={searchTerms}&title=21st&sourceid=Mozilla-search" + } + } +} diff --git a/comm/mail/components/search/extensions/coccoc/favicon.ico b/comm/mail/components/search/extensions/coccoc/favicon.ico Binary files differnew file mode 100644 index 0000000000..e6e82d938e --- /dev/null +++ b/comm/mail/components/search/extensions/coccoc/favicon.ico diff --git a/comm/mail/components/search/extensions/coccoc/manifest.json b/comm/mail/components/search/extensions/coccoc/manifest.json new file mode 100644 index 0000000000..790d56badd --- /dev/null +++ b/comm/mail/components/search/extensions/coccoc/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Cốc Cốc", + "description": "Use Cốc Cốc to search on coccoc.com", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "coccoc@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Cốc Cốc", + "search_url": "https://coccoc.com/search", + "search_url_get_params": "query={searchTerms}&s=ff&utm_source=firefox", + "suggest_url": "https://coccoc.com/composer/autocomplete", + "suggest_url_get_params": "of=b&q={searchTerms}&s=ff" + } + } +} diff --git a/comm/mail/components/search/extensions/daum-kr/favicon.ico b/comm/mail/components/search/extensions/daum-kr/favicon.ico Binary files differnew file mode 100644 index 0000000000..ed803f50e2 --- /dev/null +++ b/comm/mail/components/search/extensions/daum-kr/favicon.ico diff --git a/comm/mail/components/search/extensions/daum-kr/manifest.json b/comm/mail/components/search/extensions/daum-kr/manifest.json new file mode 100644 index 0000000000..1e0946be7a --- /dev/null +++ b/comm/mail/components/search/extensions/daum-kr/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "다음", + "description": "다음 검색", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "daum-kr@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "다음", + "search_url": "https://search.daum.net/search", + "search_form": "https://search.daum.net", + "search_url_get_params": "q={searchTerms}&w=tot&nil_ch=ffsr", + "suggest_url": "https://sug.search.daum.net/search_nsuggest", + "suggest_url_get_params": "mod=fxjson&code=utf_in_out&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/ddg/favicon.ico b/comm/mail/components/search/extensions/ddg/favicon.ico Binary files differnew file mode 100644 index 0000000000..dda80dfd88 --- /dev/null +++ b/comm/mail/components/search/extensions/ddg/favicon.ico diff --git a/comm/mail/components/search/extensions/ddg/manifest.json b/comm/mail/components/search/extensions/ddg/manifest.json new file mode 100644 index 0000000000..402a305684 --- /dev/null +++ b/comm/mail/components/search/extensions/ddg/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "DuckDuckGo", + "description": "Search DuckDuckGo", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "ddg@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "DuckDuckGo", + "search_url": "https://duckduckgo.com/", + "search_form": "https://duckduckgo.com/?q={searchTerms}", + "search_url_get_params": "q={searchTerms}", + "suggest_url": "https://ac.duckduckgo.com/ac/", + "suggest_url_get_params": "q={searchTerms}&type=list" + } + } +} diff --git a/comm/mail/components/search/extensions/diec2/favicon.png b/comm/mail/components/search/extensions/diec2/favicon.png Binary files differnew file mode 100644 index 0000000000..fa0fb8f1ff --- /dev/null +++ b/comm/mail/components/search/extensions/diec2/favicon.png diff --git a/comm/mail/components/search/extensions/diec2/manifest.json b/comm/mail/components/search/extensions/diec2/manifest.json new file mode 100644 index 0000000000..c4a11a0c36 --- /dev/null +++ b/comm/mail/components/search/extensions/diec2/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "DIEC2", + "description": "Diccionari de l'Institut d'Estudis Catalans", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "diec2@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "DIEC2", + "encoding": "ISO-8859-1", + "search_url": "https://dlc.iec.cat/results.asp", + "search_form": "https://dlc.iec.cat", + "search_url_get_params": "txtEntrada={searchTerms}&OperEntrada=0" + } + } +} diff --git a/comm/mail/components/search/extensions/drae/favicon.ico b/comm/mail/components/search/extensions/drae/favicon.ico Binary files differnew file mode 100644 index 0000000000..6b3a278678 --- /dev/null +++ b/comm/mail/components/search/extensions/drae/favicon.ico diff --git a/comm/mail/components/search/extensions/drae/manifest.json b/comm/mail/components/search/extensions/drae/manifest.json new file mode 100644 index 0000000000..e181545da1 --- /dev/null +++ b/comm/mail/components/search/extensions/drae/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Diccionario RAE", + "description": "Real Academia Española. Diccionario Usual.", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "drae@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Diccionario RAE", + "search_url": "https://dle.rae.es/", + "search_form": "https://dle.rae.es/?w={searchTerms}", + "search_url_get_params": "w={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/ecosia/favicon.ico b/comm/mail/components/search/extensions/ecosia/favicon.ico Binary files differnew file mode 100644 index 0000000000..cc72d09d6d --- /dev/null +++ b/comm/mail/components/search/extensions/ecosia/favicon.ico diff --git a/comm/mail/components/search/extensions/ecosia/manifest.json b/comm/mail/components/search/extensions/ecosia/manifest.json new file mode 100644 index 0000000000..a1dc0cf385 --- /dev/null +++ b/comm/mail/components/search/extensions/ecosia/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Ecosia", + "description": "Search Ecosia", + "manifest_version": 2, + "version": "1.1", + "applications": { + "gecko": { + "id": "ecosia@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Ecosia", + "search_url": "https://www.ecosia.org/search", + "search_form": "https://www.ecosia.org/", + "search_url_get_params": "tt=mzl&q={searchTerms}", + "suggest_url": "https://ac.ecosia.org/autocomplete", + "suggest_url_get_params": "type=list&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/eki-ee/favicon.ico b/comm/mail/components/search/extensions/eki-ee/favicon.ico Binary files differnew file mode 100644 index 0000000000..537829c30f --- /dev/null +++ b/comm/mail/components/search/extensions/eki-ee/favicon.ico diff --git a/comm/mail/components/search/extensions/eki-ee/manifest.json b/comm/mail/components/search/extensions/eki-ee/manifest.json new file mode 100644 index 0000000000..c0c9ee7175 --- /dev/null +++ b/comm/mail/components/search/extensions/eki-ee/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Õigekeelsussõnaraamat", + "description": "EKI.ee Eesti õigekeelsussõnaraamat ÕS 2013", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "eki-ee@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Õigekeelsussõnaraamat", + "search_url": "https://www.eki.ee/dict/qs/index.cgi", + "search_form": "https://www.eki.ee/dict/qs/", + "search_url_get_params": "F=M&Q={searchTerms}", + "suggest_url": "https://www.eki.ee/dict/soovita.cgi", + "suggest_url_get_params": "D=qs&Q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/eudict/favicon.ico b/comm/mail/components/search/extensions/eudict/favicon.ico Binary files differnew file mode 100644 index 0000000000..20750d0c19 --- /dev/null +++ b/comm/mail/components/search/extensions/eudict/favicon.ico diff --git a/comm/mail/components/search/extensions/eudict/manifest.json b/comm/mail/components/search/extensions/eudict/manifest.json new file mode 100644 index 0000000000..3b0e881291 --- /dev/null +++ b/comm/mail/components/search/extensions/eudict/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "EUdict Eng->Cro", + "description": "EUdict - englesko-hrvatski rječnik", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "eudict@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "EUdict Eng->Cro", + "search_url": "https://eudict.com", + "search_form": "https://eudict.com?lang=engcro&word={searchTerms}", + "search_url_get_params": "lang=engcro&word={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/faclair-beag/favicon.ico b/comm/mail/components/search/extensions/faclair-beag/favicon.ico Binary files differnew file mode 100644 index 0000000000..990cf93298 --- /dev/null +++ b/comm/mail/components/search/extensions/faclair-beag/favicon.ico diff --git a/comm/mail/components/search/extensions/faclair-beag/manifest.json b/comm/mail/components/search/extensions/faclair-beag/manifest.json new file mode 100644 index 0000000000..d183697b78 --- /dev/null +++ b/comm/mail/components/search/extensions/faclair-beag/manifest.json @@ -0,0 +1,23 @@ +{ + "name": "Am Faclair Beag", + "description": "Lorg Am Faclair Beag", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "faclair-beag@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Am Faclair Beag", + "search_url": "https://www.faclair.com/", + "search_url_get_params": "txtSearch={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/flip/favicon.png b/comm/mail/components/search/extensions/flip/favicon.png Binary files differnew file mode 100644 index 0000000000..96fc159dbf --- /dev/null +++ b/comm/mail/components/search/extensions/flip/favicon.png diff --git a/comm/mail/components/search/extensions/flip/manifest.json b/comm/mail/components/search/extensions/flip/manifest.json new file mode 100644 index 0000000000..75a2d0abaa --- /dev/null +++ b/comm/mail/components/search/extensions/flip/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "flip.kz", + "description": "Қазақстандық интернет-дүкенде іздеу", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "flip@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "flip.kz", + "search_url": "https://www.flip.kz/search", + "search_form": "https://flip.kz/", + "search_url_get_params": "search={searchTerms}", + "suggest_url": "https://www.flip.kz/ajax/search_keyword.php", + "suggest_url_get_params": "q={searchTerms}&type=os" + } + } +} diff --git a/comm/mail/components/search/extensions/freelang/favicon.ico b/comm/mail/components/search/extensions/freelang/favicon.ico Binary files differnew file mode 100644 index 0000000000..510a0379f8 --- /dev/null +++ b/comm/mail/components/search/extensions/freelang/favicon.ico diff --git a/comm/mail/components/search/extensions/freelang/manifest.json b/comm/mail/components/search/extensions/freelang/manifest.json new file mode 100644 index 0000000000..3f49d83fbc --- /dev/null +++ b/comm/mail/components/search/extensions/freelang/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Freelang (br)", + "description": "Geriadur Freelang", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "freelang@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Freelang (br)", + "search_url": "https://www.freelang.com/enligne/breton.php", + "search_form": "https://www.freelang.com/enligne/breton.php", + "search_url_post_params": "dico=fr_bre_fra&lg=fr&mot1={searchTerms}&mot2=&entier=on" + } + } +} diff --git a/comm/mail/components/search/extensions/google/favicon.ico b/comm/mail/components/search/extensions/google/favicon.ico Binary files differnew file mode 100644 index 0000000000..82339b3b1d --- /dev/null +++ b/comm/mail/components/search/extensions/google/favicon.ico diff --git a/comm/mail/components/search/extensions/google/manifest.json b/comm/mail/components/search/extensions/google/manifest.json new file mode 100644 index 0000000000..98d177e465 --- /dev/null +++ b/comm/mail/components/search/extensions/google/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Google", + "description": "Google Search", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "google@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Google", + "search_url": "https://www.google.com/search", + "search_form": "https://www.google.com/search?q={searchTerms}", + "search_url_get_params": "q={searchTerms}", + "suggest_url": "https://www.google.com/complete/search?client=firefox&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/gulesider-NO/favicon.ico b/comm/mail/components/search/extensions/gulesider-NO/favicon.ico Binary files differnew file mode 100644 index 0000000000..e35572a557 --- /dev/null +++ b/comm/mail/components/search/extensions/gulesider-NO/favicon.ico diff --git a/comm/mail/components/search/extensions/gulesider-NO/manifest.json b/comm/mail/components/search/extensions/gulesider-NO/manifest.json new file mode 100644 index 0000000000..37e7461e22 --- /dev/null +++ b/comm/mail/components/search/extensions/gulesider-NO/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Gule sider", + "description": "Gule sider person og firmasøk", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "gulesider-NO@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Gule sider", + "search_url": "https://www.gulesider.no/query", + "search_form": "https://www.gulesider.no/", + "search_url_get_params": "what=all&search_word={searchTerms}&cmpid=fre_partner_fire_gssbtop" + } + } +} diff --git a/comm/mail/components/search/extensions/heureka-cz/favicon.ico b/comm/mail/components/search/extensions/heureka-cz/favicon.ico Binary files differnew file mode 100644 index 0000000000..95ceff009d --- /dev/null +++ b/comm/mail/components/search/extensions/heureka-cz/favicon.ico diff --git a/comm/mail/components/search/extensions/heureka-cz/manifest.json b/comm/mail/components/search/extensions/heureka-cz/manifest.json new file mode 100644 index 0000000000..023d3455d9 --- /dev/null +++ b/comm/mail/components/search/extensions/heureka-cz/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Heureka", + "description": "Vyhledávání na Heureka.cz", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "heureka-cz@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Heureka", + "search_url": "https://www.heureka.cz/", + "search_form": "https://www.heureka.cz/", + "search_url_get_params": "h[fraze]={searchTerms}&utm_source=firefox-search", + "suggest_url": "https://www.heureka.cz/direct/firefox/autocompleter.php", + "suggest_url_get_params": "query={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/hotline-ua/favicon.ico b/comm/mail/components/search/extensions/hotline-ua/favicon.ico Binary files differnew file mode 100644 index 0000000000..53d8fc3bac --- /dev/null +++ b/comm/mail/components/search/extensions/hotline-ua/favicon.ico diff --git a/comm/mail/components/search/extensions/hotline-ua/manifest.json b/comm/mail/components/search/extensions/hotline-ua/manifest.json new file mode 100644 index 0000000000..9f642d18a5 --- /dev/null +++ b/comm/mail/components/search/extensions/hotline-ua/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Hotline", + "description": "Hotline - порівняти ціни в інтернет-магазинах України", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "hotline-ua@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Hotline", + "search_url": "https://hotline.ua/sr/", + "search_form": "https://hotline.ua/", + "search_url_get_params": "q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/kannadastore/favicon.png b/comm/mail/components/search/extensions/kannadastore/favicon.png Binary files differnew file mode 100644 index 0000000000..8c96fe851f --- /dev/null +++ b/comm/mail/components/search/extensions/kannadastore/favicon.png diff --git a/comm/mail/components/search/extensions/kannadastore/manifest.json b/comm/mail/components/search/extensions/kannadastore/manifest.json new file mode 100644 index 0000000000..e87aeea130 --- /dev/null +++ b/comm/mail/components/search/extensions/kannadastore/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Kannada Store", + "description": "Kanada Store, Online store", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "kannadastore@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Kannada Store", + "encoding": "ISO-8859-1", + "search_url": "https://www.kannadastore.com/advanced_search_result.php", + "search_form": "https://www.kannadastore.com/advanced_search_result.php", + "search_url_get_params": "keywords={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/leo_ende_de/favicon.png b/comm/mail/components/search/extensions/leo_ende_de/favicon.png Binary files differnew file mode 100644 index 0000000000..04e5e344ef --- /dev/null +++ b/comm/mail/components/search/extensions/leo_ende_de/favicon.png diff --git a/comm/mail/components/search/extensions/leo_ende_de/manifest.json b/comm/mail/components/search/extensions/leo_ende_de/manifest.json new file mode 100644 index 0000000000..6f1b77a581 --- /dev/null +++ b/comm/mail/components/search/extensions/leo_ende_de/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "LEO Eng-Deu", + "description": "Deutsch-Englisch Wörterbuch von LEO", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "leo_ende_de@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "LEO Eng-Deu", + "search_url": "https://dict.leo.org/englisch-deutsch/{searchTerms}", + "search_form": "https://dict.leo.org", + "suggest_url": "https://dict.leo.org/dictQuery/m-query/conf/ende/query.conf/strlist.json", + "suggest_url_get_params": "q={searchTerms}&sort=PLa&shortQuery=undefined&noDescription=undefined&noQueryURLs=undefined" + } + } +} diff --git a/comm/mail/components/search/extensions/list-am/favicon.gif b/comm/mail/components/search/extensions/list-am/favicon.gif Binary files differnew file mode 100644 index 0000000000..031afb5dfc --- /dev/null +++ b/comm/mail/components/search/extensions/list-am/favicon.gif diff --git a/comm/mail/components/search/extensions/list-am/manifest.json b/comm/mail/components/search/extensions/list-am/manifest.json new file mode 100644 index 0000000000..e2dd32304b --- /dev/null +++ b/comm/mail/components/search/extensions/list-am/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "List.am", + "description": "Հանրային զերծ ads մասին: Վաճառք եւ գնման բնակարաններ, կենցաղային իրեր, որոնել աշխատանքի.", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "list-am@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.gif" + }, + "web_accessible_resources": ["favicon.gif"], + "chrome_settings_overrides": { + "search_provider": { + "name": "List.am", + "search_url": "https://www.list.am/category", + "search_form": "https://www.list.am/category?q=", + "search_url_get_params": "q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/list.json b/comm/mail/components/search/extensions/list.json new file mode 100644 index 0000000000..b3b440481c --- /dev/null +++ b/comm/mail/components/search/extensions/list.json @@ -0,0 +1,1223 @@ +{ + "default": { + "searchDefault": "Google", + "searchOrder": ["Google", "Bing"], + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "bing", + "ddg", + "wikipedia" + ] + }, + "regionOverrides": { + "CA": { + "amazondotcom": "amazon-ca", + "amazon-france": "amazon-ca" + }, + "AU": { + "amazondotcom": "amazon-au", + "amazon-en-GB": "amazon-au" + }, + "FR": { + "amazondotcom": "amazon-france" + }, + "GB": { + "amazondotcom": "amazon-en-GB" + } + }, + "locales": { + "en-US": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "bing", + "ddg", + "wikipedia" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": [ + "amazon-ca", + "amazon-au", + "yandex-en", + "google" + ] + } + }, + "ach": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia" + ] + } + }, + "af": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-af" + ] + } + }, + "an": { + "default": { + "visibleDefaultEngines": ["google", "bing", "wikipedia-an", "ddg"] + } + }, + "ar": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-ar" + ] + } + }, + "as": { + "default": { + "visibleDefaultEngines": ["google", "amazon-in", "ddg", "wikipedia-as"] + } + }, + "ast": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-ast"] + } + }, + "az": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "azerdict", + "bing", + "ddg", + "wikipedia-az", + "yandex-az" + ] + } + }, + "be": { + "default": { + "visibleDefaultEngines": [ + "yandex-by", + "google", + "ddg", + "wikipedia-be", + "wikipedia-be-tarask" + ] + }, + "BY": { + "searchDefault": "Яндекс" + }, + "KZ": { + "searchDefault": "Яндекс" + }, + "RU": { + "searchDefault": "Яндекс" + }, + "TR": { + "searchDefault": "Яндекс" + } + }, + "bg": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "ddg", + "pazaruvaj", + "wikipedia-bg" + ] + } + }, + "bn": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-in", + "bing", + "ddg", + "wikipedia-bn" + ] + } + }, + "bn-BD": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-bn"] + } + }, + "bn-IN": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-in", + "bing", + "ddg", + "wikipedia-bn" + ] + } + }, + "br": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-france", + "ddg", + "freelang", + "wikipedia-br" + ] + } + }, + "bs": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "olx", "wikipedia-bs"] + } + }, + "ca": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "diec2", + "ddg", + "wikipedia-ca" + ] + } + }, + "cak": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-es" + ] + } + }, + "crh": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "wikipedia-crh"] + } + }, + "cs": { + "default": { + "searchOrder": ["Google", "Seznam"], + "visibleDefaultEngines": [ + "google", + "seznam-cz", + "ddg", + "heureka-cz", + "mapy-cz", + "wikipedia-cz" + ] + } + }, + "cy": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "ddg", + "palasprint", + "wikipedia-cy" + ] + } + }, + "da": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-en-GB", + "ddg", + "wikipedia-da" + ] + } + }, + "de": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-de", + "bing", + "ddg", + "ecosia", + "leo_ende_de", + "wikipedia-de" + ] + } + }, + "dsb": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-de", + "ddg", + "leo_ende_de", + "wikipedia-dsb" + ] + } + }, + "el": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "bing", + "ddg", + "wikipedia-el" + ] + } + }, + "en-CA": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-ca", + "bing", + "ddg", + "wikipedia" + ] + } + }, + "en-GB": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-en-GB", + "chambers-en-GB", + "ddg", + "wikipedia" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": ["yandex-en"] + } + }, + "en-ZA": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia" + ] + } + }, + "eo": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-eo" + ] + } + }, + "es-AR": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "drae", + "ddg", + "mercadolibre-ar", + "wikipedia-es" + ] + } + }, + "es-CL": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "drae", + "ddg", + "mercadolibre-cl", + "wikipedia-es" + ] + } + }, + "es-ES": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "drae", + "ddg", + "wikipedia-es" + ] + } + }, + "es-MX": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "ddg", + "mercadolibre-mx", + "wikipedia-es" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": ["amazon-mx"] + } + }, + "et": { + "default": { + "visibleDefaultEngines": [ + "google", + "neti-ee", + "ddg", + "osta-ee", + "wikipedia-et", + "eki-ee" + ] + } + }, + "eu": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-en-GB", + "ddg", + "wikipedia-eu" + ] + } + }, + "fa": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "bing", + "ddg", + "wikipedia-fa" + ] + } + }, + "ff": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-france", + "ddg", + "wikipedia-fr" + ] + } + }, + "fi": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-fi"] + } + }, + "fr": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-france", + "ddg", + "qwant", + "wikipedia-fr" + ] + } + }, + "fy-NL": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "bolcom-fy-NL", + "ddg", + "marktplaats-fy-NL", + "wikipedia-fy-NL" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": ["amazon-nl"] + } + }, + "ga-IE": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "ddg", + "tearma", + "wikipedia-ga-IE" + ] + } + }, + "gd": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "bbc-alba", + "ddg", + "faclair-beag", + "wikipedia-gd" + ] + } + }, + "gl": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "ddg", + "wikipedia-gl" + ] + } + }, + "gn": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-gn" + ] + } + }, + "gu-IN": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia-gu" + ] + } + }, + "he": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "wikipedia-he", "morfix-dic"] + } + }, + "hi-IN": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-hi"] + } + }, + "hr": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "bing", + "ddg", + "eudict", + "wikipedia-hr" + ] + } + }, + "hsb": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-de", + "ddg", + "leo_ende_de", + "wikipedia-hsb" + ] + } + }, + "hu": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "vatera", "wikipedia-hu"] + } + }, + "hy-AM": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "ddg", + "list-am", + "wikipedia-hy" + ] + } + }, + "ia": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-ia" + ] + } + }, + "id": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "wikipedia-id"] + } + }, + "is": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-is" + ] + } + }, + "it": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-it", + "ddg", + "wikipedia-it" + ] + } + }, + "ja-JP-macos": { + "default": { + "searchOrder": [ + "Google", + "Yahoo! JAPAN", + "Bing", + "Amazon.co.jp", + "楽天市場", + "ヤフオク!", + "教えて!goo", + "Wikipedia (ja)" + ], + "visibleDefaultEngines": [ + "google", + "yahoo-jp", + "bing", + "amazon-jp", + "rakuten", + "yahoo-jp-auctions", + "oshiete-goo", + "wikipedia-ja", + "ddg" + ] + } + }, + "ja": { + "default": { + "searchOrder": [ + "Google", + "Yahoo! JAPAN", + "Bing", + "Amazon.co.jp", + "楽天市場", + "ヤフオク!", + "教えて!goo", + "Wikipedia (ja)" + ], + "visibleDefaultEngines": [ + "google", + "yahoo-jp", + "bing", + "amazon-jp", + "rakuten", + "yahoo-jp-auctions", + "oshiete-goo", + "wikipedia-ja", + "ddg" + ] + } + }, + "ka": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-ka" + ] + } + }, + "kab": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-kab"] + } + }, + "kk": { + "default": { + "visibleDefaultEngines": [ + "yandex-kk", + "google", + "ddg", + "flip", + "wikipedia-kk" + ] + }, + "KZ": { + "searchDefault": "Яндекс" + }, + "BY": { + "searchDefault": "Яндекс" + }, + "RU": { + "searchDefault": "Яндекс" + }, + "TR": { + "searchDefault": "Яндекс" + } + }, + "km": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-km" + ] + } + }, + "kn": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "kannadastore", + "wikipedia-kn" + ] + } + }, + "ko": { + "default": { + "visibleDefaultEngines": [ + "google", + "ddg", + "naver-kr", + "daum-kr", + "wikipedia-kr" + ] + } + }, + "lij": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-it", + "ddg", + "wikipedia-lij" + ] + } + }, + "lo": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-lo"] + } + }, + "lt": { + "default": { + "visibleDefaultEngines": [ + "google", + "wikipedia-lt", + "bing", + "amazondotcom", + "ddg" + ] + } + }, + "ltg": { + "default": { + "visibleDefaultEngines": [ + "google", + "ddg", + "salidzinilv", + "sslv", + "wikipedia-ltg" + ] + } + }, + "lv": { + "default": { + "visibleDefaultEngines": [ + "google", + "ddg", + "salidzinilv", + "sslv", + "wikipedia-lv" + ] + } + }, + "mai": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia-hi" + ] + } + }, + "mk": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-mk" + ] + } + }, + "ml": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia", + "wikipedia-ml" + ] + } + }, + "mr": { + "default": { + "visibleDefaultEngines": ["google", "amazon-in", "ddg", "wikipedia-mr"] + } + }, + "ms": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-ms" + ] + } + }, + "my": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-my" + ] + } + }, + "nb-NO": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "bing", + "ddg", + "gulesider-NO", + "bok-NO", + "qxl-NO", + "wikipedia-NO" + ] + } + }, + "ne-NP": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia-ne"] + } + }, + "nl": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "bolcom-nl", + "ddg", + "marktplaats-nl", + "wikipedia-nl" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": ["amazon-nl"] + } + }, + "nn-NO": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-en-GB", + "ddg", + "gulesider-NO", + "bok-NO", + "qxl-NO", + "wikipedia-NN" + ] + } + }, + "oc": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "ddg", + "wikipedia-oc", + "wiktionary-oc" + ] + } + }, + "or": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia-or" + ] + } + }, + "pa-IN": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia-pa" + ] + } + }, + "pl": { + "default": { + "visibleDefaultEngines": [ + "google", + "allegro-pl", + "ddg", + "pwn-pl", + "wikipedia-pl", + "wolnelektury-pl" + ] + } + }, + "pt-BR": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "ddg", + "mercadolivre", + "wikipedia-pt" + ] + }, + "experimental-hidden": { + "visibleDefaultEngines": ["amazon-br"] + } + }, + "pt-PT": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "ddg", + "priberam", + "wikipedia-pt" + ] + } + }, + "rm": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "ddg", + "leo_ende_de", + "wikipedia-rm" + ] + } + }, + "ro": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-ro" + ] + } + }, + "ru": { + "default": { + "visibleDefaultEngines": [ + "yandex-ru", + "google", + "ddg", + "ozonru", + "priceru", + "wikipedia-ru", + "mailru" + ] + }, + "RU": { + "searchDefault": "Яндекс" + }, + "BY": { + "searchDefault": "Яндекс" + }, + "KZ": { + "searchDefault": "Яндекс" + }, + "TR": { + "searchDefault": "Яндекс" + } + }, + "si": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "ddg", + "wikipedia-si" + ] + } + }, + "sk": { + "default": { + "visibleDefaultEngines": [ + "google", + "azet-sk", + "atlas-sk", + "ddg", + "wikipedia-sk", + "zoznam-sk" + ] + } + }, + "sl": { + "default": { + "visibleDefaultEngines": [ + "google", + "ceneji", + "ddg", + "najdi-si", + "odpiralni", + "wikipedia-sl" + ] + } + }, + "son": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-france", + "ddg", + "wikipedia-fr" + ] + } + }, + "sq": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-en-GB", + "ddg", + "wikipedia-sq" + ] + } + }, + "sr": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-en-GB", + "bing", + "ddg", + "wikipedia-sr", + "pogodak" + ] + } + }, + "sv-SE": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "allaannonser-sv-SE", + "ddg", + "prisjakt-sv-SE", + "tyda-sv-SE", + "wikipedia-sv-SE" + ] + } + }, + "ta": { + "default": { + "visibleDefaultEngines": ["google", "amazon-in", "ddg", "wikipedia-ta"] + } + }, + "te": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazon-in", + "ddg", + "wikipedia-te", + "wiktionary-te" + ] + } + }, + "th": { + "default": { + "visibleDefaultEngines": [ + "google", + "amazondotcom", + "bing", + "ddg", + "longdo", + "wikipedia-th" + ] + } + }, + "tl": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-tl" + ] + } + }, + "tr": { + "default": { + "visibleDefaultEngines": ["yandex-tr", "google", "ddg", "wikipedia-tr"] + }, + "TR": { + "searchDefault": "Yandex" + }, + "BY": { + "searchDefault": "Yandex" + }, + "KZ": { + "searchDefault": "Yandex" + }, + "RU": { + "searchDefault": "Yandex" + } + }, + "trs": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-es" + ] + } + }, + "uk": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "ddg", + "wikipedia-uk", + "hotline-ua" + ] + } + }, + "ur": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-in", + "ddg", + "wikipedia-ur" + ] + } + }, + "uz": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazondotcom", + "ddg", + "wikipedia-uz" + ] + } + }, + "vi": { + "default": { + "visibleDefaultEngines": ["google", "coccoc", "ddg", "wikipedia-vi"] + } + }, + "wo": { + "default": { + "visibleDefaultEngines": [ + "google", + "bing", + "amazon-france", + "ddg", + "wikipedia-wo" + ] + } + }, + "xh": { + "default": { + "visibleDefaultEngines": ["google", "bing", "ddg", "wikipedia"] + } + }, + "zh-CN": { + "default": { + "visibleDefaultEngines": [ + "baidu", + "google", + "bing", + "ddg", + "wikipedia-zh-CN", + "amazondotcn" + ] + }, + "CN": { + "searchDefault": "百度" + } + }, + "zh-TW": { + "default": { + "visibleDefaultEngines": ["google", "ddg", "readmoo", "wikipedia-zh-TW"] + } + } + } +} diff --git a/comm/mail/components/search/extensions/longdo/favicon.ico b/comm/mail/components/search/extensions/longdo/favicon.ico Binary files differnew file mode 100644 index 0000000000..aa42cda97f --- /dev/null +++ b/comm/mail/components/search/extensions/longdo/favicon.ico diff --git a/comm/mail/components/search/extensions/longdo/manifest.json b/comm/mail/components/search/extensions/longdo/manifest.json new file mode 100644 index 0000000000..1b86c951d5 --- /dev/null +++ b/comm/mail/components/search/extensions/longdo/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "พจนานุกรม ลองดู", + "description": "พจนานุกรม ลองดู", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "longdo@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "พจนานุกรม ลองดู", + "search_url": "https://dict.longdo.org/", + "search_form": "https://dict.longdo.org/", + "search_url_get_params": "search={searchTerms}&src=moz", + "suggest_url": "https://search.longdo.com/Suggest/HeadSearch", + "suggest_url_get_params": "ds=head&fxjson=1&key={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/mailru/favicon.ico b/comm/mail/components/search/extensions/mailru/favicon.ico Binary files differnew file mode 100644 index 0000000000..a2d3a48883 --- /dev/null +++ b/comm/mail/components/search/extensions/mailru/favicon.ico diff --git a/comm/mail/components/search/extensions/mailru/manifest.json b/comm/mail/components/search/extensions/mailru/manifest.json new file mode 100644 index 0000000000..9d5e799296 --- /dev/null +++ b/comm/mail/components/search/extensions/mailru/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Поиск Mail.Ru", + "description": "Search with Поиск Mail.Ru", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "mailru@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Поиск Mail.Ru", + "search_url": "https://go.mail.ru/search", + "search_form": "https://go.mail.ru/?gp=900200", + "search_url_get_params": "q={searchTerms}&fr=osmi&gp=900200&frc=900200", + "suggest_url": "https://suggests.go.mail.ru/ff3", + "suggest_url_get_params": "q={searchTerms}&gp=900200" + } + } +} diff --git a/comm/mail/components/search/extensions/mapy-cz/favicon.ico b/comm/mail/components/search/extensions/mapy-cz/favicon.ico Binary files differnew file mode 100644 index 0000000000..051204c35c --- /dev/null +++ b/comm/mail/components/search/extensions/mapy-cz/favicon.ico diff --git a/comm/mail/components/search/extensions/mapy-cz/manifest.json b/comm/mail/components/search/extensions/mapy-cz/manifest.json new file mode 100644 index 0000000000..2f8fdc32f1 --- /dev/null +++ b/comm/mail/components/search/extensions/mapy-cz/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Mapy.cz", + "description": "Vyhledávání na Mapy.cz", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "mapy-cz@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Mapy.cz", + "search_url": "https://www.mapy.cz/", + "search_form": "https://www.mapy.cz/", + "search_url_get_params": "query={searchTerms}&sourceid=Searchmodule_3" + } + } +} diff --git a/comm/mail/components/search/extensions/marktplaats/_locales/fy-NL/messages.json b/comm/mail/components/search/extensions/marktplaats/_locales/fy-NL/messages.json new file mode 100644 index 0000000000..4d7f884b17 --- /dev/null +++ b/comm/mail/components/search/extensions/marktplaats/_locales/fy-NL/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Marktplaats.nl" + }, + "extensionDescription": { + "message": "Sykje yn alle kategoryen op Marktplaats.nl" + }, + "searchUrl": { + "message": "https://www.marktplaats.nl/z.html" + }, + "searchForm": { + "message": "https://www.marktplaats.nl" + }, + "searchUrlGetParams": { + "message": "query={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/marktplaats/_locales/nl/messages.json b/comm/mail/components/search/extensions/marktplaats/_locales/nl/messages.json new file mode 100644 index 0000000000..c44a0a25cc --- /dev/null +++ b/comm/mail/components/search/extensions/marktplaats/_locales/nl/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "Marktplaats.nl" + }, + "extensionDescription": { + "message": "Zoeken in alle categorieën op Marktplaats.nl" + }, + "searchUrl": { + "message": "https://www.marktplaats.nl/z.html" + }, + "searchForm": { + "message": "https://www.marktplaats.nl" + }, + "searchUrlGetParams": { + "message": "query={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/marktplaats/favicon.ico b/comm/mail/components/search/extensions/marktplaats/favicon.ico Binary files differnew file mode 100644 index 0000000000..ed0ff305a6 --- /dev/null +++ b/comm/mail/components/search/extensions/marktplaats/favicon.ico diff --git a/comm/mail/components/search/extensions/marktplaats/manifest.json b/comm/mail/components/search/extensions/marktplaats/manifest.json new file mode 100644 index 0000000000..b1a41bbd02 --- /dev/null +++ b/comm/mail/components/search/extensions/marktplaats/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "marktplaats@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "fy-NL", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/mercadolibre/_locales/ar/messages.json b/comm/mail/components/search/extensions/mercadolibre/_locales/ar/messages.json new file mode 100644 index 0000000000..b83f37c6fc --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolibre/_locales/ar/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "MercadoLibre Argentina" + }, + "extensionDescription": { + "message": "MercadoLibre Argentina" + }, + "searchUrl": { + "message": "https://www.mercadolibre.com.ar/jm/search" + }, + "searchForm": { + "message": "https://www.mercadolibre.com.ar/" + }, + "searchUrlGetParams": { + "message": "as_word={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/mercadolibre/_locales/cl/messages.json b/comm/mail/components/search/extensions/mercadolibre/_locales/cl/messages.json new file mode 100644 index 0000000000..3c37756464 --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolibre/_locales/cl/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "MercadoLibre Chile" + }, + "extensionDescription": { + "message": "MercadoLibre Chile" + }, + "searchUrl": { + "message": "https://www.mercadolibre.cl/jm/search" + }, + "searchForm": { + "message": "https://www.mercadolibre.cl/" + }, + "searchUrlGetParams": { + "message": "as_word={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/mercadolibre/_locales/mx/messages.json b/comm/mail/components/search/extensions/mercadolibre/_locales/mx/messages.json new file mode 100644 index 0000000000..cb4d2b4b79 --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolibre/_locales/mx/messages.json @@ -0,0 +1,17 @@ +{ + "extensionName": { + "message": "MercadoLibre Mexico" + }, + "extensionDescription": { + "message": "MercadoLibre Mexico" + }, + "searchUrl": { + "message": "https://www.mercadolibre.com.mx/jm/search" + }, + "searchForm": { + "message": "https://www.mercadolibre.com.mx/" + }, + "searchUrlGetParams": { + "message": "as_word={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/mercadolibre/favicon.ico b/comm/mail/components/search/extensions/mercadolibre/favicon.ico Binary files differnew file mode 100644 index 0000000000..dc9ad5b2a9 --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolibre/favicon.ico diff --git a/comm/mail/components/search/extensions/mercadolibre/manifest.json b/comm/mail/components/search/extensions/mercadolibre/manifest.json new file mode 100644 index 0000000000..7af5ecc3cf --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolibre/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "mercadolibre@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "ar", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/mercadolivre/favicon.ico b/comm/mail/components/search/extensions/mercadolivre/favicon.ico Binary files differnew file mode 100644 index 0000000000..dc9ad5b2a9 --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolivre/favicon.ico diff --git a/comm/mail/components/search/extensions/mercadolivre/manifest.json b/comm/mail/components/search/extensions/mercadolivre/manifest.json new file mode 100644 index 0000000000..d70f94573f --- /dev/null +++ b/comm/mail/components/search/extensions/mercadolivre/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "MercadoLivre", + "description": "Onde comprar e vender de Tudo.", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "mercadolivre@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "MercadoLivre", + "search_url": "https://www.mercadolivre.com.br/jm/search", + "search_form": "https://www.mercadolivre.com.br/", + "search_url_get_params": "as_word={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/morfix-dic/favicon.ico b/comm/mail/components/search/extensions/morfix-dic/favicon.ico Binary files differnew file mode 100644 index 0000000000..6a3231b172 --- /dev/null +++ b/comm/mail/components/search/extensions/morfix-dic/favicon.ico diff --git a/comm/mail/components/search/extensions/morfix-dic/manifest.json b/comm/mail/components/search/extensions/morfix-dic/manifest.json new file mode 100644 index 0000000000..cacaad9ccf --- /dev/null +++ b/comm/mail/components/search/extensions/morfix-dic/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "מילון מורפיקס", + "description": "", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "morfix-dic@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "מילון מורפיקס", + "search_url": "https://milon.morfix.co.il/default.aspx", + "search_form": "https://milon.morfix.co.il/", + "search_url_get_params": "q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/najdi-si/favicon.png b/comm/mail/components/search/extensions/najdi-si/favicon.png Binary files differnew file mode 100644 index 0000000000..b470991648 --- /dev/null +++ b/comm/mail/components/search/extensions/najdi-si/favicon.png diff --git a/comm/mail/components/search/extensions/najdi-si/manifest.json b/comm/mail/components/search/extensions/najdi-si/manifest.json new file mode 100644 index 0000000000..2d7e0caaad --- /dev/null +++ b/comm/mail/components/search/extensions/najdi-si/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Najdi.si", + "description": "Iskalnik Najdi.si", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "najdi-si@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Najdi.si", + "search_url": "https://www.najdi.si/search.jsp", + "search_form": "https://www.najdi.si/", + "search_url_get_params": "q={searchTerms}&o=0&foxsbar=ff" + } + } +} diff --git a/comm/mail/components/search/extensions/naver-kr/favicon.ico b/comm/mail/components/search/extensions/naver-kr/favicon.ico Binary files differnew file mode 100644 index 0000000000..eed93a92cb --- /dev/null +++ b/comm/mail/components/search/extensions/naver-kr/favicon.ico diff --git a/comm/mail/components/search/extensions/naver-kr/manifest.json b/comm/mail/components/search/extensions/naver-kr/manifest.json new file mode 100644 index 0000000000..240fc2e0d3 --- /dev/null +++ b/comm/mail/components/search/extensions/naver-kr/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "네이버", + "description": "네이버 검색", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "naver-kr@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "네이버", + "search_url": "https://search.naver.com/search.naver", + "search_form": "https://search.naver.com", + "search_url_get_params": "where=nexearch&frm=ff&sm=oss&ie=utf8&query={searchTerms}", + "suggest_url": "https://ac.search.naver.com/nx/ac", + "suggest_url_get_params": "of=os&ie=utf-8&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/neti-ee/favicon.ico b/comm/mail/components/search/extensions/neti-ee/favicon.ico Binary files differnew file mode 100644 index 0000000000..1bc10ea7fb --- /dev/null +++ b/comm/mail/components/search/extensions/neti-ee/favicon.ico diff --git a/comm/mail/components/search/extensions/neti-ee/manifest.json b/comm/mail/components/search/extensions/neti-ee/manifest.json new file mode 100644 index 0000000000..900789fceb --- /dev/null +++ b/comm/mail/components/search/extensions/neti-ee/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Neti", + "description": "Neti", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "neti-ee@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Neti", + "search_url": "https://www.neti.ee/cgi-bin/otsing", + "search_form": "https://www.neti.ee/", + "search_url_get_params": "query={searchTerms}&src=web" + } + } +} diff --git a/comm/mail/components/search/extensions/odpiralni/favicon.png b/comm/mail/components/search/extensions/odpiralni/favicon.png Binary files differnew file mode 100644 index 0000000000..044d4f13d4 --- /dev/null +++ b/comm/mail/components/search/extensions/odpiralni/favicon.png diff --git a/comm/mail/components/search/extensions/odpiralni/manifest.json b/comm/mail/components/search/extensions/odpiralni/manifest.json new file mode 100644 index 0000000000..cee70b5cb6 --- /dev/null +++ b/comm/mail/components/search/extensions/odpiralni/manifest.json @@ -0,0 +1,23 @@ +{ + "name": "Odpiralni Časi", + "description": "Odpiralni Časi v Sloveniji", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "odpiralni@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Odpiralni Časi", + "search_url": "https://www.odpiralnicasi.com/spots", + "search_url_get_params": "q={searchTerms}&source=1" + } + } +} diff --git a/comm/mail/components/search/extensions/olx/favicon.ico b/comm/mail/components/search/extensions/olx/favicon.ico Binary files differnew file mode 100644 index 0000000000..22e472190b --- /dev/null +++ b/comm/mail/components/search/extensions/olx/favicon.ico diff --git a/comm/mail/components/search/extensions/olx/manifest.json b/comm/mail/components/search/extensions/olx/manifest.json new file mode 100644 index 0000000000..da80367b2f --- /dev/null +++ b/comm/mail/components/search/extensions/olx/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "OLX.ba", + "description": "OLX.ba pretraživač", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "olx@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "OLX.ba", + "search_url": "https://www.olx.ba/pretraga", + "search_form": "https://www.olx.ba/", + "search_url_get_params": "trazilica={searchTerms}", + "suggest_url": "https://www.olx.ba/sugestije/firefox_pojmovi", + "suggest_url_get_params": "sta={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/oshiete-goo/favicon.ico b/comm/mail/components/search/extensions/oshiete-goo/favicon.ico Binary files differnew file mode 100644 index 0000000000..ee454036dd --- /dev/null +++ b/comm/mail/components/search/extensions/oshiete-goo/favicon.ico diff --git a/comm/mail/components/search/extensions/oshiete-goo/manifest.json b/comm/mail/components/search/extensions/oshiete-goo/manifest.json new file mode 100644 index 0000000000..be6d6fb8e5 --- /dev/null +++ b/comm/mail/components/search/extensions/oshiete-goo/manifest.json @@ -0,0 +1,23 @@ +{ + "name": "教えて!goo", + "description": "教えて!goo", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "oshiete-goo@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "教えて!goo", + "search_url": "https://oshiete.goo.ne.jp/search_goo/result/", + "search_url_get_params": "MT={searchTerms}&from=Firefox30&PT=Firefox30" + } + } +} diff --git a/comm/mail/components/search/extensions/osta-ee/favicon.png b/comm/mail/components/search/extensions/osta-ee/favicon.png Binary files differnew file mode 100644 index 0000000000..e67b9c3abf --- /dev/null +++ b/comm/mail/components/search/extensions/osta-ee/favicon.png diff --git a/comm/mail/components/search/extensions/osta-ee/manifest.json b/comm/mail/components/search/extensions/osta-ee/manifest.json new file mode 100644 index 0000000000..7940471355 --- /dev/null +++ b/comm/mail/components/search/extensions/osta-ee/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Osta", + "description": "Osta", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "osta-ee@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Osta", + "search_url": "https://www.osta.ee/firefox/", + "search_form": "https://www.osta.ee/", + "search_url_get_params": "keyword={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/ozonru/favicon.ico b/comm/mail/components/search/extensions/ozonru/favicon.ico Binary files differnew file mode 100644 index 0000000000..eecb97a330 --- /dev/null +++ b/comm/mail/components/search/extensions/ozonru/favicon.ico diff --git a/comm/mail/components/search/extensions/ozonru/manifest.json b/comm/mail/components/search/extensions/ozonru/manifest.json new file mode 100644 index 0000000000..35d0d3f1a5 --- /dev/null +++ b/comm/mail/components/search/extensions/ozonru/manifest.json @@ -0,0 +1,27 @@ +{ + "name": "OZON.ru", + "description": "OZON.ru provider", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "ozonru@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "OZON.ru", + "encoding": "WINDOWS-1251", + "search_url": "https://www.ozon.ru/?", + "search_form": "https://www.ozon.ru/", + "search_url_get_params": "context=search&text={searchTerms}&from=firefox", + "suggest_url": "https://www.ozon.ru/JSONSuggestionHandler.ashx", + "suggest_url_get_params": "text={searchTerms}&from=firefox" + } + } +} diff --git a/comm/mail/components/search/extensions/palasprint/favicon.ico b/comm/mail/components/search/extensions/palasprint/favicon.ico Binary files differnew file mode 100644 index 0000000000..afa4eef392 --- /dev/null +++ b/comm/mail/components/search/extensions/palasprint/favicon.ico diff --git a/comm/mail/components/search/extensions/palasprint/manifest.json b/comm/mail/components/search/extensions/palasprint/manifest.json new file mode 100644 index 0000000000..9786e0679c --- /dev/null +++ b/comm/mail/components/search/extensions/palasprint/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Palas Print", + "description": "Palas Print - Heb Ffiniau", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "palasprint@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Palas Print", + "search_url": "https://palasprint.com/siopa/search_all.php", + "search_form": "https://palasprint.com/siopa/advanced_search.php", + "search_url_get_params": "keywords={searchTerms}&source=mozilla" + } + } +} diff --git a/comm/mail/components/search/extensions/pazaruvaj/favicon.ico b/comm/mail/components/search/extensions/pazaruvaj/favicon.ico Binary files differnew file mode 100644 index 0000000000..36f0cff233 --- /dev/null +++ b/comm/mail/components/search/extensions/pazaruvaj/favicon.ico diff --git a/comm/mail/components/search/extensions/pazaruvaj/manifest.json b/comm/mail/components/search/extensions/pazaruvaj/manifest.json new file mode 100644 index 0000000000..b94dce2668 --- /dev/null +++ b/comm/mail/components/search/extensions/pazaruvaj/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Pazaruvaj", + "description": "Надежден помощник за покупки, сравнение на цени, онлайн магазини, описания, мнения, видеоклипове", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "pazaruvaj@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Pazaruvaj", + "search_url": "https://www.pazaruvaj.com/CategorySearch.php", + "search_form": "https://www.pazaruvaj.com/", + "search_url_get_params": "st={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/pogodak/favicon.ico b/comm/mail/components/search/extensions/pogodak/favicon.ico Binary files differnew file mode 100644 index 0000000000..1bae4f838d --- /dev/null +++ b/comm/mail/components/search/extensions/pogodak/favicon.ico diff --git a/comm/mail/components/search/extensions/pogodak/manifest.json b/comm/mail/components/search/extensions/pogodak/manifest.json new file mode 100644 index 0000000000..e17e175620 --- /dev/null +++ b/comm/mail/components/search/extensions/pogodak/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Погодак", + "description": "Погодак: претраживач Интернета", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "pogodak@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Погодак", + "search_url": "https://www.pogodak.rs/pretraga", + "search_form": "https://www.pogodak.rs", + "search_url_get_params": "q={searchTerms}&foxsbar=ff" + } + } +} diff --git a/comm/mail/components/search/extensions/priberam/favicon.png b/comm/mail/components/search/extensions/priberam/favicon.png Binary files differnew file mode 100644 index 0000000000..98924439d5 --- /dev/null +++ b/comm/mail/components/search/extensions/priberam/favicon.png diff --git a/comm/mail/components/search/extensions/priberam/manifest.json b/comm/mail/components/search/extensions/priberam/manifest.json new file mode 100644 index 0000000000..f344d4def4 --- /dev/null +++ b/comm/mail/components/search/extensions/priberam/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Priberam", + "description": "Dicionário Priberam", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "priberam@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Priberam", + "encoding": "ISO-8859-15", + "search_url": "https://www.priberam.pt/dlpo/firefox.aspx", + "search_form": "https://www.priberam.pt/dlpo/", + "search_url_get_params": "pal={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/priceru/favicon.ico b/comm/mail/components/search/extensions/priceru/favicon.ico Binary files differnew file mode 100644 index 0000000000..ee4ca656ca --- /dev/null +++ b/comm/mail/components/search/extensions/priceru/favicon.ico diff --git a/comm/mail/components/search/extensions/priceru/manifest.json b/comm/mail/components/search/extensions/priceru/manifest.json new file mode 100644 index 0000000000..1eff4b2e47 --- /dev/null +++ b/comm/mail/components/search/extensions/priceru/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Price.ru", + "description": "Поиск предложений и цен", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "priceru@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Price.ru", + "search_url": "https://price.ru/search", + "search_form": "https://price.ru/index.html", + "search_url_get_params": "query={searchTerms}&from=fx3" + } + } +} diff --git a/comm/mail/components/search/extensions/prisjakt-sv-SE/favicon.ico b/comm/mail/components/search/extensions/prisjakt-sv-SE/favicon.ico Binary files differnew file mode 100644 index 0000000000..feac665f71 --- /dev/null +++ b/comm/mail/components/search/extensions/prisjakt-sv-SE/favicon.ico diff --git a/comm/mail/components/search/extensions/prisjakt-sv-SE/manifest.json b/comm/mail/components/search/extensions/prisjakt-sv-SE/manifest.json new file mode 100644 index 0000000000..442cb0414e --- /dev/null +++ b/comm/mail/components/search/extensions/prisjakt-sv-SE/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Prisjakt", + "description": "Prisjakt - jämför priser och produkter", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "prisjakt-sv-SE@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Prisjakt", + "search_url": "https://www.prisjakt.nu/#rparams=ss={searchTerms}", + "search_form": "https://www.prisjakt.nu/#rparams=ss={searchTerms}", + "suggest_url": "https://www.prisjakt.nu/plugins/opensearch/suggestions.php", + "suggest_url_get_params": "search={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/pwn-pl/favicon.png b/comm/mail/components/search/extensions/pwn-pl/favicon.png Binary files differnew file mode 100644 index 0000000000..3cbae12d48 --- /dev/null +++ b/comm/mail/components/search/extensions/pwn-pl/favicon.png diff --git a/comm/mail/components/search/extensions/pwn-pl/manifest.json b/comm/mail/components/search/extensions/pwn-pl/manifest.json new file mode 100644 index 0000000000..46375e9983 --- /dev/null +++ b/comm/mail/components/search/extensions/pwn-pl/manifest.json @@ -0,0 +1,23 @@ +{ + "name": "Encyklopedia PWN", + "description": "Wyszukiwanie w Encyklopedii PWN", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "pwn-pl@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Encyklopedia PWN", + "search_url": "https://encyklopedia.pwn.pl/szukaj/{searchTerms}", + "search_form": "https://encyklopedia.pwn.pl/szukaj/" + } + } +} diff --git a/comm/mail/components/search/extensions/qwant/favicon.ico b/comm/mail/components/search/extensions/qwant/favicon.ico Binary files differnew file mode 100644 index 0000000000..d43d1d5aa6 --- /dev/null +++ b/comm/mail/components/search/extensions/qwant/favicon.ico diff --git a/comm/mail/components/search/extensions/qwant/manifest.json b/comm/mail/components/search/extensions/qwant/manifest.json new file mode 100644 index 0000000000..07fbf85cce --- /dev/null +++ b/comm/mail/components/search/extensions/qwant/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Qwant", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "qwant@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Qwant", + "search_url": "https://www.qwant.com/", + "search_url_get_params": "client=brz-moz&q={searchTerms}", + "suggest_url": "https://api.qwant.com/api/suggest/", + "suggest_url_get_params": "client=opensearch&q={searchTerms}", + "search_form": "https://www.qwant.com/" + } + } +} diff --git a/comm/mail/components/search/extensions/qxl-NO/favicon.ico b/comm/mail/components/search/extensions/qxl-NO/favicon.ico Binary files differnew file mode 100644 index 0000000000..02ee1fc283 --- /dev/null +++ b/comm/mail/components/search/extensions/qxl-NO/favicon.ico diff --git a/comm/mail/components/search/extensions/qxl-NO/manifest.json b/comm/mail/components/search/extensions/qxl-NO/manifest.json new file mode 100644 index 0000000000..8f98d766ce --- /dev/null +++ b/comm/mail/components/search/extensions/qxl-NO/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "QXL", + "description": "QXL søk", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "qxl-NO@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "QXL", + "search_url": "https://www.qxl.no/search/search.asp", + "search_form": "https://www.qxl.no/", + "search_url_get_params": "txtSearch={searchTerms}&InTitleAndDesc=1&sourceid=Mozilla-search" + } + } +} diff --git a/comm/mail/components/search/extensions/rakuten/favicon.ico b/comm/mail/components/search/extensions/rakuten/favicon.ico Binary files differnew file mode 100644 index 0000000000..66afe98469 --- /dev/null +++ b/comm/mail/components/search/extensions/rakuten/favicon.ico diff --git a/comm/mail/components/search/extensions/rakuten/manifest.json b/comm/mail/components/search/extensions/rakuten/manifest.json new file mode 100644 index 0000000000..ba590dba76 --- /dev/null +++ b/comm/mail/components/search/extensions/rakuten/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "楽天市場", + "description": "楽天市場 商品検索", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "rakuten@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "楽天市場", + "encoding": "EUC-JP", + "search_url": "https://pt.afl.rakuten.co.jp/c/013ca98b.cd7c5f0c/", + "search_form": "https://www.rakuten.co.jp/", + "search_url_get_params": "sitem={searchTerms}&sv=2&p=0" + } + } +} diff --git a/comm/mail/components/search/extensions/readmoo/favicon.ico b/comm/mail/components/search/extensions/readmoo/favicon.ico Binary files differnew file mode 100644 index 0000000000..75396dc9ca --- /dev/null +++ b/comm/mail/components/search/extensions/readmoo/favicon.ico diff --git a/comm/mail/components/search/extensions/readmoo/manifest.json b/comm/mail/components/search/extensions/readmoo/manifest.json new file mode 100644 index 0000000000..f9d8a24f3c --- /dev/null +++ b/comm/mail/components/search/extensions/readmoo/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Readmoo 讀墨電子書", + "description": "Readmoo 讀墨電子書", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "readmoo@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Readmoo 讀墨電子書", + "search_url": "https://readmoo.com/search/keyword", + "search_form": "https://readmoo.com/search/keyword?pi=0&q={searchTerms}&st=true", + "search_url_get_params": "pi=0&q={searchTerms}&st=true" + } + } +} diff --git a/comm/mail/components/search/extensions/salidzinilv/favicon.ico b/comm/mail/components/search/extensions/salidzinilv/favicon.ico Binary files differnew file mode 100644 index 0000000000..0a7d01cae8 --- /dev/null +++ b/comm/mail/components/search/extensions/salidzinilv/favicon.ico diff --git a/comm/mail/components/search/extensions/salidzinilv/manifest.json b/comm/mail/components/search/extensions/salidzinilv/manifest.json new file mode 100644 index 0000000000..322a378eae --- /dev/null +++ b/comm/mail/components/search/extensions/salidzinilv/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Salidzini.lv", + "description": "Salidzini.lv - Latvijas interneta veikalu mekletajs", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "salidzinilv@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Salidzini.lv", + "search_url": "https://www.salidzini.lv/search.php", + "search_form": "https://salidzini.lv", + "search_url_get_params": "q={searchTerms}&utm_source=firefox-plugin", + "suggest_url": "https://www.salidzini.lv/suggested_search.php", + "suggest_url_get_params": "q={searchTerms}&utm_source=firefox-plugin" + } + } +} diff --git a/comm/mail/components/search/extensions/seznam-cz/favicon.ico b/comm/mail/components/search/extensions/seznam-cz/favicon.ico Binary files differnew file mode 100644 index 0000000000..f3e078a107 --- /dev/null +++ b/comm/mail/components/search/extensions/seznam-cz/favicon.ico diff --git a/comm/mail/components/search/extensions/seznam-cz/manifest.json b/comm/mail/components/search/extensions/seznam-cz/manifest.json new file mode 100644 index 0000000000..838cbb497f --- /dev/null +++ b/comm/mail/components/search/extensions/seznam-cz/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Seznam", + "description": "Vyhledávání na Seznam.cz", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "seznam-cz@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Seznam", + "search_url": "https://search.seznam.cz/", + "search_form": "https://search.seznam.cz/?q={searchTerms}&sourceid=firefox", + "search_url_get_params": "q={searchTerms}&sourceid=firefox", + "suggest_url": "https://suggest.seznam.cz/fulltext_ff", + "suggest_url_get_params": "phrase={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/sslv/favicon.ico b/comm/mail/components/search/extensions/sslv/favicon.ico Binary files differnew file mode 100644 index 0000000000..c6869229a2 --- /dev/null +++ b/comm/mail/components/search/extensions/sslv/favicon.ico diff --git a/comm/mail/components/search/extensions/sslv/manifest.json b/comm/mail/components/search/extensions/sslv/manifest.json new file mode 100644 index 0000000000..3de8483fae --- /dev/null +++ b/comm/mail/components/search/extensions/sslv/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "SS.lv", + "description": "SS.lv - Lielākais sludinājumu serviss Latvijā", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "sslv@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "SS.lv", + "search_url": "https://www.ss.lv/lv/search_result/index.html", + "search_form": "https://www.ss.lv", + "search_url_post_params": "txt={searchTerms}&from=firefox-plugin" + } + } +} diff --git a/comm/mail/components/search/extensions/tearma/favicon.ico b/comm/mail/components/search/extensions/tearma/favicon.ico Binary files differnew file mode 100644 index 0000000000..23866521ea --- /dev/null +++ b/comm/mail/components/search/extensions/tearma/favicon.ico diff --git a/comm/mail/components/search/extensions/tearma/manifest.json b/comm/mail/components/search/extensions/tearma/manifest.json new file mode 100644 index 0000000000..ae081f5927 --- /dev/null +++ b/comm/mail/components/search/extensions/tearma/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "tearma.ie", + "description": "tearma.ie: Cuardach Comhtháite", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "tearma@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "tearma.ie", + "search_url": "https://www.tearma.ie/Search.aspx", + "search_form": "https://www.tearma.ie/Home.aspx", + "search_url_get_params": "term={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/tyda-sv-SE/favicon.ico b/comm/mail/components/search/extensions/tyda-sv-SE/favicon.ico Binary files differnew file mode 100644 index 0000000000..7415cbb160 --- /dev/null +++ b/comm/mail/components/search/extensions/tyda-sv-SE/favicon.ico diff --git a/comm/mail/components/search/extensions/tyda-sv-SE/manifest.json b/comm/mail/components/search/extensions/tyda-sv-SE/manifest.json new file mode 100644 index 0000000000..2e13ba2a52 --- /dev/null +++ b/comm/mail/components/search/extensions/tyda-sv-SE/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Tyda.se", + "description": "Tyda.se, lexikon, ordlista och översättning.", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "tyda-sv-SE@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Tyda.se", + "search_url": "https://tyda.se", + "search_form": "https://tyda.se", + "search_url_get_params": "w={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/vatera/favicon.ico b/comm/mail/components/search/extensions/vatera/favicon.ico Binary files differnew file mode 100644 index 0000000000..5b02f16cb9 --- /dev/null +++ b/comm/mail/components/search/extensions/vatera/favicon.ico diff --git a/comm/mail/components/search/extensions/vatera/manifest.json b/comm/mail/components/search/extensions/vatera/manifest.json new file mode 100644 index 0000000000..af690f27e0 --- /dev/null +++ b/comm/mail/components/search/extensions/vatera/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Vatera.hu", + "description": "Keresés a Vatera.hu piacterén", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "vatera@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Vatera.hu", + "encoding": "ISO-8859-2", + "search_url": "https://www.vatera.hu/listings/index.php", + "search_form": "https://www.vatera.hu/", + "search_url_get_params": "q={searchTerms}&c=0&td=on" + } + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/NN/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/NN/messages.json new file mode 100644 index 0000000000..04f669eed9 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/NN/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (nn)" + }, + "extensionDescription": { + "message": "Wikipedia, det frie oppslagsverket" + }, + "searchUrl": { + "message": "https://nn.wikipedia.org/wiki/Spesial:Søk" + }, + "searchForm": { + "message": "https://nn.wikipedia.org/wiki/Spesial:Søk?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://nn.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/NO/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/NO/messages.json new file mode 100644 index 0000000000..243806e727 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/NO/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (no)" + }, + "extensionDescription": { + "message": "Wikipedia, den frie encyklopedi" + }, + "searchUrl": { + "message": "https://no.wikipedia.org/wiki/Spesial:Søk" + }, + "searchForm": { + "message": "https://no.wikipedia.org/wiki/Spesial:Søk?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://no.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/af/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/af/messages.json new file mode 100644 index 0000000000..9314533645 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/af/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (af)" + }, + "extensionDescription": { + "message": "Wikipedia, die vrye ensiklopedie" + }, + "searchUrl": { + "message": "https://af.wikipedia.org/wiki/Spesiaal:Soek" + }, + "searchForm": { + "message": "https://af.wikipedia.org/wiki/Spesiaal:Soek?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://af.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/an/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/an/messages.json new file mode 100644 index 0000000000..ec6fdbf01e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/an/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Biquipedia (an)" + }, + "extensionDescription": { + "message": "A enciclopedia Libre" + }, + "searchUrl": { + "message": "https://an.wikipedia.org/wiki/Especial:Mirar" + }, + "searchForm": { + "message": "https://an.wikipedia.org/wiki/Especial:Mirar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://an.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ar/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ar/messages.json new file mode 100644 index 0000000000..7b5b0a2cab --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ar/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ويكيبيديا (ar)" + }, + "extensionDescription": { + "message": "ويكيبيديا (ar)" + }, + "searchUrl": { + "message": "https://ar.wikipedia.org/wiki/خاص:بحث" + }, + "searchForm": { + "message": "https://ar.wikipedia.org/wiki/خاص:بحث?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ar.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/as/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/as/messages.json new file mode 100644 index 0000000000..ecdffd517e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/as/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (as)" + }, + "extensionDescription": { + "message": "ৱিকিপিডিয়া, এখন মুক্ত বিশ্বকোষ" + }, + "searchUrl": { + "message": "https://as.wikipedia.org/wiki/বিশেষ:সন্ধান" + }, + "searchForm": { + "message": "https://as.wikipedia.org/wiki/বিশেষ:সন্ধান?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://as.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ast/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ast/messages.json new file mode 100644 index 0000000000..c6b9c18c88 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ast/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Uiquipedia (ast)" + }, + "extensionDescription": { + "message": "La enciclopedia llibre" + }, + "searchUrl": { + "message": "https://ast.wikipedia.org/wiki/Especial:Gueta" + }, + "searchForm": { + "message": "https://ast.wikipedia.org/wiki/Especial:Gueta?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ast.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/az/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/az/messages.json new file mode 100644 index 0000000000..638af3d874 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/az/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipediya (az)" + }, + "extensionDescription": { + "message": "Vikipediya, açıq ensiklopediya" + }, + "searchUrl": { + "message": "https://az.wikipedia.org/wiki/Xüsusi:Axtar" + }, + "searchForm": { + "message": "https://az.wikipedia.org/wiki/Xüsusi:Axtar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://az.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/be-tarask/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/be-tarask/messages.json new file mode 100644 index 0000000000..6a399c8268 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/be-tarask/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Вікіпэдыя (be-tarask)" + }, + "extensionDescription": { + "message": "Вікіпэдыя, вольная энцыкляпэдыя" + }, + "searchUrl": { + "message": "https://be-tarask.wikipedia.org/wiki/Спэцыяльныя:Пошук" + }, + "searchForm": { + "message": "https://be-tarask.wikipedia.org/wiki/Спэцыяльныя:Пошук?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://be-tarask.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/be/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/be/messages.json new file mode 100644 index 0000000000..651ecfa2aa --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/be/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Вікіпедыя (be)" + }, + "extensionDescription": { + "message": "Вікіпедыя, свабодная энцыклапедыя" + }, + "searchUrl": { + "message": "https://be.wikipedia.org/wiki/Адмысловае:Search" + }, + "searchForm": { + "message": "https://be.wikipedia.org/wiki/Адмысловае:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://be.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/bg/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/bg/messages.json new file mode 100644 index 0000000000..4061aa8e94 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/bg/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Уикипедия (bg)" + }, + "extensionDescription": { + "message": "Уикипедия, свободната енциклоподия" + }, + "searchUrl": { + "message": "https://bg.wikipedia.org/wiki/Специални:Търсене" + }, + "searchForm": { + "message": "https://bg.wikipedia.org/wiki/Специални:Търсене?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://bg.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/bn/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/bn/messages.json new file mode 100644 index 0000000000..c41a811f81 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/bn/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "উইকিপিডিয়া (bn)" + }, + "extensionDescription": { + "message": "উইকিপিডিয়া, মুক্ত বিশ্বকোষ" + }, + "searchUrl": { + "message": "https://bn.wikipedia.org/wiki/বিশেষ:Search" + }, + "searchForm": { + "message": "https://bn.wikipedia.org/wiki/বিশেষ:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://bn.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/br/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/br/messages.json new file mode 100644 index 0000000000..7f59a6dd26 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/br/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (br)" + }, + "extensionDescription": { + "message": "Wikipedia, an holloueziadur digor" + }, + "searchUrl": { + "message": "https://br.wikipedia.org/wiki/Dibar:Klask" + }, + "searchForm": { + "message": "https://br.wikipedia.org/wiki/Dibar:Klask?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://br.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/bs/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/bs/messages.json new file mode 100644 index 0000000000..06e27829f3 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/bs/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (bs)" + }, + "extensionDescription": { + "message": "Slobodna enciklopedija" + }, + "searchUrl": { + "message": "https://bs.wikipedia.org/wiki/Posebno:Pretraga" + }, + "searchForm": { + "message": "https://bs.wikipedia.org/wiki/Posebno:Pretraga?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://bs.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ca/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ca/messages.json new file mode 100644 index 0000000000..22ab489096 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ca/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Viquipèdia (ca)" + }, + "extensionDescription": { + "message": "L'enciclopèdia lliure" + }, + "searchUrl": { + "message": "https://ca.wikipedia.org/wiki/Especial:Cerca" + }, + "searchForm": { + "message": "https://ca.wikipedia.org/wiki/Especial:Cerca?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ca.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/crh/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/crh/messages.json new file mode 100644 index 0000000000..1e1a76452c --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/crh/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipediya (crh)" + }, + "extensionDescription": { + "message": "Vikipediya, Azat Entsiklopediya" + }, + "searchUrl": { + "message": "https://crh.wikipedia.org/wiki/Mahsus:Search" + }, + "searchForm": { + "message": "https://crh.wikipedia.org/wiki/Mahsus:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://crh.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/cy/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/cy/messages.json new file mode 100644 index 0000000000..62915e52a5 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/cy/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wicipedia (cy)" + }, + "extensionDescription": { + "message": "Wicipedia, Y Gwyddioniadur Rhydd" + }, + "searchUrl": { + "message": "https://cy.wikipedia.org/wiki/Arbennig:Search" + }, + "searchForm": { + "message": "https://cy.wikipedia.org/wiki/Arbennig:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://cy.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/cz/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/cz/messages.json new file mode 100644 index 0000000000..53b17f885a --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/cz/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedie (cs)" + }, + "extensionDescription": { + "message": "Wikipedia, svobodná encyclopedie" + }, + "searchUrl": { + "message": "https://cs.wikipedia.org/wiki/Speciální:Hledání" + }, + "searchForm": { + "message": "https://cs.wikipedia.org/wiki/Speciální:Hledání?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://cs.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/da/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/da/messages.json new file mode 100644 index 0000000000..5deb79d125 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/da/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (da)" + }, + "extensionDescription": { + "message": "Wikipedia, den frie encyklopædi" + }, + "searchUrl": { + "message": "https://da.wikipedia.org/wiki/Speciel:Søgning" + }, + "searchForm": { + "message": "https://da.wikipedia.org/wiki/Speciel:Søgning?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://da.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/de/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/de/messages.json new file mode 100644 index 0000000000..c4d2dd558c --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/de/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (de)" + }, + "extensionDescription": { + "message": "Wikipedia, die freie Enzyklopädie" + }, + "searchUrl": { + "message": "https://de.wikipedia.org/wiki/Spezial:Suche" + }, + "searchForm": { + "message": "https://de.wikipedia.org/wiki/Spezial:Suche?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://de.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/dsb/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/dsb/messages.json new file mode 100644 index 0000000000..e8cb687084 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/dsb/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedija (dsb)" + }, + "extensionDescription": { + "message": "Wikipedija, lichotna encyklopedija" + }, + "searchUrl": { + "message": "https://dsb.wikipedia.org/wiki/Specialne:Pytaś" + }, + "searchForm": { + "message": "https://dsb.wikipedia.org/wiki/Specialne:Pytaś?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://dsb.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/el/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/el/messages.json new file mode 100644 index 0000000000..5b8c494f98 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/el/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (el)" + }, + "extensionDescription": { + "message": "Βικιπαίδεια, η ελεύθερη εγκυκλοπαίδεια" + }, + "searchUrl": { + "message": "https://el.wikipedia.org/wiki/Ειδικό:Αναζήτηση" + }, + "searchForm": { + "message": "https://el.wikipedia.org/wiki/Ειδικό:Αναζήτηση?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://el.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/en/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/en/messages.json new file mode 100644 index 0000000000..56c69e5c32 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/en/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (en)" + }, + "extensionDescription": { + "message": "Wikipedia, the Free Encyclopedia" + }, + "searchUrl": { + "message": "https://en.wikipedia.org/wiki/Special:Search" + }, + "searchForm": { + "message": "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://en.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/eo/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/eo/messages.json new file mode 100644 index 0000000000..66b3212e5b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/eo/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipedio (eo)" + }, + "extensionDescription": { + "message": "Vikipedio, la libera enciklopedio" + }, + "searchUrl": { + "message": "https://eo.wikipedia.org/wiki/Specialaĵo:Serĉi" + }, + "searchForm": { + "message": "https://eo.wikipedia.org/wiki/Specialaĵo:Serĉi?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://eo.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/es/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/es/messages.json new file mode 100644 index 0000000000..ff797d0834 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/es/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (es)" + }, + "extensionDescription": { + "message": "Wikipedia, la enciclopedia libre" + }, + "searchUrl": { + "message": "https://es.wikipedia.org/wiki/Especial:Buscar" + }, + "searchForm": { + "message": "https://es.wikipedia.org/wiki/Especial:Buscar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://es.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/et/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/et/messages.json new file mode 100644 index 0000000000..25cf22893b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/et/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipeedia (et)" + }, + "extensionDescription": { + "message": "Vikipeedia, vaba entsüklopeedia" + }, + "searchUrl": { + "message": "https://et.wikipedia.org/wiki/Eri:Otsimine" + }, + "searchForm": { + "message": "https://et.wikipedia.org/wiki/Eri:Otsimine?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://et.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/eu/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/eu/messages.json new file mode 100644 index 0000000000..eea1c365d8 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/eu/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (eu)" + }, + "extensionDescription": { + "message": "Wikipedia, entziklopedia askea" + }, + "searchUrl": { + "message": "https://eu.wikipedia.org/wiki/Berezi:Bilatu" + }, + "searchForm": { + "message": "https://eu.wikipedia.org/wiki/Berezi:Bilatu?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://eu.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/fa/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/fa/messages.json new file mode 100644 index 0000000000..a48eca478f --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/fa/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ویکیپدیا (fa)" + }, + "extensionDescription": { + "message": "ویکیپدیا، دانشنامهٔ آزاد" + }, + "searchUrl": { + "message": "https://fa.wikipedia.org/wiki/ویژه:جستجو" + }, + "searchForm": { + "message": "https://fa.wikipedia.org/wiki/ویژه:جستجو?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://fa.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/fi/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/fi/messages.json new file mode 100644 index 0000000000..696a953ca1 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/fi/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (fi)" + }, + "extensionDescription": { + "message": "Wikipedia (fi), vapaa tietosanakirja" + }, + "searchUrl": { + "message": "https://fi.wikipedia.org/wiki/Toiminnot:Haku" + }, + "searchForm": { + "message": "https://fi.wikipedia.org/wiki/Toiminnot:Haku?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://fi.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/fr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/fr/messages.json new file mode 100644 index 0000000000..80612181ad --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/fr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipédia (fr)" + }, + "extensionDescription": { + "message": "Wikipédia, l'encyclopédie libre" + }, + "searchUrl": { + "message": "https://fr.wikipedia.org/wiki/Spécial:Recherche" + }, + "searchForm": { + "message": "https://fr.wikipedia.org/wiki/Spécial:Recherche?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://fr.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/fy-NL/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/fy-NL/messages.json new file mode 100644 index 0000000000..4767aad436 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/fy-NL/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedy (fy)" + }, + "extensionDescription": { + "message": "De fergese ensyklopedy" + }, + "searchUrl": { + "message": "https://fy.wikipedia.org/wiki/Wiki:Sykje" + }, + "searchForm": { + "message": "https://fy.wikipedia.org/wiki/Wiki:Sykje?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://fy.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ga-IE/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ga-IE/messages.json new file mode 100644 index 0000000000..a9330bb066 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ga-IE/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vicipéid (ga)" + }, + "extensionDescription": { + "message": "Vicipéid, an Chiclipéid Shaor" + }, + "searchUrl": { + "message": "https://ga.wikipedia.org/wiki/Speisialta:Search" + }, + "searchForm": { + "message": "https://ga.wikipedia.org/wiki/Speisialta:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ga.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/gd/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/gd/messages.json new file mode 100644 index 0000000000..3b389e12c8 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/gd/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Uicipeid (gd)" + }, + "extensionDescription": { + "message": "Wikipedia, An leabhar mòr-eòlais" + }, + "searchUrl": { + "message": "https://gd.wikipedia.org/wiki/Sònraichte:Search" + }, + "searchForm": { + "message": "https://gd.wikipedia.org/wiki/Sònraichte:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://gd.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/gl/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/gl/messages.json new file mode 100644 index 0000000000..18cc3d73f6 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/gl/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (gl)" + }, + "extensionDescription": { + "message": "Wikipedia, a enciclopedia libre" + }, + "searchUrl": { + "message": "https://gl.wikipedia.org/wiki/Especial:Procurar" + }, + "searchForm": { + "message": "https://gl.wikipedia.org/wiki/Especial:Procurar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://gl.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/gn/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/gn/messages.json new file mode 100644 index 0000000000..e914aa66bb --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/gn/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipetã (gn)" + }, + "extensionDescription": { + "message": "Vikipetã, opaite tembikuaa hekosãsóva renda" + }, + "searchUrl": { + "message": "https://gn.wikipedia.org/wiki/Mba'echĩchĩ:Buscar" + }, + "searchForm": { + "message": "https://gn.wikipedia.org/wiki/Mba'echĩchĩ:Buscar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://gn.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/gu/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/gu/messages.json new file mode 100644 index 0000000000..f268ccb6af --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/gu/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "વિકિપીડિયા (gu)" + }, + "extensionDescription": { + "message": "વીકીપીડિયા, મુક્ત એનસાયક્લોપીડિયા" + }, + "searchUrl": { + "message": "https://gu.wikipedia.org/wiki/વિશેષ:શોધ" + }, + "searchForm": { + "message": "https://gu.wikipedia.org/wiki/વિશેષ:શોધ?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://gu.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/he/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/he/messages.json new file mode 100644 index 0000000000..f8a548f72c --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/he/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ויקיפדיה" + }, + "extensionDescription": { + "message": "ויקיפדיה" + }, + "searchUrl": { + "message": "https://he.wikipedia.org/wiki/מיוחד:חיפוש" + }, + "searchForm": { + "message": "https://he.wikipedia.org/wiki/מיוחד:חיפוש?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://he.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/hi/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/hi/messages.json new file mode 100644 index 0000000000..7db4ed195f --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/hi/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "विकिपीडिया (hi)" + }, + "extensionDescription": { + "message": "विकिपीडिया (हिन्दी)" + }, + "searchUrl": { + "message": "https://hi.wikipedia.org/wiki/विशेष:खोज" + }, + "searchForm": { + "message": "https://hi.wikipedia.org/wiki/विशेष:खोज?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://hi.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/hr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/hr/messages.json new file mode 100644 index 0000000000..f02f694c9a --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/hr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedija (hr)" + }, + "extensionDescription": { + "message": "Wikipedija, slobodna enciklopedija" + }, + "searchUrl": { + "message": "https://hr.wikipedia.org/wiki/Posebno:Traži" + }, + "searchForm": { + "message": "https://hr.wikipedia.org/wiki/Posebno:Traži?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://hr.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/hsb/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/hsb/messages.json new file mode 100644 index 0000000000..a459ffbe46 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/hsb/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedija (hsb)" + }, + "extensionDescription": { + "message": "Wikipedija, swobodna encyklopedija" + }, + "searchUrl": { + "message": "https://hsb.wikipedia.org/wiki/Specialnje:Pytać" + }, + "searchForm": { + "message": "https://hsb.wikipedia.org/wiki/Specialnje:Pytać?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://hsb.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/hu/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/hu/messages.json new file mode 100644 index 0000000000..37e725d687 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/hu/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipédia (hu)" + }, + "extensionDescription": { + "message": "Wikipedia, a szabad enciklopédia" + }, + "searchUrl": { + "message": "https://hu.wikipedia.org/wiki/Speciális:Keresés" + }, + "searchForm": { + "message": "https://hu.wikipedia.org/wiki/Speciális:Keresés?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://hu.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/hy/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/hy/messages.json new file mode 100644 index 0000000000..a6d527cc4e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/hy/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (hy)" + }, + "extensionDescription": { + "message": "Վիքիփեդիա՝ ազատ հանրագիտարան" + }, + "searchUrl": { + "message": "https://hy.wikipedia.org/wiki/Սպասարկող:Որոնել" + }, + "searchForm": { + "message": "https://hy.wikipedia.org/wiki/Սպասարկող:Որոնել?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://hy.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ia/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ia/messages.json new file mode 100644 index 0000000000..fbca585c30 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ia/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (ia)" + }, + "extensionDescription": { + "message": "Wikipedia, le encyclopedia libere" + }, + "searchUrl": { + "message": "https://ia.wikipedia.org/wiki/Special:Recerca" + }, + "searchForm": { + "message": "https://ia.wikipedia.org/wiki/Special:Recerca?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ia.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/id/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/id/messages.json new file mode 100644 index 0000000000..608dad05b7 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/id/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (id)" + }, + "extensionDescription": { + "message": "Wikipedia, ensiklopedia bebas" + }, + "searchUrl": { + "message": "https://id.wikipedia.org/wiki/Istimewa:Pencarian" + }, + "searchForm": { + "message": "https://id.wikipedia.org/wiki/Istimewa:Pencarian?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://id.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/is/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/is/messages.json new file mode 100644 index 0000000000..f33e0dd015 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/is/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (is)" + }, + "extensionDescription": { + "message": "Wikipedia, the free encyclopedia" + }, + "searchUrl": { + "message": "https://is.wikipedia.org/wiki/Kerfissíða:Leit" + }, + "searchForm": { + "message": "https://is.wikipedia.org/wiki/Kerfissíða:Leit?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://is.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/it/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/it/messages.json new file mode 100644 index 0000000000..27cff3c07b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/it/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (it)" + }, + "extensionDescription": { + "message": "Wikipedia, l'enciclopedia libera" + }, + "searchUrl": { + "message": "https://it.wikipedia.org/wiki/Speciale:Ricerca" + }, + "searchForm": { + "message": "https://it.wikipedia.org/wiki/Speciale:Ricerca?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://it.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ja/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ja/messages.json new file mode 100644 index 0000000000..84df085d54 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ja/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (ja)" + }, + "extensionDescription": { + "message": "Wikipedia - フリー百科事典" + }, + "searchUrl": { + "message": "https://ja.wikipedia.org/wiki/特別:検索" + }, + "searchForm": { + "message": "https://ja.wikipedia.org/wiki/特別:検索?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ja.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ka/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ka/messages.json new file mode 100644 index 0000000000..efe876cded --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ka/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ვიკიპედია (ka)" + }, + "extensionDescription": { + "message": "ვიკიპედია, თავისუფალი ენციკლოპედია" + }, + "searchUrl": { + "message": "https://ka.wikipedia.org/wiki/სპეციალური:ძიება" + }, + "searchForm": { + "message": "https://ka.wikipedia.org/wiki/სპეციალური:ძიება?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ka.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/kab/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/kab/messages.json new file mode 100644 index 0000000000..375b69d098 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/kab/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (kab)" + }, + "extensionDescription": { + "message": "Wikipedia, tasanayt tilellit" + }, + "searchUrl": { + "message": "https://kab.wikipedia.org/wiki/Uslig:Search" + }, + "searchForm": { + "message": "https://kab.wikipedia.org/wiki/Uslig:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://kab.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/kk/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/kk/messages.json new file mode 100644 index 0000000000..ae3ce7cc1a --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/kk/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Уикипедия (kk)" + }, + "extensionDescription": { + "message": "Уикипедия (kk)" + }, + "searchUrl": { + "message": "https://kk.wikipedia.org/wiki/Арнайы:Іздеу" + }, + "searchForm": { + "message": "https://kk.wikipedia.org/wiki/Арнайы:Іздеу?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://kk.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/km/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/km/messages.json new file mode 100644 index 0000000000..ca51223b15 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/km/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "វីគីភីឌា (km)" + }, + "extensionDescription": { + "message": "វីគីភីឌា សព្វវចនាធិប្បាយសេរី" + }, + "searchUrl": { + "message": "https://km.wikipedia.org/wiki/ពិសេស:ស្វែងរក" + }, + "searchForm": { + "message": "https://km.wikipedia.org/wiki/ពិសេស:ស្វែងរក?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://km.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/kn/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/kn/messages.json new file mode 100644 index 0000000000..20958768cb --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/kn/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (kn)" + }, + "extensionDescription": { + "message": "Wikipedia, the free encyclopedia" + }, + "searchUrl": { + "message": "https://kn.wikipedia.org/wiki/ವಿಶೇಷ:Search" + }, + "searchForm": { + "message": "https://kn.wikipedia.org/wiki/ವಿಶೇಷ:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://kn.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/kr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/kr/messages.json new file mode 100644 index 0000000000..9504c3ffb9 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/kr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "위키백과 (ko)" + }, + "extensionDescription": { + "message": "Wikipedia, the free encyclopedia" + }, + "searchUrl": { + "message": "https://ko.wikipedia.org/wiki/특수기능:찾기" + }, + "searchForm": { + "message": "https://ko.wikipedia.org/wiki/특수기능:찾기?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ko.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/lij/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/lij/messages.json new file mode 100644 index 0000000000..83a20b3776 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/lij/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (lij)" + }, + "extensionDescription": { + "message": "Wikipedia, l'enciclopedia libera" + }, + "searchUrl": { + "message": "https://lij.wikipedia.org/wiki/Speçiale:Riçerca" + }, + "searchForm": { + "message": "https://lij.wikipedia.org/wiki/Speçiale:Riçerca?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://lij.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/lo/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/lo/messages.json new file mode 100644 index 0000000000..30f9b0ff26 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/lo/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ວິກິພີເດຍ (lo)" + }, + "extensionDescription": { + "message": "ວິກິພີເດຍ, ສາລານຸກົມເສລີ" + }, + "searchUrl": { + "message": "https://lo.wikipedia.org/wiki/ພິເສດ:ຊອກຫາ" + }, + "searchForm": { + "message": "https://lo.wikipedia.org/wiki/ພິເສດ:ຊອກຫາ?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://lo.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/lt/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/lt/messages.json new file mode 100644 index 0000000000..93ce604144 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/lt/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (lt)" + }, + "extensionDescription": { + "message": "Vikipedija, laisvoji enciklopedija" + }, + "searchUrl": { + "message": "https://lt.wikipedia.org/wiki/Specialus:Paieška" + }, + "searchForm": { + "message": "https://lt.wikipedia.org/wiki/Specialus:Paieška?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://lt.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ltg/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ltg/messages.json new file mode 100644 index 0000000000..0456f31dba --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ltg/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipedeja (ltg)" + }, + "extensionDescription": { + "message": "Vikipēdija, breivuo eņciklopedeja" + }, + "searchUrl": { + "message": "https://ltg.wikipedia.org/wiki/Seviškuo:Search" + }, + "searchForm": { + "message": "https://ltg.wikipedia.org/wiki/Seviškuo:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ltg.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/lv/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/lv/messages.json new file mode 100644 index 0000000000..90b542f4b4 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/lv/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipēdija" + }, + "extensionDescription": { + "message": "Vikipēdija, brīvā enciklopēdija" + }, + "searchUrl": { + "message": "https://lv.wikipedia.org/wiki/Special:Search" + }, + "searchForm": { + "message": "https://lv.wikipedia.org/wiki/Special:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://lv.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/mk/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/mk/messages.json new file mode 100644 index 0000000000..ae826197ff --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/mk/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Википедија (mk)" + }, + "extensionDescription": { + "message": "Википедија, слободната енциклопедија" + }, + "searchUrl": { + "message": "https://mk.wikipedia.org/wiki/Специјална:Барај" + }, + "searchForm": { + "message": "https://mk.wikipedia.org/wiki/Специјална:Барај?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://mk.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ml/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ml/messages.json new file mode 100644 index 0000000000..9f4b397904 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ml/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "വിക്കിപീഡിയ (ml)" + }, + "extensionDescription": { + "message": "വിക്കിപീഡിയ, സ്വതന്ത്ര സര്വ്വവിജ്ഞാനകോശം " + }, + "searchUrl": { + "message": "https://ml.wikipedia.org/wiki/പ്രത്യേകം:അന്വേഷണം" + }, + "searchForm": { + "message": "https://ml.wikipedia.org/wiki/പ്രത്യേകം:അന്വേഷണം?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ml.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/mr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/mr/messages.json new file mode 100644 index 0000000000..42bd8e2426 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/mr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "विकिपीडिया (mr)" + }, + "extensionDescription": { + "message": "विकिपीडिया, मोफत माहितीकोष" + }, + "searchUrl": { + "message": "https://mr.wikipedia.org/wiki/विशेष:शोधा" + }, + "searchForm": { + "message": "https://mr.wikipedia.org/wiki/विशेष:शोधा?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://mr.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ms/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ms/messages.json new file mode 100644 index 0000000000..e804b1796a --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ms/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (ms)" + }, + "extensionDescription": { + "message": "Wikipedia, ensiklopedia bebas" + }, + "searchUrl": { + "message": "https://ms.wikipedia.org/wiki/Khas:Gelintar" + }, + "searchForm": { + "message": "https://ms.wikipedia.org/wiki/Khas:Gelintar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ms.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/my/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/my/messages.json new file mode 100644 index 0000000000..e0fda1a466 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/my/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (my)" + }, + "extensionDescription": { + "message": "အခမဲ့လွတ်လပ်စွယ်စုံကျမ်း" + }, + "searchUrl": { + "message": "https://my.wikipedia.org/wiki/Special:Search" + }, + "searchForm": { + "message": "https://my.wikipedia.org/wiki/Special:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://my.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ne/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ne/messages.json new file mode 100644 index 0000000000..1d549a943e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ne/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "विकिपीडिया (ne)" + }, + "extensionDescription": { + "message": "विकिपिडिया एक स्वतन्त्र विश्वकोष" + }, + "searchUrl": { + "message": "https://ne.wikipedia.org/wiki/विशेष:Search" + }, + "searchForm": { + "message": "https://ne.wikipedia.org/wiki/विशेष:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ne.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/nl/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/nl/messages.json new file mode 100644 index 0000000000..2dda1f6deb --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/nl/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (nl)" + }, + "extensionDescription": { + "message": "De vrije encyclopedie" + }, + "searchUrl": { + "message": "https://nl.wikipedia.org/wiki/Speciaal:Zoeken" + }, + "searchForm": { + "message": "https://nl.wikipedia.org/wiki/Speciaal:Zoeken?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://nl.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/oc/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/oc/messages.json new file mode 100644 index 0000000000..b341752c63 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/oc/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipèdia (oc)" + }, + "extensionDescription": { + "message": "Wikipèdia, l'enciclopèdia liura" + }, + "searchUrl": { + "message": "https://oc.wikipedia.org/wiki/Especial:Recèrca" + }, + "searchForm": { + "message": "https://oc.wikipedia.org/wiki/Especial:Recèrca?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://oc.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/or/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/or/messages.json new file mode 100644 index 0000000000..b07957a4b7 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/or/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (or)" + }, + "extensionDescription": { + "message": "ୱିକିପିଡ଼ିଆ (ଓଡ଼ିଆ)" + }, + "searchUrl": { + "message": "https://or.wikipedia.org/wiki/ବିଶେଷ:ଖୋଜନ୍ତୁ" + }, + "searchForm": { + "message": "https://or.wikipedia.org/wiki/ବିଶେଷ:ଖୋଜନ୍ତୁ?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://or.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/pa/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/pa/messages.json new file mode 100644 index 0000000000..07804ca265 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/pa/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (pa)" + }, + "extensionDescription": { + "message": "ਵਿਕਿਪੀਡਿਆ, ਮੁਫ਼ਤ/ਮੁਕਤ ਸ਼ਬਦਕੋਸ਼" + }, + "searchUrl": { + "message": "https://pa.wikipedia.org/wiki/ਖ਼ਾਸ:ਖੋਜੋ" + }, + "searchForm": { + "message": "https://pa.wikipedia.org/wiki/ਖ਼ਾਸ:ਖੋਜੋ?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://pa.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/pl/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/pl/messages.json new file mode 100644 index 0000000000..3e7704b21a --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/pl/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (pl)" + }, + "extensionDescription": { + "message": "Wikipedia, wolna encyklopedia" + }, + "searchUrl": { + "message": "https://pl.wikipedia.org/wiki/Specjalna:Szukaj" + }, + "searchForm": { + "message": "https://pl.wikipedia.org/wiki/Specjalna:Szukaj?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://pl.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/pt/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/pt/messages.json new file mode 100644 index 0000000000..8e9bc20c77 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/pt/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (pt)" + }, + "extensionDescription": { + "message": "Wikipédia, a enciclopédia livre" + }, + "searchUrl": { + "message": "https://pt.wikipedia.org/wiki/Especial:Pesquisar" + }, + "searchForm": { + "message": "https://pt.wikipedia.org/wiki/Especial:Pesquisar?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://pt.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/rm/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/rm/messages.json new file mode 100644 index 0000000000..889657ad7e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/rm/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (rm)" + }, + "extensionDescription": { + "message": "Vichipedia, l'enciclopedia libra" + }, + "searchUrl": { + "message": "https://rm.wikipedia.org/wiki/Spezial:Search" + }, + "searchForm": { + "message": "https://rm.wikipedia.org/wiki/Spezial:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://rm.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ro/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ro/messages.json new file mode 100644 index 0000000000..8aac1e2244 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ro/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (ro)" + }, + "extensionDescription": { + "message": "Wikipedia, enciclopedia liberă" + }, + "searchUrl": { + "message": "https://ro.wikipedia.org/wiki/Special:Căutare" + }, + "searchForm": { + "message": "https://ro.wikipedia.org/wiki/Special:Căutare?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ro.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ru/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ru/messages.json new file mode 100644 index 0000000000..49243790a6 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ru/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Википедия (ru)" + }, + "extensionDescription": { + "message": "Википедия, свободная энциклопедия" + }, + "searchUrl": { + "message": "https://ru.wikipedia.org/wiki/Служебная:Поиск" + }, + "searchForm": { + "message": "https://ru.wikipedia.org/wiki/Служебная:Поиск?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ru.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/si/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/si/messages.json new file mode 100644 index 0000000000..dea75a5308 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/si/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (si)" + }, + "extensionDescription": { + "message": "Wikipedia, the free encyclopedia" + }, + "searchUrl": { + "message": "https://si.wikipedia.org/wiki/විශේෂ:ගවේෂණය" + }, + "searchForm": { + "message": "https://si.wikipedia.org/wiki/විශේෂ:ගවේෂණය?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://si.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/sk/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/sk/messages.json new file mode 100644 index 0000000000..3cfa642df7 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/sk/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipédia (sk)" + }, + "extensionDescription": { + "message": "Wikipédia, slobodná a otvorená encyklopédia" + }, + "searchUrl": { + "message": "https://sk.wikipedia.org/wiki/Špeciálne:Hľadanie" + }, + "searchForm": { + "message": "https://sk.wikipedia.org/wiki/Špeciálne:Hľadanie?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://sk.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/sl/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/sl/messages.json new file mode 100644 index 0000000000..0e9b8433a4 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/sl/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedija (sl)" + }, + "extensionDescription": { + "message": "Wikipedija, prosta enciklopedija" + }, + "searchUrl": { + "message": "https://sl.wikipedia.org/wiki/Posebno:Iskanje" + }, + "searchForm": { + "message": "https://sl.wikipedia.org/wiki/Posebno:Iskanje?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://sl.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/sq/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/sq/messages.json new file mode 100644 index 0000000000..6d6240b54f --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/sq/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (sq)" + }, + "extensionDescription": { + "message": "Wikipedia, enciklopedia e lirë" + }, + "searchUrl": { + "message": "https://sq.wikipedia.org/wiki/Speciale:Kërkim" + }, + "searchForm": { + "message": "https://sq.wikipedia.org/wiki/Speciale:Kërkim?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://sq.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/sr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/sr/messages.json new file mode 100644 index 0000000000..cf1558ffe9 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/sr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Википедија (sr)" + }, + "extensionDescription": { + "message": "Претрага Википедије на српском језику" + }, + "searchUrl": { + "message": "https://sr.wikipedia.org/wiki/Посебно:Претражи" + }, + "searchForm": { + "message": "https://sr.wikipedia.org/wiki/Посебно:Претражи?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://sr.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/sv-SE/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/sv-SE/messages.json new file mode 100644 index 0000000000..4912d25364 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/sv-SE/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (sv)" + }, + "extensionDescription": { + "message": "Wikipedia, den fria encyklopedin" + }, + "searchUrl": { + "message": "https://sv.wikipedia.org/wiki/Special:Sök" + }, + "searchForm": { + "message": "https://sv.wikipedia.org/wiki/Special:Sök?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://sv.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ta/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ta/messages.json new file mode 100644 index 0000000000..b6de753a1f --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ta/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "விக்கிப்பீடியா (ta)" + }, + "extensionDescription": { + "message": "விக்கிப்பீடியா (ta)" + }, + "searchUrl": { + "message": "https://ta.wikipedia.org/wiki/சிறப்பு:Search" + }, + "searchForm": { + "message": "https://ta.wikipedia.org/wiki/சிறப்பு:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ta.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/te/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/te/messages.json new file mode 100644 index 0000000000..f9352844d1 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/te/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "వికీపీడియా (te)" + }, + "extensionDescription": { + "message": "వికీపీడియా (te)" + }, + "searchUrl": { + "message": "https://te.wikipedia.org/wiki/ప్రత్యేక:అన్వేషణ" + }, + "searchForm": { + "message": "https://te.wikipedia.org/wiki/ప్రత్యేక:అన్వేషణ?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://te.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/th/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/th/messages.json new file mode 100644 index 0000000000..0176b84b7b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/th/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "วิกิพีเดีย" + }, + "extensionDescription": { + "message": "วิกิพีเดีย สารานุกรมเสรี" + }, + "searchUrl": { + "message": "https://th.wikipedia.org/wiki/พิเศษ:ค้นหา" + }, + "searchForm": { + "message": "https://th.wikipedia.org/wiki/พิเศษ:ค้นหา?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://th.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/tl/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/tl/messages.json new file mode 100644 index 0000000000..a5faae07cd --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/tl/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (tl)" + }, + "extensionDescription": { + "message": "Wikipedia, ang malayang ensiklopedya" + }, + "searchUrl": { + "message": "https://tl.wikipedia.org/wiki/Natatangi:Maghanap" + }, + "searchForm": { + "message": "https://tl.wikipedia.org/wiki/Natatangi:Maghanap?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://tl.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/tr/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/tr/messages.json new file mode 100644 index 0000000000..7551d615f0 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/tr/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (tr)" + }, + "extensionDescription": { + "message": "Vikipedi, özgür ansiklopedi" + }, + "searchUrl": { + "message": "https://tr.wikipedia.org/wiki/Özel:Ara" + }, + "searchForm": { + "message": "https://tr.wikipedia.org/wiki/Özel:Ara?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://tr.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/uk/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/uk/messages.json new file mode 100644 index 0000000000..c81490394b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/uk/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Вікіпедія (uk)" + }, + "extensionDescription": { + "message": "Вікіпедія, вільна енциклопедія" + }, + "searchUrl": { + "message": "https://uk.wikipedia.org/wiki/Спеціальна:Пошук" + }, + "searchForm": { + "message": "https://uk.wikipedia.org/wiki/Спеціальна:Пошук?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://uk.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/ur/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/ur/messages.json new file mode 100644 index 0000000000..f27436e3a4 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/ur/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "ویکیپیڈیا (ur)" + }, + "extensionDescription": { + "message": "ویکیپیڈیا آزاد دائرۃ المعارف" + }, + "searchUrl": { + "message": "https://ur.wikipedia.org/wiki/خاص:تلاش" + }, + "searchForm": { + "message": "https://ur.wikipedia.org/wiki/خاص:تلاش?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://ur.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/uz/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/uz/messages.json new file mode 100644 index 0000000000..eff11c31e2 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/uz/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Vikipediya (uz)" + }, + "extensionDescription": { + "message": "Vikipediya, ochiq ensiklopediya" + }, + "searchUrl": { + "message": "https://uz.wikipedia.org/wiki/Maxsus:Search" + }, + "searchForm": { + "message": "https://uz.wikipedia.org/wiki/Maxsus:Search?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://uz.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/vi/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/vi/messages.json new file mode 100644 index 0000000000..cfab54090e --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/vi/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (vi)" + }, + "extensionDescription": { + "message": "Wikipedia, bách khoa toàn thư mở" + }, + "searchUrl": { + "message": "https://vi.wikipedia.org/wiki/Đặc_biệt:Tìm_kiếm" + }, + "searchForm": { + "message": "https://vi.wikipedia.org/wiki/Đặc_biệt:Tìm_kiếm?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://vi.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/wo/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/wo/messages.json new file mode 100644 index 0000000000..43f133c54b --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/wo/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (wo)" + }, + "extensionDescription": { + "message": "Wikipedia, Jimbulang bu Ubbeeku bi" + }, + "searchUrl": { + "message": "https://wo.wikipedia.org/wiki/Jagleel:Ceet" + }, + "searchForm": { + "message": "https://wo.wikipedia.org/wiki/Jagleel:Ceet?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://wo.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/zh-CN/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/zh-CN/messages.json new file mode 100644 index 0000000000..840677e3dd --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/zh-CN/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "维基百科" + }, + "extensionDescription": { + "message": "维基百科,自由的百科全书" + }, + "searchUrl": { + "message": "https://zh.wikipedia.org/wiki/Special:搜索" + }, + "searchForm": { + "message": "https://zh.wikipedia.org/wiki/Special:搜索?search={searchTerms}&sourceid=Mozilla-search" + }, + "suggestUrl": { + "message": "https://zh.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/_locales/zh-TW/messages.json b/comm/mail/components/search/extensions/wikipedia/_locales/zh-TW/messages.json new file mode 100644 index 0000000000..60151f4265 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/_locales/zh-TW/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikipedia (zh)" + }, + "extensionDescription": { + "message": "維基百科,自由的百科全書" + }, + "searchUrl": { + "message": "https://zh.wikipedia.org/wiki/Special:搜索" + }, + "searchForm": { + "message": "https://zh.wikipedia.org/wiki/Special:搜索?search={searchTerms}&sourceid=Mozilla-search&variant=zh-tw" + }, + "suggestUrl": { + "message": "https://zh.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}&sourceid=Mozilla-search&variant=zh-tw" + } +} diff --git a/comm/mail/components/search/extensions/wikipedia/favicon.ico b/comm/mail/components/search/extensions/wikipedia/favicon.ico Binary files differnew file mode 100644 index 0000000000..4314071e24 --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/favicon.ico diff --git a/comm/mail/components/search/extensions/wikipedia/manifest.json b/comm/mail/components/search/extensions/wikipedia/manifest.json new file mode 100644 index 0000000000..f26061aadb --- /dev/null +++ b/comm/mail/components/search/extensions/wikipedia/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "wikipedia@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "en", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "suggest_url": "__MSG_suggestUrl__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/wiktionary/_locales/oc/messages.json b/comm/mail/components/search/extensions/wiktionary/_locales/oc/messages.json new file mode 100644 index 0000000000..612ef8c44a --- /dev/null +++ b/comm/mail/components/search/extensions/wiktionary/_locales/oc/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "Wikiccionari (oc)" + }, + "extensionDescription": { + "message": "Wikiccionari, lo diccionari liure" + }, + "searchUrl": { + "message": "https://oc.wiktionary.org/wiki/Especial:Recèrca" + }, + "searchForm": { + "message": "https://oc.wiktionary.org/wiki/Especial:Recèrca?search={searchTerms}" + }, + "suggestUrl": { + "message": "https://oc.wiktionary.org/w/api.php?action=opensearch&search={searchTerms}&namespace=0" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/wiktionary/_locales/te/messages.json b/comm/mail/components/search/extensions/wiktionary/_locales/te/messages.json new file mode 100644 index 0000000000..7bca94e025 --- /dev/null +++ b/comm/mail/components/search/extensions/wiktionary/_locales/te/messages.json @@ -0,0 +1,20 @@ +{ + "extensionName": { + "message": "విక్షనరీ (te)" + }, + "extensionDescription": { + "message": "విక్షనరీ (te)" + }, + "searchUrl": { + "message": "https://te.wiktionary.org/wiki/ప్రత్యేక:అన్వేషణ" + }, + "searchForm": { + "message": "https://te.wiktionary.org/wiki/ప్రత్యేక:అన్వేషణ?search={searchTerms}" + }, + "suggestUrl": { + "message": "https://te.wiktionary.org/w/api.php?action=opensearch&search={searchTerms}&namespace=0" + }, + "searchUrlGetParams": { + "message": "search={searchTerms}" + } +} diff --git a/comm/mail/components/search/extensions/wiktionary/favicon.ico b/comm/mail/components/search/extensions/wiktionary/favicon.ico Binary files differnew file mode 100644 index 0000000000..31b0e38092 --- /dev/null +++ b/comm/mail/components/search/extensions/wiktionary/favicon.ico diff --git a/comm/mail/components/search/extensions/wiktionary/manifest.json b/comm/mail/components/search/extensions/wiktionary/manifest.json new file mode 100644 index 0000000000..2206a2f8bb --- /dev/null +++ b/comm/mail/components/search/extensions/wiktionary/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "wiktionary@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "oc", + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "suggest_url": "__MSG_suggestUrl__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/wolnelektury-pl/favicon.png b/comm/mail/components/search/extensions/wolnelektury-pl/favicon.png Binary files differnew file mode 100644 index 0000000000..77f6db5322 --- /dev/null +++ b/comm/mail/components/search/extensions/wolnelektury-pl/favicon.png diff --git a/comm/mail/components/search/extensions/wolnelektury-pl/manifest.json b/comm/mail/components/search/extensions/wolnelektury-pl/manifest.json new file mode 100644 index 0000000000..25d93be370 --- /dev/null +++ b/comm/mail/components/search/extensions/wolnelektury-pl/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Wolne Lektury", + "description": "Biblioteka internetowa WolneLektury.pl", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "wolnelektury-pl@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Wolne Lektury", + "search_url": "https://wolnelektury.pl/szukaj/?q={searchTerms}", + "search_form": "https://wolnelektury.pl", + "suggest_url": "https://wolnelektury.pl/katalog/jtags/?mozhint=1&q={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/extensions/yahoo-jp-auctions/favicon.ico b/comm/mail/components/search/extensions/yahoo-jp-auctions/favicon.ico Binary files differnew file mode 100644 index 0000000000..4401c7a40e --- /dev/null +++ b/comm/mail/components/search/extensions/yahoo-jp-auctions/favicon.ico diff --git a/comm/mail/components/search/extensions/yahoo-jp-auctions/manifest.json b/comm/mail/components/search/extensions/yahoo-jp-auctions/manifest.json new file mode 100644 index 0000000000..62f5fe20b4 --- /dev/null +++ b/comm/mail/components/search/extensions/yahoo-jp-auctions/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "ヤフオク!", + "description": "ヤフオク! 検索", + "manifest_version": 2, + "version": "1.3", + "applications": { + "gecko": { + "id": "yahoo-jp-auctions@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "ヤフオク!", + "encoding": "EUC-JP", + "search_url": "https://auctions.yahoo.co.jp/search/search", + "search_form": "https://auctions.yahoo.co.jp/", + "search_url_get_params": "p={searchTerms}&ei=EUC-JP" + } + } +} diff --git a/comm/mail/components/search/extensions/yahoo-jp/favicon.ico b/comm/mail/components/search/extensions/yahoo-jp/favicon.ico Binary files differnew file mode 100644 index 0000000000..34a916ccde --- /dev/null +++ b/comm/mail/components/search/extensions/yahoo-jp/favicon.ico diff --git a/comm/mail/components/search/extensions/yahoo-jp/manifest.json b/comm/mail/components/search/extensions/yahoo-jp/manifest.json new file mode 100644 index 0000000000..6f0c339fbd --- /dev/null +++ b/comm/mail/components/search/extensions/yahoo-jp/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Yahoo! JAPAN", + "description": "Yahoo Search", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "yahoo-jp@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.ico" + }, + "web_accessible_resources": ["favicon.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Yahoo! JAPAN", + "search_url": "https://search.yahoo.co.jp/search", + "search_form": "https://search.yahoo.co.jp/", + "search_url_get_params": "p={searchTerms}&ei=UTF-8" + } + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/az/messages.json b/comm/mail/components/search/extensions/yandex/_locales/az/messages.json new file mode 100644 index 0000000000..a26b49f041 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/az/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Yandex" + }, + "extensionDescription": { + "message": "İnternetdə axtarış üçün Yandexdən istifadə edin." + }, + "searchUrl": { + "message": "https://yandex.az/search" + }, + "searchForm": { + "message": "https://www.yandex.az/" + }, + "suggestUrl": { + "message": "https://yandex.az/suggest/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-ru.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/by/messages.json b/comm/mail/components/search/extensions/yandex/_locales/by/messages.json new file mode 100644 index 0000000000..440c062610 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/by/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Яндекс" + }, + "extensionDescription": { + "message": "Пошук з дапамогаю Яндекс" + }, + "searchUrl": { + "message": "https://yandex.by/search" + }, + "searchForm": { + "message": "https://www.yandex.by/" + }, + "suggestUrl": { + "message": "https://suggest.yandex.by/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-ru.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/en/messages.json b/comm/mail/components/search/extensions/yandex/_locales/en/messages.json new file mode 100644 index 0000000000..593c0c93e7 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/en/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Yandex" + }, + "extensionDescription": { + "message": "Use Yandex to search the Internet." + }, + "searchUrl": { + "message": "https://www.yandex.com/search" + }, + "searchForm": { + "message": "https://www.yandex.com/" + }, + "suggestUrl": { + "message": "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-en.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/kk/messages.json b/comm/mail/components/search/extensions/yandex/_locales/kk/messages.json new file mode 100644 index 0000000000..2796cd93ec --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/kk/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Яндекс" + }, + "extensionDescription": { + "message": "Воспользуйтесь Яндексом для поиска в Интернете." + }, + "searchUrl": { + "message": "https://yandex.kz/search" + }, + "searchForm": { + "message": "https://www.yandex.kz/" + }, + "suggestUrl": { + "message": "https://suggest.yandex.kz/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-ru.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/ru/messages.json b/comm/mail/components/search/extensions/yandex/_locales/ru/messages.json new file mode 100644 index 0000000000..cdc5ff13be --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/ru/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Яндекс" + }, + "extensionDescription": { + "message": "Воспользуйтесь Яндексом для поиска в Интернете." + }, + "searchUrl": { + "message": "https://yandex.ru/search" + }, + "searchForm": { + "message": "https://www.yandex.ru/" + }, + "suggestUrl": { + "message": "https://suggest.yandex.ru/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-ru.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/_locales/tr/messages.json b/comm/mail/components/search/extensions/yandex/_locales/tr/messages.json new file mode 100644 index 0000000000..55d16d9956 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/_locales/tr/messages.json @@ -0,0 +1,23 @@ +{ + "extensionName": { + "message": "Yandex" + }, + "extensionDescription": { + "message": "Yandex Türkiye arama motoru" + }, + "searchUrl": { + "message": "https://yandex.com.tr/search" + }, + "searchForm": { + "message": "https://www.yandex.com.tr/" + }, + "suggestUrl": { + "message": "https://suggest.yandex.com.tr/suggest-ff.cgi?part={searchTerms}" + }, + "searchUrlGetParams": { + "message": "text={searchTerms}" + }, + "extensionIcon": { + "message": "yandex-en.ico" + } +} diff --git a/comm/mail/components/search/extensions/yandex/manifest.json b/comm/mail/components/search/extensions/yandex/manifest.json new file mode 100644 index 0000000000..d5885f5c29 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "manifest_version": 2, + "version": "1.0", + "applications": { + "gecko": { + "id": "yandex@search.mozilla.org" + } + }, + "hidden": true, + "default_locale": "en", + "icons": { + "16": "__MSG_extensionIcon__" + }, + "web_accessible_resources": ["yandex-en.ico", "yandex-ru.ico"], + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "search_url": "__MSG_searchUrl__", + "search_form": "__MSG_searchForm__", + "suggest_url": "__MSG_suggestUrl__", + "search_url_get_params": "__MSG_searchUrlGetParams__" + } + } +} diff --git a/comm/mail/components/search/extensions/yandex/yandex-en.ico b/comm/mail/components/search/extensions/yandex/yandex-en.ico Binary files differnew file mode 100644 index 0000000000..6398f30e9d --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/yandex-en.ico diff --git a/comm/mail/components/search/extensions/yandex/yandex-ru.ico b/comm/mail/components/search/extensions/yandex/yandex-ru.ico Binary files differnew file mode 100644 index 0000000000..226fc0a071 --- /dev/null +++ b/comm/mail/components/search/extensions/yandex/yandex-ru.ico diff --git a/comm/mail/components/search/extensions/zoznam-sk/favicon.png b/comm/mail/components/search/extensions/zoznam-sk/favicon.png Binary files differnew file mode 100644 index 0000000000..5774c6ff52 --- /dev/null +++ b/comm/mail/components/search/extensions/zoznam-sk/favicon.png diff --git a/comm/mail/components/search/extensions/zoznam-sk/manifest.json b/comm/mail/components/search/extensions/zoznam-sk/manifest.json new file mode 100644 index 0000000000..118cd1ba7f --- /dev/null +++ b/comm/mail/components/search/extensions/zoznam-sk/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "Zoznam", + "description": "Zoznam slovenskeho internetu", + "manifest_version": 2, + "version": "1.2", + "applications": { + "gecko": { + "id": "zoznam-sk@search.mozilla.org" + } + }, + "hidden": true, + "icons": { + "16": "favicon.png" + }, + "web_accessible_resources": ["favicon.png"], + "chrome_settings_overrides": { + "search_provider": { + "name": "Zoznam", + "encoding": "WINDOWS-1250", + "search_url": "https://www.zoznam.sk/hladaj.fcgi", + "search_form": "https://www.zoznam.sk/", + "search_url_get_params": "co=odkazy&s={searchTerms}" + } + } +} diff --git a/comm/mail/components/search/jar.mn b/comm/mail/components/search/jar.mn new file mode 100644 index 0000000000..b8d36a114b --- /dev/null +++ b/comm/mail/components/search/jar.mn @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +messenger.jar: + search-extensions/ (extensions/**) +#ifdef XP_MACOSX + content/messenger/SpotlightIntegration.js (content/SpotlightIntegration.js) +#endif +#ifdef XP_WIN + content/messenger/WinSearchIntegration.js (content/WinSearchIntegration.js) +#endif + +% resource search-plugins %searchplugins/ contentaccessible=yes +% resource search-extensions %search-extensions/ contentaccessible=yes diff --git a/comm/mail/components/search/mdimporter/English.lproj/InfoPlist.strings b/comm/mail/components/search/mdimporter/English.lproj/InfoPlist.strings Binary files differnew file mode 100644 index 0000000000..ca96e65b7e --- /dev/null +++ b/comm/mail/components/search/mdimporter/English.lproj/InfoPlist.strings diff --git a/comm/mail/components/search/mdimporter/English.lproj/schema.strings b/comm/mail/components/search/mdimporter/English.lproj/schema.strings Binary files differnew file mode 100644 index 0000000000..0f7b8d6297 --- /dev/null +++ b/comm/mail/components/search/mdimporter/English.lproj/schema.strings diff --git a/comm/mail/components/search/mdimporter/GetMetadataForFile.c b/comm/mail/components/search/mdimporter/GetMetadataForFile.c new file mode 100644 index 0000000000..cafb3f05ee --- /dev/null +++ b/comm/mail/components/search/mdimporter/GetMetadataForFile.c @@ -0,0 +1,76 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include <CoreFoundation/CoreFoundation.h> +#include <CoreServices/CoreServices.h> + +/* ----------------------------------------------------------------------------- + Get metadata attributes from file + + This function's job is to extract useful information from the .mozeml file + and return it as a dictionary + ----------------------------------------------------------------------------- + */ + +Boolean GetMetadataForFile(void* thisInterface, + CFMutableDictionaryRef attributes, + CFStringRef contentTypeUTI, CFStringRef pathToFile) { + /* Pull any available metadata from the file at the specified path */ + /* Return the attribute keys and attribute values in the dict */ + /* Return TRUE if successful, FALSE if there was no data provided */ + Boolean success; + CFURLRef fileURL = CFURLCreateWithFileSystemPath( + kCFAllocatorDefault, pathToFile, kCFURLPOSIXPathStyle, false); + CFReadStreamRef stream = + CFReadStreamCreateWithFile(kCFAllocatorDefault, fileURL); + CFReadStreamOpen(stream); + + CFErrorRef err = NULL; + CFPropertyListRef ticket = CFPropertyListCreateWithStream( + kCFAllocatorDefault, stream, + /*streamLength*/ 0, kCFPropertyListImmutable, NULL, &err); + if (err != NULL) { + CFStringRef errorString = CFErrorCopyDescription(err); + if (errorString != NULL) { + printf("failed creating property list from stream\n"); + printf("error = %s\n", (const char*)errorString); + } + CFRelease(err); + success = FALSE; + } else { + CFTypeRef value; + value = CFDictionaryGetValue(ticket, kMDItemTitle); + if (value) { + CFDictionarySetValue(attributes, kMDItemTitle, value); + } + value = CFDictionaryGetValue(ticket, kMDItemTextContent); + if (value) { + CFDictionarySetValue(attributes, kMDItemTextContent, value); + } + value = CFDictionaryGetValue(ticket, kMDItemDisplayName); + if (value) CFDictionarySetValue(attributes, kMDItemDisplayName, value); + + CFDateFormatterRef dateFormatter = CFDateFormatterCreate( + NULL, NULL, kCFDateFormatterLongStyle, kCFDateFormatterLongStyle); + + value = CFDictionaryGetValue(ticket, kMDItemLastUsedDate); + + if (value && dateFormatter) { + printf("trying to parse date \n"); + CFDateRef curDate = + CFDateFormatterCreateDateFromString(NULL, dateFormatter, value, NULL); + printf("got cur date\n"); + if (curDate) + CFDictionarySetValue(attributes, kMDItemLastUsedDate, curDate); + } + success = TRUE; + } + // contents are kMDItemTextContent + + CFReadStreamClose(stream); + CFRelease(stream); + CFRelease(fileURL); + return success; +} diff --git a/comm/mail/components/search/mdimporter/Info.plist b/comm/mail/components/search/mdimporter/Info.plist new file mode 100644 index 0000000000..ccb2f3cd10 --- /dev/null +++ b/comm/mail/components/search/mdimporter/Info.plist @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleDocumentTypes</key> + <array> + <dict> + <key>CFBundleTypeOSTypes</key> + <array> + <string>TBMZ</string> + </array> + <key>CFBundleTypeRole</key> + <string>MDImporter</string> + <key>LSItemContentTypes</key> + <array> + <string>com.mozilla.thunderbird.mozeml</string> + </array> + </dict> + </array> + <key>CFBundleExecutable</key> + <string>thunderbird-mdimport</string> + <key>CFBundleIconFile</key> + <string>thunderbird-mdimport</string> + <key>CFBundleIdentifier</key> + <string>org.mozilla.MDImporter.Thunderbird</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>Thunderbird-MDImport</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CFPlugInDynamicRegisterFunction</key> + <string></string> + <key>CFPlugInDynamicRegistration</key> + <string>NO</string> + <key>CFPlugInFactories</key> + <dict> + <key>37401ADE-1058-42DB-BBE5-F2AAB9D7C13E</key> + <string>MetadataImporterPluginFactory</string> + </dict> + <key>CFPlugInTypes</key> + <dict> + <key>8B08C4BF-415B-11D8-B3F9-0003936726FC</key> + <array> + <string>37401ADE-1058-42DB-BBE5-F2AAB9D7C13E</string> + </array> + </dict> + <key>CFPlugInUnloadFunction</key> + <string></string> +</dict> +</plist> diff --git a/comm/mail/components/search/mdimporter/Makefile.in b/comm/mail/components/search/mdimporter/Makefile.in new file mode 100644 index 0000000000..fbc6d27034 --- /dev/null +++ b/comm/mail/components/search/mdimporter/Makefile.in @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This directory is producing a framework as a target. The output of this +# framework will be located here. +FRAMEWORK_DIR := $(DIST)/package/thunderbird.mdimporter + +STRING_FILES := $(srcdir)/English.lproj/InfoPlist.strings $(srcdir)/English.lproj/schema.strings +STRING_DEST := $(FRAMEWORK_DIR)/Contents/Resources/English.lproj +INSTALL_TARGETS += STRING + +SCHEMA_FILES := $(srcdir)/schema.xml +SCHEMA_DEST := $(FRAMEWORK_DIR)/Contents/Resources +INSTALL_TARGETS += SCHEMA + +PLIST_FILES := $(srcdir)/Info.plist +PLIST_DEST := $(FRAMEWORK_DIR)/Contents +INSTALL_TARGETS += PLIST + +CFLAGS += -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) +# We don't need mozglue +WRAP_LDFLAGS := + +include $(topsrcdir)/config/rules.mk + diff --git a/comm/mail/components/search/mdimporter/main.c b/comm/mail/components/search/mdimporter/main.c new file mode 100644 index 0000000000..20afc65351 --- /dev/null +++ b/comm/mail/components/search/mdimporter/main.c @@ -0,0 +1,208 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//============================================================================== +// +// DO NO MODIFY THE CONTENT OF THIS FILE +// +// This file contains the generic CFPlug-in code necessary for TB Spotlight +// The actual importer is implemented in GetMetadataForFile.c +// +//============================================================================== + +#include <CoreFoundation/CoreFoundation.h> +#include <CoreFoundation/CFPlugInCOM.h> +#include <CoreServices/CoreServices.h> + +// ----------------------------------------------------------------------------- +// constants +// ----------------------------------------------------------------------------- + +#define PLUGIN_ID "37401ADE-1058-42DB-BBE5-F2AAB9D7C13E" + +// +// Below is the generic glue code for all plug-ins. +// +// You should not have to modify this code aside from changing +// names if you decide to change the names defined in the Info.plist +// + +// ----------------------------------------------------------------------------- +// typedefs +// ----------------------------------------------------------------------------- + +// The import function to be implemented in GetMetadataForFile.c +Boolean GetMetadataForFile(void* thisInterface, + CFMutableDictionaryRef attributes, + CFStringRef contentTypeUTI, CFStringRef pathToFile); + +// The layout for an instance of MetaDataImporterPlugIn +typedef struct __MetadataImporterPluginType { + MDImporterInterfaceStruct* conduitInterface; + CFUUIDRef factoryID; + UInt32 refCount; +} MetadataImporterPluginType; + +// ----------------------------------------------------------------------------- +// prototypes +// ----------------------------------------------------------------------------- +// Forward declaration for the IUnknown implementation. +// + +MetadataImporterPluginType* AllocMetadataImporterPluginType( + CFUUIDRef inFactoryID); +void DeallocMetadataImporterPluginType( + MetadataImporterPluginType* thisInstance); +HRESULT MetadataImporterQueryInterface(void* thisInstance, REFIID iid, + LPVOID* ppv); +void* MetadataImporterPluginFactory(CFAllocatorRef allocator, CFUUIDRef typeID); +ULONG MetadataImporterPluginAddRef(void* thisInstance); +ULONG MetadataImporterPluginRelease(void* thisInstance); +// ----------------------------------------------------------------------------- +// testInterfaceFtbl definition +// ----------------------------------------------------------------------------- +// The TestInterface function table. +// + +static MDImporterInterfaceStruct testInterfaceFtbl = { + NULL, MetadataImporterQueryInterface, MetadataImporterPluginAddRef, + MetadataImporterPluginRelease, GetMetadataForFile}; + +// ----------------------------------------------------------------------------- +// AllocMetadataImporterPluginType +// ----------------------------------------------------------------------------- +// Utility function that allocates a new instance. +// You can do some initial setup for the importer here if you wish +// like allocating globals etc... +// +MetadataImporterPluginType* AllocMetadataImporterPluginType( + CFUUIDRef inFactoryID) { + MetadataImporterPluginType* theNewInstance; + + theNewInstance = + (MetadataImporterPluginType*)malloc(sizeof(MetadataImporterPluginType)); + memset(theNewInstance, 0, sizeof(MetadataImporterPluginType)); + + /* Point to the function table */ + theNewInstance->conduitInterface = &testInterfaceFtbl; + + /* Retain and keep an open instance refcount for each factory. */ + theNewInstance->factoryID = CFRetain(inFactoryID); + CFPlugInAddInstanceForFactory(inFactoryID); + + /* This function returns the IUnknown interface so set the refCount to one. */ + theNewInstance->refCount = 1; + return theNewInstance; +} + +// ----------------------------------------------------------------------------- +// DeallocTBSpotlightMDImporterPluginType +// ----------------------------------------------------------------------------- +// Utility function that deallocates the instance when +// the refCount goes to zero. +// In the current implementation importer interfaces are never deallocated +// but implement this as this might change in the future +// +void DeallocMetadataImporterPluginType( + MetadataImporterPluginType* thisInstance) { + CFUUIDRef theFactoryID; + + theFactoryID = thisInstance->factoryID; + free(thisInstance); + if (theFactoryID) { + CFPlugInRemoveInstanceForFactory(theFactoryID); + CFRelease(theFactoryID); + } +} + +// ----------------------------------------------------------------------------- +// MetadataImporterQueryInterface +// ----------------------------------------------------------------------------- +// Implementation of the IUnknown QueryInterface function. +// +HRESULT MetadataImporterQueryInterface(void* thisInstance, REFIID iid, + LPVOID* ppv) { + CFUUIDRef interfaceID; + + interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault, iid); + + if (CFEqual(interfaceID, kMDImporterInterfaceID)) { + /* If the Right interface was requested, bump the ref count, + * set the ppv parameter equal to the instance, and + * return good status. + */ + ((MetadataImporterPluginType*)thisInstance) + ->conduitInterface->AddRef(thisInstance); + *ppv = thisInstance; + CFRelease(interfaceID); + return S_OK; + } else { + if (CFEqual(interfaceID, IUnknownUUID)) { + /* If the IUnknown interface was requested, same as above. */ + ((MetadataImporterPluginType*)thisInstance) + ->conduitInterface->AddRef(thisInstance); + *ppv = thisInstance; + CFRelease(interfaceID); + return S_OK; + } else { + /* Requested interface unknown, bail with error. */ + *ppv = NULL; + CFRelease(interfaceID); + return E_NOINTERFACE; + } + } +} + +// ----------------------------------------------------------------------------- +// MetadataImporterPluginAddRef +// ----------------------------------------------------------------------------- +// Implementation of reference counting for this type. Whenever an interface +// is requested, bump the refCount for the instance. NOTE: returning the +// refcount is a convention but is not required so don't rely on it. +// +ULONG MetadataImporterPluginAddRef(void* thisInstance) { + ((MetadataImporterPluginType*)thisInstance)->refCount += 1; + return ((MetadataImporterPluginType*)thisInstance)->refCount; +} + +// ----------------------------------------------------------------------------- +// SampleCMPluginRelease +// ----------------------------------------------------------------------------- +// When an interface is released, decrement the refCount. +// If the refCount goes to zero, deallocate the instance. +// +ULONG MetadataImporterPluginRelease(void* thisInstance) { + ((MetadataImporterPluginType*)thisInstance)->refCount -= 1; + if (((MetadataImporterPluginType*)thisInstance)->refCount == 0) { + DeallocMetadataImporterPluginType( + (MetadataImporterPluginType*)thisInstance); + return 0; + } else { + return ((MetadataImporterPluginType*)thisInstance)->refCount; + } +} + +// ----------------------------------------------------------------------------- +// TBSpotlightMDImporterPluginFactory +// ----------------------------------------------------------------------------- +// Implementation of the factory function for this type. +// +void* MetadataImporterPluginFactory(CFAllocatorRef allocator, + CFUUIDRef typeID) { + MetadataImporterPluginType* result; + CFUUIDRef uuid; + + /* If correct type is being requested, allocate an + * instance of TestType and return the IUnknown interface. + */ + if (CFEqual(typeID, kMDImporterTypeID)) { + uuid = CFUUIDCreateFromString(kCFAllocatorDefault, CFSTR(PLUGIN_ID)); + result = AllocMetadataImporterPluginType(uuid); + CFRelease(uuid); + return result; + } + /* If the requested type is incorrect, return NULL. */ + return NULL; +} diff --git a/comm/mail/components/search/mdimporter/moz.build b/comm/mail/components/search/mdimporter/moz.build new file mode 100644 index 0000000000..8bfc3e6c80 --- /dev/null +++ b/comm/mail/components/search/mdimporter/moz.build @@ -0,0 +1,22 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +SOURCES = [ + "GetMetadataForFile.c", + "main.c", +] + +Program("thunderbird-mdimport") +# This directory is producing a framework as a target. The output of this +# framework will be located here. +FINAL_TARGET = "dist/package/thunderbird.mdimporter/Contents/MacOS" + +OS_LIBS += [ + "-framework CoreFoundation", + "-framework CoreServices", +] + +# We're also a bundle. +LDFLAGS += ["-bundle"] diff --git a/comm/mail/components/search/mdimporter/schema.xml b/comm/mail/components/search/mdimporter/schema.xml new file mode 100644 index 0000000000..f450209378 --- /dev/null +++ b/comm/mail/components/search/mdimporter/schema.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- This Source Code Form is subject to the terms of the Mozilla Public + - License, v. 2.0. If a copy of the MPL was not distributed with this + - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> + + +<schema version="1.0" xmlns="http://www.apple.com/metadata" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.apple.com/metadata file:///System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Resources/MetadataSchema.xsd"> + <note> + Start off by supporting the same attributes as Mail.importer + </note> + <attributes> + <attribute name="kMDItemAuthorEmailAddresses" multivalued="true" type="CFString"/> + <attribute name="kMDItemRecipientEmailAddresses" multivalued="true" type="CFString"/> + </attributes> + + <types> + <type name="com.mozilla.thunderbird.mozeml"> + <note> + The keys that this metadata importer handles. + </note> + <allattrs> + kMDItemAuthorEmailAddresses + kMDItemRecipientEmailAddresses + </allattrs> + <displayattrs> + </displayattrs> + </type> + </types> +</schema> + diff --git a/comm/mail/components/search/moz.build b/comm/mail/components/search/moz.build new file mode 100644 index 0000000000..219ea99355 --- /dev/null +++ b/comm/mail/components/search/moz.build @@ -0,0 +1,23 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": + DIRS += ["mdimporter"] +elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": + DIRS += ["wsenable"] + SOURCES += ["nsMailWinSearchHelper.cpp"] + FINAL_LIBRARY = "mailcomps" + +DIRS += ["public"] + +EXTRA_JS_MODULES += [ + "SearchIntegration.jsm", +] + +JAR_MANIFESTS += ["jar.mn"] + +XPCOM_MANIFESTS += [ + "components.conf", +] diff --git a/comm/mail/components/search/nsMailWinSearchHelper.cpp b/comm/mail/components/search/nsMailWinSearchHelper.cpp new file mode 100644 index 0000000000..9cfdc40cc0 --- /dev/null +++ b/comm/mail/components/search/nsMailWinSearchHelper.cpp @@ -0,0 +1,254 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsMailWinSearchHelper.h" +#include "nsDirectoryServiceUtils.h" +#include "nsString.h" +#include "nsIDirectoryEnumerator.h" +#include "mozilla/ArrayUtils.h" + +#ifdef _WIN32_WINNT +# undef _WIN32_WINNT +#endif +#define _WIN32_WINNT 0x0600 +#include <SearchAPI.h> +#include <winsvc.h> +#include <ShellAPI.h> +#include <shlobj.h> + +static const CLSID CLSID_CSearchManager = { + 0x7d096c5f, + 0xac08, + 0x4f1f, + {0xbe, 0xb7, 0x5c, 0x22, 0xc5, 0x17, 0xce, 0x39}}; +static const IID IID_ISearchManager = { + 0xab310581, + 0xac80, + 0x11d1, + {0x8d, 0xf3, 0x00, 0xc0, 0x4f, 0xb6, 0xef, 0x69}}; + +static const char* const sFoldersToIndex[] = {"Mail", "ImapMail", "News"}; + +// APP_REG_NAME_MAIL should be kept in synch with AppRegNameMail +// in the installer file: defines.nsi.in +#define APP_REG_NAME_MAIL L"Thunderbird" + +nsMailWinSearchHelper::nsMailWinSearchHelper() {} + +nsresult nsMailWinSearchHelper::Init() { + CoInitialize(NULL); + return NS_GetSpecialDirectory("ProfD", getter_AddRefs(mProfD)); +} + +nsMailWinSearchHelper::~nsMailWinSearchHelper() { CoUninitialize(); } + +NS_IMPL_ISUPPORTS(nsMailWinSearchHelper, nsIMailWinSearchHelper) + +NS_IMETHODIMP nsMailWinSearchHelper::GetFoldersInCrawlScope(bool* aResult) { + *aResult = false; + NS_ENSURE_ARG_POINTER(mProfD); + + // If the service isn't present or running, we shouldn't proceed. + bool serviceRunning; + nsresult rv = GetServiceRunning(&serviceRunning); + if (!serviceRunning || NS_FAILED(rv)) return rv; + + // We need to do this every time so that we have the latest data + RefPtr<ISearchManager> searchManager; + HRESULT hr = + CoCreateInstance(CLSID_CSearchManager, NULL, CLSCTX_ALL, + IID_ISearchManager, getter_AddRefs(searchManager)); + if (FAILED(hr)) return NS_ERROR_FAILURE; + + RefPtr<ISearchCatalogManager> catalogManager; + hr = + searchManager->GetCatalog(L"SystemIndex", getter_AddRefs(catalogManager)); + if (FAILED(hr)) return NS_ERROR_FAILURE; + + RefPtr<ISearchCrawlScopeManager> crawlScopeManager; + hr = catalogManager->GetCrawlScopeManager(getter_AddRefs(crawlScopeManager)); + if (FAILED(hr)) return NS_ERROR_FAILURE; + + // We need to create appropriate URLs to check with the crawl scope manager. + for (uint32_t i = 0; i < MOZ_ARRAY_LENGTH(sFoldersToIndex); i++) { + nsCOMPtr<nsIFile> subdir; + rv = mProfD->Clone(getter_AddRefs(subdir)); + NS_ENSURE_SUCCESS(rv, rv); + + nsDependentCString relativeStr(sFoldersToIndex[i]); + rv = subdir->AppendNative(relativeStr); + NS_ENSURE_SUCCESS(rv, rv); + + nsString subdirPath; + rv = subdir->GetPath(subdirPath); + NS_ENSURE_SUCCESS(rv, rv); + + // Form a URL as required by the crawl scope manager + nsString subdirURL(u"file:///"_ns); + subdirURL.Append(subdirPath); + subdirURL.Append('\\'); + + BOOL included; + if (FAILED(crawlScopeManager->IncludedInCrawlScope(subdirURL.get(), + &included))) + return NS_ERROR_FAILURE; + + // If even one of the folders isn't there, we return false + if (!included) return NS_OK; + } + *aResult = true; + return NS_OK; +} + +NS_IMETHODIMP nsMailWinSearchHelper::GetServiceRunning(bool* aResult) { + *aResult = false; + SC_HANDLE hSCManager = + OpenSCManagerW(nullptr, SERVICES_ACTIVE_DATABASEW, SERVICE_QUERY_STATUS); + if (!hSCManager) return NS_ERROR_FAILURE; + + SC_HANDLE hService = + OpenServiceW(hSCManager, L"wsearch", SERVICE_QUERY_STATUS); + CloseServiceHandle(hSCManager); + if (!hService) + // The service isn't present. Never mind. + return NS_ERROR_NOT_AVAILABLE; + + SERVICE_STATUS status; + if (!QueryServiceStatus(hService, &status)) { + CloseServiceHandle(hService); + return NS_ERROR_FAILURE; + } + + *aResult = (status.dwCurrentState == SERVICE_RUNNING); + CloseServiceHandle(hService); + return NS_OK; +} + +NS_IMETHODIMP nsMailWinSearchHelper::SetFANCIBit(nsIFile* aFile, bool aBit, + bool aRecurse) { + NS_ENSURE_ARG_POINTER(aFile); + + bool exists; + nsresult rv = aFile->Exists(&exists); + NS_ENSURE_SUCCESS(rv, rv); + if (!exists) return NS_ERROR_FILE_NOT_FOUND; + + nsString filePath; + rv = aFile->GetPath(filePath); + NS_ENSURE_SUCCESS(rv, rv); + LPCWSTR pathStr = filePath.get(); + + // We should set the file attribute only if it isn't already set. + DWORD dwAttrs = GetFileAttributesW(pathStr); + if (dwAttrs == INVALID_FILE_ATTRIBUTES) return NS_ERROR_FAILURE; + + if (aBit) { + if (!(dwAttrs & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)) + SetFileAttributesW(pathStr, dwAttrs | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED); + } else { + if (dwAttrs & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) + SetFileAttributesW(pathStr, + dwAttrs & ~FILE_ATTRIBUTE_NOT_CONTENT_INDEXED); + } + + // We should only try to recurse if it's a directory + bool isDirectory; + rv = aFile->IsDirectory(&isDirectory); + NS_ENSURE_SUCCESS(rv, rv); + if (aRecurse && isDirectory) { + nsCOMPtr<nsIDirectoryEnumerator> children; + rv = aFile->GetDirectoryEntries(getter_AddRefs(children)); + NS_ENSURE_SUCCESS(rv, rv); + + bool hasMore = false; + while (NS_SUCCEEDED(children->HasMoreElements(&hasMore)) && hasMore) { + nsCOMPtr<nsIFile> childFile; + rv = children->GetNextFile(getter_AddRefs(childFile)); + NS_ENSURE_SUCCESS(rv, rv); + rv = SetFANCIBit(childFile, aBit, aRecurse); + } + } + return rv; +} + +NS_IMETHODIMP nsMailWinSearchHelper::GetIsFileAssociationSet(bool* aResult) { + NS_ENSURE_ARG_POINTER(aResult); + + // We'll use the Vista method here + RefPtr<IApplicationAssociationRegistration> pAAR; + HRESULT hr = CoCreateInstance( + CLSID_ApplicationAssociationRegistration, NULL, CLSCTX_INPROC, + IID_IApplicationAssociationRegistration, getter_AddRefs(pAAR)); + + BOOL res = false; + if (SUCCEEDED(hr)) + pAAR->QueryAppIsDefault(L".wdseml", AT_FILEEXTENSION, AL_EFFECTIVE, + APP_REG_NAME_MAIL, &res); + *aResult = res; + + return NS_OK; +} + +NS_IMETHODIMP nsMailWinSearchHelper::SetFileAssociation() { + RefPtr<IApplicationAssociationRegistration> pAAR; + HRESULT hr = CoCreateInstance( + CLSID_ApplicationAssociationRegistration, NULL, CLSCTX_INPROC, + IID_IApplicationAssociationRegistration, getter_AddRefs(pAAR)); + if (SUCCEEDED(hr)) + hr = pAAR->SetAppAsDefault(APP_REG_NAME_MAIL, L".wdseml", AT_FILEEXTENSION); + + return SUCCEEDED(hr) ? NS_OK : NS_ERROR_FAILURE; +} + +NS_IMETHODIMP nsMailWinSearchHelper::RunSetup(bool aEnable) { + nsresult rv; + if (!mCurProcD) { + rv = NS_GetSpecialDirectory("CurProcD", getter_AddRefs(mCurProcD)); + NS_ENSURE_SUCCESS(rv, rv); + rv = mCurProcD->Append(u"WSEnable.exe"_ns); + NS_ENSURE_SUCCESS(rv, rv); + } + + nsAutoString filePath; + rv = mCurProcD->GetPath(filePath); + NS_ENSURE_SUCCESS(rv, rv); + + // The parameters are of the format "1 <path>" for enabling and "0 <path>" for + // disabling + nsAutoString params(aEnable ? u"1 \""_ns : u"0 \""_ns); + nsAutoString profDPath; + rv = mProfD->GetPath(profDPath); + NS_ENSURE_SUCCESS(rv, rv); + params.Append(profDPath); + params.Append(u"\""_ns); + + // We need an hWnd to cause UAC to pop up immediately + // If GetForegroundWindow returns NULL, then the UAC prompt will still appear, + // but minimized. + HWND hWnd = GetForegroundWindow(); + + SHELLEXECUTEINFOW executeInfo = {0}; + + executeInfo.cbSize = sizeof(SHELLEXECUTEINFOW); + executeInfo.hwnd = hWnd; + executeInfo.fMask = SEE_MASK_NOCLOSEPROCESS; + executeInfo.lpDirectory = NULL; + executeInfo.lpFile = filePath.get(); + executeInfo.lpParameters = params.get(); + executeInfo.nShow = SW_SHOWNORMAL; + + DWORD dwRet = ERROR_SUCCESS; + + if (ShellExecuteExW(&executeInfo)) { + // We want to block until the program exits + DWORD dwSignaled = WaitForSingleObject(executeInfo.hProcess, INFINITE); + if (dwSignaled == WAIT_OBJECT_0) + if (!GetExitCodeProcess(executeInfo.hProcess, &dwRet)) + dwRet = GetLastError(); + } else + return NS_ERROR_ABORT; + + return SUCCEEDED(HRESULT_FROM_WIN32(dwRet)) ? NS_OK : NS_ERROR_FAILURE; +} diff --git a/comm/mail/components/search/nsMailWinSearchHelper.h b/comm/mail/components/search/nsMailWinSearchHelper.h new file mode 100644 index 0000000000..ee313e6acf --- /dev/null +++ b/comm/mail/components/search/nsMailWinSearchHelper.h @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef nsMailWinSearchHelper_h_ +#define nsMailWinSearchHelper_h_ + +#include "nsIMailWinSearchHelper.h" +#include "nsIFile.h" +#include "nsCOMPtr.h" + +#define NS_MAILWINSEARCHHELPER_CID \ + { \ + 0x5dd31c99, 0x8c7, 0x4a3b, { \ + 0xae, 0xb3, 0xd2, 0xe6, 0x6, 0x65, 0xa3, 0x1a \ + } \ + } + +class nsMailWinSearchHelper : public nsIMailWinSearchHelper { + public: + NS_DECL_ISUPPORTS + NS_DECL_NSIMAILWINSEARCHHELPER + + nsresult Init(); + nsMailWinSearchHelper(); + + private: + virtual ~nsMailWinSearchHelper(); + nsCOMPtr<nsIFile> mProfD; + nsCOMPtr<nsIFile> mCurProcD; +}; + +#endif diff --git a/comm/mail/components/search/public/moz.build b/comm/mail/components/search/public/moz.build new file mode 100644 index 0000000000..e920335704 --- /dev/null +++ b/comm/mail/components/search/public/moz.build @@ -0,0 +1,10 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +XPIDL_SOURCES += [ + "nsIMailWinSearchHelper.idl", +] + +XPIDL_MODULE = "mailwinsearch" diff --git a/comm/mail/components/search/public/nsIMailWinSearchHelper.idl b/comm/mail/components/search/public/nsIMailWinSearchHelper.idl new file mode 100644 index 0000000000..1c1d03a07f --- /dev/null +++ b/comm/mail/components/search/public/nsIMailWinSearchHelper.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +#include "nsISupports.idl" + +interface nsIFile; + +[scriptable, uuid(a65307b3-64f8-49fc-96a7-2cfc7d1f18ee)] +interface nsIMailWinSearchHelper : nsISupports +{ + /** + * Whether the Windows Search service is installed and running. + * + * @exception NS_ERROR_NOT_AVAILABLE if the Windows Search service is + * not installed + */ + readonly attribute boolean serviceRunning; + + /** + * Whether the Mail, ImapMail, and News folders are in the crawl scope. + * + * @exception NS_ERROR_NOT_AVAILABLE if the Windows Search service is not + * installed or running + */ + readonly attribute boolean foldersInCrawlScope; + + /** + * Sets the File Attribute Not Content Indexed bit. For proper operation + * of the indexer, this bit must be set to 0/false. + * + * @param aFile the file or directory for which this bit is supposed to be set + * @param aBit false if the content is to be indexed, true if not + * @param aRecurse whether this bit is to be set recursively for all subdirectories + * and files inside a directory + */ + void setFANCIBit(in nsIFile aFile, in boolean aBit, in boolean aRecurse); + + /** + * Returns whether the .wdseml file association has been set to Thunderbird or not. + */ + readonly attribute boolean isFileAssociationSet; + + /** + * Sets the .wdseml file association. + */ + void setFileAssociation(); + + /** + * Runs the setup application using ShellExecute, passing the profile directory as + * a parameter. + * + * @param aEnable true to enable, false to disable + */ + void runSetup(in boolean aEnable); +}; diff --git a/comm/mail/components/search/wsenable/Makefile.in b/comm/mail/components/search/wsenable/Makefile.in new file mode 100644 index 0000000000..254509ee77 --- /dev/null +++ b/comm/mail/components/search/wsenable/Makefile.in @@ -0,0 +1,6 @@ +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +MOZ_WINCONSOLE = 0 diff --git a/comm/mail/components/search/wsenable/WSEnable.cpp b/comm/mail/components/search/wsenable/WSEnable.cpp new file mode 100644 index 0000000000..825e0c4fe4 --- /dev/null +++ b/comm/mail/components/search/wsenable/WSEnable.cpp @@ -0,0 +1,141 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include <SearchAPI.h> +#include <shellapi.h> +#include <objbase.h> +#include <string> + +static const CLSID CLSID_CSearchManager = { + 0x7d096c5f, + 0xac08, + 0x4f1f, + {0xbe, 0xb7, 0x5c, 0x22, 0xc5, 0x17, 0xce, 0x39}}; +static const IID IID_ISearchManager = { + 0xab310581, + 0xac80, + 0x11d1, + {0x8d, 0xf3, 0x00, 0xc0, 0x4f, 0xb6, 0xef, 0x69}}; + +static const WCHAR* const sFoldersToIndex[] = {L"\\Mail\\", L"\\ImapMail\\", + L"\\News\\"}; + +struct RegKey { + HKEY mRoot; + LPCWSTR mSubKey; + LPCWSTR mName; + LPCWSTR mValue; + + RegKey(HKEY aRoot, LPCWSTR aSubKey, LPCWSTR aName, LPCWSTR aValue) + : mRoot(aRoot), mSubKey(aSubKey), mName(aName), mValue(aValue) {} +}; + +static const RegKey* const sRegKeys[] = { + new RegKey(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\PropertySystem\\" + L"PropertyHandlers\\.wdseml", + L"", L"{5FA29220-36A1-40f9-89C6-F4B384B7642E}"), + new RegKey(HKEY_CLASSES_ROOT, L".wdseml", L"Content Type", + L"message/rfc822"), + new RegKey(HKEY_CLASSES_ROOT, L".wdseml\\PersistentHandler", L"", + L"{5645c8c4-e277-11cf-8fda-00aa00a14f93}"), + new RegKey(HKEY_CLASSES_ROOT, + L".wdseml\\shellex\\{8895B1C6-B41F-4C1C-A562-0D564250836F}", L"", + L"{b9815375-5d7f-4ce2-9245-c9d4da436930}"), + new RegKey( + HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\explorer\\KindMap", + L".wdseml", L"email;communication")}; + +HRESULT GetCrawlScopeManager(ISearchCrawlScopeManager** aCrawlScopeManager) { + *aCrawlScopeManager = NULL; + + ISearchManager* searchManager; + HRESULT hr = CoCreateInstance(CLSID_CSearchManager, NULL, CLSCTX_ALL, + IID_ISearchManager, (void**)&searchManager); + if (SUCCEEDED(hr)) { + ISearchCatalogManager* catalogManager; + hr = searchManager->GetCatalog(L"SystemIndex", &catalogManager); + if (SUCCEEDED(hr)) { + hr = catalogManager->GetCrawlScopeManager(aCrawlScopeManager); + catalogManager->Release(); + } + searchManager->Release(); + } + return hr; +} + +LSTATUS SetRegistryKeys() { + LSTATUS rv = ERROR_SUCCESS; + for (uint32_t i = 0; rv == ERROR_SUCCESS && i < _countof(sRegKeys); i++) { + const RegKey* key = sRegKeys[i]; + HKEY subKey; + // Since we're administrator, we should be able to do this just fine + rv = RegCreateKeyExW(key->mRoot, key->mSubKey, 0, NULL, + REG_OPTION_NON_VOLATILE, + KEY_ALL_ACCESS | KEY_WOW64_64KEY, NULL, &subKey, NULL); + if (rv == ERROR_SUCCESS) + rv = RegSetValueExW(subKey, key->mName, 0, REG_SZ, (LPBYTE)key->mValue, + (lstrlenW(key->mValue) + 1) * sizeof(WCHAR)); + RegCloseKey(subKey); + } + + return rv; +} + +int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, + LPWSTR lpCmdLine, int nCmdShow) { + UNREFERENCED_PARAMETER(lpCmdLine); + + HRESULT hr = + CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); + if (SUCCEEDED(hr)) { + int argc; + LPWSTR* argv = CommandLineToArgvW(lpCmdLine, &argc); + if (argc != 2) hr = E_INVALIDARG; + if (SUCCEEDED(hr)) { + ISearchCrawlScopeManager* crawlScopeManager; + hr = GetCrawlScopeManager(&crawlScopeManager); + if (SUCCEEDED(hr)) { + if (*argv[0] == L'1') { + // We first add the required registry entries + LSTATUS rv = SetRegistryKeys(); + if (rv != ERROR_SUCCESS) hr = E_FAIL; + + // Next, we add rules for each of the three folders + for (uint32_t i = 0; SUCCEEDED(hr) && i < _countof(sFoldersToIndex); + i++) { + std::wstring path = L"file:///"; + path.append(argv[1]); + path.append(sFoldersToIndex[i]); + // Add only if the rule isn't already there + BOOL isIncluded = FALSE; + hr = crawlScopeManager->IncludedInCrawlScope(path.c_str(), + &isIncluded); + if (SUCCEEDED(hr) && !isIncluded) + hr = crawlScopeManager->AddUserScopeRule(path.c_str(), TRUE, TRUE, + TRUE); + } + } else if (*argv[0] == L'0') { + // This is simple, we just exclude the profile dir and override + // children + std::wstring path = L"file:///"; + path.append(argv[1]); + hr = crawlScopeManager->AddUserScopeRule(path.c_str(), FALSE, TRUE, + TRUE); + } else + hr = E_INVALIDARG; + + if (SUCCEEDED(hr)) { + hr = crawlScopeManager->SaveAll(); + } + crawlScopeManager->Release(); + } + } + LocalFree(argv); + } + + return hr; +} diff --git a/comm/mail/components/search/wsenable/WSEnable.exe.manifest b/comm/mail/components/search/wsenable/WSEnable.exe.manifest new file mode 100644 index 0000000000..1c5ebf8e57 --- /dev/null +++ b/comm/mail/components/search/wsenable/WSEnable.exe.manifest @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> +<assemblyIdentity + version="1.0.0.0" + processorArchitecture="*" + name="Mozilla.Thunderbird" + type="win32" +/> +<description>Mozilla Thunderbird Windows Search Integration Handler</description> +<dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> +</dependency> +<ms_asmv3:trustInfo xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3"> + <ms_asmv3:security> + <ms_asmv3:requestedPrivileges> + <ms_asmv3:requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> + </ms_asmv3:requestedPrivileges> + </ms_asmv3:security> +</ms_asmv3:trustInfo> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + </application> + </compatibility> +</assembly> diff --git a/comm/mail/components/search/wsenable/WSEnable.rc b/comm/mail/components/search/wsenable/WSEnable.rc new file mode 100644 index 0000000000..857298e160 --- /dev/null +++ b/comm/mail/components/search/wsenable/WSEnable.rc @@ -0,0 +1,6 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +1 24 "WSEnable.exe.manifest" diff --git a/comm/mail/components/search/wsenable/module.ver b/comm/mail/components/search/wsenable/module.ver new file mode 100644 index 0000000000..bd6f7f1c84 --- /dev/null +++ b/comm/mail/components/search/wsenable/module.ver @@ -0,0 +1 @@ +WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@ Windows Search Integration Handler diff --git a/comm/mail/components/search/wsenable/moz.build b/comm/mail/components/search/wsenable/moz.build new file mode 100644 index 0000000000..bf9cdab1dc --- /dev/null +++ b/comm/mail/components/search/wsenable/moz.build @@ -0,0 +1,21 @@ +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +Program("WSEnable") + +SOURCES += [ + "WSEnable.cpp", +] + +OS_LIBS += [ + "advapi32", + "ole32", + "shell32", +] + +RCINCLUDE = "WSEnable.rc" + +# This isn't XPCOM code, but it wants to use STL so disable STL wrappers +DisableStlWrapping() |