Customize Mapzen Turn-by-Turn narrative language for all ports

Ahoy, me hearties - it is time for ye landlubbers to charter a course for thee Cap’n! And ye best be taking the fastest route or ye be walkin the plank! What’s the matter, you scallywag? Have you never heard Pirate before? Well, blimey! In honor of International Talk Like A Pirate Day, Mapzen is highlighting this Pirate narrative language with the hopes that this will act as the catalyst that will encourge the contribution of other languages for Mapzen Turn-by-Turn.

While a few of ye scurvy dogs have been busy swabbing the deck, some of the savvy buccaneers have been busy contributing languages so that the Mapzen Turn-by-Turn service may be used in all ports. We would save ye the finest rum as a token of our appreciation, but as ye know, the rum is always gone. Therefore, a thank you will have to suffice.

Currently, we support the following languages:

  • Czech
  • English(US)
  • French
  • German
  • Italian
  • Pirate
  • Spanish

Look at the treasure map below, me scurvey dogs, and find a demo that is using the Pirate narrative language! Set sail on a voyage to the Carolina coast!

pirates voyage

pirate map

Then tack hard out of the cove to find Treasure Island. And with your booty, navigate to the Pirate Store barter for supplies after getting your hair curled!



And to help you buckos achieve success, the first mate has provided a link to the repository where the languages are stored. And shiver me timbers - there are also instructions on how to contribute your own language, which are detailed below:

  • Copy the en-US.json to <NEW_LANGUAGE_TAG>.json Using IETF BCP 47 as reference - the typical format for the <NEW_LANGUAGE_TAG> is:

    <ISO 639 two-letter language code>-<ISO 3166 two-letter country code>

    Czech/Czech Republic example: cs-CZ

  • Update the posix_locale value in your new file. The character encoding must be UTF-8. The typical format is:

    <ISO 639 two-letter language code>_<ISO 3166 two-letter country code>.UTF-8

    UTF-8 Czech/Czech Republic posix_locale example: cs_CZ.UTF-8

  • Update the aliases array in your new file. A typical alias entry is the ISO 639 two-letter language code without the ISO 3166 two-letter country code. The alias entry must be unique across language files.

    Czech aliases entry example: cs

  • Do not translate the JSON keys or phrase tags. An example using the ramp instruction: Alt text

  • Please translate the JSON values. As needed, reorder the phrase words and tags - the tags must remain in the phrase. An example using the ramp instruction: Alt text

  • Run make check on the odin repo to verify the tests pass OR move on to the last step and we can help verify.

  • Submit a pull request for review. Thank you!

Ahoy, ye mateys! Alas, yer destination is up ahead! Every pirate knows two things: First, ye set sail on an adventure to seek yer treasure. Secondly, dead men tell no tales. At Mapzen, we know two things: First, we set sail on an adventure to provide a savvy open service. Secondly, it is wise mateys that tell their tales and contribute their native narrative language.

Check out the Mapzen Turn-by-Turn documentation and let us know if you have any questions.