mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-30 01:04:09 +02:00
ApplicationBootstrap: list "core" translations
Just to make application fit module capabilities. We might find a better place for both later on. refs #7054
This commit is contained in:
parent
6faedf5733
commit
b60b811335
@ -452,9 +452,8 @@ abstract class ApplicationBootstrap
|
|||||||
*/
|
*/
|
||||||
protected function setupInternationalization()
|
protected function setupInternationalization()
|
||||||
{
|
{
|
||||||
$localeDir = $this->getApplicationDir('locale');
|
if ($this->hasLocales()) {
|
||||||
if (file_exists($localeDir) && is_dir($localeDir)) {
|
Translator::registerDomain(Translator::DEFAULT_DOMAIN, $this->getLocaleDir());
|
||||||
Translator::registerDomain(Translator::DEFAULT_DOMAIN, $localeDir);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -469,4 +468,48 @@ abstract class ApplicationBootstrap
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string Our locale directory
|
||||||
|
*/
|
||||||
|
public function getLocaleDir()
|
||||||
|
{
|
||||||
|
return $this->getApplicationDir('locale');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return bool Whether Icinga Web has translations
|
||||||
|
*/
|
||||||
|
public function hasLocales()
|
||||||
|
{
|
||||||
|
$localedir = $this->getLocaleDir();
|
||||||
|
return file_exists($localedir) && is_dir($localedir);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List all available locales
|
||||||
|
*
|
||||||
|
* NOTE: Might be a candidate for a static function in Translator
|
||||||
|
*
|
||||||
|
* return array Locale list
|
||||||
|
*/
|
||||||
|
public function listLocales()
|
||||||
|
{
|
||||||
|
$locales = array();
|
||||||
|
if (! $this->hasLocales()) {
|
||||||
|
return $locales;
|
||||||
|
}
|
||||||
|
$localedir = $this->getLocaleDir();
|
||||||
|
|
||||||
|
$dh = opendir($localedir);
|
||||||
|
while (false !== ($file = readdir($dh))) {
|
||||||
|
$filename = $localedir . DIRECTORY_SEPARATOR . $file;
|
||||||
|
if (preg_match('/^[a-z]{2}_[A-Z]{2}$/', $file) && is_dir($filename)) {
|
||||||
|
$locales[] = $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir($dh);
|
||||||
|
sort($locales);
|
||||||
|
return $locales;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user