本文整理汇总了PHP中Languages::retrieveByLangCode方法的典型用法代码示例。如果您正苦于以下问题:PHP Languages::retrieveByLangCode方法的具体用法?PHP Languages::retrieveByLangCode怎么用?PHP Languages::retrieveByLangCode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Languages
的用法示例。
在下文中一共展示了Languages::retrieveByLangCode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _loadLanguage
/**
* load languages
*/
private function _loadLanguage()
{
$i18nCfg = ConfigHandler::get('i18n');
if (!$i18nCfg['enable']) {
return null;
}
$current_lang_code = $this->get('lang');
if (!$current_lang_code) {
$current_lang_code = Factory::getCookie()->read('language');
}
if (!$current_lang_code) {
$this->currentLang = \Languages::retrieveByDefault(1);
$current_lang_code = $this->currentLang->getLangCode();
} else {
$this->currentLang = \Languages::retrieveByLangCode($current_lang_code);
}
if ($current_lang_code) {
Factory::getCookie()->write('language', $current_lang_code);
}
//load message
$translator = Translator::getInstance();
$translator->setLocale($current_lang_code);
if ($translator) {
$translator->addLoader('yml', new YamlFileLoader());
if (isset($i18nCfg['resource']) && is_array($i18nCfg['resource'])) {
foreach ($i18nCfg['resource'] as $locale => $files) {
for ($i = 0, $size = sizeof($files); $i < $size; ++$i) {
$fileInfo = new \SplFileInfo($files[$i]);
$filename = $fileInfo->getFilename();
$ext = $fileInfo->getExtension();
if ($ext == 'yml') {
$domain = str_replace('.' . $fileInfo->getExtension(), '', $fileInfo->getFilename());
$translator->addResource('yml', $files[$i], $locale, $domain);
}
}
}
}
}
}