Sunday, March 6, 2011

How to Browse Privately on Public Wi-Fi

If you're a mobile worker who likes to go online using public Wi-Fi services--in coffee shops and elsewhere--you probably don't realize how insanely reckless you're being.
Public Wi-Fi is the worst kind of Internet connection. Data isn't encrypted as it flies through the air; and as the recent Firesheep debacle showed, it's incredibly easy for others using the same network to grab your log-in details for sites such as Facebook.
One method of protecting yourself is to use a browser extension such as HTTPS Everywhere, which forces your browser to connect by default to a site's secure HTTPS server. Unfortunately, very few sites have one. Alternatively, you can pay for VPN services, but these can be quite slow.
In this tutorial, I'll explain how to create a secure setup that will stop anybody from snooping on your Wi-Fi-transmitted data, regardless of the type of Internet connection you use. It won't cost a penny, either, because we'll be using entirely free-of-charge software--though you will need an old PC to act as a server, and your Internet router must be able to work with a dynamic DNS service. (Most can--and even if yours can't, a firmware update might be able to give it that the functionality.)
The technique I'll use involves creating a secure shell (SSH) server on the old computer at home or work, and then doing all of your Web browsing through that server via an encrypted tunnel across the Internet.
It's not a perfect solution because DNS look-ups occur via the public Wi-Fi connection, so somebody could theoretically find out what sites you've been visiting, but this result is unlikely.
The instructions cover four stages, the first three of which explain how to set everything up.

Setting Up the SSH Server

1. Start by downloading the standard desktop release of Ubuntu Linux (don't download the server version unless you're experienced with the Linux command line). I chose to install version 10.10 of Ubuntu. Install it on the old computer that you're going to use as a server.
Install the SSH server software on Ubuntu. There's no minimum specification for the old computer, but ideally it would have at least 1GB of RAM. It will be an Internet-facing machine, however, so remove any personal data--such as files contained in an old Windows installation--from it.
2. Once the Ubuntu installation is complete, get your new Ubuntu system online via ethernet or Wi-Fi to your home or work router, and ensure that it's fully updated (select System, Administration, Update Manager, and then click the Check button, followed by the Install Updates button).
3. When updating has finished, open a command-line prompt (go to Applications, Accessories, Terminal) and type the following: sudo apt-get install openssh-server. Once that installation is done, close the command-line window.
That's all you have to do to set up the Ubuntu machine. Henceforth, all you need to do before leaving the house to work remotely is to boot up the server and log in to your account to ensure that the machine gets an Internet connection.
There's no need to run any additional software, since everything runs in the background. If you don't mind the electricity bill, you could leave the machine booted up 24 hours a day, but check its power-saving settings (at System, Preferences, Power Management) to ensure that the system doesn't drift off into sleep mode.

Configuring Your Internet Router

1. At this stage, you'll need to create a static domain name for your server, and then configure your router to allow incoming connections, so you can always connect to it while you're out and about. Head over to Dyndns.com and create a free domain name (look in the lower-left portion of the Dyndns home page). You can choose just about anything for the DNS address--I created keirthomas.dyndns-office.com, for example.
In order to set up the domain name, you'll have to create a new account at Dyndns.com--but doing so is free. Be careful when registering your new domain: Dyndns.com tries very hard to sell you for-a-fee accounts and seeing the smaller links that set up the free stuff can be difficult.
Create a host name at dynamic DNS. 2. You'll know when the Dyndns account is fully set up because you'll reach a screen that shows the host name alongside your router's public IP address.
Next, you must configure the dynamic DNS feature of your router so that it will always inform Dyndns of its public IP address.
The method for doing this varies from router to router, but generally you'll need to select Dyndns.com from a dropdown list within the configuration screen and then enter both your Dyndns username and your password, along with the host address that you created (I entered keirthomas.dyndns-office.com, for example). If prompted about setting up multiple hosts, be aware that there's no need to do this.
3. You'll also have to create a firewall rule on the router to enable incoming SSH traffic to pass through the firewall automatically to reach your new Ubuntu server. Again, the details of this process vary. Some routers refer to creating these rules as "setting up application sharing." If you've ever created a firewall rule for online gaming or file sharing, you'll know where to look in your router's configuration options because the SSH rule is essentially the same thing, except that this time you must allow port 22 to pass through.

Configuring Your Laptop

1. Most of the hard work is now done. On the laptop that you're going to use out in the wild, download and install PuTTY (a free, open-source app that will act as your SSH client). PuTTY doesn't have an installation routine, so you'll need to put the .exe file somewhere safe on your hard drive, such as in your Documents folder.
PuTTY does two things: It opens the secure tunnel to the Ubuntu server; and it runs a SOCKS proxy on your laptop that your Web browser can connect to in order to use the tunnel.
Set up an SSH tunnel using PuTTY. 2. Start PuTTY and, in the tree view of configuration options on the left, click the SSH option under the Connection heading. In the new submenu that appears, select Tunnels. Under the Destination heading in the PuTTY dialog box, select the Dynamic radio button; and in the Source Port text field, enter 8080. Then click the Add button.
3. Back in the tree view of configuration options in PuTTY, click the Session heading at the top. In the Hostname (or IP Address) field, type the Dyndns domain that you created earlier (again, I would type keirthomas.dyndns-office.com). In the Saved Sessions text field, type a name so you can save your new configuration (something like SSH tunnel is fine). Then click the Save button.
4. Now you should configure your browser, which involves setting it to work with a proxy server. If you use Firefox, installing the FoxyProxy Basic add-on will enable you to switch quickly between using a proxy server and deactivating it when you're back at home. You can search for and install it by using the Add-Ons window of Firefox (go to Tools, Add-ons).
5. Once you've installed FoxyProxy Basic, select its entry in the Tools menu in Firefox, and select Options on the submenu. Then, in the FoxProxy Basic configuration dialog box, click the Add New Proxy button.
6. In the dialog box that appears, confirm that Manual Proxy Configuration is selected. Then, in the Host or IP Address field, type localhost; and in the port field, type 8080. Add a check mark to the SOCKS proxy? checkbox. Leave everything else as is, and click OK. Close the FoxyProxy Basic dialog box.

Open the Tunnel Via Your Laptop

Setup is now finished. In future, before you leave your house or office to work remotely, make sure that the Ubuntu computer is booted up and that you've logged in to it. Then follow these instructions when you reach your destination.
1. Log in to the public Wi-Fi service that you want to use.
2. Start PuTTY, and select the new entry that you created in the list of Saved Sessions. Click the Open button to start the secure tunnel connection.
2. The first time you do this, your system will inform you that the host key is not in the Registry. This is fine--just click Yes in the dialog box that appears to add the host key. This dialog box will not appear during future sessions.
To create the secure tunnel you'll need to log in via PuTTY.3. Every time you log in using PuTTY, a window will appear bearing the words Login As. Enter the username for the account that you created on your Ubuntu computer, and enter the password when prompted. You'll then log in to the new computer and be shown a command prompt, but you don't have to type anything there, and you can minimize the PuTTY window to get it out of the way. However, you must keep the PuTTY window open in order for the tunnel to work.
4. Start Firefox and select the proxy entry that you created earlier from the FoxyProxy Basic entry on the Tools menu.
And that's it!
From this point on, you'll be browsing via your own secure tunnel. To confirm this, open another browser (such as Internet Explorer) and visit WhatsMyIp.com. This site will display the public IP address of the Wi-Fi service you're using in the coffee shop.
However, visiting WhatsMyIp with Firefox will show a different IP address--the one for your home or work router, which is feeding you the Websites via the secure tunnel. In other words, all of your Web data is coming to you via this IP address, through the secure tunnel. To anyone snooping on the connection, the data will consist of encrypted garbage.
When you've finished working remotely, you can close the PuTTY window, and switch Firefox back to a nonproxy connection by clicking FoxyProxy Basic, followed by Completely Disable FoxyProxy on the Tools menu of Firefox. Source: http://www.pcworld.com


Tuesday, March 1, 2011

Open Source Software Sites

Project Hosting Sites

1. SourceForge The "mother lode" for open source projects, SourceForge hosts nearly 280,000 projects (at last count). It serves more than 2 million downloads a day and includes apps and tools in a wide variety of categories.
2. GitHub
GitHub hosts both public and private projects that use the open source Git version control system. This "social coding" site currently hosts more than 1.7 million repositories, including many open source projects.
3. Google Code
Google offers free hosting for open source projects using the Subversion or Mercurial version control systems. It offers 2 GB of storage, integrated code review tools, a wiki, and an issue tracker. The Google Code site also provides links to Google's many publicly available APIs and other developer tools.
4. Eclipse Labs
Also hosted by Google Code, Eclipse Labs is a searchable repository of projects built on the Eclipse platform. Note that these are not official Eclipse Foundation projects.
5. BitBucket
Like GitHub, BitBucket hosts both public and private projects. On this site, open source projects and private projects with fewer than five users are free. It hosts more than 48,000 repositories, many of which are searchable on the site.
6. LaunchPad
Maintained by Canonical, LaunchPad is particularly targeted at projects that run on Ubuntu. It provides hosting for more than 21,000 projects that use the Bazaar version control system.
7. Codehaus
Codehaus describes itself as "a collaborative software development environment for projects with opensource (but business friendly) licences." In order to be hosted on the site, projects must pass muster with a review board which determines whether they meet the criteria laid out in the site's manifesto.
8. RubyForge
As you might guess from the name, RubyForge hosts open source projects written with the Ruby programming language. It currently serves as a home to more than 9,000 projects.
9. Tigris
Unlike many of the more general project hosting sites, Tigris has a very narrow focus: "building better tools for collaborative software development." It includes nearly 700 projects of particular interest to developers.
10. BerliOS Developer
Home to more than 4,600 projects, BerliOS offers free hosting for open source projects of all types. Note that although it has a German Web address, the site is available in a number of languages, including English.
11. Savannah—GNU
Savannah describes itself as "a central point for development, maintenance and distribution of official GNU software." It hosts 410 official GNU projects.
12. Savannah—non-GNU
In addition to the official GNU project site (above), Savannah also offers hosting for free software that isn't part of GNU. It currently has more than 2,800 projects in this category.
13. Gna!
If you've visited either of the Savannah projects, Gna! will feel very familiar as it uses the same software and also focuses on GNU-related projects. It currently hosts 1350 projects.
14. CodePlex
Hosted by Microsoft, CodePlex provides a home both to open source projects developed by Microsoft and some community based projects. It offers downloads for more than 20,000 projects.
15. Java.net
Originally founded by Sun Microsystems, Java.net hosts or links to a large number of Java-related projects. In addition, it also includes a number of blogs, forums and other resources for the Java community.
16. Gitorious
Gitorious offers free hosting for open source projects that use the Git version control system. It provides a home to some well-known projects, including several projects related to OpenSUSE and Qt.
17. TuxFamily
TuxFamily provides free hosting to any site with a recognized open source license. At last count, it had more than 2,300 projects. Note that this is a French organization, so it is sometimes difficult to find English translations for parts of the site.
18. KnowlegeForge
Home to just over 250 projects, KnowledgeForge is one of the smaller open source hosting sites. It's supported by the Open Knowledge Foundation and works with multiple version control systems.
19. OSOR
Short for "Open Source Observatory and Repository," OSOR is a European Union site for open source projects that can be used in public administrations. It currently hosts more than 200 projects and links to nearly 2,500 more, and the site also contains helpful research and news related to free and open source software.
20. OW2
Formerly known as "the ObjectWeb Forge," OW2 provides hosting for open source projects related to infrastructure software. It currently hosts 188 projects.

Open Source Directories

21. Freshmeat Owned by the same company that owns SourceForge, Freshmeat boasts "the Web's largest index of Unix and cross-platform software." Note that while most of the applications listed on the site are open source, not all of them are.
22. Ohloh
Recently purchased by Black Duck Software, Ohloh is an openly-edited directory of open source projects. It provides a variety of general information about each project (language, license, Web site, etc.), as well as user ratings, downloads, and some interesting tools that can help you compare various projects.
23. osalt.com
This site aims to provide end users with open source alternatives to well-known commercial software. This directory isn't as exhaustive as some, but the way it's formatted makes it easily accessible by open source newbies.
24. OSTATIC
Sponsored by GigaOm, this site provides information and ratings about more than 150,000 open source projects. It includes a helpful "alternatives" tab, which makes it easy to find and compare similar open source projects.
25. OS Living
This site aims to collect "the Web's best open source software" in its archive. In addition to a keyword search tool, it also allows users to search by category, making it easy to find the type of software you're looking for.
26. Free Software Directory
This site is maintained by the Free Software Foundation (the owners of the GNU project) and United Nations Education, Scientific and Cultural Organization (UNESCO). In addition to a large library of software links, it also includes a lot of information about the philosophy behind open source software.
27. Open Source Software Directory
Like several others in this category, this site also attempts to filter out the "best" of open source software. It doesn't provide a lot of data about each application—instead it primarily provides ratings and links to the project's Web sites.
28. Webi
Webi offers a basic listing of open source software with links to downloads. It's heavy on games, which have their own section of the site.
29. The LOOP List
The Ubuntu site includes this helpful list of open source software that runs on Windows. It can be edited by anyone, but it's limited to the three "best" open source applications for any given category.
30. SchoolForge
This UK-based site offers links to open source projects that are helpful for educators. This directory is a little bit more difficult to read and search than some of the others but is still helpful.
31. FreeSMUG
FreeSMUG stands for "Free Open Source Software Mac User Group." In addition to forums, tutorials, videos and other resources, this group maintains a very extensive directory of open source projects that run natively on OS X.
32. Java-Source.net
This bare-bones site features nothing but a directory of Java-based open source projects. It's particular strong on developer tools.
33. Open Source Scripts
Made for developers, this directory provides open source code that serves a variety of purposes. It's categorized by language as well as by function.
34. OSDir
This site limits itself to "sufficiently developed and stable open source applications that are ready for deployment." It contains nearly 900 downloads and also provides links to recent open source news.
35. EOS Directory

The Enterprise Open Source Directory, now owned by the Open Source Business Foundation, includes 260 projects that it deems "enterprise-ready." It also provides user and expert ratings as well as rankings of projects' functionality, maturity, community and more.
36. FOSS
This wiki-style site, funded by VirtualORGS, offers a good directory of open source software, as well as a number of pages dedicated to the philosophy and history of the open source movement. It also links to a directory of commercial open source software.
38. The Open Science Project
In addition to developing half a dozen projects of their own, this group has put together a list of open source software of interest to researchers and science educators. It's particularly rich in apps related to math and chemistry.

Open Source Software Collections

39. OpenDisc This project collects a wide variety of open source projects for Windows into a single download. The "Programs" tab at the site lists all the individual applications in the download and links to their sites so that you can also download the apps separately.
40. PortableApps.com
Windows users can take some of the best open source apps with them on a portable thumb drive when they download this collection. You can also download portable versions of each included app separately.
41. winPenPack
From this site, you can download five different collections of open source apps for Windows—2GB, Essential, Game, School and Web—each of which fits onto a portable thumb drive. The site also contains links to each of the individual apps included.

Best-Of Open Source Lists

42. Datamation All right, we'll admit it, this entry is a little self-serving. Datamation publishes "best of" lists for various categories of open source software every couple of weeks or so. Enter "open source software" in the search bar to find some of the most recent.
43. Bossie Awards
Every year, InfoWorld hands out "Best of Open Source Software", aka Bossie, Awards to the projects it judges to be most deserving in each category. In addition to the most recent winners, you can also search through past years' winners.
44. Packt Publishing Open Source Awards This book and e-book publisher also awards annual prizes for outstanding open source software. Most of the winners and runners up on this list would be of interest to Web developers.
45. Top 100 Network Security Tools
Insecure.org created this list in 2006 based on a survey of people who received an Nmap newsletter. It provides a good overview of some of the more mature security (and hacking) tools.
46. OSSwin
The OSSwin project provides a directory of open source software that runs on Windows. It's a little bit dated, but it can help you find some "oldies but goodies."
47. Top 100 of the Best (Useful) OpenSource Applications
This list on the UbuntuLinuxHelp blog offers a good overview of useful apps for Linux users. It's a couple of years old, but most of the links are still good.
48. Open Source Freeware This site is also a few years old, but has an interesting way of listing the applications it contains. It describes each app by its primary feature, for example, after "I want to protect the computer against viruses" it lists ClamWin.
49. Open Source God
This list from Mashable.com is impressive for its length and breadth. It includes more than 480 great open source applications from a very wide variety of categories.
50. Open Source Windows
This page offers short, simple descriptions of some of the most well-known open source apps for Windows, with links to each.
51. Open Source Mac
A slightly longer list that follows the same format as "Open Source Windows"—only highlighting open source apps that work on OS X.

Miscellaneous Open Source

52. Wikipedia The free and open source community has contributed heavily to the free encyclopedia, and as a result, Wikipedia has a wealth of articles with good information on open source software. The link above has an extensive list of open source projects with articles on Wikipedia. From these articles, you can usually link to the project site or a download page.
53. Koders
This Black Duck-sponsored site allows users to search a database of open source code. It claims 30,000 users per day and more than 3 billion lines of code in its database.
54. Melquiades
Melquiades provides an interface to the data collected and analyzed by the FLOSSMetrics project. The FLOSSMetrics Project is a European Commission-funded project to build a database of information about open source projects, particularly those of interest to small and medium-sized enterprises.
55. Apache Software Foundation
The Apache Software Foundation currently sponsors nearly 100 enterprise-grade open source projects listed on this site. Many Apache projects, including the well-known HTTP Server, relate to Web-based technologies.
56. KDE
In addition to the well-known desktop environment for Linux, the KDE community has created many different types of applications, many of which run on multiple platforms. The link here will take you to the big list of KDE applications.
57. Xiph
The Xiph Foundation describes itself as "a non-profit corporation dedicated to protecting the foundations of Internet multimedia from control by private interests." With that goal in mind, the group has developed a number of open source multimedia tools, including several open audio and video codecs.
58. W3C
The World Wide Web Consortium, also known as "W3C," is primarily known as a developer of Web standards. However, the group has also created a number of open source tools for Web developers.
59. NASA
The space agency has released the code for a number of pieces of software its engineers have created. Not surprisingly, several are related to science and space exploration, but many others would be of interest to IT managers or educators. Source: http://itmanagement.earthweb.com






 

Thursday, February 24, 2011

Remove Windows 7 SP1 Backups To Free Up Disk Space

The first service pack for the Windows 7 operating system has been released yesterday (see Windows 7 Service Pack Update Downloads Live) and it seems as if most Windows 7 users did not have troubles installing the update. Service packs are installed with an option to uninstall them again, which is helpful if incompatibilities or stability issues occur after the system has been updated.
Then again, users who have installed the service pack without complications do not necessarily need those backup files that allow them to uninstall the service pack anymore. These users can free up disk space on the Windows partition by deleting the backup files.
I recommend to test the operating system with service pack at least for a few days before you make the decision to delete the backups. Impatient users may create an image of their system partition instead that they can use to restore the system if the need arises to uninstall the service pack after the backup data has been removed from the system.
How much disk space are we talking about? I just made the test on a Windows 7 Professional 64-bit system. The free space increased from 18.9 Gigabytes before the cleanup to 22.2 Gigabytes after. That’s more than 3 Gigabytes of space. It is likely that 32-bit users will be able to free up less space than that due to the nature of their operating system. Still, they will free up Gigabytes as well.
free up disk space windows 7 sp1space after service pack cleanup

Removing Windows 7 Service Pack 1 Backup Files

The easiest way to remove the backup files of the Windows 7 Service Pack 1 installation is the following. Open an elevated command prompt. You do that with a click on the start orb, the selection of All Programs > Accessories, a right-click on Command Prompt and the selection of Run as Administrator.
Use the following command to free up disk space after the service pack installation:
dism /online /cleanup-image /spsuperseded
removing backup files
The process takes a few minutes to complete, it ends with the sentences “Service Pack Cleanup operation completed. The operation completed successfully”.
Please remember that you cannot uninstall the service pack after you have cleaned up the disk space. Please let me know how much disk space you freed up with the command. Source: http://www.ghacks.net

Uninstall Windows 7 Service Pack 1

There have not been many complaints yet from users who have installed the service pack update on their Windows PCs. Still, there are always some cases where users want to uninstall the update again, likely because it is causing instabilities or other problems on the system that were not experienced before.
Those users need to uninstall the Windows 7 Service Pack 1 to restore the old state of the system prior to the update.
The Control Panel provides access to the easiest service pack uninstallation option.
Users need to click on the Start orb on the taskbar and select Control Panel from the options. The uninstallation applet is available under Programs > Uninstall a program, or if all apples are displayed at once under Programs and Features.
Locate the View installed updates link in the left sidebar and click it to open the list of updates that have been installed on the computer system.
view installed updatesview installed updates
Windows displays a list of all updates that have been installed on the system. The service pack is basically nothing more than a larger update. Locate the Service Pack for Microsoft Windows (KB976932) entry under Microsoft Windows. This is the Windows 7 Service Pack 1. To uninstall it select it with a left-click and click the Uninstall link to uninstall it. you need to confirm your selection and restart the computer after the uninstallation process has finished.
uninstall windows 7 sp1
The uninstallation removes the service pack from the operating system.
Some users may not be able to uninstall the program via the Control Panel applet. This is for instance the case if the service pack installation corrupted the system.
It is then possible to use the command prompt to try and uninstall the service pack. An elevated command prompt is required. To get there, users need to click on the start orb, then All Programs > Accessories, and right-click on the Command Prompt entry there and select Run as administrator.
They then need to use the following command to uninstall the service pack again:
wusa.exe /uninstall /kb:976932
A confirmation is again required before the service pack is uninstalled by Windows.
System restore, or previously created backups, are another alternative if they have been created before the service pack was installed on the Windows 7 system. Source: http://www.ghacks.net

Sunday, February 13, 2011

Language software

All Free Dictionaries
project
A very large number of online and downloadable free dictionaries.
AllWords.comSpecify a word in English, Dutch, French, Italian or Spanish, and translate it simultaneously into Dutch, French, English, Italian and Spanish. Also: links for creative writing, crosword puzzles, writing tools ,thesauri, slang, quotations, translation services, etc.
Cambridge Dictionaries
Online
Free online dictionaries: English, American English, Idioms, French-English-French, Spanish-English-Spanish, etc.
croDict.comOnline Croation to/from German dictionary.
Etymology DictionaryOnline Etymology Dictionary. Etymologies are explanations of what words meant and how they sounded hundreds of years ago.
EurodictOnline English-Bulgarian, German-Bulgarian, Italian-Bulgarian, Spanish-Bulgarian, French-Bulgarian, Greek-Bulgarian, Turkish-Bulgarian, Turkish-English, Turkish-German, Turkish-French and Bulgarian Encyclopedic Dictionary.
Foreignword.comOnline dictionaries for a multitude of languages, and free translation tools.
LangservicesFree online Cambridge dictionaries, Merriam-Websters Dictionary and Merriam-Websters Thesaurus. Note: scroll to bottom of Langservices.com home page to reach the dictionary input form.
LEOExcellent online dictionary for German-English-German (University of Munich).
OneLookMeta-dictionary. Enter any word in any language. OneLook will give you the results of a large number of online resources ordered by dictionary, language and dictionary-type (such as medicine, computing).
Open DictionaryA collaborative project to produce a freely accessible multilingual dictionary in every language, with meanings, etymologies and pronunciations.
RealDictionary.comFree online dictionaries for English, French, German, Italian, Latin, Portuguese and Spanish. Also: US Cities, Zip codes, counties.
The Free DictionaryFree online dictionary, Encyclopedia and Thesaurus.
TravLangA large number of online dictionaries: German, Dutch, French, Spanish, Portuguese, Italian, Danish, Swedish, Latin, Finnish, Norwegian, Frisian, Afrikaans, Hungarian, Czech, Polish, Esperanto, Turkish.
Furthermore: Arabic, Bulgarian, Greek, Korean, Latvian, Farsi, Romanian, Russian, Serbo-Croatian, Slovak, Yiddish.
TU-ChemnitzExcellent free online English-German dictionary. Translation from English to German and vice versa. Also: explanations, synonyms, proverbs, aphorisms, quotations.
WiktionaryFree multi-lingual online dictionary.
WordReference.comOnline dictionaries: English to/from Spanish, French, Italian; also: English and Spanish definitions, Portuguese to/from Spanish.
YourDictionary.comEnglish -> French
English -> Spanish
English -> German
English -> Italian
English -> Portuguese
French -> English
Spanish -> English
German -> English
Italian -> English
Portuguese -> English
Also: Chinese, French, German, Hindi, Japanese, Korean, Portuguese, Russian, Spanish, courses, glossaries, abbreviations, grammar guides, etc.
ZebraWords.comOnline meta-dictionary and thesaurus for the english language. Also: online translation of words from and to a large number of other languages.
Free downloadable Dictionaries
Koral dictionariesFree dictionaries (Windows) for download:
English-Bulgarian-English
German-Bulgarian-German
Spanish-Bulgarian-Spanish
Italian-Bulgarian-Italian
French-Bulgarian-French
English-Turkish-English
German-Turkish-German
French-Turkish-French.
More (non-free): more extended dictionaries, talking dictionaries, encyclopedias, etc.
ebswift.comFreeware WordNet based dictionaries for PC, Pocket PC, Smartphone, as well as an online dictionary. Features include wildcard, anagram, regular expression, scrabble and "sounds like". Other features include full word hyperlinking, extensive word relations, and the ability to restrict searches to scrabble allowed words (scrabble allowed words is a list of over 209,000 words).
Free English online dictionaries
Dictionary.comFree online English dictionary and meta search engine.
FindTheWord.infoA search engine for English words. All searches are made in a dictionary containing more than 460,000 English words. Also: partial words, anagrams, palindromes, words in word, word bridge, and more.
Merriam-Webster OnLineFree online English thesaurus, dictionary and unabridged dictionary.
Thesaurus.comFree online English thesaurus.
wordthrill.comFree searchable English dictionary with over 200,000 word definitions and list of their synonyms.
Free Specialized online Dictionaries
ASL BrowserExtensive American Sign Language dictionary. For each letter, word or phrase it will play a short movie showing you how it is signed.
ASL PRO.comAmerican sign language dictionary. For each word in the dictionary a short movie is available.
Bloomberg
Financial Glossary
Free business dictionary. More than 6,000 entries with 15,000 links
Construction GlossaryConstruction Glossary from the "Home Building Manual".
Dictionary of Algorithms
and Datastructures
Specialized free computing dictionary of algorithms, data structures, etc.
Dictionary of
Automotive Terms
15,000 words and expressions for automobiles, bicycles, motorcycles, engines, and boats. Free.
Esaurus.orgEnglish-Chinese medical dictionary.
FiDict.comOnline financial dictionary, containing over 5000 terms. Additionally, FiDict.com is able to translate between English and Dutch.
Free online dictionary
of Computing
Free general dictionary of computing terms (hardware, software, theory, etc.).
Genealogy GlossaryWhen tracing an ancestry it is common to encounter records filled with obsolete, archaic, or legal terms that can be difficult to interpret. This glossary can help. Free.
InvestorWords.comFree financial glossary with over 6,000 definitions and 20,000 links.
Noslang.comInternet Slang Dictionary and Translator.
Soap Making DictionaryA collection of terms, definitions and acronyms related to the art of soap making.
Sports GlossariesFree online dictionaries on Archery, Auto Racing, Badminton, Baseball, Basketball, Bobsledding, Bowling,etc.
Stedmans Medical
Dictionaries
Free online medical dictionaries.
UK Dictionary of SlangFree. English slang and colloquialisms used in the United Kingdom.
Non-free online dictionaries
DorlandsOnline illustrated medical dictionary for healthcare professionals.
Oxford English DictionaryFamous and respected dictionary, for professionals. US$550 subscription fee per year.
Free Thesauri
Thesaurus.comFree online English thesaurus.
WordWebFree and non-free thesauri for which can be used in combination with any Windows program.
MobysaurusFree English thesaurus and dictionary powered by Moby Thesaurus II, Roget's Thesaurus, Collaborative International Dictionary of English, and WordNet.
Thesauri by LanguageThesauri on the Web, classified by language.
Thesauri by SubjectThesauri on the Web, classified by subject.
Free Translation tools
BabelfishAutomatically translates short texts and entire Web pages from one laguage to another. Currently supported translations:
English to Chinese, English to French, English to German, English to Italian, English to Japanese, English to Korean, English to Portuguese, English to Spanish, Chinese to English, French to English, French to German, German to English, German to French, Italian to English, Japanese to English, Korean to English, Portuguese to English, Russian to English, Spanish to English.
FreeTranslation.comFree automatic translation to/from English, Portuguese, Chinese, French, German, Norwegian, Spanish, Russian, Dutch, Italian, etc.
Google translateGoogle's free automatic language translation service instantly translates text and web pages. This translator supports a multitude of languages.
WoTran.com"World Of Translators". Free automatic online text translation for English, German, Italian, Dutch, Japanese, Chinese, Portuguese, Russian and French.
Free Spellcheckers
Spellcheck.netFree online spellchecker. Just copy/paste your text into the form (up to 5000 characters) and press 'spellcheck text'.
Learn languages for free
EasyPortuguesePortuguese lessons, useful phrases, audio samples, vocabulary, alphabeth, etc.
InterlexA free Windows application that can help you learn vocabulary in a foreign language. The program is built around a simple idea: first you compile a list of words and phrases, then you test yourself until you have learnt them.
Learn a Language on YouTubeA selection of YouTube videos to help you learn a foreign language, especially if you are at the beginning stages.
Learn Mandarin Chinese25 free online Mandarin Chinese lessons.
UsingEnglish.comProvides a large collection of English as a Second Language (ESL) tools & resources such as: a grammar glossary and references of irregular verbs, phrasal verbs and idioms, ESL forums, articles, teacher handouts and printables, links and information.
Various Language resources
Acronym FinderFree. Comprehensive database of acronyms, abbreviations, and initialisms. 253,000+ definitions. An acronym is a pronounceable word formed from each of the first letters of a descriptive phrase. An acronym is actually a type of abbreviation.
World Oral
Literature Project
Database of around 3000 endangered and extinct languages.
AnagramsFree. Returns a list of anagrams for any word you type in. An anagram is a word or phrase formed by rearranging the letters of another word or phrase. For exampe, Elvis to Lives.
Free Language HelpdeskFree helpdesk for language related matters by Langservices.com.
NearRhyme.comFind near rhymes and alliterations.
OmniglotWriting systems and languages of the world.
RhymeZoneFind rhymes, synonyms, antonyms, definitions, related words, similar sounding words, homophones; match consonants and letters; check spelling, etc.
Source: http://www.freebyte.com

Tuesday, February 8, 2011

Create Abby Lingvo DSL Dictionary (for use with Goldendict)

Let us create a simple DSL dictionary. We will name it “My first dictionary”. This will be an English-Russian dictionary which will contain one card. The card will translate the phrase ”my first dictionary” from English into Russian.
You can create a DSL dictionary file in any text editor. We recommend using Notepad for the purpose.
  1. Create a new text file in Notepad or any other text editor. At the very beginning of the new text document, enter the header for the new dictionary.  You can copy the header from this example and then paste it into your document:
    #NAME “My first dictionary”
    #INDEX_LANGUAGE “English”
    #CONTENTS_LANGUAGE “Russian”
    The codes #NAME, #INDEX_LANGUAGE, and #CONTENTS_LANGUAGE must begin a new line each. These codes are followed by one blank space and some text in inverted commas. This text must be provided by the user and means the following. “My first dictionary” is the name of your new dictionary, “English” is the source language of your new dictionary, and “Russian” is its target language.
  2. Now write the text of your new dictionary card. Every dictionary card must have a headword and body. A headword is a word or expression to be translated. It must always be placed at the start of a line (i.e. there must be no other characters or spaces on this line preceding the headword). The body of the card contain a translation, comments, notes or any other information you may wish to include. The body of the card must be placed below the headword and be preceded with a blank space (inserted by pressing the Space button) or a tabulation symbol (inserted by pressing the TAB key). This will enable ABBYY Lingvo x3 to distinguish the headword from the body text.
    To see how it works, simply copy the sample text given below into your document below the header:
    my first dictionary
        мой первый словарь
  3. Save the dictionary file in Unicode encoding (in the Save As… dialog box, select Unicode in the Encoding drop-down list) and name the file FirstDictionary. Close Notepad or any other text editor you may have used.
  4. Change the extension of the text file to .dsl – for example, in Windows Explorer. (If you do not see the extension of the file, in Windows Explorer, go to Tools>Folder Options, click the View tab and clear the box next to “Hide extensions for known file types”.)
  5. Launch DSL Compiler (Start>All Programs>ABBYY Lingvo x3>DSL Compiler x3).
  6. In the DSL Compiler dialog box that opens, under the Source file properties group, browse to the file FirstDictionary.dsl, which contains the dictionary you created and select the Unicode option below.
    Make sure that the Create dictionary ready for indexing option is selected. With this option selected, DSL Compiler will automatically add the necessary markup to the dictionary (otherwise, this markup must be added manually by the user when creating the text file). Also make sure that the Create error log file (*.dde) option is selected.
  7. Click Compile. If the compilation is successful, the About Dictionary dialog box will open saying that the dictionary has been created successfully. Two files will be created as a result of compilation: a dictionary file called FirstDictionary.lsd and a file called FirstDictionary.dde which logs any errors detected during the compilation.
     
    What shall I do if during the compilation I receive the massage saying that the annotation file was not found?
    Annotation files are optional. They contain general information about a dictionary – its author, number of entries, etc. Our sample dictionary will have no annotation, so just click Yes in the message box that opens and the compilation process will continue.
      What shall I do if the program fails to compile the dictionary?
    Compilation may fail due to errors in the file. See the list of errors in FirstDictionary.dde. Correct the errors and repeat the compilation process.
  8. Add the dictionary to ABBYY Lingvo x3 (Tools>Add Dictionary from File…) or simply drag and drop the *.lsd file onto the ABBYY Lingvo x3 Bookshelf).
You have just created your first dictionary, which contains one card, i.e. one dictionary entry. Now that you get the idea how the DSL language and DSL Compiler work, you can start creating larger dictionaries to use in your work and study.
If you compare this sample dictionary with any of the dictionaries supplied with ABBYY Lingvo x3, you will notice that the sample card is much less informative: it includes no pronunciation, examples, comments, etc. However, the DSL language allows you to create dictionaries whose appearance and capabilities are similar to the ABBYY Lingvo dictionaries.
In your new dictionaries you can:
  • highlight fragments of text in colour, change fonts to bold, italics or underlined by using special DSL tags
  • mark different zones in dictionary cards
  • add links to other dictionary cards and links to Web sites
  • create an icon to be displayed on the ABBYY Lingvo x3 Bookshelf
  • add pictures and sound to dictionary cards
  • and much more…
Tips and tricks
http://www.LingvoDA.ru/ – The Web site of the Lingvo Dictionary Association offering a vast collection of free additional dictionaries for ABBYY Lingvo.
How can I create a dictionary in a different text editor, for example, Microsoft Word?
You can use any text editor, including Microsoft Word, to create the text file of a new dictionary. Just make sure that the text complies with the above requirements, i.e. contains a header which specifies the name of your dictionary and its source and target languages, the headword is placed immediately at the beginning of the line and the body text below is preceded with a blank space or tab character. Once you have typed the dictionary text, you need to save it in TXT format with Unicode encoding. To do this:
  • in Microsoft Word 2000, in the Save As dialog box, select Coded text in the Save As Type drop-down list.
  • in Microsoft Word 2002, in the Save As dialog box, select Plain Text (*.txt) in the Save As Type drop-down list, then click Save. In the dialog box that opens, select Unicode in the Other Encoding list.
If your text editor does not allow you to select Unicode, save the text to TXT format, then open the file in Notepad. Select Save As… on the File menu. In the dialog box that opens, select Unicode in the Encoding drop-down list.
How can I expand and edit DSL dictionaries?
To add new cards or edit a dictionary which has already been compiled and added to ABBYY Lingvo x3, remove the dictionary from ABBYY Lingvo x3 Bookshelf, open the *.dsl dictionary file which corresponds to the compiled *.lsd file and make the necessary changes. Then recompile the dictionary and add it to the ABBYY Lingvo x3 Bookshelf.
New cards can also be created in a separate file which can then be attached to the main dictionary file with the help of the #INCLUDE command.
How can I create a dictionary annotation? Annotations contain general information about dictionaries (i.e. their author, subject, date of creation, etc.). This information can be viewed in ABBYY Lingvo x3 by double-clicking the dictionary icon on the Bookshelf. We recommend using Notepad to create annotation files. The name of the annotation file must be the same as the name of the dictionary it refers to. Save the file in Unicode, and then change the extension of the file to .ann. During compilation, this file will be used by DSL Compiler to add an annotation for your dictionary.

DSL Dictionary Structure

The source text of a DSL dictionary is a plain text file (*.txt), either in UNICODE or in ANSI encoding.
ABBYY Lingvo dsl dict example DSL Dictionary Structure
A DSL dictionary is made up of dictionary entries. An entry (card) has a headword (this can be a word or a phrase) and a body, which contains translations and comments. If a dictionary is added to the ABBYY Lingvo x3 Bookshelf, all of its card headwords are displayed in the word list. Clicking a word or phrase in the word list, opens the dictionary card which displays the corresponding entry.
ABBYY Lingvo x3 Multilingual supports dictionaries not only in Russian but also in other European languages (for the full list of supported languages, see the Supported Languages section). The source and target languages of the dictionary must be specified in the DSL file. Therefore, at the beginning of each DSL file you need to specify the name of your dictionary (#NAME “dictionary name”), its source language (#INDEX_LANGUAGE  “language name”) and its target language (#CONTENTS_LANGUAGE  “language name”).
E.g.: If you wish to create an English-Russian dictionary named “General”, type the following at the beginning of the DSL file:
#NAME “General”
#INDEX_LANGUAGE “English”
#CONTENTS_LANGUAGE “Russian”
If your dictionary consists of several files, use the #INCLUDE command to merge the files into one dictionary. Specify the full path to the file after a space or tabulation character. In the DSL language the back slash character “\” indicates that the character following it is text rather than a tag, so you have to use double slashes “\\” in the path to the file.
E.g.:
#INCLUDE “C:\\Dictionaries\\UniverseE.dsl”
Additionally, you can specify paths relative to the folder where the main DSL file  (i.e. the file containing the #INCLUDE command) is located. In this case specify either the file name without the path or put a full stop (“.”) at the beginning of the path.
E.g.:
  1. If the initial dictionary is in Dictionaries, the dictionary to be merged (Universe2.dsl) is in the same folder: #INCLUDE “Universe2.dsl”
  2. If the initial dictionary is in Dictionaries, the dictionary to be merged (Universe2.dsl) is in the Dictionaries\Dic folder: #INCLUDE “Dic\\Universe2.dsl”
  3. If the initial dictionary is in Dictionaries\Dic, the dictionary to be merged (Universe2.dsl) is in the Dictionaries folder: #INCLUDE “..\\Universe2.dsl”
Note.
  • If the dictionary text was typed in ANSI encoding, you must specify the code page for the source text, i.e. add a code page tag after the target language and source language tags:
    #SOURCE_CODE_PAGE    “code page name”.
    Allowed code page names:
    Allowed code page name Windows code page number
    Latin 1252
    Cyrillic 1251
    EasternEuropean 1250
  • If you save the text of the dictionary in ANSI encoding, make sure that the dictionary source and target languages are supported by the same code page. If there is no such code page, save the dictionary in UNICODE.
  • If you save the text of the dictionary in UNICODE, you don’t have to specify the code page.
Below the header go the dictionary cards. Each card has a headword and a body. Headwords are displayed in the ABBYY Lingvo x3 word list, and a body contains the possible translations of a headword.

DSL Card Structure

A DSL card has the following structure:
ABBYY Lingvo dsl card DSL Card Structure
  1. The headword The headword must be typed starting from the first position of a new line. Allowed characters: letters of alphabets, numbers, spaces, hyphens, commas and braces {} – to mark the unsorted part of the headword.
  2. The card body The body of the card follows the headword and starts on a new line. The first character in each line of the body must be either a space (or several spaces) or a tab (or several tabs). The card body ends at the next headword, which starts a new line. The card body may end at the end of the file.
    Note. The order of zones is not fixed: you can put labels, links to Web pages and pictures anywhere in the body of the card.
If the card is too long, you can reduce the amount of text displayed on screen. Use [*] and [/*] tags to mark some parts of the card as optional: they will be displayed only in full mode. You can enclose any part of the card in [*] and [/*] tags, except the headword. ABBYY Lingvo x3 displays optional text in a different colour.
You can insert one or several blank lines between the body of one card and the headword of the next card to make the source text more readable. Entries in the source text need not be arranged in alphabetical order. You cannot have two entries with the same headword. However, capitalization matters and “Cardigan” and “cardigan” are considered as two different headwords.

How Entries Are Sorted

The headword of a card can be either a word or a phrase. The words in the headword can be separated by any number of spaces. However, multiple spaces will be substituted by one space when the card is displayed in ABBYY Lingvo x3. Spaces are taken into account when headwords are arranged alphabetically in the word list.
One card may have several headwords. If you want a card to have several headwords, first type these headwords (each starting a new line), and then type the body text of the card. All the headwords will be shown in the word list (each headword in its own place in the list). Clicking any of the headwords will open the corresponding card.
The word list can contain words in different languages; these may be headwords of entries or headwords of subentries. Words in each of the languages are arranged in their “natural” dictionary order (i.e. alphabetically); Cyrillic letters follow Latin letters.
Characters that are not ignored
Hyphens (-), full stops (.), underscore (_), comma (,), and forward slash (/) are not ignored.
You can use parentheses to mark an optional part of the headword and curved braces to mark an unsorted part of the headword.
You can use any special symbols (like ~ or ^) in the headword text, but you must put a backslash (\) before each of such symbols. To use a backslash itself in the headword text, you must put double backslash (\\).

Unsorted Part of an Entry Headword

An entry headword can have an unsorted part. The unsorted part serves to include in the headword certain linguistic information which helps to understand how to use the headword (i.e. what words the headword is usually used with, government model examples etc.) yet, if it were sorted, affects the position of the headword in the word list in an undesirable way.
The unsorted part is not displayed in the ABBYY Lingvo x3 word list and is not used for translation. This means that when you add an unsorted part to an entry headword you do not create a new headword, and so you cannot use the tilde to denote both the headword and the unsorted part you added.
The unsorted part is displayed on the screen only in the entry headword. You should use braces to select a part of the dictionary text as the unsorted part of an entry headword. Example:
{to }have
    иметь

Additionally, braces can be used in the headword or the body of the card to mark superscript or subscript.
for example, CO{[sub]}2{[/sub]}-Laser

Optional Part of an Entry Headword

A card headword can have an optional section marked by brackets.
You can use parentheses to provide spelling variants for a word, or to show that a certain morphological feature present in the source language is irrelevant in the target language.
E.g.:
превращать(ся)
   turn into

This is equivalent to the following:
превращать превращаться
    turn into

However, in the first case “превращать(ся)” will be displayed as the headword of the card.
If you have marked several headword sections as non-obligatory, the overall word list will contain every possible variant of the headword. For example, a headword written as follows: (пре)вращать(ся) will be displayed in the overall word list in four variants: превращаться, превращать, вращаться and вращать.
Note.We recommend that you do not use parentheses in headwords for any purpose other than described above.

Subentry

A card (entry) may have a subentry. Subentries are usually used to list common expressions and phrases in which the headword is used. Like a card, a subentry has a headword and a body. When ABBYY Lingvo x3 displays a main card, only the headwords of its subentries are displayed in it. Subentries are highlighted in a different colour. When you click a headword of a subentry, the corresponding card is displayed. Headwords of subentries are displayed in the word list; clicking them will display the corresponding cards. When you select a word combination in an external application and press CTRL+C+C or CTRL+INSERT+INSERT, the corresponding subentry card (if any) will also be displayed. One card (entry) may have several subentries.
The headword of a subentry must start a new line, the first position in the line must be a space or tab, followed by @. The body of a subentry has the same structure as the body of a card, but must end with @ placed on the next line. The following example shows a card with two subentries, one of which refers to meaning 1), and the other to meaning 3):
Example 1:
little
   1) маленький
   [m1][*]
   @ little one
   малыш
   @
   [/*][/m]
   2) немного, мало
   3) пустяк, мелочь
   [m1][*]
   @ little by little
   мало-помалу, постепенно
   @
   [/*][/m]

The headword of a subentry headword may have an alternative and/or an unsorted part. These parts are only displayed in the mother card. The headword of a subentry displayed in the mother card is a hyperlink to the subentry card. Clicking this hyperlink will open the subentry card.
In ABBYY Lingvo x3 system dictionaries, all subentries are displayed only in full translation mode, as they are enclosed in [*] and [/*] tags. If you want your user dictionary to look like a ABBYY Lingvo x3 system dictionary, enclose subentries in [*] and [/*].
Example 2: 
little
   1) маленький
   [m1][*]    @ little finger
   мизинец
   @ little ways
   маленькие, смешные слабости
   @
   [/*][/m]

Note. If a card contains several subentries in a row, as in example 2 above, the beginning of a new subentry serves as the end of the previous subentry (you can put only one @ sign to separate two subentries).

Using the Tilde

As you have noted, we retyped the headword whenever we needed it in the card text of the previous section examples. There is a way to avoid such retyping, and that’s the tilde use. If you type a tilde (~) in any card part (for example, in a subentry header), this tilde will be replaced with the entry headword when displaying the card text or subentry card. NB: If there is more than one headword in a card, the first one will be used to replace the tilde. See the following example: the card “binary” can be written as follows:
binary
    бинарный
    @ ~ search tree
    бинарное дерево поиска
    @ ~ search
    бинарный поиск
    @

You can use tilde in the text of a single card as many times as you want. You can even use multiple tildes in a single subentry headword (for example, you can have the following subentry – ~ in ~ – in the “all” card, equivalent to “all in all”).
A tilde used in the subentry text is replaced with the card, not subentry header.
If a card headword contains an unsorted part (or parts), any tilde used in the card text will be replaced with the longest sorted part of the entry headword.
A ^ sign typed before a tilde changes the case of the first letter of the word the tilde is to be replaced with – if the first letter were capital, it’ll become small, and vice versa. See the following example:
Havana
    Гавана, столица Кубы
    @ ^~
    гаванская сигара
    @


Links to Another Card

Linking to other cards
A card or subentry (subcard) can contain a link to another card (for example, a synonym or antonym). To create a hyperlink, you should type one of the headwords of the card referenced to in the body of your card enclosing it in broken brackets. A word in broken brackets may be placed in any part of the card but in subentry headword; you aren’t obliged to put it in the beginning of a line. When it comes to displaying a card, a link isn’t marked with any specific sign but displayed in the same colour as subentry headword. When you click it another card with the word’s translation opens.
For example, the following card contains a link to the word “binary”:
data
   данные, см. также <<binary>>

If you create a link to a card, the headword of which contains an unsorted part, you can refer to any of the respective headword variants. In any case, the unsorted part of the  headword must be suppressed.
Inserting a link to a card from another dictionary
  1. To insert a link to a card from another dictionary, use the [ref] tag. Use the name of the desired dictionary as the tag’s parameter.
  2. The name of the dictionary should be enclosed in quotation marks and preceded by the “dict” suffix.
  3. If the parameter is not specified, the link will point to a card from the same dictionary that contains the card with the link.
  4. The [ref] tag should be closed by [/ref].
The old link designation ‘<<>>’ is also supported in this new version of ABBYY Lingvo x3. But these designations should be used only for links within one dictionary.
For example:
[ref dict="Another dictionary (En-Ru)"]some word[/ref]
Note. When using the [ref] and [/ref] tags, make sure that the card you refer to actually exists, as DSL Compiler will not automatically check the validity of such references

Comments

You can add comments to the source text of the dictionary. These comments will be ignored by the compiler. Any DSL tags present in the comments will also be ignored. Comments must be enclosed in double braces and may include several lines of text.
{{An example of a card with two headwords}}
sale price
selling price
   отпускная цена

A comment may begin anywhere on the line. Comments must not break up the headword of an entry or subentry. (However, you can add comments in the same line after the headword.) If you type a comment at the beginning of a line, you cannot type the card headword in the same line. However, you can type a subentry headword after the comment in this line.
Embedded comments are not allowed (i.e., you cannot enter a comment inside another comment).

Inserting Pictures and Sounds

You can insert a picture, sound or video file in a DSL dictionary entry (card). When you open the entry, the picture, sound or video file will be replaced with an icon. Click the icon to display the picture in a separate window, to listen to the sound or to see the video clip.
Note.
  1. Multimedia files must be located in the folder of the corresponding dictionary.
  2. If the image, sound or video files are added when compiling the dictionary, these files need not be located in the folder where the dictionary itself is located.
To insert a picture in a DSL dictionary entry:
  • Write the name of the image file followed by the multimedia tags. 
Ex: [s]mypicture.bmp[/s].
Supported image formats:
BMP, Bitmaps (*.bmp)
PCX (*.pcx)
DCX (*.dcx)
JPEG (*.jpg)
TIFF (*.tif)
To insert a sound in a DSL dictionary entry:
  • Write the name of the sound file followed by the multimedia tags. 
Ex: [s]mysound.wav[/s].
Note. A sound card compatible with your operating system should be used for listening sound files.
Supported sound formats:
Wave Sound (*.wav)
To insert a video in a DSL dictionary entry:
  • In the DSL text of your card, write the name of the video file followed by [s] tags.  Ex: [s]movie.avi[/s].

Inserting Internet Links

To insert a link to a Web page:
  • Write the address of the Web page followed by the [url], [/url] tags.
E.g.: [url]http://www.lingvo.ru[/url].
The link in the card is underlined and marked with colour (the same as the colour of links to other cards). You can change the colour on the Entry window view tab of the Options dialog box (Tools>Options…).
Click the link to open the Web page in the default browser.

Paragraph Formatting

When displaying a card text ABBYY Lingvo x3 formats each paragraph according to card window width. Paragraph margins are defined as follows:
  • each line is one paragraph
  • subentry mark “@” is the beginning of a paragraph
In other words, each first paragraph line begins in the first position of the card window while the rest of the paragraph is divided into lines (ending with a complete word) the length of which depends on the card window width.
You should specify the left paragraph margin (counted from the left card window margin) using the [m] tag (where N is any number from 1 to 9). Any paragraph from this tag until the end of card or until system meets an “[/m]” (margin shift toggle off) tag, will be displayed positioned N spaces to the right from the left card window margin.
For example, if you want to display the translation shifted by one space to the right from the card header, you should format the card as follows:
little
    [m1]1) маленький[/m]
    [m1][*]@ little one
    малыш
    @
    [/*][/m]
    [m1]2) немного, мало[/m]
    [m1]3) пустяк, мелочь[/m]
    [m1][*]@ little by little
    мало-помалу, постепенно
    @
    [/*][/m]

Text Formatting

The new DSL version features special text formatting tools called formatting tags. Any formatting tool has two commands: toggle on tag and toggle off tag. Depending on this, the text entered between these tags will be formatted in a certain manner.
Any toggle on tags look like [a], where a is a formatting tool tag (comprising either on or two characters). The respective toggle off tag looks like [/a].
Implemented are the following text formatting tools:
  • boldfaced text ([b] tag)
  • italics ([i] tag)
  • underlined text ([u] tag)
  • coloured text ([c] tag; available colours: Aliceblue, antiquewhite, aqua, aquamarine, azure, beige, bisque, blanchedalmond, blue, blueviolet, brown, burlywood, cadetblue, chartreuse, chocolate, coral, cornflowerblue, cornsilk, crimson, cyan, darkblue, darkcyan, darkgoldenrod, darkgray, darkgreen, darkkhaki, darkmagenta, darkolivegreen, darkorange, darkorchid, darkred, darksalmon, darkseagreen, darkslateblue, darkslategray, darkturquoise, darkviolet, deeppink, deepskyblue, dimgray, dodgerblue, firebrick, floralwhite, forestgreen, fuchsia, gainsboro, ghostwhite, gold, goldenrod, gray, green, greenyellow, honeydew, hotpink, indianred, indigo, ivory, khaki, lavender, lavenderblush, lawngreen, lemonchiffon, lightblue, lightcoral, lightcyan, lightgoldenrodyellow, lightgreen, lightgrey, lightpink, lightsalmon, lightseagreen, lightskyblue, lightslategray, lightsteelblue, lightyellow, lime, limegreen, linen, magenta, maroon, mediumaquamarine, mediumblue, mediumorchid, mediumpurple, mediumseagreen, mediumslateblue, mediumspringgreen, mediumturquoise, mediumvioletred, midnightblue, mintcream, mistyrose, moccasin, navajowhite, navy, oldlace, olive, olivedrab, orange, orangered, orchid, palegoldenrod, palegreen, paleturquoise, palevioletred, papayawhip, peachpuff, peru, pink, plum, powderblue, purple, red, rosybrown, royalblue, saddlebrown, salmon, sandybrown, seagreen, seashell, sienna, silver, skyblue, slateblue, slategray, snow, springgreen, steelblue, tan, teal, thistle, tomato, turquoise, violet, wheat, white, whitesmoke, yellow, yellowgreen, - colours supported by Microsoft Internet Explorer 4.0 or higher.
    A colour name is not enclosed in quotation marks. If a colour name is not specified,  the colour specified in ABBYY Lingvo x3 settings as the label colour is used, e.g.: [c],[c green]. If the tag is not used the text will be displayed in black. Examples and hyperlinks are exceptions to this rule. They have colours specified in the ABBYY Lingvo x3 settings.
The following example makes “отпускная” displayed in italics, “цена” as boldfaced, and the overall card (“отпускная цена”) as underlined.
selling price
    [u][i]отпускная[/i] [b]цена[/b][/u]

Mind the fact that spaces before, after and in the middle of tags are present only if actually intended to be displayed. That means that you can format, if you want, only a part of the word (a single letter, the first and the last letters, etc.). If there is a space before and after a tag, only one space will be actually displayed.
The formatting tags must not overlap. If you toggled one formatting tag before another, you must toggle it off after the latter.

DSL Tags

All DSL tags have the following format: [a] (opening tag) or [/a] (closing tag).
[b], [/b] – boldfaced font
[i], [/i] – italics
[u], [/u] – underlined font
[c], [/c] – coloured (highlighted) font
[*], [/*]  – the text between these tags is only displayed in full translation mode (see)
[m] – sets the left paragraph margin. N is the number of spaces which will be used for the left-hand margin. N must be within the range from 0 to 9. The corresponding closing tag of the paragraph is [/m]. and left card margin.
[trn], [/trn] – translations zone.
[ex], [/ex] – examples zone.
[com], [/com] – comments zone.
[s],[/s] – multimedia zone (used to add pictures or sound files into a dictionary entries ).
[url],[/url] – link to a Web page.
[!trs], [/!trs] – the text between these tags will not be indexed
[p], [/p] – labels (clicking a label displays its full text)
['],[/'] – a stressed vowel in a word. You can change the colour of  stressed vowels on the Entry window view tab of the Options dialog box (Tools>Options…).
[lang][/lang] – the language of the word or phrase; these tags are used in cards to mark words that are written in a language other than the target language. Words marked by [lang] tags will be indexed, translated, you will be able to see the list of their grammatical forms, etc. The name of the language must be enclosed in quotation marks, e.g. [lang name="Russian"]. See the list of supported DSL languages in the “Supported Languages” section.
[ref][/ref] – hyperlink to a card in the same dictionary (You can also use “<<” and “>>” to enclose the headword of the card to make a link).
Note. When using the [ref] and [/ref] tags, make sure that the card you refer to actually exists, as DSL Compiler will not automatically check the validity of such references.
[sub][/sub] – subscript
[sup][/sup] -  superscript

Marking of Zones for Full-Text Search

Once you have added a dictionary onto the Bookshelf, you need to index it in order to be able to carry out full-text searches in this dictionary. Click Update Index… in the Dictionaries dialog box to update the index. If you choose not to update the index upon adding the dictionary, the index will be automatically updated when you carry out your first full-text search in the newly added dictionary. User dictionaries are indexed in the same way as system dictionaries.
Note.  Index files are stored on the hard disk in the same folder where the dictionary is stored. Make sure that your have write permissions for this folder (for more information on working with indexes, see the Adding User Dictionaries to the Bookshelf section).
To enable ABBYY Lingvo x3 to carry out full-text searches in the body text of the cards, you must enclose the text in special tags. Otherwise, ABBYY Lingvo x3 will only look for headwords.
If the structure of your dictionary entries is relatively simple (i.e. they consist merely of a headword followed by some text), you can automatically add [trn] and [/trn] tags to your cards to be able to carry out full-text searches in the dictionary. To do this, select the Create dictionary ready for indexing option in DSL Compiler. In this case, DSL Compiler will place a [trn] tag at the beginning of each card and a [/trn] tag at the end of each card. The syntax of the DSL language prohibits embedding zones of the same type, so before compiling your dictionary make sure that there are no [trn] tags in the entries. DSL Compiler will report a compilation error for each entry with embedded [trn] tags.
If your dictionary entries are complex and have several zones, you need to use special DSL tags to mark these zones:
  • Use the [trn] and [/trn] tags to mark the translations zone. This zone will contain translations of the headword.
  • Use the [ex] and [/ex] tags to mark the examples zone. This zone will contain usage examples.
  • Use the [com] and [/com] tags to mark the comments zone. This zone will provide additional information about the translations.
  • Use the [!trs] and [/!trs] tags to mark text fragments that must not be indexed (i.e. fragments you wish to be excluded from full-text search).
In the case of complex dictionary entries with several zones, clear the Create dictionary ready for indexing option in DSL Compiler.

Compiling a Dictionary

To compile a *.dsl dictionary:
  1. Click Start and select Programs>ABBYY Lingvo x3>DSL Compiler. 
  2. In the DSL Compiler dialog box that opens, select the *.dsl file that contains the text of your dictionary and then select the required compilation parameters.
  3. Note. If you wish image or sound files to be added to the dictionary, place these files into the folder where the source DSL file is located.
  4. Click the Compile button.
  5. The result of the compilation is a *.dde file and an *.lsd file. Correct the errors and warnings listed in the *.dde file (if any) and recompile your dictionary.
When DSL Compiler finishes compiling your dictionary, the About Dictionary dialog box is displayed.
If your cards contain not only text in the target language, but also text fragments in other languages, you must enclose such fragments in lang tags.
If your dictionary consists of several files, use the #INCLUDE command to join the files during compilation.
Note.
  • Starting from ABBYY Lingvo 9.0 you can convert *.lud dictionaries into *.dsl format.
  • If you want your dictionary to be represented by its own icon on the Bookshelf, you need to create a 14×21 *.bmp image. The name of the image must be the same as the name of the dictionary file.

Sample Entries in DSL

abandon
   [b]1.[/b] [p]гл.[/p]
   [m1]1) [p][trn]общ.[/p] отказываться [com]([i]от чего-л.[/i])[/com], прекращать [com]([i]что-л., делать что-л.[/i])[/com]; оставлять [com]([i]что-л.[/i])[/com][/trn][/m]
   [m2][*][ex][lang id=1033]to abandon a Bill[/lang] — отказаться от продвижения законопроекта[/ex][/*][/m]
   [m2][*][ex][lang id=1033]to abandon a claim \[a right, an action\][/lang] — отказаться от претензий \[от права, от иска\][/ex][/*][/m]
   [m2][*][ex][lang id=1033]to abandon (all) hope[/lang] — оставить (всякую) надежду[/ex][/*][/m]
   [m2][*][b]See:[/b][/*][/m]
   [m2][*][com][lang id=1033]abandoned property[/lang][/com][/*][/m]
   [m1]2) [p][trn]эк.[/p] закрывать; консервировать [com]([i]напр., транспортную линию, производство и т. п.[/i])[/com][/trn][/m]
   [m2][*][ex][lang id=1033]to abandon the transportation services[/lang] — заморозить транспортное обслуживание[/ex][/*][/m]
   [m1]3) [p][trn]общ.[/p] оставлять, уходить [com]([i]с поста и т. д.[/i])[/com]; покидать, оставлять [com]([i]что-л. или кого-л.[/i])[/com][/trn][/m]
   [m2][*][ex][lang id=1033]to be forced to abandon a position[/lang] — быть вынужденным оставить должность[/ex][/*][/m]
   [m2][*][ex][lang id=1033]He abandoned his family and went abroad.[/lang] — Он оставил свою семью и поехал за границу.[/ex][/*][/m]
   [m2][*][ex][lang id=1033]He abandoned his car and tried to escape on foot.[/lang] — Он бросил машину и попытался ускользнуть пешком.[/ex][/*][/m]
   [m2][*][b]See:[/b][/*][/m]
   [m2][*][ref dict="Marketing (En-Ru)"]abandonment[/ref][/*][/m]
   [b]2.[/b] [p]сущ.[/p]
   [m1][p][trn]общ.[/p] импульсивность; развязанность, несдержанность[/trn][/m]
   [m2][*][ex][lang id=1033]to do smth. with in complete abandon[/lang] — делать что-л., совершенно забыв обо всем[/ex][/*][/m]
 Show me abandon
ABBYY Lingvo priemer 1 Sample Entries in DSL

abandoned property
   [m1][trn]бесхозная собственность[/trn][/m]
 Show me abandoned property
ABBYY Lingvo primer 2 Sample Entries in DSL

chaste
   [m1][p][i][c][com]adj[/i][/p], [p][i]subst[/com][/c][/i][/p][/m]
   [m1][trn]целом[']у[/']дренный \[целом[']у[/']дренная\]; нев[']и[/']нный \[нев[']и[/']нная\][/trn][/m]
   [m2][*][ex][lang id=1036]les chastes sœurs[/lang] — м[']у[/']зы[/ex][/*][/m]
 Show me chaste
ABBYY Lingvo primer 3 Sample Entries in DSL

Qualität
   [s]Qualität.wav[/s]
   [m1][p][i][c][com]f[/p] [p]=[/i][/p], [lang id=32775]-en[/lang][/com][/c][/m]
   [m1]1) [trn]качество, свойство[/trn][/m]
   [m2][*][ex][lang id=32775]Qualität I. \[erster\] Wahl[/lang] — качество первого сорта[/ex][/*][/m]
   [m1]2) [trn]качество, достоинство[/trn][/m]
   [m2][*][ex][lang id=32775]er hat in der Stunde der Gefahr seine Qualitäten bewiesen[/lang] — в момент опасности он проявил свои достоинства \[свои лучшие качества\][/ex][/*][/m]
   [m2][*][ex][lang id=32775]ein Mann von Qualitäten[/lang] — человек с большими достоинствами[/ex][/*][/m]
   [m1]3) [trn][com]([p][i]сокр.[/p] [lang id=32775]Q[/i])[/lang][/com] (высшее) качество; [p]ком.[/p] сорт[/trn][/m]
   [m2][*][ex][lang id=32775]beste Qualität[/lang] — высший сорт[/ex][/*][/m]
   [m2][*][ex][lang id=32775]diese Ware ist Qualität[/lang] — это товар высшего качества[/ex][/*][/m]
   [m2][p][*][ex][lang id=32775]etw.[/p] auf die Qualität überprüfen[/lang] — проверить \[определить\] качество \[добротность\] [p]чего-л.[/ex][/*][/p][/m]
   [m2][*][ex][lang id=32775]von guter Qualität[/lang] — доброкачественный [com]([i]о товаре[/i])[/com][/ex][/*][/m]
   [m2][*][ex][lang id=32775]von schlechter Qualität[/lang] — недоброкачественный [com]([i]о товаре[/i])[/com][/ex][/*][/m]
   [m2][*][ex][lang id=32775]um hohe Qualität wetteifern[/lang] — бороться за высокое качество[/ex][/*][/m]
   [m1]4) [trn]титул, звание, ранг[/trn][/m]
   [m1]5) [trn]качество, уровень[/trn][/m]
   [m2][*][ex][lang id=32775]erfinderische Qualität[/lang] — уровень изобретения[/ex][/*][/m]
   [m1]6) [trn]класс [com]([i]машин[/i])[/com][/trn][/m]
   [m1]7) [p][trn]фон.[/p] окраска, качество тембра [com]([i]гласного[/i])[/com][/trn][/m]
 Show me Qualität
ABBYY Lingvo primer 5 Sample Entries in DSL

Note. To use these examples, please do the following:
  1. Copy the text of the entry (starting with the word in bold letters) into a text file. Make sure that each line in the entry body (but not the headword) starts with a tab.
  2. Add the dictionary header at the beginning of the file. The header includes the dictionary name (#NAME “dictionary name”), the source language (#INDEX_LANGUAGE “language name”), and the target language (#CONTENTS_LANGUAGE “language name”). E.g.: The following header at the beginning of the text file will create an English-Russian dictionary named “General”:
    #NAME “General”
    #INDEX_LANGUAGE “English”
    #CONTENTS_LANGUAGE “Russian”
  3. Save the file as Unicode text and change its extension to *.dsl.
  4. Compile this file using DSL Compiler.
http://www.LingvoDA.ru/ - The Web site of the Lingvo Dictionary Association offering a vast collection of free additional dictionaries for Lingvo.