Планирую добавить на сайт второй язык. Как делаются переключатели языковые и как делается перевод на второй язык статичной информации на сайте?
Вы в чем-то правы, Dolphin.
Начинайте работать сейчас. Добавляйте второй язык на сайт. Добавляйте Язык в массив $[MESS] из примера.
$MESS["ERROR_HTTP_READ"] = "Ошибка чтения HTTP данных.";
$MESS["ERROR_UNKNOWN_COMMAND"] = "Неизвестная команда.";
function GetMessage_($name,$aReplace=null){
global $MESS;
if (isset($MESS[$name]))
{
$s = $MESS[$name];
if ($aReplace !== null && is_array($aReplace))
{
foreach($aReplace as $search => $replace)
{
$s = str_replace($search, $replace, $s);
}
}
return $s;
}
}
/*
Этот код можно запустить или выполнить в VSCode
*/
print_r(GetMessage_("ERROR_HTTP_READ"));
После того, как написали свой языковой файл (для компоненты, для шаблона компоненты), вы сможете переключить язык не для всего сайта, а только для одной страницы примерно так
$context = \Bitrix\Main\Application::getInstance()->getContext();
/* Текущий язык $langId */
$langId = $context->getLanguage();
/* На какой переключаем */
\Bitrix\Main\Localization\Loc::setCurrentLang("en");
/* Чтобы проверить, подключился ли ваш файл, в шаблоне компоненты напишите
echo "<pre>GetMessage:"; print_r (GetMessage('FORM_DATA_SAVED1')); echo "</pre>";
или задайте вопрос "Как подключить свой языковой шаблон"
*/
$APPLICATION->IncludeComponent("bitrix:form.result.new",
"inline",
Array(
Потом уже, чуть позже, не забудьте погуглить вопрос psr-0 vs psr-4, и через три недели сможете сами подключать языковые файлы и библиотеки. А пока просто пишите перевод языка в массив $[MESS]
Добавьте во вкладках сайты-шаблоны условия включения одного или другого шаблона
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Использую MadelineProto для взаимодействия с Telegram APIНужно забанить/выкинуть пользователя из приватного канала – для этого есть метод channels
Стало интересно как работают некоторые ф-ииПри нажатии ctrl + клик по Math