2012-03-17 13 views
8

私は車輪の再発明に行く前に、Androidはマルチ言語サポートで序整数を文字列に変換するための任意の機能を持っていますか?つまり、整数3を英語では「3」に、フランス語では「3eme」に変換します。アンドロイド変換

私は自分自身だけで日付を使用するためのAndroidの自動文字列置換に伴うロジックのビットを使用して、これは確かに他の人が遭遇されていなければならないと思った、といないこれを行う方法を見ることができます。

答えて

5

のJavaやAndroidのは、序数の文字列を作成するためのサポートを持っています。 Androidでは、複数の文字列リソースを作成できますが、序文は作成できません。

+0

私は私の目的のために、少なくとも十分複数形の施設を使用してこの問題を解決することができました。私が扱っている範囲では英語とフランス語の両方で動作しますが、翻訳がさらに進むと再び変更する必要があります。主に、私は私のアプリが使用されている言語の「意識」である必要はありません、ただAndroidの自動文字列のサポートを利用することができるソリューションを思い付くしようとしていました。 – gordonwd

2

あなたは序を必要とする対象の範囲が限られている場合は、あなたがそれらを定義するために<string-array>を使用するのが最善です:その後、

<string-array name="ordinals"> 
    <item>zeroth</item> 
    <item>1st</item> 
    <item>2nd</item> 
    <item>3rd</item> 
    <item>4th</item> 
    <item>5th</item> 
    <item>6th</item> 
</string-array> 

を介してアクセス:

もちろん
String ordinal = getResources().getStringArray(R.array.ordinals)[count]; 

これは他の言語にあなたの自動翻訳を得ることはありません - あなた自身それ(とあなたのカウントは、この単純なコードでは範囲外になった場合は、例外が発生します)しなければなりません。

関連する問題