Change default language
#1
Change default language
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.
Reply
#2
RE: Change default language
There used to be a setting for default language without having to change any code. I'll have to take a look since I haven't used it in years Tongue
-TGates - Project Council

SEARCH the Forums or read the DOCUMENTATION before posting!
Support Sentora and Donate: HERE

Find my support or modules useful? Donate to TGates HERE
Developers and code testers needed!
Contact TGates for more information
Reply
#3
RE: Change default language
Sure thank you, can you get me the solution as soon as possible?
Reply
#4
RE: Change default language
I can not find anywhere a setting for 'Default Language' which I had thought was in the core some where...


I also was not able to find where it actually enters the default language into the user's x_profiles database table Huh 

In the file: \modules\manage_clients\code\controller.ext.php lines 532-542 is where it adds the user's information to the x_profiles database, but no reference of the language:

Code:
$sql = $zdbh->prepare("INSERT INTO x_profiles (ud_user_fk, ud_fullname_vc, ud_group_fk, ud_package_fk, ud_address_tx, ud_postcode_vc, ud_phone_vc, ud_created_ts) VALUES (:userid, :fullname, :packageid, :groupid, :address, :postcode, :phone, :time)");
Maybe try changing that line to:

Code:
$sql = $zdbh->prepare("INSERT INTO x_profiles (ud_user_fk, ud_fullname_vc, ud_language_vc, ud_group_fk, ud_package_fk, ud_address_tx, ud_postcode_vc, ud_phone_vc, ud_created_ts) VALUES (:userid, :fullname, 'PT', :packageid, :groupid, :address, :postcode, :phone, :time)");

I think that because of the way the language system works, setting a language other than English as the default may have issues with lines that are not translated or empty. You may need to test that.
-TGates - Project Council

SEARCH the Forums or read the DOCUMENTATION before posting!
Support Sentora and Donate: HERE

Find my support or modules useful? Donate to TGates HERE
Developers and code testers needed!
Contact TGates for more information
Reply
#5
RE: Change default language
Hi,
But just put the PT or will I have to insert the complete table?
Reply
#6
RE: Change default language
Just PT
-TGates - Project Council

SEARCH the Forums or read the DOCUMENTATION before posting!
Support Sentora and Donate: HERE

Find my support or modules useful? Donate to TGates HERE
Developers and code testers needed!
Contact TGates for more information
Reply
#7
RE: Change default language
Blush  If there is a way to read the language of the computer is very good, I find that idea is very useful
Reply
#8
RE: Change default language
When updating version is updated language table?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
change username from email umarzuki@gmail.com 0 2 ,301 11-25-2022, 05:46 PM
Last Post: umarzuki@gmail.com
Database - Change localhost to %localhost% JSmith 1 6 ,183 09-11-2019, 09:19 AM
Last Post: TGates
hat is the MYSQL default Username owenclements 1 5 ,656 08-07-2019, 11:13 PM
Last Post: Ron-e

Forum Jump:


Users browsing this thread: 1 Guest(s)