W łańcuchach systemu Android można zdefiniować liczby mnogie do obsługi tłumaczeń w zależności od faktycznego numeru dostarczanego do ciągu znaków, zgodnie z opisem here. Ciągi pozwalają również na określenie wielu parametrów pozycyjnych podobnych do tego, co sprintf
robi w wielu językach.Ciągi liczbowe w systemie Android z wieloma parametrami
jednak rozważyć następujący ciąg:
<resources>
<string name="remaining">%1$d hours and %2$d minutes remaining.</string>
</resources>
Zawiera dwie liczby, jak bym przekształcić to do liczby mnogiej w Androidzie? Wszystkie przykłady działają zawsze tylko z jednym parametrem. Czy to możliwe?
getRelativeTimeSpanString wydaje się być dobrym wyborem dla mojego problemu pod ręką, ale nie rozwiąże mojego początkowego pytania. Posiadanie tekstu o wielu numerach nie jest rzadkością ("Masz 5 e-maili i 3 wiadomości", "Zostało 5 dolarów i 83 centów."). Nie widzę, jak bym określił kod XML dla sugerowanej wersji getQuantityString. –
spójrz na pierwszy link, napisałem. Dokumentacja mówi, że ilość będzie używana do wyboru ciągu i trzeciego argumentu, aby go sformatować. – Blackbelt
Niestety, nie rozumiem.Czy możesz rozwinąć swoją odpowiedź na przykładzie: a) XML, aby ustawić ciąg dla 4 form liczby mnogiej potrzebnych do "Masz 5 e-maili i 3 wiadomości" oraz b) wywołanie getQuantityString z pocztami i wiadomościami jako ilości wejściowe? –