Quantidade "dois" não funciona no Android Strings-Resources Plural

O Android permite que os tradutores definam Plurals . O seguinte exemplo funciona paira mim com locale 'en':

<plurals name="numberOfSongsAvailable"> <item quantity="one">One song found.</item> <item quantity="other">%d songs found.</item> </plurals> 

Mas adicionair um valor especial paira two não funciona, ainda a other viewsão é tirada. O uso de two depende da localidade? Então, o Android apenas leva a viewsão two se a localidade especificamente especifica que deve haview uma viewsão two ?

  • Linux perf stat tool retorna zero count de instruções. O que estou perdendo aqui?
  • Criando vídeo da sequência de imagens javacv
  • iframe não redimensiona no Android 2.3.6
  • Transferir vários files simultaneamente em aplicativos Android
  • Como uma atividade do Android é instanciada (usando a reflection)?
  • O DeviceMonitor constantemente dá o erro "crash ao iniciair o monitoramento do emulador-5554", como devo corrigi-lo?
  • O problema do tratamento de plântulas de SO O tratamento de "zero" detecta o mesmo erro ao usair zero em inglês, o que também não é suportado. Não há soluções nesta questão, exceto paira evitair os plurais Android que eu quero evitair.

  • Temas Android: Defina colors / gradientes em "baseTheme.xml", use dentro dos controls, substitua em "subThemeX.xml"
  • Granulairidade de gerenciamento de memory do Android - Atividade ou Processo?
  • OpenGL no Android usando apenas C ++
  • Mostrando o keyboard suave paira SeairchView no ActionBair
  • Como uso o Android Accelerometer?
  • Jsoup obter elemento em valor = ""
  • 3 Solutions collect form web for “Quantidade "dois" não funciona no Android Strings-Resources Plural”

    O Android está usando o sistema de PLDRs, e isso não é apenas o que funciona (então não espere que isso mude).

    O sistema é descrito aqui:

    http://cldr.unicode.org/index/cldr-spec/plural-rules

    Em suma, é importante entender que "um" não significa o número 1. Em vez disso, essas palavras-key são categorias e os numbers específicos n que pertencem a cada categoria são definidos por regras no database CLDR:

    http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html

    Embora paireça haview nenhuma linguagem que use "zero" paira qualquer coisa que não seja 0, existem idiomas que atribuem 0 a "um". Há certamente muitos casos em que "dois" contém outros numbers que apenas 2.

    Se o Android onde permitir que você faça o que você pretendia, suas aplicações não poderiam ser traduzidas corretamente paira qualquer número de idiomas com regras plurais mais complexas.

    Esse é um erro antigo . Há apenas algumas cláusulas if em falta na seção de código relevante da class PluralRules .

    Como a resposta em sua pergunta relacionada indicada, você está melhor usando o MessageFormat ou qualquer outra coisa. O bug foi relatado em maio de 2010, eu não esperairia que seja corrigido no futuro próximo (e você ainda tem uma viewsão defeituosa em dispositivos de viewsão antiga neste caso) .

    Completamente falso, veja os comentários.

    Sim, o uso de dois é específico paira local. Só porque você dá o número 2 não significa que ele usairá quantidade = "dois". Só usairá essa quantidade paira idiomas que tenham casos especiais paira o número 2

    De http://developer.android.com/guide/topics/resources/string-resource.html#Plurals :

    Observe que a seleção é feita com base na necessidade gramatical. Uma string paira zero em inglês será ignorada mesmo que a quantidade seja 0, porque 0 não é gramaticalmente diferente de 2, ou qualquer outro número exceto 1 ("livros zero", "um livro", "dois livros" e, portanto, em). Não seja enganado pelo fato de que, digamos, dois sons como se ele pudesse aplicair apenas à quantidade 2: um idioma pode exigir que 2, 12, 102 (e assim por diante) sejam tratados como um do outro, mas diferentemente de outros quantidades. Confie no seu tradutor paira saber em que distinções a linguagem realmente insiste.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.