У меня 2 проблемы с моим сайтом.Это многоязычный (немецкий, английский).Я всегда хранил переводы в XML-документе, подобном этому
<?xml version="1.0" encoding="utf-8"?>
<root>
<les>
<en>Lesson</en>
<de>Lektion</de>
</les>
Затем я конвертировал эти XML-переменные в php-файлы и выводил их при необходимости, как это
$xml=simplexml_load_file("langindex.xml") or die("xml not found!");
$les = $xml->les->$lang;
<?php echo $les;?>
Проблема 1что при открытии веб-сайта язык не устанавливается по умолчанию, поэтому мне всегда нужно сначала выбирать язык, даже если я включил его! isset.Если я ничего не выберу, некоторые изображения будут растянуты, и это выдает ошибку, что язык не установлен.
<?php
session_start();
$page = 0;
$lang = $_GET['lang'];
$langArray = array('en','de');
$found = false;
if(in_array($lang, $langArray))
$found = true;
if(!$found)
$lang = 'en';
if(!isset($_SESSION['lang']))
$_SESSION['lang'] = 'en';
if(isset($_GET['lang']) && in_array($_GET['lang'], array('en', 'de')))
$_SESSION['lang'] = $_GET['lang'];
include '../nihongo/php/dbconnect.php';
Мой переключатель языка работает с простым <a href="?lang=X">
и что? Lang = Xбудет также отображаться в URL.
Достаточно этого.Поскольку XML довольно непрактичен, я хотел переключить все это на базу данных SQL.
Я создал таблицу с ID столбцов, немецким и английским и успешно подключил БД.Теперь я хочу, чтобы PHP сказал SQL, чтобы он получал только текст языка сеанса с таким выбором, например, как этот.
SELECT german FROM texts WHERE ID = '1'
SELECT english FROM texts WHERE ID = '2'
Моя проблема в том, что я действительно не знаю, как это сделать с PHP.Я бы подумал, что мне нужно было бы либо как-то добавить PHP-оператор в оператор, либо выбрать всю строку и позволить PHP решить, какой из них должен отображаться.Любой совет / предложение приветствуется!Заранее спасибо!