Why does the Locale fallback not work as expected?
You created a messages.properties file and several messages_XX.properties files for different locales. You expect the system to use the messages.properties file as a fallback when no messages_XX.file is found for the locale in question. But that’s not how RWT works. If a properties file is not found for the locale in question, RWT tries the default locale, i.e. Locale.getDefault(). This is usually the VM’s locale. So if your VM is set to German, and there is a messages_de.properties file, you’ll get German. If you want to have English as your fallback, set your VM to English.