1
如何使用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
將返回MTPL
是否可以在1個csv文件中添加3種語言?並選擇列取決於選擇哪種語言?因爲我已經有了帶有翻譯的Excel文件 – AlexIL
它是可能的,但是您需要創建某種邏輯。我建議你在單獨的文件中做,因爲如果你在一個文件中有大量的翻譯,這可能會很痛苦。如果你所有的翻譯文件都是基於他們的語言在一個叫做locale的dir中分開的,或者你希望調用它的話,會更好。 –