In Android-Strings können Sie Pluralformen definieren, um Übersetzungen zu behandeln, die von der tatsächlichen Zahl abhängen, die der Zeichenfolge wie beschrieben here beschrieben wird. Die Zeichenfolgen ermöglichen auch die Angabe mehrerer Positionsparameter, ähnlich wie in vielen Sprachen sprintf
.Android Plural Strings mit mehreren Parametern
Allerdings betrachten die folgende Zeichenfolge:
<resources>
<string name="remaining">%1$d hours and %2$d minutes remaining.</string>
</resources>
Es enthält zwei Zahlen, wie würde ich dies in Android zu einer pluralen verwandeln? Alle Beispiele arbeiten immer nur mit einem einzelnen Parameter. Ist das überhaupt möglich?
getRelativeTimeSpanString scheint eine gute Wahl für mein Problem zu sein, würde aber meine erste Frage nicht lösen. Einen Text mit mehreren Zahlen zu haben ist nicht so selten ("Du hast 5 Mails und 3 Nachrichten", "Es sind noch 5 Dollar und 83 Cents übrig."). Ich sehe nicht, wie ich das XML für die von Ihnen vorgeschlagene getQuantityString-Version angeben würde. –
schau dir den ersten Link an, den ich gepostet habe. Die Dokumentation sagt, dass Menge verwendet wird, um die Zeichenfolge und das dritte Argument zu wählen, um es zu formatieren – Blackbelt
Sorry, ich verstehe es nicht.Können Sie Ihre Antwort um ein Beispiel erweitern: a) das XML, um eine Zeichenkette für die vier Pluralformen für "Sie haben 5 Mails und 3 Nachrichten" zu erstellen und b) den Aufruf von getQuantityString mit Mails und Nachrichten als Eingangsgrößen? –