 <p>You can use <code>Configure::read('Config.language')</code>. A part of the CakePHP cookbook states:</p> <blockquote> <p>The current locale is the current value of Configure::read('Config.language'). The value of Config.language is assigned in the L10n Class - unless it is already set.</p> </blockquote> <p>I18n, the class responsible for translation using <code>__()</code>, uses <code>Config.language</code> so, unless you override it in <code>bootstrap.php</code>, that variable contains the selected language. Actually, even if you override it, it will still contain the used language (there might be inconsistencies because I10n is not really aware of the change but I never ran into any).</p> <p>To get a list of languages, you can use <code>L10n::catalog()</code>. I'm not sure it's what you're after, however, since it lists all languages CakePHP knows about, not only the languages that actually have a translation in <code>app/locale</code>.</p>