HEX
Server: Apache/2.4.25 (Debian)
System: Linux server17 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
User: web37 (1062)
PHP: 7.4.30
Disabled: show_source, highlight_file, apache_child_terminate, apache_get_modules, apache_note, apache_setenv, virtual, dl, disk_total_space, posix_getpwnam, posix_getpwuid, posix_mkfifo, posix_mknod, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_nice, openlog, syslog, pfsockopen
Upload Files
File: /var/www/web37/htdocs/fickanzeiger/core/Translate.php
<?php
/**
 * Arfooo
 * 
 * @package    Arfooo
 * @copyright  Copyright (c) Arfooo Annuaire (fr) and Arfooo Directory (en)
 *             by Guillaume Hocine (c) 2007 - 2010
 *             http://www.arfooo.com/ (fr) and http://www.arfooo.net/ (en)
 * @author     Guillaume Hocine & Adrian Galewski
 * @license    http://creativecommons.org/licenses/by/2.0/fr/ Creative Commons
 */


/**
 * Class which make text translations
 */
class Translate extends Object
{
    private $translation;

    /**
     * Singleton instances - one per language
     */
    private static $instances = array();

    /**
     * Returns an instance of Translate for specified language
     * @param string $lang Specify destination language of translation
     */
    public static function getInstance($lang)
    {
        if (!isset(self::$instances[$lang])) {
            self::$instances[$lang] = new self($lang);
        }

        return self::$instances[$lang];
    }

    /**
     * Generates the standard translation object
     *
     * @param string $lang Specify destination language of translation
     */
    public function __construct($lang)
    {
        $dictionaryPath = Config::get("LANGUAGES_PATH") . $lang . ".php";

        if (!file_exists($dictionaryPath)) {
            $dictionaryPath = Config::get("LANGUAGES_PATH") . Config::get("DEFAULT_LANGUAGE") . ".php";
        }

        if (file_exists($dictionaryPath)) {
            $this->addDictionary($dictionaryPath);
        }
    }

    /**
     * Add dictionary for translations
     *
     * @param string $path Path to translation file
     */
    public function addDictionary($path)
    {
        include ($path);
        $this->translation = $language;
    }

    /**
     * Translate the given string
     *
     * @param  string $phrase Phrase to translate
     * @return string
     */
    public function getPhrase($phrase)
    {
        if (!isset($this->translation[$phrase])) {
            $this->translation[$phrase] = $phrase;
            return $phrase;
        } else {
            return $this->translation[$phrase];
        }
    }
}