2013-08-14 16 views
5

Sto utilizzando gettext() per tradurre alcuni dei miei testi nel mio sito web. Per lo più si tratta di testi brevi/pulsanti come "Indietro", "Nome", ...Gettext() con testi più grandi

// I18N support information here 
$language = "en_US"; 
putenv("LANG=$language"); 
setlocale(LC_ALL, $language); 


// Set the text domain as 'messages' 
$domain = 'messages'; 
bindtextdomain($domain, "/opt/www/abc/web/www/lcl"); 
textdomain($domain); 

echo gettext("Back"); 

La mia domanda è, come 'tempo' in grado di questo testo (id) sia nella parte dell'eco gettext ("") ?

Sta rallentando il processo per i testi lunghi? O funziona anche bene? Ti piace questa ad esempio:

echo _("LZ adfadffs is a VVV contributor who writes a weekly column for Cv00m. The former Hechinger Institute Fellow has had his commentary recognized by the Online News Association, the National Association of Black Journalists and the National "); 

risposta

5

Il funzionario gettext documentation solo ha questo consiglio:

stringhe traducibili dovrebbero essere limitati a un paragrafo; non lasciare che un singolo messaggio sia più lungo di dieci righe. Il motivo è che quando la stringa traducibile cambia, il traduttore deve affrontare il compito di aggiornare l'intera stringa tradotta. Forse solo una singola parola sarà cambiata nella stringa inglese, ma il traduttore non lo vede (con gli attuali strumenti di traduzione), quindi deve revisionare l'intero messaggio.

Non esistono limitazioni ufficiali sulla lunghezza delle stringhe e possono ovviamente superare almeno "un paragrafo/10 righe".

Non ci dovrebbero essere virtualmente penalità di prestazioni misurabili per stringhe lunghe.

+0

Ok, quindi un paragrafo o 10 linee è già piuttosto lunga (nel mio caso). Mi chiedevo "stringhe più lunghe" come 40-50 parole contro stringhe corte, come 5-10 parole. Quindi, se ho capito bene, 50 parole non dovrebbero essere un grosso problema. –

0

funzione gettext http://www.php.net/manual/en/function.gettext.php

è definito come una stringa di input in modo che le macchine di memoria sarebbe il fattore limitante.

prova a confrontarlo con microtime o meglio con xdebug se ce l'hai sul tuo computer di sviluppo.