Make getMessage locale optional and take precedence