В нашем проекте мы используем Enums для нескольких вещей, но, возможно, наиболее заметно для целей i18n - каждому фрагменту показанного текста присваивается Enum. Класс Enum имеет метод String-returning, который проверяет используемый языковой стандарт и выбирает правильный перевод из коллекции переводов во время выполнения.
Это служит двойному назначению - вы получаете завершение кода из вашей IDE, а также никогда не забываете переводить строку.
Использование очень простое, до такой степени, что приводить пример практически невозможно, но вот как можно использовать translation-enum
System.out.println(Translations.GREET_PERSON.trans()+" "+user.getName());
Или, если вы хотите проявить фантазию, попросите Enum принять аргументы, которые при манипуляциях с магической строкой будут вставлены в отмеченную позицию в строке перевода
System.out.println(Translations.GREET_PERSON.trans(user.getName());