From 421d30f68820d3a7d1950f24db55f0168661b2e2 Mon Sep 17 00:00:00 2001 From: "Matteo Nastasi (mop)" Date: Sat, 27 Jun 2009 15:07:21 +0000 Subject: [PATCH] multi-language added --- web/commons.js | 39 +++++-- web/index.php | 269 +++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 243 insertions(+), 65 deletions(-) diff --git a/web/commons.js b/web/commons.js index 454152a..3995331 100644 --- a/web/commons.js +++ b/web/commons.js @@ -27,6 +27,23 @@ var PLAYERS_N = 3; var EXIT_BAN_TIME = 900; var cookiepath = "/brisk/"; +var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', + 'en' : 'Loaded images ' }, + 'imgload_b' : { 'it' : '%.', + 'en' : '%.' }, + 'gamleav' : { 'it' : 'Sei sicuro di volere lasciare questa mano?' , + 'en' : 'Are you sure to leave this game?' }, + 'brileav' : { 'it' : ' Vuoi veramente abbandonare la briscola ?\n(clicca annulla o cancel se vuoi ricaricare la briscola)', + 'en' : ' Are you really sure to leave briscola ?\n(click cancel yo reload it)' }, + 'brireco' : { 'it' : 'Ripristino della briscola fallito, per non perdere la sessione ricaricare la pagina manualmente.', + 'en' : 'Recovery of briscola failed, to keep the current session reload the page manually.' }, + 'btn_sit' : { 'it' : 'Mi siedo.', + 'en' : 'Sit down.' }, + 'btn_exit' : { 'it' : 'Esco.', + 'en' : 'Exit.' } + + }; + function $(id) { return document.getElementById(id); } function getStyle(x,IEstyleProp, MozStyleProp) @@ -188,8 +205,8 @@ function reset_images() function update_images() { - // if (g_imgct % 10 == 0) alert("g_imgct: "+g_imgct+" xx "+g_preload_img_arr[g_imgct]); - $("imgct").innerHTML = "Immagini caricate "+g_preload_imgsz_arr[g_imgct]+"%."; + // MLANG "Immagine caricate" + g_preload_imgsz_arr[g_imgct] + "%." + $("imgct").innerHTML = mlang_commons['imgload_a'][g_lang]+g_preload_imgsz_arr[g_imgct]+"%."; if (g_imgct+1 < g_preload_img_arr.length) { g_imgct++; setTimeout(preload_images, 100, g_preload_img_arr, g_imgct-1); @@ -361,8 +378,8 @@ function act_lascio() function safelascio() { var res; - - res = window.confirm("Sei sicuro di volere lasciare questa mano?"); + // MLANG "Sei sicuro di volere lasciare questa mano?" + res = window.confirm(mlang_commons['gamleav'][g_lang]); if (res) act_lascio(); } @@ -777,7 +794,8 @@ function onunload_cb_old () { // return true; if (onunload_times == 0) { - var res = window.confirm(" Vuoi veramente abbandonare la briscola ?\n(clicca annulla o cancel se vuoi ricaricare la briscola)"); + // MLANG " Vuoi veramente abbandonare la briscola ?\n(clicca annulla o cancel se vuoi ricaricare la briscola)" + var res = window.confirm(mlang_commons['brileav'][g_lang]); if (res == true) { the_end = true; act_shutdown(); @@ -790,7 +808,8 @@ function onunload_cb_old () { // alert ("passiamo di qui"+self.location); return (false); } catch (e) { - alert("Ripristino della briscola fallito, per non perdere la sessione ricaricare la pagina manualmente."); + // MLANG "Ripristino della briscola fallito, per non perdere la sessione ricaricare la pagina manualmente." + alert(mlang_commons['brireco'][g_lang]); } } onunload_times++; @@ -822,7 +841,8 @@ function room_checkspace(emme,tables,inpe) for (i = 0 ; i < tables ; i++) { $("table"+i).innerHTML = alta; - $("table_act"+i).innerHTML = ""; + // MLANG Mi siedo. + $("table_act"+i).innerHTML = ""; } stand = ""; @@ -836,7 +856,8 @@ function room_checkspace(emme,tables,inpe) $("standup").innerHTML = stand; // VERIFY: what is this button ? - $("esco").innerHTML = ""; + // MLANG Esco. + $("esco").innerHTML = ""; } function unescapeHTML(cont) { @@ -940,7 +961,7 @@ function sidebanner2_cb() function langtolng(lang) { if (lang == "en") - return ("_en"); + return ("-en"); else return (""); } diff --git a/web/index.php b/web/index.php index 2b04597..298f484 100644 --- a/web/index.php +++ b/web/index.php @@ -28,8 +28,112 @@ require_once("Obj/brisk.phh"); require_once("Obj/auth.phh"); require_once("Obj/proxyscan.phh"); -$mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati.', - 'en' => 'Wrong user and/or password.') ); + +$mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati.', + 'en' => 'Wrong user and/or password.'), + 'userpassmust' => array('it' => 'Il nickname deve contenere almeno una lettera o una cifra.', + 'en' => 'The nickname have to contain at least one letter or one number.'), + 'userpassend' => array('it' => 'Spiacenti, non ci sono più posti liberi. Riprova più tardi.', + 'en' => 'We are sorry, there aren\'t free place. Try again later.'), + 'userpassuse' => array('it' => 'Il tuo nickname è già in uso.', + 'en' => 'Your nickname is already in use.'), + 'standing' => array('it' => 'Giocatori in piedi', + 'en' => 'Standing players'), + 'headline' => array('it' => 'briscola chiamata in salsa ajax', + 'en' => 'declaration briscola in ajax sauce (Beta)'), + 'wellcome' => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola', + 'en' => 'Enter your nickname to access to the tables of briscola'), + 'btn_enter' => array('it' => 'entra', + 'en' => 'enter'), + 'passwarn' => array('it' => 'Se non hai ancora una password, lascia il campo in bianco ed entra.', + 'en' => 'If you don\'t have a password, leave blank the field and enter.'), + 'browwarn' => array('it' => '(se qualcosa non funziona
prova a ricaricare la pagina con Ctrl + F5)', + 'en' => '(if something don\'t work
try to reload the current page with Ctrl + F5)'), + 'regwarn' => array('it' => '
Il nickname che stai usando è già registrato,

se il suo proprietario si autentificherà

verrai rinominato d\'ufficio come ghostN.', + 'en' => '
The nickname you are using it\'s already registered,

if its proprietary authenticates

you will named ghostN.'), + 'btn_rettabs' => array('it' => 'torna ai tavoli', + 'en' => 'back to tables'), + 'btn_exit' => array('it' => 'Esco.', + 'en' => 'Exit.'), + 'tit_tabl' => array('it' => 'Tavolo ', + 'en' => 'Table '), + 'tit_ticker' => array('it' => 'scrivi un invito al tavolo e clicca', + 'en' => 'write an invitation at the table and click'), + 'itm_warr' => array('it' => 'garantisci', + 'en' => 'guarantee'), + 'warr_desc' => array('it' => 'garantisci per un tuo conoscente', + 'en' => 'guarantee for a friend'), + 'tit_warr' => array('it' => 'Garantisci per un tuo conoscente.', + 'en' => 'Guarantee for a friend.'), + 'itm_list' => array('it' => 'ascolta', + 'en' => 'listen'), + 'list_desc' => array('it' => 'imposta le regole di ascolto', + 'en' => 'set the listen rules'), + 'tit_listall' => array('it' => 'tutti', + 'en' => 'everybody'), + 'listall_desc' => array('it' => 'leggi tutti i messaggi di tutti gli utenti collegati', + 'en' => 'listen all messages from each user connected'), + 'tit_listaut' => array('it' => 'solo autenticati', + 'en' => 'only authorized'), + 'listaut_desc' => array('it' => 'leggi soltanto i messaggi degli utenti con password', + 'en' => 'listen messages only from authenticated users'), + 'tit_help' => array('it' => 'informazioni utili su Brisk', + 'en' => 'usefull information about Brisk'), + 'itm_help' => array('it' => 'aiuto', + 'en' => 'help'), + 'tit_hpage' => array('it' => 'homepage del progetto', + 'en' => 'project homepage (ita)'), + 'tit_what' => array('it' => 'di cosa si tratta', + 'en' => 'what is the project'), + 'itm_what' => array('it' => 'cos\'è', + 'en' => 'what is it'), + 'url_rules' => array('it' => 'http://it.wikipedia.org/wiki/Briscola#Gioco_a_5', + 'en' => 'http://it.wikipedia.org/wiki/Briscola#Gioco_a_5&EN=true'), + 'itm_rules' => array('it' => 'regole', + 'en' => 'rules'), + 'tit_rules' => array('it' => 'come si gioca', + 'en' => 'how to play'), + 'tit_shot' => array('it' => 'screenshots dell\'applicazione', + 'en' => 'screenshots of the web-application'), + 'tit_comp' => array('it' => 'compatibilità con i browser', + 'en' => 'browsers compatibility'), + 'itm_comp' => array('it' => 'compatibilità', + 'en' => 'compatibility'), + 'tit_src' => array('it' => 'sorgenti dell\'applicazione web', + 'en' => 'sources of the web-application'), + 'itm_src' => array('it' => 'sorgenti', + 'en' => 'sources'), + 'tit_ml' => array('it' => 'come iscriversi alla mailing list', + 'en' => 'how to subscribe the mailing list'), + 'itm_ml' => array('it' => 'mailing list', + 'en' => 'mailing list'), + 'tit_pro' => array('it' => 'come fare pubblicità a Brisk!', + 'en' => 'how to spread Brisk!'), + 'itm_pro' => array('it' => 'propaganda', + 'en' => 'propaganda'), + 'tit_mail' => array('it' => 'contatti', + 'en' => 'contacts'), + 'itm_mail' => array('it' => 'contatti', + 'en' => 'contacts'), + 'tit_rmap' => array('it' => 'prossime funzionalità implementate', + 'en' => 'roadmap of next functionalities'), + 'itm_rmap' => array('it' => 'roadmap', + 'en' => 'roadmap'), + 'tit_meet' => array('it' => 'foto dei raduni di briskisti', + 'en' => 'photos of brisk meetings'), + 'itm_meet' => array('it' => 'raduni', + 'en' => 'meeting'), + 'tit_mesg' => array('it' => 'manda un messaggio o una segnalazione all\'amministratore del sito', + 'en' => 'send a message or a signalling to the administrator' ), + 'mesgtoadm_tit'=> array('it' => 'Invia un messaggio o una segnalazione all\'amministratore:', + 'en' => 'Send a message to the administrator:'), + 'mesgtoadm_sub'=> array('it' => 'soggetto:', + 'en' => 'subject:'), + 'btn_send' => array('it' => 'Invia.', + 'en' => 'Send.'), + 'btn_close' => array('it' => 'Chiudi.', + 'en' => 'Close.') + ); // Use of proxies isn't allowed. if (!$G_is_local && is_proxy()) @@ -163,14 +267,30 @@ function main() else { /* Login Rendering */ /* MLANG: "Utente e/o password errati.", "Il nickname deve contenere almeno una lettera o una cifra.", "Spiacenti, non ci sono più posti liberi. Riprova più tardi.", "Il tuo nickname è già in uso." */ + /* if ($idx == -3) $body .= '
'.$mlang_room['userpasserr'][$G_lang].'
'; else if ($idx == -2) - $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; + // $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; + $body .= '
'.$mlang_room['userpassmust'][$G_lang].'
'; else if ($idx == -1) - $body .= '
Spiacenti, non ci sono più posti liberi. Riprova più tardi.
'; + // $body .= '
Spiacenti, non ci sono più posti liberi. Riprova più tardi.
'; + $body .= '
'.$mlang_room['userpassend'][$G_lang].'
'; else - $body .= '
Il tuo nickname è già in uso.
'; + // $body .= '
Il tuo nickname è già in uso.
'; + $body .= '
'.$mlang_room['userpassuse'][$G_lang].'
'; + */ + + if ($idx == -3) + $sfx = 'err'; + else if ($idx == -2) + $sfx = 'must'; + else if ($idx == -1) + $sfx = 'end'; + else + $sfx = 'use'; + + $body .= '
'.$mlang_room['userpass'.$sfx][$G_lang].'
'; } } Room::unlock_data($sem); @@ -196,7 +316,7 @@ function main() if ($ii % 4 == 0) $tables .= ''; $tables .= '
'; - $tables .= '
Tavolo '.$i.'
'; + $tables .= '
'.$mlang_room['tit_tabl'][$G_lang].$i.'
'; $tables .= sprintf('
', $i); $tables .= sprintf('
', $i); $tables .= '
'; @@ -209,12 +329,13 @@ function main() $standup .= '
'; $standup .= '
'; - /* MLANG: "Giocatori in piedi", "Come ottenere user e password" */ + /* MLANG: "Giocatori in piedi" */ // $standup .= '
Giocatori in piedi - Come ottenere user e password -
'; - $standup .= '
Giocatori in piedi
'; + $standup .= '
'.$mlang_room['standing'][$G_lang].'
'; $standup .= sprintf('
'); - $standup .= '
'; + // MLANG Esco. + $standup .= '
'; $standup .= '
'; } @@ -309,7 +430,7 @@ google_color_url = "000000"; ).'
'.($G_with_topbanner ? '
' : '').'
- briscola chiamata in salsa ajax
+ '.$mlang_room['headline'][$G_lang].'
'.($G_with_topbanner ? sprintf('
%s
', $G_topbanner) : '').'
'.($G_is_local ? '' : @@ -344,47 +465,47 @@ $brisk_vertical_menu = ' '. ($ACTION == "room" ? '
'.($G_with_poll ? '' : '
-').' +').'
'.($user->flags & USER_FLAG_AUTH ? ' -'.poll_dom() +'.poll_dom() : ' ').' @@ -518,12 +662,12 @@ supported by:
Brisk - - + - + @@ -534,6 +678,7 @@ supported by:
- + @@ -658,6 +804,7 @@ Digita il tuo nickname per accedere ai tavoli della briscola.