Sample driving instructions

From OpenStreetMap Wiki
Jump to navigation Jump to search


Here we try to collect driving instructions and common labels and text in as many languages as possible. This page is designed to help developers of navigation software to localise their programs and thus make them and OpenStreetMap available and useful to more people. The content of these pages is intended to be automatically collected by scripts and programs to be merged with the existing translations in such programs.

General concept

Different languages have different grammatical structures; thus we cannot simply translate words and append them in the same way every time. To truly internationalise, we use sentences with markers for inserting certain kinds of constants (like "left" in the phrase "turn left on to Broadway"). We name these marked up sentences "phrases".

Complex plural forms

We are currently discussing how to do languages with more than one plural form on the talk-page. At the moment it looks like the syntax of gettext may be the way to go.

Proposal for the case of more than 1 plural form (so you can start collecting complex plural translations already):

time/day/singular "XXX"

time/day/plurals/formula "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)"

(The formula results in a number >= 0 and contains the integer-operands: "A%B", "A+B", "A-B", "b?A:B", "(A)" and the boolean-operands: "a==b", "a !=b", "a>b", "a<b", "a>=b", "a<=b", "a&&b", "a||b", "(a)")

time/day/plurals[0] "YYY"

time/day/plurals[1] "YYYSpecialCase1"

time/day/plurals[2] "YYYSpecialCase2"


Here are links to the translations of the sections "phrases" and "text-constants".

Phrases are sentences as used by software.

Text-Constants are intended to be inserted into the phrases in the place of markers having the same name as the phrase. Some text-constants are also used as labels for buttons, links or menu-entries.

For the naming-schema of the translations we have adopted the schema of the Java locale:

  • /de - most common German ("de" in ISO 639-1) translation
  • /en_GB - most common English ("en" in ISO 639-1) translation for the country of Great Britain ("GB" in ISO 3166).
  • /de_AT - most common German ("de" in ISO 639-1) translation for the country of Austria ("AT" in ISO 3166).
  • /en_GB_old - English ("en" in ISO 639-1) translation for the country of Great Britain ("GB" in ISO 3166) in the variant "Old English".
  • /th_TH_TH - Thai in the variant with Thai digits as opposed to /th_TH having western digits (!?!?!?!? the last "TH" part is a non-standard variant which would designate in Java the country code, not the language code or the script code for selecting digits; J2SE locales does not support digits selection, it just supports unspecified variants with random names)

But this wiki uses language code prefixes instead (they are technically equivalent, but use the BCP47 notation using preferably hyphens rather than underscores; note that BCP 47 locale tags are NOT case significant, so the case used on this wiki does not matter). This wiki uses language codes prefixes in a way coherent with BCP47, which is THE international standard based on *some* parts of ISO 639, ISO 3166, UN M.49, ISO 15924 but with improved selection of locales, guaranteed stability and upward compatibility that ISO standards do not offer. J2SE locales were also based on an old version of BCP47. So the real difference is only the choice between prefixes with colon (on this wiki) or suffixes after slash (J2SE): this wiki is not a Java source repository and wiki pages are not in the correct format for resource bundles. So please convert these sub-pages:

  • ".../de" -> "DE:..."
  • ".../de_DE" -> "DE-DE:..." (not needed, the "de-DE" variant is the default for "de")
  • ".../de_CH" -> "DE-CH:..." (if needed for specific terms)
  • ".../en" -> "EN:..." (but this wiki prefers using no prefix for British English which is the default language)
  • ".../en_GB" -> "en-GB:..." (normally not needed, the "en-GB" variant is the default one)
  • ".../en_US" -> "en-US:..." (if needed for specific terms)
  • and so on.


When adding new languages, feel free to keep the English translations of all other terms. Even translating just the numbers or a few words into a new language is an improvement.

Similar pages

See also:

Please contact the developers of these applications if you have missing or improved translations for the linked documents that go beyond what we have here on these pages.


In many languages different articles are placed before nouns depending on the (grammatical) number, gender and case of the noun.

German: der, die, das
French: la, le
Spanish: la, el

We need a translation schema to include this!

Driving or walking

In some texts the verb "to drive" is used. If you are in pedestrian mode, you will want to change this to "to walk". Can you please add another variable for this, please?