From 1fe7d496db1ddc73289e6aae11f4dd4a970141d5 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 23 May 2014 13:28:33 -0700 Subject: Fix and be more explicit about plurals best practices. The "one" case should always include %d. Say so, and fix our examples. Also make it clear that developers should always provide exactly "one" and "other". Bug: 18429565 Change-Id: I09eb39ea6986850c3af28cca3052d319e3c97705 --- docs/html/guide/topics/resources/string-resource.jd | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/html/guide/topics/resources/string-resource.jd b/docs/html/guide/topics/resources/string-resource.jd index e2326eca432b..cbfa82e7dafd 100644 --- a/docs/html/guide/topics/resources/string-resource.jd +++ b/docs/html/guide/topics/resources/string-resource.jd @@ -237,7 +237,8 @@ distinctions at all, so you'll always get the other string.

The selection of which string to use is made solely based on grammatical necessity. In English, a string for zero will be ignored even if the quantity is 0, because 0 isn't grammatically different from 2, or any other number except 1 ("zero books", "one book", -"two books", and so on). +"two books", and so on). Conversely, in Korean only the other string will +ever be used.

Don't be misled either by the fact that, say, two sounds like it could only apply to the quantity 2: a language may require that 2, 12, 102 (and so on) are all treated like one @@ -343,7 +344,14 @@ values, with non-exhaustive examples in parentheses: <?xml version="1.0" encoding="utf-8"?> <resources> <plurals name="numberOfSongsAvailable"> - <item quantity="one">One song found.</item> + <!-- + As a developer, you should always supply "one" and "other" + strings. Your translators will know which strings are actually + needed for their language. Always include %d in "one" because + translators will need to use %d for languages where "one" + doesn't mean 1 (as explained above). + --> + <item quantity="one">%d song found.</item> <item quantity="other">%d songs found.</item> </plurals> </resources> @@ -353,7 +361,7 @@ values, with non-exhaustive examples in parentheses: <?xml version="1.0" encoding="utf-8"?> <resources> <plurals name="numberOfSongsAvailable"> - <item quantity="one">Znaleziono jedną piosenkę.</item> + <item quantity="one">Znaleziono %d piosenkę.</item> <item quantity="few">Znaleziono %d piosenki.</item> <item quantity="other">Znaleziono %d piosenek.</item> </plurals> @@ -597,4 +605,4 @@ with different types of styling applied to individual words: // and bold the entire sequence. CharSequence text = bold(italic(res.getString(R.string.hello)), color(Color.RED, res.getString(R.string.world))); - \ No newline at end of file + -- cgit v1.2.3-59-g8ed1b