Intereting Posts
обновление в mysql_query когда-то возвращает null ffmpeg / PHP – Проблемы с конвертированием любого видеоформата в ogg – Choppy Video / No Audio – win64 Что лучше по производительности: двойные кавычки с переменными или одинарные кавычки с конкатенациями? Успешно подключиться к DB2, используя PHP НЕ используя ODBC? Сессия PHP не уничтожает после выхода пользователя из системы Как найти положение пробела с регулярным выражением Как я могу переписать мой PHP и MySQL для группировки моего списка HTML равными значениями столбцов? PHP создает изображение из потока приложений / октетов Рекомендации по переводу приложения на арабский woocommerce показать только родительскую категорию (taxonomy-product_cat.php) Carbon.php Символ разделения не найден. Данные отсутствуют. MongoDB, похоже, не хочет нажимать на массив Форум / Совет, написанный на одной из больших PHP-фреймворков обращаясь к cloneNode на сервере Как отключить определенную сессию php при выходе из системы

Динамически переключать контент на веб-сайте на основе выбора языка пользователя

Я разрабатываю небольшой, простой веб-сайт, который потребует двух языков. Я хочу, чтобы все было просто. Я хотел бы использовать заполнители / переменные в коде, который будет иметь видимый пользователем текст. Затем разрешите пользователю выбирать язык по своему выбору (используя простую ссылку) и перевести текст на весь язык на этот язык. Я бы предпочел нечто подобное языковому файлу, в котором значения в коде просто переключаются, когда пользователь выбирает свой язык. Ниже приведен небольшой пример, иллюстрирующий то, о чем я говорю.

<div class='title'> [$siteTitleGoesHere] </div> 

Я надеюсь, что в этом есть смысл. Я достаточно хорошо знаком с php и javascript, чтобы я мог использовать их для этого, если задано направление. Спасибо за любую помощь.

Вот один из подходов.

Создайте папку под названием lang

Внутри этой папки создайте свои языковые файлы, скажем, en.php и fr.php

Эти файлы содержат массив с именем $lang который содержит весь заменяемый текст для вашего сайта.

например, в en.php

 $lang['header'] = 'Welcome to my site!'; 

и в fr.php

 $lang['header'] = 'Bonjour!'; // my french is awesome 

Затем вы можете загрузить нужный файл на основе (например) значения сеанса

 session_start(); if ( ! isset($_SESSION['lang'])) $_SESSION['lang'] = 'en'; require ("lang/{$_SESSION['lang']}.php"); echo $lang['header']; 

Если вы хотите изменить язык, вы можете сделать что-то вроде этого

в вашем php вам нужно будет переключить значение lang сеанса на новый язык

 if (isset($_GET['lang'])) { $_SESSION['lang'] = $_GET['lang']; header("Location: {$_SERVER['PHP_SELF']}"); exit; } 

И вы бы использовали ссылку, подобную этой

 <a href="<?php echo $_SERVER['PHP_SELF']; ?>?lang=fr">French Language</a>