OpenStreetMap

Since I’m on a right-to-left-languages-and-mapping kick, I recently asked a language school in Malé to translate OpenStreetMap.org into Divehi, the local language of the Maldives. After a promising start and an initial quoted price, we had a month without communication. After determining it wasn’t just a Ramadan break, I texted a phone numbers on an ad on Ewity, a Maldivian Craigslist. Almost immediately I had the first translations:

OSM About Screenshot

OpenStreetMap About page — green text is a possible transliteration of “OpenStreetMap”

Font issues aside, bringing OSM Divehi coverage from zero to a few hundred words was a milestone. I’ve decided to pay for another 1,101 words to be translated — this covers most of what you’d see browsing OpenStreetMap, signing up, logging in, leaving a note on the map, and making your first edit.

Why translate Divehi?

This is a good question — even in the right-to-left languages theme, there are more speakers of Arabic, Persian, and Urdu who could use a completed translation of OpenStreetMap and the iD Editor.

Disappearing Islands

The Maldives are sinking. Long before they disappear, storms will damage crops, buildings, and local landmarks, and drive people to more protected cities or even out of the country. I believe that there’s value in mapping and documenting the Maldives and Maldivian way of life as it exists today, especially on more remote islands, and using community reports to monitor areas that are changing.

photo map

Malé, Maldives, by Shahee Ilyas, via Wikipedia

Don’t Ignore Existing Volunteers

When I started working on Arabic i18n I felt out of place, as I had limited knowledge and OpenStreetMap clearly has volunteer mappers who speak Arabic fluently. Eventually I realized that fixing these issues in the source code required knowledge of CSS, Unicode, and git, too. A mapper from the Middle East, North Africa, Iran, or Pakistan might not be available to fix these issues, but translations are much more accessible.

Volunteer translators are already doing great work — for iD Editor, Persian is 79% complete, and Arabic 60% complete.

Considering how few people speak Divehi, and how little the language is visible on OpenStreetMap today, it would be less likely that native speakers would be editing, and then that one of these editors would volunteer to translate the site from scratch. Providing the first chunk of translations for the site gives us a starting point to recruit mappers, translators, and organizing NGOs.

Local Language Content

Places in the Maldives ought to have a local-language name tag, combined Divehi-English name tag, or some other system, as seen in other countries. If the map is going to include local people, places, and knowledge, English-speaking tourists can’t be the only mapmakers.

person speaking

A participant in the annual Divehi Oratory competition

Comparable Open Source Translation Efforts

Arabic, Persian, and Urdu have open content on the web. They also appear on Google Translate, though translation on this level requires a human touch.

I have seen precious few websites with open source translations into Divehi. Clearly there was work on Wikimedia and Wordpress, but opening OpenStreetMap translations with a Creative Commons Zero license could be useful to new developers.

How’s it going?

Up until I got an invoice from the translator, I was pessimistic. Now that translation is happening, I feel much better about it.

The OpenStreetMap website project uses TranslateWiki and the iD Editor uses Transifex. Neither site allows me to import translations directly.

  • TranslateWiki tested me with random translations before I could join an OSM team. After some confusion, I decided to ‘translate’ five statements in Spanish to their existing translations, with little or no modification. About 24 hours later a mod approved my account, and I was able to add the first Divehi translations for the About page.

  • Transifex made me request to add Divehi to the iD project, which was approved. There are separate repos for the ‘presets’ and the main editor. I submitted a few translations which are not yet reviewed, so I’m not sure if they will be added or if I need to nudge them through the process.

Context and Legalese

I made a spreadsheet on Google Drive with one column of translations and one column of ‘context’, explaining when I need Edit (verb) and Edits (noun, a list of changes). Or explaining map-editing terms like “circularize” and “shape is not square-ish”.

Another example is finding a translation for ‘Agree’, for the OpenStreetMap Contributor Terms. OpenStreetMap asserts that the English version of the agreement has the final legal standing, and I can’t be sure that a translation would represent that accurately. I decided not to include the Contributor Terms in my translation, though I do plan to include the title of the page, the option buttons, and the public domain checkbox.

Template Content

I had many options on how to represent template phrases such as “{user}’s Profile” or “{user} posted about {topic} at {date}”. Should I include them in my word count? I asked the translator to do 50–100 words and then report back. He translated “number” in “{number} km” yesterday, so I tried to explain this better.

Quality Control and new NPM module

When I received my first translations, the translator asked how I would check the results. I didn’t really think about it until I was confronted with text.

  • Words such as ސިނަމާ and ބޭންކު I can Google and/or Image Search and see that movie theaters and banks come up. I also check if ‘homepage’, ‘next’, ‘previous’ appear in similar places on other websites.

  • I compared similar sentences for structure and subject-object-verb order.

  • I found a GPL transliteration library in PHP, converted it to JS/Node, and published it on NPM with a command-line interface. Source code. This allowed me to find proper names such as ‘OpenStreetMap’ and loan words such as ‘GPS’.

To be continued…

I’m going to continue to work on both translation pages to make sure that it starts appearing on the map, then show it to the USDP office and other NGOs in the Maldives.

I know some Arabic, so I’m hopeful that I could read. Each letter contains a consonant and vowel sign. ބޭންކު is beynku. Going from right to left, ބ is b, ޭ _ is ey, ނ is n, ް_ is no-vowel, and so on.

In October I’ll be discussing right-to-left support in OpenStreetMap at the Unicode Conference. I hope to visit the Maldives sometime this year!

Location: Galolhu, Malé, Maldives

Discussion

Log in to leave a comment