From: J Guthrie Date: Sat, 31 Mar 2018 15:58:17 +0000 (+0100) Subject: Converted roundabouts to take "1st, 2nd, 3rd" exit etc X-Git-Tag: live~3079^2~4 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/4b4449f7249837c89f2e33109521bf8e29ef8292 Converted roundabouts to take "1st, 2nd, 3rd" exit etc --- diff --git a/app/assets/javascripts/index/directions/osrm.js b/app/assets/javascripts/index/directions/osrm.js index 84f085c5a..6e7a6deb7 100644 --- a/app/assets/javascripts/index/directions/osrm.js +++ b/app/assets/javascripts/index/directions/osrm.js @@ -60,6 +60,20 @@ function OSRMEngine() { 'depart': 8, 'arrive': 14 }; + var convertExitNumber = function(exitNum) { + var j = exitNum % 10, + k = exitNum % 100; + if (j === 1 && k !== 11) { + return exitNum + "st"; + } + if (j === 2 && k !== 12) { + return exitNum + "nd"; + } + if (j === 3 && k !== 13) { + return exitNum + "rd"; + } + return exitNum + "th"; + }; var transformed_steps = input_steps.map(function(step, idx) { var maneuver_id; @@ -112,7 +126,7 @@ function OSRMEngine() { if (step.maneuver.type.match(/rotary|roundabout/)) { if (step.maneuver.exit) { - instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name } ); + instText += I18n.t(template + '_with_exit', { exit: convertExitNumber(step.maneuver.exit), name: name } ); } else { instText += I18n.t(template + '_without_exit', { name: name } ); } diff --git a/config/locales/en.yml b/config/locales/en.yml index 2aca45255..329718571 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2374,7 +2374,7 @@ en: destination_without_exit: Reach destination against_oneway_without_exit: Go against one-way on %{name} end_oneway_without_exit: End of one-way on %{name} - roundabout_with_exit: At roundabout take exit %{exit} onto %{name} + roundabout_with_exit: At roundabout take %{exit} exit onto %{name} turn_left_with_exit: At roundabout turn left onto %{name} slight_left_with_exit: At roundabout slight left onto %{name} turn_right_with_exit: At roundabout turn right onto %{name}