Dictionaries functionality
From Searchbastard
Write ie "en-fr test" in location bar to translate from english to french - or use new "Dictionaries" dropdown, which lets you select between all available combinations. All installed searchbastard engines that supports the picked combination will appear in a tabbed multisearch.
By the way: instead of writing "en-fr", you can write "enfr" for the same result. This shorter syntax only works with 2-letter language codes, though (from version 1.5b2, it will also work for 3-letter codes)
SNzH2h <a href="http://mhsxthatmtxv.com/">mhsxthatmtxv</a>, [url=http://nfrwicsiknyq.com/]nfrwicsiknyq[/url], [link=http://gvohtrtfdbnl.com/]gvohtrtfdbnl[/link], http://rdyhvlfinzye.com/
Contents |
Periodically check for new dictionary engines
There is good reason to install all engines that supports the "Dictionary" functionality. So, in order to save you from periodically checking if new dictionary engines are available, I added this functionality to Searchbastard. To enable it, go to Settings | Dictionaries.
Customizing the engines in the dictionary search
You can set the options of a specific engine, by:
- Performing a dictionary search (ie "en-de test")
- Selecting the tab of the engine, right-clicking on the icon of the engine, and selecting "Properties."
If you for example have "Chambers" installed, it will show up in a "en-en" search. It comes with two dictionaries, where "Dictionary" is default, and "Thesaurus" is an option. If you want the "Thesaurus" to be used in the "en-en" search, follow the procedure. Unfortunately, its not possible to have both the "Dictionary" and the "Thesaurus" configurations appear in the dictionary search: Each Searchbastard engine can only appear one time, and the system only stores one dictionary-result configuration per engine.
Order
The engines in a "dictionary search" are ordered according to how good they themselves rate a given language combination. As an example, the engine called EUDict rates its combinations like this:
<Ratings>
<Rating for="hr|en" rating="8" />
<Rating for="en|jpk" rating="7" />
<Rating for="en|zh" rating="6" />
<Rating for="de-en;ja-en;en-ja,fr-en" rating="5" />
<Rating for="en-es;es-en;en-pl;pl-en;en-fr" rating="4" />
<Rating for="en-de;la-de;en-sv;sv-en;en-id;id-en" rating="3" />
<Rating for="de-la;de-es;es-de;fr-ja" rating="3" />
<Rating for="jpk-fr;fr-jpk;de-fr;ja-fr;fr-de" rating="2" />
<Rating for="en-it;nl-en;fr-hr;hr-fr;en-ru;ru-en" rating="2" />
<Rating for="es-hr;it-en;fr-ca;fr-it;hr-es;de-it;it-de" rating="2" />
<Rating for="en-nl;it-fr;hr-sl;hr-cs;hu-hr;hr-hu" rating="1" />
<Rating for="cs-hr;sl-hr;nl-hr;ca-fr;it-hr" rating="1" />
<Rating for="de-hr;hr-de;en-la;hr-nl;fr-pt;pt-fr" rating="0" />
<Rating for="hr-it;la-en;en-no;no-en;hr-la;la-hr;en-fi;fi-en" rating="0" />
</Ratings>
In the first <Rating> tag, "hr" is a language code for "Croatian" (See Language codes to learn more about language codes), and "hr|en" is a "match pattern," that matches "hr-en" and "en-hr" (See Combinations syntax to learn more about match patterns). So, Croatian-English combination of EUDict has a rating of 8, while the Italian-French only has a rating of 1. This means that performing a Croatian-English dictionary search, EUDict is likely to be one of the first tabs, while its likely to be one of the last tabs when performing an Italian-French search.
There is currently no way to manually override this order - but I'm concidering to implement such a functionality
Concern: Does all these available languages take up a lot of memory?
No, not at all. Languages are not installed, only engines are. Many searchbastard engine supports a lot of combinations. The "dictionary" functionality is able to take advantage of this. When the "Dictionaries" dropdown is populated, first "level" is drawn by "asking" each installed engine to return a list of supported source languages, and those lists are then merged. This procedure is pretty fast, and goes on in the time between you click the "Dictionaries" dropdown, and it shows. Similarly, the available target languages for a source language are not calculated before you actually move the mouse over a source language in the Dictionaries dropdown.
Concern: So many languages available, but I only use a few
Why not allow users to select relevant languages, you may ask. Well, first off, there is the "favourite languages" option (in settings | dictionaries). Here you can for example enter "en,fr,de" - with the result that these languages are displayed first in both the "Dictionaries" dropdown, and in the language selector of the engines. This makes it fast to select favourite languages while still providing easy access to other, more seldom used languages. The other reason is this: Power users will seldom need the "Dictionaries" dropdown, because its faster to press ctrl+L, and write ie "en-fr test" in the location bar. So, power users will only use the dropdown, when they need to translate to a language which they don't know the language code of. That is: the power user only needs the dropdown when he needs to translate to a language he seldom needs. It therefore makes little sense to remove any languages from the dropdown.
