quotaProject, the Global Database of Quotas for Women is an online collection of academic papers and a database of quotas details from every country in the world with any type of legislated or political party quotas.
The site presents a constantly-updated profile of each country with both numeric and textual data that needs to be presented correctly in French. The site has evolved from simple static pages to a ColdFusion-based site with an SQL database storing the data.
Decisions and implementation
Adding a translation interface
The goal of the translation project was to add a simple language switcher without having to re-engineer or rewrite much of the underlying layout and database code. Furthermore, old links should still work and visitors should be able to bookmark and share links which were language specific.
It was decided to use a path prefix (e.g.
www.quotaproject.org/en/page.html) rather than a domain prefix (e.g.
en.quotaproject.org/page.html). This kept DNS configuration simpler and kept URLs with the familiar
More details in the Guide for Software developers
One of the partner organisations, the Inter-Parliamentary Union already has a number of staff who do English to French translation. The Sprawk translation management interface was used to extract the most common strings from the menus and key data fields into a Word document. A translator at IPU performed the translations manually and the results were imported back into Sprawk via the web interface.
Read more in the Translators' Guide
Successful implementation requires a standard trick of the Apache web server. Whenever a new request for a page is received, Apache rewrites the URL, replacing the path prefix with a parameter. For example, a request to
is first rewritten to
www.quotaproject.org/search.cfm?country=SE&type=3&ul=en. This special
ul parameter is reserved by Sprawk to indicate the visitor's preferred language.
During processing of the site's English HTML content to French, all internal links are automatically adjusted with the
Any request missing both the path prefix and an
ul parameter, such as a first visit to the front page will use a routine from Sprawk's ColdFusion library to detect the best language from the user's browser settings. Visitors with French browsers will automatically be shown the French version of that page.
ColdFusion templates and CFTags
The Sprawk CFTag was inserted into the site's template and all pages automatically updated. The CFTag wraps around the page body. When a page is loaded in French mode, this tag first checks the local cache for a translation for the entire page, otherwise it requests a translation from the Sprawk server. Any change on the page automatically triggers a re-translation.
Sometimes small changes are made, such as a rewording of some introductory text or some extra punctuation. If the change is small, a fuzzy matching process will still return the old French translation. Inserting a new sentence into the middle of an existing paragraph will mean that sentence alone will appear in English. In either case, the system automatically discovers the missing translation and prompts the administrator from the Sprawk administration dashboard.
Since the project uses in-house translators, the launching of a French version of the website was very cost-effective. For a small site like this, Sprawk subscriptions cost just €29 per month. With some small customisation and consulting from Transmachina, the whole project cost less than one thousand euros.
High search-engine ranking
By providing an expert, edited translation of the website in French, quotaProject is one of the highest ranked sites for their target terms. Sprawk translates each page's meta data (keywords and descriptions) which helps increase search engine ratings. Link tags' attributes are also translated, making tooltips available in French which increases both usability and rankings.