Jump to content
php.lv forumi

string translate


anonīms

Recommended Posts

Sveiki. Ienāca ideja. Gribēju uzzināt ko par to sakat.

 

function t($string) {


global $language;
// query
if(ir_strings) {
return query[language][strings];
}
else {
pievienojam db
}
}

 

 

Kā labāk to visu realizēt, lai katu reizi nebūtu to visu garo penteri jāvēlk ārā? ie doma to pieglabāt json formātā un vnk, lai uz katru refresh nav jāvelk ārā, tad varbūt kkur viņu var liekt? browser cache vai kā tā, sesijā un vnk, ja strings_update, tad atjauno to sesiju.

Link to comment
Share on other sites

Nu nez... kaapeec Tev buutu jaliek katrs tulkojums, kas veel nav iztulkots, datubaaze? Labaak, domaju, to darit manuali un beigas izveidot funkciju, kas tikai izvelk rezultaatu no datubaazes.

 

Pie tam, globaalji ir ljauni! :P

Link to comment
Share on other sites

Labi, pieņemsim, ka izmantošu gettext. Skatījos manuāli, bet nevaru īsti iebraukt.

 

Ko man ir īsti jādara? Biju domājis, ka jāsāk ir ar bibliotēku un extenshion'u, bet atverot phpinfo ir

 

gettext

GetText Support enabled

 

Tātad bibliotēka jau ir? ir sherotais hostings un pašlaik vnk nevaru sazināties ar hostingu tāpēc šādi pirmie jautājumu Jums.

Pamēģināju izvadīt <?php print __('hello'; ?>, bet izmet baltu lapu (nav deklarēta fja). Tātad viņu jāveido vēl?

 

 

Hm, palasīju un šķiet, ka gettext ir jau iebūvēts kkāds iekšs php..

Edited by anonīms
Link to comment
Share on other sites

ir "_()" ar vienu apakšsvītru!

 

Lai ģenerētu tulkojumu failus, lieto PoEdit: http://www.poedit.net/download.php

 

Lai izvēlētu teiksim krievu kādu valodu, kodā augšā raksti:

       $locale = 'ru_RU';
       putenv("LC_ALL=$locale");
       setlocale(LC_ALL, $locale);
       bindtextdomain("tulkojumi", 'tulkojumu_mape');
       bind_textdomain_codeset("tulkojumi", 'UTF-8');
       textdomain("tulkojumi");

 

Pēc tam izveido mapes:

tulkojumu_mape/ru_RU/LC_MESSAGES/tulkojumi.mo

 

tulkojumi.mo ir GALĒJAIS tulkojumu fails, ko uzģenerēs tas PoEdit.

 

Lai uzģenerētu mo failu, ver vaļā poedit, noskenē projekta failus, veic tulkošanu un tad saglabā vārdnīcu. Pēc tam noliec failu tajā atbilstošajā mapē.

Edited by briedis
Link to comment
Share on other sites

Tātad ir

   	$language = mysql_real_escape_string($_COOKIE['LANG']);
   	$language_big = strtoupper($language);
   	$locale = $language_big;
   	putenv("LC_ALL=$locale");
   	setlocale(LC_ALL, $locale);
   	bindtextdomain($locale, $_SERVER['DOCUMENT_ROOT'].'/application/locale');
   	bind_textdomain_codeset($locale, 'UTF-8');
   	textdomain($locale);

 

zem $_COOKIE['lang'] stāv 'en' vai 'lv'

 

un ir mape

application/locale/EN/LC_MESSAGES

application/locale/LV/LC_MESSAGES

 

kā es varu tagad noskanēt projekta failus? Reāli jau tie faili nav uz mana pc. man viņus ir jānovelk visus vai? vai var kkā piekonektēties pie hostinga?

Edited by anonīms
Link to comment
Share on other sites

Nē, kopijas man ir. Nu es neteiktu, ka tas ir tiešais serveris, bet otrs serveris, kur notiek web izstrāde jaunajai lapai. Katrā ziņā tas netiek darīts uz localhosta. Sanāk, ka pievienojot kaut vienu jaunu stringu man vajadzēs to visu lejupielādēt un pēc tam atkal augšuplādēt? ;o

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...