Statyczna treść

Użycie wbudowanej obsługi funkcji gettext jest bardzo proste. Cake używa do wyświetlenia (echo) wartości domyślnie funkcji __('some text') jeśli wynikiem działania funkcji ma być zmienna do użycia w innej funkcji, należy zastosować __('some text',true)

Pliki z wersjami językowymi znajdują się w odpowiednim katalogu (pol dla polskiego) \app\locale\pol\LC_MESSAGES pod nazwą default.mo. Jest to skompilowany plik .po o strukturze:

msgid "some text"
msgstr "jakiś tekst"

msgid "some title"
msgstr "jakiś tytuł"

Wbudowany mechanizm Cake’a (l10n) dostosowuje wybór języka do języka przeglądarki klienta. Aby zmienić używany język, należy zapisać go przy pomocy sesji. Moja metoda, to stworzenie osobnego kontrolera odpowiedzialnego za zmianę języków.

class LangController extends AppController {
	
	var $uses = array();
	var $name = 'Lang';
    
	function polski() {
		$language = 'pol';
		$this->Session->write('Config.language', $language); 
		$this->redirect($this->referer(), null, true);
	}
	function english() {
		$language = 'en';
		$this->Session->write('Config.language', $language); 
		$this->redirect($this->referer(), null, true);
	}
}