Sito realizzato con DelightCMS. Contattami per informazioni

Blog


Preparare i file .po per tradurre un sito fatto in cakephp

Pubblicato in Cakephp, trucchi, 1 settimana fa , Commenti | Lascia un commento

Recentemente mi è capitato di dover tradurre tutte le stringhe di un sito scritto in CakePHP, ma solo in inglese. Un autentico lavoraccio visto che il sito aveva una miriade di pagine e di funzionalità.

Dalla mia c'era il fatto, e chi usa CakePHP lo sa, che gli strumenti che questo fantasmagorico framework offre sono infiniti.

Fortunatamente il sito era già predisposto per la traduzione, quindi bastava preparare il file .po ed inserirvi le traduzioni. Lo strumento di cui mi sono servito, anche questa volta, è la potentissima console di CakePHP, che con il comando

/var/www/ilmiosito/app$ ./Console/cake i18n

ha cercato (da sola!!) tutte le stringhe traducibili in tutte le sottodirectory dell'applicazione "ilmiosito" (quelle scritte in modo simile a __('Traducimi', true), per intenderci) ed ha salvato il tutto, comodamente, nella directory ./app/Locale nella forma di un file con sintassi gettext, cioè qualcosa di simile a questo:

msgid "Translate me"
msgstr "Traducimi"

... naturalmente, inserire la traduzione nella stringa msgstr rimane compito di chi scrive, non tutto è così automatizzato :)

Comodo, no?

Che noia aggiungere il file di configurazione in ogni file php...

Pubblicato in programmazione, trucchi, 5 mesi fa , Commenti | Lascia un commento

... per fortuna che esiste l'.htaccess :)

Se si vuole includere un file (ad esempio un file di configurazione) in ogni singolo file php, può non essere necessario fare l'include tutte le volte; si può infatti fare in automatico con una semplice istruzione da mettere nell'.htaccess, così:

php_value auto_prepend_file "/percorso/del/file/config.php"

Allo stesso modo, se si vuole fare la stessa cosa ma al fondo dei propri file, si può utilizzare un'altra istruzione:

php_value auto_append_file "/percorso/del/file/stats.php"

Comodo, vero? :)