]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/directions/osrm.js
Avoid using "one" and "two" as translation keys
[rails.git] / app / assets / javascripts / index / directions / osrm.js
index 6e7a6deb71955020f9a4ea53e1f30194a9267037..4ce2d005feb4c9fed71b89748569d4fae3e5fd0e 100644 (file)
@@ -60,19 +60,8 @@ 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 numToWord = function(num) {
+        return ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth"][num-1];
       };
       var transformed_steps = input_steps.map(function(step, idx) {
         var maneuver_id;
@@ -126,9 +115,13 @@ function OSRMEngine() {
 
         if (step.maneuver.type.match(/rotary|roundabout/)) {
           if (step.maneuver.exit) {
-            instText += I18n.t(template + '_with_exit', { exit: convertExitNumber(step.maneuver.exit), name: name } );
+            if (step.maneuver.exit <= 10) {
+              instText += I18n.t(template + '_with_exit_ordinal', { exit: I18n.t('javascripts.directions.instructions.exit_counts.' + numToWord(step.maneuver.exit)), name: name });
+            } else {
+              instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name });
+            }
           } else {
-            instText += I18n.t(template + '_without_exit', { name: name } );
+            instText += I18n.t(template + '_without_exit', { name: name });
           }
         } else if (step.maneuver.type.match(/on ramp|off ramp/)) {
           var params = {};