From a00b90507135651af999d563310a85faf82b4463 Mon Sep 17 00:00:00 2001 From: "Matteo Nastasi (mop)" Date: Sat, 27 Jun 2009 15:13:26 +0000 Subject: [PATCH] multi lang --- web/Obj/brisk.phh | 300 ++++++++++++++++++++++++++++------------------ web/room.js | 67 ++++++++--- 2 files changed, 238 insertions(+), 129 deletions(-) diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index 853430e..9802e4f 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -73,20 +73,63 @@ define(BRISK_SINGLE_SESS, ""); require_once("$DOCUMENT_ROOT/Etc/".BRISK_CONF); +$mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi', + 'en' => 'back standing' ), + 'btn_close' => array( 'it' => 'chiudi', + 'en' => 'close'), + + 'tit_all' => array( 'it' => 'tutti', + 'en' => 'all' ), + + 'tabtout_a'=> array( 'it' => '
Sei stato inattivo per ', + 'en' => '
You are being idle for ' ), + 'tabtout_b'=> array( 'it' => ' minuti.

Quindi ritorni tra i Giocatori in piedi.', + 'en' => ' minutes.

Then you return with the standing players.'), + 'tickmust' => array( 'it' => '
Per attivare il messaggio di segnalazione del tavolo occorre essere seduti.

', + 'en' => '
To activate the signalling message of the table it\'s necessary to be sitting

'), + 'tickjust' => array( 'it' => '
Il messaggio di segnalazione del tavolo è già attivato.

', + 'en' => 'EN
Il messaggio di segnalazione del tavolo è già attivato.

'), + 'tickwait' => array( 'it' => '
Il messaggio di segnalazione del tavolo
è disattivato ancora per %d second%s.

', + 'en' => 'EN
The signalling message of the table
will be deactivated for %d second%s.

'), + 'alarpass' => array( 'it' => '
La password digitata non è corretta.

', + 'en' => '
The entered password is not correct.

'), + 'alarret' => array( 'it' => '"Alarm \\"%s\\" inviato a %s."', + 'en' => '"Alarm \\"%s\\" sent to %s."'), + 'authmust' => array( 'it' => 'Per autenticare qualcuno devi a tua volta essere autenticato.', + 'en' => 'To authenticate someone you have to be authenticated.'), // on your turn + 'mesgmust' => array( 'it' => 'Per inviare un messaggio devi essere autenticato.', + 'en' => 'To send a message you have to be authenticated.'), + 'nickmust' => array( 'it' => 'Il nickname deve contenere almeno una lettera dell\'alfabeto o una cifra.', + 'en' => 'The nickname have to contain at least one letter or one number.'), + 'nickdupl' => array( 'it' => 'Nickname %s già in uso.', + 'en' => 'The nickname %s is already in use.'), + 'authchan' => array( 'it' => 'Non puoi cambiare nick a un tavolo per soli autenticati.', + 'en' => 'You can\'t change your nickname into a table for only authenticated.'), + 'nickjust' => array( 'it' => 'Il nickname \'%s\' è già registrato, se il suo proprietario si autentificherà verrai rinominato d\'ufficio come ghostN.', + 'en' => 'The nickname \'%s\' is already registered, if its proprietary will authenticate you will named again officially ghostN.'), // FIXME: him ??? + 'statunkn' => array( 'it' => 'Questo stato non esiste.', + 'en' => 'This state don\'t exists.'), + 'tabincon' => array( 'it' => '
I dati del tavolo n° %d sono inconsistenti, verranno resettati.

Torni in piedi.

', + 'en' => 'EN
I dati del tavolo n° %d sono inconsistenti, verranno resettati.

Torni in piedi.

'), + 'tit_onauth'=>array( 'it' => '(solo aut.)', + 'en' => '(only aut.)'), + + +); + $G_false = FALSE; -$G_lang = "it"; -$G_lng = ""; -// $G_lang = "en"; -// $G_lng = "_en"; +$G_lng = langtolng($G_lang); $G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 ); $G_brisk_version = "2.1.9 - trusty"; /* MLANG: ALL THE INFO STRINGS IN brisk.phh */ -$root_wellarr = Array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': sondaggi, direct messages quando segnalate.', - 'Se vuoi iscriverti alla Mailing List, cliccala!' ); +$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': bug della carta coperta risolto, assenso all\'apertura del tavolo non revocabile, multi-lingua quasi ultimato.', + 'Se vuoi iscriverti alla Mailing List, cliccala!' ), + 'en' => array ( 'EN Brisk (Ver. '.$G_brisk_version.'), NOVITA\': EN Sponsor alternati, menù rivisto, AUTO-GARANZIE, sondaggi quasi ultimati.', + 'EN Se vuoi iscriverti alla Mailing List, cliccala!' ) ); -$G_room_help= ' +$G_room_help = array( 'it' => '
Descrizione
Questa è un\'implementazione della briscola in cinque, così come è spiegata su @@ -110,15 +153,46 @@ Dopo che è iniziata una partita per uscirne dovete chiedere agli altri gi
/nick <nuovo_nickname> - cambio di nickname
/tav <frase di invito> - invito per gli altri giocatori al tavolo dove si è seduti
/st <stato> - cambia l\'icona associata al tuo user; stato può valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\" -
/garante - se si è autenticati permette di garantire per un utente fidato +
/authreq - se si è autenticati permette di garantire per un utente fidato
/mesgtoadm - se si è autenticati permette di lasciare un messaggio all\'amministratore del sito
/listen <all or auth> - se si è autenticati permette leggere solo i messaggi degli altri autenticati (auth) o di tutti (all)
-'; +', + +'en' => ' +
+EN Descrizione
+EN Questa è un\'implementazione della briscola in cinque, così come è spiegata su +Wikipedia; in breve è la variante con l\'asta prima sulla carta e poi sui punti.

+EN Configurazione del browser.
+Occorre abilitare i cookies.
+
+Uso del sito
+Potete sedervi a un tavolo o rimanere in piedi.
+Se al vostro tavolo si raggiungono i 5 giocatori inizia automaticamente la partita.
+
+Partita
+All\'inizio vengono distribuite le carte e parte l\'asta; per partecipare all\'asta, quando sarà il vostro turno, potrete scegliere se andare avanti o passare cliccando sulle icone corrispondenti. Se si arriva ai punti, scrivete nella textbox il vostro rilancio e cliccate PUNTI.

+Chi vince l\'asta dovrà decidere il seme della carta scelta e inizierà la mano.
+Per giocare le carte dovrete trascinarle nel quadrato al centro del vostro schermo.

+Il vostro turno è sempre segnalato da una cornice verde lampeggiante intorno al quadrato al centro del vostro schermo.

+Durante la partita, se vorrete ricaricare la pagina, usate l\'apposito bottone \\"reload\\" in basso a destra.
+Dopo che è iniziata una partita per uscirne dovete chiedere agli altri giocatori di sbloccarla cliccando sul lucchetto. Se non si segue questa prassi, una volta usciti, non vi potrete sedere a nessun tavolo per '.floor(BAN_TIME/60).' minuti. +
+
Comandi della chat +
/nick <nuovo_nickname> - cambio di nickname +
/tav <frase di invito> - invito per gli altri giocatori al tavolo dove si è seduti +
/st <stato> - cambia l\'icona associata al tuo user; stato può valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\" +
/authreq - se si è autenticati permette di garantire per un utente fidato +
/mesgtoadm - se si è autenticati permette di lasciare un messaggio all\'amministratore del sito +
/listen <all or auth> - se si è autenticati permette leggere solo i messaggi degli altri autenticati (auth) o di tutti (all) +
+
+'); // -$G_room_passwdhowto= '

Come registrarsi su Brisk

+$G_room_passwdhowto = array( 'it' => '

Come registrarsi su Brisk

Attualmente ci sono due metodi per ottenere una password sul sito:

@@ -145,21 +219,63 @@ Se sei in possesso di una carta che permette l\'identificazione via internet che
-'; +', + 'en' => '

EN Come registrarsi su Brisk

+
+EN Attualmente ci sono due metodi per ottenere una password sul sito:

+ +
  • Facendosi garantire da un utente di Brisk che già possidede una password

    +
  • Auto-garantendosi utilizzando uno dei seguenti sistemi di identificazione digitale:

    + +
  • Carta Regionale dei Servizi della Lombardia (la tessera sanitaria) +
  • Carta Regionale dei Servizi del Friuli Venezia Giulia (la tessera sanitaria) +
  • +
    +Per auto-garantisi occorre possedere:

    + +
  • il codice PIN della propria carta +
  • il lettore di smart-card per collegare la carta al PC (acquistabile di solito presso le edicole) +
  • +
    +Per effettuare la registrazione collegarsi al sito:

    +
    +
    https://brisk.mine.nu +
    +

    +Se sei in possesso di una carta che permette l\'identificazione via internet che non è nell\'elenco qui sopra +fai una segnalazione. + +
  • +
    +' ); /*
    Seguendo la procedura di auto-garanzia all\'url: https://brisk.mine.nu '; */ -$G_room_about= '
    +$G_room_about = array( 'it' => '
    briscola chiamata in salsa ajax

    version '.$G_brisk_version.'

    -Copyright 2006-2008 Matteo Nastasi (aka mop)

    '; +Copyright 2006-2009 Matteo Nastasi (aka mop)

    ', + 'en' => '
    +
    + + declaration briscola in ajax sauce (Beta) +
    +
    version '.$G_brisk_version.'

    +Copyright 2006-2009 Matteo Nastasi (aka mop)

    '); +function langtolng($lang) +{ + GLOBAL $G_lang; + + return ($G_lang == 'en' ? '-en' : ''); +} + function csplitter($in, $sep) { $st = 0; @@ -183,7 +299,7 @@ function csplitter($in, $sep) } } - return ($out); + return ($out); } @@ -768,6 +884,8 @@ class Room { function garbage_manager($force) { + GLOBAL $G_lang, $mlang_brisk; + $ismod = FALSE; log_rd2("garbage_manager START"); @@ -860,7 +978,9 @@ class Room { $ret = sprintf('stat = "%s"; subst = "%s";', $user_cur->stat, $user_cur->subst); $ret .= "gst.st = ".($user_cur->step+1)."; "; - $ret .= show_notify("
    I dati del tavolo n° ".$user_cur->table." sono inconsistenti, verranno resettati.

    Torni in piedi.

    ", 2000, "Chiudi.", 400, 110); + // MLANG
    I dati del tavolo n° ".$user_cur->table." sono inconsistenti, verranno resettati.

    Torni in piedi.

    + $prestr = sprintf($mlang_brisk['tabincon'][$G_lang], $user_cur->table); + $ret .= show_notify($prestr, 2000, $mlang_brisk['btn_close'][$G_lang], 400, 110); $user_cur->comm[$user_cur->step % COMM_N] = $ret; $user_cur->step_inc(); } @@ -914,7 +1034,7 @@ class Room { $this->room_wakeup(&$user_cur); $user_cur->comm[$user_cur->step % COMM_N] = "gst.st = ".($user_cur->step+1)."; "; /* MLANG:
    Sei stato inattivo per ".(EXPIRE_TIME_SMAMMA/60.0)." minuti.

    Quindi ritorni tra i Giocatori in piedi.", "torna ai tavoli" */ - $user_cur->comm[$user_cur->step % COMM_N] .= show_notify("
    Sei stato inattivo per ".(EXPIRE_TIME_SMAMMA/60.0)." minuti.

    Quindi ritorni tra i Giocatori in piedi.", 0, "torna ai tavoli", 400, 100); + $user_cur->comm[$user_cur->step % COMM_N] .= show_notify($mlang_brisk['tabtout_a'][$G_lang].(EXPIRE_TIME_SMAMMA/60.0).$mlang_brisk['tabtout_b'][$G_lang], 0, $mlang_brisk['btn_backstand'][$G_lang], 400, 100); $user_cur->step_inc(); } } @@ -930,12 +1050,13 @@ class Room { function show_room($user_step, &$user) { + GLOBAL $G_lang, $mlang_brisk; log_main("show_room: username: ".$user->name); $ret = sprintf('gst.st = %d; ', $user_step); if ($user->flags & USER_FLAG_LISTAUTH) { - $ret .= 'list_set(\'auth\', false, \'(solo aut.)\' ); '; + $ret .= 'list_set(\'auth\', false, \''.$mlang_brisk['tit_onauth'][$G_lang].'\' ); '; } else { $ret .= 'list_set(\'all\', false, \'\' ); '; @@ -1259,7 +1380,7 @@ class Room { function chatt_send(&$user, $mesg) { - GLOBAL $G_alarm_passwd; + GLOBAL $G_alarm_passwd, $mlang_brisk, $G_lang; $only_you = FALSE; // common settings @@ -1283,7 +1404,7 @@ class Room { do { if ($user->stat != 'room' || $user->subst != 'sitdown') { /* MLANG: "
    Per attivare il messaggio di segnalazione del tavolo occorre essere seduti.

    ", "
    Il messaggio di segnalazione del tavolo è già attivato.

    ", "
    Il messaggio di segnalazione del tavolo
    è disattivato ancora per %d second%s.

    " */ - $msg = "
    Per attivare il messaggio di segnalazione del tavolo occorre essere seduti.

    "; + $msg = $mlang_brisk['tickmust'][$G_lang]; $to_user = show_notify($msg, 0, "chiudi", 400, 100); break; @@ -1292,7 +1413,8 @@ class Room { $table = &$this->table[$user->table]; if ($table->wag_own != NULL) { - $msg = "
    Il messaggio di segnalazione del tavolo è già attivato.

    "; + // MLANG
    Il messaggio di segnalazione del tavolo è già attivato.

    + $msg = $mlang_brisk['tickjust'][$G_lang]; $to_user = show_notify($msg, 0, "chiudi", 400, 100); break; @@ -1300,9 +1422,10 @@ class Room { $dtime = $curtime - $table->wag_tout; if ($dtime < EXPIRE_TIME_WAG) { - $msg = sprintf("
    Il messaggio di segnalazione del tavolo
    è disattivato ancora per %d second%s.

    ", - EXPIRE_TIME_WAG - $dtime, (EXPIRE_TIME_WAG - $dtime == 1 ? "o" : "i")); - $to_user = show_notify($msg, 0, "chiudi", 400, 100); + // MLANG -
    Il messaggio di segnalazione del tavolo
    è disattivato ancora per %d second%s.

    + $msg = sprintf($mlang_brisk['tickwait'][$G_lang], + EXPIRE_TIME_WAG - $dtime, (EXPIRE_TIME_WAG - $dtime == 1 ? ($G_lang == 'en' ? "" : "o") : ($G_lang == 'en' ? "s" : "i"))); + $to_user = show_notify($msg, 0, $mlang_brisk['btn_close'][$G_lang] , 400, 100); break; } @@ -1329,21 +1452,22 @@ class Room { do { if (strncmp($msg, $alarm_check, strlen($alarm_check)) != 0) { /* MLANG: "
    La password digitata non è corretta.

    " */ - $msg = "
    La password digitata non è corretta.

    "; - $to_user = show_notify($msg, 0, "chiudi", 400, 100); + $msg = $mlang_brisk['alarpass'][$G_lang]; + $to_user = show_notify($msg, 0, $mlang_brisk['btn_close'][$G_lang], 400, 100); break; } /* MLANG: "Alarm %s inviato a %s." */ - $to_user = sprintf('chatt_sub("%s", [2, "%s"],"Alarm %s inviato a %s.");', - $dt, NICKSERV, xcape(substr($msg, strlen($alarm_check))), - ($target == "" ? "tutti" : xcape($target)) ); + $prestr = sprintf($mlang_brisk['alarret'][$G_lang], xcape(substr($msg, strlen($alarm_check))), + ($target == "" ? $mlang_brisk['tit_all'][$G_lang] : xcape($target)) ); + $to_user = sprintf('chatt_sub("%s", [2, "%s"],%s);', + $dt, NICKSERV, $prestr); $msg = sprintf("
    %s

    %s


    ", $dt.NICKSERV, xcape(substr($msg, strlen($alarm_check)))); /* MLANG: "chiudi" */ - $to_all = show_notify($msg, 0, "chiudi", 400, 120); + $to_all = show_notify($msg, 0, $mlang_brisk['btn_close'][$G_lang], 400, 120); } while (0); } // /alarm chat command else if (strncmp($msg, "/listen ", 8) == 0) { @@ -1351,20 +1475,20 @@ class Room { if (strcasecmp($arg, "auth") == 0) { $user->flags |= USER_FLAG_LISTAUTH; - $to_user = 'list_set(\'auth\', true, \'(solo aut.)\'); '; + $to_user = 'list_set(\'auth\', true, \''.$mlang_brisk['tit_onauth'][$G_lang].'\'); '; } else { $user->flags &= ~USER_FLAG_LISTAUTH; $to_user = 'list_set(\'all\', true, \'\'); '; } } - else if (strncmp($msg, "/garante", 8) == 0) { + else if (strcmp($msg, "/authreq") == 0) { if ($user->flags & USER_FLAG_AUTH) { $to_user = sprintf('authbox(300,200);'); } else { /* MLANG: "Per autenticare qualcuno devi a tua volta essere autenticato.", "Il nickname deve contenere almeno una lettera dell\'alfabeto o una cifra.", "Nickname %s già in uso." */ - $to_user = sprintf('chatt_sub("%s", [2, "%s"],"Per autenticare qualcuno devi a tua volta essere autenticato.");', $dt, NICKSERV); + $to_user = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['authmust'][$G_lang]); } } else if (strncmp($msg, "/mesgtoadm", 8) == 0) { @@ -1373,7 +1497,7 @@ class Room { } else { /* MLANG: "Per inviare un messaggio devi essere autenticato." */ - $to_user = sprintf('chatt_sub("%s", [2, "%s"],"Per inviare un messaggio devi essere autenticato.");', $dt, NICKSERV); + $to_user = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['mesgmust'][$G_lang]); } } else if (strncmp($msg, "/nick ", 6) == 0) { @@ -1381,7 +1505,7 @@ class Room { do { if (($name_new = validate_name(substr($msg, 6))) == FALSE) { - $to_user = sprintf('chatt_sub("%s", [2,"%s"],"Il nickname deve contenere almeno una lettera dell\'alfabeto o una cifra.");', $dt, NICKSERV); + $to_user = sprintf('chatt_sub("%s", [2,"%s"],"%s");', $dt, NICKSERV, $mlang_brisk['nickmust'][$G_lang]); break; } @@ -1395,7 +1519,8 @@ class Room { break; } if ($i < MAX_PLAYERS) { - $to_user = sprintf('chatt_sub("%s", [2, "%s"],"Nickname %s già in uso.");', $dt, NICKSERV, xcape($name_new)); + $prestr = sprintf($mlang_brisk['nickdupl'][$G_lang], xcape($name_new)); + $to_user = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $prestr); break; } @@ -1409,7 +1534,7 @@ class Room { } } else { - $to_user = sprintf('chatt_sub("%s", [2, "%s"],"Non puoi cambiare nick a un tavolo per soli autenticati.");', $dt, NICKSERV); + $to_user = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['authchan'][$G_lang]); break; } } @@ -1420,7 +1545,8 @@ class Room { $userdb = new LoginDB(); /* MLANG: "Il nickname \'%s\' è già registrato, se il suo proprietario si autentificherà verrai rinominato d\'ufficio come ghostN." */ if ($userdb->login_exists($name_new)) { - $to_user .= sprintf('chatt_sub("%s", [2, "%s"],"Il nickname \'%s\' è già registrato, se il suo proprietario si autentificherà verrai rinominato d\'ufficio come ghostN.");', $dt, NICKSERV, xcape($name_new)); + $prestr = sprintf($mlang_brisk['nickjust'][$G_lang], xcape($name_new)); + $to_user .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $prestr); } } @@ -1462,7 +1588,7 @@ class Room { } else { /* MLANG: "Questo stato non esiste." */ - $to_user = sprintf('chatt_sub("%s", [2,"%s"],"Questo stato non esiste.");', $dt, NICKSERV); + $to_user = sprintf('chatt_sub("%s", [2,"%s"],"%s");', $dt, NICKSERV, $mlang_brisk['statunkn'][$G_lang]); break; } @@ -1500,8 +1626,8 @@ class Room { else { $to_user = sprintf('chatt_sub("%s", [%d, "%s"],"%s");', $dt, $user->flags, xcape($user->name), xcape($msg)); // temporary silentiation for troll (will became array check) - if (strcasecmp($user->name,'JackRokka') != 0 && $user->sess != '47ea653f602e8') - $to_room = $to_user; + // if (strcasecmp($user->name,'JackRokka') != 0 && $user->sess != '47ea653f602e8') + $to_room = $to_user; } log_legal($curtime, $user, @@ -2011,44 +2137,6 @@ class Room { return ($content); } - function table_content_old($user, $table_idx) - { - $content = ""; - $ret = ""; - // TODO - // - // Si possono usare i dati nella classe table - // - - $sess = $user->sess; - $table = &$this->table[$table_idx]; - - if ($user->stat != 'room') - return; - - for ($i = 0 ; $i < $table->player_n ; $i++) { - $user_cur = &$this->user[$table->player[$i]]; - - if ($user_cur == $user) - { $hilion = ""; $hilioff = ""; } - else - { $hilion = ""; $hilioff = ""; } - - log_main($user_cur->name. sprintf(" IN TABLE [%d]", $table_idx)); - - $content .= sprintf("%s%s%s
    ",$hilion, xcape($user_cur->name), $hilioff); - } - /* - for ( ; $i < PLAYERS_N ; $i++) - $content .= "
    "; - */ - - $ret .= sprintf('$("table%d").innerHTML = "%s";', $table_idx, $content); - - return ($ret); - } - - function table_content($user, $table_idx) { $content = ""; @@ -2346,24 +2434,6 @@ function unlock_banlist($res) return (sem_release($res)); } -function table_act_content_old($isstanding, $sitted, $table, $cur_table) -{ - $ret = ""; - - if ($isstanding) { - if ($sitted < PLAYERS_N) { - $ret = sprintf('', $table, $table); - } - } - else { - if ($table == $cur_table) - $ret = sprintf(''); - else - $ret = ""; - } - return ($ret); -} - function table_act_content($isstanding, $sitted, $table, $cur_table, $allowed) { $ret = ""; @@ -2395,27 +2465,17 @@ function show_notify($text, $tout, $butt, $w, $h) return sprintf('var noti = new notify(gst,"%s",%d,"%s",%d,%d);', $text, $tout, $butt, $w, $h); } -function multoval($mult) -{ - if ($mult == 2) - return ("doppio"); - else if ($mult == 4) - return ("quadruplo"); - else - return (sprintf("%d-plo", $mult)); -} - function root_wellcome($user) { - GLOBAL $root_wellarr; + GLOBAL $root_wellarr, $G_lang; $ret = ""; $curtime = time(); $dt = date("H:i ", $curtime); - for ($i = 0 ; $i < count($root_wellarr) ; $i++) - $ret .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, str_replace('"', '\"', $root_wellarr[$i])); + for ($i = 0 ; $i < count($root_wellarr[$G_lang]) ; $i++) + $ret .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, str_replace('"', '\"', $root_wellarr[$G_lang][$i])); return ($ret); } @@ -2450,14 +2510,24 @@ function playsound($filename) function secstoword($secs) { + GLOBAL $G_lang; + $mins = floor($secs / 60); $secs = $secs % 60; - if ($mins > 0) - $ret = sprintf("%d minut%s%s", $mins, ($mins > 1 ? "i" : "o"), ($secs > 0 ? " e " : "")); - - if ($secs > 0) - $ret .= sprintf("%d second%s", $secs, ($secs > 1 ? "i" : "o")); - + if ($G_lang == 'en') { + if ($mins > 0) + $ret = sprintf("%d minute%s%s", $mins, ($mins > 1 ? "s" : ""), ($secs > 0 ? " and " : "")); + + if ($secs > 0) + $ret .= sprintf("%d second%s", $secs, ($secs > 1 ? "s" : "")); + } + else { + if ($mins > 0) + $ret = sprintf("%d minut%s%s", $mins, ($mins > 1 ? "i" : "o"), ($secs > 0 ? " e " : "")); + + if ($secs > 0) + $ret .= sprintf("%d second%s", $secs, ($secs > 1 ? "i" : "o")); + } return ($ret); } diff --git a/web/room.js b/web/room.js index 27093bb..e8b19ea 100644 --- a/web/room.js +++ b/web/room.js @@ -1,3 +1,27 @@ +/* + * brisk - room.js + * + * Copyright (C) 2006-2009 Matteo Nastasi + * mailto: nastasi@alternativeoutput.it + * matteo.nastasi@milug.org + * web: http://www.alternativeoutput.it + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABLILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program; if + * not, write to the Free Software Foundation, Inc, 59 Temple Place - + * Suite 330, Boston, MA 02111-1307, USA. + * + */ + + /* data = [ [ flags, name ], ... ] @@ -11,34 +35,35 @@ function state_add(flags) if ((flags & 0xf00) != 0) { st = flags & 0xf00; + // MLANG 4,12,16,20,24,28 switch (st) { case 0x100: name = "st_pau.png"; - tit = "sono in pausa"; + tit = (g_lang == 'en' ? "I'm doing a break" : "sono in pausa"); break; case 0x200: name = "st_out.png"; - tit = "sono fuori"; + tit = (g_lang == 'en' ? "I'm away" : "sono fuori"); break; case 0x300: name = "st_dog.png"; - tit = "sono a spasso col cane"; + tit = (g_lang == 'en' ? "Dog time" : "sono a spasso col cane"); break; case 0x400: name = "st_eat.png"; - tit = "sto mangiando"; + tit = (g_lang == 'en' ? "I'm eating" : "sto mangiando"); break; case 0x500: name = "st_wrk.png"; - tit = "sono a lavoro"; + tit = (g_lang == 'en' ? "I'm working" : "sono a lavoro"); break; case 0x600: name = "st_smk.png"; - tit = "sto fumando una sigaretta (e facendomi venire il cancro)"; + tit = (g_lang == 'en' ? "I'm smoking a sigarett (and keeping a cancer)" : "sto fumando una sigaretta (e facendomi venire il cancro)"); break; case 0x700: name = "st_eye.png"; - tit = "sono presente!"; + tit = (g_lang == 'en' ? "I'm here!" : "sono presente!"); break; default: break; @@ -389,17 +414,21 @@ function j_tab_cont(table_idx, data) function j_tab_act_cont(idx, act) { if (act == 'sit') { - $("table_act"+idx).innerHTML = ''; + // MLANG 1 + $("table_act"+idx).innerHTML = ''; } else if (act == 'sitreser') { // - $("table_act"+idx).innerHTML = ''; + // MLANG 1 + $("table_act"+idx).innerHTML = ''; } else if (act == 'wake') { - $("table_act"+idx).innerHTML = ''; + // MLANG 1 + $("table_act"+idx).innerHTML = ''; } else if (act == 'reserved') { - $("table_act"+idx).innerHTML = ''; + // MLANG 1 + $("table_act"+idx).innerHTML = ''; } else { $("table_act"+idx).innerHTML = ''; @@ -495,7 +524,11 @@ function j_authbox(form) } if (form.elements['name'].value == '' || j_check_email(form.elements['email'].value) == false) { - no = new notify(gst, "
    I campi user e/o e-mail non sono validi;
    correggeteli per favore.", 1, "chiudi", 280, 100); + // MLANG 2-4 + no = new notify(gst, + (g_lang == 'en' ? "
    nickname and/or e-mail fields are invalid;
    please, fix them." : + "
    I campi nickname e/o e-mail non sono validi;
    correggeteli per favore."), + 1, (g_lang == 'en' ? "close" : "chiudi"), 280, 100); break; } @@ -543,7 +576,10 @@ function j_mesgtoadmbox(form) } if (form.elements['mesg'].value == '' || form.elements['subj'].value == '') { - no = new notify(gst, "
    Il soggetto e il messaggo non possono essere vuoti;
    correggeteli per favore.", 1, "chiudi", 280, 100); + // MLANG 1-3 + no = new notify(gst, (g_lang == 'en' ? "
    subject and the message cannot be void;
    please, fix them." : + "
    Il soggetto e il messaggo non possono essere vuoti;
    correggeteli per favore."), 1, + (g_lang == 'en' ? "close" : "chiudi"), 280, 100); break; } @@ -592,7 +628,10 @@ function j_pollbox(form) break; } if (i == form.elements.length) { - no = new notify(gst, "
    Non hai espresso nessuna preferenza;
    correggi per favore.", 1, "chiudi", 280, 100); + // MLANG 1-3 + no = new notify(gst, (g_lang == 'en' ? "
    You must choose ah item;
    please, fix it." : + "
    Non hai espresso nessuna preferenza;
    correggi per favore."), 1, + (g_lang == 'en' ? "close" : "chiudi"), 280, 100); return false; } else -- 2.17.1