12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- namespace Elgg\I18n;
- /**
- * WARNING: API IN FLUX. DO NOT USE DIRECTLY.
- *
- * Can "translate" language keys into various human-readable, localized strings.
- *
- * TODO(ewinslow): Remove the "Interface" suffix
- *
- * @since 1.11
- *
- * @access private
- */
- interface TranslatorInterface {
- /**
- * Given a message key, returns a best-effort translated string.
- *
- * If the translator doesn't know how to translate into the specified locale,
- * it can try translating into a related or similar locale (e.g. en-US => 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);
- }
|