Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
osrm-text-instructions
Advanced tools
OSRM Text Instructions transforms OSRM route responses into localized text instructions. This repository contains the canonical implementation of this library written in JavaScript. OSRM Text Instructions is also available in Swift and Objective-C (for iOS, macOS, tvOS, and watchOS) and in Java (for Android and Java SE).
OSRM Text Instructions has been translated into several languages. Please help us add support for the languages you speak using Transifex.
OSRM Text Instructions could support grammatical cases for street names for some languages.
Grammatical cases and other translated strings customization after Transifex is handled by override scripts.
var version = 'v5';
var osrmTextInstructions = require('osrm-text-instructions')(version);
// If you’re unsure if the user’s locale is supported, use `getBestMatchingLanguage` method to find an appropriate language.
var language = osrmTextInstructions.getBestMatchingLanguage('en-US');
response.legs.forEach(function(leg) {
leg.steps.forEach(function(step) {
instruction = osrmTextInstructions.compile(language, step, options)
});
});
require('osrm-text-instructions')(version)
parameter | required? | values | description |
---|---|---|---|
version | required | v5 | Major OSRM version |
compile(language, step, options)
parameter | required? | values | description |
---|---|---|---|
language | required | en de zh-Hans fr nl ru and more | Compiling instructions for the selected language code. |
step | required | OSRM route step object | The RouteStep as it comes out of OSRM |
options | optional | Object | See below |
key | type | description |
---|---|---|
legCount | integer | Number of legs in the route |
legIndex | integer | Zero-based index of the leg containing the step; together with legIndex , this option determines whether an arrival instruction indicates which waypoint the user has arrived at |
formatToken | function | Function that formats the given token value after grammaticalization and capitalization but before the value is inserted into the instruction string; useful for wrapping tokens in markup |
formatToken
takes two parameters:
token
: A string that indicates the kind of token, such as way_name
or direction
value
: A grammatical string for this token, capitalized if the token appears at the beginning of the instructionand returns a string.
index.js
holds the main transformation logic in javascriptinstructions/
holds the translateable stringsTests are data-driven integration tests for the english language.
To run them yourself for the JavaScript implementation:
npm install
npm test
Fixtures are programatically created and updated via test/fixtures_test
. To update the instructions in the fixture files, run UPDATE=1 npm test
. To create new fixtures, add them to test/fixtures_test
, then run UPDATE=1 npm test
.
The main language of this project is English en
. We support other languages via translations, as seen in languages/translations
.
You can help translating on the web via Transifex
To add an own translations:
echo "{}" > languages/translations/{language_code}.json
./languages.js
languages/overrides/{language_code}.json
npm run transifex
UPDATE=1 npm test
(see changes in git diff
)git checkout master
git commit -a | "vx.y.z"
with Changelog list in commit messagegit tag vx.y.z -a
with Changelog list in tag messagegit push origin master; git push origin --tags
npm publish
FAQs
OSRM Text Instructions
The npm package osrm-text-instructions receives a total of 14,822 weekly downloads. As such, osrm-text-instructions popularity was classified as popular.
We found that osrm-text-instructions demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 11 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.