I know a similar question was asked before, but not exactly the same... What is a preferred method for localized compount strings? Use java.util.Formatter and shortcuts, or java.text.MessageFormat? I know that the java tutorial recommends the latter. But I am not sure, especially that java.text.MessageFormat seems not to support new java.time api that is quite unfortunate.