Как реализовать многоязычный сайт?

Статус
В этой теме нельзя размещать новые ответы.

procter

Создатель
Регистрация
20 Окт 2008
Сообщения
29
Реакции
0
Есть скпипт в котором контент вперемешку с кодом. Как правильно реализовать многоязычный сайт? (интересует оптимальный алгоритм)
 
В любом случае вам необходимо контент от кода. Ну а дальнейших вариантов может быть два. Либо создание отдельных файлов с текстами отображающимися на сайте на выбранном языке, либо использовать отдельную функцию, которая будет слать запросы к одному из онлайн-переводчиков и отдавать пользователю переведенный контент. Но во втором случае будет иметь место довольно некачественный и неточный перевод.
 
Есть скпипт в котором контент вперемешку с кодом. Как правильно реализовать многоязычный сайт? (интересует оптимальный алгоритм)
1. Берешь WP качаешь плагин - пользуешься...Можно джумлу и кое что еще... но это слабее.
2. Берь любой двиг. Добавляешь в админку возможность смены базы, т.е. 2 базы на 2 языках. На поддомены вешаешь сайты с разными базами. На главном домене ставишь редирект по браузеру или по IP, можешь предоставить выбор пользователю и воспользоваться куками.
3. Заказать и за тебя все сделают ))
 
В любом случае вам необходимо контент от кода. Ну а дальнейших вариантов может быть два. Либо создание отдельных файлов с текстами отображающимися на сайте на выбранном языке
Я предполагал заменить англ. текст переменными и далее использовать преключатель switch_case. Но не знаю насколько это правильно и оптимально. Если можно с примерами :thenks:
 
Я предполагал заменить англ. текст переменными и далее использовать преключатель switch_case. Но не знаю насколько это правильно и оптимально. Если можно с примерами :thenks:

Примерно так:
в конфигурационном файле
PHP:
<?

$x['ru']['about'] = 'О компании';
$x['ru']['main'] = 'Главная';
$x['en']['about'] = 'About';
$x['en']['main'] = 'Main';
?>

пример использования
PHP:
<?
$deflang = 'ru';
if(!isset($_GET['lang'])) $lang=$deflang;
else $lang = $_GET['lang']; //Здесь, также, стоит включить проверку на валидность данной переменной. Как вариант можно реализовывать через сессию.
echo $x[$lang]['main'];
echo $x[$lang]['about'];
?>
 
Зачем такие сложности? switch-case оптимальнее и проще.

Согласен. Оптимальнее и проще... при условии, что сайт пишется с нуля. Если же речь идет об изменении уже существующего кода, в котором контент не отделен от кода, как в случае котором описал ТС, то намного проще и быстрее будет реализовать предложенным мной способом.
 
...намного проще и быстрее будет реализовать предложенным мной способом.

Ну, это вы так зря.

Что кусок кода со switch вставить, что с if - не вижу зависимости от ранее накодированного).

 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху