Avaleht
uus teema   vasta Tarkvara »  WWW »  Keele replace funktsioon mysql põhiseks märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
maremark
Piiratud kasutaja

liitunud: 05.07.2005




sõnum 21.09.2009 13:43:54 Keele replace funktsioon mysql põhiseks vasta tsitaadiga

Nonii, siis siuke funktsioon on mul

php:
  1. if($keel == 'et-EE') {
  2.  
  3. }
  4. elseif($keel == 'en-GB') {
  5.  
  6.     function callback($buffer) {
  7.  
  8.         $asendatav = array("eesti1","eesti2");
  9.  
  10.         $asendus = array("estonia1","estonia2");
  11.  
  12.         return (str_replace($asendatav, $asendus, $buffer));
  13.  
  14.    }
  15.  
  16. }


Aga kuna sõnu on palju, siis sooviks täpselt sedasama funktsiooni teha kuidagi mysql põhiseks, et võtab need sõnad ja vasted tabelist.
Googles pole ka midagi täpselt seda sama leidnud.
Oskab keegi aidata? icon_smile.gif
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
sander85
HV kasutaja
sander85

liitunud: 30.09.2007




sõnum 21.09.2009 13:52:27 vasta tsitaadiga

mis selle asja eesmärk või lõpptulemus peaks olema?
_________________
Think of how stupid the average person is, and realize half of them are stupider than that.
-- G. Carlin
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
maremark
Piiratud kasutaja

liitunud: 05.07.2005




sõnum 21.09.2009 13:55:14 vasta tsitaadiga

No funktsioon asendab eestikeelsed failid ära, kui ta leiab muutujast en-GB jne. See jääb samaks.
Ainult, et hetkel pean kogu array järjestama sinna samasse faili. Aga sooviks, et asendatav ja asendav oleks leitav tabelitest.
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
sander85
HV kasutaja
sander85

liitunud: 30.09.2007




sõnum 21.09.2009 14:54:26 vasta tsitaadiga

maremark kirjutas:
No funktsioon asendab eestikeelsed failid ära, kui ta leiab muutujast en-GB jne. See jääb samaks.
Ainult, et hetkel pean kogu array järjestama sinna samasse faili. Aga sooviks, et asendatav ja asendav oleks leitav tabelitest.


see tabelitest leitavus võib tekitada säärase päringute arvu vastu mysqli, mida sa tegelikult ei soovi ja mis pole ka väga praktiline..

_________________
Think of how stupid the average person is, and realize half of them are stupider than that.
-- G. Carlin
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
maremark
Piiratud kasutaja

liitunud: 05.07.2005




sõnum 21.09.2009 15:02:42 vasta tsitaadiga

et siis mõttekam oleks hoida neid sõnu ikkagi seal .php failis?
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
gnoom
HV veteran

liitunud: 12.12.2003




sõnum 21.09.2009 15:06:18 vasta tsitaadiga

maremark kirjutas:
et siis mõttekam oleks hoida neid sõnu ikkagi seal .php failis?

Tõlked on alati mõistlikum hoida keelefailis. Mida vähem oma andmebaasi tülitad seda parem. icon_wink.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 64
tagasi üles
vaata kasutaja infot saada privaatsõnum
maremark
Piiratud kasutaja

liitunud: 05.07.2005




sõnum 21.09.2009 15:17:38 vasta tsitaadiga

aga kuidas ma saaksin sinna funktsiooni suunata mingi teise keelefaili? siis paneks need arrayd teise faili.
Kommentaarid: 25 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 21.09.2009 17:48:32 vasta tsitaadiga

Kõik on muidu tore aga su kood ju ei tööta. Milleks paned funktsiooni sinna EN alla? Funktsioon võib olla kus tahes koodis. Seal pead hoopis selle funktsiooni välja kutsuma. Selliselt funktsiooni seal hoides ta tööle ju ei hakka.

    function callback($buffer) {

        $asendatav = array("eesti1","eesti2");

        $asendus = array("estonia1","estonia2");

        return (str_replace($asendatav, $asendus, $buffer));

   }
   
if($keel == 'et-EE') {

}
elseif($keel == 'en-GB') {
$sisu =  callback($buffer);
}

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
linnumees
HV kasutaja

liitunud: 15.06.2005




sõnum 22.09.2009 01:05:52 vasta tsitaadiga

http://php.net/gettext

Või kui Sa väga tahad massiive kasutada, siis tee iga keele jaoks eraldi massiiv ja kasuta seda. Sellise funktsiooni väljakutsumine on väga jabur tegevus...

php:
  1. <?php
  2. $lang = array();
  3. $lang['tere'] = 'Tere tulemast!';
  4. $lang['terek'] = 'Tere tulemast, %s!';
  5.  
  6. printf($lang['terek'], $kasutajanimi);


Muidugi on mõistlik leida endale mingi arvestatav loogika nende massiivielementide nimetamiseks.

http://php.net/sprintf
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga

sõnum 26.09.2009 09:37:58 vasta tsitaadiga

Iee kasutan koguaeg gettext funktsiooni tõlgete puhul ja peab ära mainima, et väga mugav ja kiire on.
_________________
Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms
Kommentaarid: 27 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Keele replace funktsioon mysql põhiseks
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.