Solon takes a different approach. The entire i18n module is built around three resolvers, one annotation, and a utility class — no XML, no interceptor registration, no boilerplate configuration.
Let me walk through how it works.
The Resource Convention
Place your message files under resources/i18n/:
resources/i18n/messages.properties # default (e.g. Chinese)






