AndrisXXX Posted August 26, 2003 Report Share Posted August 26, 2003 Dazhi iesaaceeja jautaajumi: Vai vienaa MySQL datubaazee var normaali glabaat tabulas, kuras ir dazhaadaas valodaas (lv, eng, ru)? Kas tam ir nepiecieshams? Vai vienaa tabulaa var buut, piemeeram: 'lauks1' - latviski, 'lauks2' - krieviski, 'lauks3' - angliski? Kaada ir labaakie veidi, kaa nodroshinaat PHP+MySQL saita daudzvalodiibu (lv, eng, ru)? Piemeeram, ir saits, kas paardod paartikas produktus. Katram produktam ir jaabuut: 1) apraksts lv, eng un ru valodaas. 2) piegaadaataaja nosaukums 3) produkta nummurs Vai shaadaa gadiijumaa ir jaaveido 3 tabulas: pirmajaa dati, kas ir neatkariigi no valodas izveeles (piegaadaataaja nosaukums, produkta numurs, produkta apraksts defaultajaa valodaa - lv) kaa arii noraades uz produkta aprakstu eng un produkta aprakstu ru valodaas. Otrajaa tabulaa glabaatos produkta apraksts angliski un treshajaa - krieviski. Jebshu labaak visu glabaat vienaa tabulaa? Veel viens jautaajums: kas buutu jaaieveero, no kaa buutu jaauzmanaas un kaa eertaak uztaisiit web interfeisa vairaaku valodu iespeeju? Plds un luugums nenjemt ljaunaa, ja jautaajumi izklausaas vienkaarshi :) -Andris Link to comment Share on other sites More sharing options...
Kaklz Posted August 26, 2003 Report Share Posted August 26, 2003 Vai vienaa MySQL datubaazee var normaali glabaat tabulas, kuras irdazhaadaas valodaas (lv, eng, ru)? Jā, var, tam ir domāts UTF-8http://darkstar.ist.utl.pt/mysql/doc/en/Ch...et-Unicode.html Kas tam ir nepiecieshams? laikam jau tikai mazliet pagooglēt un sameklēt realizācijas iespējas. Vai vienaa tabulaa var buut, piemeeram: 'lauks1' - latviski, 'lauks2' -krieviski, 'lauks3' - angliski? var Kaada ir labaakie veidi, kaa nodroshinaat PHP+MySQL saita daudzvalodiibu(lv, eng, ru)? nelaba aizdoma, ka tas ir gaumes jautājums Piemeeram, ir saits, kas paardod paartikas produktus. Katram produktam irjaabuut: 1) apraksts lv, eng un ru valodaas. 2) piegaadaataaja nosaukums 3) produkta nummurs Vai shaadaa gadiijumaa ir jaaveido 3 tabulas: pirmajaa dati, kas ir neatkariigi no valodas izveeles (piegaadaataaja nosaukums, produkta numurs, produkta apraksts defaultajaa valodaa - lv) kaa arii noraades uz produkta aprakstu eng un produkta aprakstu ru valodaas. Otrajaa tabulaa glabaatos produkta apraksts angliski un treshajaa - krieviski. Jebshu labaak visu glabaat vienaa tabulaa? Kā jau teicu iepriekš, iespējams, ka tas ir gaumes jautājums. Savukārt zem gaumes vajadzētu mācēt paslēpt arī nelielu analīzi, cik daudz tev ir to produktu, cik liels apmeklētāju skaits būs lapai un katrai tās valodai. Ja runa ir par pāris simtiem apmeklētāju dienā, tad var bāzt visu vienā tabulā. Savukārt, ja lapai ir domāts diezgan liels apmeklētāju skaits, tad ir vērts padomāt par optimālākiem risinājumiem. Veel viens jautaajums: kas buutu jaaieveero, no kaa buutu jaauzmanaas un kaaeertaak uztaisiit web interfeisa vairaaku valodu iespeeju? Tas atkal ir atkarīgs no tā, cik daudz produktu ir jāievada. Ja tie ir 10 produkti, tad vari taisīt, kā vien vēlies. Ja runa iet par samērā palielu produktu katalogu, tad ir arī jāpadomā teiksim par tādu lietu kā datu importēšana. Patiesībā šis jautājums ir tieši atkarīgs no datubāzes struktūras, kādu tu izveido. Ja izveidosi datubāzes struktūru ar 3 tabulām, tad šaubos vai tu taisīsi aprakstu labošanu visām valodām vienā lapā. (esmu tikai strādājis ar daudzvalodu mājas lapu, pats taisījis neesmu, līdz ar to ieteikumi varētu būt ne pārāk precīzi) Link to comment Share on other sites More sharing options...
Orx Posted October 4, 2003 Report Share Posted October 4, 2003 Nu laikam es nemaaku tikalaa visu to mekleet! Alus kaste tam kas uzrakstiis piemeeru !!! MySql -> 1 tabula 3 kolonas, lai butu (eng, lat, russ) php -> rada HXTML kur tas viss nāk ārā. +3 laucini kuros var pievienot infu DB attiecīgajās kolonās. Analīzi nevajag, vajag stradajosu risinajumu. Par alu nebija joks! Link to comment Share on other sites More sharing options...
Venom Posted October 4, 2003 Report Share Posted October 4, 2003 mazliet nesapratu par to "php -> rada HXTML kur tas viss nāk ārā.", bet: lapas <head> daļā liekam <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> tad ir forma, ar piem. <input name="in_eng" /> utt pēc tās iepostēšanas mysql-query("INSERT INTO koptabula SET `in_eng`=' ".isset($_POST['in_eng']?mysql_escape_string(stripslahes($_POST)):'')."', ... "); Un fiss. MySQLā iekšā būs nevis en,ru,lv, bet attiecīgi ķēburi, jo visam jau jābūt iekš UTF-8. Līdzīgā veidā visu izpūšam laukā. Vienīgi, ja gribēsi taisīt meklēšanu, tad vajg MySQL>=4.1.alpha, un man tik un tā neatškir latviešu valodā mazus/lielus burtus. Mans nodoms būtu taisīt atsevišķu tabulu [tulkojumi], ķipa: PK|raxta/preces id|valodas id|tulkojums Tad kādai precei taisam "(SELECT * FROM tulkojumi WHERE `preces_id`='123' AND `valodas-id`='ru') UNION (SELECT * FROM tulkojumi WHERE `preces_id`='123' AND `valodas-id`='en')" (uzskatīsim, ka pēc defaulta tef visur savadīts en) šādi pēc fetcha tu dabon vai nu vajadzīgu valodu, vai anglisko tulkojumu. Par to saskarnes (pašas lapas tulkojumu). Man variants: $trans=array( 'Welcome to'=>'Sveicināti', 'shop'=>'veikalā' ... ); foreach($trans as $key->$translation) { $trans[$key]=iconv('windows-1257','UTF-8',$translation); } katrai valodai, izņemot anglisko šādu te ^ failiņu. jābūt pieinstalētam iconv extensionam, lai varētu konvertēt kodējumus. tad ir funkcija: function tr($index) { global $trans;//tekošās valodas tulkojumi if (!isset($trans[$index])) return $index; return $trans[$index]; } Jebšu atkal, vai nu izdod tulkojumu, jeb atgriež anglsiko indeksu. Tad tu echo tr('Welcome to').' '.$siteName.' '.tr('shop'); P.S. es alu nedzeru. Link to comment Share on other sites More sharing options...
jannis Posted October 6, 2003 Report Share Posted October 6, 2003 (neliela piebilde, tipo paredzu ka gan jau kaadam noderees ) J> uzdevums... ir valodu podzinjas... nu tur LV, RU, EN... un gribeetos lai J> taas var nospiest jebkuraa weba briidii un J> navigaacija saglabaajas! tobish lai it kaa serveris sajem valodu, bet lai J> peec tam aiznavigee turpat kur atradaas pirms tam! A: <code><font color="#000000"> $langs = array( 'lv', 'en', 'ru' ); if ( !empty($_GET['set_lang']) ) { $lang = trim( $_GET['set_lang'] ); if ( in_array( $lang, $langs ) ) { setcookie( 'lang', $lang, time()+365*24*3600 ); $url = 'http://'.$HTTP_HOST.preg_replace('/set_lang=([d]+)/','',$REQUEST_URI); Header( 'Location: '.$url ); } } </font> </code> Link to comment Share on other sites More sharing options...
Venom Posted October 6, 2003 Report Share Posted October 6, 2003 2 jannis: headeris var nomest $_POST variābļus, ne visiem iet kūkijas. Es taisu tā: function obl($skip='') { $sensitive=array('a','b','c','d');//variābļi, kurus pēc iespējas jāsaglabā; valoda vienmēr iet līdzi if ($skip) { $arr=array(); $arr=explode(',',$skip); $sensitive=array_diff($sensitive,$arr); } $skip=$_SERVER['PHP_SELF'].'?valoda='.$_GET['valoda']; foreach($sensitive as $ind) { if (isset($_GET[$ind])) { if (g($ind)) $skip.='&'.$ind.'='.g($ind); } } return addslashes($skip); } tad pēc tam echo '<form method="post" action="'.obl().'">'; vai '<form method="get" action="'.obl('a,b').'">';, ja formā tiks uzlikti virsū jaunie "a" un "b" Link to comment Share on other sites More sharing options...
DimanC Posted February 22, 2004 Report Share Posted February 22, 2004 iekš mysql.com ir pateikts še, lūk, ka tur aprakstītās fīčas darbojas tikai no versijas 4.1.1. Ja pareizi saprotu, tad tabulai CHARACTER SET utf8 versijā 4.0.13 nevar uzlikt, ja? bet vai to pašu efektu var panākt, nomainot visu mysql configu uz utf8? vai labāk nečakarēties un likt virsū jaunāku mysql versiju? Link to comment Share on other sites More sharing options...
Venom Posted February 23, 2004 Report Share Posted February 23, 2004 jaunāku, bet stable visādam gadījumam pirms install nobackupo [mysql root]\data saturu Link to comment Share on other sites More sharing options...
Recommended Posts