Remove deprecated class `Icinga/Util/Translator`
This commit is contained in:
parent
423c58d710
commit
3113dc06ac
|
@ -1,184 +0,0 @@
|
||||||
<?php
|
|
||||||
/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */
|
|
||||||
|
|
||||||
namespace Icinga\Util;
|
|
||||||
|
|
||||||
use ipl\I18n\GettextTranslator;
|
|
||||||
use ipl\I18n\Locale;
|
|
||||||
use ipl\I18n\StaticTranslator;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper class to ease internationalization when using gettext
|
|
||||||
*
|
|
||||||
* @deprecated Use {@see \ipl\I18n\StaticTranslator::$instance} or {@see \ipl\I18n\Translation} instead
|
|
||||||
*/
|
|
||||||
class Translator
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* The default gettext domain used as fallback
|
|
||||||
*/
|
|
||||||
const DEFAULT_DOMAIN = 'icinga';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The locale code that is used in the project
|
|
||||||
*/
|
|
||||||
const DEFAULT_LOCALE = 'en_US';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Translate a string
|
|
||||||
*
|
|
||||||
* Falls back to the default domain in case the string cannot be translated using the given domain
|
|
||||||
*
|
|
||||||
* @param string $text The string to translate
|
|
||||||
* @param string $domain The primary domain to use
|
|
||||||
* @param string|null $context Optional parameter for context based translation
|
|
||||||
*
|
|
||||||
* @return string The translated string
|
|
||||||
*/
|
|
||||||
public static function translate($text, $domain, $context = null)
|
|
||||||
{
|
|
||||||
return StaticTranslator::$instance->translateInDomain($domain, $text, $context);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Translate a plural string
|
|
||||||
*
|
|
||||||
* Falls back to the default domain in case the string cannot be translated using the given domain
|
|
||||||
*
|
|
||||||
* @param string $textSingular The string in singular form to translate
|
|
||||||
* @param string $textPlural The string in plural form to translate
|
|
||||||
* @param integer $number The amount to determine from whether to return singular or plural
|
|
||||||
* @param string $domain The primary domain to use
|
|
||||||
* @param string|null $context Optional parameter for context based translation
|
|
||||||
*
|
|
||||||
* @return string The translated string
|
|
||||||
*/
|
|
||||||
public static function translatePlural($textSingular, $textPlural, $number, $domain, $context = null)
|
|
||||||
{
|
|
||||||
return StaticTranslator::$instance->translatePluralInDomain(
|
|
||||||
$domain,
|
|
||||||
$textSingular,
|
|
||||||
$textPlural,
|
|
||||||
$number,
|
|
||||||
$context
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Emulated pgettext()
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/de/book.gettext.php#89975
|
|
||||||
*
|
|
||||||
* @param $text
|
|
||||||
* @param $domain
|
|
||||||
* @param $context
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public static function pgettext($text, $domain, $context)
|
|
||||||
{
|
|
||||||
return StaticTranslator::$instance->translateInDomain($domain, $text, $context);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Emulated pngettext()
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/de/book.gettext.php#89975
|
|
||||||
*
|
|
||||||
* @param $textSingular
|
|
||||||
* @param $textPlural
|
|
||||||
* @param $number
|
|
||||||
* @param $domain
|
|
||||||
* @param $context
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public static function pngettext($textSingular, $textPlural, $number, $domain, $context)
|
|
||||||
{
|
|
||||||
return StaticTranslator::$instance->translatePluralInDomain(
|
|
||||||
$domain,
|
|
||||||
$textSingular,
|
|
||||||
$textPlural,
|
|
||||||
$number,
|
|
||||||
$context
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register a new gettext domain
|
|
||||||
*
|
|
||||||
* @param string $name The name of the domain to register
|
|
||||||
* @param string $directory The directory where message catalogs can be found
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public static function registerDomain($name, $directory)
|
|
||||||
{
|
|
||||||
/** @var GettextTranslator $translator */
|
|
||||||
$translator = StaticTranslator::$instance;
|
|
||||||
|
|
||||||
$translator->addTranslationDirectory($directory, $name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the locale to use
|
|
||||||
*
|
|
||||||
* @param string $localeName The name of the locale to use
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public static function setupLocale($localeName)
|
|
||||||
{
|
|
||||||
/** @var GettextTranslator $translator */
|
|
||||||
$translator = StaticTranslator::$instance;
|
|
||||||
|
|
||||||
$translator->setLocale($localeName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Split and return the language code and country code of the given locale or the current locale
|
|
||||||
*
|
|
||||||
* @param string $locale The locale code to split, or null to split the current locale
|
|
||||||
*
|
|
||||||
* @return object An object with a 'language' and 'country' attribute
|
|
||||||
*/
|
|
||||||
public static function splitLocaleCode($locale = null)
|
|
||||||
{
|
|
||||||
/** @var GettextTranslator $translator */
|
|
||||||
$translator = StaticTranslator::$instance;
|
|
||||||
|
|
||||||
if ($locale === null) {
|
|
||||||
$locale = $translator->getLocale();
|
|
||||||
}
|
|
||||||
|
|
||||||
return (new Locale())->parseLocale($locale);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a list of all locale codes currently available in the known domains
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public static function getAvailableLocaleCodes()
|
|
||||||
{
|
|
||||||
/** @var GettextTranslator $translator */
|
|
||||||
$translator = StaticTranslator::$instance;
|
|
||||||
|
|
||||||
return $translator->listLocales();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the preferred locale based on the given HTTP header and the available translations
|
|
||||||
*
|
|
||||||
* @param string $header The HTTP "Accept-Language" header
|
|
||||||
*
|
|
||||||
* @return string The browser's preferred locale code
|
|
||||||
*/
|
|
||||||
public static function getPreferredLocaleCode($header)
|
|
||||||
{
|
|
||||||
/** @var GettextTranslator $translator */
|
|
||||||
$translator = StaticTranslator::$instance;
|
|
||||||
|
|
||||||
return (new Locale())->getPreferred($header, $translator->listLocales());
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue