function plugin___inline() { global $language_considering_setting_level; global $language; global $i18n_temp_msg; switch (func_num_args()) { case 1: list($msg) = func_get_args(); // $parm_lang = DEFAULT_LANG; $parm_lang = 'en_US'; break; default: list($parm_lang, $msg) = func_get_args(); } $msg = strip_htmltag($msg); // FIXME: level 5 $view_lang = $language_considering_setting_level == 0 ? Lang::getLanguage(5) : $language; $view_lang_split = AcceptLanguage::splitLocaleStr($view_lang); // ja_JP なら ja に分割 if ($parm_lang == $view_lang || $parm_lang == $view_lang_split[1]) { return $msg; } // 指定言語と同じ // 指定文字列が en 以外の場合は、ベース言語に変換後、他言語に変換する $parm_lang_split = AcceptLanguage::splitLocaleStr($parm_lang); if (isset($i18n_temp_msg)) { $temp_msg = i18n_TempMsg($parm_lang_split, $view_lang_split, $msg); if (!empty($temp_msg)) { return $temp_msg; } } if ($parm_lang_split[1] !== 'en') { $msg = i18n_ConfMsgGet($parm_lang_split, $msg, 1); } // :config から、単語を検索 return i18n_ConfMsgGet($view_lang_split, $msg); }
function plugin_multilang_accept($lang) { global $language_considering_setting_level; global $language; // FIXME: level 5 $env = $language_considering_setting_level == 0 ? Lang::getLanguage(5) : $language; $l = AcceptLanguage::splitLocaleStr($env); return $lang == $env || $lang == $l[1]; }