私の ZF2 アプリケーションでは、ページの翻訳に使用された言語を取得したいと考えています。ZendSkeletonApplicationをベースとして使用します。Module.phpで、Localeを次のように設定します。
public function onBootstrap($e){
$translator = $e->getApplication()->getServiceManager()->get('translator');
$translator->setLocale(
Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE'])
)
->setFallbackLocale('en_US');
}
Zend\I18n\Translator\TranslatorからロケールとfallbackLocaleを取得できますが、翻訳にどちらが使用されたかはまだわかりません。また、どの言語が実際にトランスレータにロードされているかを調べる方法もありません (私が見つけた限りではありません)。localeの翻訳が存在するかどうかをテストすることさえできません。
多分私はここで何かを逃しています。誰かがそれを指摘してくれることを願っています。