HEX
Server: LiteSpeed
System: Linux d8 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: wbwebdes (3015)
PHP: 8.1.31
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/wbwebdes/domains/mailing.wb-cloud.nl/public_html/admin/plugins/Common/FrontendTranslator.php
<?php
/**
 * CommonPlugin for phplist.
 *
 * This file is a part of CommonPlugin.
 *
 * @category  phplist
 *
 * @author    Duncan Cameron
 * @copyright 2011-2018 Duncan Cameron
 * @license   http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3
 */

namespace phpList\plugin\Common;

/**
 * This class provides translations for plugin text on frontend pages.
 */
class FrontendTranslator
{
    private $translations;

    /**
     * Load the frontend file for the subscribe page language or, if not set, the default frontend language.
     *
     * @param array  $pageData subscribe page fields
     * @param string $codeRoot path to plugin's code directory
     */
    public function __construct($pageData, $codeRoot)
    {
        global $language_module;

        $languageFile = !empty($pageData['language_file'])
            ? $pageData['language_file']
            : $language_module;
        $require = "{$codeRoot}lan/frontend_english.php";

        if (preg_match('/(.+)\.inc$/', $languageFile, $matches)) {
            $language = $matches[1];
            $f = "{$codeRoot}lan/frontend_$language.php";

            if (file_exists($f)) {
                $require = $f;
            }
        }
        $this->translations = require $require;
    }

    /**
     * @param string $key     text to be translated
     * @param mixed  ...$args optional sprintf parameters
     *
     * @return string
     */
    public function s($key, ...$args)
    {
        $translated = isset($this->translations[$key]) ? $this->translations[$key] : $key;

        return count($args) > 0
             ? sprintf($translated, ...$args)
             : $translated;
    }
}