The t( ) mechanism is very simple but in a few cases like the one you mentioned (1st, 2nd, 3rd, nth...) it does create some issues that make it impossible to have a correct translation. Another case is for months translation, where the abbreviation for "May" is "May", so that in languages where that month is longer (like in Italian "Maggio") there can't be both a full month name and an abbreviation. 
<br><br>One option would be change the t( ) mechanism so that its input is a key instead of the English translation. In most cases, the key would be the English translation as it currently is, but it would also be possible to set the key of a message to be different from the English value. For the example mentioned above we would have:
<br><br>&nbsp; &#39;may_short&#39; =&gt; (&#39;en&#39; -&gt; &#39;May&#39;, &#39;it&#39; -&gt; &#39;Maggio&#39; )<br>&nbsp; &#39;may_long&#39; =&gt; (&#39;en&#39; -&gt; &#39;May&#39;, &#39;it&#39; -&gt; &#39;Maggio&#39; )<br><br>This change would make drupal&#39;s translation mechanism less English-centric. There&#39;s of course some issues with these modifications, mainly knowing what the best way to specify keys/messages is, but it would probably make things more adaptable languages other than English, which seems to be one of the big focuses of the 
6.x release.<br><br>Florian<br><br><br><div><span class="gmail_quote">On 5/2/07, <b class="gmail_sendername">Chris Kennedy</b> &lt;<a href="mailto:chrisken@mail.utexas.edu">chrisken@mail.utexas.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Does anyone have suggestions for creating translatable strings for rankings?<br><br>I need to generate strings for 1st/2nd/3rd/4th/etc. ideally without a<br>limit, but don&#39;t know of a simple translatable solution.<br>
<br>Right now I just have individual t() strings for 1st/2nd/3rd, then a<br>blanket t($i .&#39;th&#39;) for the rest, under the untested theory that<br>translators could manually add translations for Nth into their .po files
<br>up to a reasonable limit. I realize that this will not work for<br>extractor.php purposes and is English-centric.<br><br>Thoughts?<br><br>Thanks,<br>Chris<br></blockquote></div><br>