azpage Posted December 9, 2004 Report Share Posted December 9, 2004 Kaa labaak veidot daudzvalodu saitu? No droshiibas puses, labaak ir vienaa tabulaa saglabaat vairakas valodas, vai katru valodu atseviskaa tabulaa? Manupraat, droshaaks ir 2. variants. Tachu ja tiek viedotas tabulas katrai valodai atseviski, tad sanaak, ka vajag papildus tabulas, kuras savienu katru tabulu lauku ID numurus, nju piem (2.variants): grupa_lv id nosaukums pozicija grupa_ru id nosaukums pozicija grupa_en id nosaukums pozicija grupa id gr_lv_id gr_ru_id gr_en_id Tabula, kas savienu visas tabulas savaa starpaa, var jau pienjemt ka visaas tabulaas pie vienaadiem datu tipiem id numuriem vajadzeetu buut vienaadiem, bet ja nu ..., tad ir .... Kaadu variantu Juus ieteiktu, vai varbuut kaadu citu ? Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 no droshiibas puses labāk glabāt atsevišķās - nogāž latviešu, paliek krievu ;) atkarīgs no tā, kā vēlas klients - kopējā struktūra / raksti - tuvāk variantam ar vienotām tabulām, kur mainās lang kolonna. vieglāk - atsevišķas tabulas, un pašā sākumā tabulu nosaukumiem tiek pielikts valodas indexx e.g. $tClient='clients_'.$inner_lang, tālāk visur kods vienāds - "SELECT & FROM $tClient", pretēji visur jāliek "WHERE `lang`='".$inner_lang."'" Link to comment Share on other sites More sharing options...
azpage Posted December 9, 2004 Author Report Share Posted December 9, 2004 Nju par datu nolasiishanu buut taakaa skaidrs, klients pasaka ko vajag, nevis kaa realizeet, taa kaa tas paliek uz maniem pleciem. Nesapratu, kuru varientu ieteici - raksti - tuvāk variantam ar vienotaam tabulaam - tu domaaji pirmo variantu? Nju pateikshu godiigi, ka man 1. variants nepatiik, jo MySQL datubaazei, cik es zinu ne visai patiik UTF8, tapec prasas 2. variants, bet kaa lai tad tas valodas apvienoju, piem. kad pariet uz citu valodu, lai paliek tajaa pashaa lapaa, tikai nosaukumi mainaas ? Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 4.1 ar UTF8 sadzīvo ļoti labi. Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 pārslēdzot valodu linkā saglabājas atrašanas koordinātes utf-8 po ļubomu, kā standarts pēc noklusējuma NB: kopējā tabulā vieglāk meklēt visās valodās Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 4.1 ar UTF8 sadzīvo ļoti labi. 3 un 4 arī lieliski, izņemot case-insensitive sērču Link to comment Share on other sites More sharing options...
Roze Posted December 9, 2004 Report Share Posted December 9, 2004 Tas atkarīgs no lapas / struktūras. Proti ja latviešu, krievu u.c. valodas lapas koks / materiāli ir identiski, tad vienkāršāk un manuprāt ērtāk ir glabāt katram elementam tulkojumus tajā pašā ierakstā dažādos laukos (tad var ērti pārslēgties -> lasīt šo rakstu angliski utt). Taču ja struktūra pilnīgi atsķirās tad var izmantot tikai vienu nosaukuma / satura lauku (pat obligāti netaisot vairākas tabulas) un datus glabāt utf. Tādējādi var saglabāt unikālus id katram objektam un lapas adrese paliek gaužām vienkārša. Pretēji tam ka tev jāpadod vēl teiksim ?lang=lv mainīgais tu vari padot tikai 'id' un jau secināt kādā valodā tas ir. Link to comment Share on other sites More sharing options...
azpage Posted December 9, 2004 Author Report Share Posted December 9, 2004 Liels paldies visiem. Taču, nav skaidra ši rinda Pretēji tam ka tev jāpadod vēl teiksim ?lang=lv mainīgais tu vari padot tikai 'id' un jau secināt kādā valodā tas ir. Kaa es no id varu noteikt kaada valoda ir? Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 tabulas struktūra: id | title | article | lang un uzreiz zināms, kāda language atbilst kādam id Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 3 un 4 arī lieliski, izņemot case-insensitive sērču LENGTH(), INSTR(), SUBSTRING() fjas arī? ;) Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 vidēji tās netiek lietotas info izvadam + php multi-byte eneiblojams atsevišķi un pat runtaimā ar ini_set() if I get it right Link to comment Share on other sites More sharing options...
Venom Posted December 9, 2004 Report Share Posted December 9, 2004 ā, tu par SQL. Nez-nez, laikam tur neesmu izmantojis kādai atsijāšanai Link to comment Share on other sites More sharing options...
bubu Posted December 9, 2004 Report Share Posted December 9, 2004 Nu redz. Ja mysqlā netiek izmantots UTF8, tad LENGTH(), u.c. ar stringu garumu saistītās fjas uzskatīs, ka teksts glabājas formātā viens simbols = vients baits. Un atgriezīs nekorektas vērtības, ja teksts saturēs multi-byte simbolus (lv, ru burtus). A bet 4.1 versijai utf-8 kodējumā glabājot datus, tādu problēmu nebūs. (gan jau tu to visu zini, bet tas tā - citiem, kurus tas interesē) Link to comment Share on other sites More sharing options...
persix Posted January 7, 2005 Report Share Posted January 7, 2005 es par otro variantu, bet mazliet modificētu! Es izmantoju tādu metodi, ka katrai valodai ir sava datubāze. Tas ir datubāzes saucās piemēram dati_lv, dati_ru, dati_en. Atkarībā no izvēlētās valodas, tiek pielikti sie lv, en ,vai ru! Nezinu protams cik tas ir korekti izejot no programmēšanas valodas! Valodas piereģistrēšanai izmantoju sessijas! Link to comment Share on other sites More sharing options...
blackhalt Posted January 7, 2005 Report Share Posted January 7, 2005 no droshiibas puses labāk glabāt atsevišķās - nogāž latviešu, paliek krievu He, domā haķeris būs tik žēlīgs un nedzēsīs visu DB ? Link to comment Share on other sites More sharing options...
Recommended Posts