X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FL10n.php;h=2c8a9eef9cd0ef4d14c5013509655ffbe20de8cd;hb=0a4119adaf6294bf43d135a0f435c1dd677c50e0;hp=db008d6a9e66659354975e2c2948b2e7bbd96ed1;hpb=6c2cf494b553833d116dbdbceea349d7f17cc728;p=friendica.git diff --git a/src/Core/L10n.php b/src/Core/L10n.php index db008d6a9e..2c8a9eef9c 100644 --- a/src/Core/L10n.php +++ b/src/Core/L10n.php @@ -4,14 +4,14 @@ */ namespace Friendica\Core; -use Friendica\BaseObject; use Friendica\Core\L10n\L10n as L10nClass; +use Friendica\DI; /** * Provide Language, Translation, and Localization functions to the application * Localization can be referred to by the numeronym L10N (as in: "L", followed by ten more letters, and then "N"). */ -class L10n extends BaseObject +class L10n { /** * Returns the current language code @@ -20,37 +20,23 @@ class L10n extends BaseObject */ public static function getCurrentLang() { - return self::getClass(L10nClass::class)->getCurrentLang(); + return DI::l10n()->getCurrentLang(); } /** - * This function should be called before formatting messages in a specific target language - * different from the current user/system language. + * @param string $lang * - * It saves the current translation strings in a separate variable and loads new translations strings. + * @return L10nClass The new L10n class with the new language * - * If called repeatedly, it won't save the translation strings again, just load the new ones. - * - * @see popLang() - * @brief Stores the current language strings and load a different language. - * @param string $lang Language code - * @throws \Exception + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function pushLang($lang) + public static function withLang(string $lang) { - self::getClass(L10nClass::class)->pushLang($lang); + return DI::l10n()->withLang($lang); } /** - * Restores the original user/system language after having used pushLang() - */ - public static function popLang() - { - self::getClass(L10nClass::class)->popLang(); - } - - /** - * @brief Return the localized version of the provided string with optional string interpolation + * Return the localized version of the provided string with optional string interpolation * * This function takes a english string as parameter, and if a localized version * exists for the current language, substitutes it before performing an eventual @@ -63,15 +49,16 @@ class L10n extends BaseObject * * @param string $s * @param array $vars Variables to interpolate in the translation string + * * @return string */ public static function t($s, ...$vars) { - return self::getClass(L10nClass::class)->t($s, ...$vars); + return DI::l10n()->t($s, ...$vars); } /** - * @brief Return the localized version of a singular/plural string with optional string interpolation + * Return the localized version of a singular/plural string with optional string interpolation * * This function takes two english strings as parameters, singular and plural, as * well as a count. If a localized version exists for the current language, they @@ -86,16 +73,17 @@ class L10n extends BaseObject * @param string $singular * @param string $plural * @param int $count + * * @return string * @throws \Exception */ public static function tt(string $singular, string $plural, int $count) { - return self::getClass(L10nClass::class)->tt($singular, $plural, $count); + return DI::l10n()->tt($singular, $plural, $count); } /** - * @brief Return installed languages codes as associative array + * Return installed languages codes as associative array * * Scans the view/lang directory for the existence of "strings.php" files, and * returns an alphabetical list of their folder names (@-char language codes). @@ -111,24 +99,38 @@ class L10n extends BaseObject } /** - * @brief Translate days and months names. + * Translate days and months names. * * @param string $s String with day or month name. + * * @return string Translated string. */ public static function getDay($s) { - return self::getClass(L10nClass::class)->getDay($s); + return DI::l10n()->getDay($s); } /** - * @brief Translate short days and months names. + * Translate short days and months names. * * @param string $s String with short day or month name. + * * @return string Translated string. */ public static function getDayShort($s) { - return self::getClass(L10nClass::class)->getDayShort($s); + return DI::l10n()->getDayShort($s); + } + + /** + * Load poke verbs + * + * @return array index is present tense verb + * value is array containing past tense verb, translation of present, translation of past + * @hook poke_verbs pokes array + */ + public static function getPokeVerbs() + { + return DI::l10n()->getPokeVerbs(); } }