Rob van der Woude's Scripting Pages


Version 3.01



Translate animal species' (chordata) names from one supported language to another with this program.

This program uses Wikipedia to translate a species' "common name" (also known as "popular name") to its scientific name, and from the scientific name to the "common name" in three languages.
Supported languages are all languages that have at least 1000 articles on Wikipedia.

BirdName 3.01 Screenshot



How it works:

The program first retrieves a list of supported languages on Wikipedia (languages with at least 1000 articles on Wikipedia).
If it fails to open the list, it will use a set of cached lists instead, or if those aren't available, a set of embedded lists.
You can't use the program in a meaningful way without access to Wikipedia, but you will at least have access to the settings and help file.

Assuming you selected for the animal class, for the input language, and entered , the program will try and open the Wikipedia page
After clicking , the program will search that Wikipedia page for the scientific name ("Sturnus vulgaris"), which will then be displayed in the "Scientific name" input field.
To find the common names in the "output" languages, the program tries to open the Wikipedia pages for the scientific name in each of these languages (e.g. for Spanish), and uses a number of regular expressions to search these pages for the common names.



BirdName Settings 3.01 Screenshot

Use the button to change the program settings interactively.
This will open a second window, which allows you to select the program interface language, input language, output languages, window magnification factor (for the visually challenged), debug mode, and whether to display all language names in English or each in its own "local" language.

Click to save your choices to a configuration file; or click to delete the configuration file, thereby restoring the program's default settings, or click to ignore the changes.
Note that after clicking any of these buttons, the program will be restarted immediately with the (new) configuration, so any result in the main window will be lost.


The program can also be configured using the following optional command line switches:

/? show this help
/d enable Debug mode: dialogs will pop up showing the resulting settings
/-d disable Debug mode (command line only)
/e use English language names (default: display each language name in its own language)
/-e do not use English language names (command line only)
/i:xx Input language selection
/m Magnify window and fonts to twice their default size and use higher contrast colors
/m:nn like /m but witch custom magnification factor nn (1..10, limited to fit screen if necessary)
/-m disable Magnification and high contrast (command line only)
/p:xx Program interface language selection
/t1:xx language selection for Translation #1
/t2:xx language selection for Translation #2
/t3:xx language selection for Translation #3

All command line switches are optional and case insensitive.
Command line switches can be saved in an optional configuration file (BirdName.cfg, located in the program's parent folder) which will be interpreted before the command line is interpreted.
Command line options always override configuration file options.

For language selections: xx must be a valid language code for a supported language.
Supported languages are all languages with more than 1000 articles on Wikipedia.
See for the list of supported languages and their language codes.

To create your own language file, run the command BirdName /P:xx (where xx is a valid language code).
If BirdName.xx doesn't exist in the program's parent folder, it will be created by the program.
The newly created file will contain all captions as key=value pairs, e.g. Aves=Birds, with the caption values in the currently active program interface language.
Translate each caption and save the file.
Next time you run BirdName /P:xx your translations will be used for the program interface.

A language file for Dutch ( is embedded in the program.
This file will be used when you select Dutch (Nederlands) for the program interface language — unless a valid language file already exists!

The language file is extremely critical: if a single caption is missing, the program will fail to load any translated captions.
In that case, the program will try to delete the invalid language file, and either recreate a new "template" language file, that you need to translate yourself again, or restore the original file from an embedded resource (at the moment of writing: for Dutch language file only).

If the program doesn't show any captions at all, the automatic recovery procedure failed; rename or remove your language file and recreate is as described here.


Program updates:

BirdName update message

Each time the program is started, it will check online if an update is available.
If there is, a dialog box will pop up, asking you if you want to download the latest version.
Click to open the download page in your default browser.


Help files:

The program comes with English and Dutch PDF help files embedded.
Each time help is requested, either by clicking the button or by pressing the F1 key, the embedded PDF help file will overwrite any existing file with the same name in the program's parent folder.


Limitations and work-arounds:

The names entered in the input fields must match the names on the Wikipedia pages (not case sensitive).
The Wikipedia pages must adhere to certain layout standards, which most of them do, though not all.
These standards sometimes change, in which case the program may fail.
Since the program can never be tested for all possible combinations of languages and species, some of these combinations may fail.

If you are familiar with regular expressions, you may try and add custom regular expressions to make the program accept these "non-standard" pages.
Custom regular expressions can be added to an optional file named BirdName.patterns, located in the program's parent folder.

A custom regular expression might look like this:


where (?<LocalName>[^<\d]+) is the expression for the common name we are looking for, and {0} will be replaced by the species' scientific name.

The program first uses its "embedded" list of regular expressions; if none of these result in a match, it will try the custom regular expressions.



This program can be used without installing it — it is a true portable application.
Most of its helper files are either embedded or are created on the fly when required.

This program is the successor of the old Birdname.hta.
Development of the HTA version has been stopped.

Though some of the helper files use the same file names as the old HTA version did, they are not interchangeable!
If you intend to use the old HTA version as well as this compiled version on the same computer, make sure the HTA and executable are not in the same folder.



Code to decode Unicode characters by Adam Sills on

Code to open the embedded PDF help file based on code by Dan Ergis on


Change History

Version Release Date
3.01 2016-09-20
  • The regular expressions used to extract the local name were fine tuned to reject numbers
3.00 2016-09-06
  • Complete rewrite and make-over in C#

Versions published before 3.00 are the old HTA version of

the program, which is still available but no longer maintained.


Download BirdName 3.01:


MD5: 555bdfba58912e3ee51482104b4d0780
SHA1: 6c927a32cc901ae18154dcd690dd4c98b477732a


Make a donation:

page last uploaded: 2016-09-25, 11:11