Project-OSRM / osrm-text-instructions

Text instructions from OSRM route responses
BSD 2-Clause "Simplified" License
87 stars 61 forks source link

Add abbreviations #221

Closed danpaz closed 6 years ago

danpaz commented 6 years ago

Issue

Moves abbreviation lists into OSRMTI. For now, these abbreviations are simply exported as JSON with no additional logic integrating them into the library.

Usage:

var osrmTextInstructions = require('osrm-text-instructions')('v5');
var abbreviations = osrmTextInstructions.abbreviations['en'];

Tasklist

Requirements / Relations

None.

cc @mcwhittemore @allierowan @lyzidiamond @1ec5

yuryleb commented 6 years ago

Maybe it's good idea to move map names abbreviations from MapBox SDK to more "public" place but how do you suppose to use them in text instructions? I hope you don't want to apply them to way names in instructions before output? They're mostly supposed to be used by TTS and abbreviations can only break pronunciation not to help instead. Also they can break or turn off grammar processing functionality (I spend a year or more for this :tired_face:)

Actually abbreviations are useful for map renders only IMHO. So maybe this good idea will land to some other repository?

1ec5 commented 6 years ago

Maybe it's good idea to move map names abbreviations from MapBox SDK to more "public" place but how do you suppose to use them in text instructions? I hope you don't want to apply them to way names in instructions before output? They're mostly supposed to be used by TTS and abbreviations can only break pronunciation not to help instead. Also they can break or turn off grammar processing functionality (I spend a year or more for this :tired_face:)

Not to worry; these abbreviations won’t be applied anywhere that a text-to-speech engine would see them. Although the sentences generated by this library are primarily fed to text-to-speech engines, they may also appear visually in a list of steps, such as on the Web.

At the moment, we’re planning to use these abbreviations in the turn banner in the navigation SDK, which is where they’re currently being used. The road names or destinations are standalone labels, so hopefully a lack of declension won’t pose a problem (?). There are already a few phrases and such in this repository that are left out of voice instructions, such as “exit”. If there are problems with housing them in the same library as voice instruction strings, then we can consider solutions to those problems separately from this PR.

danpaz commented 6 years ago

Thanks @1ec5 @lyzidiamond !