You should store translatable String objects in properties files. Since the properties files are simple text files and are not part of the Java source code, they can be created and updated by translators. No programming expertise is required. A translator can add support for an additional Locale merely by creating a new properties file. A new class file is not needed.
Properties files can contain values for String objects only.
If you need to store other types of objects, use a ListResourceBundle instead. Backing a ResourceBundle with Properties Files shows you how to use a PropertyResourceBundle . The ListResourceBundle class manages resources with a convenient list. Each ListResourceBundle is backed by a class file. You can store any locale-specific object in a ListResourceBundle .