Как создать многоязычную форму с помощью переводов из базы данных с помощью объекта pdo?MySQL/PHP Многоязычная форма
, например, есть мой код, чтобы создать PDO объект:
try {
$pdo = new PDO("mysql:host=$servername;dbname=$dbname",$username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo $e->getMEssage();
die();
}
$sql = "SELECT FROM `lang_content` `id`, `:lang`";
$query = $pdo->prepare($sql);
if($query->execute(array(
':lang' => $_GET['lang'].'_content'
))){
// Show content
}
MySQL структура таблицы:
CREATE TABLE `lang_content` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`en_content` VARCHAR(1000) NULL DEFAULT NULL,
`lv_content` VARCHAR(1000) NULL DEFAULT NULL,
`ru_content` VARCHAR(1000) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COMMENT='All translations'
ENGINE=MyISAM
;
MySQL Пример таблицы данных:
id en_content lv_content ru_content
1 MOD KASKO КАСКО
2 MTPL OCTA ОСАГО
И я хотел бы использовать его как: если lang en
<?= $result->1 ?> // Echo MOD
Вернется MOD,
<?= $result->2 ?> // Echo MTPL
Вернется
ОСАГО
Можно ли добавить 3 языка в 1 CSV-файл? и выбрать колонку зависит от того, какой язык выбран? Поскольку у меня уже есть файл Excel с переводами – AlexIL
Его можно, но вам нужно создать какую-то логику. Я бы рекомендовал вам делать это в отдельных файлах, потому что, если у вас есть большое количество переводов в одном файле, это может быть болью. было бы лучше, если бы у вас были все файлы перевода отдельно на основе их языка в каталоге, называемом locale, или когда-либо вы хотите его назвать. –