Я реализовал так:
1) ссылки: [CODE]<div id="lang_select">
<?$curPage = $APPLICATION->GetCurPageParam()?>
<a data-lang="ru" href="<?=$curPage?>"><img src="/images/icons/flag_ru.png" alt="ru" title="ru"></a>
<a data-lang="en" href="<?=$curPage?>"><img src="/images/icons/flag_en.png" alt="en" title="en"></a>
</div> [/CODE]2) через ajax меняю настройки сайта:
а) клиентская часть:[CODE]$("#lang_select a".click(function(){
$.get("/include/setLang.php",{lang:$(this).attr('data-lang')});
});
/*return false не нужен!, чтобы страница перегрузилась с новым LANGUAGE_ID*/
[/CODE]б) серверная часть:[CODE]<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php";?>
<?
$arFields["LANGUAGE_ID"] = $_GET["lang"];
if($_GET["lang"]=='ru')
{
$arFields["CULTURE_ID"] = 1;
}
else
{
$arFields["CULTURE_ID"] = 2;
}
$obSite = new CSite;
$obSite->Update("s1", $arFields);
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php";?>[/CODE]Всё! У Вас новый LANGUAGE_ID и новая культура, поскольку время и начало недели в англоязычных странах различается, см. таблицу b_culture.
P.S. Можно было загнаться через DB->Query потащить ID культуры(CULTURE_ID).
P.P.S Есть правда еще классы CultureTable и Culture [URL=http://bxapi.ru/src/?module_id=main&name=Culture::getDateTimeFormat]http://bxapi.ru/src/?module_id=main&name=Culture::getDateTimeFormat[/URL]
Пример вызова компонента меню с языковой константой:[CODE]<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"main.menu",
Array(
"COMPONENT_TEMPLATE" => "main.menu",
"ROOT_MENU_TYPE" => "top_".LANGUAGE_ID,
"MENU_CACHE_TYPE" => "A",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => array(""),
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "left",
"USE_EXT" => "N",
"DELAY" => "N",
"ALLOW_MULTI_SELECT" => "N"
)
);?>[/CODE]
Создаете два файла: .top_ru.menu.php и .top_en.menu.php.
Направление деятельности я думаю понятно. Всегда(!) выносите русский текст в языковые файлы компонентов и шаблонов. Это сэкономит Вам кучу времени при переделке сайта на мультиязычность.