<p>Thanks, I'm getting your point. I don't seem to find a way in the <a href="https://github.com/fnando/i18n-js/blob/master/app/assets/javascripts/i18n.js">I18n lib</a> to deal with missing variable names. I can only think about some crazy workarounds like the following (not tested) or even checking for <code>%{name}</code> in <code>I18n.t(TURN_INSTRUCTIONS[instCodes[0]]</code>. Maybe others have some better ideas to ease the transition phase without causing lots of work.</p>
<div class="highlight highlight-Javascript"><pre> <span class="pl-k">var</span> name <span class="pl-k">=</span> s[<span class="pl-c1">1</span>] <span class="pl-k">?</span> <span class="pl-s"><span class="pl-pds">"</span><b><span class="pl-pds">"</span></span> <span class="pl-k">+</span> s[<span class="pl-c1">1</span>] <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></b><span class="pl-pds">"</span></span> <span class="pl-k">:</span> I18n.t(<span class="pl-s"><span class="pl-pds">'</span>javascripts.directions.instructions.unnamed<span class="pl-pds">'</span></span>);
<span class="pl-k">if</span> (instCodes[<span class="pl-c1">0</span>] <span class="pl-k">===</span> <span class="pl-s"><span class="pl-pds">"</span>11<span class="pl-pds">"</span></span> <span class="pl-k">&&</span> instCodes[<span class="pl-c1">1</span>]) {
instText <span class="pl-k">+=</span> I18n.t(<span class="pl-s"><span class="pl-pds">'</span>javascripts.directions.instructions.roundabout_with_exit<span class="pl-pds">'</span></span>, { exit<span class="pl-k">:</span> instCodes[<span class="pl-c1">1</span>], name<span class="pl-k">:</span> name } );
} <span class="pl-k">else</span> {
<span class="pl-k">var</span> transl1 <span class="pl-k">=</span> I18n.t(<span class="pl-c1">TURN_INSTRUCTIONS</span>[instCodes[<span class="pl-c1">0</span>]], { name<span class="pl-k">:</span> name });
<span class="pl-k">var</span> transl2 <span class="pl-k">=</span> I18n.t(<span class="pl-c1">TURN_INSTRUCTIONS</span>[instCodes[<span class="pl-c1">0</span>]]);
<span class="pl-k">if</span> (transl1 <span class="pl-k">===</span> transl2) { <span class="pl-c">// fallback to legacy mode where name variable is missing</span>
instText <span class="pl-k">+=</span> transl2 <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span> <span class="pl-pds">"</span></span> <span class="pl-k">+</span> name;
}
<span class="pl-k">else</span>
instText <span class="pl-k">+=</span> transl1;
}</pre></div>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/openstreetmap/openstreetmap-website/issues/904#issuecomment-119698247">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLRyiuibpljOZ745pft4hv3iX6KD-ks5obWvlgaJpZM4Djy1L.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/issues/904#issuecomment-119698247"></link>
<meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>