Quantcast
Channel: Sentora Support Forums - All Forums
Viewing all articles
Browse latest Browse all 4648

Change default language

$
0
0
Good afternoon,

I would like to ask a little help. I'm translating the whole sentence into Portuguese from the code and wanted the table in my "tr_PT_tx" database to be the default when creating a user.

I have already made a change to a file in /etc/sentora/panel/dryden/ui/language.class.php leaving it like this:
PHP Code:
<?php

/**
 * @copyright 2014-2015 Sentora Project (http://www.sentora.org/) 
 * Sentora is a GPL fork of the ZPanel Project whose original header follows:
 *
 * Language translation class.
 * @package zpanelx
 * @subpackage dryden -> ui
 * @version 1.0.1
 * @author Russell Skinner (rskinner@zpanelcp.com)
 * @copyright ZPanel Project (http://www.zpanelcp.com/)
 * @link http://www.zpanelcp.com/
 * @license GPL (http://www.gnu.org/licenses/gpl.html)
 */
class ui_language {

    static $LangCol;

    /**
     * Used to translate a text string into the language preference of the user.
     * @author Pascal Peyremorte (ppeyremorte@sentora.org)
     * @global db_driver $zdbh The ZPX database handle.
     * @param $message The string to translate.
     * @return string The transalated string.
     */
    static function translate($message) {
        global $zdbh;

        if (empty(self::$LangCol)) {
            $uid ctrl_auth::CurrentUserID();
            $sql $zdbh->prepare('SELECT ud_language_vc FROM x_profiles WHERE ud_user_fk=' $uid);
            $sql->execute();
            $lang $sql->fetch();
            self::$LangCol 'tr_' $lang['ud_language_vc'] . '_tx';
        }
        if (self::$LangCol == 'tr_PT_tx')
            return $message//no translation required, portuguese used

        $SlashedMessage addslashes($message); //protect special chars
        $sql $zdbh->prepare('SELECT ' self::$LangCol ' FROM x_translations WHERE tr_PT_tx =:message');
        $sql->bindParam(':message'$SlashedMessage);
        $sql->execute();
        $result $sql->fetch();

        if ($result) {
            if (!fs_director::CheckForEmptyValue($result[self::$LangCol]))
                return $result[self::$LangCol]; //valid translation present
            else
                return $message//translated message empty
        } else { //message not found in the table
            //add unfound message to the table with empties translations
            $sql $zdbh->prepare('INSERT INTO x_translations SET tr_PT_tx=:message');
            $sql->bindParam(':message'$SlashedMessage);
            $sql->execute();
            return $message;
        }
    }

    /**
     * Return array of column names for a table.
     * @author Russell Skinner (rskinner@zpanelcp.com)
     * @param string $table The table name to return that column names from.
     * @return array List of column names.
     */
    static function GetColumnNames($table) {
        global $zdbh;
        $sql "select column_name from information_schema.columns where lower(table_name)=lower(:table)";
        $stmt $zdbh->prepare($sql);
        $stmt->bindParam(':table'$table);
        try {
            if ($stmt->execute()) {
                $raw_column_data $stmt->fetchAll(PDO::FETCH_ASSOC);
                foreach ($raw_column_data as $outer_key => $array) {
                    foreach ($array as $inner_key => $value) {
                        if (!(int) $inner_key) {
                            $column_names[] = $value;
                        }
                    }
                }
            }
            return $column_names;
        } catch (Exception $e) {
            
        
}
    }

}

?>

However, there is still some file to move so that when creating a new user the default language is the PT.

I await answers to help me.

Greetings.

Viewing all articles
Browse latest Browse all 4648

Trending Articles