A class representing a collection of resource information pertaining to a given locale
A class representing a collection of resource information pertaining to a given locale. A resource bundle provides a way of accessing locale- specfic information in a data file. You create a resource bundle that manages the resources for a given locale and then ask it for individual resources.The resource bundle file is a text (ASCII or Unicode) file with the format:
. locale { . tag1 {...} . tag2 {...} . }The tags are used to retrieve the data later. You may not have multiple instances of the same tag.Four data types are supported. These are solitary strings, comma-delimited lists of strings, 2-dimensional arrays of strings, and tagged lists of strings.
Note that all data is textual. Adjacent strings are merged by the low-level tokenizer, so that the following effects occur: foo bar, baz // 2 elements, "foo bar", and "baz" "foo" "bar", baz // 2 elements, "foobar", and "baz" Note that a single intervening space is added between merged strings, unless they are both double quoted. This extends to more than two strings in a row.
Whitespace is ignored, as in a C source file.
Solitary strings have the format:
. Tag { Data }This is indistinguishable from a comma-delimited list with only one element, and in fact may be retrieved as such (as an array, or as element 0 or an array).Comma-delimited lists have the format:
. Tag { Data, Data, Data }Parsing is lenient; a final string, after the last element, is allowed.Tagged lists have the format:
. Tag { Subtag { Data } Subtag {Data} }Data is retrieved by specifying the subtag.Two-dimensional arrays have the format:
. TwoD { . { r1c1, r1c2, ..., r1cm }, . { r2c1, r2c2, ..., r2cm }, . ... . { rnc1, rnc2, ..., rncm } . }where n is the number of rows, and m is the number of columns. Parsing is lenient (as in other data types). A final comma is always allowed after the last element; either the last string in a row, or the last row itself. Furthermore, since there is no ambiguity, the commas between the rows are entirely optional. (However, if a comma is present, there can only be one comma, no more.) It is possible to have zero columns, as follows:. Odd { {} {} {} } // 3 x 0 arrayBut it is impossible to have zero rows. The smallest array is thus a 1 x 0 array, which looks like this:. Smallest { {} } // 1 x 0 arrayThe array must be strictly rectangular; that is, each row must have the same number of elements.This is an example for using a possible custom resource:
. Locale currentLocale; . UErrorCode success = U_ZERO_ERROR; . ResourceBundle myResources("MyResources", currentLocale, success ); . . UnicodeString button1Title, button2Title; . myResources.getString("OkKey", button1Title, success ); . myResources.getString("CancelKey", button2Title, success );
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de