It is specific to the program session, not to the Locale in which the program runs. Usually most of the objects you need to isolate in a ResourceBundle are String objects. However, not all String objects are locale-specific. For example, if a String is a protocol element used by interprocess communication, it doesn't need to be localized, because the end users never see it. The decision whether to localize some String objects is not always clear.
Log files are a good example.
If a log file is written by one program and read by another, both programs are using the log file as a buffer for communication. Suppose that end users occasionally check the contents of this log file. On the other hand, if end users rarely check the log file, the cost of translation may not be worthwhile. Organizing ResourceBundle Objects You can organize your ResourceBundle objects according to the category of objects they contain. For example, you might want to load all of the GUI labels for an order entry window into a ResourceBundle called OrderLabelsBundle .