Originariamente inviato da eiyen
Anche io ho usato delle soluzioni con ".ini"... in pratica quando stampo un testo anzichè fare print ('ciao a tutti'); faccio qualcosa come print (tx('ciao a tutti')); o print (tx('saluto')); e la funzione globale tx accetta o un riferimento al testo o il testo in lingua originale che poi cerca nella lingua attiva: se c'è mette la traduzione altrimenti lascia il testo così com'è.

Per le traduzioni un ".ini" è comodo perchè puoi mettere i testi tutti di file, ma potresti usare anche dei ".txt" con elenchi di voci e/o dei file ".php" che settano un array (ma non conviene).

Un'altra soluzione simile che ho adottato sono dei file di traduzione: in pratica vanno bene anche dei ".txt"... semplicemente usa il numero di riga come riferimento e se quindi alla riga 100 della versione originale c'è il testo da tradurre, viene messo quello nella riga 100 del file di traduzione... non è complicato e se si lasciano i testi "a gruppi" è facile: questa soluzione è spartana, ma molto comoda (infatti se copi un ipotetico "ita.txt" come "eng.txt" puoi semplicemente sovrascrivere i testi da tradurre)
La prima immagino sia la soluzione più performante no? Mi potresti postare 2 righe di codice per capire come fare? Più che soluzioni semplici m'interessano soluzioni che non intacchino più di tanto le performance del mio sito (che finora ho tentato di mantenere al top tra sprites, htaccess e chi più ne ha più ne metta).

Per rispondere a codesurfer, ho letto, andando a spizzarmi un paio di moduli preconfezionati per carpirne informazioni, che usano spesso il define("nome_variabile","valore"); anche se non mi è chiaro come li richiamano questi define, sembrano usare nelle pagine il semplice "nome_variabile" dato nel define senza nemmeno usare il tipico $ (dollaro) davanti per le variabili. Cosa è preferibile?


P.S.: Ammetto che di solito il mio modo di scrivere codice è molto rozzo (del tipo echo $variabile. Cose come print e define non le uso mai e mi prendono un po' alla sprovvista. Sbaglio a basarmi su echo invece che su print?