en). * * If no locale is specified, or if no translation can be found for the specified * locale, the translator may choose to fall back to some other language(s). * * It should never throw exceptions, since lack of translation should never be * cause to bring down an app or cancel a request. However, implementations may * log warnings to alert admins that requested language strings are missing. * * @param string $key A key identifying the message to translate. * @param array $args An array of arguments with which to format the message. * @param Locale $locale Optionally, the standard language code * (defaults to site/user default, then English) * * @return string The final, best-effort translation. */ function translate($key, array $args = [], Locale $locale = null); }